ISCLOAM配置、编译、问题解决及VLP16测试效果
1)安装依赖
- Ubuntu and ROS文章链接
- Ceres Solver
- PCL
- GTSAM
- OPENCV
- Trajectory visualization
sudo apt-get install ros-melodic-hector-trajectory-server
2)安装
终端运行:
1. cd ~/test_ws/src
2. git clone https://github.com/wh200720041/iscloam.git
3. cd ..
4. catkin_make -DCATKIN_WHITELIST_PACKAGES="iscloam"
注:test_ws需要更改为自己的工作空间,如若编译成功,进行下一步。
3)KITTI sequence 07测试
1. source ~/test_ws/devel/setup.bash
2. 修改iscloam.launch文件相关配置
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 0.5 $(env HOME)/test_bag/2011_09_30_0027.bag"/>
3. roslaunch iscloam iscloam.launch
如若想同时生成地图
roslaunch iscloam iscloam_mapping.launch
4)VLP16bag包
1.source ~/test_ws/devel/setup.bash
2.修改iscloam.launch文件相关配置
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 0.5 $(env HOME)/test_bag/indoor_2021-03-30-15-27-23.bag"/>
<param name="scan_line" value="16" />
<param name="min_dis" type="double" value="0.5" />
3.roslaunch iscloam iscloam_velodyne_bag.launch
如若想同时生成地图
roslaunch iscloam iscloam_mapping_velodyne_bag.launch
iscloam_mapping_velodyne_bag.launch内容如下:
<?xml version="1.0"?>
<launch>
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 2 $(env HOME)/test_bag/indoor_2021-03-30-15-27-23.bag -s 800"/>
<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />
<param name="scan_line" value="16" />
<param name="ring_height" type="int" value="20" />
<param name="ring_width" type="int" value="60" />
<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="90.0" />
<param name="min_dis" type="double" value="0.5" />
<!--- -->
<node pkg="iscloam" type="iscloam_odom_estimation_node" name="iscloam_odom_estimation_node" output="screen"/>
<node pkg="iscloam" type="iscloam_laser_processing_node" name="iscloam_laser_processing_node" output="screen"/>
<node pkg="iscloam" type="iscloam_isc_generation_node" name="iscloam_isc_generation_node" output="screen"/>
<node pkg="iscloam" type="iscloam_isc_optimization_node" name="iscloam_isc_optimization_node" output="screen"/>
<node pkg="iscloam" type="iscloam_laser_mapping_node" name="iscloam_laser_mapping_node" output="screen"/>
<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />
<arg name="rviz" default="true" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find iscloam)/rviz/iscloam_mapping.rviz" />
</group>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="gt" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="velodyne" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="odom_final" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="odom_final" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
</launch>
运行过程中的截图
视频
iscloam视频
问题: iscloam_laser_mapping_node节点,可能会出现运行一段时间就报错,崩溃
5)直接使用VLP16
1. roslaunch iscloam iscloam_velodyne.launch
如果在较为狭窄的区域建图,则需要修改 <param name="min_dis" type="double" value="3.0" />参数,设置为较小值
6)问题及解决
如若catkin_make失败,初步判断是pcl库的问题时,检查是否源码安装pcl,卸载源码安装的pcl即可
7)修改配置后的源码包和bag包
bag包获取方式可留言,私信给下载链接
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/130122.html