William Premerlani's Friends

  • Alec Myers
  • Pubo
  • Kenichiro Kurihara
  • Navigator
  • Ali
  • Nick Arsov
  • Guang Yao
  • Jan Vervoorst
  • Wojciech Batog
  • Nicolas
  • Simon Clements
  • Ole Moyer
  • Jeroen van de Mortel
  • Joseph Lai Ho Yeung
  • Julie Macfarlane

William Premerlani's Discussions

AMA rule 9

Started this discussion. Last reply by Duane Brocious Nov 6, 2010. 15 Replies

Automatic nulling of magnetometer offsets

Started this discussion. Last reply by William Premerlani Feb 2. 94 Replies

Wind estimation without an airspeed sensor

Started this discussion. Last reply by Adrien Oct 31, 2011. 29 Replies

 

William Premerlani's Page

Latest Activity

Profile Icon
Randy Cutshaw left a comment for William Premerlani
Hello Bill, At the end of your 5/17/2009 paper on DCM, you commented that you were planning to write a separate paper on how to implement the DCM algorithm in C code.  Is that paper available today? Regards, Randy
3 hours ago
Profile Icon
William Premerlani commented on Nick Arsov's blog post 'A new autopilot arrived - ARSOV UAV Board V1.1'
All, Nick's board has been fully integrated into MatrixPilot and into the roll-pitch-yaw demo in r1241 of trunk in the MatrixPilot software repository. Simply specify AUAV1_BOARD as the board type in the options.h files. Basically, Nick's…
Saturday
Profile Icon
William Premerlani commented on Nick Arsov's blog post 'A new autopilot arrived - ARSOV UAV Board V1.1'
Hi Itay, This magnetometer is fully supported by Nick's board and by MatrixPilot software. It connects to Nick's board the same way it connects up to the UDB3, through the programming port. Simply run a 4 wire cable between the…
Saturday
Profile Icon
William Premerlani commented on Nick Arsov's blog post 'A new autopilot arrived - ARSOV UAV Board V1.1'
Nick, I will add your board to the list of board types in MatrixPilot. Just remind me what you want it to be called. Best regards, Bill
Feb 7
Profile Icon
William Premerlani commented on Chris Anderson's blog post 'Announcing T3-2, Round Two: the autotakeoff and landing round'
Hi Phil, Thank you for posting, especially for making the video, and for helping us testing the MatrixPilot LOGO flight scripting language during autonomous takeoff. The control options are set up for autonomous hand launches, it turned your launch…
Feb 3
Profile Icon
William Premerlani replied to William Premerlani's discussion 'Automatic nulling of magnetometer offsets'
Hi Navigator, 1. I am not sure what the units are in MatrixPilot. I use whatever the default gains are for the Honeywell magnetometers. The binary values for the horizontal component are around 400, if that helps. The way things are set up in…
Feb 2
Profile Icon
William Premerlani replied to William Premerlani's discussion 'robust estimator of the direction cosine matrix'
Hi Alec, In the implementation of MatrixPilot, we do take advantage of the fact that the third row of the R matrix is the cross product of the first two rows. Glad to see that you noticed that. Best regards, Bill
Feb 2
Profile Icon
Alec Myers replied to William Premerlani's discussion 'robust estimator of the direction cosine matrix'
Doug, I don't know if you've looked into the maths but you either need to stabilize the magnetic information so you can use the whole magnetic vector (magnetic heading + angle of dip) as a reference vector during a turn, and/or…
Feb 1

Profile Information

About Me:
I am the designer of a UAV controller with GPS, 3 gyros, and 3 axis accelerometer, being sold by Spark Fun Electronics.
Hometown:
Schenectady, New York

William Premerlani's Videos

  • Add Videos
  • View All

William Premerlani's Blog

William Premerlani

Magnetometer alignment

Posted on October 16, 2011 at 2:56pm 27 Comments

Team,

The above picture shows an interesting side effect of magnetometer misalignment: complete reversal of the measured horizontal component of the earth's magnetic field.

The effect was discovered by Peter Hollands during his analysis of the data from one of Ric Kuebler's flights. Ric was using the…

Continue
William Premerlani

Magnetometer offsets revisted

Posted on October 14, 2011 at 4:32pm 4 Comments

 The above is a plot of the 3 components of estimated magnetometer offsets computed during spin tests at 78 RPM of an improved method for estimating and removing magnetometer offsets. There is a report available with…

Continue
William Premerlani

sustained rotations : pushing the envelope

Posted on June 19, 2011 at 3:50am 22 Comments

This is an update of a previous post, with a link to a report that I promised that I would write. The above plot shows the results of the automatic calibration of the Z axis gyro during tests of methods to improve the performance of attitude… Continue
William Premerlani

A simple dead-reckoning algorithm

Posted on April 16, 2011 at 7:00am 32 Comments

Team,

After experimenting with several dead-reckoning algorithms over the past 2 years, I finally have a simple…

Continue
William Premerlani

landing altitude control

Posted on September 20, 2010 at 5:34pm 20 Comments

There is a simple control technique to get good altitude control during autonomous landings. Turn off the throttle and follow a glide path defined by 2 waypoints. The first point is the approach point, and should be about 10 meters above the beginning of the runway. The second point defines the glide path, and should have a negative height, and be unreachable.

Whenever the plane is above…

Continue

Comment Wall (64 comments)

At 7:57am on February 28, 2008, Chris AndersonChris Anderson said…
William,

Welcome! Your board and especially your documentation are VERY impressive. Would you like to do another one of our Q&A interviews here to explain to everyone your thinking behind developing the board and some of the things people have done with it?

Best,

Chris
At 4:24pm on January 7, 2009, NathanNathan said…
Bill, I'm interested in using your older 2-axis board for an application. Do you know of any discussions dedicated to it? Awesome documentation, BTW. Having thought myself for long hours on how to do all of that in PIC assembly, I know what a monumental task it must have been.Thanks.
At 11:06am on April 27, 2009, Tom YochumTom Yochum said…
Hi Bill,
I am very impressed with the work you have accomplished. My own project is in many ways an effort to duplicate your results (cheap IMU as an AHRS for micro-UAV control). I am currently tackling the problem of initial alignment of the AHRS. I have skimmed through the DCM paper and did not see anything there. I haven't looked through your code yet either. Could you give me a quick idea of how you did the initial alignment?
Thanks.

Tom
At 6:13pm on July 29, 2009, Roy BrewerRoy Brewer said…
Thanks for getting back to me with this. This would be great news if it pans out. Let me know.

BTW, would that be 6 HW PWM outputs, or would some of those be in s/w?

- Roy
At 6:52pm on September 21, 2009, JustinJustin said…
Hi Bill,

My apologies...this has been my fault all along. I assumed I had the wires connected to the board correctly becaues I was measuring a positive voltage between the outside pin and the middle pin. I didn't think I would be able to detect a voltage from the signal.

In your previous comment when you said that I should measure a voltage with respect to ground for the signal I went back and did some futher testing and realized I simply had them plugged in backward.

The RollPitchYaw demo is working great now! I'll load up John's heli code and give that a test as well with the receiver properly connected and I bet it will work just fine.

Thanks again!

Justin
At 7:41pm on September 28, 2009, Frank HermesFrank Hermes said…
Hi Bill,

No I do not mind (publishing), but I appreciate your asking - as you can tell, I am very ignorant in this area, and humbled when i read through all the guys out there that are so knowledgeable, but doing my best to learn...I appreciate your patience...

You know, I thought after reading your paper on DCM that I was right back to where I was in regards to the gravity thing and the accelerometers, but since you addressed that aspect regarding using them anyway to correct the gyro drift that maybe I once again just didn't understand - I thought somehow since you were collecting continuous data that you were able to integrate the accelerometer only (no appreciable gravity influence) data into the gyro data - yikes, WRONG, again!

I would appreciate any thoughts from you or readers...this thing is really starting to bug me for a solution (reasonable one!) and I am willing to invest as long as I know there is some chance of success, particularly in regards to the COS since all I need there is data output - obviously the "canarderon" thing will take some mechanical magic as well...

I really do appreciate your time and thoughts, Frank
At 11:39am on September 30, 2009, Frank HermesFrank Hermes said…

Hi Bill...
I have a graph taken from one of the simulation programs we use to design the rockets (RockSim); it represents a typical rocket flight from liftoff to apogee...thought it might help you get a sense of the forces involved...

Curious as to your thinking that the GPS velocity may be useful in some way - my understanding of the accuracy of the GPS position would not lend itself to a rocket which is changing its postion so quickly, but you indicate it might do quite well - is the designed-in inaccuracy of the GPS signals their absolute position, but the position change is quite accurate? Accurate enough to track something going 1.5+ mach?

It seems as though, based upon what I have learned so far, and your coments, that none of the typically available sensors are free from the need to reference/sensing gravity except the IR, and maybe the magnetometers?

Could we use a magnetometer for the basic reference? Model rockets typically do not utilize a lot of ferrous material, and other than their time sitting on a big metal launch pad/rail, their environment is pretty metal free...could calibrate away from the pad for the baseline, then once it leaves, it is "free" once again...

How do the "big boys" get around the gravity issue?

Thanks, Frank
At 5:07pm on October 3, 2009, automatikautomatik said…
Hi Bill,
I am re-reading your paper "Direction Cosine Matrix IMU" ([pdf] Draft 5/17/2009). I think there is a typo in Eqn. 20 (or there is a chance that I am not getting something). Vector notation, for Z row of the matrix, is represented as follows [rxx, rxy,rxz], and I think that it's a typo as Z row , as I understand it, should be [rzx,rzy,rzz]. What do you think?
At 4:54pm on October 5, 2009, Frank HermesFrank Hermes said…
Hi Bill,

Thanks for the further thoughts...I follow you until you get to the magnetometer and the issue of the single vector availability...so even though you have two or three magnetometers available you still only get one real ref - I guess that is due to the resolution capability of the sensors...

I ran across a guy who told me about a project at Utah State that if you have not seen you might be interested in as it relates to the rocket thing:
https://chimaera.usu.edu/

If you go to the documentation page, there are some papers descibing their work (see Attitude Control, p.95 in the Flight Readiness paper)...they used a MicroStrain commercial IMU for attitude reference - no GPS...one excerpt from the Navigation section particularly interests me:
A SINS (strap-down INS) works by measuring the accelerations and angular rotation rates of the rocket using an Inertial Measurement Unit (IMU), and integrating these measurements directly to find the velocity and position of the rocket. The IMU measures the sum of all specific surface forces applied to the rocket, including motor thrust and drag, but cannot measure the gravitational force. To account for this, the equations of motion for the rocket
must include the gravitational force before the SINS can integrate and find the rocket velocity and position. SINS is a particularly good measurement device for the thrusting phase of the rocket’s flight, when the motor thrust
varies unpredictably.

A Kalman filter is a mathematically optimal state estimator. It takes multiple measurements, along with their statistical characteristics, and outputs the most probable state of the rocket and its statistical variance. It is unique, in that it is a time-domain filter that requires no system to store previous state data. These qualities make it ideal for inclusion in the navigational algorithm, so that the rocket state is not dependent on a single measurement device.


Sounds to me they just use an estimate for gravity? Thoughts...

Regards, Frank
At 12:49pm on October 6, 2009, Frank HermesFrank Hermes said…
Hi Bill…

The initial goal is to provide a signal (based upon degrees of tilt of rocket tip from vertical) to either inhibit, or possibly trigger, second-stage (sustainer) motor ignition after burnout of the first-stage (booster) motor. The effort is to maximize the coast period between burns. [I attached a flight simulation graph to an earlier email to you to help paint the picture, but I think it may have been reduced to useless by your blog program. If there is a direct email address you can release to me I can resend that graph.]

During booster burn, we expect acceleration along the rocket’s vertical axis to range between 0 and <18 g. After burnout, during coast, deceleration along the rocket’s axis will range from about negative 1.5 g to about 0 g. All other accelerations (both linear and angular) are likely to be quite small since rocket the does not spin much and tips over very slowly.

Booster (first-stage) burn would be between 4 and 12 seconds. The coast period may be from 10-15 seconds. Therefore, the total duration of the sustainer upward flight prior to ignition is less than 15-25 seconds, so indeed long term drift of the sensors may be a minor concern.

In regards to using a magnetometer, the launch rail is typically 10-14’ high and made of steel. I suppose you could calibrate the sensor(s) away from the pad, then mount the rocket, then launch it – once away, there are negligible iron effects. The lull between placing the rocket on the rail and launch could be up to 10 minutes or more.

Further use might include adaptation of the IMU into a vertical-trajectory/vertical-stabilization system to control flight all the way to apogee, which could be as much as one minute flight time.

Regards, Frank

You need to be a member of DIY Drones to add comments!

Join DIY Drones

 
 
 

Groups

© 2012   Created by Chris Anderson.

Badges  |  Report an Issue  |  Terms of Service