A relay lens is a lens or lens set that replicates an image on a different imaging plane with little or no modification. http://en.wikipedia.org/wiki/Relay_lens A borescope is an extreme example.
In this case a double convex lens can focus the floor on the optical mouse chip without having the chip too close to the floor. I once built a sensor to track the slimey encrusted bottom of a ship for a ship hull inspection robot where the lens also sealed against seawater and provided a 3:1 optical motion reduction so the robot could go faster than the mouse wanted to track. The robot wheels tended to slide on the hull but the optical tracker could track without touching.
Hi David: LOL. The pig did cross my mind. (As in male-chauvinist...ha ha.. I could not resist that one.) I don't want to distract from the topic anymore, but I'm just saying that school boys can squeal as much as girls, and some of them even have higher voices for a time. And yes there are usually electronics involved when boys squeal. (I know...I gave a coworker an Enocean energy harvesting dev kit. She came back the next day and said her teenaged son squealed and didn't want to go to the concert or sports event that night with his dad. He wanted to stay home and tinker with the dev kit.)
@Douglas: For a three wheel robot like that, especially running on carpet, I prefer to use a pair of optical mice for movement feedback. It is better if you can use a relay lens to space the mouse sensor up from the floor a little.
Tell me more (like whats a "relay lens") -- can you email me at firstname.lastname@example.org?
@David: And I seem to remember you were going to have an on-board accellerometer?
Yup -- also gyroscopic sensors and a magnetometer. Also ultrasonic range sensors. However, talking to Adam (Aeroengineer) yesterday, he pointed out that untrasonic measurements can be affected by temperature and humitidy, so I'm going to have to have those sensors also. Since this is just a platform for me to play with, I'm going to load it with sensors and then get the robot to use whatever is most appropriate for what it's trying to do at the time (mostly this will involve sneaking up behind the dog and then making a loud noise :-)
@Crusty: So why the shaft encoder? It will not give any more information about wheel slip versus distance, or does it? and you are still going to have to count the pulses in the Arduino code.
First of all there would be three shaft encoders -- one per wheel. Depending on your motor, you can mount them on the back-end of the shaft (before the gearing) or on the output/drive shaft (after the gearing).
The main reason for having them is to provide another way to measure what the robot is actually doing compared to what it thinks it's doing. Also, there's the point that we have the three motrs, so the way they are mounted means that even if we are going "forward" (say an axis from the center directly betwen two of the wheels -- see my previous blog on this topic), a complete rotation of the wheel doesn't actually equate to the robot travelling the same distance as the circumpherance of the wheel.
Don't worry about my Arduino spending all of its time counting pulses from the encoders -- it won't be spending any time doing this -- based on Duane's current "Secret Squirrel" project, all of the boring counting stuff will be off-loaded to distributed sensor processors ... we'll be talking about this more soon...
Blog That A-Ha Moment Larry Desjardin 12 comments Have you ever had an a-ha moment? Sure, you have. The Merriam-Webster dictionary defines it as "a moment of sudden realization, inspiration, insight, recognition, or ...