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