摘 要:NAO機器人作為最新一款人形智能機器人,在教學中扮演了扮演了重要的角色,為我們提供了良好的平臺來學習、探索機器人的設計。文章在NAO機器人的基礎上,設計程序將NAO機器人作為迎賓機器人,可以省下一定的人力,又可以給人們一種新鮮感,帶來樂趣。文章也介紹了我們通過一些實際的實驗后所得出的一種比較可靠地同時啟動多臺機器人的軟件編程方法,可以使多臺機器人同時準確啟動并自主完成一些動作。
關鍵詞:迎賓;NAO機器人;同時啟動;軟件編程
中圖分類號:TP18 文獻標識碼:A 文章編號:1006-8937(2015)33-0001-02
1 迎賓機器人的程序設計
迎賓機器人的執(zhí)行動作過程,如圖1所示。
設計該程序的主要目的是能夠使NAO機器人做到自主迎賓,即將機器人放置與會場入口處,當賓客經(jīng)過時,機器人會主動打招呼:“您好!歡迎XX”。該程序設計的主要問題在于如何判斷是否有人經(jīng)過,經(jīng)過考慮,我們選擇使用機器人自帶的超聲波傳感器作為檢測傳感器,如圖2所示。
NAOV4版機器人配備有兩對超聲波傳感器,頻率為 40 Hz,分辨率為1 cm,測量范圍為60 ?觷,測量距離為0.25~2.55 m(在0.25 m以內(nèi)無法獲得距離但可檢測到有物體存在),位于胸前兩側對稱分布,具體分布數(shù)據(jù)見表1。
在默認值下,2號傳感器作為1號傳感器的接受器,4號傳感器作為3號傳感器的接收器。
在默認值下,其探測范圍如圖3所示。
當沒有人從門口經(jīng)過時,測量返回值將恒為2.55(即所能測得最大距離),當有人從機器人前經(jīng)過時,該值將發(fā)生變化,考慮到會場正門寬不會超過2 m,我們將判斷值設為1.5,即memoryProxy.getData(“Device/SubDaviceList/US/Left/Actuator/Va
ator/Value”)<1.5時,跳出等待循環(huán)并做出歡迎的動作,結束后繼續(xù)返回等待。具體程序,如圖4所示。
由于從超聲波發(fā)射器發(fā)出超聲波到測量值寫入存儲器的時間約為10 ms,為防止誤測,在這里引入變量i擴大檢測時間到0.5 s。
2 關于8臺機器人同時啟動的程序設計
團體舞蹈要做到美觀、震撼,整齊劃一是必不可少的條件。而對于機器人來說,要做到整齊,最重要的是要保證機器人能夠同時啟動,同時執(zhí)行程序。
來控制8臺機器人。其中,(4)中的可以通過將8臺機器人連入同一局域網(wǎng)后所分配到的IP替換robotIP項,使某一臺機器人向該IP所屬的機器人發(fā)出動作指令,并通過函數(shù)(5)對指定關節(jié)數(shù)值進行檢測,當達到站立時的數(shù)值后,執(zhí)行舞蹈動作。但是運用這種方法,我們發(fā)現(xiàn)機器人不能做到同時啟動并完成站立動作。在排除掉網(wǎng)絡延遲等外界因素干擾下,我們猜測是由于在該方式中機器人之間采用點對點通訊,當主機完成與一臺從機通訊后,才會像下一臺從機發(fā)出指令導致的。
隨后,我們考慮采用利用時鐘完成同時啟動,即我們在程序中利用其圖像編程軟件中所帶的時鐘指令盒獲取時間,當時間到達某一設定值(即XX點XX分)時,機器人啟動。但是,我們在隨后的測試中發(fā)現(xiàn)每一臺機器人的內(nèi)部時鐘都有著小到幾秒鐘多到幾分鐘的誤差,而我們又無法對其內(nèi)部時鐘進行調(diào)整。
最后,經(jīng)過查閱資料,我們選擇利用socket套接字編程,將一臺PC端作為主機,利用廣播的形式向8臺機器人發(fā)送指令,其程序如下:
①PC端:PC端的程序圖如圖5所示。
②NAO機器人端:NAO機器人端的程序圖如圖6所示。
利用該程序,每一臺連入局域網(wǎng)內(nèi)的機器人在啟動完成后,都會向主機發(fā)送其IP地址作為準備就休的標志,當我們收到所有IP后,便可按下回車,使所有機器人同時運行。經(jīng)過多次實驗,該方法能實現(xiàn)8臺機器人的同時啟動,精確性、穩(wěn)定性很高。
3 總 結
通過超聲波傳感器作為檢測信號,用Python編程實現(xiàn)設計程序將NAO機器人作為迎賓 機器人,是將來實現(xiàn)機器人為人們做日常服務的一種基礎設想,為以后機器人的開發(fā)研究做基礎;利用socket套接字編程是我們在比較各種控制方法后決定使用的一種比較穩(wěn)定的控制方法,穩(wěn)定性高,方法簡便。NAO機器人還有很大的發(fā)展空間,在此基礎上,之后再進行更深入的研究。
參考文獻:
[1] 鐘秋波,童春芽.機器人程序設計[M].西安:西安電子科技大學出版社,2013.
[2] 謝濤,徐建峰,張永學,等.類人機器人的研究歷史、現(xiàn)狀及展望[J].機器 人,2002,(4).
[3] W.Richard Stevens,Bill Fenner,Andrew M.Rudoff(美).UNIX網(wǎng)絡編程 (卷1):套接字聯(lián)網(wǎng)API[M].北京:人民郵電出版社,2010.