参考文献
gazebo有关这方面的官方教程地址
http://gazebosim.org/tutorials?tut=ros_roslaunch&cat=connect_ros#URDFExamplewithBaxter
关键内容
我总结一下,就是通过一个小的python脚本
gazebo_ros包中的 spawn_model 其中里面有各种参数
<param name="robot_description1" command="$(find xacro)/xacro '$(find my_ball)/urdf/turtlebot3_burger.urdf.xacro'" />
<node pkg="gazebo_ros" type="spawn_model" name="urdf_spawner1" respawn="false" output="screen"
args="-urdf -model turtlebot3_burger -z 0.285 -x 2.0 -y 2.0 -param robot_description1"/>
参数解释 (重要)
robot_description1 可以看作一个参数,command里的值是这个robot_description1的值。
第二句调用gazebo_ros包里的spawn_model脚本,这个脚本以一个ros节点运行,因为要运行2个节点,节点的名字不能一样,所以用name=“urdf_spawner1"为节点重命名。
重要的是 args=”-urdf -model turtlebot3_burger -z 0.285 -x 2.0 -y 2.0 -param robot_description1"
这个args是向gazebo_ros包里的spawn_model脚本发送参数的
-urdf表示加载的是urdf文件。
-model表示为模型的命名 ,后面接一个参数表示模型的名字
-x -y -z表是模型的位置
-param表示urdf文件 文件是robot_description1里的值
我的代码与结果
下面是我的launch文件与图片
<?xml version="1.0" ?>
<launch>