猎头视角:2026年机器人行业人才趋势预测,企业正在争夺哪些核心人才?
2026/7/18 18:23:24
整理自 ROS2 官方文档及社区资料。命令中的
<distro>表示 ROS2 发行版名称(如humble、foxy、iron、jazzy等),<...>为需替换的参数。
# 加载 ROS2 环境变量(每次开新终端需执行)source/opt/ros/<distro>/setup.bash# 写入 ~/.bashrc 自动加载echo"source /opt/ros/<distro>/setup.bash">>~/.bashrc# 查看当前 ROS2 发行版echo$ROS_DISTRO# 安装 colcon 构建工具sudoaptinstallpython3-colcon-common-extensions# 创建工作空间mkdir-p~/ros2_ws/srccd~/ros2_ws# 创建功能包(C++ 版)ros2 pkg create<package_name>--build-type ament_cmake--dependenciesrclcpp std_msgs# 创建功能包(Python 版)ros2 pkg create<package_name>--build-type ament_python--dependenciesrclpy std_msgs# 构建工作空间colcon build# 推荐开发方式:软链接安装,源码修改后无需重新编译colcon build --symlink-install# 仅构建指定功能包colcon build --packages-select<package_name># 跳过测试构建colcon build --cmake-args-DBUILD_TESTING=OFF# 加载工作空间环境sourceinstall/setup.bash# 清理构建产物rm-rfbuild/ install/ log/# 允许继续构建即使部分包失败colcon build --continue-on-error# 并行构建的包数量colcon build --parallel-workers<N># 运行测试colcontestcolcon test-result# 查看测试结果# 列出所有运行中的节点ros2nodelist# 查看某节点信息(发布/订阅的话题、服务)ros2nodeinfo<node_name># 运行某个节点ros2 run<package_name><node_name># 重映射节点名ros2 run<package_name><node_name>--ros-args-r__node:=<new_name># 列出所有话题ros2 topic list# 列出话题及其消息类型ros2 topic list-t# 查看话题信息ros2 topic info<topic_name># 实时查看话题消息内容ros2 topicecho<topic_name># 发布消息(单次)ros2 topic pub<topic_name><msg_type>"<data>"# 持续发布消息(按固定频率)ros2 topic pub-r<频率Hz><topic_name><msg_type>"<data>"# 查看话题发布频率ros2 topic hz<topic_name># 查看话题带宽ros2 topic bw<topic_name># 查看话题消息类型定义ros2 topictype<topic_name>示例:
# 发布一条字符串消息ros2 topic pub /chatter std_msgs/msg/String"data: 'hello ros2'"# 持续以 2Hz 发布ros2 topic pub-r2/chatter std_msgs/msg/String"data: 'hello'"# 列出所有服务ros2servicelist# 列出服务及其类型ros2servicelist-t# 查看服务类型ros2servicetype<service_name># 按类型查找服务ros2servicefind<srv_type># 调用服务ros2servicecall<service_name><srv_type>"<request_data>"示例:
ros2servicecall /add_two_ints example_interfaces/srv/AddTwoInts"{a: 2, b: 3}"# 列出所有动作ros2 action list# 列出动作及其类型ros2 action list-t# 查看动作信息ros2 action info<action_name># 查看动作类型ros2 actiontype<action_name># 发送目标ros2 action send_goal<action_name><action_type>"<goal_data>"# 发送目标并接收反馈ros2 action send_goal-f<action_name><action_type>"<goal_data>"# 列出某节点的所有参数ros2 param list<node_name># 获取参数值ros2 param get<node_name><param_name># 设置参数值ros2 paramset<node_name><param_name><value># 查看参数描述ros2 param describe<node_name><param_name># 导出参数到文件ros2 param dump<node_name># 从文件加载参数ros2 param load<node_name><parameter_file># 列出所有接口(msg/srv/action)ros2 interface list# 查看接口定义ros2 interface show<interface_type># 列出某包内的所有接口ros2 interface package<package_name># 显示消息包列表ros2 interface package std_msgs示例:
ros2 interface show std_msgs/msg/String ros2 interface show example_interfaces/srv/AddTwoInts# 录制指定话题ros2 bag record<topic1><topic2># 录制所有话题ros2 bag record-a# 录制并指定输出文件名ros2 bag record-o<file_name><topic_name># 回放数据ros2 bag play<bag_file># 查看录制文件信息ros2 bag info<bag_file># 启动 launch 文件ros2 launch<package_name><launch_file># 查看包的 launch 文件ros2 launch<package_name># 查看当前 TF 树ros2 run tf2_tools view_frames# 监听某坐标变换ros2 run tf2_ros tf2_echo<parent_frame><child_frame># 发布静态坐标变换ros2 run tf2_ros static_transform_publisher<x><y><z><yaw><pitch><roll><parent_frame><child_frame># 查看包路径ros2 pkg prefix<package_name># 列出已安装的包ros2 pkg list# 查找包含某关键字的包ros2 pkg list|grep<keyword># 查看正在运行的节点执行文件ros2 pkg executables<package_name># 查看守护进程状态ros2 daemon status ros2 daemon start ros2 daemon stop# ROS2 域 ID 设置(多机通信隔离)exportROS_DOMAIN_ID=<id>| 通信方式 | 适用场景 | 特点 | 典型用途 |
|---|---|---|---|
| Topic 话题 | 持续、高频数据流 | 发布/订阅,异步,一对多 | 传感器数据、里程计 |
| Service 服务 | 一次性请求-响应 | 同步,短时,一对一 | 触发某动作、查询状态 |
| Action 动作 | 长时间运行任务 | 异步,可取消,带反馈与结果 | 导航、机械臂运动 |