詳細介紹
ROS(Robot OperatingSystem)是開源的機器人系統(tǒng)平臺。使用這個之后,機器人就可以看見東西、測繪、導(dǎo)航,或是以的算法作用于周圍的環(huán)境當中。假如想要制造復(fù)雜的機器人,已經(jīng)準備好的ROS程序代碼就能派上用場。ROS能在低限度下運用。這可以透過Raspberry Pi等級的計算機安裝。
做為ROS的入門篇我們來看看如何控制伺服機。伺服機的缺點是會盡快遵照指令運轉(zhuǎn),因此頭部常常會突然活動,以至于失去平衡。不過使用ROS之后,就可以進行正弦曲線運動,讓機器人保持穩(wěn)定。由于可以在ROS當中進行這項操作,因此無須改寫控制用的程序代碼。另外,連接伺服機和ROS的程序代碼,以及伺服機的硬件都無須變更。再者,程序代碼還可以任意使用。
ROS很適合用在Ubuntu或Debian上,無須編譯。建置時要在Linux機器上執(zhí)行Ubuntu,使用業(yè)余用伺服機、Arduino和普通的導(dǎo)線。ROS要在Ubuntu機器上啟動,訊息則透過USB傳送到Arduino。只要安裝二進制的ROS套件,就會在主控臺程序(像是gnome-terminal或konsole)追加以下指令,這樣Arduino系統(tǒng)就能辨識ROS函式庫。
接下來要將程序代碼上傳到Arduino當中,執(zhí)行低階的伺服機控制,以便能從Linux機器操作。這時要以限制范圍內(nèi)的百分比(0.0~1.0)伺服機的位置。之所以使用百分比而不是寫明角度,是因為Arduino的程序代碼限制了正確的角度,要避免在角度時發(fā)生沖突。
就如各位所見,使用ROS之后,一般的循環(huán)函數(shù)就會變得相當簡單。循環(huán)函數(shù)只會訂閱(subscribe)數(shù)據(jù),任何Arduino循環(huán)都一樣。設(shè)定時要將ROS初始化,將各個ROS訊息訂閱者的訂閱叫出來。每個訂閱者會占據(jù)Arduino的RAM,數(shù)量取決于要用程序代碼做什么,以6個到12個為限。
接下來要設(shè)法透過Arduino在ROS的世界說話。簡單的方法是使用機器人啟動檔。雖然以下的檔案內(nèi)容非常簡單,但是這里要追加啟動檔,如此一來即使是非常復(fù)雜的機器人,也能用一個指令啟動。
SMK20-JIC5/8-VK-C6FSMK20-JIC5/8-VK-C6FSMK20-JIC5/8-VK-C6F
從SCOUT V4.4之后SIMOTION可以連接西門子的精智屏,如果用戶需要將SCOUT項目中的老型號觸摸屏(如:MP277,TP277)替換為西門子的精智屏,而SCOUT項目依然用SCOUT Classic軟件進行調(diào)試,則需要使用TIA Portal軟件移植原項目并將原觸摸屏進行替換,而且還要在項目中創(chuàng)建PLC代理來實現(xiàn)SIMOTION控制器與精智屏的連接
rostopic指令可以看出ROS訊息傳送到機器人的哪個部位??戳讼旅娴某绦虼a就會發(fā)現(xiàn),「/head/tilt」可以透過Arduino使用。訊息要使用「rostopic」傳送。-1的選項只會發(fā)布(publish)訊息一次,通知/head/tilt傳送一個浮點數(shù)。