zoukankan      html  css  js  c++  java
  • 机器人系统仿真(十五)——雷达信息仿真以及显示

    参考视频:【奥特学园】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,添加雷达信息显示插件

     

     

  • 相关阅读:
    js··事件捕捉
    js中的Call()和apply()
    什么是变量提升?
    什么是作用域? 什么是作用域链?
    什么是原型链?
    js中this是什么?
    Js高级 事件冒泡
    Js高级 事件 对象
    Js高级 部分内容 面向对象
    工作期间的策划案总结(1)
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/15061093.html
Copyright © 2011-2022 走看看