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 information on controller's joint usage (ros ticket #4258) #274

Open
ahendrix opened this issue Mar 12, 2013 · 0 comments
Open

Add information on controller's joint usage (ros ticket #4258) #274

ahendrix opened this issue Mar 12, 2013 · 0 comments

Comments

@ahendrix
Copy link
Member

When a node switches controllers, it must be aware of all conflicts between controllers. This ticket describes a method of reporting joint usage by the controllers so that the conflicts can be discovered automatically.

There are a few options for reporting joint usage by the controller:

  1. Each controller provides a service which lists what joints it uses.
  2. Each controller overloads a function getClaimedJoints(), which the Controller Manager calls. The CM provides a service for querying all the controllers.
  3. Each controller calls a function registerJointClaims() on the CM, which stores the list of claims. The CM provides a service for returning the current list of claims.

Option 1 was nixed because it requires the user to discover and make a dozen service calls to determine the conflicts. Option 3 requires exposing a function from the CM to the controllers. This requires more intensive changes than option 2.

In option 2, the CM provides a service for querying the joints that each controllers will claim. Here's a proposed version of that service:

{{{

[ListControllerClaims]

ControllerClaim[] claims
string controller_name
bool is_running
string[] joints
}}}

When the service is called, the CM will call getClaimedJoints() on each controller and return the aggregated result. The result includes the information necessary to determine which controllers conflict with the desired set.

trac data:

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

1 participant