I'd Rather Be Building Robots

June 30, 2009

HiTechnic Sensor Hack

Filed under: Experiments, Sensors — Xander @ 08:57

Click for bigger version In two previous articles (here and here) I had tried to come up with a way to use IR light to gauge distances.  It wasn’t very successful, but such is the risk of trying something new.  So last night, whilst sitting at my laptop, I wondered if there was a way to emulate a $10 device (a Sharp IR Sensor) with more than $100’s worth of NXT sensors.  It seems there is.  I repurposed a HiTechnic IR Link and IR Seeker (v2) and turned them into a very limited IR distance sensor.

Click for larger version So how does it work? Well, remember I mentioned a few articles back how you could turn an IR Link into a beacon by pulsing it at 1200Hz? Well, instead of using the IR Seeker’s direction register to determine where the beacon is, you could, instead, just query the forward pointing sensor (sensor number 2) for signal strength.  Now if you put the IR Link next to the IR Seeker and point them at an object some of the beacon signal from the IR Link is bound to bounce back and be detected by the IR Seeker.  Using the contraption on the left, I set out to take readings at various distances.  The results surprised me a little.

Click for larger version

The first 3 points I expected to look that way, the surface was simply too close.  However, the linearity of the next couple of points really boggled me.  Did this actually work?  They are most likely highly inaccurate as the values bounced around a fair bit, even though the program was taking 10 readings and averaging them out before displaying them.  So there you go, a highly inaccurate, completely impractical IR distance sensor!  I think the EOPD is probably more suitable for this kind of thing but what would the fun be in that?

You can download the program here: [LINK].  Please note that you will need to use my driver suite, too.  You can pick that up here: [LINK].

June 23, 2009

Subsumption, all the cool kids are doing it

Filed under: Ramblings, Robots, Tutorials — Xander @ 21:05

Taken from http://roachnet.wordpress.com/ “Subsumption?” I hear you say, “What’s that?”  Subsumption is a form of behaviour based robotics where multiple behaviours can control a robot using a hierarchical system.  However, don’t take my word for it!  Check out Thom Roach’s great new blog.  He’s written some really ace articles on the subject without reverting to dry stuffy theory like you see in most research papers.  Using clear text and simple diagrams he shows us how you could make a simple robot that uses subsumption to get around.  Be sure to read them in reverse chronological order!

Released: RobotC Driver Suite RC5

Filed under: RobotC Drivers, Sensors — Xander @ 20:31

Some minor changes in this version and some bug fixes.

Changelog:

HTDIR-test1.c (0.2)

  • Partial rewrite by Dick Swan, waits a little longer for sensor initialisation
  • Nicer intro screen
  • Less screen flickering, only updated if there’s been a change in data.

common.h: (0.3.2)

  • makes use of the new alpha’s built-in clearI2CBus(). It is still defined for the older firmwares

MSLL-driver.h: (0.5)

  • Bug in LLreadSteering() fixed

HTPB-driver.h: (0.7)

  • Fixed a couple of function calls that had not been renamed.

TODO:

  • Add UART (RCX) functionality to HiTechnic IR Link driver.

The drivers’ website is here: [LINK]. The documentation can be found here: [LINK]. You can download the software from the Source Forge page here: [LINK].

June 19, 2009

SHOCKING: IR Seeker V2 exposed!!!

Filed under: Exposed, Ramblings, Sensors — Xander @ 20:14

NXT IRSeeker V2Ever wondered what an IR Seeker V2 looks like on the inside but didn’t have a spare $50 you could just throw away?  Well wonder no more!  I was given a pre-production IR Seeker by HiTechnic to write a RobotC driver for it.  The lens cap on it wasn’t as clear as the production version so they sent me a replacement lens cap and sensor cover.  That meant I had to do some minor brain surgery on the sensor casing.  Armed with a sharp blade I went to work. 

Click me for a bigger versionAfter removing the white plastic cover, the lens cap came off smoothly after a bit of prodding and poking.  As you can see on the picture to the right, there are 5 IR sensors, each pointing in a different direction.  The rounded lens cover ensures that they can all receive an undistorted IR signal.  You can click on the picture for a bigger version which shows a bit more detail.

Click me for a bigger version I wasn’t satisfied with just slipping the new lens cover on and closing it all up.  No, I wanted to see it all.  Slowly I pulled the small printed circuit board (PCB) out of its cover. I was not disappointed when I turned it over.  The big chip roughly in the middle is the brains of the whole thing.  It’s a very powerful processor that does all the Digital Signal Processing (DSP) of the 5 sensor inputs.  It can detect both DC and modulated IR signals at 600 and 1200Hz.  The small silver rectangle next to the main processor seems to be an oscillator or crystal running at 10MHz.  I have no idea what the smaller IC does. You can click on the picture of the PCB to see a larger version.

So there you have it; the inside scoop.  The guts of the IR Seeker spilled all over your monitor in all of their glory.  Maybe not as shocking as the title led you to believe, but pretty cool none the less.

June 18, 2009

Released: RobotC Driver Suite RC4

Filed under: RobotC Drivers, Sensors — Xander @ 16:11

A new version of the RobotC Driver Suite has been released.  A driver for the Mindsensors LineLeader sensor was added.  The initial driver was written by Thom Roach and modified by me to fit better into the suite’s framework.  Thank you Thom for your work!

Changelog:

  • Many drivers had their API renamed subtly to be more consistent.  Check the individual drivers to see if they were affected.
  • Mindsensors LineLeader driver added (Thom Roach)
  • AT24C512 driver is now generic EEPROM driver
  • common.h now has a clip() function (Thom Roach)

TODO:

  • Add UART (RCX) functionality to HiTechnic IR Link driver.

The drivers’ website is here: [LINK]. The documentation can be found here: [LINK].  You can download the software from the Source Forge page here: [LINK].

June 17, 2009

Mindsensors support forums are live

Filed under: Ramblings — Xander @ 08:47

LineLeader SensorFor all your Mindsensors specific questions and ideas, you can now point your browsers to their own forums here: [LINK].  Right now it’s still a little quiet, but there’s a small but knowledgeable crowd of sensor beta testers and seasoned robotics programmers ready to answer (most of) your questions.

So come over, introduce yourself and ask away.

Blog at WordPress.com.