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感覺英文會變好,很多都是落落長的英文文章…