~欢迎关注~

微信公众号:古月居

新浪微博:古月春旭

知乎专栏:古月居

原文链接:古月私房课 | 如何从零创建一个机器人模型

 

大家好,这里是《ROS机械臂开发:从入门到实战》的第三讲——如何从零创建一个机器人模型,我是主讲人胡春旭。

幻灯片1

本讲我们将从以下三个部分进行讲解。

幻灯片2

首先给大家介绍ROS中URDF建模的原理。

幻灯片3

在建模之前,我们需要了解机器人的组成结构,从控制角度来讲,机器人由控制系统、驱动系统、执行机构和传感系统组成。

幻灯片4

我们可以把机器人想象成人,那么这四个部分就对应于人的大脑、肌肉、手脚和感官,可以组成一个闭环系统,机器人建模其实就是针对这四个部分进行的。

幻灯片5

URDF是一种标准机器人描述文件格式,使用XML文件描述机器人连杆(link)和关节(joint)之间的关系,而且URDF还可以用来描述除机器人以外的模型,比如下图中的桌子。

幻灯片6

link描述机器人某个刚体部分的外观和物理属性,主要包含外观形态、碰撞属性和惯性矩阵三个部分。

幻灯片7

joint描述两个link之间的相对运动关系,一共有6种运动类型,我们常用的是旋转和滑动这两种。

幻灯片8

多个link和joint都需要包含在robot顶层标签中,其中会涉及大量参数的配置和重复模块的使用,这就需要URDF提供一种更加友好的建模方式。

幻灯片9

xcaro文件就是URDF模型解析的进化版本,加入了很多程序化的建模方式。

幻灯片10

比如常量的定义,类似于C程序中的宏定义,可以预先定义好建模过程中需要使用的参数,便于修改。

幻灯片11

我们还可以在URDF中进行数学运算。

幻灯片12

还有宏定义的功能,将重复使用的模块单独提取出来,可多次复用,就像C程序中的函数一样。

幻灯片13

在第二个部分,我们会以一个简单的六轴机器人为例,介绍如何手写一个URDF机械臂模型出来。

幻灯片15

在模型当中,需要包含以下几个部分,重点还是在link和joint的配置上。

幻灯片16

模型创建成功后,就需要在rviz中显示出来,检查是否和我们预想的形态一致。

幻灯片17

以下就是我们创建成功的六轴机器人模型,还可以通过tf工具清晰的看到各关节的坐标系动态变化。

幻灯片18

以上主要是让大家熟悉URDF模型语法,在真实场景中,我们使用的机器人模型一般都是比价复杂的。

幻灯片19

这里我们以UR3为例,介绍如何将Solidworks当中的机器人模型转换成URDF格式,需要用到一个小插件——sw_urdf_exporter。

幻灯片20

带入模型之后先使用插件对link和joint做一些配置。

幻灯片21

确认配置后,就可以导出URDF模型的功能包了。

幻灯片22

将功能包放到ROS环境中,会发现自动导出插件的一些小bugs,简单修复后,就可以看到机器人模型啦。

幻灯片23

以上就是本讲的内容概要,详细配置过程和操作视频请见具体课程视频。

幻灯片24

更多精彩,欢迎大家关注“古月居”。

幻灯片27

 

更多内容欢迎关注:

微信公众号:古月居 (guyue_home)

新浪微博:古月春旭

知乎专栏:古月居