RViz 中的 MoveIt 快速入门

本教程将教您如何使用 RViz 和 MoveIt Display 插件在 MoveIt 中创建运动计划。Rviz 是 ROS 中的主要可视化工具,也是调试机器人的非常有用的工具。MoveIt Display 插件允许您设置虚拟环境(规划场景)、以交互方式为机器人创建起始和目标状态、测试各种运动规划器并可视化输出。让我们开始吧!
入门
如果您尚未完成,请确保您已完成 入门 或我们的 Docker 指南 中的步骤。 如果您遵循了 Docker 指南,还请按照 创建 Colcon 工作区并下载教程 指南设置教程。
步骤 1:启动演示并配置插件
启动演示:
ros2 launch moveit2_tutorials demo.launch.py
如果您是第一次执行此操作,您应该会在 RViz 中看到一个空的世界,并且必须添加运动规划插件:
您应该会在 RViz 中看到一个空的世界:
在 RViz Displays 选项卡中,按 Add:
从 moveit_ros_visualization 文件夹中,选择“MotionPlanning”作为 DisplayType。按“Ok”。
加载运动规划插件后,我们可以对其进行配置。在“显示”子窗口的“全局选项”选项卡中,将**固定框架**字段设置为``/base_link``
现在,您可以开始为您的机器人(在本例中为 Kinova Gen 3)配置插件。单击“显示”中的“运动规划”。
确保**机器人描述**字段设置为``robot_description``。
确保**规划场景主题**字段设置为``/monitored_planning_scene``。
单击主题名称以显示主题名称下拉菜单。
确保**规划路径**下的**轨迹主题**设置为``/display_planned_path``。
在**规划请求**中,将**规划组**更改为``操纵器``。您还可以在左下角的 MotionPlanning 面板中看到这一点。

第 2 步:使用可视化机器人
有四种不同的重叠可视化:
/monitored_planning_scene
规划环境中的机器人配置(默认处于活动状态)。机器人的规划路径(默认处于活动状态)。
绿色:运动规划的起始状态(默认禁用)。
橙色:运动规划的目标状态(默认处于活动状态)。
可以使用复选框打开和关闭每个可视化的显示状态:
使用 场景机器人 树形菜单中的 显示机器人视觉 复选框的规划场景机器人。
使用 规划路径 树形菜单中的 显示机器人视觉 复选框的规划路径。
使用 规划请求 树形菜单中的 查询起始状态 复选框的起始状态。
#.使用**规划请求**树形菜单中的**查询目标状态**复选框来查看目标状态。
使用所有这些复选框来打开和关闭不同的可视化效果。

步骤 3:与 Kinova Gen 3 交互
对于接下来的步骤,我们只需要场景机器人、起始状态和目标状态:
选中 规划路径 树形菜单中的 显示机器人视觉 复选框
取消选中 场景机器人 树形菜单中的 显示机器人视觉 复选框
选中 规划请求 树形菜单中的 查询目标状态 复选框。
选中 规划请求 树形菜单中的 查询起始状态 复选框。
现在应该有两个交互式标记。一个对应于橙色手臂的标记将用于设置运动规划的“目标状态”,另一个对应于绿色手臂的标记将用于设置运动规划的“起始状态”。如果您没有看到交互式标记,请按 RViz 顶部菜单中的**Interact**(注意:某些工具可能被隐藏,请按顶部菜单中的**“+”**添加**Interact**工具,如下所示)。

现在,您应该能够使用这些标记拖动手臂并改变其方向。试试看!
进入碰撞
对于此部分,隐藏计划路径和目标状态:
取消选中 计划路径 树形菜单中的 显示机器人视觉 复选框
取消选中 规划请求 树形菜单中的 查询目标状态 复选框。
现在,只有起始状态(绿色手臂)应该可见。尝试将手臂移动到两个链接相互碰撞的配置中。(如果您发现这很困难,请确保 MotionPlanning 插件的规划选项卡下的“使用碰撞感知 IK”复选框未选中。)完成此操作后,发生碰撞的链接将变为红色。

现在,选中“使用碰撞感知 IK”复选框,然后再次尝试将两个链接移动到彼此碰撞的位置。选中该复选框后,IK 解算器将继续尝试为所需的末端执行器姿势找到无碰撞解决方案。未选中时,解算器将允许在解决方案中发生碰撞。无论复选框的状态如何,发生碰撞的链接仍将始终以红色显示。

移出可到达工作区
请注意当您尝试将末端执行器移出其可到达工作区时会发生什么。

在进入下一部分之前,请重新启用计划路径和目标状态:
在 计划路径 树形菜单中选中 显示机器人视觉 复选框
在 规划请求 树形菜单中选中 查询目标状态 复选框。
移动关节或零空间
您可以使用 关节 选项卡移动单个关节和 7 自由度机器人的冗余关节。尝试移动“零空间探索”滑块,如下面的动画所示。
步骤 4:使用 Kinova Gen 3 进行运动规划
现在,您可以在 MoveIt RViz 插件中使用 Kinova Gen 3 开始运动规划。
将起始状态移动到所需位置。
将目标状态移动到另一个所需位置。
确保两个状态均未与机器人本身发生碰撞。
取消选中 规划路径 树形菜单中的 显示轨迹 复选框。
在 规划 选项卡下的 运动规划 窗口中,按下 规划 按钮。
选中 规划路径 树形菜单中的 显示轨迹 复选框。您应该看到由一系列操纵器姿势表示的手臂路径。

内省轨迹航点
您可以在 RViz 中逐点直观地内省轨迹。
从“面板”菜单中,选择“轨迹 - 轨迹滑块”。您将在 RViz 上看到一个新的滑块面板。
设置您的目标姿势,然后运行 计划*。
使用“滑块”面板进行操作,例如移动滑块,按下“播放”按钮。
注意:将末端执行器放置到新目标后,请务必在运行 播放 之前运行 计划 - 否则,您将看到上一个目标的航点(如果可用)。

规划笛卡尔运动
如果激活“使用笛卡尔路径”复选框,机器人将尝试在笛卡尔空间中线性移动末端执行器。


执行轨迹,调整速度
成功规划后单击“规划和执行”或“执行”将向机器人发送轨迹 - 在本教程中,由于您使用了“kinova_demo.launch”,因此机器人仅进行模拟。
最初,默认速度和加速度被缩放为机器人最大值的 10%(“0.1”)。您可以在下面显示的规划选项卡中更改这些缩放因子,或者在机器人的“moveit_config”(在“joint_limits.yaml”中)中更改这些默认值。

下一步
RViz 可视化工具
许多教程使用“moveit_visual_tools”逐步完成演示。在继续学习下一个教程之前,最好启用 RvizVisualToolsGui。
从“面板”菜单中,选择“添加新面板”。从菜单中,选择“RvizVisualToolsGui”并单击“确定”。您将看到新面板已添加到 RViz。


保存配置
RViz 可让您在“文件->保存配置”下保存配置。您应该在继续学习下一个教程之前执行此操作。如果您选择以新名称保存配置,则可以使用“文件->将配置另存为”并使用以下内容引用您的配置文件::
ros2 launch moveit2_tutorials demo.launch.py rviz_config:=your_rviz_config.rviz
将“your_rviz_config.rviz”替换为您保存到“moveit2_tutorials/doc/tutorials/quickstart_in_rviz/launch/”的文件的名称,并构建工作区以便可以找到它。
下一个教程
在:doc:您的第一个 MoveIt 项目 </doc/tutorials/your_first_project/your_first_project>”中,您将使用 MoveIt 创建一个 C++ 程序来规划和执行移动。