The new term has begun, and with it- a countdown. The ECE open house on February 11th is our goal for a functional demonstration, and we have a long way to go!
We've gotten planar segmentation to work through ROS- and it looks awesome!
Here's a sample of a textbook on a table- not far off the testing setup we're going for. Unfortunately, it doesn't run anywhere near real-time, even with down-sampling and minimal rendering requirements. So we either need less points or a better algorithm. Luckily, ELEC 474 has provided the nugget of wisdom towards a better solution.
With our current RANSAC algorithm, a number of random points are sampled, checked for consistency, and if it passes a threshold check, the points provide the parameters for the plane model. Then, the outliers are booted, and the plane is recalculated, iteratively, until the fit is snug. However, this doesn't work well on tons of points- it's just too much sampling for real-time segmentation and control.
Instead, we're going to try a method called the 3D kernel-based Hough transform (3DKHT) which uses a spherical sample space to fit multiple planes in an image. Described in a paper by F.A. Limberger & M.M. Oliveira, this method was shown to beat PCL's RANSAC algorithm on a Bremen data set by quite a significant margin: 2.1 seconds for 3DKHT vs 7531 seconds for RANSAC.
This should speed up developments nicely!
In other news, I had the RC car zipping around today and we're looking into manufacturing the test obstacles soon. Hopefully we'll have our traversal performance metrics within the week- we'll be measuring chassis movement so that we can determine how much better (or worse) the predictive suspension performs in the real-world.