Thread Tools
Jan 16, 2007, 07:22 AM
Registered User
Thread OP
Discussion

Optimum pack of sensors?


Hello,

I am also thinking of designing my own GPS autopilot PCB board, which would include enough inertial sensors.

But what would be the optimum sensor package? Although low cost MEMS sensors are available mainly from Analog Devices and VTI, they do add to the price. I am thinking of this package:

- Pressure sensor to detect the altitude. VTI SCP1000.
- 3D acceleration sensor to detect the orientation of the vehicle based on the direction of the 1g vector. Also to detect smaller sudden movements. Analog Devices ADXL330 or VTI SCA3000.
- Single axis gyro for helicopter control. Analog Devices ADXRS401.

I would very much appreciate comments to these questions:

1. Is the above sensor set enough for practical control? Is there a better set of sensors with a reasonable total price?

2. Is the method of using a 3D acceleration sensor for level control better or worse than adding two more gyros to cover all three axis? A single 3D sensor has much lower cost than three single-axis gyros.

3. There is also an inclinometer called SCA100T available from VTI. The problem is the cost. Would I gain something by adding this sensor to the design? With it I could directly monitor the level of the vehicle. Shouldn't the 3D acceleration sensor be enough, becase it can detect the direction of earth gravitation?
http://www.vti.fi/midcom-serveattach...t_8261800A.pdf

4. Does someone have experience between ADXL330 and VTI SCA3000? The VTI sensor costs more. Is ADXL330 good enough?

5. In addition to the pressure sensor, should there be some other means for detecting the altitude more accurately when near the ground? I guess the barometer approach will never be good enough for automatic landing?

6. Initially I am not going to add a compass module to the design, because the RC environment is quite noisy especially if there is an electric motor. I am thinking that by monitoring the GPS for direction is adequate? Comments?

7. Generally speaking, how adequate is the output quality of the MEMS sensors for autopilot use? For example the ADXRS401 is a low cost analog output sensor. Is it wise to choose a low cost sensor for the gyro? I would like to reach good enough quality for GPS/inertial navigation, but I do not want to increase the price without significant practical improvements.

The idea would be to sell the assembled board as a platform for opensource autopilot development. Due to this, the board must have a reasonable price. I am an electronics engineer working in the GPS field, so this kind of PCB would be quite easy to do. I am also wondering, whether the UAV enhusiast community is big enough for opensource software projects?

Thank you for your comments.
Sign up now
to remove ads between posts
Jan 16, 2007, 12:56 PM
Registered User
Quote:
Originally Posted by Kaptah
Hello,

- Pressure sensor to detect the altitude. VTI SCP1000.
- 3D acceleration sensor to detect the orientation of the vehicle based on the direction of the 1g vector. Also to detect smaller sudden movements. Analog Devices ADXL330 or VTI SCA3000.
- Single axis gyro for helicopter control. Analog Devices ADXRS401.

I would very much appreciate comments to these questions:
Hi there, I will try to answer your questions. My disclaimer is that I am not an avionics expert, merely a humble electrical engineer who has done alot of research on this topic, and once had a vision such as yours.

Quote:
Originally Posted by Kaptah
Hello
1. Is the above sensor set enough for practical control? Is there a better set of sensors with a reasonable total price?
Using accelerometers alone is insufficient to measure the attitude of an aircraft. Unlike a stationary object, whose inclination or orientation can be measured easily with accelerometers alone, an aircraft will experience different accelerations as it goes through maneuvers. I.e. as you are climbing, diving, turning the accelerometers will lose "gravity" as a reference point.

Quote:
Originally Posted by Kaptah
2. Is the method of using a 3D acceleration sensor for level control better or worse than adding two more gyros to cover all three axis? A single 3D sensor has much lower cost than three single-axis gyros.
You will need both gyros and accelerometers to make an INS. The outputs of both are fused using Kalman filters or other algorithms

Quote:
Originally Posted by Kaptah
3. There is also an inclinometer called SCA100T available from VTI. The problem is the cost. Would I gain something by adding this sensor to the design? With it I could directly monitor the level of the vehicle. Shouldn't the 3D acceleration sensor be enough, becase it can detect the direction of earth gravitation?
http://www.vti.fi/midcom-serveattach...t_8261800A.pdf
An inclinometer will not help you. As the aircraft goes into a banking turn, it will see both gravity and a centripedal force towards the center of the turn; thus, the output of the inclinometer will not be with reference to gravity, but with reference to gravity summed with centripedal force.


Quote:
Originally Posted by Kaptah
4. Does someone have experience between ADXL330 and VTI SCA3000? The VTI sensor costs more. Is ADXL330 good enough?
I dont have experience with the SCA3000, but have played around with the ADXL330. Alone, neither will be sufficient for an INS.


Quote:
Originally Posted by Kaptah
5. In addition to the pressure sensor, should there be some other means for detecting the altitude more accurately when near the ground? I guess the barometer approach will never be good enough for automatic landing?
You could use ultrasonic or laser as the aircraft approaches the ground.

Quote:
Originally Posted by Kaptah
6. Initially I am not going to add a compass module to the design, because the RC environment is quite noisy especially if there is an electric motor. I am thinking that by monitoring the GPS for direction is adequate? Comments?
For the most part, a compass module only work when the aircraft is level and the compass is aligned with earth's magnetic field in the way it expects. As soon as you tilt the module (i.e. during a turn) its output becomes erroroneous. You will need something like a 3 axis magnetometer to accomplish heading tracking. GPS will also work quite well for heading, provided you arent using an airframe that can hover. Try a 4hz GPS like the U-Blox.

Quote:
Originally Posted by Kaptah
7. Generally speaking, how adequate is the output quality of the MEMS sensors for autopilot use? For example the ADXRS401 is a low cost analog output sensor. Is it wise to choose a low cost sensor for the gyro? I would like to reach good enough quality for GPS/inertial navigation, but I do not want to increase the price without significant practical improvements.
MEMs sensors are great because they are small and inexpensive. Unfortunately, MEMs gyros suffer from drifting. A gyro alone would be insufficient to make an attitude and heading refernce system (AHRS). You need to fuse together corellated measurement from multiple sensors in order to eliminate drift error and other noise.

I think to accomplish an AHRS/INS using Mems sensors, one would need 3axis Gyro, 3axis Accelerometers, and another "absolute" measurement sensor such as a 3 axis magnetometer or infrared horizon-detecting.

There is already an open source "autopilot" project on Sourceforge, and they are attempting to perfect an INS using gyro/accel/magnetometer for use in helicopters (www.rotomotion.com)

The "paparazzi" open-source autopilot uses horizon-detecting infrared for attitude reference and GPS for position.

Quote:
Originally Posted by Kaptah
The idea would be to sell the assembled board as a platform for opensource autopilot development. Due to this, the board must have a reasonable price. I am an electronics engineer working in the GPS field, so this kind of PCB would be quite easy to do. I am also wondering, whether the UAV enhusiast community is big enough for opensource software projects?

Thank you for your comments.
That would be a good idea, I think the community needs more complete lower-priced INS/AHRS solutions. There are other 6 degree of freedom sensor-packages out there, but most do not come with the required algorithms and software to be used as an aircraft INS.

I would suggest you do more research on this forum and pick up some textbooks if you want to realize this goal. Personally, I started out like you and had similar questions. I did lots of reading, ordered free samples of ADXL gyros and acceleromters. I even went as far as to design and assemble a 6dof sensor board. I'm not using it, because I realize its a daunting task that is beyond my current skill set. I've decided to build up a paparazzi autopilot system and learn more about UAVs and control systems before I dive back into making an INS.

Hope this helps.
Jan 17, 2007, 05:35 AM
Registered User
Thread OP
Hi Jeff,

thanks for your comments! It is true that I am a complete beginner regarding anything related to inertial navigation and control. I have read a bunch of sensor datasheets and that's about it. I understand that the whole system is very complex regarding the software control, perhaps even more complex than to design a navigation algorithm into a GPS receiver. I do not think that I could ever have a nicely working autopilot software by my own. Realistically I could think of accomplishing the hardware platform spiced with a small bit of test software in order to prove that the hardware is working. After that it would be the task for the open source UAV enthusiasts to build something meaningful to that hardware platform.

To philosophise some more, I am not sure whether it is a logical thing to offer such a platform at all. I mean, what is the point of building an RC autopilot? Of couse it is nice to see your software fly, but if the software is done by someone else, where is the fun? The only productive use that I can think of is to take aerial photos or videos. But in the long run, to what end one needs aerial fotos as a hobby? Also, I would assume that in the long run it is not fun to see your plane crash due to a software bug time after time. Due to this all, is an opensource autopilot doomed to fail? On the other hand, the vision of seeing your own UAV disappearing into the sky and after a while coming back with bunch of pictures seems quite thrilling...

I see the that the centripedal force sums up with the gravitational force. So it would seem that the minimum economical enough set would be three single axis gyros, a 3-axis accelerometer and a pressure sensor.

My idea also was, that I would add a 2-way wireless datalink to the board. When flying, the operator would always have a laptop with a suitable control software and real time views to see the state of the autopilot and to communicate with it. However, adding the "basestation" to the PC would again increase the cost of the system by about 250USD.
Jan 17, 2007, 08:11 AM
Registered User

Re: Optimum pack of sensors


You haven;t mentioned how you are going to measure velocity. If you are planning for an autonomous flight, measurement of velocity is must. Requirement is differential Ptiot. Also you can use GPS to obtain velocity but the frequency is 1 hz. The dat from the two can be fused and best estimate of velocity taken by Kalman algorithm.
You will also require angle of attack and sideslip measurement. but alternative is to do compute from the velocity measurements. Same way, the angles of the aircraft with respect to ground frame can be computed by continuously integrating the angular rates you get from gyro, though the error builds up with time.
I too am not really an expert and its just from the various things I have read about it.
For height, it just depends on what accuracy do you require and what height you are flying. You should use sonar sensors at time of landing or take-off.

Best of luck, keep us updated with your project.

Vinsing
Jan 17, 2007, 08:50 AM
Registered User
Thread OP
The only means to measure velocity would be the 3-axis acceleration sensor and the GPS. The type of the GPS is still a bit open, but it would be either a module with an integrated antenna capable of 1Hz output or alternatively another model without the integrated antenna capable of up to 3-5Hz update rate. Is there a big advantage in having a higher update rate than 1Hz?

Again, everything comes back to the total price. If it is too high, no one will buy it, especially if the board doesn't have any kind of decent software. For example the component assembly cost alone tends to be very high for small production lots.

If the target was only to fly slow speed "nicely" flying aeroplanes and sailplanes, wouldn't the control problem be much easier?
Jan 17, 2007, 10:22 AM
Registered User
A pressure sensor for IAS calculations would be a good idea in addition to the GPS speed. It would add cost but controlling speed with GPS only would be very hard in windy conditions. Measuring IAS will also give you the option to calculate drift, windspeed and wind direction. I would actually argue that IAS is more important to have than GPS ground speed from then GPS.

/Magnus
Jan 17, 2007, 01:07 PM
Registered User
Kaptah, measuring airspeed with a noisy little MEMS accelerometer will be virtually impossible. The integration error that accumulates over short distances is significant, even on something detecting forward movement of a robot, let alone an aircraft with 6DOF.

In regards to what Vinsing said: Differential pitot sensors do not measure "velocity" they measure "airspeed". GPS is perfect for computing velocity with respect to ground; however cannot determine airspeed. The only complication with a GPS-only solution is factoring in wind. Paparazzi ap computes an average wind vector by looking at the course corrections needed to fly from A to B. The other disadvantage of GPS-only is you don't know if you are approaching stall airspeed. Regardless, it can be done without airspeed.

I am told by the Paparazzi autopilot guys that the benefit of the 4hz GPS they are currently using, over the 1HZ gps they used previously, is like night and day. At the very least, they are able to use faster airframes with the higher update rate. Even the slower airframes will fly better with more updates on position, altitude, and velocity.

Though I havent flown my paparazzi hardware yet, I have spoken extensively with the developers and users. They have proven their autopilot at Euro/US EMAV competitions taking top prizes. It simply uses 4hz GPS, and 4 thermopiles to detect horizon. The aircraft's groundspeed, location, and altitude is measured by GPS. They do no use pressure sensors. The reason they say is that at low speeds the pressure sensor data is just too inacurate.

Kaptah, don't revinvent the wheel. Boards with 3axis gyros and acceleromteters have been done, and as I said earlier, the two sensors alone are insufficient. The attitude estimate will drift as soon as the aircraft starts a coordinated turn. A long enough coordinate turn and bank indicator will zero out. Even the artificial horizon on a Cessna (or any commercial aircraft) has a time-constant. If you make a coordinated turn for a certain length of time (minutes, hours?) the bank indicator will return to level. Again, this is because the accelerometers lose gravity as a frame of reference.

Check this out:
http://www.sparkfun.com/commerce/pro...roducts_id=754

This board has Gyro, accelerometer, AND magnetometer. Unfortunately its a 2axis magnetometer probably intended as a comapass. One would need a 3 axis magnetometer to make the INS work.
Jan 17, 2007, 05:09 PM
Registered User
Thread OP
The thermopile seems to be an interesting way to determine the attitude. However, it seems that the IR sensors definitely need to be pointed also towards the sky and earth to make the calibration easy. Due to this the sensors should point at six directions at the same time. Also, I guess other sensors are still needed because the temperature reading vs. tilt can not be profiled every time before flight (too complex). The thermopile method would be just to calibrate the mems sensors to zero deg roll and pitch on-the-fly every now and then?

Do you know, whether the Paparazzi developers are actively aiming towards a "final", integrated commercial autopilot hardware solution?

Often the altitude reading reported by the GPS is not reliable and the absolute value may drift depending on the GPS satellite configuration. Due to this I'm considering the use of the pressure sensor. Perhaps even this:
http://www.sparkfun.com/commerce/pro...roducts_id=639

It is also a nice idea in Paparazzi to use the audio channel of the video transmitter to send data. Perhaps this could be even better way than to use a separate data tranceiver. Nowdays pretty much all the ISM band transmitters need to be on the 2.4GHz band, because it is the only global ISM frequency. Getting also real-time video would be a big plus, perhaps even better than having an autopilot at all...

Have you heard, whether the output of the magnetometer is accurate enough, when there is a lot of nearby electronics possibly messing up the magnetic field?

On the other hand, I have to say that there seems to be quite a lot of projects going on already, so why bother to do anything...
Jan 18, 2007, 08:43 AM
Registered User
Sorry for using the wrong term. Differential Pitot measures airspeed. The issues with GPS only velocity control have been rightly put forth by Magnus and Jeffelec.
I don't think your cost will be too much increased with the use of pitot. Also, I recommend to perform flight test in still air weather where airspeed and groundspeed are nearly same. This way you can callibrate the pitot with GPS velocity.
But I think you can go about with 4 hz GPS. But if you are planning fro autonomous landing, I guess GPS may not be suitable, as the accuracy of altitude data is 10 m. You don't know much above the ground you are when you are going to land. I am not sure whether there are more accurate GPS available or not. I guess its not available in my country as far as I know.
Another use of MEMS accelerometer sensors is estimate the orientation, theta, phi in a trim condition from acceleration components. This you can fuse with Gyro integrated angles through Kalman algorithm.
This switching algortihm can be efficiently used to fuse the sensor data.
I am not really knowing much about thermopiles. I would not recommend using magnetometer. It is unnecessary when you can get heading through GPS data and fuse it through Kalman with gyro integrated value.

Vinsing
Jan 18, 2007, 08:56 AM
Registered User
I guess Ill chime in about the thermopiles. 4 sensors alone will not do allow for smooth flight during any duration in flight, changes in the terrain atmosphere etc will change the calibration and cause problems. There are 2 solutions to this. Using 6 sensors, 2 of which are vertical, and analyzing the relationship between the difference of these sensors and the horizontal ones(the paparazzi code does this). Or Use the GPS data to correct new changes in the 4 sensor config utilizing coordinated turn hypothesis. The latter works well on larger airframes(gas trainers, twinstars, etc). For smaller UAVs ie; microjets, Black Ones, MACs, and DragonSlayers the third set is invaluable. As far as altitude goes in my experience when GPS goes a bit bad altitude is first to go, so a pressure sensor may not be a bad thing. Although if the nav goes on the GPS too you could be screwed anyways.

AntonK
Jan 18, 2007, 09:21 AM
Registered User
Thread OP
To what purpose do I need the airspeed information? Also, if I have a barometer, a MEMS inclinometer and I assume that my 4Hz GPS data (not including the altitude) is reliable enough, where do I need pitch and roll gyros? Can't I just calculate the centrifugal force from the altitude change of the barometer and the coordinate changes and speed of the GPS indication? Then I should be able to extract the true inclination at a given time? I ask this, because I am still trying to find a good enough cheap solution.

How important is the yaw gyro in an airplane autopilot?
Jan 18, 2007, 09:44 AM
Registered User
"To what purpose do I need the airspeed information?"

An example:
Let's say that the cruise speed of the plane is 30 knots. Stall speed is 20 knots.
We are flying with a tail wind of 15 knots.
The Autopilot try to fly the plane at a speed of 30 knots from the GPS. In reality the plane has an Air speed (IAS) of 30-15=15 knots and are falling out of the sky.

Headwind could also be a problem. 30+15=45 knots which could exceed the maximum speed the airframe.

This is why measuring airspeed is important.

Most of our (planned) UAVs are not flying very high but the while the plane stall at a the same IAS (indicated (measuerd) airspeed) at any height, the plane will stall at a much higher ground speed at high altitude.

/Magnus
Last edited by skogsvargen; Jan 18, 2007 at 09:50 AM.
Jan 18, 2007, 10:11 AM
Registered User
Thread OP
Ok now I understand the importance of the airspeed indication. What if the stalling condition was just detected by the inclinometer and the autopilot would then just increase the speed? Perhaps the autopilot could have some kind of knowledge of the normal ground speed achieved at some propeller rpm? Then it could see the wind effect by comparing the current ground speed and the motor rpm.
Jan 18, 2007, 10:57 AM
Registered User
Kaptah, I guess itīs possible to do estimations, but i think that adding a pressure sensor to measure air speed is a simple and efficient solution. I would say that it is one of the more important sensors to have as long as you are going to fly in any windy conditions.

/Magnus
Jan 18, 2007, 12:59 PM
Registered User
Quote:
Originally Posted by AntonK
I guess Ill chime in about the thermopiles. 4 sensors alone will not do allow for smooth flight during any duration in flight, changes in the terrain atmosphere etc will change the calibration and cause problems. There are 2 solutions to this. Using 6 sensors, 2 of which are vertical, and analyzing the relationship between the difference of these sensors and the horizontal ones(the paparazzi code does this). Or Use the GPS data to correct new changes in the 4 sensor config utilizing coordinated turn hypothesis. The latter works well on larger airframes(gas trainers, twinstars, etc). For smaller UAVs ie; microjets, Black Ones, MACs, and DragonSlayers the third set is invaluable. As far as altitude goes in my experience when GPS goes a bit bad altitude is first to go, so a pressure sensor may not be a bad thing. Although if the nav goes on the GPS too you could be screwed anyways.

AntonK
Thanks Anton. I forgot to mention the Z-sensor. I didn't know you lurked here.


Quick Reply
Message:

Thread Tools