在設計ROS系統工程的時候我們一般是按照多節點的形式設計的,這樣做的好處在於將系統按模塊進行了隔離,而壞處主要有兩個,一是中間的數據傳輸是按照網絡進行的,延時比較大,這個問題的解決辦法比較多,比如內存共享之類的,我們這裏不做討論;二則是啓動這些節點比較煩,有時候可能得啓動十幾個,把人搞崩潰,今天我們就來研究下這個話題。
一般給出的辦法是用ros launch,個人感覺有點複雜,操作起來不太方便,因此這裏介紹另外一種方法。
原理就是通過命令行打開多個終端然後運行不同的命令啓動節點。
- 創建腳本文件Starup.sh,在裏面寫入
gnome-terminal -- roscore
sleep 2s
gnome-terminal -- rviz rviz
sleep 2s
gnome-terminal -- rosrun qt_ros_test qt_ros_test_node
-
賦予該文件權限,允許其作爲程序執行文件。
-
在終端直接運行
./Starup.sh
- 搞定
參考文章
https://www.cnblogs.com/zhubaohua-bupt/p/7182806.html