MoveIt简介

MoveIt入门简介

文章目录

前言

MoveIt由ROS(机器人操作系统)中一系列移动操作的功能包组成,包含运动规划,操 作控制,3D感知,运动学,碰撞检测等等,是目前针对移动操作最先进的软件。 它提供了一个易于使用的平台,开发先进的机器人应用程序,评估新的机器人设计和建 筑集成的机器人产品。 并且它已经应用于工业、商业、研发和其他领域,是目前被使用最 广泛的开源操作软件。 此外,MoveIt提供了一系列成熟的插件和工具,可以实现机械臂控制的快速配置;并且 封装了大量API,方便用户在MoveIt!模块上进行二次开发,进而开发更多创意应用。

一、MoveIt的系统结构

MoveIt的系统结构大致可分为四部分,分别为:User Interface、move_group、ROS Param Server、外部机器人部件。

  1. User Interface:用户接口。用户可以通过以下三种方式的任意一种访问move_group 提供的操作和服务。
    ● C++,利用move_group_interface包可以方便使用move_group
    ● Python,利用MoveIt_commander包
    ● GUI(界面),利用Motion Planning的Rviz插件
  2. move_group:move_group是ROS节点。它使用ROS param服务器获取三种信息:
    ● URDF,move_group在ROS参数服务器上寻找robot_description参数,以获取机 器人的URDF。
    ● SRDF,move_group在ROS参数服务器上寻找robot_description_semantic参数, 以获取机器人的SRDF。
    ● MoveIt配置,move_group将在ROS参数服务器上查找MoveIt特定的其他配置, 包括关节极限,运动学,运动计划,感知和其他信息。
  3. ROS Param Server:ROS param服务器,为ROS节点提供URDF、SRDF、MoveIt配 置三种信息。
  4. 外部机器人部件:主要为三类器件,分别为Robot Sensors(机器人传感器)、Robot Sensors(机器人3D传感器)、Robot Controllers(机器人控制器)。

二、MoveIt的插件–RViz

1.RViz简介

RViz是ROS系统中的三维可视化平台,也是MoveIt的插件之一。这款插件,可以实现对 外部信息的图形化显示,还可以给监测对象发布控制信息。通过MoveIt的Rviz插件,用户可以设置虚拟环境(场景),以交互方式设置机器人的开 始及目标状态,测试各种运动规划算法,并进行视化输出。

2.RViz坐标系

坐标系是进行正、逆运动学分析比不可少的。

1、世界坐标系

世界坐标系 (World Coordinate System)是一个位于“地面”上的静止参考坐标系。它不会 随着时间的改变发生平移或旋转变化。

2、机械臂基坐标系

机械臂基坐标系简称基坐标系,一般定义在机械臂基座的位置上。 如果只有单个机械臂,那么默认在简单的应用场景,机械臂基坐标系与世界坐标系重合。 基坐标系的建立遵循右手定则。在下图的机械臂中,以底部舵机为原 点,红轴为X轴,绿轴为Y轴,蓝轴为Z轴。

3、关节坐标系

机械臂的本体有两个重要的组成部分,分别是旋转关节与连杆。那么,关节坐标系(Joint Coordinate System)顾名思义就是定义在关节上的坐标系。 同样,关节坐标系的建立也遵循右手定则。在下图机械臂模型关节中,以粉色锥体位置为原点,红轴为X轴,绿轴为Y轴,蓝轴为Z轴。 关节坐标系的数量并不固定,它主要和机械臂关节的数量相关。所以,大家在建立关节 坐标系时需要格外注意。

4、工具坐标系

在机械臂的末端一般都会安装相应的工具,从而满足不同工作的需要。机械臂自带的工具是机械爪。 那么,工具坐标系的一般定义方法就是以工具中心点 为原点,遵循右手定则,完成坐标系的建立。下图机械臂模型中,夹子的工具坐标系是以粉色锥体位置为原点,红轴为X 轴,绿轴为Y轴,蓝轴为Z轴

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年4月5日
下一篇 2023年4月5日

相关推荐