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
- 确保“ Robot Description”字段设置为
设置完成后如下图所示:
6.2、玩可视化机器人
有四种不同的重叠可视化效果:
- 机器人在规划环境中的配置(默认处于活动状态)
/planning scene
- 机器人的计划路径(默认处于活动状态)。
- 绿色:运动计划的开始状态(默认禁用)。
- 橙色:运动计划的目标状态(默认情况下处于活动状态)。
可以使用复选框打开和关闭每个可视化效果的显示状态:
- 使用“Scene Robot”选项卡中的“Show Robot Visual”复选框的规划scene robot。
- 使用“Planned Path”选项卡中的“Show Robot Visual ”复选框 。
- 使用“Planning Request”选项卡中的“Query Start State”复选框的启动状态。
-
使用“Planning Request”选项卡中的复选框的目标状态“Query Goal State”。
-
使用所有这些复选框来打开和关闭不同的可视化效果。
6.3、与机械臂Panda互动
在接下来的步骤中,我们将只需要场景机器人,启动状态和目标状态:
- 选中“Planned Path”选项卡中的“ Show Robot Visual对象”复选框
- 取消选中“ Scene Robot”选项卡中的显示“ Show Robot Visual ”对象复选框
- 选中“ Planning Request ”选项卡中的“ Query Goal State”复选框。
- 选中“Planning Request”选项卡中的“ Query Start State”复选框。
现在应该有两个交互式标记。一个对应于橙色手臂的标记将用于设置运动规划的“Goal State”,另一个对应于绿色手臂的标记用于设置运动计划的“Start State”。如果您没有看到交互式标记,请在 RViz 的顶部菜单中按“Interact”(注意:某些工具可能被隐藏,请在顶部菜单中按“+”以添加“Interact”工具,如下所示)。
现在应该能够使用这些标记来拖动手臂并更改其方向。试试吧!
进入碰撞
请注意,当您尝试将其中一只手臂与另一只手臂碰撞时会发生什么。发生冲突的两个链接将变为红色。
在“MotionPlanning”选项卡下的 “Planning ”插件中找到的“Use Collision-Aware IK”复选框允许您切换 IK 求解器的行为。勾选该复选框后,求解器将继续尝试为所需的末端执行器姿势找到无碰撞解。如果未选中,求解器将允许在求解中发生冲突。无论复选框的状态如何,冲突中的链接仍将始终以红色显示。
移出可访问的工作空间
请注意,当您尝试将末端执行器移出其可访问的工作区时会发生什么情况。
以上便是对 Moveit 的使用的大致演示。