ROS2与Gazebo11入门教程-向机器人添加抓手模型
说明:
- 介绍如何向机器人添加抓手模型
机器人的组成部分
- 启动Gazebo并确保可以加载前两个教程中创建的模型。
移动底盘
- 根据“制作移动机器人”教程中的说明,您应该有了一个可以使用的移动基础机器人:
- 对于本练习,请修改〜/.gazebo/models/my_robot/model.sdf以使该模型更大,以便可以容纳下将要添加到其上的抓手:
gedit ~/.gazebo/models/my_robot/model.sdf
- 更新该SDF文件的内容以使该模型身体更大并相应地重新放置各个轮子,如下所示:
<?xml version='1.0'?>
<sdf version='1.5'>
<model name="mobile_base">
<link name='chassis'>
<pose>0 0 .25 0 0 0</pose>
<inertial>
<mass>20.0</mass>
<pose>-0.1 0 -0.1 0 0 0</pose>
<inertia>
<ixx>0.5</ixx>
<iyy>1.0</iyy>
<izz>0.1</izz>
</inertia>
</inertial>
<collision name='collision'>
<geometry>
<box>
<size>2 1 0.3</size>
</box>
</geometry>
</collision>
<visual name='visual'>
<geometry>
<box>
<size>2 1 0.3</size>
</box>
</geometry>
</visual>
<collision name='caster_collision'>
<pose>-0.8 0 -0.125 0 0 0</pose>
<geometry>
<sphere>
<radius>.125</radius>
</sphere>
</geometry>
<surface>
<friction>
<ode>
<mu>0</mu>
<mu2>0</mu2>
</ode>
</friction>
</surface>
</collision>
<visual name='caster_visual'>
<pose>-0.8 0 -0.125 0 0 0</pose>
<geometry>
<sphere>
<radius>.125</radius>
</sphere>
</geometry>
</visual>
</link>
<link name="left_wheel">
<pose>0.8 0.6 0.125 0 1.5707 1.5707</pose>
<collision name="collision">
<geometry>
<cylinder>
<radius>.125</radius>
<length>.05</length>
</cylinder>
</geometry>
</collision>
<visual name="visual">
<geometry>
<cylinder>
<radius>.125</radius>
<length>.05</length>
</cylinder>
</geometry>
</visual>
</link>
<link name="right_wheel">
<pose>0.8 -0.6 0.125 0 1.5707 1.5707</pose>
<collision name="collision">
<geometry>
<cylinder>
<radius>.125</radius>
<length>.05</length>
</cylinder>
</geometry>
</collision>
<visual name="visual">
<geometry>
<cylinder>
<radius>.125</radius>
<length>.05</length>
</cylinder>
</geometry>
</visual>
</link>
<joint type="revolute" name="left_wheel_hinge">
<pose>0 0 -0.03 0 0 0</pose>
<child>left_wheel</child>
<parent>chassis</parent>
<axis>
<use_parent_model_frame>true</use_parent_model_frame>
<xyz>0 1 0</xyz>
</axis>
</joint>
<joint type="revolute" name="right_wheel_hinge">
<pose>0 0 0.03 0 0 0</pose>
<child>right_wheel</child>
<parent>chassis</parent>
<axis>
<use_parent_model_frame>true</use_parent_model_frame>
<xyz>0 1 0</xyz>
</axis>
</joint>
</model>
</sdf>
组装组合机器人
- 要创建一个添加了简单抓手的移动机器人,请先创建一个新的models目录,命令为:
mkdir ~/.gazebo/models/simple_mobile_manipulator
- 编辑该模型配置文件:
gedit ~/.gazebo/models/simple_mobile_manipulator/model.config
- 将以下内容填写到该模型配置文件中:
<?xml version="1.0"?>
<model>
<name>Simple Mobile Manipulator</name>
<version>1.0</version>
<sdf version='1.5'>manipulator.sdf</sdf>
<author>
<name>My Name</name>
<email>me@my.email</email>
</author>
<description>
My simple mobile manipulator
</description>
</model>
- 接着创建该模型的SDF文件:
gedit ~/.gazebo/models/simple_mobile_manipulator/manipulator.sdf
- 并将以下内容填写到该SDF文件中:
<?xml version="1.0" ?>
<sdf version="1.5">
<model name="simple_mobile_manipulator">
<include>
<uri>model://my_gripper</uri>
<pose>1.3 0 0.1 0 0 0</pose>
</include>
<include>
<uri>model://my_robot</uri>
<pose>0 0 0 0 0 0</pose>
</include>
<joint name="arm_gripper_joint" type="fixed">
<parent>mobile_base::chassis</parent>
<child>simple_gripper::riser</child>
</joint>
<!-- attach sensor to the gripper -->
<include>
<uri>model://hokuyo</uri>
<pose>1.3 0 0.3 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="fixed">
<child>hokuyo::link</child>
<parent>simple_gripper::palm</parent>
</joint>
</model>
</sdf>
- 确保上面的model.config和manipulator.sdf文件已保存,启动Gazebo,并通过在“Insert”选项卡中选择“简单移动机械手(Simple Mobile Manipulator)”模型来生成上述模型。这样您应该会看到如下图所示的机器人模型:
参考:
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号