詳細(xì)介紹
做為ROS的入門(mén)篇我們來(lái)看看如何控制伺服機(jī)。伺服機(jī)的缺點(diǎn)是會(huì)盡快遵照指令運(yùn)轉(zhuǎn),因此頭部常常會(huì)突然活動(dòng),以至于失去平衡。不過(guò)使用ROS之后,就可以進(jìn)行正弦曲線(xiàn)運(yùn)動(dòng),讓機(jī)器人保持穩(wěn)定。由于可以在ROS當(dāng)中進(jìn)行這項(xiàng)操作,因此無(wú)須改寫(xiě)控制用的程序代碼。另外,連接伺服機(jī)和ROS的程序代碼,以及伺服機(jī)的硬件都無(wú)須變更。再者,程序代碼還可以任意使用。
ROS很適合用在Ubuntu或Debian上,無(wú)須編譯。建置時(shí)要在Linux機(jī)器上執(zhí)行Ubuntu,使用業(yè)余用伺服機(jī)、Arduino和普通的導(dǎo)線(xiàn)。ROS要在Ubuntu機(jī)器上啟動(dòng),訊息則透過(guò)USB傳送到Arduino。只要安裝二進(jìn)制的ROS套件,就會(huì)在主控臺(tái)程序(像是gnome-terminal或konsole)追加以下指令,這樣Arduino系統(tǒng)就能辨識(shí)ROS函式庫(kù)。
cd~/sketchbook/libraries
rm-rf ros_lib
rosrunrosserial_arduino make_l ibraries.py .
Arduino的程序
接下來(lái)要將程序代碼上傳到Arduino當(dāng)中,執(zhí)行低階的伺服機(jī)控制,以便能從Linux機(jī)器操作。這時(shí)要以限制范圍內(nèi)的百分比(0.0~1.0)伺服機(jī)的位置。之所以使用百分比而不是寫(xiě)明角度,是因?yàn)锳rduino的程序代碼限制了正確的角度,要避免在角度時(shí)發(fā)生沖突。
就如各位所見(jiàn),使用ROS之后,一般的循環(huán)函數(shù)就會(huì)變得相當(dāng)簡(jiǎn)單。循環(huán)函數(shù)只會(huì)訂閱(subscribe)數(shù)據(jù),任何Arduino循環(huán)都一樣。設(shè)定時(shí)要將ROS初始化,將各個(gè)ROS訊息訂閱者的訂閱叫出來(lái)。每個(gè)訂閱者會(huì)占據(jù)Arduino的RAM,數(shù)量取決于要用程序代碼做什么,以6個(gè)到12個(gè)為限。
西門(mén)子 A5E02122413-05 配件
西門(mén)子 6GK1503-3CB00 配件
西門(mén)子 6ES7332-5HF00-0AB0 配件
西門(mén)子 EM235CN-0KD22-0XA8
西門(mén)子 SM331-7PF01-0AB0
西門(mén)子 USB-PPI 配件
西門(mén)子 USB-PPI 配件
西門(mén)子 ILA9063-4KA11-Z 電機(jī)
西門(mén)子 6GK1161-3AA01 配件
西門(mén)子 6SN1145-1AA01-0AA1 配件
西門(mén)子 6ES7223-1PL30-0XB0 配件
西門(mén)子 USB-PPI 配件
西門(mén)子 307-1EA01-0AA0 配件
西門(mén)子 315-2AG10-0AB0 配件
西門(mén)子 365-0BA01-0AA0 配件
西門(mén)子 331-7KF02-0AB0 配件
西門(mén)子 331-7PF01-0AB0 配件
西門(mén)子 321-1BL00-0AA0 配件
西門(mén)子 322-1BH01-0AA0 配件
西門(mén)子 IM365 RECEIVE 配件
西門(mén)子 1FT6034-1AK71-4EG1 配件
西門(mén)子 6FX8002-2EQ10-1AF0 配件
西門(mén)子 C98043-A1201-L12 板卡
西門(mén)子 6ES5095-8MA05 配件
IC630MDL367RR常規(guī)IC630MDL367RR常規(guī)IC630MDL367RR常規(guī)
西門(mén)子 6ES7 331-1KF01-0AB0 配件
西門(mén)子 LXD63B600 斷路器
西門(mén)子 6ES7322-1BL00-0AA0 模塊