基于WiFi網(wǎng)絡(luò )的可視化遙控搬運機器人設計
引言
本文引用地址:http://dyxdggzs.com/article/201609/304016.htm隨著(zhù)科學(xué)技術(shù)的快速發(fā)展,機器人已經(jīng)漸漸步入人們的實(shí)際生活之中,本設計所研究的遙控搬運機器人是眾多機器人中的一種。搬運機器人主要代替人完成物體的夾取、運輸、擺放工作,可工作于人類(lèi)無(wú)法進(jìn)入或對人體有害的工作環(huán)境。傳統搬運機器人多采用無(wú)線(xiàn)電或者紅外的方式來(lái)進(jìn)行遙控,這種機器人操控范圍較小,并且需要特定的控制器。本設計主要研究基于WFi網(wǎng)絡(luò )的無(wú)線(xiàn)遙控搬運機器人,利用WiFi網(wǎng)絡(luò )可以實(shí)現實(shí)時(shí)視頻圖像采集,以及機器人上的傳感器數據采集。采用WiFi網(wǎng)絡(luò )通信使得控制端多樣化,可用手機、電腦等具備WiFi功能的設備進(jìn)行控制。此外,還可將機器人接入Internet來(lái)實(shí)現更遠距離的控制。
1 總體設計
本設計服務(wù)器端采用移植了Linux操作系統的S3C6410,通過(guò)完成底層驅動(dòng)的移植和編寫(xiě),實(shí)現對硬件的控制,其次移植了MJPGstreamer服務(wù)器和BOA服務(wù)器等實(shí)現圖像數據、控制信息的傳輸??蛻?hù)端方面分別編寫(xiě)了WEB版和Android版應用程序。系統功能框圖如圖1所示。

2 硬件設計
(1)MCU
本設計的主控器采用友善之臂公司的一款核心板,其主芯片S3C6410是三星公司基于A(yíng)RM1176JZF—S核設計的嵌入式處理器。該核心板配置了256 MB DDR RAM,并且主頻為533 MHz,最高主頻可以達到667 MHz。通過(guò)將Linux操作系統移植到該核心板上來(lái)完成對硬件的管理與客戶(hù)端提供數據交換,響應客戶(hù)端的命令控制。
(2)伺服電機
采用的伺服電機為微型伺服馬達(又稱(chēng)作舵機),主要應用于模型的動(dòng)作控制,通過(guò)脈寬調制可以對其進(jìn)行比較精確的控制。本設計采用TOROBOT公司生產(chǎn)的TR213舵機,其動(dòng)態(tài)扭矩可以達到13 kg·cm,轉角范圍為180°,控制精度達到0.5°,工作電壓為4.8~7.2 V,其性能能夠滿(mǎn)足本設計的基本要求,所以選用兩個(gè)TR213配合夾持器完成物體的夾持工作。
(3)直流電機
直流電機用于控制機器人移動(dòng),本設計采用帶齒輪箱的直流電機,其減速比為1:120,工作電壓為3~12 V左右,7.2 V電壓下轉速達120 r/min,4個(gè)直流電機配合車(chē)體,最大負載可達到2 kg。
(4)WiFi網(wǎng)卡
無(wú)線(xiàn)網(wǎng)卡采用USB接口的必聯(lián)(B—LINK)BL—LW05-AR5無(wú)線(xiàn)網(wǎng)卡,其主芯片為RTL8188,并且外置了5 DBI的高增益天線(xiàn),傳輸速度最高可達150 Mbps,實(shí)際傳輸距離較遠,并且支持AP模式。本設計通過(guò)移植該網(wǎng)卡的驅動(dòng)、Hostapd以及DHCP讓機器人作為AP熱點(diǎn)供無(wú)線(xiàn)設備進(jìn)行連接控制。
(5)攝像頭
攝像頭采用中星微ZC301P,USB接口,像素高達130萬(wàn),擁有6 mm的五玻鏡頭,62°視角,并且具有自動(dòng)亮度、自動(dòng)白平衡、伽馬校正功能。本設計中使用這款攝像頭來(lái)完成機器人前方視頻數據采集。
(6)壓力傳感器
為了采集機器人夾持器的壓力數據,本設計采用了FSR402薄膜壓力傳感器。該傳感器受力后會(huì )導致電阻變小,根據電阻值的變化可以得到壓力的變化,其允許的壓力范圍為100 g~10 kg,并且傳感器受力區域的直徑達1.27 cm。
(7)直流電源
為了完成物體的夾持、搬運、擺放工作,機器人帶有4路直流電機、2路伺服電機,耗電量較大,且負載時(shí)電流較大。為了使其能穩定正常工作,本設計選用了一款15C的航模電池,其容量為1300 mAh,標稱(chēng)電壓為7.4 V,充滿(mǎn)電壓為8.4 V,最大電流可達16 A,配以L(fǎng)M338穩壓器可以穩定地提供5 A/5 V直流電源。
3 服務(wù)器搭建
3.1 服務(wù)器端
服務(wù)器端功能框圖如圖2所示。

3.2 Linux系統移植
核心板采用友善之臂公司提供的TINY6410,此核心板已提供Bootloader、Linux操作系統和文件系統。使用時(shí)只需要根據實(shí)際的需要裁減Linux系統即可,本設計采用的Lin ux內核版本為L(cháng)inux2.6.38,編譯平臺為Ubuntu12.04,交叉編譯器為arm-linux-gcc-4.5.1。
3.3 驅動(dòng)編寫(xiě)與移植
(1)直流電機驅動(dòng)
由于S3C6410只帶有兩路PWM輸出,而夾持器部分需要兩路PWM脈寬調制控制伺服舵機,因此直流電機部分采用定時(shí)器2來(lái)模擬PWM調制。設置定時(shí)器2每100ms進(jìn)一次中斷,在定時(shí)器中進(jìn)行1~100計數,因此PWM周期為10 s,并有100個(gè)脈寬比可調,滿(mǎn)足直流電機調速控制。
(2)伺服電機驅動(dòng)
伺服電機需要采用脈寬調制,通過(guò)調節20 ms周期內的占空比可以指定伺服電機的旋轉角度,其對應關(guān)系表略——編者注。
由于舵機的控制要求較高,本設計采用S3C6410自帶的PWM進(jìn)行控制。設置PWM0和PWM1的周期為20 ms,通過(guò)調節PWM0和PWM1的占空比來(lái)控制伺服電機的工作。
(3)攝像頭驅動(dòng)
ZC301為免驅的UVC視頻設備,為了實(shí)現視頻的采集,需要在編譯內核時(shí)選擇V4L2支持。
(4)USB WiFi驅動(dòng)
本設計中的USB無(wú)線(xiàn)網(wǎng)卡采用RTL8188芯片,為使該設備能夠正常工作需要進(jìn)行驅動(dòng)程序移植。
(5)ADO驅動(dòng)
電源電量以及FSR壓力傳感器數據測量需要ADC驅動(dòng)的支持,由于系統中已含有該驅動(dòng),故只需要在編譯內核時(shí)選擇上即可。
3.4 AP熱點(diǎn)搭建
Hostapd是Linux系統中無(wú)線(xiàn)訪(fǎng)問(wèn)接入點(diǎn)的守護進(jìn)程。它可以將無(wú)線(xiàn)網(wǎng)卡設置為AP模式,并且支持多種加密方式,提供了設備接入的身份驗證。在實(shí)際的使用期間,需要對其配置文件進(jìn)行相應的修改。本設計中采用Hostapd結合RTL8188網(wǎng)卡完成AP熱點(diǎn)的搭建。另外,通過(guò)配置DHCP的配置文件并啟用該服務(wù)為接入機器人的WiFi設備分配IP地址,有效地避免了多個(gè)設備接入時(shí)的地址沖突問(wèn)題。
3.5 視頻服務(wù)器搭建
本設計選用input_uvc作為輸入組件來(lái)使用V4L2從攝像頭獲取圖像數據,經(jīng)JPEG庫對數據進(jìn)行編碼之后,通過(guò)選用output_http作為輸出組件來(lái)輸出圖像數據。output http組件實(shí)現了一個(gè)符合HTTP1.0標準的WEB服務(wù)器,用戶(hù)可以使用HTTP協(xié)議獲取視頻信息。
評論