29 April 2012

Creating a Range Map

So, the first thing I though about for my swarm project, after getting through all the wifi tutorials (actually, I have another week to go, now that Dexter Industries Wifi Week 2 is out), is having my main, user controlled (or autonomous, using AI algorithms if necessary) be able to know it's surroundings. Now, I could use my NXTCam v3 and transmit a video feed to the user, but that would be an expensive option (okay, maybe on-board cameras are not expensive in the real world, but scaled to my project, they are expensive). In swarms, cheaper is better. So, I decided to try and use the ultrasonic sensor and create a "range map" of its surroundings. This would a much cheaper solution, although it sacrifices more user information. Nonetheless, I tried it out.

I used the same base model as my earlier shape and maze robots, with added ultrasonic and gyro sensors. The gyro is to measure angle precisely, regardless of the robots size (otherwise, I'd have to do the math for the robots radius, and then calculate the angle, and a bunch of other stuff that would change if I changed the robot).

Here is a video:

Sorry about the bad video quality. My dad has it for the weekend at my little brother's chess tournament.

I hope to apply this to my wifi project. This way, a user can take a robot, or all the robots, for that matter, and ask them to do a quick scan. Then, the robots will populate on the user screen any obstacles with a certain distance from them, creating an effective map the user can utilize.

However, this does not use the Simultaneous Localization and Movement (SLAM) algorithm. This is just a simple, in-spot scan of the vicinity.

Anyway, as always, meaning sooner or later, the RobotC file will be up for you to download if you want. I update this post as soon as it is up.


EDIT: HERE is the link for the program now.

No comments:

Post a Comment