-
Notifications
You must be signed in to change notification settings - Fork 69
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
MecanumDriveOdometry to handle odometry estimation of Mecanum wheeled models #486
Conversation
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 check
- linters https://github.com/gazebosim/gz-math/runs/8020312206?check_suite_focus=true
- Add tests
- Sign the commit https://github.com/gazebosim/gz-math/pull/486/checks?check_run_id=8020243561
We are also adding python interfaces to new classes, if you don't have time to do it, please open an issue about adding python interfaces.
depends on #1664 of gz-sim |
…heels odometry Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com> Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com> Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com> Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com> Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
Signed-off-by: danilo_gsch <danilo_gsch@hotmail.com>
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.
linters https://github.com/gazebosim/gz-math/actions/runs/3534393561/jobs/5931205749
/github/workspace/include/ignition/math/MecanumDriveOdometry.hh:81: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:36: Line ends in whitespace. Consider deleting these extra spaces. [whitespace/end_of_line] [4]
/github/workspace/src/MecanumDriveOdometry.cc:41: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:144: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:152: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:153: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:154: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:155: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:176: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:177: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:180: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:181: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:182: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:206: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:272: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:285: Missing username in TODO; it should look like "// TODO(my_username): Stuff." [readability/todo] [2]
/github/workspace/src/MecanumDriveOdometry.cc:286: Lines should be <= 80 characters long [whitespace/line_length] [2]
/github/workspace/src/MecanumDriveOdometry.cc:287: Lines should be <= 80 characters long [whitespace/line_length] [2]
Total errors found: 18
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.
@danilogsch Do you think you will have time to fix the linter issues and address @ahcorde's feedback ? |
@danilogsch friendly ping |
hey, sorry that I haven't reached here in a while... Is there anything else you need me to do here? |
Looks like linter errors are resolved, only Ubuntu Bionic lists
but this could probably be neglected since Focal/Jammy don't complain. However, you have to add tests - probably similar to the ones in |
@Bi0T1N , thanks for the insight... I had no idea on how to deal with unsigned commits. |
Hi, is there anything I can do to help here? |
Hey, thanks for asking... could you help me with the tests? I've been using Garden in my research, I did not have time to look into the DiffDriveOdometry_TEST.cc and to mimic that just yet |
line length corrections
Version v2 of the actions/checkout workflow is deprecated, so switch to v3. Part of gazebo-tooling/release-tools#862. Signed-off-by: Steve Peters <scpeters@openrobotics.org>
The LICENSE file contained a copy of the stanze used at the top of source code files, while the actual license was in the COPYING file. So remove the stanza and put the actual Apache 2.0 license text in LICENSE. Signed-off-by: Steve Peters <scpeters@openrobotics.org>
* Custom PID error rate Signed-off-by: Nate Koenig <natekoenig@gmail.com> * added test Signed-off-by: Nate Koenig <natekoenig@gmail.com> --------- Signed-off-by: Nate Koenig <natekoenig@gmail.com>
Signed-off-by: Michael Carroll <michael@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
Signed-off-by: Addisu Z. Taddese <addisu@openrobotics.org>
ok,i can take a look into that. |
Yes, as |
I made this two branches when Garden was released: basic the same as this PR, feel free to use it |
Co-authored-by: muttistefano <mutti.stefano.jp@gmail.com> Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
I just addressed the linting issues here and pulled in @muttistefano's test from #537 |
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 haven't verified with gz-sim, but I've looked at the equations and the referenced website and it all looks good to me. I'd say the assumption of a 1.0
wheel radius should be explicitly stated in the class header and in the gz-sim system that uses this.
Signed-off-by: Michael Carroll <mjcarroll@intrinsic.ai>
🎉 New feature
Closes #683
Summary
Math Class to handle odometry estimation of Mecanum wheeled models.
Observation: Aproximation when the robot is given both linear, lateral and angular velocity commands. Exact pose integration or Runge Kuffa second order integration happens if one the velocity straight commands (linear or lateral) is 0.
Test it
run mecanum_drive.sdf and listen the odometry and tf topics.
Checklist
codecheck
passed (See contributing)