MoveIt 机械臂运动 学习 01-MoveIt 初次见面

ROS中有针对机器人进行移动操作的一套工具——MoveIt!。在主页http://moveit.ros.org 上
包含使用MoveIt!的文档、教程、安装说明以及多种机械臂(或机器人)的示例演示,如一些
移动操作任务,包括抓握、拾取和放置,或简单的逆向运动学的运动规划。

这个库包含一个快速的逆运动学解算器(作为运动规划单元的一部分)、先进的操作算
法、三维感知抓握(通常以点云的形式)、运动学、控制和导航等功能。除了后台功能,它还
提供了一个易于使用的图形用户界面(GUI)通过MoveIt!和rviz插件配置新的机械臂,使用户
能以直观的方式进行运动规划任务的开发。

MoveIt!体系结构

MoveIt!的体系结构如图1所示,内容摘自官方文档的概念部分(http://moveit.ros.org/
documentation/concepts/ )。在这里,我们简要介绍主要概念。若想安装MoveIt!,只需要运行这个命令:

sudo apt-get install ros-hydro-moveit-full

另外,也可以通过在它相应的工作空间运行下面的命令来安装本章附带代码的所有依赖

rosdep install --from-paths src -iy

MoveIt!的体系结构框图

MoveIt 机械臂运动 学习 01-MoveIt 初次见面_第1张图片

体系结构的中心是move_group单元。其主要思想是,首先需要定义由关节和其他元件构成
的群组(group),然后使用运动规划算法执行移动操作。这类算法考虑与物体交互的场景以及
该群组关节的特性。

群组使用标准的ROS工具和定义语言进行定义,如YAML、URDF和SDF等。简而言之,我
们必须对关节进行定义,它们是一个群组的部分并包含关节约束。同样,可定义末端执行器的
工具,如一个夹持器和感知传感器。机器人必须开放JointTrajectoryAction控制器,从而使运动
规划的输出可以在机器人的硬件(或仿真器)规划执行。为了监控执行情况,需要通过机器人状态发布者发布/joint_states所有内容都由ROS控制并由特定传感器驱动发布

需要注意的是MoveIt!提供了一个图形用户界面向导去定义给定的机器人关节群组,可以通过下面的命令直接调用:

roslaunch moveit setup assistant setup assistant.launch

当move_group配置正确后,就可以和它连接通信。MoveIt!提供了C++和Python的应用程
序接口(API)以及一个无缝集成的rviz插件来实现此功能,使我们可以向机器人发送运动目
标,规划任务并发送给机器人执行等,如下图所示:

MoveIt 机械臂运动 学习 01-MoveIt 初次见面_第2张图片

你可能感兴趣的:(机械臂,机器人,人工智能,机器人,人工智能)