ros2 基础学习 15- URDF:机器人建模方法

这篇具有很好参考价值的文章主要介绍了ros2 基础学习 15- URDF:机器人建模方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

URDF:机器人建模方法

ROS是机器人操作系统,当然要给机器人使用啦,不过在使用之前,还得让ROS认识下我们使用的机器人,如何把一个机器人介绍给ROS呢?

为此,ROS专门提供了一种机器人建模方法——URDF(Unified Robot Description Format,统一机器人描述格式),用来描述机器人外观、性能等各方面属性。

机器人的组成

建模描述机器人的过程中,我们自己需要先熟悉机器人的组成和参数,比如机器人一般是由硬件结构、驱动系统、传感器系统、控制系统四大部分组成,市面上一些常见的机器人,无论是移动机器人还是机械臂,我们都可以按照这四大组成部分进行分解。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真

  • 硬件结构 就是底盘、外壳、电机等实打实可以看到的设备;

  • 驱动系统 就是可以驱使这些设备正常使用的装置,比如电机的驱动器,电源管理系统等;

  • 传感系统 包括电机上的编码器、板载的IMU、安装的摄像头、雷达等等,便于机器人感知自己的状态和外部的环境;

  • 控制系统 就是我们开发过程的主要载体了,一般是树莓派、电脑等计算平台,以及里边的操作系统和应用软件。

机器人建模的过程,其实就是按照类似的思路,通过建模语言,把机器人每一个部分都描述清楚,再组合起来的过程。

URDF

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
ROS中的建模方法叫做URDF,全称是统一机器人描述格式,不仅可以清晰描述机器人自身的模型,还可以描述机器人的外部环境,比如这里的桌子,也可以算作一个模型。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真

URDF模型文件使用的是XML格式,右侧就是一个机器人的URDF描述,乍看上去,有点像网页开发的源代码,都是由一系列尖括号包围的标签和其中的属性组合而成。

如何使用这样一个文件描述机器人呢?比如这个机械臂,大家可以看下自己的手臂,我们的手臂是由大臂和小臂组成,他们独自是无法运动的,必须通过一个手肘关节连接之后,才能通过肌肉驱动,产生相对运动。

在建模中,大臂和小臂就类似机器人的这些独立的刚体部分,称为连杆Link,手肘就类似于机器人电机驱动部分,称为关节joint。

所以在URDF建模过程中,关键任务就是通过这里的和,理清楚每一个连杆和关节的描述信息。

连杆Link的描述

标签用来描述机器人某个刚体部分的外观和物理属性,外观包括尺寸、颜色、形状,物理属性包括质量、惯性矩阵、碰撞参数等。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
以这个机械臂连杆为例,它的link描述如下:

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
link标签中的name表示该连杆的名称,我们可以自定义,未来joint连接link的时候,会使用到这个名称。

link里边的部分用来描述机器人的外观,比如:

表示几何形状,里边使用调用了一个在三维软件中提前设计好的蓝色外观,就是这个stl文件,看上去和真实机器人是一致的

表示坐标系相对初始位置的偏移,分别是x、y、z方向上的平移,和roll、pitch、raw旋转,不需要偏移的话,就全为0。

第二个部分,描述碰撞参数,里边的内容似乎和一样,也有和,看似相同,其实区别还是比较大的。

部分重在描述机器人看上去的状态,也就是视觉效果;

部分则是描述机器人运动过程中的状态,比如机器人与外界如何接触算作碰撞。在这个机器人模型中,蓝色部分是通过来描述的。

在实际控制过程中,这样复杂的外观在计算碰撞检测时,要求的算力较高,为了简化计算,我们将碰撞检测用的模型简化为了绿色框的圆柱体,也就是里边描述的形状。

坐标系偏移也是类似,可以描述刚体质心的偏移。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
如果是移动机器人的话,link也可以用来描述小车的车体、轮子等部分。

关节Joint描述

机器人模型中的刚体最终要通过关节joint连接之后,才能产生相对运动。

URDF中的关节有六种运动类型。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
continuous,描述旋转运动,可以围绕某一个轴无限旋转,比如小车的轮子,就属于这种类型。

revolute,也是旋转关节,和continuous类型的区别在于不能无限旋转,而是带有角度限制,比如机械臂的两个连杆,就属于这种运动。

prismatic,是滑动关节,可以沿某一个轴平移,也带有位置的极限,一般直线电机就是这种运动方式。

fixed,固定关节,是唯一一种不允许运动的关节,不过使用还是比较频繁的,比如相机这个连杆,安装在机器人上,相对位置是不会变化的,此时使用的连接方式就是Fixed。

Floating是浮动关节,第六种planar是平面关节,这两种使用相对较少。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
在URDF模型中,每一个link都使用这样一段xml内容描述,比如关节的名字叫什么,运动类型是哪一种。

ros2 基础学习 15- URDF:机器人建模方法,ROS2,机器人,人工智能,机器人,人工智能,ros2,机器人仿真
parent标签:描述父连杆;

child标签:描述子连杆,子连杆会相对父连杆发生运动;

origin:表示两个连杆坐标系之间的关系,也就是图中红色的向量,可以理解为这两个连杆该如何安装到一起;

axis表示关节运动轴的单位向量,比如z等于1,就表示这个旋转运动是围绕z轴的正方向进行的;

limit就表示运动的一些限制了,比如最小位置,最大位置,和最大速度等。文章来源地址https://www.toymoban.com/news/detail-789883.html

到了这里,关于ros2 基础学习 15- URDF:机器人建模方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ROS】URDF:统一机器人描述格式(XML)

    统一机器人描述格式(URDF)是描述机器人模型的 XML 文件,支持Xacro(XML宏),使用Xacro来引用已经存在的XML块,创建更短且可读的XML文件。 URDF描述文件为XML格式,如下示例,定义机器人的常量。

    2024年02月09日
    浏览(37)
  • ROS学习笔记16:机器人系统建模与仿真

    一、概述: 1.机器人系统仿真:         是通过计算机对实体机器人系统进行模拟的技术,在 ROS 中,仿真实现涉及的内容主要有三:对机器人建模(URDF)、创建仿真环境(Gazebo)以及感知环境(Rviz)等系统性实现。 (1)仿真优势:低成本、高效、高安全性。 (2)仿真缺陷:仿

    2024年02月09日
    浏览(32)
  • 【ROS2机器人入门到实战】ROS2接口介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 本节小鱼将会带你学习认识一个新的概念,叫做interface,即接口。

    2024年02月05日
    浏览(35)
  • 【ROS2机器人入门到实战】ROS2话题入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 话题是ROS2中最常用的通信方式之一,话题通信采取的是订阅发布

    2024年02月04日
    浏览(46)
  • 【ROS2机器人入门到实战】ROS2服务入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,帅鱼又蹬蹬蹬的游回来了。本节小鱼将要带大家一起了解

    2024年02月07日
    浏览(43)
  • 【ROS2机器人入门到实战】ROS2节点介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn ROS2中每一个节点也是只负责一个单独的模块化的功能(比如一个

    2024年02月06日
    浏览(40)
  • 【ROS2机器人入门到实战】2.ROS与ROS2对比

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 经过上一节的学习,相信你已经对ROS和ROS2的发展有了一定的了解

    2024年02月04日
    浏览(30)
  • 【ROS2机器人入门到实战】3.动手安装ROS2

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 到了这一节,终于可以开始安装ROS2了。安装ROS2本来是一件比较麻

    2024年02月13日
    浏览(40)
  • 【ROS2机器人入门到实战】4.ROS2初体验

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 通过几个简单的小例子来体验ROS2软件库和工具集。 游戏内容:很

    2024年02月04日
    浏览(54)
  • 【ROS2机器人入门到实战】

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 第 1 章 ROS2介绍与安装 基础篇-Linux基础 1.Linux与Ubuntu系统介绍 2.在

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包