3-d INS navigation is "go"

kymhorsell's picture

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 5x5x1 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.

 

 

video: 

Comments

ash's picture

Looking good Kym :) Was

Looking good Kym :)

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

According to Jim ("stand-up

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.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <h1> <h2> <h3> <h4> <h5> <quote> <a> <em> <strong> <u> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <p> <sub> <sup> <strike> <blockquote> <hr> <br> </quote>
  • Lines and paragraphs break automatically.

More information about formatting options