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
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).
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.
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.
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
|