moveit2 servo -movegroup aciton client arm_controller -rviz2

MoveIt2 Servo → MoveGroup → Action Client → arm_controller → RViz2 这条完整链路。

你现在最关心的:/arm_controller/joint_trajectory 到底发给谁?怎么经过 MoveGroup?怎么到 RViz?

我直接画数据流全链路,每一步都对应你能看到的 topic。


一、终极链路(一句话版)

plaintext

复制代码
MoveIt2 Servo
  ↓(发布)
/arm_controller/joint_trajectory
  ↓(MoveGroup 内部转发,不修改)
MoveGroup 构建 Action 指令
  ↓(Action 发送)
/arm_controller/follow_joint_trajectory (Action)
  ↓(Action Client 发送给)
arm_controller (ros2_control)
  ↓(执行电机)
真实机器人 / 仿真机器人
  ↓(回传状态)
/joint_states → /tf → RViz2 显示机器人动起来

二、逐行详细解释(你一定能看懂)

1. MoveIt2 Servo 计算出轨迹

Servo 实时计算末端 / 关节速度,输出:

plaintext

复制代码
/arm_controller/joint_trajectory

这是轨迹点消息,不是 Action。


2. MoveGroup 不是 "接收者",而是 "转发者"

MoveGroup 做的事情只有一件:把 Servo 发的轨迹消息 → 包装成 Action 指令

不重新规划 ,只是转发


3. MoveGroup 发送 Action 给控制器

MoveGroup 会调用:

plaintext

复制代码
/arm_controller/follow_joint_trajectory

这是一个 Action,不是普通 topic。

结构:

  • Action Client:MoveGroup
  • Action Server:arm_controller(ros2_control)

4. arm_controller 真正执行运动

控制器收到 Action 后:

  • 把轨迹转成电机指令
  • 发给电机 / 仿真器
  • 机器人开始运动

5. RViz2 怎么看到机器人动?

机器人运动后:

  1. 驱动 / 仿真器发布 plaintext

    复制代码
    /joint_states
  2. robot_state_publisher 转成 plaintext

    复制代码
    /tf
  3. RViz2 订阅 /tf/robot_description→ 显示机器人模型实时位置


三、你问的三个核心问题,直接给答案

1. /arm_controller/joint_trajectory 发给谁?

发给 MoveGroupMoveGroup 订阅这个 topic,把它转成 Action。

2. 如何经过 MoveGroup?

不规划,只转发 + 包装成 ActionMoveGroup = 快递中转站,不是工厂。

3. 如何发给 Action Client?

MoveGroup 本身就是 Action Client它直接发送 Action 给控制器的 Action Server。

4. 如何到 RViz2?

通过状态回传:

plaintext

复制代码
机器人 → /joint_states → /tf → RViz2

四、最精简记忆版(背下来就懂)

plaintext

复制代码
Servo 发轨迹
  ↓
MoveGroup 转 Action
  ↓
控制器执行
  ↓
状态回传到 RViz

五、你现在的话题里,真正参与运动的只有 5 个

  1. /servo_demo_node/delta_twist_cmds(你给的指令)
  2. /arm_controller/joint_trajectory(Servo 输出)
  3. /arm_controller/follow_joint_trajectory(Action)
  4. /joint_states(状态回传)
  5. /tf(RViz 显示)

相关推荐
song150265372981 小时前
SF6 气体微水密度压力传感器插头5芯M12 A编码RS485通信
人工智能
石工记2 小时前
基于LangGraph实现智能分诊系统
数据库·人工智能·python·ai编程
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【17】模型拦截器(ModelInterceptor)
java·人工智能·spring
计算机安禾2 小时前
【数据结构与算法】第50篇:专栏总结:知识图谱梳理与面试高频考点汇总
人工智能·面试·知识图谱
爱上珍珠的贝壳2 小时前
ESP32-S3-CAM:豆包语音识别文字后控制小车(终章)——语音控制+L298N模块驱动小车
人工智能·音频·语音识别·esp32-s3·语音转文字·豆包
测试架构师2 小时前
基于OpenCode与Wooyun Legacy的AI自动化安全测试实战
运维·人工智能·自动化
Agent产品评测局2 小时前
港口行业自动化平台选型,物流与通关全流程提效:2026智慧港口技术全景与实测指引
运维·人工智能·ai·chatgpt·自动化
Coovally AI模型快速验证2 小时前
无人机拍叶片→AI找缺陷:CEA-DETR改进RT-DETR做风电叶片表面缺陷检测,mAP50达89.4%
人工智能·3d·视觉检测·无人机·异常检测·工业质检