当前位置:   article > 正文

gazebo创建机器人模型04_gazebo怎么修改link名字

gazebo怎么修改link名字

gazebo创建机器人模型04

1.Rviz 查看里程计消息

在 Gzebo 仿真环境中,机器人的里程计信息以及运动朝向等信息是无法获取的,可以通过 Rviz 显示机器人的里程计信息以及运动朝向
里程计:机器人相对出发坐标点的位姿状态( X 坐标Y 坐标 Z坐标以及朝向)。

1.1 代码实现

编写一个 launch 文件,demo04_sensor.launch

<launch>

    <!-- 添加点云坐标系到 kinect 连杆坐标系的变换 -->
    <node pkg="tf2_ros" type="static_transform_publisher" name="static_transform_publisher" args="0 0 0 -1.57 0 -1.57 /support /support_depth" />

    <!-- 启动 rviz -->
    <node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz" />

    <!-- 
        只有上述两条语句:
            表现:摄像头显示位置与颜色异常
            提示:No transform from [camera] to [base_link] 缺少 camera_link 到 base_link 的坐标变换
            原因:rviz 中显示 urdf 时,必须发布不同部件间的坐标关系
            解决:ros中提供了关于机器人模型显示的坐标发布相关节点(两个)
     -->
     <!-- 关节状态发布节点 -->
    <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" />
    <!-- 机器人状态发布节点 -->
    <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" />

</launch>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

运行该文件前,需要先运行 demo03_env.launch 将机器人模型加载出来
再运行:urdf02_gazebodemo04_sensor.launch文件,进行如下设置:
在这里插入图片描述

2.雷达仿真

实现流程:
1.已经创建完毕机器人模型,编写一个单独的xacro文件,为机器人添加雷达配置;
2.将此文件集成进 xacro 文件;
3.启动 Gazebo,使用 Rviz 显示雷达信息。

2.1雷达仿真

在 gazebo 文件夹下新建 laser.xacro文件
修改 gazebo reference ,看一下自己雷达的 link 名字是什么,然后修改 frameName,改成和自己雷达 link 一样的名字。

<robot name="my_sensors" xmlns:xacro="http://wiki.ros.org/xacro">

  <!-- 雷达 -->
  <gazebo reference="laser">
    <sensor type="ray" name="rplidar">
      <pose>0 0 0 0 0 0</pose>
      <visualize>true</visualize>
      <update_rate>5.5</update_rate>
      <ray>
        <scan>
          <horizontal>
            <samples>360</samples>
            <resolution>1</resolution>
            <min_angle>-3</min_angle>
            <max_angle>3</max_angle>
          </horizontal>
        </scan>
        <range>
          <min>0.10</min>
          <max>30.0</max>
          <resolution>0.01</resolution>
        </range>
        <noise>
          <type>gaussian</type>
          <mean>0.0</mean>
          <stddev>0.01</stddev>
        </noise>
      </ray>
      <plugin name="gazebo_rplidar" filename="libgazebo_ros_laser.so">
        <topicName>/scan</topicName>
        <frameName>laser</frameName>
      </plugin>
    </sensor>
  </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

将该文件集成到 car.urdf.xacro 中

<robot name="mycar" xmlns:xacro="http://www.ros.org/wiki/xacro">
    <!-- 包含惯性矩阵文件 -->
    <xacro:include filename="head.xacro" />
    <!-- 包含底盘、摄像头、雷达的 xacro 文件 -->
    <xacro:include filename="demo05_car_base.urdf.xacro" />
    <xacro:include filename="demo06_car_camera.urdf.xacro" />
    <xacro:include filename="demo07_car_laser.urdf.xacro" />

    <!-- 集成运动控制 -->
    <xacro:include filename="gazebo/move.xacro" />
    <!-- 雷达 -->
    <xacro:include filename="gazebo/laser.xacro" />
</robot>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

改完上述两处内容后,先运行 demo03_env.launch 将机器人模型加载出来。
再运行:urdf02_gazebodemo04_sensor.launch文件,即可将其启动。
进行如下修改:
在这里插入图片描述

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

闽ICP备14008679号