基于WiFi網(wǎng)絡(luò)的可視化遙控搬運(yùn)機(jī)器人設(shè)計(jì)
引言
本文引用地址:http://butianyuan.cn/article/201609/304016.htm隨著科學(xué)技術(shù)的快速發(fā)展,機(jī)器人已經(jīng)漸漸步入人們的實(shí)際生活之中,本設(shè)計(jì)所研究的遙控搬運(yùn)機(jī)器人是眾多機(jī)器人中的一種。搬運(yùn)機(jī)器人主要代替人完成物體的夾取、運(yùn)輸、擺放工作,可工作于人類無法進(jìn)入或?qū)θ梭w有害的工作環(huán)境。傳統(tǒng)搬運(yùn)機(jī)器人多采用無線電或者紅外的方式來進(jìn)行遙控,這種機(jī)器人操控范圍較小,并且需要特定的控制器。本設(shè)計(jì)主要研究基于WFi網(wǎng)絡(luò)的無線遙控搬運(yùn)機(jī)器人,利用WiFi網(wǎng)絡(luò)可以實(shí)現(xiàn)實(shí)時(shí)視頻圖像采集,以及機(jī)器人上的傳感器數(shù)據(jù)采集。采用WiFi網(wǎng)絡(luò)通信使得控制端多樣化,可用手機(jī)、電腦等具備WiFi功能的設(shè)備進(jìn)行控制。此外,還可將機(jī)器人接入Internet來實(shí)現(xiàn)更遠(yuǎn)距離的控制。
1 總體設(shè)計(jì)
本設(shè)計(jì)服務(wù)器端采用移植了Linux操作系統(tǒng)的S3C6410,通過完成底層驅(qū)動(dòng)的移植和編寫,實(shí)現(xiàn)對(duì)硬件的控制,其次移植了MJPGstreamer服務(wù)器和BOA服務(wù)器等實(shí)現(xiàn)圖像數(shù)據(jù)、控制信息的傳輸??蛻舳朔矫娣謩e編寫了WEB版和Android版應(yīng)用程序。系統(tǒng)功能框圖如圖1所示。
2 硬件設(shè)計(jì)
(1)MCU
本設(shè)計(jì)的主控器采用友善之臂公司的一款核心板,其主芯片S3C6410是三星公司基于ARM1176JZF—S核設(shè)計(jì)的嵌入式處理器。該核心板配置了256 MB DDR RAM,并且主頻為533 MHz,最高主頻可以達(dá)到667 MHz。通過將Linux操作系統(tǒng)移植到該核心板上來完成對(duì)硬件的管理與客戶端提供數(shù)據(jù)交換,響應(yīng)客戶端的命令控制。
(2)伺服電機(jī)
采用的伺服電機(jī)為微型伺服馬達(dá)(又稱作舵機(jī)),主要應(yīng)用于模型的動(dòng)作控制,通過脈寬調(diào)制可以對(duì)其進(jìn)行比較精確的控制。本設(shè)計(jì)采用TOROBOT公司生產(chǎn)的TR213舵機(jī),其動(dòng)態(tài)扭矩可以達(dá)到13 kg·cm,轉(zhuǎn)角范圍為180°,控制精度達(dá)到0.5°,工作電壓為4.8~7.2 V,其性能能夠滿足本設(shè)計(jì)的基本要求,所以選用兩個(gè)TR213配合夾持器完成物體的夾持工作。
(3)直流電機(jī)
直流電機(jī)用于控制機(jī)器人移動(dòng),本設(shè)計(jì)采用帶齒輪箱的直流電機(jī),其減速比為1:120,工作電壓為3~12 V左右,7.2 V電壓下轉(zhuǎn)速達(dá)120 r/min,4個(gè)直流電機(jī)配合車體,最大負(fù)載可達(dá)到2 kg。
(4)WiFi網(wǎng)卡
無線網(wǎng)卡采用USB接口的必聯(lián)(B—LINK)BL—LW05-AR5無線網(wǎng)卡,其主芯片為RTL8188,并且外置了5 DBI的高增益天線,傳輸速度最高可達(dá)150 Mbps,實(shí)際傳輸距離較遠(yuǎn),并且支持AP模式。本設(shè)計(jì)通過移植該網(wǎng)卡的驅(qū)動(dòng)、Hostapd以及DHCP讓機(jī)器人作為AP熱點(diǎn)供無線設(shè)備進(jìn)行連接控制。
(5)攝像頭
攝像頭采用中星微ZC301P,USB接口,像素高達(dá)130萬,擁有6 mm的五玻鏡頭,62°視角,并且具有自動(dòng)亮度、自動(dòng)白平衡、伽馬校正功能。本設(shè)計(jì)中使用這款攝像頭來完成機(jī)器人前方視頻數(shù)據(jù)采集。
(6)壓力傳感器
為了采集機(jī)器人夾持器的壓力數(shù)據(jù),本設(shè)計(jì)采用了FSR402薄膜壓力傳感器。該傳感器受力后會(huì)導(dǎo)致電阻變小,根據(jù)電阻值的變化可以得到壓力的變化,其允許的壓力范圍為100 g~10 kg,并且傳感器受力區(qū)域的直徑達(dá)1.27 cm。
(7)直流電源
為了完成物體的夾持、搬運(yùn)、擺放工作,機(jī)器人帶有4路直流電機(jī)、2路伺服電機(jī),耗電量較大,且負(fù)載時(shí)電流較大。為了使其能穩(wěn)定正常工作,本設(shè)計(jì)選用了一款15C的航模電池,其容量為1300 mAh,標(biāo)稱電壓為7.4 V,充滿電壓為8.4 V,最大電流可達(dá)16 A,配以LM338穩(wěn)壓器可以穩(wěn)定地提供5 A/5 V直流電源。
3 服務(wù)器搭建
3.1 服務(wù)器端
服務(wù)器端功能框圖如圖2所示。
3.2 Linux系統(tǒng)移植
核心板采用友善之臂公司提供的TINY6410,此核心板已提供Bootloader、Linux操作系統(tǒng)和文件系統(tǒng)。使用時(shí)只需要根據(jù)實(shí)際的需要裁減Linux系統(tǒng)即可,本設(shè)計(jì)采用的Lin ux內(nèi)核版本為Linux2.6.38,編譯平臺(tái)為Ubuntu12.04,交叉編譯器為arm-linux-gcc-4.5.1。
3.3 驅(qū)動(dòng)編寫與移植
(1)直流電機(jī)驅(qū)動(dòng)
由于S3C6410只帶有兩路PWM輸出,而夾持器部分需要兩路PWM脈寬調(diào)制控制伺服舵機(jī),因此直流電機(jī)部分采用定時(shí)器2來模擬PWM調(diào)制。設(shè)置定時(shí)器2每100ms進(jìn)一次中斷,在定時(shí)器中進(jìn)行1~100計(jì)數(shù),因此PWM周期為10 s,并有100個(gè)脈寬比可調(diào),滿足直流電機(jī)調(diào)速控制。
(2)伺服電機(jī)驅(qū)動(dòng)
伺服電機(jī)需要采用脈寬調(diào)制,通過調(diào)節(jié)20 ms周期內(nèi)的占空比可以指定伺服電機(jī)的旋轉(zhuǎn)角度,其對(duì)應(yīng)關(guān)系表略——編者注。
由于舵機(jī)的控制要求較高,本設(shè)計(jì)采用S3C6410自帶的PWM進(jìn)行控制。設(shè)置PWM0和PWM1的周期為20 ms,通過調(diào)節(jié)PWM0和PWM1的占空比來控制伺服電機(jī)的工作。
(3)攝像頭驅(qū)動(dòng)
ZC301為免驅(qū)的UVC視頻設(shè)備,為了實(shí)現(xiàn)視頻的采集,需要在編譯內(nèi)核時(shí)選擇V4L2支持。
(4)USB WiFi驅(qū)動(dòng)
本設(shè)計(jì)中的USB無線網(wǎng)卡采用RTL8188芯片,為使該設(shè)備能夠正常工作需要進(jìn)行驅(qū)動(dòng)程序移植。
(5)ADO驅(qū)動(dòng)
電源電量以及FSR壓力傳感器數(shù)據(jù)測量需要ADC驅(qū)動(dòng)的支持,由于系統(tǒng)中已含有該驅(qū)動(dòng),故只需要在編譯內(nèi)核時(shí)選擇上即可。
3.4 AP熱點(diǎn)搭建
Hostapd是Linux系統(tǒng)中無線訪問接入點(diǎn)的守護(hù)進(jìn)程。它可以將無線網(wǎng)卡設(shè)置為AP模式,并且支持多種加密方式,提供了設(shè)備接入的身份驗(yàn)證。在實(shí)際的使用期間,需要對(duì)其配置文件進(jìn)行相應(yīng)的修改。本設(shè)計(jì)中采用Hostapd結(jié)合RTL8188網(wǎng)卡完成AP熱點(diǎn)的搭建。另外,通過配置DHCP的配置文件并啟用該服務(wù)為接入機(jī)器人的WiFi設(shè)備分配IP地址,有效地避免了多個(gè)設(shè)備接入時(shí)的地址沖突問題。
3.5 視頻服務(wù)器搭建
本設(shè)計(jì)選用input_uvc作為輸入組件來使用V4L2從攝像頭獲取圖像數(shù)據(jù),經(jīng)JPEG庫對(duì)數(shù)據(jù)進(jìn)行編碼之后,通過選用output_http作為輸出組件來輸出圖像數(shù)據(jù)。output http組件實(shí)現(xiàn)了一個(gè)符合HTTP1.0標(biāo)準(zhǔn)的WEB服務(wù)器,用戶可以使用HTTP協(xié)議獲取視頻信息。
評(píng)論