introduction of smart compass

Table of contents
3.Introduction
4.Specification requirements
5.Solutions suggestions
6.The magnetic fields sensors
7.The inclination measurement system
8.The gyroscope
9.The data acquisition system
10.Communication system
11.The power supply
12.Realisation of the PCB
13.The embedded system
14.Static Library Util.a
15.ViewPort
16.Xcompass
17.Sensors controller commands
18.Test
19.Future improvements
20.Conclusion
21.References

3.    Introduction

Since many years yet, numerous devices have been developed to determine accurately the position of an object in the space. The most famous applications for this kind of instruments are the navigation’s systems that are very useful in the aeronautic and the marine or the industry. Actually a driver can land a plane directly from the positioning instrument, without even see the land’s track. These performances required a high performance from the sensors to give the position with an important accuracy.

The operating principle of these sensors is based on information such as the relative displacements, the speed, the recognition of know shape and more recently triangulation. Consequently, many mechanisms where invented to give these information, like gyro, accelerometer, compass, laser, GPS…

We will try during this project to develop a system able to use a combination of different sensors to assist the navigation of two robots. Each type of sensors presents different characteristics that allow calculating the angular rate (gyroscope), determining the azimuth (compass), evaluating the inclination (accelerometer).

3.1.                      Objective

The centre of interest of this project is to design and to build an electromagnetic compass that is able to indicate the magnetic north with accuracy around 1˚.

This system will be design for the MMR, but it should be pluggable on the SMR. This specification leads to supply the voltage from a 12 and 24 Volt battery. The system has to be easy to interface, to communicate and to indicate the required measurements. Both robots use the same operating program and ports. Therefore, the software is implemented on Linux and the communication has to take place on RS232 and RS485 port.

In addition, it must works indifferently indoor and outdoor. Consequently, the card has to be water proof and high or low temperature tolerant. Moreover, the system has to be able to deal with the wide variety of situations that may occur when driving in public space. That means it should be disturb as less as possible by the robot’s inclination or magnetic interference.

The navigation system needs to be compatible with the other system like the GPS and the odometry, and to improve the position by confirming or infirming the results given by the other sensors. If inconsistent data lead to the impossibility to determine the north, an efficient detection has to take place to prevent the error to disturb the other system.

3.2.                     Motivation and previous works

Different projects on robots’ positioning system have been realised in the department of IAU. They obtain good results for the indoor application but they were not satisfactory outdoors: navigation based on the odometry is generally unpredictable outdoors due to the ground’s irregularity. To bypass this problem, the MMR and the UAV corroborate their position with a GPS. Still, this system has reached its limits: The accuracy of this latter, which is approximately 10 meters, is not sufficient to drive these robots. It results that sometime the MMR turns in round when it should go forward.

To increase the positioning precision, the UAV[1] is also equipped by gyros to measure the velocity rotation on each axis. However, the results were useless due to sensors saturation caused by outside conditions such as the motor’s vibrations. Nevertheless, a system based on gyroscopes could be a good solution to calculate the position over a short period. Indeed, this kind of sensors is accurate on a stable environment but its main default is to have a low drift of the mean value during the time. As the velocity is integrated to obtain the angular rate, the error then becomes more and more important.

It now seems interesting to implement a new kind of sensor, as magnetic field sensor, that will not be disturbed by the same perturbations. In that case, we would be able to compensate the positioning errors from the two different results and according to the situation.

3.3.                     Nomenclature

            We have used throughout this report the following abbreviation concerning the design of the sensors and the environment of the robot:

GPS:    Global Positioning System  

ADC: Analogue-to-Digital Converter

MCU: Micro Controller Unit

SO:      Small Outline

SOIC: Small Outline Integrated Circuit

DIP:    Dual-In-Line Package

PDIP: Plastic Dual-In-Line Package

SIP:     Single-In-Line Package

PCB:   Printed Circuit Board

RS232: Recommended standard for the serial communication

RS485: Multipoint standard interface in serial communication

contact - link to this site