下载octomap并建立launch文件
这里要注意ubuntu版本
#安装octomap
sudo apt-get install ros-melodic-octomap-ros
sudo apt-get install ros-melodic-octomap-server
#安装octomap在rviz中的插件
sudo apt-get install ros-melodic-octomap-rviz-plugins
#进入octomap_server的launch文件夹
cd /opt/ros/melodic/share/octomap_server/launch
#创建launch文件
sudo touch octomap_server.launch
#给launch文件加可写权限
sudo chmod a+w octomap_server.launch
launch文件内容如下:
<launch>
<node pkg="octomap_server" type="octomap_server_node" name="octomap_server">
<!--resolution in meters per pixel-->
<param name="resulution" value="0.1" />
<!--name of the fixed frame,needs to be "/map" for SLAM-->
<param name="frame_id" type="string" value="/camera_init" />
<!--max range/depth resolution of the kinect meters-->
<param name="sensor_model/max_range" value="50.0" />
<param name="latch" value="true" />
<!--max/min height for occupancy map, should be in meters-->
<param name="pointcloud_max_z" value="1.6" />
<param name="pointcloud_min_z" value="0.8" />
<param name="graound_filter_angle" value="3.14" />
<!--topic from where pointcloud2 messages are subscribed-->
<remap from="/cloud_in" to="/laser_cloud_map" />
</node>
</launch>
这是a-loam的 lego-loam需要将“/laser_cloud_map”改为“/registered_cloud”订阅话题要与pointcloud2的一致
启动雷达,loam
roslaunch octomap_server octomap_server.launch #启动map_sever
roslaunch rslidar_pointcloud rs_lidar_16.launch #启动速腾雷达rs-16
roslaunch lego_loam run.launch #lego_loam
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch #这是启动a-loam的
rosrun map_server map_saver map:=/projected_map -f /home/a/mymap #保存地图
最后结果如图所示:
下一步进行小车上的实现和导航。
期间建图过程可视化设置如下:
启动rviz后,点击“add”,分别添加"Map"、"OccupancyGrid"与"OccupancyMap",并把其话题名依次改为"/projected_map"、"octomap_full"与"octomap_binary"。
主要参考:
A-LOAM/LOAM/Lego-LOAM/SC_Lego_LOAM实时构建3d点云地图与2d栅格地图(octomap)_studentu的博客-优快云博客
Octomap 在ROS环境下实时显示_熊猫飞天-优快云博客
十分感谢。