Sigh....I am going to give Peter Hollands an award for finding the "juiciest bug" in the released waypoint firmware for the UAV DevBoard. The bug has been fixed, and the firmware has been re-released as version 1.8b.The bug was in the yaw drift gyro compensation calculation. It would only show up for waypoint legs with a heading between 327 degrees and 360 degrees. The result was that the actual heading would slowly vary between 327 and 360 degrees. The symptoms were barely noticeable.The way that Peter discovered the bug was with a combination of ground testing and telemetry, while he was testing out some really nice programs that he wrote for processing telemetry. Peter noticed an anomoly during ground testing for headings between 327 and 360 degrees.Waypoint firmware for the UAV DevBoard is available in both MatrixNav version 1.8 and AileronAssist version 1.8 from the UAV DevBoard home page, with the following features:• Waypoints are 3D.• Location of the points is specified relative to the initialization location of the board.• You have the option of using either cross-track error navigation, or using navigation toward target waypoints.• Arrival at a waypoint is based on the concept of a "finish line". This produces a reliable assessment of arrival, without any chance of loitering.• The primary source of steering is the direction cosine matrix, so steering continues reliably and smoothly even when the GPS loses lock during banked turns.• Rudder-elevator mixing in MatrixNav, based on the values of the direction cosines, prevents loss of altitude during turns.• You can specify more than 1000 waypoints.Just to be clear, the X and Y coordinates of each waypoint are specified with respect to the power up point. It is not specified with respect to the previous waypoint in the list. The X coordinate is the distance, in meters, along the east direction, from the power up point. The Y coordinate is the distance, in meters, along the north direction, from the power up point.Best regards,Bill Premerlani
Sid, Rana, Bryan, Peter, Paul, Ben, Scouser, and all of my other "test-pilots". You know who you are.
I want to thank you all again for all the test-flights that you have made for me. You are truly "test-pilots". I appreciate the time and care that you have put into this project.
Hi Bill, thanks for the clarification. I imagine if we can get a Ublox working in the future, with updates every second, it should be a great combo, practically seamless I guess. It appears to track better in turns too, if the antenna is well placed.
I have had to put all my projects on the back burner, again, swamped with work so very little time for my "Opium Den" ! After Xmas, I will get back to building, in the mean time, I am keeping an eye on these amazing developments religiously.
Best regards,
Olivier
Its always good to hear from you. Thanks very much for the information on that magnetometer. Based on a quick glance, it looks pretty good.
However, I don't think there is much hope of connecting a magnetometer to the present verion of my board (the redboard), but it will likely be possible to connect one to the next version of the board.
The magnetometer would be useful for yaw correction for helis.
For airplanes, DCM has not had any problems with yaw correction, even in turns. The yaw correction is done very gradually, it does not matter if the GPS drops out once in a while during a banked turn, as far as yaw correction is concerned. We have plenty of test results now that shows DCM works great for attitude (roll, pitch and yaw) estimation, even in turns. For example, the waypoints firmware works great.
The only issue we have with the GPS is that the location information reported by the EM406 GPS is 5 seconds old by the time it is reported. So the GPS does not really tell you where it is, it tells you where is was 5 seconds ago. But a magnetometer does not help with that issue.
Bill, quick question for you.
Do you think it would be possible to couple this to the UAV Dev Board: http://www.sparkfun.com/commerce/product_info.php?products_id=9371
and modify the code so DCM would rely on mag readings rather than GPS for yaw correction and using the GPS solely for navigation since it is so unreliable in turns? Just a thought.
It's not too expensive, I am not sure if it is capable enough for the task, just wondering.
Wow, I am impressed. I am really enjoying "watching over your shoulder". Thanks for posting this.
Sailplanes and thermaling are my main interests, so I appreciate what you are saying. I imagine that having the longitudinal stabilization makes it easier on your eyes.
Bill,
I flew my tailless again today. There was strong lift with Cumulus. I thermalled in stabilized mode and it was a piece of cake. I let the autopilot control the elevators to maintain longitudinal attitude and all I had to do was feed some ailerons to stay in the lift. I've been flying sailplanes for most of my life but computer assisted thermalling was definitely a first!
Cheetah,
Controlling an unstable platform is on my list of things to do next year. I plan to take a look portion of Robert Mahoney's papers that so far I have ignored, on using the rotation group for integrated control. So far we have focused on using the rotation group for attitude estimation, but after that using very simple controls. Now its time to do something more sophisticated with the controls.
I am hopeful that we will achieve some good results. We have one data point so far. Bryan Cuervo was able to use the board to stabilize his marginally stable delta wing. He reports that with the board, his delta wing with elevons is as stable as a "high wing, polyhedral trainer". If you have not seen his blog or videos yet, check out Bryan's blog.
Best regards,
Bill
Regarding Ben's code, he has tested it and not found any bugs, so I suggest that you go ahead and use his code if it has some features that you would like to use that are not available in the latest released versions of the firmware, just be careful to test it out on the ground, and then in the air not too high or far away, before you try something more ambitious. If you are not going to use some of Ben's new features, then you should use the released firmware.
If you decide to use the released firmware, but would like to use racing mode, let me know, I will send you the change (it is only 3 lines) that you can make to the released firmware to use racing mode.
By the way, it seems to me that your RTL height, 20 meters is a bit low, since it appears to me that there are some obstructions at your flying field that are that high. I suggest something higher than that.
Also, I noticed that your maximum altitude is 5000 meters. I think that is a bit high, because it will give you very coarse control for stabilized mode altitude-hold. The lowest stick throttle setting that will even turn on your motor is around 15%, which means the lowest altitude you could set from the stick would be 750 meters!
I suggest that you set maximum altitude for the highest height that you actually want to fly in stabilized mode. Personally, I cannot see anything much about 200 meters.
Finally, if you decide to enter the T3 contest and would like some suggestions on how to fly in "racing" mode, let me or Ben know. Basically, there are two things that you need to do. One of them is to run the motor full throttle in waypoint mode. Ben has added that as a feature in his code, or I could send you the few lines that you would need to upgrade the released code. The second thing that you need to do is to use some negative pitch parameters for altitude hold in order to be able to descend quickly. Here are the values that I use for all three planes that I have:
#define PITCHATMINTHROTTLE -15.0 // target pitch angle in degrees at minimum throttle
#define PITCHATMAXTHROTTLE 15.0 // target pitch angle in degrees at maximum throttle
#define PITCHATZEROTHROTTLE -15.0 // target pitch angle in degrees while gliding
Comments
Does 8b have racing by default or we can disable it if not required.
Thanks & Best Regards
Rana
I want to thank you all again for all the test-flights that you have made for me. You are truly "test-pilots". I appreciate the time and care that you have put into this project.
Bill Premerlani
I have had to put all my projects on the back burner, again, swamped with work so very little time for my "Opium Den" ! After Xmas, I will get back to building, in the mean time, I am keeping an eye on these amazing developments religiously.
Best regards,
Olivier
Its always good to hear from you. Thanks very much for the information on that magnetometer. Based on a quick glance, it looks pretty good.
However, I don't think there is much hope of connecting a magnetometer to the present verion of my board (the redboard), but it will likely be possible to connect one to the next version of the board.
The magnetometer would be useful for yaw correction for helis.
For airplanes, DCM has not had any problems with yaw correction, even in turns. The yaw correction is done very gradually, it does not matter if the GPS drops out once in a while during a banked turn, as far as yaw correction is concerned. We have plenty of test results now that shows DCM works great for attitude (roll, pitch and yaw) estimation, even in turns. For example, the waypoints firmware works great.
The only issue we have with the GPS is that the location information reported by the EM406 GPS is 5 seconds old by the time it is reported. So the GPS does not really tell you where it is, it tells you where is was 5 seconds ago. But a magnetometer does not help with that issue.
Best regards,
Bill
Do you think it would be possible to couple this to the UAV Dev Board:
http://www.sparkfun.com/commerce/product_info.php?products_id=9371
and modify the code so DCM would rely on mag readings rather than GPS for yaw correction and using the GPS solely for navigation since it is so unreliable in turns? Just a thought.
It's not too expensive, I am not sure if it is capable enough for the task, just wondering.
Wow, I am impressed. I am really enjoying "watching over your shoulder". Thanks for posting this.
Sailplanes and thermaling are my main interests, so I appreciate what you are saying. I imagine that having the longitudinal stabilization makes it easier on your eyes.
Best regards,
Bill
I flew my tailless again today. There was strong lift with Cumulus. I thermalled in stabilized mode and it was a piece of cake. I let the autopilot control the elevators to maintain longitudinal attitude and all I had to do was feed some ailerons to stay in the lift. I've been flying sailplanes for most of my life but computer assisted thermalling was definitely a first!
Bryan
Controlling an unstable platform is on my list of things to do next year. I plan to take a look portion of Robert Mahoney's papers that so far I have ignored, on using the rotation group for integrated control. So far we have focused on using the rotation group for attitude estimation, but after that using very simple controls. Now its time to do something more sophisticated with the controls.
I am hopeful that we will achieve some good results. We have one data point so far. Bryan Cuervo was able to use the board to stabilize his marginally stable delta wing. He reports that with the board, his delta wing with elevons is as stable as a "high wing, polyhedral trainer". If you have not seen his blog or videos yet, check out Bryan's blog.
Best regards,
Bill
Regarding Ben's code, he has tested it and not found any bugs, so I suggest that you go ahead and use his code if it has some features that you would like to use that are not available in the latest released versions of the firmware, just be careful to test it out on the ground, and then in the air not too high or far away, before you try something more ambitious. If you are not going to use some of Ben's new features, then you should use the released firmware.
If you decide to use the released firmware, but would like to use racing mode, let me know, I will send you the change (it is only 3 lines) that you can make to the released firmware to use racing mode.
By the way, it seems to me that your RTL height, 20 meters is a bit low, since it appears to me that there are some obstructions at your flying field that are that high. I suggest something higher than that.
Also, I noticed that your maximum altitude is 5000 meters. I think that is a bit high, because it will give you very coarse control for stabilized mode altitude-hold. The lowest stick throttle setting that will even turn on your motor is around 15%, which means the lowest altitude you could set from the stick would be 750 meters!
I suggest that you set maximum altitude for the highest height that you actually want to fly in stabilized mode. Personally, I cannot see anything much about 200 meters.
Finally, if you decide to enter the T3 contest and would like some suggestions on how to fly in "racing" mode, let me or Ben know. Basically, there are two things that you need to do. One of them is to run the motor full throttle in waypoint mode. Ben has added that as a feature in his code, or I could send you the few lines that you would need to upgrade the released code. The second thing that you need to do is to use some negative pitch parameters for altitude hold in order to be able to descend quickly. Here are the values that I use for all three planes that I have:
#define PITCHATMINTHROTTLE -15.0 // target pitch angle in degrees at minimum throttle
#define PITCHATMAXTHROTTLE 15.0 // target pitch angle in degrees at maximum throttle
#define PITCHATZEROTHROTTLE -15.0 // target pitch angle in degrees while gliding
Best regards,
Billu Bhaiya