1 NAO機器人硬件
1.1 紅外線
紅外線發射角度-60°~+60°,波長940nm.
1.2 超聲波(聲納)
NAO能夠探測前方0.25~2.55m內是否有障礙物,探測角度60°,超聲波頻率為49kHZ.
1.3 傳感器
1.3.1 接觸傳感器
觸摸、按壓、划過接觸傳感器可以出發接觸傳感器產生電信號,進而完成向機器人輸入信息.
頭部:前中后三個觸摸傳感器。
手部觸摸傳感器,腳前部的碰撞傳感器(也起到緩沖作用)。
胸前:長按、短按、連按。
開機:按胸前按鈕。
報IP地址:在開機並且聯網狀態下,按胸前按鈕。
關機:在開機狀態下,按胸前按鈕。
自主生活狀態:連續按兩次胸前按鈕進入或退出。
1.3.2 慣性傳感器:測量身體狀態以及加速度,包括2個陀螺儀,1個加速度計。
1.3.3 位置傳感器(MRE磁性編碼器):測量機器人自身關節位置,36個。
1.3.4 壓力傳感器:每只腳上有4個壓力傳感器,用來確定每只腳重心的位置。在行走過程中,NAO根據重心為在進行不太調整以保持身體平衡。
1.4 發光二極管LED
頭部傳感器周圍:12個LED
耳部:2*10個16級藍色LED, 眼部2*8個全彩色LED, 胸前按鈕和雙足各有1個RGB全彩色LED.
1.5 執行器: 包括安裝在各關節處的直流電機、超聲波發送器、LED等。
2 NAO關節運動模型
2.1 使用的坐標系
笛卡爾坐標系,X軸指向身體前方,Y為由右向左方向,Z軸為垂直向上方向。
2.2 關節運動分類
沿Z軸方向的旋轉稱為偏轉(Yam), 沿Y軸的旋轉稱為俯仰(Pitch),沿X軸方向的旋轉稱為橫滾(Roll).
2.3 關節命名規則
關節名稱由 部件名 + 動作名兩部分組成,例如頭部左右轉的關節名為HeadYam,實現抬頭低頭的關節名為HeadPitch.
機器人的某些簡單動作由一個關節的運動即可完成,復雜的動作需要由多個關節共同完成。
2.4 關節運動范圍
頭部兩個自由度分別控制Nao腦袋的扭轉,其中控制頭部關節在Z軸扭轉的范圍為-120°到120°,在Y軸前后運動的范圍為-39°到39°;
左右手臂各有5個自由度且呈對稱分布,肩關節控制Y軸前后運動的范圍為-120°到120°,控制Z軸左右運動的范圍為0°到95°,
肩關節控制在X軸扭轉的范圍為-90°到0°,
肘關節控制在Z軸運動的范圍為-120°到120°,
腕關節控制在X軸扭轉的范圍為-105°到105°;
Nao的左右手上各有一個自由度,其控制Nao的手部的打開或合攏;
Nao左右腿的關節除髖關節和踝關節外其余均呈對稱分布的,
左髖關節控制腿部在Y軸前后運動的范圍為-104.5°到28.5°,
左髖關節控制腿部在X軸左右運動的范圍為-25°到45°,
左踝關節控制在Y軸前后運動的范圍為-70.5°到54°,
左控制X軸左右運動的范圍為-45°到25°,
右髖關節控制腿部在Y軸前后運動的范圍為-104.5°到28.5°,
右髖關節控制腿部在X軸左右運動的范圍為-45°到25°,
右踝關節控制在Y軸前后運動的范圍為-70.5°到54°,
右踝關節控制X軸左右運動的范圍為-25°到45°;
膝關節控制腿部在Y軸運動的范圍為-5°到125°;
髖部存在一個控制其髖部在Y軸運動的自由度,其運動范圍為-65.62°到42.44°。
2.5 NAO的自由度
機器人能夠獨立運動的關節數目稱為機器人的運動自由度。頭部有兩個關節,可以做偏轉(Yam)和俯仰(pitch),因此,頭部的自由度為2.
全身共有26個自由度。
3 NAOqi框架
NAOqi是NAO機器人運行的主軟件,進行NAO編程主要在NAOqi框架下進行。
NAOqi提供了操作機器人的核心API,提供了數以千計的在控制運動、語音、視頻等方面的函數,可以滿足機器人在
資源、事件、並行、同步等方面的一般需要。盡管NAOqi的動作、音頻、視頻等不同模塊差異很大,NAOqi使用結
構一致的數據模型來表示信息,為調用不同模塊設計了相同的編程模式,各個模塊與ALMemory信息共享使用相同的
結構,這些都降低了NAO程序設計的復雜性。
4 遠程登陸NAO
4.1.利用WinSCP下載上傳文件
啟動WinSCP,在登錄窗口中選擇SCP協議,輸入NAO的IP地址,端口號選擇22,用戶名和密碼都填nao,點擊“登錄”按鈕,進入WinSCP主界面。
登錄后NAO的初始目錄為“/var/persistent/home/nao”,與“/home/nao”目錄的內容相同,用戶nao對該目錄具有讀寫權限。在WinSCP中通過在
本地文件和NAO機器人文件間簡單的“拖拽”操作就可以實現文件的上傳和下載。選中目錄中的文件,點擊右鍵,在彈出菜單中,可以進行刪除、重命
名、更改文件屬性等操作。
4.2.利用Putty遠程登錄NAO
啟動Putty,在配置窗口中輸入機器人IP地址,端口輸入22(SCP協議端口),點擊“打開”按鈕,在彈出的窗口中輸入用戶名nao和密碼nao,進入
NAO的遠程控制狀態。
監控NAOqi
NAOqi是機器人運行的主要軟件。NAOqi不運行,機器人的任何行為都無法完成。在機器人啟動過程中,NAOqi會自動啟動,腳本/etc/init.d/naoqi管理NAOqi的啟動過程。
控制NAOqi的命令包括如下4條:nao start、nao stop、nao restart和nao status。
(1) nao start命令:啟動NAOqi。
(2) nao stop命令:停止NAOqi。
(3) nao restart命令:重新啟動NAOqi。
(4) nao status命令:顯示NAOqi運行狀態。
4.3.Python庫安裝
pip是Python中常用的包管理工具,在NAO機器人預裝的Python2.7安裝包中,pip不是默認安裝的。
(1)下載pip安裝文件。下載地址:https://pypi.python.org/packages/source/p/pip/pip-10.0.1.tar.gz。
(2)將下載到本地的pip-10.0.1.tar.gz利用WinSCP上傳到NAO的/home/nao目錄下。
(3)登錄Putty,使用su命令將用戶由nao切換到root,密碼為root。root用戶對“/usr/lib/ python2.7/site-packages”目錄擁有寫權限。
(4)在NAO上運行如下命令:
tar -xzvf pip-10.0.1.tar.gz
cd pip-10.0.1
python setup.py install
tar是linux的解壓縮命令,運行后將pip安裝文件解壓縮到/home/nao/pip-10.0.1目錄下,文件中包括pip的安裝文件setup.py。最后利用
python運行setup.py完成安裝。安裝完成后,可以在NAO的Python庫目錄“/usr/lib/python2.7/site-packages”下看到新安裝的pip相關目錄。