首页 > 代码库 > 未完成_gazebo(三) URDF对象
未完成_gazebo(三) URDF对象
一. 在模拟器中添加一个自定义的urdf
1.开启一个新的空world
roslaunch gazebo_ros empty_world.launch
2.创建一个简单的box urdf
为目标创建一个urdf并保存为objects.urdf
<robot name="simple_box">
<link name="my_box">
<inertial>//惯性
<origin xyz="2 0 0" />//原点
<mass value=http://www.mamicode.com/"1.0" />//质量
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="100.0" iyz="0.0" izz="1.0" />
</inertial>
<visual>//视觉
<origin xyz="2 0 1"/>//原点
<geometry>//几何
<box size="1 1 2" />
</geometry>
</visual>
<collision>//碰撞
<origin xyz="2 0 1"/>//原点
<geometry>//几何
<box size="1 1 2" />
</geometry>
</collision>
</link>
<gazebo reference="my_box">
<material>Gazebo/Blue</material>
</gazebo>
</robot>
一级标签robot包含link和gazebo两个二级标签;
link又包括inertial,visual,collision三个三级标签,
inertial标签下有origin(原点),mass(质量)和inertia(惯性参数);
visual和collision标签下有origin和geometry两个小标签;
gazebo下只有一个material的小标签。
这段代码就是定义了各个标签的内容参数。
3.模拟器中生成模型
要在高度z = 1米处上方生成URDF对象,并将模拟中的模型名称分配为my_object。
rosrun gazebo spawn_model -file `pwd`/object.urdf -urdf -z 1 -model my_object
应该的运行结果:(可是我运行出错了)
出错:[rospack] Error: package ‘gazebo‘ not found(还未解决)
二. 在模拟器中添加其他的示例目标
一 些示例在https://bitbucket.org/osrf/simulator_gazebo/src /595f9360af4fa9e9fb4262623314ce947495c4db/gazebo_worlds/objects/?at=default 中被提供,例如你可以生成一个桌子通过以下语句:
roslaunch gazebo_worlds table.launch
简单看一下table.launch
<launch>
<!-- send table urdf to param server -->
<param name="table_description" command="$(find xacro)/xacro.py $(find gazebo_worlds)/objects/table.urdf.xacro" />
<!-- push table_description to factory and spawn robot in gazebo -->
<node name="spawn_table" pkg="gazebo" type="spawn_model" args="-urdf -param table_description -z 0.01 -model table_model" respawn="false" output="screen" />
</launch>
类似的,添加一个coffee杯子到桌面上
roslaunch gazebo_worlds coffee_cup.launch
未完成_gazebo(三) URDF对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。