Skip to content

Commit

Permalink
fix yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
XW-HKU committed Jul 6, 2021
1 parent fb53098 commit cd47369
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 16 deletions.
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
**Noted: Ubuntu 16.04 and lower is not supported**

## Related Works

1. [ikd-Tree](https://github.com/hku-mars/ikd-Tree): A state-of-art dynamic KD-Tree for 3D kNN search.
2. [IKFOM](https://github.com/hku-mars/IKFoM): A Toolbox for fast and high-precision on-manifold Kalman filter.
3. [UAV Avoiding Dynamic Obstacles](https://github.com/hku-mars/dyn_small_obs_avoidance): One of the implementation of FAST-LIO in robot's planning.
4. [R2LIVE](https://github.com/hku-mars/dyn_small_obs_avoidance): A high-precision LiDAR-inertial-Vision fusion work using FAST-LIO as LiDAR-inertial front-end.
4. [R2LIVE](https://github.com/hku-mars/r2live): A high-precision LiDAR-inertial-Vision fusion work using FAST-LIO as LiDAR-inertial front-end.
5. [UGV Demo](https://www.youtube.com/watch?v=wikgrQbE6Cs): Model Predictive Control for Trajectory Tracking on Differentiable Manifolds.

## FAST-LIO
**FAST-LIO** (Fast LiDAR-Inertial Odometry) is a computationally efficient and robust LiDAR-inertial odometry package. It fuses LiDAR feature points with IMU data using a tightly-coupled iterated extended Kalman filter to allow robust navigation in fast-motion, noisy or cluttered environments where degeneration occurs. Our package address many key issues:
Expand Down Expand Up @@ -52,7 +51,7 @@

## 1. Prerequisites
### 1.1 **Ubuntu** and **ROS**
**Ubuntu >= 18.04 (Ubuntu 16.04 is not supported)**
**Ubuntu >= 16.04**

For **Ubuntu 18.04 or higher**, the **default** PCL and Eigen is enough for FAST-LIO to work normally.

Expand Down Expand Up @@ -87,6 +86,8 @@ Clone the repository and catkin_make:
- If you want to use a custom build of PCL, add the following line to ~/.bashrc
```export PCL_ROOT={CUSTOM_PCL_PATH}```
## 3. Directly run

Please make sure the IMU and LiDAR are **Synchronized**, that's important.
### 3.1 For Avia
Connect to your PC to Livox Avia LiDAR by following [Livox-ros-driver installation](https://github.com/Livox-SDK/livox_ros_driver), then
```
Expand All @@ -97,14 +98,26 @@ Connect to your PC to Livox Avia LiDAR by following [Livox-ros-driver installat
```
- If you want to change the frame rate, please modify the **publish_freq** parameter in the [livox_lidar_msg.launch](https://github.com/Livox-SDK/livox_ros_driver/blob/master/livox_ros_driver/launch/livox_lidar_msg.launch) of [Livox-ros-driver](https://github.com/Livox-SDK/livox_ros_driver) before make the livox_ros_driver pakage.

### 3.2 For Velodyne or Ouster (using Velodyne as an example)
### 3.2 For Livox serials with external IMU

Step A: Setup before run
mapping_avia.launch theratically supports mid-70, mid-40 or other livox serial lidar, but need to setup some parameters befor run:

Edit ``` FAST-LIO/config/velodyne.yaml ``` to set the below parameters:
Edit ``` config/avia.yaml ``` to set the below parameters:

1. lidar point cloud topic name: ``` lid_topic ```
2. IMU topic name: ``` imu_topic ```
3. Translational extrinsic: ``` extrinsic_T ```
4. Rotational extrinsic: ``` extrinsic_R ``` (only support rotation matrix)
- The extrinsic parameters in FAST-LIO is defined as the LiDAR's pose (position and rotation matrix) in IMU body frame (i.e. the IMU is the base frame). They can be found in the official manual.

### 3.3 For Velodyne or Ouster (Velodyne as an example)

Step A: Setup before run

Edit ``` config/velodyne.yaml ``` to set the below parameters:

1. lidar point cloud topic name: ``` lid_topic ```
2. IMU topic name: ``` imu_topic ``` (both internal and external, 6-aixes or 9-axies are fine)
3. Line number (we tested 16 and 32 line, but not tested 64 or above): ``` scan_line ```
4. Translational extrinsic: ``` extrinsic_T ```
5. Rotational extrinsic: ``` extrinsic_R ``` (only support rotation matrix)
Expand All @@ -118,6 +131,7 @@ Step B: Run below
```

Step C: Run LiDAR's ros driver or play rosbag.

*Remarks:*
- We will produce some velodyne datasets which is already transfered to Rosbags, please wait for a while.

Expand Down
2 changes: 1 addition & 1 deletion config/avia.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ common:
imu_topic: "/livox/imu"

preprocess:
lidar_type: 1 # Livox Avia LiDAR
lidar_type: 1 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,
scan_line: 6
blind: 1

Expand Down
Empty file removed config/fast_lio.yaml
Empty file.
2 changes: 1 addition & 1 deletion config/horizon.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ common:
imu_topic: "/livox/imu"

preprocess:
lidar_type: 1 # Livox Avia LiDAR
lidar_type: 1 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,
scan_line: 6
blind: 1

Expand Down
2 changes: 1 addition & 1 deletion config/ouster64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ common:
imu_topic: "/os_cloud_node/imu"

preprocess:
lidar_type: 3 # Ouster2-64 LiDAR
lidar_type: 3 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,
scan_line: 64
blind: 1

Expand Down
2 changes: 1 addition & 1 deletion config/velodyne.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ common:
imu_topic: "/imu/data"

preprocess:
lidar_type: 2 # VLP-16 LiDAR
lidar_type: 2 # 1 for Livox serials LiDAR, 2 for Velodyne LiDAR, 3 for ouster LiDAR,
scan_line: 32
blind: 4

Expand Down
2 changes: 1 addition & 1 deletion launch/mapping_horizon.launch
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<param name="feature_extract_enable" type="bool" value="0"/>
<param name="point_filter_num" type="int" value="3"/>
<param name="max_iteration" type="int" value="3" />
<param name="dense_map_enable" type="bool" value="0" />
<param name="dense_map_enable" type="bool" value="1" />
<param name="filter_size_surf" type="double" value="0.5" />
<param name="filter_size_map" type="double" value="0.5" />
<param name="cube_side_length" type="double" value="1000" />
Expand Down
8 changes: 4 additions & 4 deletions launch/mapping_ouster64.launch
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

<rosparam command="load" file="$(find fast_lio)/config/ouster64.yaml" />

<param name="feature_extract_enable" type="bool" value="1"/>
<param name="point_filter_num" type="int" value="3"/>
<param name="max_iteration" type="int" value="4" />
<param name="feature_extract_enable" type="bool" value="0"/>
<param name="point_filter_num" type="int" value="4"/>
<param name="max_iteration" type="int" value="3" />
<param name="dense_map_enable" type="bool" value="1" />
<param name="filter_size_surf" type="double" value="0.5" />
<param name="filter_size_map" type="double" value="0.5" />
<param name="cube_side_length" type="double" value="2000" />
<param name="cube_side_length" type="double" value="1000" />
<param name="runtime_pos_log_enable" type="bool" value="0" />
<node pkg="fast_lio" type="fastlio_mapping" name="laserMapping" output="screen" />

Expand Down

0 comments on commit cd47369

Please sign in to comment.