赞
踩
(1)创建功能包
功能包:urdf_gazebo
依赖:urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins
(2)文件夹准备
新建文件夹:urdf——新建文件
urdf文件写好之后,可以用check_urdf工具检查是否有语法错误,人工检查难以发现,可能会导致后续gazebo环境中无法正确显示。
检查命令:在终端进入urdf文件所在文件夹
check_urdf xxx.urdf(urdf文件名)
urdf代码示例:
<robot name="myrobot"> <link name="base_link"> <!-- 可视化部分 --> <visual> <geometry> <box size="0.5 0.3 0.1"/> </geometry> <origin xyz="0 0 0" rpy="0 0 0"/> <!-- 由于仿真中刚体不会透明,于是颜色在gazebo中不再生效,gazebo有特定的颜色设置 --> <material name="yellow"> <color rgba="0.5 0.5 0 0.8"/> </material> </visual> <!-- gezebo与rviz不同的部分:collision碰撞属性和inertial惯性矩阵 --> <!-- 1.碰撞参数collision:如果是标准几何体,直接复制isual中的geometry和origin即可 --> <collision> <geometry> <box size="0.5 0.3 0.1"/> </geometry> <origin xyz="0 0 0" rpy="0 0 0"/> </collision> <!-- 2.惯性矩阵inertial:需要公式计算,与重心和质量有关 --> <inertial> <!-- 设置重心偏移:质量密度均匀时就是000 --> <origin xyz="0 0 0"/> <!-- 标签mass设置质量 --> <mass value="2"/> <!-- 不同维度上的惯性参数:需要通过公式计算,否则仿真可能会出问题 --> <inertia ixx="1" ixy="0" ixz="0" iyy="1" iyz="0" izz="1"/> </inertial> </link> <!-- gazebo颜色设置(注意位置,设置在连杆标签外的) --> <gazebo reference="base_link"> <material>Gazebo/Red</material> </gazebo> </robot>
将urdf文件和gazebo启动集成到launch文件中
<launch>
<!-- 在参数服务器中载入urdf -->
<param name="robot_description" textfile="$(find urdf_gazebo)/urdf/helloworld.urdf"/>
<!-- 启动gazebo仿真环境 -->
<include file="$(find gazebo_ros)/launch/empty_world.launch"/>
<!-- 在gazebo中添加机器人模型 -->
<node pkg="gazebo_ros" type="spawn_model" name="spawn_model" args="-urdf -model car -param robot_description"/>
</launch>
终端中source,并roslaunch打开launch文件即可在gazebo中看到效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。