ToF Camera Visual Initial Odometry
Changing Ambient Light Test | Exploration Test |
---|---|
![]() |
![]() |
The work is the implement of the filter-based visual inertial odometry using a ToF camera input. The system has the capability to sense in the changing ambient light environment.
Ubuntu + ROS
We have tested in the following environments:
Ubuntu 16.04 + ROS Kinetic
Ubuntu 18.04 + ROS melodic
Clone the repository to the catkin work space. E.g. /catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/HKPolyU-UAV/TOF-VIO.git
Install ros-pcl
sudo apt-get install ros-kinetic-pcl-*
sudo apt-get install ros-melodic-pcl-*
Compile
cd ~/catkin_ws
catkin_make
Using our recorded rosbag:
->Link1 Hand held test
->Link2 Lab test(Changing of environment lighting condition)
->Link3 UAV fly in corridor
The rosbag is compressed, depressed it before estimation.
Data Format of the rosbag
Topic Name | Content | Frequency |
---|---|---|
/image_depth | Depth image (u,v,z) | 15 |
/image_nir | NIR image (u,v,i) | 15 |
/points | Organized point cloud | 15 |
/imu | IMU data | 250 |
/gt | Ground truth captured by Vicon | 50 |
Camera matrix and distortion coeffs of the Depth/NIR image
camera matrix | distortion coeffs | ||
---|---|---|---|
fx | 211.95335 | k1 | 0.57858 |
fy | 211.95335 | k2 | -5.7317 |
cx | 115.6517 | p1 | 0 |
cy | 87.125724 | p2 | 0 |
p3 | 10.0098 |
Place the .bag file into bag folder then modify the bag.launch file
<node pkg="rosbag" type="play" name="rosbag" args="$(find vio)/bag/nameofthebag.bag"/>
Run:
roslaunch tof_vio rviz.launch
roslaunch tof_vio bag.launch
TUM scripts can be used to evaluate the result, the following are the exported results:
Handheld test | UAV test |
---|---|
![]() |
![]() |
ToF Camera:
PMD Flexx ToF Camera
drivers
ros wrapper
IMU:
Pixhawk
mavros
Shengyang Chen(Dept.ME,PolyU): [email protected]