A-LOAMLOAMLego-LOAMSC_Lego_LOAM实时构建3d点云
本篇⽂章旨在快速让读者实现运⾏LOAM系列3D激光SLAM算法并实时构建3d点云地图与2d栅格地图。废话不多说,直接开始~ ⾸先说明我们要⽤到的3D点云地图转2D栅格地图的⼯具是octomap,附上⾼博教程链接。
接下来就开始了:
第⼀步:安装octomap:
#安装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安装⽬录,写个octomap_server节点的launch⽂件:
主控芯片
#进⼊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
在octomap_server.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>
爱国家不等于爱朝廷
第三步:启动octomap_server,启动SLAM算法:转基因鸡#启动octomap_server节点
roslaunch octomap_server octomap_server.launch中华精英联盟
#以aloam为例,启动aloam
roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
rosbag play xxxx.bag
启动rviz后,点击“add”,分别添加"Map"、"OccupancyGrid"与"OccupancyMap",并把其话题名依次改为"/projected_map"、"octomap_full"与"octomap_binary"就可以看到建图过程了。
最后就是保存地图了
rosrun map_server map_saver map:=/projected_map
之后就可以在主⽬录下看到所建的2d栅格地图啦 !