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 显示)

相关推荐
辰烨chenye26 分钟前
LeetCode Hot 100 题解 · 普通数组篇
算法·leetcode·职场和发展
hfywmsj35 分钟前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
沧沧凉凉3 小时前
同一个 Blender 建模,Claude 两个模型都翻车,GPT-6 一次过
人工智能·游戏·ai编程
X54先生(人文科技)3 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
今年下半年4 小时前
从零开始搭建一套大语言模型 + LangGraph 多智能体编排 + RAG 知识库检索** 的智能问答平台
人工智能·语言模型·自然语言处理
Lifangyun_WD4 小时前
RTX 5090 与 RTX PRO 6000 怎么选?32GB 和 96GB 显存分别适合哪些 AI 任务
人工智能·aigc·gpu算力·芯片·gpu租赁
hqyjzsb4 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye4 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
微功夫信息技术4 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划