Ros 2 常用指令

Jufeng Wu, 27 September 2019


來紀錄一下ROS2的常用指令和一些概念吧

一些會用到的指令們:

產生 package:

ros2 pkg create your_package --dependencies [deps]

執行node:

ros2 run package_name node_name

執行launch file:

ros2 launch package_name launch_file_name
or
ros2 launch launch_file_path_and_name

顯示有那一些node the nodes:

ros2 node list

顯示這一些 node 的交互作用:

ros2 run rqt_gui rqt_gui

顯示所有執行的的檔案以及他所屬的node:

ros2 pkg executables

顯示所有的 package:

ros2 pkg list

顯示所有的 service:

ros2 service list

顯示所有的 topic:

ros2 topic list

顯示此package的Action

ros2 action package_name/action_folder/Action_name

一些概念:

topic:

可以多對多,一個node可以產生topic,只要其他node有訂閱(subscribe)就可以收到相對應的資訊,然後這一些資訊叫做message

service:

一個node可以打出一個service,另一個node會回傳相對應的資訊或是狀態回來,有一點像是function 然後回傳東西

action:

ros2跟ros1不一樣的地方,action client 可以傳送goal給service,service可以決定是否要接收,並告訴client,決定要接收的話可以傳送feedbace 和 status

component:

ros2的官方建議使用component而不要使用node,使用component的話會沒有main,可以動態註冊(加載)和移除,跟ros1 的nodelet,但是詳細的好處還未知

life cycle:

這似乎也是ros2才有的東西,詳細還要再看看,但是似乎就是node的啟動,關閉等狀態控管

大概就這樣,之後有學到新的東西再來補
不過看ros2感覺英文會變好,很多都是落落長的英文文章…