ROS2常用命令

ROS2 的主要命令入口是 ros2,其中又包含大量的子命令,可用于 ROS2 程序的开发和测试。下面是其中一些常用的命令及其作用:

  • ros2 run:运行 ROS2 节点或任意可执行文件。
  1. ros2 run <package_name> <executable_name>
  2. ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
  • ros2 launch:启动 ROS2 应用程序,可以同时启动多个节点。
  1. ros2 launch <package_name> <launch_file_name>
  • ros2 pkg:用于操作 ROS2 软件包,包括创建 package、指定包名、编译方式、依赖项、节点名等。
  1. ros2 pkg create <package_name> --build-type <build_type>
    --node-name <node_name>
    --dependencies <your_dependencies>
    • --build-type 用于指定编程语言,ament_cmake 表示使用 C++,ament_python 表示使用 Python。
    • --node-name 用于指定节点名,也是要生成的源码文件,可以后期创建,但是手动创建需要手动配置。
    • --dependencies 用于指定依赖模块,其中 rclcpp 是 C++ 必选的,rclpy 是 Python 必选的,std_msgs 和 sensor_msgs 是我们要用的消息模块,可暂不指定,后续手动配置。
  • ros2 node:用于管理 ROS2 节点,可以列出、杀死、查看节点等。
  1. ros2 node list
  2. ros2 node info <node_name>
  • ros2 topic:用于管理 ROS2 话题(Topic),包括列出、发布、订阅、查看话题等。
    • bw:显示话题使用的带宽;
    • delay:显示话题的延迟(基于消息头中的时间戳);
    • echo:输出指定话题的消息;
    • find:输出给定类型的可用主题列表;
    • hz:打印话题的平均发布率;
    • info:打印有关话题的信息;
    • list:输出可用的话题列表;
    • pub:向指定话题发布消息;
    • type:打印话题的类型。
  1. ros2 topic list -t
  2. ros2 topic info <topic_name>
  3. ros2 topic hz <topic_name>
  4. ros2 topic echo <topic_name>
  5. ros2 topic pub <topic_name> <msg_type> '<args>'

 

  • ros2 service:用于管理 ROS2 服务(Service),包括列出、调用、创建、删除服务等。
    • call:调用一个服务;
    • find:查找指定类型的可用服务;
    • list:列出所有可用服务;
    • type:显示服务的类型。
  1. ros2 service list -t
  2. ros2 service find <type_name>
  3. ros2 service type <service_name>
  • ros2 action:用于管理 ROS2 行为(Action),包括列出、调用、取消行为等。
  1. ros2 action list
  • ros2 bag:用于记录和回放 ROS2 话题数据,可以将数据记录到文件中,以供后续回放和分析。
  1. ros2 bag record <topic_name>
  2. ros2 bag info <bag_file_name>
  3. ros2 bag play <bag_file_name>
  • ros2 param:用于管理 ROS2 参数服务器,包括设置、获取、删除参数等。
    • delete:删除参数;
    • describe:显示参数的描述信息;
    • dump:导出一个节点的所有参数到一个 yaml 文件;
    • get:获取参数;
    • list:输出系统内所有可用参数列表;
    • load:加载参数文件到一个节点;
    • set:设置参数。
  1. ros2 param list
  2. ros2 param get <node_name> <parameter_name>
  3. ros2 param set <node_name> <parameter_name> <value>
  4. ros2 param dump <node_name>
  • ros2 msg 和 ros2 srv:用于查看 ROS2 消息和服务类型的定义。
  • ros2 doctor:用于检查 ROS2 环境是否正常,包括检查网络、环境变量、节点和话题等。

 

 

posted @   hanabc12345  阅读(501)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示