ros2 常用命令

编译

colcon build [--packages-select] <package_name>

如果当前工作空间(src)缺失所需的系统依赖包,可以通过如下命令安装:
rosdep install -i --from-path src --rosdistro galactic -y
参数说明:
-i:忽略缺失的依赖项(即使某些依赖未找到也不报错)
--from-path src:从src目录下的包中查找依赖
--rosdistro galactic:指定ROS发行版为Galactic
-y:自动回答yes,无需确认
首次运行,可能需要先执行:
sudo rosdep init
rosdep update

ros2 run

启动一个package中的可执行程序

ros2 run <package_name> <executable_name>

node

  • 列出所有正在运行的node name
ros2 node list
  • 查看node 的详细信息
ros2 node info <node_name>  #如: ros2 node info /turtlesim

topic

  • 列出系统中所有活跃的topic
ros2 topic list 
ros2 topic list -t #多返回topic 的消息类型
  • 查看topic上发布的数据
ros2 topic echo <topic_name>  #如:ros2 topic echo /turtle1/cmd_vel
  • 查看topic的详细信息
ros2 topic info <topic_name>

#如:	ros2 topic info /turtle1/cmd_vel
会返回:
	Type: geometry_msgs/msg/Twist
	Publisher count: 1
	Subscription count: 2

  • 查看topic 频率
ros2 topic hz <topic_name>
  • topic 发布数据
如果知道topic发布消息的数据类型, 可以通过命令行发布数据,格式:
ros2 topic pub <topic_name> <msg_type> '<args>'
#如:ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.8}}"

service

  • 列出所有的活跃的service
ros2 service list
ros2 service list -t
  • 查看service的类型
ros2 service type <service_name>
  • 列出某个类型的所有service
ros2 service find <type_name>
  • call service
ros2 service call <service_name> <service_type> <arguments>

查看某个消息类型的数据结构

ros2 interface show <msg_type>  # 如:ros2 interface show geometry_msgs/msg/Twist

可视化工具

  • rqt
  • rqt_graph
  • rqt_console
    启动: ros2 run rqt_console rqt_console
    

posted on 2025-06-11 17:19  洛苏  阅读(240)  评论(0)    收藏  举报

导航