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