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

Add more controllers support #303

Open
jacknlliu opened this issue Nov 3, 2017 · 12 comments
Open

Add more controllers support #303

jacknlliu opened this issue Nov 3, 2017 · 12 comments
Assignees

Comments

@jacknlliu
Copy link

jacknlliu commented Nov 3, 2017

I got many ros controllers from robot_mechanism_controllers , which including

Force/Impedance Controllers:

Could these support in ros controllers?

@bmagyar
Copy link
Member

bmagyar commented Nov 3, 2017

Thanks for bringing this up. You may have noticed the overlap between these controllers and the ones in ros_controllers. The difference historical: the ones you've posted are from the pr2_controller_manager days which is where ros_control originates from. That system was specific for the PR2 robot, while ros_control is robot-agnostic.

I agree that we should have a look at those controllers and see if they are worth porting over.

@mathias-luedtke
Copy link
Contributor

mathias-luedtke commented Nov 3, 2017

It might be even possible to wrap the PR2 controller interface to our controller interface, but I think this is worth the effort only if the controllers are generic (as @bmagyar already pointed out).

@bmagyar
Copy link
Member

bmagyar commented Nov 3, 2017 via email

@graiola
Copy link
Member

graiola commented Nov 5, 2017

I think it should be possible to transform them in ros_controllers, but I have two concerns:

  • Which robot do we use to create the tests? These controllers use efforts as commands and we would need an effort-controlled robot to test them (perhaps rrbot?).
  • Are these controllers guaranteed to be real-time safe?

@bmagyar
Copy link
Member

bmagyar commented Nov 6, 2017

Well... It turns out we don't actually have tests for any of our effort controllers and rrbot only has dummy inertial parameters set up but in theory that should still allow tests to work.

@bmagyar
Copy link
Member

bmagyar commented Nov 28, 2017

@jacknlliu any thoughts on this?

@jacknlliu
Copy link
Author

jacknlliu commented Nov 29, 2017

@bmagyar A lot of times, I want to use the effort controller interface(including joint trajectory controller and cartesian space controller), but I searched many ROS packages, especially ROS-Industrial and the GitHub projects about ROS, I find that no works on this, especially work with gazebo. I think this is very important for modern robotics research in Gazebo and ROS.

And I try to use the joint trajectory controller with effort interface, but we should first make the gravity compensation for Gazebo simulation robot, or the robot will not stable only with PID configuration about joint trajectory controller? An exploration about this, see Change the RRRBot to use torque control instead of position control by @JoshMarino. The same thing in joint velocity interface with Gazebo, see Controlling joints with velocity commands by @JenniferBuehler.

I think that there is some work left unfinished.

@bmagyar
Copy link
Member

bmagyar commented Nov 29, 2017

Gazebo has 2 approaches for this. One is through the ros_control interface where they leave controller implementations up to the user and one where the controllers are provided as standalone Gazebo plugins such as the gazebo differential drive plugin.

Thanks for pointing out those posts, the comments and changes of the authors would be very much valued for fixing our tutorials. Using open-source and contributing back are essential for keeping things running. We can't go out hunting for posts telling if a tutorial is wrong, we are to be approached.

The mode-switch should also be implemented for the Gazebo RobotHW so any joint interface could be used for the example robots. I personally can't allocate time to that now but would be happy to review PR-s on it.

@JenniferBuehler
Copy link

Thanks for letting me know about this. I was initially planning to make a PR proposing the addition of velocity controllers like the one I was playing around with, but haven't found the time yet. My package is now over a year old (or almost 2, oh time flies!) so it probably would need updating again anyway. If you think it would be really useful to have the sample velocity controller PR soon, I'll try to move this up in my TODO list :)

@jacknlliu
Copy link
Author

jacknlliu commented Nov 30, 2017

hope you share your research about this up to date.

@bmagyar What do you think about the PR proposing about new type velocity controller from @JenniferBuehler ?

@destogl
Copy link
Member

destogl commented Dec 5, 2017

Hi,

we have some solution for generic Cartesian controllers extending ros_control controllers and using moveIt IK-plugin interface to dynamically load different IKs. We tested them on multiple ros_control enabled robots and they work perfectly. Would this be of your interests?

@jacknlliu
Copy link
Author

👍 could you share your codes about these? And is it tested with Gazebo RobotHW?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants