MoveIt教程6 - 机器人描述文件(II) SRDF

2019-07-10  本文已影响0人  Danny_a44d

SRDF


SRDF, 全称为Semantic Robot Description Format,是MoveIt针对控制机器人关节运动使用的一种机器人描述文件格式。它基于URDF对机器人的描述,对以下内容进行定义:

可以使用MoveIt提供的配置助手MoveIt Setup Assistant生成SDRF文件,前提是有一个完整的URDF文件。具体操作参考[MoveIt教程3](https://www.jianshu.com/p/16e0a4dd4b0c)


SDRF中具体定义了以下信息:

虚拟关节Virtual Joints

URDF中定义了机器人上真实存在的关节信息,SDRF中加入了虚拟关节的概念,可以添加非真实存在于机器人上的关节。通常,我们利用虚拟关节将机器人的根关节root joint和world坐标系关联起来。
例如:

被动关节Passive Joints

被动关节指的是不受直接控制的关节。例如移动底盘的从动轮。通过将此类关节添加为被动关节,让MoveIt在运动规划的时候知道这些关节是无法直接控制的。被动关节需要在SRDF中被另外定义出来。

规划组Planning Groups

规划组 Planning Groups, (有时叫JointGroup)是MoveIt中的一个核心概念。MoveIt中所有运动都是基于特定的规划组进行规划,每次规划只会控制该规划组包含的关节,而保持其余的关节不变。
一个规划组通常是由一系列joint和link组成,一般有以下几种定义方式:

末端执行器End-Effectors

MoveIt中加入了一类特殊的group - 末端执行器,区分于一般的规划组。可以将末端执行器(例如机械手、夹爪)的规划组定义成End-Effectors,通过固定关节fixed joint和手臂关联。需要注意的是,定义末端执行器规划组时,要保证和与之相关联的规划组没有共有的link。

自碰撞Self-Collisions

在MoveIt的配置助手MoveIt Setup Assistant中可以通过Default Self-Collision Matrix Generator来检测机器人的自碰撞。该工具会在所有link中搜索出以下几种情况:

符合这些情况的link在MoveIt运动规划的时候会跳过计算,这样可以大大减少运算时间。

姿态Robot Poses

SRDF文件中可以定义一些姿态,给定名称(生成string id),方便程序中调用。最常见的是定义一个初始姿态 HOME


SRDF的语法和案例,参考http://wiki.ros.org/srdf

上一篇 下一篇

猜你喜欢

热点阅读