Re: Ultrasonic sensor interactions
"Brian Davis" <[email protected]> Sun, 21 May 2006 14:42:49 GMT
| Newsgroups | gmane.comp.hardware.lego.robotics |
|---|---|
| Organization | None |
| Message-ID | <[email protected]> |
In lugnet.robotics, steve <[email protected]> wrote: > Someone earlier told us that the thing runs all the time and > can't even be shut off. That being the case, I think we're > pretty much doomed. I was the one that mentioned that I couldn't find a way from the SW I have to turn the US sensor off. That said, I don't think it's time yet to worry about intractable problems: A hundred of us or so have been playing with this stuff for a number of months. That's *nothing* compared to what's going to happen later this year. Specificly, I can not find a way to turn off the US sensor from the LEGO-provided SW environment. There may very well be some functionality at a lower level I don't have access to (at the moment), or LEGO themselves may do something about this (after all, for FLL it will be an issue). > Robots don't move very fast - and they can (in principle) > deliberately slow down when they detect too much ultrasound > 'traffic' to get frequent readings. I don't think this is a solution for all (or even many) situations. If you are working in a "toy" world (one where the environment is very well controled), you may have a point. But I've used IR pinging ("lidar") in LEGO sumo where speed was of the essence: if my robot couldn't locate and track a rapidly-moving robot, it was worthless. Likewise for tracking "normal" objects (people moving around the robot) speed is going to be important. > If software can control when it emits a ping and gets > some kind of a signal when it detects incoming ultrasound > - then we can use the Aloha protocol (or some simple > variation of it) to solve the problem without scheduling. I suspect detecting a "corrupted" signal is going to be tricky at best. As John mentioned, the US pings are not coded, so you don't know if you are listening to the echo of your pulse or the echo of another robots pulse. Theonly headway I've made on this is with two NXT US sensors operating in the environment, you can almost always say the object is not *closer* than the return (in other words, you can (& do!) have lots of "false positives" due to recieving somebody elses ping - but you *almost* never have a "false negative" where your sensor doesn't see an object that really is there). I'm sure you can get farther with some analysis if the objects in the environment aren't moving, but I've been trying (playing) with other things. > If the sensor actually pings 10 times a second... I've not been able to exactly measure how fast the US sensor pings, but from simply (trying!) to count the barely audiable pings it seems around 10/second. But another interesting fact comes up when I do that - I can hear variation in the ping rate. So *something* within the sensor or firmware (not the SW) can alter the ping rate - I just don't have control over it from a SW level (yet). Note BTW that you can sample the US sensor every 0.4 ms or so, but what you get is the same range repeatedly, until (presumably) the US sensor updates that value with a new valid reading. In other words it seems you can poll the sensor far faster than the sensor can currently generate new ranges. > Without a positive answer to that one, I don't see how we can > use ultrasound in a multi-robot setting. See the false positive vs. false negative description above. And let's wait until we can access stuff at a lower level. AND I can't wait to see what the community as a whole can do with this. -- Brian Davis