• 机器人系统仿真(十五)——雷达信息仿真以及显示


    参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili

    参考文档:http://www.autolabor.com.cn/book/ROSTutorials/

    通过 Gazebo 模拟激光雷达传感器,并在 Rviz 中显示激光数据。

    实现流程:

    雷达仿真基本流程:

    1. 已经创建完毕的机器人模型,编写一个单独的 xacro 文件,为机器人模型添加雷达配置;

    2. 将此文件集成进xacro文件;

    3. 启动 Gazebo,使用 Rviz 显示雷达信息。

    1.Gazebo 仿真雷达

    在 urdf/gazebo 下新建 laser.xacro 

    1.2 xacro 文件集成

    更新 car.urdf.xacro

    <robot name="my_base" 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 新建 Xacro 文件,配置雷达传感器信息

    <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>

    启动两个 launch 文件

    cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
    cys@ubuntu:~/demo05_ws$ roslaunch urdf02_gazebo demo03_env.launch 
    cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
    cys@ubuntu:~/demo05_ws$ roslaunch urdf02_gazebo demo04_sensor.launch 

    2.Rviz 显示雷达数据

    先启动 rviz,添加雷达信息显示插件

     

     

  • 相关阅读:
    Docker容器操作
    Docker的镜像操作
    CentOs安装Docker
    超长字符串
    编程之美-2.11 扩展 寻找距离最远的两个点
    编程之美-2.8 找到符合条件的整数
    编程之美-2.4 1的数目
    编程之美-1.16 24点游戏
    logistic回归 c++ 实现
    朴素贝页斯分类法 c++实现
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/15061093.html
Copyright © 2020-2023  润新知