|
Re: Best way to detect a bot
Hi all!
During the ring-playing game two years ago, our team used an array of ultrasonic sensors to detect not only the the base of the rack, but also the spider leg caps. They were the MaxBotix LV1's, and I just wanted to highlight a few of the issues with using such a system. As it was, the system (I built it at as an extra project) only really worked well in Las Vegas - helped us win the regional - but they were touchy little buggers.
The MaxBotix sensors are pretty well directional, which makes them ideal for FIRST sensors. They are also highly flexible and have an array of fun abilities that come in handy - serial communication, PWM outputs, analog outputs and chainable single-shot modes are common features. Maxbotix even has a few with different directionalities. That being said, there are a few challenges with Ultrasonic.
The first and foremost is the use of multiple sensors. If they are all on the same frequency (MaxBotix uses 40 khz) then signals coming from one can be interpreted as a return from another, causing garbage readings. The best way to fix this is to cycle through each sensor independently, so there is never more than one sensor going at once, but this takes a little more work than just a plug 'n play solution.
The other problem is what is called multipath. For a FIRST bot, the most predictable place to detect another 'bot is about 6" off the ground. Unfortunately, it is around this height that the ultrasonic signal begins to bounce off the floor, causing multiple return signals that usually result in inconsistent or dirty readings. This is solved by raising the sensor off the floor, or by averaging many values, but either way means that robot detection is rendered difficult.
In short, ultrasonic is a viable solution (and, in my opinion, better than IR) but it has a few significant drawbacks that must be addressed it is to be used in an effective manner.
Sparks
|