-
Notifications
You must be signed in to change notification settings - Fork 130
Added orientation acceleration to message BaseMoving (solves #279) #291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@carsten-kuebler what does the ISO say about this value? |
osi_common.proto
Outdated
| // (all parent frames up to ground truth). | ||
| // | ||
| // <tt>Rotation_yaw_pitch_roll(#orientation (t)) := | ||
| // Rotation_yaw_pitch_roll(#orientation_rate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please provide an example for orientation_acceleration here.
|
Hi @TBreitenbergerConti and @CarloVanDriestenBMW, as matrix multiplication on every timestep results in unnecessary numerical drift and as we're neither interested in relative kinematics nor in time derivatives of rotational matrices - why don't we use examples for the scalar values (which I would recommmend to update)? For discrete time steps and no higher order integration schemes, the linear scalar formulas would be: orientation.yaw(t) = orientation_rate.yaw(t) * dt + orientation.yaw(t-dt) orientation_rate.yaw(t) = orientation_acceleration.yaw(t) * dt + orientation_rate.yaw(t-dt) Based on the scalar value calculation, the rotation matrices can be freshly set up on every time step. |
|
Hello,
yes, I agree. We can avoid that drift.
I will give the chance to reply on this or make a different opinion on this topic public by waiting for several days. After this I will add the given scalar equations as example in the commented area.
Von: Ludwig Friedmann <notifications@github.com>
Gesendet: Donnerstag, 13. Dezember 2018 09:19
An: OpenSimulationInterface/open-simulation-interface <open-simulation-interface@noreply.github.com>
Cc: Breitenberger, Thomas <Thomas.Breitenberger@continental-corporation.com>; Mention <mention@noreply.github.com>
Betreff: Re: [OpenSimulationInterface/open-simulation-interface] Added orientation acceleration to message BaseMoving (solves #279) (#291)
Hi @TBreitenbergerConti<https://github.com/TBreitenbergerConti> and @CarloVanDriestenBMW<https://github.com/CarloVanDriestenBMW>,
as matrix multiplication on every timestep results in unnecessary numerical drift and as we're neither interested in relative kinematics nor in time derivatives of rotational matrices - why don't we use examples for the scalar values (which I would recommmend to update)?
For discrete time steps and no higher order integration schemes, the linear scalar formulas would be:
orientation.yaw(t) = orientation_rate.yaw(t) * dt + orientation.yaw(t-dt)
orientation.pitch(t) = orientation_rate.pitch(t) * dt + orientation.pitch(t-dt)
orientation.roll(t) = orientation_rate.roll(t) * dt + orientation.roll(t-dt)
orientation_rate.yaw(t) = orientation_acceleration.yaw(t) * dt + orientation_rate.yaw(t-dt)
orientation_rate.pitch(t) = orientation_acceleration.pitch(t) * dt + orientation_rate.pitch(t-dt)
orientation_rate.roll(t) = orientation_acceleration(t) * dt + orientation_rate.roll(t-dt)
Based on the scalar value calculation, the rotation matrices can be freshly set up on every time step.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#291 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/Ap7MpJbqNuIjKGRbXVgRFbPMZ0rHA9IDks5u4g1hgaJpZM4Y5NDi>.
|
|
Hello again.
With a small correction for orientation roll rate:
orientation_rate.roll(t) = orientation_acceleration.roll(t) * dt + orientation_rate.roll(t-dt)
Von: Ludwig Friedmann <notifications@github.com>
Gesendet: Donnerstag, 13. Dezember 2018 09:19
An: OpenSimulationInterface/open-simulation-interface <open-simulation-interface@noreply.github.com>
Cc: Breitenberger, Thomas <Thomas.Breitenberger@continental-corporation.com>; Mention <mention@noreply.github.com>
Betreff: Re: [OpenSimulationInterface/open-simulation-interface] Added orientation acceleration to message BaseMoving (solves #279) (#291)
Hi @TBreitenbergerConti<https://github.com/TBreitenbergerConti> and @CarloVanDriestenBMW<https://github.com/CarloVanDriestenBMW>,
as matrix multiplication on every timestep results in unnecessary numerical drift and as we're neither interested in relative kinematics nor in time derivatives of rotational matrices - why don't we use examples for the scalar values (which I would recommmend to update)?
For discrete time steps and no higher order integration schemes, the linear scalar formulas would be:
orientation.yaw(t) = orientation_rate.yaw(t) * dt + orientation.yaw(t-dt)
orientation.pitch(t) = orientation_rate.pitch(t) * dt + orientation.pitch(t-dt)
orientation.roll(t) = orientation_rate.roll(t) * dt + orientation.roll(t-dt)
orientation_rate.yaw(t) = orientation_acceleration.yaw(t) * dt + orientation_rate.yaw(t-dt)
orientation_rate.pitch(t) = orientation_acceleration.pitch(t) * dt + orientation_rate.pitch(t-dt)
orientation_rate.roll(t) = orientation_acceleration(t) * dt + orientation_rate.roll(t-dt)
Based on the scalar value calculation, the rotation matrices can be freshly set up on every time step.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#291 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/Ap7MpJbqNuIjKGRbXVgRFbPMZ0rHA9IDks5u4g1hgaJpZM4Y5NDi>.
|
|
Thanks @TBreitenbergerConti, I just fixed the typo. |
|
@TBreitenbergerConti could you update until Thursday evening, please? I would like to release on Friday! :) |
TimFrickeBMW
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with the definition and the additional examples suggested by @LudwigFriedmannBMW and @TBreitenbergerConti .
|
@carsten-kuebler could I lend your expertise for a moment and ask how to display the formulas in doxygen the best way? As note? |
|
@CarloVanDriestenBMW we could use htmlonly mathml? should I change this in the overall documentation? If yes, I would also add htmlonly where it is necessary... |
|
@carsten-kuebler Sure, if it is the way to go! We should do it in a separate PR today and I will merge this one before. |
|
@TimFrickeBMW did you check the file after my commit for consistency? Is update of the documentation/definition fitting all the other definitions in the osi_common file still using the rotational matrices? It would be great to get a go from you in the next hours in order for me to merge. |
No description provided.