本文最后更新于:2022年5月29日 上午
1、创建机器人建模功能包
1
| catkin_create_pkg mbot_description urdf xacro
|
2、创建文件夹
urdf: 存放机器人模型的URDF或xacro文件
meshes:放置URDF中引用的模型渲染文件
launch:保存相关启动文件
config:保存rivz配置文件
3、mbot_base.urdf
在urdf文件夹下新建mbot_base.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
| <?xml version="1.0"?> <robot name="mbot"> <link name="base_link"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <cylinder length="0.005" radius="0.16"/> </geometry> <material name="yellow"> <color rgba="1 0.4 0 1"/> </material> </visual> </link> <link name="left_wheel_link"> <visual> <origin xyz="0 0 0" rpy="1.5707 0 0" /> <geometry> <cylinder radius="0.032" length="0.025" /> </geometry> <material name="white"> <color rgba="1 1 1 0.9" /> </material> </visual> </link> <joint name="left_wheel_joint" type="continuous"> <origin xyz="0.09 0.12 -0.01" rpy="0 0 0" /> <parent link="base_link" /> <child link="left_wheel_link" /> <axis xyz="0 1 0" /> </joint> <link name="right_wheel_link"> <visual> <origin xyz="0 0 0" rpy="1.5707 0 0" /> <geometry> <cylinder radius="0.032" length="0.025" /> </geometry> <material name="white"> <color rgba="1 1 1 0.9" /> </material> </visual> </link> <joint name="right_wheel_joint" type="continuous"> <origin xyz="0.09 -0.12 -0.01" rpy="0 0 0" /> <parent link="base_link" /> <child link="right_wheel_link" /> <axis xyz="0 1 0" /> </joint> <link name="back_caster_link"> <visual> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <sphere radius="0.022" /> </geometry> <material name="black"> <color rgba="0 0 0 0.95" /> </material> </visual> </link> <joint name="back_caster_joint" type="continuous"> <origin xyz="-0.12 0 -0.018" rpy="0 0 0" /> <parent link="base_link" /> <child link="back_caster_link" /> <axis xyz="0 1 0" /> </joint> <link name="laser_link"> <visual> <origin xyz="0 0 0 " rpy="0 0 0" /> <geometry> <cylinder length="0.05" radius="0.05" /> </geometry> <material name="black"/> </visual> </link> <joint name="laser_joint" type="fixed"> <origin xyz="0.08 0 0.03" rpy="0 0 0"/> <parent link="base_link"/> <child link="laser_link"/> </joint> </robot>
|
4、检查URDF模型整体结构
在urdf文件夹目录下执行命令:
1
| urdf_to_graphiz mbot_base_with_laser.urdf
|
生成的pdf文件就是你的urdf文件的结构。
5、新建启动文件
在launch文件夹下新建display_mbot_with_laser_urdf.launch启动文件,并输入一下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <launch> <param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_with_laser.urdf" /> <!-- 设置GUI参数,显示关节控制插件 --> <param name="use_gui" value="true"/> <!-- 运行joint_state_publisher节点,发布机器人的关节状态 --> <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /> <!-- 运行robot_state_publisher节点,发布tf --> <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /> <!-- 运行rviz可视化界面 --> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_with_laser_urdf.rviz" required="true" /> </launch>
|
6、查看机器人模型
运行launch文件,即可看到你的机器人模型
1
| roslaunch mbot_description display_mbot_with_laser_urdf.launch
|