CS-8803 Special Topic: Machine Learning for Robotics Homework 4 solution

$30.00

Original Work ?
Category: You will Instantly receive a download link for .ZIP solution file upon Payment

Description

5/5 - (1 vote)

Step 0: Setup
For this homework, and many of the coming ones, a basic workspace will be made available in /csshare/pradalier/cs8804_students_ws
In this case, we will be working onfinding the ground plane in a 3D point cloud. This point cloud is
provided by the simulated kinect on the V-REP robot under the topic /vrep/depthSensor.
Important, from this homework, we will use a slightly more complex scene, /csshare/pradalier/scene/rosControlKinect3d.ttt
Start by copying the floor_plane_hough and floor_plane_ransac ROS packages from the
cs8804_students_ws/src directory. Make sure everything is working by compiling them with
catkin_make.
The packages are fully configured to find the libraries they need. You don’t need to touch the
CmakeLists.txt or package.xml files. Just edit the src/floor_plane_XXX.cpp in each package.
You should read the whole file to understand what’s going on, but your contributions must be inserted
between the “TODO START” tag and the “END OF TODO” tag.
Step 1: Model Finding using the Hough Transform
For this step, you need to modify the floor_plane_hough package. The goal is to use the general
principles of the Hough Transform to find likely plane parameters from the point cloud and in
particular the ground plane. The Hough Transform relies on a nD accumulator. This is provided in the
accumulator member variable, which is implemented as a 3D OpenCV matrix. Example of use are
provided in the code.
The specific point of the linear-regression homework are still valid. Read the homework text again
(step 1) to refresh your knowledge about the point clouds.
On the specific topic of the Hough Transform, here are a set of questions to consider:
• Why is the accumulator setup with 3 dimensions, what are the range and discretisation required
for each dimension?
• Discretisation implies aliasing. Propose (but do not necessarily implement) a way to combing
the Hough Transform with other tools to have a precise estimator while still being resilient to
noise and outliers.
Evaluation:
• Evaluate the sensitivity of the plane estimation to environment parameters, in particular smooth
slope transition and obstacles.
• Evaluate the computation load and find a good trade-off between precision and computation
time by adapting the parameters.
• Do we need the same discretisation on all parameters?
Step 2: Model Finding using RANSAC
For this step, you need to modify the floor_plane_ransac package. The goal is to use the general
principles of RANSAC to find likely plane parameters from the point cloud and in particular the
ground plane.
Evaluation:
• Find good parameters in terms of number of samples and tolerance. Try to find
physical/mathematical justification for your choice of parameters.
• Evaluate the sensitivity of the plane estimation to environment parameters, in particular smooth
slope transition and obstacles.
• Propose a solution to use RANSAC as a first step into a precise least-square-based ground plane
detection.
Step 3: Deliverable
Submit the ros packages (tar.gz or zip) by email by next Thursday, 10:00 to
cedric.pradalier@georgiatech-metz.fr (don’t forget to mention you group name)