机械臂moveit2学习第二课在RVIZ中初始化机械臂并控制

MoveIt 快速入门教程在 RViz 中

本教程将教您如何在 MoveIt 中使用 RViz 和 MoveIt 显示插件创建运动计划。RViz 是 ROS 的主要可视化工具,也是调试机器人非常有用的工具。MoveIt 显示插件允许您设置虚拟环境(规划场景),交互式地为机器人创建起始和目标状态,测试各种运动规划器,并可视化输出。
在这里插入图片描述

开始使用

第一步:启动演示并配置插件

  1. 启动演示:

    ros2 launch moveit2_tutorials demo.launch.py rviz_config:=panda_moveit_config_demo_empty.rviz
    
  2. 一旦加载了运动规划插件,我们可以配置它:

    • 在“显示”子窗口的“全局选项”选项卡中,将固定帧字段设置为 /panda_link0
    • 配置插件为您的机器人(本例为 Panda):
      • 确保机器人描述字段设置为 robot_description
      • 确保规划场景主题字段设置为 /monitored_planning_scene
      • 确保在计划路径下轨迹主题设置为 /display_planned_path
      • 在规划请求中,将规划组更改为 panda_arm

第二步:与可视化的机器人互动

在这里插入图片描述

有四种不同的重叠可视化:

  1. 机器人在 /monitored_planning_scene 规划环境中的配置(默认激活)。
  2. 机器人预定的路径(默认激活)。
  3. 绿色:运动规划的起始状态(默认禁用)。
  4. 橙色:运动规划的目标状态(默认激活)。

每个可视化的显示状态可以通过复选框切换开启和关闭:

  • 使用“显示机器人视觉”复选框规划场景机器人。
  • 使用“显示机器人视觉”复选框来规划路径。
  • 使用“查询起始状态”复选框设置起始状态。
  • 使用“查询目标状态”复选框设置目标状态。
    在这里插入图片描述

第三步:与 Panda 交互

接下来,我们只需要场景机器人、起始状态和目标状态:

  1. 检查计划路径树菜单中的“显示机器人视觉”复选框。
  2. 取消勾选场景机器人树菜单中的“显示机器人视觉”复选框。
  3. 检查规划请求树菜单中的“查询目标状态”复选框。
  4. 检查规划请求树菜单中的“查询起始状态”复选框。

此时,您将看到两个交互式标记,一个对应橙色手臂的标记用于设置“目标状态”,另一个对应绿色手臂的标记用于设置“起始状态”。您可以使用这些标记来拖动手臂并改变其方向。
在这里插入图片描述

进入碰撞

  1. 隐藏计划路径和目标状态:

    • 取消勾选计划路径树菜单中的“显示机器人视觉”复选框。
    • 取消勾选规划请求树菜单中的“查询目标状态”复选框。
  2. 尝试将臂移动到一个配置,其中其两个连杆相互碰撞。如果碰撞发生,连杆将变为红色。

  3. 重新勾选“使用碰撞感知逆运动学”复选框,求解器将会尝试找到一个无碰撞的解决方案。
    在这里插入图片描述
    在这里插入图片描述

第四步:使用 Panda 的运动规划

  1. 将起始状态移动到期望的位置。
  2. 将目标状态移动到另一个期望的位置。
  3. 确保两个状态都不会与机器人本身发生碰撞。
  4. 确保已可视化计划路径,并检查计划路径树菜单中的“显示轨迹”复选框。
  5. 在“运动规划”窗口下的“规划”选项卡中,点击“规划”按钮。

您的第一个 C++ MoveIt 项目

本教程将指导您编写第一个使用 MoveIt 的 C++ 应用程序。

先决条件

如果您尚未完成,请确保您已完成“入门”中的步骤。

本教程假设您已了解 ROS 2 的基础知识。为了准备自己,请完成官方 ROS 2 教程,直到“编写简单的发布者和订阅者(C++)”部分。

步骤

1. 创建一个包

  1. 打开终端并源码您的 ROS 2 安装,以便 ros2 命令可以工作。

  2. 导航到您在入门教程中创建的 ws_moveit2 目录。

  3. 切换到 src 目录,因为我们的源代码就放在那里。

  4. 使用 ROS 2 命令行工具创建一个新包:

    ros2 pkg create \
    --build-type ament_cmake \
    --dependencies moveit_ros_planning_interface rclcpp \
    --node-name hello_moveit hello_moveit
    

    该命令将创建一个新目录,并在其中生成一些文件。

  5. 请注意,我们添加了 moveit_ros_planning_interfacerclcpp 作为依赖项。这将在 package.xmlCMakeLists.txt 文件中做出必要的更改,以便我们依赖这两个包。

  6. 打开新创建的源文件 ws_moveit2/src/hello_moveit/src/hello_moveit.cpp,并在您喜欢的编辑器中进行编辑。

2. 创建一个 ROS 节点和执行器

以下代码是 ROS 2 的初始化代码,它创建一个 ROS 节点:

#include <memory>
#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值