Ubuntu16.04中安装Moveit教程及示例教程

1、ROS安装

此步骤本教程省略,可参考ROS官方教程进行安装,ROS安装官方链接:

cn/ROS/Installation - ROS Wikihttp://wiki.ros.org/cn/ROS/Installation

1)安装 ROS 后,请确保您拥有最新的软件包:

rosdep update
sudo apt-get update
sudo apt-get dist-upgrade

2) 安装ROS构建系统:

sudo apt-get install ros-kinetic-catkin python-catkin-tools

2、安装Moveit

安装 MoveIt 的最简单方法是从预先构建的二进制文件 (Debian) 中安装:

sudo apt install ros-kinetic-moveit

如果想要使用源码安装请参考此链接:https://moveit.ros.org/install/source/

3、创建工作空间

mkdir -p /moveit_ws/src

4、下载示例代码

1)进入刚刚创建moveit_ws工作空间,按照以下指令下载:

cd ~/moveit_ws/src
git clone -b kinetic-devel https://github.com/ros-planning/moveit_tutorials.git

2)您还需要一个软件包来遵循以下教程:panda_moveit_config

git clone -b kinetic-devel https://github.com/ros-planning/panda_moveit_config.git

5、构建 Catkin 工作区

1)下面将尝试从 Debian 安装工作区中尚不存在的任何软件包依赖项:

cd ~/moveit_ws/src
rosdep install -y --from-paths . --ignore-src --rosdistro kinetic

在运行指令 “rosdep install -y --from-paths . --ignore-src --rosdistro kinetic” 时会出现如下错误提示:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
moveit_tutorials: Cannot locate rosdep definition for [moveit_visual_tools]
panda_moveit_config: Cannot locate rosdep definition for [franka_description]

出现此问题是因为包缺失所导致,例如我的就是缺少 moveit_visual_tools 和 franka_description 这两个包所导致的问题,可以使用 sudo 安装的方式将其解决,如下所示:

sudo apt-get install ros-kinetic-moveit-visual-tools ros-kinetic-franka-description 

然后再次运行指令  “rosdep install -y --from-paths . --ignore-src --rosdistro kinetic”,便可编译成功

 2)接下来将配置您的 catkin 工作区:

cd ~/moveit_ws
catkin config --extend /opt/ros/kinetic
catkin build

此时需要等待几分钟,等其编译完成。完成后如下图所示:

3) 将此工作空间的 source 后,将其加入到 .bashrc 中,为了方便后续使用此工作空间方便。

source ~/moveit_ws/devel/setup.bash
echo 'source ~/moveit_ws/devel/setup.bash' >> ~/.bashrc

6、MoveIt 快速入门在 RViz 中的使用

        开始使用MoveIt的最快方法是通过其RViz插件。Rviz是ROS中的主要可视化工具,也是调试机器人技术的非常有用的工具。MoveIt Rviz插件允许您设置虚拟环境(场景),以交互方式为机器人创建开始和目标状态,测试各种运动计划器以及可视化输出。

在使用以下演示时应保证自己已经完成了以上所有的安装步骤。

6.1、启动演示并配置插件

 1)启动演示:

roslaunch panda_moveit_config demo.launch rviz_tutorial:=true

2)如果您是第一次这样做,您应该在RViz中看到一个空世界,并且必须添加运动规划插件:

  • 您应该在 RViz 中看到一个空旷的世界:

  • 在“RViz 显示”选项卡中,按“Add”
  • 从moveit_ros_visualization文件夹中,选取“MotionPlanning”作为显示类型。然后按“OK”添加。

 

  • 现在应该在 RViz 中看到 Panda 机器人: 

  • 加载运动规划插件后,我们可以对其进行配置。在“Displays”子窗口的“Global Options”选项卡中,将“Fixed Frame”字段设置为/panda_link0
  • 现在,可以开始为机器人(在本例中为 Panda)配置插件。单击“Displays”中的“MotionPlanning”。
    • 确保“ Robot Description”字段设置为 robot_description
    • 确保“ Planning Scene Topic 字段设置为 /planning_scene
    •  Planning Request”中,将“Planning Group”更改为 panda_arm
    • “Planned Path”中,将“Trajectory Topic 更改为 /move_group/display_planned_path

 设置完成后如下图所示:

 6.2、玩可视化机器人

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

  1. 机器人在规划环境中的配置(默认处于活动状态)/planning scene
  2. 机器人的计划路径(默认处于活动状态)。
  3. 绿色:运动计划的开始状态(默认禁用)。
  4. 橙色:运动计划的目标状态(默认情况下处于活动状态)。

可以使用复选框打开和关闭每个可视化效果的显示状态:

  1. 使用“Scene Robot”选项卡中的“Show Robot Visual”复选框的规划scene robot。
  2. 使用“Planned Path”选项卡中的“Show Robot Visual ”复选框 。
  3. 使用“Planning Request”选项卡中的“Query Start State”复选框的启动状态。
  4. 使用“Planning Request”选项卡中的复选框的目标状态“Query Goal State”

  5. 使用所有这些复选框来打开和关闭不同的可视化效果。

 

6.3、与机械臂Panda互动

在接下来的步骤中,我们将只需要场景机器人,启动状态和目标状态:

  1. 选中“Planned Path”选项卡中的 Show Robot Visual对象”复选框
  2. 取消选中“ Scene Robot”选项卡中的显示“ Show Robot Visual ”对象复选框
  3. 选中“ Planning Request ”选项卡中的“ Query Goal State”复选框。
  4. 选中“Planning Request”选项卡中的“ Query Start State”复选框。

现在应该有两个交互式标记。一个对应于橙色手臂的标记将用于设置运动规划的“Goal State”,另一个对应于绿色手臂的标记用于设置运动计划的“Start State”。如果您没有看到交互式标记,请在 RViz 的顶部菜单中按Interact”(注意:某些工具可能被隐藏,请在顶部菜单中按“+”以添加Interact工具,如下所示)。

 现在应该能够使用这些标记来拖动手臂并更改其方向。试试吧!

进入碰撞

请注意,当您尝试将其中一只手臂与另一只手臂碰撞时会发生什么。发生冲突的两个链接将变为红色。

 在“MotionPlanning”选项卡下的 “Planning ”插件中找到的“Use Collision-Aware IK”复选框允许您切换 IK 求解器的行为。勾选该复选框后,求解器将继续尝试为所需的末端执行器姿势找到无碰撞解。如果未选中,求解器将允许在求解中发生冲突。无论复选框的状态如何,冲突中的链接仍将始终以红色显示。

移出可访问的工作空间

请注意,当您尝试将末端执行器移出其可访问的工作区时会发生什么情况。 

 

 以上便是对 Moveit 的使用的大致演示。

猜你喜欢

转载自blog.csdn.net/qq_57061492/article/details/126383270