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

Merge two joint_trajectory_controller #360

Open
ptiza-v-nebe opened this issue Oct 3, 2018 · 2 comments
Open

Merge two joint_trajectory_controller #360

ptiza-v-nebe opened this issue Oct 3, 2018 · 2 comments

Comments

@ptiza-v-nebe
Copy link

This is the plattform:
https://static.generation-robots.com/5045-large_default/kuka-youbot-omnidirektionaler-mobiler-roboter-mit-arm.jpg

My intend is to use the base and manipulator as one 8 DOF Robot and control it with moveit. The base has 3 DOF and Manipulator 5 DOF. The best result was to use effort_controller/JointTrajectoryController with manipulator and velocity_controller/JointTrajectoryController with the base. So I have two different Interfaces on two devices.

We get two FollowJointTrajectory Action Topics througt JointTrajectoryController. How to merge them into one?

I already managed to implement CombinedRobotHW, with the idea somehow to make one JointTrajectoryController. Now I can use one controller_manager for both devices(base,manip) but I still cant say "here are all my joint, make please one JointTrajectoryController" because you cant mix effort and velocity command.

Is there some way to do this? The simplest is of course to implement another node for merging them manually but maybe is there another good solution?

Thanks!

@ptiza-v-nebe
Copy link
Author

There is no option to combine them in one controller without writing new complex controller. I just written another node that is muxing base and manipulator action topics to one combined action topic that Im now using in moveit. It works ok, besides some problems with managing two different feedbacks and results.

@mikepurvis
Copy link
Contributor

In general, yes, you will need a new complex controller. However, you have a couple options for implementing it. First of all, you can combine existing controllers using either composition (instantiate them within your complex controller) or using multiple inheritance, for which there's some discussion and a helper class for, in PR here:

#290
#301

As far as having a controller which talks to more than one joint type, that's definitely possible— see MultiInterfaceController.

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

No branches or pull requests

2 participants