XSens 700 and airplane on-screen orientation.

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

XSens 700 and airplane on-screen orientation.

Lazy
Dear Colleagues,
Today I tested Xsens 700 on the ground. Result - the plane on screen moves left wing forward.

Tell me, what should be changed in the code (ins_xsens700.c) that would get the correct display on the screen and do not break the rules of governance?

Regards
Vladimir
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator
Hi Vladimir,

well... how did you mount the xsens?
The xsens needs to be mounted with x-axis pointing forward (or oppsitite with x-axis backwards and defining XSENS_BACKWARDS).

Cheers, Felix

On Thu, Oct 9, 2014 at 4:20 PM, Lazy <[hidden email]> wrote:
Dear Colleagues,
Today I tested Xsens 700 on the ground. Result - the plane on screen moves
left wing forward.

Tell me, what should be changed in the code (ins_xsens700.c) that would get
the correct display on the screen and do not break the rules of governance?

Regards
Vladimir



--
View this message in context: http://lists.paparazziuav.org/XSens-700-and-airplane-on-screen-orientation-tp16240.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
Dear Felix
I remember how to install Xsens, yes. And I use function XSENS_BACKWARDS. Regardless of this, the axis of course rotated by 90 degrees. - left wing forward.
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
In reply to this post by flixr
From MTi manual:

Interpretation of yaw as heading4
Heading is defined as the angle between north and horizontal projection of the vehicle roll axis. Yaw is defined for a particular local-level navigation frame as the angle from a horizontal navigation axis to the projection of the longitudinal axis in the horizontal plane following the right-hand rule. Based on the definition of heading and yaw, consider the use of the MTi in an aircraft which is stationary and pointing north. Below, a table is displayed that shows the heading and yaw outputs for the three reference coordinate system (available with MTi)

Reference coordinate system Direction of mounting, aircraft pointing North Heading value (not outputted by MTi) Yaw value
East-North-Up (ENU) x-axis of MTi aligned with vehicle (pointing North) 0 deg 90 deg
North-West-Up (NWU) x-axis of MTi aligned with vehicle (pointing North) 0 deg 0 deg
North-East-Down (NED) x-axis of MTi aligned with vehicle (pointing North) 0 deg 0 deg

When using the ENU convention (default), the yaw output is 0º when the vehicle (x-axis of the MTi) is pointing East. When it is required that the yaw output is 0º when the vehicle (x-axis of the MTi) is pointing North, it is recommended to select NWU or NED as the reference coordinate system. In section 4.11 the various alignment resets are described.
Note that for proper working of the MTi-G in the automotive filter profile, it is needed to mount the MTi in such a way that the yaw indicates 0 deg in the direction of the vehicle. For ENU coordinate systems without an alignment reset, this means that the y-axis of the MTi-G should point to the front of the vehicle, in NWU and NED coordinate systems that means that the x-axis of the MTi-G should point to the front of the vehicle.
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator
Hi,

Hm... sounds like the default output of the xsens is in ENU frame.
So you either mount it pointing to the side or (better) configure the xsens to output it in NED.
It would also make more sense to use the quaternion output from the xsens than the euler output...

I don't have an xsens (and can't even freely download the datasheet)...
Maybe Christophe can help out, since he wrote the driver and they have one in the lab.

Cheers, Felix

On Thu, Oct 9, 2014 at 5:03 PM, Lazy <[hidden email]> wrote:
From MTi manual:

Interpretation of yaw as heading4
Heading is defined as the angle between north and horizontal projection of
the vehicle roll axis. Yaw is defined for a particular local-level
navigation frame as the angle from a horizontal navigation axis to the
projection of the longitudinal axis in the horizontal plane following the
right-hand rule. Based on the definition of heading and yaw, consider the
use of the MTi in an aircraft which is stationary and pointing north. Below,
a table is displayed that shows the heading and yaw outputs for the three
reference coordinate system (available with MTi)

Reference coordinate system Direction of mounting, aircraft pointing North
Heading value (not outputted by MTi) Yaw value
East-North-Up (ENU) x-axis of MTi aligned with vehicle (pointing North) 0
deg 90 deg
North-West-Up (NWU) x-axis of MTi aligned with vehicle (pointing North) 0
deg 0 deg
North-East-Down (NED) x-axis of MTi aligned with vehicle (pointing North) 0
deg 0 deg

When using the ENU convention (default), the yaw output is 0º when the
vehicle (x-axis of the MTi) is pointing East. When it is required that the
yaw output is 0º when the vehicle (x-axis of the MTi) is pointing North, it
is recommended to select NWU or NED as the reference coordinate system. In
section 4.11 the various alignment resets are described.
Note that for proper working of the MTi-G in the automotive filter profile,
it is needed to mount the MTi in such a way that the yaw indicates 0 deg in
the direction of the vehicle. For ENU coordinate systems without an
alignment reset, this means that the y-axis of the MTi-G should point to the
front of the vehicle, in NWU and NED coordinate systems that means that the
x-axis of the MTi-G should point to the front of the vehicle.



--
View this message in context: http://lists.paparazziuav.org/XSens-700-and-airplane-on-screen-orientation-tp16240p16243.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
Yes, Felix, I use ENU and other default setting. I experimented in version 4.2 with the change of orientation - it's a bad idea. PFD show correct angles.
I can change ins_psi by adding 90 degrees, but how it will affect the management of aircraft?


#if USE_INS_MODULE
#include "state.h"
static inline void update_fw_estimator(void) {
// Send to Estimator (Control)
#if XSENS_BACKWARDS
  struct FloatEulers att = {
    ins_phi+ins_roll_neutral,
    -ins_theta+ins_pitch_neutral,
    -ins_psi + RadOfDeg(180)
  };
  struct FloatRates rates = {
    ins_p,
    -ins_q,
    -ins_r
  };
#else
  struct FloatEulers att = {
    -ins_phi+ins_roll_neutral,
    ins_theta+ins_pitch_neutral,
    -ins_psi
  };
  struct FloatRates rates = {
    -ins_p,
    ins_q,
    -ins_r
  };
#endif
  stateSetNedToBodyEulers_f(&att);
  stateSetBodyRates_f(&rates);
}
#endif /* USE_INS_MODULE */

Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Simon Liebold
In reply to this post by flixr
Hello Felix, Vladimir,

the plane on screen moves
left wing forward. 

Just for my understanding: Why are the BODY_TO_IMU parameters not an option here?

Simon

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

afishindouban
I guess xsens is a ins, it is not a IMU sensor... That is the reason, am I right ?

What a rich guy... I want a xsens to play also :d

Mailbox 发送


On Thu, Oct 9, 2014 at 11:24 AM, Simon Liebold <[hidden email]> wrote:

Hello Felix, Vladimir,

the plane on screen moves
left wing forward. 

Just for my understanding: Why are the BODY_TO_IMU parameters not an option here?

Simon


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator
Hi all,

regarding BODY_TO_IMU:
The reason you can't use this is basically because it is not implemented for the xsens...
And of course it was really meant for IMUs that just output imu measurement data and not for a device like the xsens that already outputs a full navigation solution.
You could use BODY_TO_IMU if you just get get the IMU data from the xsens (like <subsystem name="imu" value="xsens"/> and then run paparazzi's own AHRS/INS algorithms on that "raw" data, but honestly why would you buy an xsens then?

Of course it is possible to add handling of BODY_TO_IMU to the xsens driver, you "just" have to carefully rotate _all_ relevant outputs of the xsens: attitude, angular rate, acceleration, velocity (and inputs like the GPS lever arm if you use that).

So if you simply want to mount the xsens in body frame (with x-forward, like all BODY_TO_IMU to zero), the easiest way is probably to configure the xsens (from the driver) to output the attitude in NED so it matches the standard aviation body frame. (ENU is often used for ground based systems...)

Cheers, Felix

On Thu, Oct 9, 2014 at 7:07 PM, AFISH <[hidden email]> wrote:
I guess xsens is a ins, it is not a IMU sensor... That is the reason, am I right ?

What a rich guy... I want a xsens to play also :d

Mailbox 发送


On Thu, Oct 9, 2014 at 11:24 AM, Simon Liebold <[hidden email]> wrote:

Hello Felix, Vladimir,

the plane on screen moves
left wing forward. 

Just for my understanding: Why are the BODY_TO_IMU parameters not an option here?

Simon


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Simon Liebold
Hi Felix,

Am 09.10.2014 um 21:19 schrieb Felix Ruess:
> And of course it was really meant for IMUs that just output imu
> measurement data and not for a device like the xsens that already
> outputs a full navigation solution.
>
OK, thanks. I got it now. I wasn't aware that this device was an AHRS of
its own. At first, I thought this was just an older IMU in a bulky kind
of casing.

I wonder if the performance is really much better than the AHRS systems
in Paparazzi. So far I never found a reason to use anything else for my
fixed wing.

Simon


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator
Hi Simon,

OK, thanks. I got it now. I wasn't aware that this device was an AHRS of
its own. At first, I thought this was just an older IMU in a bulky kind
of casing.

The xsens700 MTI-G with GPS is actually a full INS (so including full position and velocity).
 
I wonder if the performance is really much better than the AHRS systems
in Paparazzi. So far I never found a reason to use anything else for my
fixed wing.

While I don't have any experience/data with/from it, I presume it is better than using only an AHRS algorithm.
With a full INS you can always get better performance since you need to make less assumptions...
But I'm glad that you seem to be happy with the AHRS algos we implemented.

Cheers, Felix


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
In reply to this post by Simon Liebold
Dear Simon.
What you use is VERY depends what you flew. :)))

Sincerely
Vlad
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Simon Liebold

Hi Vlad,
> What you use is VERY depends what you flew. :)))
>
OK, I can see that makes sense. But it also makes me wonder what size
your UAV is. :-)

Simon


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
In reply to this post by Lazy
Hi gang.
So...
I changed the MTi coordinate system from ENU to NWU. It seems everything looks good, but ...
If the PFD shows the correct angles, messages show the correct attitude angles - does this mean that the navigation and control aircraft will also work correctly?
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator

Hi,

You should also check if the acceleration, angular rate and velocity are in the correct coordinate system.

Did you add that configuration to the code or configure the xsens beforehand?

Cheers, Felix

Am 16.10.2014 15:31 schrieb "Lazy" <[hidden email]>:
Hi gang.
So...
I changed the MTi coordinate system from ENU to NWU. It seems everything
looks good, but ...
If the PFD shows the correct angles, messages show the correct attitude
angles - does this mean that the navigation and control aircraft will also
work correctly?



--
View this message in context: http://lists.paparazziuav.org/XSens-700-and-airplane-on-screen-orientation-tp16240p16269.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
Dear Felix
Tell me please, WHERE I check accelerations and so on? :) I will do it!
New generation of Xsens use internally 3 different coordinate system and every changes make internally.

Sincerely
Vlad
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
In reply to this post by Lazy
Frustrated...
No way to make proper configuration of IMU without Christophe support.
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

flixr
Administrator
In reply to this post by Lazy
Hi Vlad,

you can switch the telemtry mode in settings to scaled sensors and then plot the accel and gyro xyz values to check if they are correct.

Hope that helps,
Felix

On Thu, Oct 16, 2014 at 7:27 PM, Lazy <[hidden email]> wrote:
Dear Felix
Tell me please, WHERE I check accelerations and so on? :) I will do it!
New generation of Xsens use internally 3 different coordinate system and
every changes make internally.

Sincerely
Vlad



--
View this message in context: http://lists.paparazziuav.org/XSens-700-and-airplane-on-screen-orientation-tp16240p16271.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Lazy
In reply to this post by Lazy
Dear Christophe :)
Did you read list messages?

Sincerely you
Vlad
Reply | Threaded
Open this post in threaded view
|

Re: XSens 700 and airplane on-screen orientation.

Christophe De Wagter
Hi Lazy,

Sorry I did not follow this post yet. Sorry about your orientation issues. I can not test this at the moment.

I do not know what is in master at the moment. I always setup the XSens to North-East-Down = aerospace default.

What I always do is to select telemetry-mode calibrated in the GCS and check all signs of all gyro (roll right positive, pitch up positive, yaw right positive) and accelerometers (nose down: x=-9.81, right wing down: y=-9.81, bottom down: z=-9.81). 

Then, in fixedwing mode all the euler angles are copied directly from the XSens. If pitch is reversed, put a minus in

  struct FloatEulers att = {
    -ins_phi+ins_roll_neutral,
    ins_theta+ins_pitch_neutral,
    -ins_psi
  };

Putting a minus/plus/-180 will not affect the stability of the XSens nor the integrity of attitude computations as the XSens does not care.



-Christophe 

On Mon, Nov 3, 2014 at 11:48 AM, Lazy <[hidden email]> wrote:
Dear Christophe :)
Did you read list messages?

Sincerely you
Vlad



--
View this message in context: http://lists.paparazziuav.org/XSens-700-and-airplane-on-screen-orientation-tp16240p16312.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
12