当前位置:   article > 正文

ROS:URDF集成Gazebo的基本流程_ros如何在gazebo中加载urdf

ros如何在gazebo中加载urdf

URDF集成Gazebo的基本流程

(1)创建功能包

功能包:urdf_gazebo

依赖:urdf xacro gazebo_ros gazebo_ros_control gazebo_plugins

(2)文件夹准备

新建文件夹:urdf——新建文件

urdf文件写好之后,可以用check_urdf工具检查是否有语法错误,人工检查难以发现,可能会导致后续gazebo环境中无法正确显示。

检查命令:在终端进入urdf文件所在文件夹

check_urdf xxx.urdf(urdf文件名)
  • 1

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

将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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

终端中source,并roslaunch打开launch文件即可在gazebo中看到效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/979029
推荐阅读
相关标签
  

闽ICP备14008679号