Showing posts with label SLAM. Show all posts
Showing posts with label SLAM. Show all posts

Sunday, January 29, 2012

SLAM Project Update

Well it has been a while since I was suppose to post this, but that just means I'll have better results. So I've been working on optimizing the SLAM code to generate better maps and also increasing the likelihood of the particles converging for a given set of sonar scans. I started by focusing on filtering the sonar data to optimize the overlap between scans.




Filtering Algorithm






By filtering the data, I can use more of the data already present in the sonar scan to help increase the likelihood of the particles converging.

My next focus will be on refining the filtering algorithm to output cleaner sonar measurements. I also need to work on the scan matching algorithm to load in the first scan at an ideal location where edges won't be cut off. This occurs when the size of the occupancy grid is small and the first scan is loaded in the middle of the map. I'm also waiting for the ROV motor to come in the mail so that I can fix the ROV and then be able to map the pool at the LAIR. This will give us truth data to calculate the error in our algorithm.

Saturday, January 7, 2012

Robotics in SLO Update

Over break, I sent the ROV we have here at Cal Poly to VideoRay for repairs. Several parts needed to be replaced due to water leaking into the robot's hull. To my knowledge it is still under repair.

As for the software side of robotics, I worked on SLAM. I was able to get the scan matching algorithm working. This algorithm attempts to use SLAM to converge every possible pair of sonar scans of a cistern in order to localize the ROV for each scan's position.

Before we added the "Auto-converge" localization technique, we were manually mosaicking the sonar scans together and then measuring the displacement values between a reference scan and all the other scans. The displacement values for each scan were inputted into the code and used as the initial locations of the ROV when trying to add scans to a map. The code we have now does this mosaicking automatically.

The next step is to figure out how to prevent the particles from converging in the wrong location. I'm writing a paper on the Malta work from last year up till now, which is consuming most of my time.

Here are before and after images of merging two scans. Here I'm just using SLAM to add the second scan.



Using Scan Matching Algorithm w/ just 2 Scans