Started Jul 16, 2012 0 Replies 0 Likes
http://www.challinger.us/I intend to post new articles frequently. The articles will contain very indepth, developer-oriented information, but most posts will…Continue
Started this discussion. Last reply by Jeff Taylor Apr 11, 2012. 8 Replies 0 Likes
I'm writing a proposal for a $2000 summer stipend from my university, for development on an APM UAV.For the project, I'm looking at the X8 wing. However, I foresee a couple issues:Most layouts I see…Continue
Started this discussion. Last reply by Jonathan Challinger Dec 25, 2011. 2 Replies 0 Likes
I can't get qgroundcontrol to connect. I built it from the v1.0 branch and it is getting data but it isn't displaying anything.Does anyone here use it? I'm trying to ditch mission planner because…Continue
Started Dec 22, 2011 0 Replies 0 Likes
What PID tuning processes or rules do you guys use?I just tried Ziegler-Nichols for my servo roll and came up…Continue
Jonathan Challinger replied to Kristopher James Roller's discussion Help!! Need some input for you all. How much would it be to make a drone/UAV With thees capabilities?
Jonathan Challinger replied to Leo Hogg's discussion ay - sideslip to rudder link?
Jonathan Challinger replied to Leo Hogg's discussion ay - sideslip to rudder link?
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Jonathan Challinger replied to Jeff Taylor's discussion ArduPlane 2.5 (& maybe 2.6) Steep Dive
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Jonathan Challinger replied to Andrew Tridgell's discussion ArduPlane 2.60 released
Stan Underhill replied to Jonathan Challinger's discussion E-flite apprentice
Jonathan Challinger replied to spagoziak's discussion FBW A Manages Throttle Autonomously, and it shouldn't
Jonathan Challinger posted a discussion
Jonathan Challinger replied to criro1999's discussion How is reacting APM2 on a twin engine airplane when one motor is down?
Jonathan Challinger commented on Chris Anderson's blog post ArduPlane home page
Jonathan Challinger commented on Chris Anderson's blog post ArduPlane home page
George Tarrant said… John
Thanks for the feedback but can I ask a couple of supplementary questions to do with crosstrack error?
You use a quantity called "target_bearing" - is that relative to the plane "now" and based on GPS co-ordinates? If not, then what?
Your quantity "crosstrack_bearing" How is that calculated? Does it use GPS x,y velocities "now" which are inertial quantities and then perform some sort of transformation to make the bearing relative?
Things will go quiet this weekend because I'm taking a trip.
I'm asking these questions because the sketch I drew out based on my "guess" at what the two variables are suggested that a position bias could be built-in.
George Tarrant said… Hi Jonathan
Since my last post to you, I've done a bit more research and I found a very brief write-up on "Cross-track error correction" in the APM manual. I think I've reconciled it with the code you sent me but, in doing so, I've come up with more queries.
The key query has to do with your phrase "nav_bearing += constrain (crosstrack_error*g.crosstrack gain..etc....)". According to my book on 'C', "+=" means add to the last value and this seems to be saying that successive values of "nav_bearing" are added together ie. integration. How do you read that? If I'm correct then we do have an integrator in the Xtrack PID. Trouble is, there is also an implicit integrator between nav_bearing and crosstrack_error so that we have a Type 2 loop which will execute undamped simple harmonic motion unless a 'D' term is added. This appears to contradict your observation of the plane flying at a fixed offset from the runway.
Something is not joined up somewhere. Have you had any more thoughts?
George Tarrant said… Jonathan
Would seem strange to use "+=" and reset when a simple "=" would do.
Anyway, getting back to your original query, now I know the basic error correction algorithm, I'll do some experiments with my simulation and get back to you.
George Tarrant said… Jonathan
I've updated my mini-UAV simulation to look at your problem.
My simulation incorporates the following PIDs:-
and I added a proportional heading from Xtrack loop.
This full complement of PIDs drives Xtrack error to zero in the presence of a crosswind.. I then disconnected the rudder from y-accelerometer PID and, low and behold, got a steady Xtrack error although the magnitude of the error was much smaller than you have observed. I think I am confirming that what you have observed is what to expect.
Based on this, I think there are 3 possible ways forward:-
Hope you find this helpful, but get back if you have further queries.
George Tarrant said… Jonathan
With respect, I think you are opening up a can of worms by trying to estimate wind speed. (1) there will be wind gusts on top of the steady wind that will add noise in the 0-1 Hz freq band. (2) where the plane is instantaneously pointing depends on airframe dynamics and loops engaged. In my opinion - better to reject the wind as it arrives rather than measure it when it arrives and then try to reject it.
Don't underestimate the "trickiness" of setting up a rudder from y-acceleraometer loop.If the accelerometer is too far back, when you deflect the rudder, initially the accelerometer will read rudder sideforce which will be in one direction and then, as sideslip develops, the accelerometer will read body sideforce in the opposite direction. In control parlance this behaviour is called "non-minimum phase" and it complicates the process of producing a stable loop. Placing the y-accelerometer at the centre of percussion means that it doesn't see the rudder sideforce and only sees the body sideforce which is what you want because it makes things simpler.
George Tarrant said… Jonathan
Many thanks for your insightful comments - they are very useful.
I'm best-equipped to generate numbers for reasonably conventional aircraft - high-ish aspect ratio wings, reasonably slim fuselage. That said, I can deal with more "novel" airframes but the process will take a bit longer.
The info I would need about the airframe configuration is size/location of all control surfaces, wing size and planform (ideally also airfoil section but not essential) fuselage length and rough cross-section. I figured that most of this info could come from photos supported by info on fuselage length and wing span for scaling purposes. To round off the datapack I would need mass and cg position plus, ideally, inertias but unfortunately getting these may involve application of high school maths in garage experiments. I've often wondered whether aircraft manufacturers could supply a lot of this info but have never asked.
Finally, I'll need to know which loops you want set up and the likely range of flight speeds. Hope this package doesn't intimidate you too much. Let me know if you want to give the process a try.
Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.180 members
24 members
1283 members
676 members
183 members
© 2013 Created by Chris Anderson.
Powered by
