# MoveIt Rviz仿真初始姿态与真机不一致如何配置

> 原文链接：https://robotics.hellobike.com/pitfalls/2024-06-06-robotics-se-98784
> 频道：pitfalls | 更新日期：2024-06-06 | 标签：auto, stackexchange, moveit
> 核心摘要：在fake_controllers.yaml中配置initial字段设置命名姿态可解决仿真初始位姿问题；真机需通过规划执行运动到达目标位姿。

# MoveIt Rviz仿真初始姿态与真机不一致如何配置

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[moveit: How to change the initial pose for robot in Rviz?](https://robotics.stackexchange.com/questions/98784/moveit-how-to-change-the-initial-pose-for-robot-in-rviz)（Robotics Stack Exchange #98784）

**状态**：已解决

## 问题

使用moveit_setup_assistant配置机器人后，demo.launch启动时Rviz中的仿真初始姿态与真实世界不一致。用户尝试在ros_controller.yaml中添加initial字段无效，因该文件用于真实控制器且fake_execution设为false，导致配置不生效。

## 环境

MoveIt + ROS环境，使用demo.launch或自定义launch文件，涉及fake_controllers.yaml与ros_controller.yaml配置文件，机械臂包含panda_arm及hand或左右七轴manipulator。

## 解决办法

1. 若使用fake controller，在`fake_controllers.yaml`中添加`initial`字段，指定group与对应named pose（如`ready`、`open`）以设定Rviz初始姿态。
2. 若使用真实控制器（`ros_controller.yaml`），不可通过yaml设置初始姿态，应改用`your_moveit_config_planning_execution.launch`替代`demo.launch`。
3. 真机实际位姿由物理状态决定，如需到达特定位姿，应通过MoveIt规划并执行运动指令实现，而非依赖启动配置。

原问题作者：xiaozhenghong；采纳答案作者：fvd。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #98784：moveit: How to change the initial pose for robot in Rviz?](https://robotics.stackexchange.com/questions/98784/moveit-how-to-change-the-initial-pose-for-robot-in-rviz)