Re: [Flightgear-devel] (JSBsim) body accelerations
Hi, On Wednesday, December 19, 2012 15:48:40 James Turner wrote: // accels, set that to zero for now. // Angular accelerations are missing from the interface anyway, // linear accelerations are screwed up at least for JSBSim. // motionInfo.linearAccel = SG_FEET_TO_METER*SGVec3f(ifce.get_U_dot_body(), ifce.get_V_dot_body(), ifce.get_W_dot_body()); The JSBSim values aren't screwed up, I think, just including other non-inertial terms which YASim does not. Since it's the inertial accelerations I want to sense in the instruments, that's why I will tweak the JSBSim-FGFS interface and not YASim. Well, to streamline the interfacing this might be a good idea. For the motion onfo part, I can well think of removing the accelerations from the motion info. Over time, it turned out that the velocities are sufficient to transfer. I am currently not sure if the multiplayer code currently makes use of my latest thoughts about this kind of interpolations, but I would think that we can just remove the accelerations from fgfs internal multiplayer code. The multiplayer udp packet needs to stay as is. Just pack zeros there ... Greetings Mathias -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
[Flightgear-devel] (JSBsim) body accelerations
Hi, Once 2.10 has branched (i.e, in a month!) I'm going to make a consistency change to a simulation variable: namely to change the body (UVW) accelerations JSBsim exposes to FlightGear, to come from a slightly different source (FGAccelerations::GetUVWdot instead of FGAccelerations::GetBodyAccelerations). This is because the later includes gravity and some other terms (centripetal acceleration, I'm guessing, but I'm not an expert) which the YASim equivalents do not. I'm also going to expose the values via new properties under /accelerations/body/foo-accel-fps_sec, for both JSBSim and YASim. This will enable standard simulation of inertial acceleration based instruments, which I want to play around with. Because of the current discrepancy between JSBSim and YASim, the body accelerations are currently *not* exposed in any standard location (JSBSim exposes them in its private property tree), and code is avoiding using them: for example: (from the multiplayer code!) // accels, set that to zero for now. // Angular accelerations are missing from the interface anyway, // linear accelerations are screwed up at least for JSBSim. // motionInfo.linearAccel = SG_FEET_TO_METER*SGVec3f(ifce.get_U_dot_body(), ifce.get_V_dot_body(), ifce.get_W_dot_body()); The JSBSim values aren't screwed up, I think, just including other non-inertial terms which YASim does not. Since it's the inertial accelerations I want to sense in the instruments, that's why I will tweak the JSBSim-FGFS interface and not YASim. Any comments or observations on this, please let me know. As I said it's all only relevant for 2.12 - I won't make any changes until after we branch for 2.10. James -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: [Flightgear-devel] (JSBsim) body accelerations
On Wed, Dec 19, 2012 at 9:48 AM, James Turner wrote: Hi, Once 2.10 has branched (i.e, in a month!) I'm going to make a consistency change to a simulation variable: namely to change the body (UVW) accelerations JSBsim exposes to FlightGear, to come from a slightly different source (FGAccelerations::GetUVWdot instead of FGAccelerations::GetBodyAccelerations). This is because the later includes gravity and some other terms (centripetal acceleration, I'm guessing, but I'm not an expert) which the YASim equivalents do not. I'm also going to expose the values via new properties under /accelerations/body/foo-accel-fps_sec, for both JSBSim and YASim. Hi James, I believe JSBSim does include gravity and centripetal accelerations. I believe YASim also includes gravity, but centripetal accelerations are beyond the scope of the YAsim physics engine. This is a tiny difference that wouldn't show up in most situations, unless you are dealing with extremely expensive inertial sensors such that might go in a 737 or a space shuttle. This will enable standard simulation of inertial acceleration based instruments, which I want to play around with. This should already work for both JSBSim and YASim -- I believe the following properties work well for both JSBSim and YASim aircraft. (the only main difference being that JSBSim includes centripetal accelerations which doesn't matter if you are playing with code that will eventually be driven by consumer level mems sensors.) Gyros: /orientation/{p,q,r}-body Accelerometers: /accelerations/pilot/{x,y,z}-accel-fps_sec Both of these are expressed in the pilot/body frame of reference. The accelerometer values include gravity. I've used these to drive a 15 state kalman filter and observe good attitude estimate convergence for both yasim and jsbsim aircraft. Because of the current discrepancy between JSBSim and YASim, the body accelerations are currently *not* exposed in any standard location (JSBSim exposes them in its private property tree), and code is avoiding using them: for example: (from the multiplayer code!) // accels, set that to zero for now. // Angular accelerations are missing from the interface anyway, // linear accelerations are screwed up at least for JSBSim. // motionInfo.linearAccel = SG_FEET_TO_METER*SGVec3f(ifce.get_U_dot_body(), ifce.get_V_dot_body(), ifce.get_W_dot_body()); The JSBSim values aren't screwed up, I think, just including other non-inertial terms which YASim does not. Since it's the inertial accelerations I want to sense in the instruments, that's why I will tweak the JSBSim-FGFS interface and not YASim. Any comments or observations on this, please let me know. As I said it's all only relevant for 2.12 - I won't make any changes until after we branch for 2.10 See above, I do believe they values of interest are exposed in the flightgear tree with identical property names and identical units. It's always possible I'm mistaken, but my kalman filter seems happy enough which isn't direct forward proof, but says something I think? Thanks, Curt. -- Curtis Olson: http://www.atiak.com - http://aem.umn.edu/~uav/ http://www.flightgear.org - http://gallinazo.flightgear.org -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: [Flightgear-devel] (JSBsim) body accelerations
On 19 Dec 2012, at 16:22, Curtis Olson wrote: Gyros: /orientation/{p,q,r}-body Accelerometers: /accelerations/pilot/{x,y,z}-accel-fps_sec Both of these are expressed in the pilot/body frame of reference. The accelerometer values include gravity. I've used these to drive a 15 state kalman filter and observe good attitude estimate convergence for both yasim and jsbsim aircraft. Right - but I think exposing the values without gravity added in is useful, and the for the internal (C++) value, the Yasim one doesn't include gravity, so neither should then JSBsim value (both FDMs compute both variants already!). Then we could start exposing linear accelerations over MP (or a future MP system) and make the prediction better. (And obviously that prediction won't want to include gravitational terms) BTW, is your Kalman filtering code available anywhere? It might be of interest :) James -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: [Flightgear-devel] (JSBsim) body accelerations
On Wed, Dec 19, 2012 at 10:54 AM, James Turner zakal...@mac.com wrote: Right - but I think exposing the values without gravity added in is useful, and the for the internal (C++) value, the Yasim one doesn't include gravity, so neither should then JSBsim value (both FDMs compute both variants already!). Then we could start exposing linear accelerations over MP (or a future MP system) and make the prediction better. (And obviously that prediction won't want to include gravitational terms) I won't complain if you wish to publish a new set of values (that don't include gravity) under a new set of property names. I assume it would make the most sense to use the NED coordinate frame (not the body frame) for gravity-less acceleration values. BTW, is your Kalman filtering code available anywhere? It might be of interest :) It's from a university project and I've never gotten the green light to make the source available -- although I've asked a few times. Overall, it is an interesting math problem. Given gps (geodetic position and velocity in the NED coordinate frame) along with inertial sensor data in the body coordinate frame (gyro, and accelerometers which does include gravity), can you then compute the actual orientation of your vehicle (roll, pitch, yaw.) It turns out you can solve for a correction transform (a rotation) that makes your gps agree with your inertials, but there are infinite solutions (it's an under-constrained problem). But if you take the data across multiple time steps, you can apply some least squares techniques to come up with a best fit solution. The kalman filter can take that a step further and estimate your sensor biases so you can do better project-ahead between gps readings, and well it's a kalman filter which is sort of obscure magic. Curt. -- Curtis Olson: http://www.atiak.com - http://aem.umn.edu/~uav/ http://www.flightgear.org - http://gallinazo.flightgear.org -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: [Flightgear-devel] (JSBsim) body accelerations
Le 19/12/2012 17:54, James Turner a écrit : On 19 Dec 2012, at 16:22, Curtis Olson wrote: Gyros: /orientation/{p,q,r}-body Accelerometers: /accelerations/pilot/{x,y,z}-accel-fps_sec Both of these are expressed in the pilot/body frame of reference. The accelerometer values include gravity. I've used these to drive a 15 state kalman filter and observe good attitude estimate convergence for both yasim and jsbsim aircraft. Right - but I think exposing the values without gravity added in is useful, and the for the internal (C++) value, the Yasim one doesn't include gravity, so neither should then JSBsim value (both FDMs compute both variants already!). Then we could start exposing linear accelerations over MP (or a future MP system) and make the prediction better. (And obviously that prediction won't want to include gravitational terms) James hi, my two cents, as someone interested in better formation flight. First, about using FGAccelerations::GetUVWdot as acceleration, i'm not sure you will have what you want. i'm trying to do (slowly) something about the lag ( http://wiki.flightgear.org/Mp-patch ), and i tried to use UVWdot, but seems to me it give the dérivative of the speed in the aircraft reference, not the acceleration in ECEF, expressed in body coordinate. if the speed vector is stable/aircraft, UVWdot will be 0, but the the body acceleration can be huge in inertial referential. (that's how i understand the effect i see, and the UVWdot props variation in constant g turns, i didn't went to understand the jsbsim code ;) second, could it be possible to have a look at other fdm properties wich are inconsistent between yasim and jsbsim ? i think of velocity_wind_body (maybe a velocity_body is needed) (bug 202) and bug 901 (orientation/side-slip-deg) chears jano -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel
Re: [Flightgear-devel] (JSBsim) body accelerations
hi, my two cents, as someone interested in better formation flight. First, about using FGAccelerations::GetUVWdot as acceleration, i'm not sure you will have what you want. i'm trying to do (slowly) something about the lag ( http://wiki.flightgear.org/Mp-patch ), and i tried to use UVWdot, but seems to me it give the dérivative of the speed in the aircraft reference, not the acceleration in ECEF, expressed in body coordinate. if the speed vector is stable/aircraft, UVWdot will be 0, but the the body acceleration can be huge in inertial referential. (that's how i understand the effect i see, and the UVWdot props variation in constant g turns, i didn't went to understand the jsbsim code ;) second, could it be possible to have a look at other fdm properties wich are inconsistent between yasim and jsbsim ? i think of velocity_wind_body (maybe a velocity_body is needed) (bug 202) and bug 901 (orientation/side-slip-deg) chears jano We probably need to provide some better documentation on this. Jon JSBSim Development Coordinator -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Flightgear-devel mailing list Flightgear-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/flightgear-devel