Electronic – Primitive navigation system

navigationrobotics

In my spare time I've decided to create something on my own. I've never designed difficult things, but I'm very curious, moreover experience would never be useless 😉 I decided to create a robot, but I want to do this from 0: schematic, programming to do this the way I want. And the important one: I want it to be autonomous as more as possible (self charging, path finding – some kind of intellectual robot).

I have experience with MCUs and simple logic devices, so I can imagine, which way should robot move, which way I could control it etc. But to achieve desired autonomy at first I should create a way to interact with it (autonomy dictates – radio transmitter-receiver) and some kind of navigation system. Well, this is my way of thinking and I think so.
So for now my question is: which ways is it possible to track movements of a robot, current position and what accuracy is achievable?

Broadly used radio-location is useless here because I have no intentions to measure distances about km (really centimetres and meters – in my room). GPS is useless too as signal is lost in-door.

I was thinking about to use servomotors and count ticks(!), but it is not so reliable as wants to be (robot could rotate wheels, but not move).

I was thinking about GPS in miniature: putting several antennae and measure distances (this is just an idea, which may be either nonsense or unrealisable).

Recently I found inertial navigation system (INS) article on wikipedia, but I'm confused with integral error rate. Wiki states error level expected is to be approximately 650m, which is no good at all.

Did anyone deal with similar problems? If someone could tell me practically obtained accuracy values for different navigation systems or some concepts, ideas or even papers concerning that?

I repeat once again – no industrial realisations, I want to do this on my own with available elements, costing reasonable money.

Best Answer

An INS will suffer from errors due to accelerometer drift. Using a Kalman filter along with better and more accurate Giros will help this situation greatly. Basically doing the maths means better accuracy giros can compensate for not so great accelerometers. You can always add some extra sensors such as magentometer and this will give you another input into your system, once again it will help reduce drift errors.

Wheel encoders are great, provided you do not suffer from slippage. As soon as a wheel slips you will get innaccurate readings.

Another method (as used on mars pathfinders!) is to use optical systems. Two cameras, one processor, and some algorithms and you will be able to accurately and reliably calculate distance travelled! This is easier to implement if you have lots of easily identified static items around the room for the algorithm to pickup on.

You could also instrument your room! this means you could place RF, magnetic, or white lines around the room and use an appropriate sensor and use them for navigation!

Another method is to use simple ultrasonic sensors (reverse parking sensors anyone?) these will aide collision avoidance! fuse them with INS sensors and magnetometer and you will far more accurate position tracking system. Or use them on their own and avoid hitting stuff!!!!