Skip to content
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

Create holonomic configuration #11

Closed
osrf-migration opened this issue Jun 28, 2018 · 8 comments
Closed

Create holonomic configuration #11

osrf-migration opened this issue Jun 28, 2018 · 8 comments
Labels
enhancement New feature or request minor

Comments

@osrf-migration
Copy link

Original report (archived issue) by Kevin Allen (Bitbucket: kev-the-dev).


Several teams used a holonomic (4 motor) configuration at RobotX 2016. This feature was also requested by a member of the RobotX fourms.

Here's one plan:

  • Add a new urdf with 4 engines attached, each at 45 degree angles
  • Adjust the thrust plugin to accommodate this configuration
@osrf-migration
Copy link
Author

Original comment by Brian Bingham (Bitbucket: brian_bingham).


Is there a good way to connect the URDF description to the plugin?
How does the configuration information (thruster location and orientation) get passed to the plugin?

I can work on updating the thruster plugin. I don't think that will take too much work.

Currently the thruster plugin uses the xacro file in wamv_gazebo directory. Not sure how to centralize this so that the thruster configuration is only specified in one place.

@osrf-migration
Copy link
Author

Original comment by Kevin Allen (Bitbucket: kev-the-dev).


The plugin is passed the robot's model (physics::ModelPtr) in the Load function. It can get all the link/joint poses from this object, it just needs to know the name of the joints to look at (right now they are hardcoded in the <left_propeller_joint> and <right_propeller_joint> tags).

The more "ROSified" way is to use ros_control. This package is meant to abstract away the hardware interfaces so users can write one controller and have it run seamlessly with the simulation or with the motor drivers on their real platform. I don't personally have experience with this package, but it could be cool later down the line!

@osrf-migration
Copy link
Author

Original comment by Brian Bingham (Bitbucket: brian_bingham).


Agreed - I think we keep it "simple" for now and have two places where the thruster configuration is specified:

  1. In the model URDF for visualization
  2. In the plugin xacro for implementing the physics

I've stayed away from the ros_control route because I think part of the challenge for the teams is coming up with low level controllers that match their propulsion system and vehicle dynamics. I think one of the aspects of maritime robotics that could be considered different from typical ROS applications is the variety of vehicle and environmental dynamics - an the strong influence of those aspects of the system on the overall performance. While wheel robot controllers can be pretty standard - at least in form - there is a lot of variety in how to implement control for various types of USVs with different propulsion options .

@osrf-migration
Copy link
Author

Original comment by Kevin Allen (Bitbucket: kev-the-dev).


  • changed priority from "major" to "minor"
  • changed kind from "bug" to "enhancement"

@osrf-migration
Copy link
Author

Original comment by Raymond Andrade (Bitbucket: 808brick).


Hey Brian and Kevin,

Do you have a rough time estimate on when this holonomic drive implementation would be complete? I noticed that this was marked as a minor issue and just wanted to know if I should hold out for the update or not to expect it for another couple months.

Thanks!

@osrf-migration
Copy link
Author

Original comment by Kevin Allen (Bitbucket: kev-the-dev).


This is actively being worked on. I'd expect it to be merged in within a couple of weeks. Glad to have someone to test it!

@osrf-migration
Copy link
Author

Original comment by Brian Bingham (Bitbucket: brian_bingham).


See PR 36

@osrf-migration
Copy link
Author

Original comment by Carlos Agüero (Bitbucket: caguero, GitHub: caguero).


  • changed state from "new" to "resolved"

Done in pull request #36 and pull request #40.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request minor
Projects
None yet
Development

No branches or pull requests

1 participant