3-d INS navigation is “go”

Found a problem with my algebra in the 2-d navigation box, and reduced the X-Y position error down to about 1/2 m per min when the robot is moving countinuously, and less when it’s moving sporadically.

I even managed to mount the components neatly on a bit of plastic!   The whole thing (with room for tiltmeters and GPS) is around 5×5x1 cm. Of course, it’s not in a box, yet. :)

There was also some kind of problem with the C library’s trig functions, that mean converting from robot polar co-ords to Cartesian world co-ords had a whole lot of noise added every now and then. So I stopped converting and the world is now in polar coords wrt the robot’s original position.

But enough of 2-d, I’ve moved on!

By turning the 2-axis accel on its side (so that Y points up/down and X points along the axis of the tankbot), I now have a 3-d nav board with the world in cylindrical co-ords. Again, the drift is a modest 1/2 m per min in terms of "distance" (i.e. X and Y and about 75 cm per min each).

And so I’m ready to start playing the differential GPS.

I got a cheap old Trimble ACE II from a guy scrapping sat dishes and it was pretty easy to get it going.

The 8-pin header on the board provides 2 serial ports (one with NMEA output; another with Trimbles own TIPS protocol to config the board) and power supplies (has a 3.3 backup as well as vdd 5v).

Initial experiments seemed to be successful, although I’m still reading the NMEA spec.

As I said, the unit is pretty old, so only has 8 channels of sat input, and takes a remarkable 45 sec to cold start (i.e. between power-on and first NMEA position output). But it takes (apparently) 15-30 mins to upload a complete database so position requests can’t be more than a couple a minute until that time.

As part of the experimentation, I fudged some GPS correction commands and managed to activate the differential mode. According to the probably dated manual, DGPS on the board can get position errors down to 2 m.

So the design path is clear — add the GPS into the filtering regime and feed back INS corrections to the GPS board.

According to docs for "GPS-only" el-cheapo navigation boxes, even *just* the GPS should filter down to a pretty good position estimate.  With the INS and motor controls in the mix, it should be able to do even better.

But I’d be happy with a few cm "inside" and a couple meters "outside".

Among other recent deliveries are a couple of long-range IR sensors. I didn’t know Sharp made anything that ranged beyond 30 cm, but the A700 can detect up to 5.5 m out — beyond the range of some cheap sonar sensors! But it’s a monster!


The attached vid is the latest "Wall-E" promo to hit my inbox.

 

 

2 Comments

  • On 06.30.08 kym said:

    According to Jim (“stand-up comic, race car driver and ham radio operator. I must have issues!”):

    “This is a GPS receiver PCB removed from a functioning satellite transponder. ”

    So I presume he means an earth-side transponder/repeater.

  • On 06.30.08 ash said:

    Looking good Kym :)

    Was that GPS unit from an actual satellite dish? Is that for an auto calibration function or something?