With ball detection ready, it was time to make a full calibration test on ATLASCAR_1. In preparation for the test, I had to:
Reinstall the lasers and cameras on the car;
Implement the calibration software on ATLASCAR_1’s server.
After various technical problems with hardware and software implementation, I managed to run a small test, making sure everything was in working condition for a full calibration test outdoors next week.
As previously stated, the calibration software I’ll be using can calibrate cameras on a stereo configuration, however experiments showed that this calibration has large errors. To make up for this, and in an effort to publish an article, we decided to expand the software to standalone cameras.
My first task was to detect the ball in real-time. Using OpenCV’s HoughCircle function I was able to detect the ball, however this method required the user to carefully control 7 parameters – hue, saturation, value, canny threshold, accumulator threshold, minimum and maximum circle radius in pixels – in order to detect the ball reliably. This wasn’t good enough, so with help from Marcelo Pereira, a polygonal curve fitting algorithm was implemented. This polygonal curve is the key for detecting the contour’s shape. A circle is detected when the polygonal curve meets the following conditions:
Has more than 6 vertices.
Has diameter of the same size in each direction.
The area of the contour is ≈πr2
The comparison between these two approaches can be seen on the video below.
I needed to familiarize myself with the hardware and software that I’ll be using onward. To do this, I used software developed by a colleague (Marcelo Pereira), to calibrate 3 laser scanners: two Sick LMS151 and a Sick LD-MRS400001. This software is the basis for the first half of my thesis, it has the ability to calibrate two Sick LMS151, a Sick LD-MRS400001, a SwissRanger SR40000 (3D camera) and two Point Grey FL3-GE-28S4-C on a stereo configuration.
The calibration software was developed in C++, as a ROS (Robot Operating System) package, relying on the PCL (Point Cloud Library) and the OpenCV libraries to process data. All of which are extremely important software for this work.
ATLASCAR_1, as you may have noticed, is quite an old car (Ford Escort from 1998), a replacement is already in the works – ATLASCAR_2 a Mitsubishi MiEV. This work also includes installing the LIDAR sensors on ATLASCAR_2, so this week I started to think about the best position and how to mechanically install each sensor on the car.
I also searched for a ball to use with the laser and camera calibration software, as advised by its author, I looked for the following characteristics:
Large size (let’s say, above 80 cm in diameter);
Not overly glossy (to avoid sun reflection on the ball surface).
Hello and welcome to my blog. This is where I will show and write about the development of my master thesis, entitled “Multisensory navigation based on LIDAR for ATLASCAR“, which is related to autonomous driving. If you are interested in this topic follow along and feel free to share ideas and suggestions.
For more information about me and my master thesis, check the “About me” and “About the project” pages, respectively.