The aim of the project is to improve the perception system of a mobile robot in order to identify the location of static objects to avoid collision, by limiting the sensor system.
2D LiDAR is able to detect only the obstacle in its line of sight: location of low obstacles must be estimated through only a monocular camera.
In this project depth estimation is carried out with an extended Kalman filter to reduce the computational load and in order that performance does not depend on the training dataset. Dynamic nonlinear model takes into account the kinematics of the feature point (whose depth you want to estimate) resolved in the camera coordinate frame of a unicycle (1) and the pinhole camera model (2).
Process model
Measurement model
Simulation of depth estimation of one chess corner with EKF
Media2.mp4
This algorithm aims to detect and classify the edges of generic objects that are not in the line of sight of the LiDAR.
Then lines are tracked and associated to a common object through Histogram (HSV) Intersection Algorithm, while the unicycle moves.
Media3.mp4
This is the final result
Media1.mp4
Media3.mp4
- Mansour, Mostafa, et al. "Depth estimation with ego-motion assisted monocular camera." Gyroscopy and Navigation 10.3 (2019): 111-123.
- Bresenham, Jack E. "Algorithm for computer control of a digital plotter." IBM Systems journal 4.1 (1965): 25-30
- Sabatini, Stefano, et al. "Vision-based pole-like obstacle detection and localization for urban mobile robots." 2018 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2018.
- Swain, Michael J., and Dana H. Ballard. "Color indexing." International journal of computer vision 7.1 (1991): 11-32.
The complete report and code are available and can be requested in private.