ROS中的3D机器人建模(二)

一,创建我们的第一个URDF模型

我们设计的第一个机器人模型是pan-and-tilt机械结构,代码如下 

pan_tilt.urdf:

 1 
 2 
 3 
 4   
 5 
 6     
 7       
 8     
 9       
10       
11       
12         
13       
14     
15 
16                                                                 
17       
18     
19       
20       
21     
22     
23     
24     
25     
26   
27 
28   
29     
30     
31     
32     
33     
34     
35   
36 
37   
38     
39       
40     
41       
42       
43       
44         
45       
46     
47     
48       
49     
50       
51       
52     
53     
54     
55      
56     
57   
58 
59   
60     
61     
62     
63     
64     
65     
66   
67 
68   
69     
70       
71     
72       
73       
74       
75         
76       
77     
78     
79       
80     
81       
82       
83                                                                
84     
85     
86     
87     
88 
89   
90 
91 
92             

 

详解URDF文件

标签定义了我们将要创建的机器人的名称。在这里,我们将机器人命名为pan_tilt.

如果我们查看标签定义之后的部分,我们可以看到pan-and-tilt机器结构中连杆和关节的定义:

  

    

   

  

  

  

      ="1 1 0 1"/>

   

 

前面的这段代码是pan-and-tilt机械结构的base_link的定义。标签描述了连杆的可见外观,它将在机器人仿真中显示出来。我们就可以用这个标签来定义连杆的几何形状(圆柱、立方体、球体、网络模型)以及连杆的材质(颜色和纹理)。

  

  

  

 

在前面的代码片段中,我们定义了一个具有唯一名称和关节类型的关节。在这里我们使用的关节类型是旋转关节(revolute),父连杆和子连杆分别是base_link和pan_link。在此标签内还指定了关节原点。

然后检查urdf是否包含错误,命令如下:

$ check_urdf pan_tilt.urdf

check_urdf命令将解析urdf标签并显示错误(如果有的话),如果一切正常,他将输出如下内容:

robot name is: pan_tilt
---------- Successfully Parsed XML ---------------
root Link: base_link has 1 child(ren)
    child(1):  pan_link
        child(1):  tilt_link

 如果我们想以图形化的方式查看机器人连杆和关节的结构,我们可以使用一个名为urdf_to_graphiz的命令行工具:

$ urdf_to_graphiz pan_tilt.urdf

这个命令将生成两个文件:pan_tilt.gv和pan_tilt.pdf.

我们可以使用以下命令来查看此机器人的结构:

$ evince pan_tilt.pdf

如图所示:

ROS中的3D机器人建模(二)_第1张图片

 

 

二,在RViz中可视化机器人3D模型

设计好URDF后,可以在RViz上查看它。我们可以创建一个view_demo.launch启动文件,代码如下:

 

 1                                                                    
 2   
 3   
 4   
 5 
 6   
 7   
 8   
 9 
10 
11 

 

 我们使用如下命令来启动模型:

$ roslaunch mastering_ros_robot_description_pkg view_demo.launch

如果一切正常,我们将在RViz中看到这个pan-and-tilt机械结构,如图所示

ROS中的3D机器人建模(二)_第2张图片

 

你可能感兴趣的:(ROS中的3D机器人建模(二))