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

fix 'moveit_ros_control_interface' gazebo arm control #13

Conversation

rickstaa
Copy link

This pull request shows how the moveit_ros_control_interface::MoveItControllerManager works. The most important thing is that you set the ros_control_namespace parameter within the move_group namespace. This controller manager however does not yet support the gripper action.

@rickstaa rickstaa marked this pull request as draft October 27, 2021 19:09
@rickstaa rickstaa force-pushed the rha/ros-controllers-moveit_ros_control_interface-example branch from 9d92a6a to 42953d4 Compare October 27, 2021 19:22
@rickstaa rickstaa force-pushed the rha/ros-controllers-moveit_ros_control_interface-example branch from 42953d4 to eb90437 Compare October 27, 2021 19:29
@rickstaa rickstaa marked this pull request as ready for review October 27, 2021 19:32
@rhaschke
Copy link
Owner

I don't yet see where the ros_control_namespace parameter is used. Can you provide a pointer to some code?
What happens if the parameter is not (correctly) set?

Closing here in favour of #14.

@rhaschke rhaschke closed this Oct 27, 2021
@rickstaa
Copy link
Author

This behaviour is documented in the (outdated) README page of the moveit_ros_control_interface. The code that implements this can be found here.

Do you want to update the README (i.e. remove the controller_list part) and explain the difference between the moveit_ros_control_interface and moveit_simple_controller_manager in the Low-Level Controllers tutorial. I can add a TODO for this.

@rickstaa rickstaa deleted the rha/ros-controllers-moveit_ros_control_interface-example branch October 28, 2021 07:45
@rickstaa
Copy link
Author

Looks like @davetcoleman moveit/moveit#112 already created an issue for this.

@rickstaa rickstaa restored the rha/ros-controllers-moveit_ros_control_interface-example branch October 28, 2021 07:57
@rickstaa
Copy link
Author

Here a quick summary for future reference:

When a controller manager is found in the root namespace, MoveIt can automatically find the trajectory controllers it should use (see this code). When no controller manager is found, it throws the following error:

[/panda/move_group] [ WARN] [WallTime: 1635408493.753962593, 23.776000000]: Failed to read controllers from /controller_manager/list_controllers
[/panda/move_group] [ERROR] [WallTime: 1635408493.753997938, 23.776000000]: Unable to identify any set of controllers that can actuate the specified joints: [ panda_joint1 panda_joint2 panda_joint3 panda_joint4 panda_joint5 panda_joint6 panda_joint7 ]
[/panda/move_group] [ERROR] [WallTime: 1635408493.754017065, 23.776000000]: Known controllers and their joints:

[/panda/move_group] [ERROR] [WallTime: 1635408493.754036758, 23.776000000]: Apparently trajectory initialization failed

This can be solved by using the moveit_ros_control_interface parameter. This parameter points MoveIt to the controller manager, after which it can automatically find Trajectory controllers. It does not automatically find or work with any GripperCommand services.

Further, the controller_list parameter seems to be ignored by the moveit_ros_control_interface in both cases.

@rickstaa rickstaa deleted the rha/ros-controllers-moveit_ros_control_interface-example branch December 7, 2021 15:29
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

Successfully merging this pull request may close these issues.

2 participants