-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
79 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,84 @@ | ||
# TRLO: Direct LiDAR Odometry with 3D Dynamic Object Tracking and Removal | ||
# TRLO: An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal | ||
|
||
The official implementation of TRLO (An Efficient LiDAR Odometry with 3D Dynamic Object Tracking and Removal), an accurate LiDAR odometry approach targeted for dynamic environments. TRLO can provide continuous object tracking and accurate localization results while preserving the keyframe selection mechanism in the odometry system. This work is submitted for IEEE T-IM. | ||
|
||
![Video](./web/resources/TRLO.mp4) | ||
|
||
If you think our work useful for your research, please cite: | ||
|
||
## :gear: Installation | ||
|
||
### Dependence | ||
|
||
Our system has been tested extensively on Ubuntu 20.04 Focal with ROS Noetic, although other versions may work. The following configuration with required dependencies has been verified to be compatible: | ||
|
||
- Ubuntu 20.04 | ||
- ROS Noetic (roscpp, std_msgs, sensor_msgs, geometry_msgs, pcl_ros, jsk_recognition_msgs) | ||
- C++ 14 | ||
- CMake >= 3.22.3 | ||
- OpenMP >= 4.5 | ||
- Point Cloud Library >= 1.10.0 | ||
- Eigen >= 3.3.7 | ||
- Cuda 11.3 | ||
- TensorRT 8.5.3.1 | ||
|
||
Installing the binaries from Aptitude should work though: | ||
|
||
``` | ||
sudo apt install libomp-dev libpcl-dev libeigen3-dev | ||
``` | ||
### Building | ||
|
||
You can use the following command to build the project: | ||
|
||
```bash | ||
#!/bin/bash | ||
source "/opt/ros/${ROS_DISTRO}/setup.bash" | ||
mkdir -p ~/catkin_ws/src | ||
cd ~/catkin_ws/src | ||
git clone [email protected]:Yaepiii/TRLO.git | ||
cd .. | ||
catkin_make | ||
``` | ||
|
||
## :running: Run | ||
|
||
According to the dataset you want to test, you can modify the parameter values of 'pointcloud_topic' and 'imu_topic' in trlo.launch. If an IMU is not being used, set the trlo/imu ROS param to false in cfg/trlo.yaml. However, if IMU data is available, please allow TRLO to calibrate and gravity align for three seconds before moving. Note that the current implementation assumes that LiDAR and IMU coordinate frames coincide, so please make sure that the sensors are physically mounted near each other. | ||
|
||
After sourcing the workspace, launch the TRLO ROS nodes via: | ||
|
||
```bash | ||
#!/bin/bash | ||
# run TRLO node | ||
roslaunch trlo trlo.launch | ||
|
||
# play your bag | ||
rosbag play your_test.bag | ||
``` | ||
|
||
## :clipboard: Evaluation | ||
|
||
To save TRLO's generated map into .pcd format, call the following service: | ||
|
||
```bash | ||
rosservice call /robot/trlo_map/save_pcd LEAF_SIZE SAVE_PATH | ||
``` | ||
|
||
To save the trajectory in KITTI format, call the following service: | ||
|
||
```bash | ||
rosservice call /robot/dlo_odom/save_traj SAVE_PAT | ||
``` | ||
|
||
## :rose: Acknowledgements | ||
|
||
We thank the authors of the [DLO](https://github.com/vectr-ucla/direct_lidar_odometry) and [CenterPoint](https://github.com/tianweiy/CenterPoint) open-source packages: | ||
|
||
- K. Chen, B. T. Lopez, A. -a. Agha-mohammadi and A. Mehta, "Direct LiDAR Odometry: Fast Localization With Dense Point Clouds," in IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 2000-2007, April 2022 | ||
|
||
- Yin, Tianwei et al. “Center-based 3D Object Detection and Tracking.” 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2020): 11779-11788. | ||
|
||
This is the repository that contains source code for the [TRLO website](https://yaepiii.github.io/TRLO/). | ||
|
||
The code is being organized... | ||
|
||
# Website License | ||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>. |