赞
踩
一、使用mid360配置lio-sam
1.首先从GitHub - nkymzsy/LIO-SAM-MID360 at Livox-ros-driver2 下载能支持mid360的lio-sam版本到 ws_livox/src中,直接编译,就可以成功。
2.使用
roslaunch lio_sam run6axis.launch
以及播之前我才记得Mid360的包,就可以到结果。
最终可以重建出来了三维场景,但是在重建过程中,一卡一卡的,不知道是啥问题。
二、point-lio
下载并编译point-lio
- cd src
- git clone https://github.com/hku-mars/Point-LIO.git
- cd ..
- catkin_make
src/config 文件夹下添加的 mid360.yaml 文件配置:
- common:
- lid_topic: "/livox/lidar"
- imu_topic: "/livox/imu"
- con_frame: false # true: if you need to combine several LiDAR frames into one
- con_frame_num: 1 # the number of frames combined
- cut_frame: false # true: if you need to cut one LiDAR frame into several subframes
- cut_frame_time_interval: 0.1 # should be integral fraction of 1 / LiDAR frequency
- time_lag_imu_to_lidar: 0.0 # Time offset between LiDAR and IMU calibrated by other algorithms, e.g., LI-Init (find in Readme)
- # the timesample of IMU is transferred from the current timeline to LiDAR's timeline by subtracting this value
-
- preprocess:
- lidar_type: 1
- scan_line: 4
- timestamp_unit: 1 # the unit of time/t field in the PointCloud2 rostopic: 0-second, 1-milisecond, 2-microsecond, 3-nanosecond.
- blind: 0.5
-
- mapping:
- imu_en: true
- start_in_aggressive_motion: false # if true, a preknown gravity should be provided in following gravity_init
- extrinsic_est_en: false # for aggressive motion, set this variable false
- imu_time_inte: 0.005 # = 1 / frequency of IMU
- satu_acc: 3.0 # the saturation value of IMU's acceleration. not related to the units
- satu_gyro: 35 # the saturation value of IMU's angular velocity. not related to the units
- acc_norm: 1.0 # 1.0 for g as unit, 9.81 for m/s^2 as unit of the IMU's acceleration
- lidar_meas_cov: 0.001 # 0.001; 0.01
- acc_cov_output: 500
- gyr_cov_output: 1000
- b_acc_cov: 0.0001
- b_gyr_cov: 0.0001
- imu_meas_acc_cov: 0.1 #0.1 # 0.1
- imu_meas_omg_cov: 0.1 #0.01 # 0.1
- gyr_cov_input: 0.01 # for IMU as input model
- acc_cov_input: 0.1 # for IMU as input model
- plane_thr: 0.1 # 0.05, the threshold for plane criteria, the smaller, the flatter a plane
- match_s: 81
- fov_degree: 360
- det_range: 100
- gravity_align: true # true to align the z axis of world frame with the direction of gravity, and the gravity direction should be specified below
- gravity: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # gravity to be aligned
- gravity_init: [0.0, 0.0, -9.810] # [0.0, 9.810, 0.0] # # preknown gravity in the first IMU body frame, use when imu_en is false or start from a non-stationary state
- extrinsic_T: [ -0.011, -0.02329, 0.04412 ]
- extrinsic_R: [ 1, 0, 0,
- 0, 1, 0,
- 0, 0, 1 ]
-
- odometry:
- publish_odometry_without_downsample: false
-
- publish:
- path_en: true # false: close the path output
- scan_publish_en: true # false: close all the point cloud output
- scan_bodyframe_pub_en: false # true: output the point cloud scans in IMU-body-frame
-
- pcd_save:
- pcd_save_en: false
- interval: -1 # how many LiDAR frames saved in each pcd file;
- # -1 : all frames will be saved in ONE pcd file, may lead to memory crash when having too much frames.
src/launch 文件夹下添加 mapping_mid360.launch 文件:
- <launch>
- <!-- Launch file for Livox AVIA LiDAR -->
-
- <arg name="rviz" default="true" />
-
- <node pkg="point_lio" type="pointlio_mapping" name="laserMapping" output="screen">
- <rosparam command="load" file="$(find point_lio)/config/mid360.yaml" />
- <param name="use_imu_as_input" type="bool" value="1"/> <!--change to 1 to use IMU as input of Point-LIO-->
- <param name="prop_at_freq_of_imu" type="bool" value="1"/>
- <param name="check_satu" type="bool" value="1"/>
- <param name="init_map_size" type="int" value="10"/>
- <param name="point_filter_num" type="int" value="1"/> <!--4, 3-->
- <param name="space_down_sample" type="bool" value="1" />
- <param name="filter_size_surf" type="double" value="0.3" /> <!--0.5, 0.3, 0.2, 0.15, 0.1-->
- <param name="filter_size_map" type="double" value="0.2" /> <!--0.5, 0.3, 0.15, 0.1-->
- <param name="cube_side_length" type="double" value="2000" /> <!--1000-->
- <param name="runtime_pos_log_enable" type="bool" value="0" /> <!--1-->
- </node>
- <group if="$(arg rviz)">
- <node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find point_lio)/rviz_cfg/loam_livox.rviz" />
- </group>
-
- launch-prefix="gdb -ex run --args"
-
- </launch>
最后用mid360采集的数据集,得到重建的结果:
三、faster-lio
Ubuntu18.04 Faster_lio 环境搭建与运行全过程记录_在ubuntu18.04上安装以及运行faster-lio-CSDN博客
由于要把gcc升级到版本9,害怕升级后原有的代码会出现错误,因此暂时这个先不做实验了。也先不安装和配置了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。