-
Notifications
You must be signed in to change notification settings - Fork 55
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
Shared pointers for melodic #23
Comments
Thanks for bringing this up @jonbinney. My preference would be a melodic branch since it is a good chance to introduce other breaking changes. I made a melodic-devel branch. |
Thanks, I've create a PR to the melodic branch with the commit: #24 |
Awesome, thank you @jonbinney. Merged! Out of curiosity, are you just using the controller? |
Yep - needed a good twist to mecanum controller for a custom robot :-) |
@jonbinney, if you have a need, we could move this out from here into a standalone package so other platforms can use it. I don't think this will ever get merged into ros-controls/ros_controllers#149. |
Oh! I had totally missed that PR discussion. It would be nice to have just the controller in its own repo (although it would be even better if it could get merged into ros_controllers). It sounds like the main barrier to getting this into ros_controllers is tests and gazebo support. No rush - I'll comment on that PR for now to see if I can get a good picture of what would be needed before getting this merged in. |
That was the barrier. There was no great way to simulate this at the time (haven't looked at it recently though). There is a holonomic simulation for the Ridgeback using the force move plugin here:https://github.com/ridgeback/ridgeback_simulator/tree/indigo-devel/ridgeback_gazebo_plugins or the PR for it https://github.com/tu-darmstadt-ros-pkg/hector_gazebo/pull/29/files. It should work to validate the mecanum controller. |
The "force push" solution isn't really testing the controller though— it completely bypasses it for the sake of being able to test the whole robot end to end. I really wanted the directional friction solution to work, and sunk a nontrivial amount of time on it, but all that was ~3 years ago and under Gazebo 7. It's possible that the situation is different under Gazebo 8 or 9— if anyone's interested to pick up the work again, you can start here: Basically just switch the plugins in the URDF over to the commented-out ones, launch the sim, and give it a series of twists that command it to move in X and Y. Generally I found that the "strafe" commands would seem to work correctly in either direction for a metre or two and then it would seemingly go unstable and spin out of control. I strongly suspect that the plugin was not correctly updating the directional friction as the wheel turned, but without a reliable way to visualize the friction vector, it seems like a dead end to try to fix it. |
Thanks @mikepurvis, really appreciate the work you put into that. If I find time I'll take another look. |
Closing due to inactivity. |
Starting in melodic, the urdf parser uses
std::shared_ptr
instead ofboost::shared_ptr
. I've made the fixes in a branch on my fork: jonbinney@9fcc361I'm not PRing these into kinetic-devel of this repo since they are breaking changes. Could either create a melodic-devel branch or I could add a bunch of preprocessor stuff to change the code depending on distro. Preference?
The text was updated successfully, but these errors were encountered: