The following repository is controlled by Strato-IT and was created under the the direction of Mr. Younghyo Kim, CEO, Strato-IT (yhkim@strato-it.co.kr) during the period of May to July 2019. This repository was created by interns in order to explore the practical applications of Visual and Interial Odometry in known and unknown environments using state of the art techniques.
To achieve stereo visual odometry using a pir of stereo camera and test different existing alogrithms and hardware in the field of Robotic Odometry
This is still considered to be the most accurate measurement of Odometry using IMUs which give accurate velocity, acceleration and gyrosopic pose. This pose estimation works best as its based on direct measurement of motion parameters and estimating position using that.
This method uses images to measure the motion of the camera. It matches pixel positions with respect to each other to estimate the rotational and transaltional transform of one image to other and that inherently is also the translation and rotation of the camera. It is of two types
-
Uses single camera to estimate position of camera using image at two different times. Lacks undersatnding of Scale and one image cannot be used to determine depth of objects being used as refrence for estimating transformations
-
Uses two camera which focus on same scene. Two cameras who are placed in a known way attached to a stable frame. help us determine the depth of objects being placed in the environment using pixel shift and disparity estimation. This set doesn't suffer from scale invariance and gives transforms that are actual distances in the real world. For this method to work the position of cameras w.r.t to each other shouldn't change.
Cameras like IR Camera or 3D Lidar can also be used to estimate Odometry. Here we already have the depth information so alognment of points in 3d space is easier because of the fourth depth channel which provides a lot of data about placement of objects in environment directly without any pre processing. With today's technology this method performs at par with Inertial Odometry because the robust data being achieved.
Our project was divided into three parts
- Study famous state of the art papers both in mathematics and machine learning to estimate odometry using stereo image pairs.
- Found some really good papers with good results having top rankings on KITTI Dataset.
- The papers are explained in the Research Papers folder
- Disparity estimation was the first step in assessing odometry using stereo pairs as it gave an idea of depth of the images being captured.
- We implemented two state of the art machine learning papers in the field of disparity estimation.
- All the information regarding the implementations of disparity estimation papers are in the Disparity Map Estimation folder.
- After dispairty estimation we can pass it to famous visual odomerty algorithms like rtabmap or orb-slam to estimate odometry
- Tested the acuracy of Intel® Realsense™ T265 Tracking camera using ROS and Realsense viewer
- Tested the accuray in mapping and odometry using Intel® Realsense™ T265 Tracking Camera and D435 Depth Camera in different scenarios and combinations using ROS.
- All information pertaining to this can be found in Realsense folder.
- The implemented Dispairty map estimators are only python codes without training so they need to be trained first.
- The trained models can be packged in a ROS Wrapper can be directly fed to Rtabmap or ORB-SLAM to test its accuracy compared to other hardware and software techniques available.
- Wheel odometry of the bot can also be used to coorect the estimation of visula odometry which will be of great help.
- As Realsense™ fuctions really well in known visual environment its data can be used to refine the odometry from T265 to achieve more accurate odometry.
Apoorva Kumar : Pre-Final Year Undergrad, B.Tech in Electronics and Electrical Engineering, IIT Guwahati
Aniket Mandle : Pre-Final Year Undergrad, B.Tech in Mechnical Engineering, IIT Guwahati
Abhishek Tiwari: Pre-Final Year Undergrad, B.Tech in Mechanical Engineering, IIT Guwahati
Avish Kabra: Pre-Final Year Undergrad, B.Tech in Electronics and Electrical Engineering, IIT Guwahati
This project must not be replicated without necessary permissions from Strato-IT or the authors.