ROS2
ROS2常用命令
2021.08 Simon
体验测试
- Turtle
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
Terminal 命令
ros2 COMMAND …
*ROS:rosrun
Commands: launch Run a launch file node Various node related sub-commands param Various param related sub-commands pkg Various package related sub-commands run Run a package specific executable service Various service related sub-commands srv Various srv related sub-commands topic Various topic related sub-commands
Node
- 列出所有运行节点名称
ros2 node list
- 在知道节点名称的前提下,可以通过
node info获得有关节点的更多信息
ros2 node info <node_name>
- Remapping 允许重新分配默认节点属性,像节点名, topic 名,service 名等,此时会出现两个节点名。
重新分配节点名 /turtlesim 的方式如下:对节点
/turtlesim进行重映射,在终端中运行:
ros2 run turtlesim_node --ros-args --remap __node:=my_turtle
colcon编译
colcon build
colcon build --packages-select PACKAGE_NAME
topic
- rqt_graph, 用来可视化正在改变的 node 和 topic
rqt_graph
- topic list, 在新的终端下运行 ros2 topic list 命令会返回在系统内所有当前活跃的 topic
ros2 topic list
- topic echo, 浏览数据在话题上发布
ros2 topic echo <topic_name>
- topic pub , 该命令可以用来直接从命令行向一个 topic 内发布数据
ros2 topic pub <topic_name> <msg_type> '<args>'
- topic hz, 使用该命令可以发布数据的速率
ros2 topic hz /turtle1/pose
service
service 是另一种节点通信方法。service 基于 call-response 模式,与 publisher-subscriber 模式相对。topic 允许节点 suscribe 数据流并获得持续更新,而 service 仅在被 client 指定调用时才会提供数据。 service 的使用方法与 topic 类似。
action
- action list, 别在 ROS 中所有的 action,运行此命令
ros2 action list
bag
- bag record, 记录发布到一个 topic 的消息可使用命令语句
ros2 bag record <topic_name>
- Record multiple topics, 也可以同时记录多个话题
ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose
Package
- 创建 package
ros2 pkg create --build-type ament_cmake <package_name>
ros2 pkg create --build-type ament_cmake --node-name my_node my_package