最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

ROS探索总结(60)– 古月私房课 | 如何从零创建一个机器人模型

ROS1/一代机器人系统 少儿编程 2065浏览 0评论
ROS探索总结

友情提示:380元/半年,儿童学编程,就上码丁实验室

本文转载自古月居,原作者古月,原文链接:https://www.guyuehome.com/2697。

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

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

ROS探索总结(六十二)—— 古月私房课 | 如何从零创建一个机器人模型

更多内容欢迎关注:

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

新浪微博:古月春旭

知乎专栏:古月居

您必须 登录 才能发表评论!