使用ROS中的urdf构建机器人小车的3D模型

本文介绍如何在ROS中使用urdf创建机器人3D模型。

准备工作

  1. 操作环境:AutolaborOS 下载安装教程
  2. 机器人3D模型:Autolabor 2.5 stl 文件 下载
使用ROS中的urdf构建机器人小车的3D模型_第1张图片

移动机器人小车3D模型的构建

  1. 介绍
  2. 创建硬件描述包
  3. 绘制机器人小车模型
  4. 建立urdf文件
  5. 建立launch文件命令
  6. 效果展示

1. 介绍

机器人的3D模型在ROS中是通过URDF文件实现,URDF(Unified Robot Description Format)就是描述机器人硬件尺寸布局的模型语言。它是同ROS通信的渠道,通过机器人的物理尺寸来配置机器人模型,ROS就可以有效的进行自主导航(Navagation)和碰撞检测(collision detect)了。

2. 创建硬件描述包

在ROS中,所有的ROS软件(包括我们创建的软件)都被组织成软件包的形式。因此,在工作空间catkin_ws/src/目录下通过catkin_create_pkg来创建硬件描述包:

$ catkin_create_pkg autolabor_description urdf

通过catkin_create_pkg创建了一个autolabor_description的包,该命令的最后一个参数是引入urdf库。

ROS中创建包详情请参考:http://wiki.ros.org/ROS/Tutorials/CreatingPackage

在新建的包中创建 urdf 和 launch 文件夹用于存储 *.urdf 和 *.launch 文件。可以在catkin_ws/src/目录下看到:

3. 绘制机器人小车的3D模型

(当然,这一步并不是必要的,你也可以通过配置urdf文件来得到小车的模型,详情参考第四步)
通过机器人小车的物理参数,使用3D制图软件绘制机器人小车的3D模型

使用ROS中的urdf构建机器人小车的3D模型_第2张图片

在autolabor_description包的目录下,新建meshes文件夹,将绘制的3D模型复制到在路径下

4. 建立urdf文件

在urdf文件夹下创建文件 autolabor_description.urdf文件,并将下列代码放在 autolabor_description.urdf文件中

如果绘制了3D模型,建立urdf文件

  
    
    
      
      
      
    
    
      
      
        
      
      
        
      
    
   
   

如果未绘制3D模型,通过配置urdf来得到模型,这里仅展示一个简单的example



  
    
      
        
    
    
    
        
    
    
 

 
    
      
        
      
      
        
      
    
  

  
    
    
    
    
    
    
  

  
    
      
        
      
      
        
      
    
  

  
    
    
    
    
    
    
 

 
    
      
        
      
      
        
      
    
  

  
    
    
    
    
    
    
  

  
    
      
        
      
      
        
      
    
  

  
    
    
    
    
    
    
  

  
    
      
        
      
      
          
      
    
  

  
    
    
    
  

其中配置解释如下:

对应模型的一个模块,可以通过标签joint让子模块与base_link进行关联;

描述一个link的外观,大小,颜色,材质纹理等;

定义该link的几何模型,包含该几何模型的尺寸,单位:米;

 矩形,定义属性:size(包含长宽高,数据用空格隔开);

  圆柱体,定义属性:length,radius;

  球体,定义属性:radius;

 定义颜色和透明度(RGBA),取值区间 [0,1] ;

 描述碰撞检测属性;

 用来描述模块的位置;

 定义惯性;

5.创建launch命令文件

*.launch文件的作用是:同时启动多个节点,使用roslaunch命令运行.launch文件中指定的节点。在launch文件夹中创建文件display.launch,并编辑,代码如下:


  
  

  
  

  
  
  

第一个输入参数 model 就是要启动的urdf文件路径。
第二个输入参数 gui 指定是否启用关节转动控制面板窗口。
两个参数表示:分别描述要启动的模型描述文件(urdf)和关节转到控制窗口(gui,对应各个joint)。
三个节点:分别用于发送joint的信息,robot的控制信息,和rviz的启动。至此,模型搭建完毕,启动模型进行测试。

6.效果展示

进入工作空间目录下,编译文件,使用roslaunch命令来启动它:

$ cd ~/catkin_ws/
$ source devel/setup.bash
$ catkin_make

$ roslaunch autolabor_description display.launch
使用ROS中的urdf构建机器人小车的3D模型_第3张图片

在启动rviz后,需要将上面标记的topic的参数改成上述图中,否则是无法观测到的,到此,就建立并启动了自己的机器人小车了

使用ROS中的urdf构建机器人小车的3D模型_第4张图片
autolabor_urdf下载

你可能感兴趣的:(使用ROS中的urdf构建机器人小车的3D模型)