Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

forward acceleraion

139 views
Skip to first unread message

Roby

unread,
Apr 11, 2020, 9:15:03 AM4/11/20
to uavdevboard
Hello Guys,

I hope you are all safe. I have an idea I would like to discuss.

In his latest MatrixPilot version Bill calculates forward acceleration using GPS velocities to compensate accelerometer measurements. I have another idea that may help in getting rid of  GPS.
Since estimating pitch angle is possible (done by Bill), I propose that we place a single channel accurate accelerometer in the x-axis direction of our plane and subtract 'gravity x pitch-angle' from its measurements to obtain
forward acceleration. This will then replace  forward accelerations computed from from GPS velocities.
Let me know if this makes sense.

Cheers,
Roby

Guy-François MESNIL

unread,
Apr 14, 2020, 2:58:28 AM4/14/20
to uavdevboard
Hi Roby,
To discuss your proposal, we need to have more details about your evoked solution to compute forward acceleration :
  1. What do you mean by "accurate" x-axis accelerometer? What precision you hope to get with this new accelerometer?
  2. How can you be sure the aircraft maintains level flight to confirm that vertical acceleration is gravity?
  3. Using GPS to evaluate acceleration allows to have two independant sensors to evaluate the same measurement.
    GPS is certainly not the best sensor to give acceleration, but there in no other sensor on board!
    Even adding a second MEMS accelerometer the problem remains...
Best regards,
gfm

Roby

unread,
Apr 14, 2020, 3:49:37 AM4/14/20
to uavdevboard
Hi Guy,

I think that the issue of finding the forward acceleration from the accelerometer is excluded in UDB due to the fact that it needs to be compensated for gravity. To compensate for gravity I propose two ideas:

1- Use a piezoelectric accelerometer on the x-axis which does not measure sustained accelerations such as gravity.

2- Compensate for  gravity by subtracting its projection on the body frame x-axis from the x-accelerometer. How? Calculate pitch angle and subtract g times sin(pitch) from x-accelerometer readings.

Best.
Roby

Guy-François MESNIL

unread,
Apr 16, 2020, 9:36:15 AM4/16/20
to uavdevboard
Hi Roby,
The piezo will measure the same physical data than the UDB/IMU and gives the same result than imu.X (assuming than X is the longitudinal aircraft axis).
If your piezo were more precise than the original UDB IMU, you can mix its data with the IMU.X then use the current MatrixPilot computations.
If not, the piezo will not be usefull.

Compensate IMU accelerations from gravity is not so simple than you describe and is already done in MatrixPilot frimware.

Trust in MatrixPilot, a lot of jobs are already done!
Adding new sensors is a good idea as long as the precision is better or the measurement source is different from current sensors.

Kind regards,
gfm


Le samedi 11 avril 2020 15:15:03 UTC+2, Roby a écrit :

Roby

unread,
Apr 16, 2020, 9:58:33 AM4/16/20
to uavdevboard
Hello Guy,

The main difference between piezoelectric and mems accelerometers is that piezo sensors do not sense stationary accelerations like gravity. So there will be no need to compensate accelerometer readings for gravity.
This a great benefit.
I wonder what Bill says if he reads these posts?

Guy, My favorite Autopilot is MatrixPilot!!

Regards,
Roby

Roby

unread,
Apr 24, 2020, 3:46:26 AM4/24/20
to uavdevboard
Hello,

Diving more in the code I recognized that Bill didn't implement the part related to computation of the forward acceleration but then he decided to compensate for the forward acceleration. Does anybody know why?
What I do understand is that several times he mentioned that forward acceleration is averaged out to zero so he didn't  care about them?

Best,
Roby

william premerlani

unread,
Apr 24, 2020, 11:54:18 AM4/24/20
to uavde...@googlegroups.com
Hi Roby,

Over the lifetime of the MatrixPilot project, I have tried several ways to account for both centrifugal and forward accelerations in computing a vertical reference from the accelerometers.

In the latest version of the implementation of acceleration compensation, accelerometer and gyro signals are used by themselves for centrifugal compensation.

However, forward acceleration compensation is computed from change in forward speed, which ultimately depends on GPS data.

Forward acceleration is estimated here:

Compensation for forward acceleration is implemented here:

Of course, this method does not work if the GPS stops working.

From time to time I have experimented with simply ignoring the forward acceleration based on the idea that the average forward acceleration over a long time window is small. If the forward acceleration is ignored, it can be shown that there is an error in attitude estimation introduced by the gyro drift compensation that is proportional to the change in forward velocity times the drift compensation feedback gains. This is because the contribution to the error depends on the time integral of the acceleration, which is change in speed.

If forward acceleration is ignored, there is a positive feedback loop through the controls, the aerodynamics and the gyro drift compensation that responds to pitch estimation error. Suppose that the plane is flying level and the error is positive. The pitch controls will cause the plane to pitch down a bit, which in turn will cause the plane to speed up a bit, which will cause further error. The amount of increase of speed depends on the aerodynamic drag. The amount of further estimation error depends on the gyro drift compensation gains.

Whether or not the error continues to grow depends on the loop gain, which can be shown to depend on the aerodynamic drag coefficient of the plane and the gyro drift compensation gains. Interestingly enough, the error will tend to grow for planes with high lift over drag ratios.

If the gyro drift compensation feedback gains are set low enough, it can be shown that estimation errors will decay for the usual values of lift over drag. However, with the present values of the gyro drift gains,  pitch estimation errors could grow for planes with high lift over drag ratios.

The present values of the drift gains are legacy from the early versions of the hardware in which there was substantial gyro drift which required setting the gyro drift compensation gains high enough to manage the drift. Since then, the gyro drift has improved quite a bit, particularly in UDB5, and the gains could in principle be reduced enough to make it possible to ignore forward acceleration. However, to be on the safe side, particularly for high performance gliders, I decided to continue to include forward acceleration compensation that is dependent on GPS data.

Best regards,
Bill

--
--
---
You received this message because you are subscribed to the Google Groups "uavdevboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uavdevboard...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/uavdevboard/5986e876-5b7b-430f-9f0a-960b8eee05ad%40googlegroups.com.

Roby

unread,
May 2, 2020, 6:27:25 AM5/2/20
to uavdevboard
Hi Bill,

Thanks for your clarifications.

This post is aimed at finding ways of calculating forward acceleration with out using GPS.

My main idea is that if you implement your navigation equations in the NED frame you gain two advantages:

1- gravity is aligned with the vertical.
2- You don't need to calculate centrifugal acceleration and then forward acceleration is obtained directly from the equation : f = a - g  where f is the accelerometer measurements projected to the NED frame and g is vertical gravity.

Therefore, a = f + g  is the absolute acceleration which is easily calculated. Projecting  this acceleration "a" back to the body frame we can easily obtain the forward acceleration by subtracting centrifugal term from "a" in the body frame.

I hope you see my idea?

Best,
Roby
To unsubscribe from this group and stop receiving emails from it, send an email to uavde...@googlegroups.com.

Roby

unread,
May 4, 2020, 11:15:23 AM5/4/20
to uavdevboard
Just some notes on what I said above.

The advantage of mechanization in the  NED frame is that gravity has known components (0, 0, g)  in this frame.

The second advantage is that we don't have to  consider any assumptions about the dynamic model of our airplane, since we do not need to compensate for centrifugal compensations that assumes that airspeed velocity is aligned with the forward axis.

The third advantage is that forward acceleration is easily computed in the NED frame as a = f + g where f is the specific force measurements of the accelerometer and g is gravity.

Best Regards,
Roby

Oliver Kan

unread,
May 7, 2020, 3:24:31 AM5/7/20
to uavdevboard
Hi Roby, 
there are a lot of suspicion if you can neglect the centrifugal acceleration from your calculation,  i think that even if you consider the gravity vector is toward the up axis of NED frame but this still relative to the body frame and for the relative absolute frame of reference, the real gravity vector still equal to the g.sin (theta) and this vector should you calculate it  : g.sin (theta) = the centrifugal acceleration - dv/dt vector in the inertial frame. 

best wishes,
Oliver

Roby

unread,
May 8, 2020, 5:44:03 AM5/8/20
to uavdevboard
Hi Oliver,

I think I did not express myself well.

Consider you transformed the accelerometer measurements from the airplane frame to the NED frame. So you have now " f " ( accelerometer measurements) coordinatized in the NED (navigation) frame.

We know that " f " is equal to absolute acceleration minus gravity, but gravity coordinates is well known in the NED frame to be (0, 0 ,g).

So now you can find the absolute acceleration in the NED frame simple by adding gravity vector to the accelerometer measurements.

What you obtain is : a = f + g  (these are vector equations.).

Now transform "a" (absolute acceleration)  back to the body frame.

We know that absolute acceleration is forward acceleration added to centrifugal acceleration.  But Bill has already found out a way of finding centrifugal acceleration in the body frame with out GPS.

So what you do now is  subtract this centrifugal acceleration from the absolute acceleration to find forward acceleration.(No need for GPS).

I hope this makes sense to you. Bill can elaborate when he has time.

Regards,
Roby,
Reply all
Reply to author
Forward
0 new messages