gazebo创建机器人模型04

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>

运行该文件前,需要先运行 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>

将该文件集成到 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>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值