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
An inertial navigation platform built of
low cost sensors is basically possible. Although the achieved precision is
sufficient to measure the actual spatial representation (angles &
acceleration), further improvements have to be realized in algorithms and
hardware to get also sufficient accuracy for position measurement. (refer to the
section 14.4.1)
Due to the use of the component INA2126
instead of the initial component AMP04, we had also to remove the system to
filter and amplified the output of the accelerometer. A greater operational
range and the reduction of the white noise will improve the result. For that
reason, it could be interesting to use an analogical instead of a numeric
filter. In addition, to use a gyro with a greater operating range will probably
avoiding that it saturates if the MMR turn too quickly (and consequently to
drive an error in the angle’s determination).
To increase the distinction between
operating cases (tilt, acceleration, perturbation…) will greatly improve the
overall efficiency. For example, an accelerometer that could measure the
acceleration according to z-axis will differentiate the acceleration to a tilt.
A second solution could be to use the value of the acceleration from the
odometry to differentiate the case.
The most important part missing on the
project is the implementation on the robot. The time has been not enough to
realise this part. The first step would be to modify the program ‘smrd.c’ to
adapt our device. To that purpose, an easy solution could be to replace the
address of the port on viewport or Xcompass by the address of the daemon. This
later could then interface the port. A second solution could be to use the
execute() method on utils.a that create a pipe to a process to communicate
with.
Once the connection established, the
value from the odometry and from the GPS (for the MMR) will increase the
accuracy. All the positioning system present on the MMR could be use together.
The GPS will give an absolute position of the MMR on the earth this value could
setup the declination to obtain the geographic north.
To finish, it modification on the
calculation of the magnetic field have to be done to compensate the transverse
magnetic field effect. Magnetic sensors are generally sensitive to an applied
magnetic field in a single direction (refer to the section 18.4).
|