17 Jun 2020: This is the 1st Edition, for Chinese version please click Introduction.
This is a generator tool used for 3D landmarks building based on line features which can be used to test VO/SLAM system. It can be easily changed into VIO-SLAM pattern.
Authors: iwander。
Videos: There is a introduction video to show how to use this tool.
python
python 2 or python 3.
numpy.
pyplot.
openCV 3.
2.1Clone the repository and run:
cd ~/home/
git clone https://github.com/iwander-all/LISS-SimulatorOf3DLandmarksAndImageSequences.git
cd script
2.2 Format Please build folders in the way:
Simulator
|--support_files
| |--EuRoC_traj_data
| | |--XX_0X_XXXX.tum ->txt data of trajactory of EuRoC (TUM style)
| |--txt_data
| | |--trajactory.txt ->simulated trajactory and rotation data of robot
| | |--line.txt ->simulated 3D coordinates of lines
| |--series_data
| | |--images ->camera images simulated at different time and poses
| | | |--difficult
| | | |--medium
| | | |--pure
| | |--landmarksGroundtruth ->pixel coordinates of landmarks at different time and poses
| | | |--cubes
| | | |--lines
| | | |--stars
| | | |--triangles
|
|--script
| |--traj_visual.py ->viualize the raw trajactory data
| |--trajactoryGenerator.py ->simulate robot poses (20Hz)
| |--lineGenerator.py ->generate lines in 3D, before it runs, please move the previous data or be replaced.
| |--utils.py ->all the supporting data and functions
| |--imageGenerator.py ->generate simulated camera vision (.png) and groundtruth (.txt)
| |--visualize.py ->visualize the trajactory and landmarks
3.1 Visually check the trajectories
python traj_visual.py
3.2 Build trajectory
python trajactoryGenerator.py
3.3 Build 3D landmarks
python lineGenerator.py
The landmarks are randomly built, so if you want to check the built one, please use:
python visualize.py
3.4 Build images
python imageGenerator.py
I use EuRoC for trajectory and poses and the parameters for camera model.
The source code is released under Apache License 2.0 license.
I am still working on improving the code reliability and further work for VIO-SLAM pattern is expected. For any technical issues, please contact me https://blog.csdn.net/iwanderu/ .