Society of Robots - Robot Forum

Mechanics and Construction => Mechanics and Construction => Topic started by: Frozeth on September 13, 2009, 04:55:51 PM

Title: Senior Project
Post by: Frozeth on September 13, 2009, 04:55:51 PM
I've decided to create a robot for my senior project, it's a design is based off of the xkcd comic, "new pet" as seen here: [http://imgs.xkcd.com/comics/new_pet.png]
I'm making a few changes to the original design (laptop replaced with microcontroller, webcam replaced with rangefinder, and a few more). Now, I've reached a problem that involves the rangefinder. The magnets might affect the servos (i'm not sure, i've never tried it out), and if they do I won't be able to mount it on top of the ball without possible malfunctioning. So I plan to mount the rangefinders (I'll mount two inside for more accuracy) inside of the glass/plastic ball. This will be more aesthetic as well as less hazardous.

My main question is, are the rangefinders going to be affected by the glass/plastic?

If they are, they would detect the ball and imagine it to be very far away from what I've read on the acroname website. If this occurs then the rangefinder would follow the ball indefinitely, right? Would it detect other objects if it detects the ball? If so, I believe it would follow those since it would detect them to be closer, is this true?
Title: Re: Senior Project
Post by: bsamuels on September 23, 2009, 09:15:53 AM
Yes, they will be very affected by the ball's material. However in spirit of your idea to place the rangefinder on the inside, I suggest cutting a few small pieces of bronze rods (1/8th inch diameter, 1in long) and cutting the ball down its center and using the bronze rods to create a gap between the two sides of the ball so you have something to scan through. The ball will no longer be cylindrical, but it fits your parameters. Only do this with IR sensors, the chances are that sonar will still bounce some of its signal around in the sphere and cause bad readings.

However if a bronze rod happens to be in front of the sensor when you take a reading, you will get a very short range reading or a very long range reading. I suggest creating a subroutine in your code to root out these outlier measurements.