这个系列主要介绍机器人ROS模型的建立方法,ROS系统带来的好处之一就是:
我们无需自己建立复杂的数学模型来描述自己的机器人几何尺寸、运动学和动力学等,只需要用它提供的模型描述方法即可实现快速建模。
ROS系统的模型描述方法主要有两种格式: URDF 和 XACRO。
URDF:用于描述一些简单的机器人模型,参考官网:URDF官方介绍(初学者一定要精读这些文档)。
XACRO:应用更普遍的机器人模型描述文件,参考官网:xacro,它有如下几个特点:
1.语法简练。采用编程话的脚本语言格式,可以定义变量、常量、引入数学表达式等,极易上手。
2.方便复用。它可以进行一系列的宏定义,并且可以包含其他.xacro文件。
下面,开始用xacro文件建立Rob的机器人模型。
1.第一部分是文件的头和一些宏定义
robot name我们可以自己随便定义,然后分别给出了几组颜色和常数的定义,最后给出了关节传动部分的宏定义。
< ?xml version="1.0"? >
< robot name="rob_robot" xmlns:xacro="http://ros.org/wiki/xacro" >
< !-- Include materials -- >
    < material name="Black" >
        < color rgba="0.0 0.0 0.0 1.0"/ >
    < /material >
    < material name="White" >
        < color rgba="1.0 1.0 1.0 1.0"/ >
    < /material >
常量的定义方法如下,在引用这里定义的常量的时候,用**{XX},例如在如果在下面的代码中想引用M_PI,只需要用:**{M_PI} 即可。
< !-- Constants -- >
 < property name="deg_to_rad" value="0.01745329251994329577"/ >
    < property name="M_PI" value="3.14159"/ >
关节的传动参数宏定义方法如下,xacro:macro name 定义了本宏的名称。
这个名称由用户定义,后续引用该宏的时候就是根据名字来的。
具体如何操作参考下文介绍或git上的源代码。
注意,这里宏定义内部的一些具体数值仅为说明而存在,具体的机器人关节应该是不一样的。
< !-- transmission block macro definition -- >
    < xacro:macro name="transmission_block" params="joint_name" >
      < transmission name="tran1" >
        < type >transmission_interface/SimpleTransmission< /type >
        < joint name="${joint_name}" >
          < hardwareInterface >PositionJointInterface< /hardwareInterface >
        < /joint >
        < actuator name="motor1" >
          < hardwareInterface >PositionJointInterface< /hardwareInterface >
          < mechanicalReduction >1< /mechanicalReduction >
        < /actuator >
      < /transmission >
    < /xacro:macro >
- 
                                机器人
                                +关注关注 211文章 28412浏览量 207031
- 
                                模型
                                +关注关注 1文章 3241浏览量 48831
- 
                                ROS
                                +关注关注 1文章 278浏览量 17006
发布评论请先 登录
相关推荐
Al大模型机器人
ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!
【ROS RIKIBOT基础--使用系列 第一章节】ROS机器人硬件系统 精选资料分享
最实用的STM32和ROS机器人的串口通信方案
【抢鲜体验】--- Tran***ot ROS教育机器人
【抢鲜体验】- Tran***ot ROS教育机器人
如何搭建实体机器人ros底盘
怎样将微型ROS移植到机器人的RA MCU中呢
ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!
ROS教程之如何构建ROS机器人模型URDF学习资料免费下载
 
    
 
           
        
 
         机器人的ROS模型建立
机器人的ROS模型建立 
  
            
             
             
                 
             工商网监
工商网监
        
评论