此步骤本教程省略,可参考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
安装 MoveIt 的最简单方法是从预先构建的二进制文件 (Debian) 中安装:
sudo apt install ros-kinetic-moveit
如果想要使用源码安装请参考此链接:https://moveit.ros.org/install/source/
mkdir -p /moveit_ws/src
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
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
开始使用MoveIt的最快方法是通过其RViz插件。Rviz是ROS中的主要可视化工具,也是调试机器人技术的非常有用的工具。MoveIt Rviz插件允许您设置虚拟环境(场景),以交互方式为机器人创建开始和目标状态,测试各种运动计划器以及可视化输出。
在使用以下演示时应保证自己已经完成了以上所有的安装步骤。
1)启动演示:
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
2)如果您是第一次这样做,您应该在RViz中看到一个空世界,并且必须添加运动规划插件:
/panda_link0
robot_description
/planning_scene
panda_arm
/move_group/display_planned_path
设置完成后如下图所示:
有四种不同的重叠可视化效果:
/planning scene
可以使用复选框打开和关闭每个可视化效果的显示状态:
使用“Planning Request”选项卡中的复选框的目标状态“Query Goal State”。
使用所有这些复选框来打开和关闭不同的可视化效果。
在接下来的步骤中,我们将只需要场景机器人,启动状态和目标状态:
现在应该有两个交互式标记。一个对应于橙色手臂的标记将用于设置运动规划的“Goal State”,另一个对应于绿色手臂的标记用于设置运动计划的“Start State”。如果您没有看到交互式标记,请在 RViz 的顶部菜单中按“Interact”(注意:某些工具可能被隐藏,请在顶部菜单中按“+”以添加“Interact”工具,如下所示)。
现在应该能够使用这些标记来拖动手臂并更改其方向。试试吧!
请注意,当您尝试将其中一只手臂与另一只手臂碰撞时会发生什么。发生冲突的两个链接将变为红色。
在“MotionPlanning”选项卡下的 “Planning ”插件中找到的“Use Collision-Aware IK”复选框允许您切换 IK 求解器的行为。勾选该复选框后,求解器将继续尝试为所需的末端执行器姿势找到无碰撞解。如果未选中,求解器将允许在求解中发生冲突。无论复选框的状态如何,冲突中的链接仍将始终以红色显示。
请注意,当您尝试将末端执行器移出其可访问的工作区时会发生什么情况。
以上便是对 Moveit 的使用的大致演示。