-
Notifications
You must be signed in to change notification settings - Fork 326
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
Add Mecanum Drive Controller #512
base: master
Are you sure you want to change the base?
Add Mecanum Drive Controller #512
Conversation
a22266c
to
002b436
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #512 +/- ##
===========================================
- Coverage 71.86% 30.88% -40.98%
===========================================
Files 41 7 -34
Lines 3650 832 -2818
Branches 1794 505 -1289
===========================================
- Hits 2623 257 -2366
+ Misses 707 133 -574
- Partials 320 442 +122
Flags with carried forward coverage won't be shown. Click here to find out more. |
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
9b036ae
to
43b183f
Compare
admittance_controller/include/admittance_controller/admittance_rule.hpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/mecanum_drive_controller_params.yaml
Outdated
Show resolved
Hide resolved
80df10c
to
936bb9e
Compare
936bb9e
to
48415bf
Compare
This pull request is in conflict. Could you fix it @destogl? |
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
mecanum_drive_controller/test/test_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
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, suggestions only for small changes like typos etc.
mecanum_drive_controller/test/test_load_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
This pull request is in conflict. Could you fix it @destogl? |
@christophfroehlich, does the WaitSet issue in the test framework need to be resolved before this PR can be merged? Bypassing the subscriber/publisher results in all tests passing. @bmagyar would you accept a PR to Humble with the same "hack" to support Twist and TwistStamped as in the Diff. Drive Controller in #143. |
@luis-camero is odom frame available in your case in rviz? In my case, the odom frame is not even listed in rviz Fixed Frame dropdown menu. Could you share the controller yaml file and the URDF? |
@Pratham-Pandey, take a look at the PR I made. |
|
||
TEST_F(MecanumDriveControllerTest, when_controller_is_configured_expect_all_parameters_set) | ||
{ | ||
SetUpController(); |
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.
Setting up the controller at the beginning will cause the test to fail later because the controller parameter is already configured in the function, according to my test, moving it to line 46, the test works fine.
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.
It looks like I opened a review by mistake, feel free to delete the review I submitted if needed!
* Add hardware interface testing dependency * Use orientation w.r.t. odom to set position
@destogl I think there were a few API breaks since those tests were written ;) |
Can this controller be used to move to a specified coordinate or do i need to implement a separate controller (for example a PID controller) to do this? |
Usually, there is some navigation task involved. See the nav2 docs, the nav2 controllers publish a stamped twist as far as I understood, which you can then feed into this ros2_controller. |
mecanum_drive_controller/test/test_load_mecanum_drive_controller.cpp
Outdated
Show resolved
Hide resolved
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.
And some more: StoglRobotics-forks#23
@destogl but when_reference_msg_received_expect_updated_commands_and_status_message
still fails
* Fix tests * Fix format
I am unable to compile it successfully. Others experiencing the same? Sequence of steps:
Error Log:
|
Do you have ros2_control from jazzy or rolling? The API is not backwards compatible. |
I am running Ros2 Iron. Does ros2_control has separate version? how do i check it? |
Sure, there are different versions of ros2_control for different distros. You can compile the development version (which is rolling) from source on iron, see the docs. |
@christophfroehlich after installing ros2_control development version successfully, i re-executed the steps described above in my previous comment but the following error occurs while building. Are you able to build this PR on your machine?:
|
you are right, try StoglRobotics-forks#26 |
Working 👍 |
Depends on ros-controls/control_msgs#79