ROS探索总结-58.如何从零创建一个机器人模型
ROS探索总结-58.如何从零创建一个机器人模型
说明:
- 本章开始介绍如何从零创建一个机器人模型
正文
- 本讲我们将从以下三个部分进行讲解。
- 首先给大家介绍ROS中URDF建模的原理。
- 在建模之前,我们需要了解机器人的组成结构,从控制角度来讲,机器人由控制系统、驱动系统、执行机构和传感系统组成。
- 我们可以把机器人想象成人,那么这四个部分就对应于人的大脑、肌肉、手脚和感官,可以组成一个闭环系统,机器人建模其实就是针对这四个部分进行的。
- URDF是一种标准机器人描述文件格式,使用XML文件描述机器人连杆(link)和关节(joint)之间的关系,而且URDF还可以用来描述除机器人以外的模型,比如下图中的桌子。
- link描述机器人某个刚体部分的外观和物理属性,主要包含外观形态、碰撞属性和惯性矩阵三个部分
- joint描述两个link之间的相对运动关系,一共有6种运动类型,我们常用的是旋转和滑动这两种。
- 多个link和joint都需要包含在robot顶层标签中,其中会涉及大量参数的配置和重复模块的使用,这就需要URDF提供一种更加友好的建模方式。
- xcaro文件就是URDF模型解析的进化版本,加入了很多程序化的建模方式。
- 比如常量的定义,类似于C程序中的宏定义,可以预先定义好建模过程中需要使用的参数,便于修改。
- 我们还可以在URDF中进行数学运算。
- 还有宏定义的功能,将重复使用的模块单独提取出来,可多次复用,就像C程序中的函数一样。
- 在第二个部分,我们会以一个简单的六轴机器人为例,介绍如何手写一个URDF机械臂模型出来。
- 在模型当中,需要包含以下几个部分,重点还是在link和joint的配置上。
- 模型创建成功后,就需要在rviz中显示出来,检查是否和我们预想的形态一致。
- 以下就是我们创建成功的六轴机器人模型,还可以通过tf工具清晰的看到各关节的坐标系动态变化。
- 以上主要是让大家熟悉URDF模型语法,在真实场景中,我们使用的机器人模型一般都是比价复杂的。
- 这里我们以UR3为例,介绍如何将Solidworks当中的机器人模型转换成URDF格式,需要用到一个小插件——sw_urdf_exporter。
- 带入模型之后先使用插件对link和joint做一些配置。
- 确认配置后,就可以导出URDF模型的功能包了。
- 将功能包放到ROS环境中,会发现自动导出插件的一些小bugs,简单修复后,就可以看到机器人模型啦。
- 以上就是本讲的内容概要,详细配置过程和操作视频请见具体课程视频。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号