-
Notifications
You must be signed in to change notification settings - Fork 15
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
Use actual depth vbs expectations #113
Conversation
Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
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.
Thanks for cleaning up the test!
this->CheckRange(26000, {16.95, 3.13, -5.16, 0.00, 0.00, 1.66}, {15.0, 3.14}); | ||
this->CheckRange(28000, {16.65, 5.57, -6.79, -0.00, 0.02, 2.17}, {15.0, 3.14}); | ||
ignition::math::Vector3d maxVel(0, 0, 0); | ||
for (int i = 1; i <= this->tethysPoses.size(); i ++) |
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.
How about not checking every single pose? It takes longer with little benefit. I think that every 1000~2000 iterations should be enough to catch issues.
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.
Ping @arjo129 , I think this comment is especially important now that the number of iterations was increased
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.
We can address this later
Signed-off-by: Arjo Chakravarty <[email protected]>
…_expectations Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
…ctations Signed-off-by: Arjo Chakravarty <[email protected]>
…lrauv into arjo/fix/testdepthvbs_expectations Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
Signed-off-by: Arjo Chakravarty <[email protected]>
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.
LGTM, I just have some recommendations below to make the test quicker and to check other directions (X, Y and yaw), so we can catch problems if we introduce (more) drift in the future.
this->CheckRange(26000, {16.95, 3.13, -5.16, 0.00, 0.00, 1.66}, {15.0, 3.14}); | ||
this->CheckRange(28000, {16.65, 5.57, -6.79, -0.00, 0.02, 2.17}, {15.0, 3.14}); | ||
ignition::math::Vector3d maxVel(0, 0, 0); | ||
for (int i = 1; i <= this->tethysPoses.size(); i ++) |
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.
Ping @arjo129 , I think this comment is especially important now that the number of iterations was increased
ignition::math::Vector3d maxVel(0, 0, 0); | ||
for (int i = 1; i <= this->tethysPoses.size(); i ++) | ||
{ | ||
// Vehicle roll should be constant |
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.
Should we check other quantities that should also be constant? i.e. X, Y and yaw?
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.
X, Y and Yaw are not constant. This was also found in real life data. There is a significant amount of translation along the X axis and yawing.
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.
Do we know how much change we should expect on these dimensions? Is there a point when it's too much?
I get the concern over excessive translation. We don't have such data. As I
said earlier it is ok for the vehicle to translate and spin (significantly
as normally the pitchmass is used to prevent the vehicle from excessive
pitching and thus translation). If you look at the end of the test we do
check that the overall vehicle velocity reduces. If we really want we can
run the test for longer till the velocity approaches zero. It doesn't make
sense for us to set upper bounds on translation as there is no clear amount
and we will have to keep changing it. The test pitchmass + depth VBS
mission however should have some bounds on translation.
…On Wed, Dec 22, 2021, 11:37 AM Louise Poubel ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In lrauv_ignition_plugins/test/test_mission_depth_vbs.cc
<#113 (comment)>:
> - this->CheckRange(12000, {14.82, 8.71, -15.58, 0.00, 0.04, 2.55}, {15.0, 3.14});
- this->CheckRange(14000, {10.69, 10.22, -16.95, -0.00, -0.03, -2.80}, {15.0, 3.14});
- this->CheckRange(16000, {7.85, 8.85, -16.07, -0.00, -0.01, -2.13}, {15.0, 3.14});
- this->CheckRange(18000, {6.48, 6.29, -13.84, 0.00, -0.07, -1.59}, {15.0, 3.14});
- this->CheckRange(20000, {6.99, 2.26, -10.73, 0.00, -0.17, -0.93}, {15.0, 3.14});
- this->CheckRange(22000, {11.22, -0.97, -7.71, -0.00, -0.10, 0.06}, {15.0, 3.14});
- this->CheckRange(24000, {15.47, 0.32, -5.62, -0.00, 0.04, 0.98}, {15.0, 3.14});
- this->CheckRange(26000, {16.95, 3.13, -5.16, 0.00, 0.00, 1.66}, {15.0, 3.14});
- this->CheckRange(28000, {16.65, 5.57, -6.79, -0.00, 0.02, 2.17}, {15.0, 3.14});
+ int maxIterations{28000};
+ ASSERT_LT(maxIterations, this->tethysPoses.size());
+
+ ignition::math::Vector3d maxVel(0, 0, 0);
+ for (int i = 1; i <= this->tethysPoses.size(); i ++)
+ {
+ // Vehicle roll should be constant
Do we know how much change we should expect on these dimensions? Is there
a point when it's too much?
—
Reply to this email directly, view it on GitHub
<#113 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAEEMQDYUMV5SIMSVAGUV7LUSFBV3ANCNFSM5JYUPS3A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I see, ok, so it sounds like it's difficult (impossible?) to use this test to detect regressions on our dynamics if it introduces extra drifting, and we have other tests that can be used to check that instead 👍 |
I'll merge this so the test becomes stable for other branches |
This test is a rewrite of the testDepthVBS test. The key change is instead of a trajectory, we check that the vehicle eventually reaches a depth of 10m and its depth rate eventually reaches zero. It also checks that the velocity is reducing slowly. I expect this to be a ❌ till the upstream changes in the controller are merged and a new docker image is generated,