Monday, February 13, 2006

New Compass sensor, and sensor multiplexing

More exciting news, previously picked up by Jim: HiTechnic announces a NXT compatible compass sensor. The compass is more than accurate enough for Lego creatures: it has a 0,5 degree error margin. The sensor is plug and play, and programs using it should be really easy to build: the sensor simply returns a value from 0 to 359 degrees. Since the compass sensor can send back a value between 0 and 359, the sensor input on the NXT must be (at least) 16-bit. On the RCX, it was only 8-bit, and the compass sensor only had an accuracy of 3,6 degrees.

© HiTechnic. HiTechnic's Existing RCX Compass Sensor

HiTechnic is not just announcing the new sensor, they have it working and are going to distribute it to a number of people that are selected by Lego for their Mindstorms Developer's Program, starting in February. Well, since Lego will be taking February for their own decision process, I guess the first sensors will be shipped in March. That's amazingly fast! I'm really looking forward to how I can create smart behaviors using this new sensor. Gupi certainly can benefit a lot from it.

Lego Mindstorms NXT isn't out yet, but robot designs already come with tough choices. There is the touch sensor, the ultrasound sensor, the light sensor and the sound sensor. And now, there's also a compass. All of these sensors help a Lego creature to get around in the world. But unfortunately, there are only four sensor connectors. Putting the compass in, means taking some other sensor out. But I want them all! It would be nice if someone built a hub (multiplexer) for Lego sensors.
  • For touch sensors, multiple sensors could be combined into a single digital signal where each bit represents the state of the touch sensor.
  • Some other sensors need to be read less frequently. For instance, there is no harm in reading the compass slightly slower. If the light sensor is used to identify the color of the ball, it is probably acceptable to have a small delay as well. Using this principle, it may be possible for multiple sensors to do "time-sharing" on a single sensor port, essentially cycling through the sensors and feeding back their values one by one, likely with a sequence start special indicator value.
  • A third possible way to create a hub is by using the motor output to select the sensor used, and the motor position feedback channel to provide sensor data. I'm not sure how feasible that last option is. Even if it is, I'd prefer not to occupy motor ports for sensor reading.

Either way, it is really encouraging the HiTechnic is bringing out this sensor for NXT. A compass is now available with no soldering whatsoever. The compass should make it a lot easier to create Lego creatures capable of returning home.


At February 14, 2006 12:09 AM , Blogger Jim Kelly said...

I can understand LEGO having constraints on the Intelligent Brick... there are always financial constraints on a product, too. Having 4 input and 3 output ports seems limiting, but we always seem to work with what we're given...

I'm sure there will be new sensors being released constantly that will give us more functionality, and maybe you're right - maybe someone will combine a few of them to save a port.


At February 14, 2006 1:06 AM , Anonymous Filip said...

I agree, Jim. Back when we were designing Gupi, the sensor tradeoffs were hard to make too.

Also, I'd like others to easily recreate the robots I make, so there's also a lot of sense to sticking to the standard sensors that come with NXT.

Then again, it's pretty cool what you can do on smart navigation with that compass.


Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home