Re: [Flightgear-devel] (JSBsim) body accelerations

2012-12-22 Thread Mathias Fröhlich

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

2012-12-19 Thread James Turner
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

2012-12-19 Thread Curtis Olson
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

2012-12-19 Thread James Turner

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

2012-12-19 Thread Curtis Olson
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

2012-12-19 Thread jean pellotier
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

2012-12-19 Thread Jon S. Berndt
 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