ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据

Gazebo中的plugins很多类型,world、model、sensor、system、visual、GUI。本篇主要利用gazebo中自带的32线velodyne,说明如何通过plugin构建ROS和Gazebo之间的连接。刚开始接触这部分内容可以参照以下链接内容:

  • Overview of Gazebo Plugins:http://gazebosim.org/tutorials/?tut=plugins_hello_world

主要介绍plugin的作用以及如何写一个hello world的自定义plugin

  • Gazebo与ROS集成概述:http://gazebosim.org/tutorials?tut=ros_overview&cat=connect_ros

主要介绍Gazebo与ROS之间如何进行连接交互

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第1张图片


1.首先在Gazebo中通过模型数据库加载一个velodyne_hdl32雷达,并保存,模型默认的保存路径home/.gazebo/model。

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第2张图片


2.当前状态下可以在Gazebo下看到雷达的话题,并且可是通过Gazebo自带的可视化工具进行数据观测。但是我们输出ROStopic时,并没有雷达的话题。这正是说明了Gazebo与ROS之间并没有实现连接。

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第3张图片

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第4张图片


3.为了能够实现Gazebo与ROS的连接,就需要利用velodyne的plugin。下载地址:http://wiki.ros.org/velodyne_gazebo_plugins。 需要说明的是,下载的包还是cpp的源码,需要编译生成.so文件,参照那个hello world的plugin,不再细说了。下面的截图就是GazeboRosVelodyneLaser.cpp的部分截图,以此说明plugin是如何应用的。 截图中的“frameName"、"topicName"等就是我们可以在sdf描述文件中插入这个plugin时可以自定义的一些参数名。这个plugin源码就完成了话题、数据等的转换并在ROS中发布。

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第5张图片

**这个plugin其实在安装ros的时候,已经生成了,在opt/ros/melodic/lib下,这里面的.so都是比较常用的,可以直接使用。上述只是为了说明plugin建立的这个过程 


4.编译完成上面的plugin源码后,就可以修改我们第一部加载的sdf雷达模型描述文件,添加plugin。 plugin name是我们给这个plugin的一个命名,filename即上一步编译生成的.so可执行文件,文件路径为:build/devel/lib。中间就是我们可以参照cpp源码进行自定义的话题坐标等名称。这样就完成了一个plugin的插入。在此打开仿真之前的雷达模型,查看ROS话题数据,就会出现我们定义的话题。

      
        0 0 -0.004645 1.5707 0 0
        true
        30
        
          
            gaussian
            0.0
            0.1
          

          
            
              32
              1
              -0.53529248
              0.18622663
            
          

          
            0.1
            70
            0.02
          
        

        
	  base_link
	  velodyne_pointcloud
	


      

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第6张图片


5.打开rviz,添加pointcloud2插件,便可以看到雷达输出的点云数据。

ROS学习笔记——Gazebo仿真32线velodyne雷达并在rviz显示点云数据_第7张图片

 


以上就是本篇的全部内容,欢迎指正交流~~

你可能感兴趣的:(ROS)