码迷,mamicode.com
首页 > 其他好文 > 详细

ros模型建立——urdf

时间:2020-05-29 11:50:51      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:mode   创建   parent   机器   robot   cti   width   lower   esc   

首先创建软件包来存储机器人模型

catkin_create_pkg mastering_ros_robot_description_pkg  roscpp  tf  geometry_msgs  urdf  rviz  xacro

安装为安装的软件包

1 sudo apt install ros-melodic-urdf
2 sudo apt install ros-melodic-sacro
sudo apt install liburdfdom-tools
sudo apt install ros-melodic-joint-state-publisher-gui

 

melodic为ros版本下载时改为自己对应版本即可

 

然后创建一个urdf模型

 1 <?xml version="1.0"?>
 2 <robot name="pan_tilt">
 3 
 4   <link name="base_link">
 5 
 6     <visual>
 7       <geometry>
 8     <cylinder length="0.01" radius="0.2"/>
 9       </geometry>
10       <origin rpy="0 0 0" xyz="0 0 0"/>
11       <material name="yellow">
12         <color rgba="1 1 0 1"/>
13       </material>
14     </visual>
15 
16     <collision>
17       <geometry>
18     <cylinder length="0.03" radius="0.2"/>
19       </geometry>
20       <origin rpy="0 0 0" xyz="0 0 0"/>
21     </collision>
22     <inertial>
23     <mass value="1"/>
24     <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
25     </inertial>
26   </link>
27 
28   <joint name="pan_joint" type="revolute">
29     <parent link="base_link"/>
30     <child link="pan_link"/>
31     <origin xyz="0 0 0.1"/>
32     <axis xyz="0 0 1" />
33     <limit effort="300" velocity="0.1" lower="-3.14" upper="3.14"/>
34     <dynamics damping="50" friction="1"/>
35   </joint>
36 
37   <link name="pan_link">
38     <visual>
39       <geometry>
40     <cylinder length="0.4" radius="0.04"/>
41       </geometry>
42       <origin rpy="0 0 0" xyz="0 0 0.09"/>
43       <material name="red">
44         <color rgba="0 0 1 1"/>
45       </material>
46     </visual>
47     <collision>
48       <geometry>
49     <cylinder length="0.4" radius="0.06"/>
50       </geometry>
51       <origin rpy="0 0 0" xyz="0 0 0.09"/>
52     </collision>
53     <inertial>
54     <mass value="1"/>
55     <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
56     </inertial>
57   </link>
58 
59   <joint name="tilt_joint" type="revolute">
60     <parent link="pan_link"/>
61     <child link="tilt_link"/>
62     <origin xyz="0 0 0.2"/>
63     <axis xyz="0 1 0" />
64     <limit effort="300" velocity="0.1" lower="-4.64" upper="-1.5"/>
65     <dynamics damping="50" friction="1"/>
66   </joint>
67 
68   <link name="tilt_link">
69     <visual>
70       <geometry>
71     <cylinder length="0.4" radius="0.04"/>
72       </geometry>
73       <origin rpy="0 1.5 0" xyz="0 0 0"/>
74       <material name="green">
75         <color rgba="1 0 0 1"/>
76       </material>
77     </visual>
78     <collision>
79       <geometry>
80     <cylinder length="0.4" radius="0.06"/>
81       </geometry>
82       <origin rpy="0 1.5 0" xyz="0 0 0"/>
83     </collision>
84     <inertial>
85     <mass value="1"/>
86     <inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
87     </inertial>
88 
89   </link>
90 
91 
92 </robot>

注意在在</robot> 后面不能有换行  否则可能出错

标签<link>即为连杆  <joint>为关节  <visual>描述连杆的可见外观

 

使用命令可以检查urdf是否包含错误

check_urdf  pan_tilt.urdf

以下即为成功

 pan_tilt.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  

 

 

然后可以在rviz上查看

创建一个view_demo.launch启动文件

 1 <launch>
 2   <arg name="model" />
 3   <param name="robot_description" textfile="$(find mastering_ros_robot_description_pkg)/urdf/pan_tilt.urdf" />
 4   <param name="use_gui" value="true"/>
 5 
 6   <node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" />
 7   <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
 8   <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mastering_ros_robot_description_pkg)/urdf.rviz" required="true" />
 9 
10 </launch>

 

然后启动模型

roscore
roslaunch mastering_ros_robot_description_pkg view_demo.launch

出现的WARN 可以忽略

然后出现下图

技术图片

 

 在map那里选择base_link

然后Add添加RobotModel就可以显示模型

技术图片

 

ros模型建立——urdf

标签:mode   创建   parent   机器   robot   cti   width   lower   esc   

原文地址:https://www.cnblogs.com/miaorn/p/12986576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!