Tronlong創(chuàng)龍科技ROS讓機器人開發(fā)更便捷;我們來看看具體的。
ROS系統(tǒng)是什么
ROS(Robot Operating System)是一個適用于機器人的開源的元操作系統(tǒng)。它提供了操作系統(tǒng)應(yīng)有的服務(wù),包括硬件抽象,底層設(shè)備控制,常用函數(shù)的實現(xiàn),進(jìn)程間消息傳遞,以及包管理。它也提供用于獲取、編譯、編寫、和跨計算機運行代碼所需的工具和庫函數(shù)。
隨著工業(yè)智能化的快速發(fā)展,智能機器人設(shè)備已成為工業(yè)自動化體系的佼佼者,而智能機器人設(shè)備核心—ROS系統(tǒng),是機器人領(lǐng)域的集大成者,主要應(yīng)用于機器人控制領(lǐng)域,如AGV工業(yè)機器人控制器、智能機械臂控制器、機器人導(dǎo)航系統(tǒng)等。
ROS系統(tǒng)主要特點有哪些
(1) 提供豐富的機器人算法庫
機器人的各種控制以及通信離不開算法庫的支持,ROS系統(tǒng)提供豐富且功能強大的機器人算法庫,如坐標(biāo)變換、運動控制等。機器人開發(fā)者可根據(jù)開發(fā)需要,簡單快捷地調(diào)用合適的算法庫,以提高開發(fā)效率,加快開發(fā)進(jìn)程。
(2) 開源免費,架構(gòu)精簡
ROS系統(tǒng)是一個開源免費,架構(gòu)精簡的機器人操作系統(tǒng)。ROS被設(shè)計為盡可能精簡,以便為ROS編寫的代碼可與其他機器人軟件框架一起使用,如ROS已與OpenRAVE、Orocos和Player集成。正是由于這一特點,探索開發(fā)ROS系統(tǒng)的人員眾多,遍布世界各地,形成一種“百花齊放,家爭鳴”局面,促使ROS功能日益強大?!伴_源免費、架構(gòu)精簡”這也更是意味著可大大降低產(chǎn)品開發(fā)成本,縮短產(chǎn)品開發(fā)周期,提高產(chǎn)品開發(fā)效率。
(3) 支持實時控制與通信,數(shù)據(jù)安全可靠
如今ROS系統(tǒng)支持實時控制與通信,并且數(shù)據(jù)安全可靠?!皩崟r性”、“安全性”是如今工業(yè)自動化行業(yè)的普遍追求,特別是對于AGV開發(fā),若AGV機器人的主控制器、雷達(dá)、攝像頭、GPS等部件的控制、通信的實時性與安全性得不到保障,導(dǎo)致的后果將是核心數(shù)據(jù)泄露、路線控制偏離、系統(tǒng)通信異常等嚴(yán)重后果。而ROS系統(tǒng)憑借其優(yōu)勢,已成為AGV開發(fā)利器,廣泛應(yīng)用于各種機器人開發(fā),并逐漸成為主流。
RK3568J + Debian的ROS2系統(tǒng)演示案例
創(chuàng)龍科技SOM-TL3568是一款基于瑞芯微RK3568J/RK3568B2處理器設(shè)計的四核ARM Cortex-A55全國產(chǎn)工業(yè)核心板,主頻高達(dá)2.0GHz。核心板CPU、ROM、RAM、電源、晶振、連接器等所有器件均采用國產(chǎn)工業(yè)級方案,國產(chǎn)化率100%,并提供國產(chǎn)化率認(rèn)證報告。
我司RK3568J平臺提供的ROS系統(tǒng)啟動鏡像文件update.img位于產(chǎn)品資料“4-軟件資料\Demo\platform-demos\ros2_foxy\bin\”目錄下,請先參考《Linux系統(tǒng)啟動卡制作及系統(tǒng)固化》文檔,將鏡像文件update.img通過“瑞芯微創(chuàng)建升級磁盤工具”制作SD啟動卡(即ROS系統(tǒng)啟動卡),然后將SD啟動卡插至評估板Micro SD卡槽。亦可通過SD升級卡或USB固化方式將系統(tǒng)固化至eMMC。
基于Python語言的通信演示
案例功能:基于Python語言,啟動ROS節(jié)點發(fā)布與訂閱消息,實現(xiàn)訂閱消息節(jié)點與發(fā)布消息節(jié)點之間的實時通信。
請將評估板上電啟動,執(zhí)行如下命令,配置評估板測試環(huán)境。
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
圖 2
執(zhí)行如下命令,啟動ROS節(jié)點訂閱消息。
Target# ros2 run demo_nodes_py listener &
圖 3
執(zhí)行如下命令,啟動ROS節(jié)點發(fā)布消息,實現(xiàn)訂閱消息節(jié)點與發(fā)布消息節(jié)點之間的通信。此時評估板串口調(diào)試終端將會打印兩節(jié)點間通信的信息,如下圖所示。按“Ctrl + C”可退出測試程序,即讓發(fā)布消息的節(jié)點退出。
Target# ros2 run demo_nodes_py talker
圖 4
執(zhí)行如下命令,查看并根據(jù)系統(tǒng)進(jìn)程號關(guān)閉所有ROS節(jié)點。進(jìn)程號請以實際情況為準(zhǔn)。
Target# ps -a
Target# kill 1256
Target# kill 1257
圖 5
基于C++語言的通信演示
案例功能:基于C++語言,啟動ROS節(jié)點發(fā)布與訂閱消息,實現(xiàn)訂閱消息節(jié)點與發(fā)布消息節(jié)點之間的實時通信。
請將評估板上電啟動,執(zhí)行如下命令,配置評估板測試環(huán)境。
Target#export COLCON_CURRENT_PREFIX=/opt/ros
Target# source /opt/ros/local_setup.sh
圖 6
執(zhí)行如下命令,啟動ROS節(jié)點訂閱消息。
Target# ros2 run demo_nodes_cpp listener &
圖 7
執(zhí)行如下命令,啟動ROS節(jié)點發(fā)布消息,實現(xiàn)訂閱消息節(jié)點與發(fā)布消息節(jié)點之間的通信。此時評估板串口調(diào)試終端將會打印兩節(jié)點間通信的信息,如下圖所示。按“Ctrl + C”可退出測試程序,即讓發(fā)布消息的節(jié)點退出。
Target# ros2 run demo_nodes_cpp talker
圖 8
執(zhí)行如下命令,根據(jù)系統(tǒng)進(jìn)程號關(guān)閉所有ROS節(jié)點。進(jìn)程號請以實際情況為準(zhǔn)。
Target# ps -a
Target# kill 1332
Target# kill 1333
圖 9
-
ROS
+關(guān)注
關(guān)注
1文章
278瀏覽量
17001 -
創(chuàng)龍科技
+關(guān)注
關(guān)注
2文章
131瀏覽量
7725 -
RK3568
+關(guān)注
關(guān)注
4文章
514瀏覽量
5034 -
Debian
+關(guān)注
關(guān)注
0文章
75瀏覽量
1162
發(fā)布評論請先 登錄
相關(guān)推薦
評論