Tilt Compensation Azimuth ? with Pitch Ø et le Roll ?
March 19th, 2011 by jed 9 comments »A) Introduction
We need to calculate the Azimuth ? or its course. According to Wikipedia,the Azimuth or the course is the angle that the intended path of the boat makes with a fixed reference object (typically true north). Typically course is measured in degrees from 0° clockwise to 360° in compass convention (0° being north, 90° being east). Course is customarily expressed in three digits, using preliminary zeros if needed, e.g. 058°. This angle is measured using a compass, a magnetic compass or gyro.
The components that I have chosen to calculate my Azimuth:
HMC5843 magnetic compass is a three-axis magnetometer. It identifies the angle of rotation relative to the magnetic north of the Earth with a resolution of 7 milli-gauss.
The accelerometer AXL335 delivering voltages proportional to acceleration with a sensitivity: + / – 3 g.
B) Calculate Azimuth ? without compensation:
This expression works if the HMC5843 is not tilted.
ps: Warning in Excel, you must reverse the values for atan2, it can save you time ….
You can download a sample program that demonstrates how to read a microcontroller ATMega328 HMC5843
Download: here
C) The angles Ø Pitch and Roll ? for a two-axis accelerometer and three axis:
With the ADXL335 accelerometer, it is possible to calculate the pitch Ø and Roll ? to correct our azimuth ?. Here is a scheme to visualize the angle on the boat.
For a two-axis accelerometer following equation:
For a three-axis accelerometer as the HMC5843 equation here:
D) Azimuth ? tilt compensation :
The HMC5843 provides correct values if it is flat. So every time my boat will be tilted angle the rotation relative to magnetic north by the compass given no longer correct. It is possible to compensate for this error (tilt compensation) using the values of the compass and an accelerometer.
That compensation is also possible for two lines with the compass algorithm Yun Seong Cho and Chan Gook Park, which allows using the dip angle to estimate the third axis. You can download their work below
Download : TiltCompensation.pdf
For a two-axis magnetometer, you must calculate the dip angle to approximate the third axis Z.
To calculate :
ex: ou 48.86213° coïncide avec ma latitude.
Compass for two axes, it is necessary to approximate the third axis Z by the value of the dip angle
However, to get more accurate values, it is better to use a compass as the HMC5843 three axes.
To calculate the azimuth with compensation:
Horizontal vector :
Vertical vector :
Heading :
Links : http://fr.wikipedia.org/wiki/Cap_%28navigation%29
Components selected
March 19th, 2011 by jed No comments »A) Components selected :
The main motherboard responsible for performing the calculations, the choice is the Fox board Board G20
His features
Power |
+ 5 Volts |
Consumption |
60 mA |
Processeur | ARM9™ AT91SAM9G20400 MHz d’Atmel™ |
Memory | 64mbyte@ 32bit 133MHZ |
I/0 | – 28 portsd’entrées/sorties
– 2 ports série (niveau 3,3 V) – 4 entrées de conversion “A/N” – bus I2C™ / SPI™ – Sortie PWM |
The GPS is the MediaTek MT3329
His features
Channels | 66 channels |
Sensitivity | -165dBm tracking |
Maximum update rate | up to 10Hz |
Dimension? | 16mm x 16mm x 6mm |
Position Accuracy | Position Accuracy |
Cold Start | under 35 seconds (Typical) |
Warm Start | under 34 seconds (Typical) |
Hot Start | under 1 second (Typical) |
Low Power Consumption | 48mA @ acquisition, 37mA @ tracking |
Low shut-down current consumption? | 15uA, typical |
The magnetometer is the HMC5843 three axes:
Alimentation |
voltage of 2.5-3.3VDC |
Sorties |
|
Dimensions |
0.5×0.5″ (12.7×12.7mm) |
Alimentation |
|
Consommation |
|
Résolution |
|
Précision |
|
Filtrage |
|
Sorties |
I2C interface |
The accelerometer is the ADXL335
His features
Dimensions | 4 mm × 4 mm × 1.45 mm LFCSP |
Sensing | 3-axis sensing |
Consommation | Low power – 350 ?A (typical) |
Excellent temperature stability | |
Single-supply operation1.8 V to 3.6 V |
Communication is based on XBee
Alimentation |
+ 3.3 Volts |
Consommation |
210 mA |
Puissance |
50 mW (+17 dBm) power output |
Point-to-multipointnetworking ideal for low-latency applications
Support for large, dense networks128-bit AES encryption RPSMA connector Industrial temperature rating (-40° C to +85° C) Advanced mesh networking and low-power modes supported |
|
2- The expression of needs
January 10th, 2011 by jed No comments »A) Introduction
The main component of my project is a sailboat. This boat must be large enough to allow the integration of all electronic components. The boat performances need to be satisfactory. However, the project’s main goal is not high-performance because it requires more investments. The boat must have a reasonable stability. By stability we mean the resistance of the boat to tilt under the influence of external forces, but also the balance when the boat is not subjected to external forces. The bulb of the keel acts as a force to the bottom by his weight and strength led by the up by Buoyancy. When the boat heels, the center of gravity shifts depending on the inclination.B) Electronic Components
First, I need a motherboard that will perform all calculations and the managment the navigation system. This motherboard will use a small space so I can install it in my sailboat. On the other hand, it should be powerful enough to perform all calculations in a period of less than 1 / s. This card should consume as little energy as possible and have a large number of input-output PWM, I2C, Serial port, but also the ADC (Analog Digital Converter). Finally, this motherboard will run on a Linux system. Second, I need a GPS to determine the latitude longitude position of the boat. We need the support of GPS EGNOS / WAAS to improve accuracy. As the main motherboard, the consumption and size are very important criteria. Third, I need a set of sensors, an accelerometer, a magnetometer, a wind vane, an anemometer (optional). The magnetometer will have a margin of error of less than 1 ° to determine the direction followed by the boat. An accelerometer with a sensitivity of + / – 2g to measure the heeling of the boat (cottage), but also to correct the values provided by the magnetometer. Finally, the wind vane will calculate the true/apparent wind direction (TWA) / with a margin of error if possible of less than 1 °.
Fourth, I need a long-range communication system to communicate from the ground station and to monitor the sensors.
Finally, the battery will allow it to operate all electronic equipment with an autonomy of around 12 hours. We could also use solar panels / small wind / hyrdroeoliennes to increase this autonomy.
1- Pre-Opportunity Review AUSV
December 19th, 2010 by jed No comments »I am working on building an autonomous sailboat AUSV (Autonomous Unmanned Surface Vehicle) type model-making. This project includes several sensors, such as a GPS, a magnetometer, an accelerometer, an anemometer, a vane direction. The ultimate goal is, for example to have the sailboat leave Saint-Malo and sail to Dinard on its own.
For the navigation I plan to use an algorithm of reinforcement learning. The reinforcement learning refers to a class of problems of machine learning, whose goal is to learn from experience, what to do in different situations, to maximize a digital reward over time.
Why this project? I am computer science student. This project is a challenge for me. In my view, taking up a challenge improves yourself. I have limited skills in electronics, this project will give me the opportunity to develop and improve my knowledge. In addition, the design of a project of this size will strengthen my perseverance and my rigour, which are essential to a good practice of my profession.
Sailboats consume very little energy because they can move with the wind. Today, the issue of renewable energy is becoming essential.
Shipping with fossil fuels is unsustainable on the long term. It is possible that autonomous sailboats, in the next century, can carry containers thanks to the wind with satisfactory results regarding energy consumption and time.
I started thinking about the technical and financial feasibility of my project. I beginning to have a clear vision of budget / time / skills required.
Therefore, I am looking for support.
You want to help? You have an idea, any advice .. ? I’m interested:
You can contact me here
I am working on building an autonomous sailboat AUSV (Autonomous Unmanned Surface Vehicle) type model-making. This project includes several sensors, such as a GPS, a magnetometer, an accelerometer, an anemometer, a vane direction. The ultimate goal is, for example to have the sailboat leave Saint-Malo and sail to Dinard on its own.
For the navigation I plan to use an algorithm of reinforcement learning. The reinforcement learning refers to a class of problems of machine learning, whose goal is to learn from experience, what to do in different situations, to maximize a digital reward over time.
Why this project? I am computer science student. This project is a challenge for me. In my view, taking up a challenge improves yourself. I have limited skills in electronics, this project will give me the opportunity to develop and improve my knowledge. In addition, the design of a project of this size will strengthen my perseverance and my rigour, which are essential to a good practice of my profession.
Sailboats consume very little energy because they can move with the wind. Today, the issue of renewable energy is becoming essential.
Shipping with fossil fuels is unsustainable on the long term. It is possible that autonomous sailboats, in the next century, can carry containers thanks to the wind with satisfactory results regarding energy consumption and time.
I started thinking about the technical and financial feasibility of my project. I beginning to have a clear vision of budget / time / skills required.
Therefore, I am looking for support.
You want to help? You have an idea, any advice .. ? I’m interested:
You can contact me here