实践内容:
1、运用urdf建模
实现案例中的机器人。
2、根据以上掌握的方法,再快速创建一个机器人模型。
成果图:
![9125154-5f2a85b2a2c84c08.png](https://i-blog.csdnimg.cn/blog_migrate/83b8a606967aebae4a2e376a91762a36.webp?x-image-process=image/format,png)
成果图
创建需要用到的功能包以及各种文件夹:
![9125154-0489860f0269bd6a.png](https://i-blog.csdnimg.cn/blog_migrate/98563d90216b1ab912b7503b44412022.webp?x-image-process=image/format,png)
![9125154-5ad5b5fe9bedd0f3.png](https://i-blog.csdnimg.cn/blog_migrate/ef1e44b80f84cfa719ba2b92d805128a.webp?x-image-process=image/format,png)
Build跟devel两个文件夹在catkin_make之后会自动生成:
![9125154-0e737dd9e9ae7c2e.png](https://i-blog.csdnimg.cn/blog_migrate/b124020fa1381381b188bff0bb2f759f.webp?x-image-process=image/format,png)
编写launch文件:
![9125154-3abfb347117f60f4.png](https://i-blog.csdnimg.cn/blog_migrate/11548bed0435f40eede190378a5e1428.webp?x-image-process=image/format,png)
添加左轮:
![9125154-69018e4ffb65d539.png](https://i-blog.csdnimg.cn/blog_migrate/df4a58b3872afb9225e5e81862b438c3.webp?x-image-process=image/format,png)
编译:
![9125154-03874cc24a381f07.png](https://i-blog.csdnimg.cn/blog_migrate/61521ba819cd47e486fce265ac221bd8.webp?x-image-process=image/format,png)
启动:
roslaunch mbot_description display_mbot_base_urdf.launch
![9125154-d9530df46bf14ae2.png](https://i-blog.csdnimg.cn/blog_migrate/d5b2290a80f7facb3c657974ab906fd9.webp?x-image-process=image/format,png)
效果:
(当然打开之后需要进行下面一番骚操作先——设置好RobotModel)
![9125154-726100494cd9b25a.png](https://i-blog.csdnimg.cn/blog_migrate/3598c40d068790d56e5a1404412b067a.webp?x-image-process=image/format,png)
拖动滑动条控制轮子转动:
![9125154-f42f8b3a71643ee2.png](https://i-blog.csdnimg.cn/blog_migrate/8e8b52c3c5770a1d4b9ba862695013e2.webp?x-image-process=image/format,png)
添加右轮:
![9125154-6a08e57511abe80a.png](https://i-blog.csdnimg.cn/blog_migrate/35ea16df4a42449038ec2043fdc7737d.webp?x-image-process=image/format,png)
编译,启动,
![9125154-a7fa8009861e6947.png](https://i-blog.csdnimg.cn/blog_migrate/8f20bece990d3c50b855537831cada3a.webp?x-image-process=image/format,png)
效果如下:
![9125154-06218eed3fd0ef8d.png](https://i-blog.csdnimg.cn/blog_migrate/23a557728f20f826aba0ff32d260153c.webp?x-image-process=image/format,png)
使用球体创建前后支撑轮:
![9125154-4ae334b6000781a9.png](https://i-blog.csdnimg.cn/blog_migrate/cdeebd1a069016be5a34264ec985e5b1.webp?x-image-process=image/format,png)
编译,启动,效果如下:
![9125154-47af76849ae9d19a.png](https://i-blog.csdnimg.cn/blog_migrate/e87671222b5fb5b298350b1f6eafacbe.webp?x-image-process=image/format,png)
创建一个自己的机器人模型:
代码:
<?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.06" radius="0.20"/>
</geometry>
<material name="yellow">
<color rgba="1 0.4 0 1"/>
</material>
</visual>
</link>
<joint name="left_wheel_joint" type="continuous">
<origin xyz="0 0.19 -0.05" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="left_wheel_link"/>
<axis xyz="0 1 0"/>
</joint>
<link name="left_wheel_link">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.03" 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 -0.19 -0.05" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="right_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.03" length = "0.025"/>
</geometry>
<material name="white">
<color rgba="1 1 1 0.9"/>
</material>
</visual>
</link>
<joint name="front_caster_joint" type="continuous">
<origin xyz="0.18 0 -0.045" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="front_caster_link"/>
<axis xyz="0 1 0"/>
</joint>
<link name="front_caster_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<sphere radius="0.03" />
</geometry>
<material name="black">
<color rgba="0 0 0 0.95"/>
</material>
</visual>
</link>
<joint name="back_caster_joint" type="continuous">
<origin xyz="-0.18 0 -0.045" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="back_caster_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.03" />
</geometry>
<material name="black">
<color rgba="0 0 0 0.95"/>
</material>
</visual>
</link>
</robot>
效果:
![9125154-4a9abf75472cc220.png](https://i-blog.csdnimg.cn/blog_migrate/c46ebd2d61112d2c3bab2e8542da8631.webp?x-image-process=image/format,png)