< >
Home » ROS2与Gazebo11入门教程 » ROS2与Gazebo11入门教程-向机器人添加抓手模型

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)”模型来生成上述模型。这样您应该会看到如下图所示的机器人模型:

请输入图片描述

参考:

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2与gazebo11入门教程