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

Pilz examples and update to ROS2 #548

Merged
merged 12 commits into from
Dec 7, 2022
Merged

Conversation

sea-bass
Copy link
Contributor

@sea-bass sea-bass commented Nov 20, 2022

Description

This PR updates the Pilz industrial motion planner example doc, but also adds two actual examples that show Pilz with MoveGroup Interface and MoveIt Task constructor.

Checklist

  • Required by CI: Code is auto formatted using clang-format
  • While waiting for someone to review your request, please consider reviewing another open pull request to support the maintainers

Closes #35

@sea-bass sea-bass force-pushed the pr-pilz-tutorial branch 2 times, most recently from 9ec0cdd to ddbce89 Compare November 20, 2022 14:44
Copy link
Contributor

@sjahr sjahr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! Everything worked and I like the examples you're providing. My comments are mostly Nit's

Running the examples works fine for me, but I receive this error message when I run
ros2 run moveit2_tutorials pilz_move_group:

[ERROR] [1669380334.983363669] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983375070] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983401520] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983407822] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983417431] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983420266] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983423983] [moveit_ros.robot_model_loader]: Kinematics solver could not be instantiated for joint group hand.
[ERROR] [1669380334.983717360] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983725866] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983739692] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983743419] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983751284] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983753769] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983756654] [moveit_ros.robot_model_loader]: Kinematics solver could not be instantiated for joint group panda_arm_hand.

It does not seem to prevent the demo from working and doesn't happen with the mtc demo. Does that happen to you too?

Copy link
Contributor

@stephanie-eng stephanie-eng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These isn't from a line that you changed, but I'd appreciate if you added some missing punctuation. Unfortunately, I can't make a suggestion on lines you didn't change, so I've copied the text out below, and put the changes in code quote format

  1. Note that while setting position limits and velocity limits is possible in both the URDF and the parameter server, setting acceleration limits is only possible via the parameter server.

  2. In extension to the common has_acceleration and max_acceleration parameters, we added the ability to also set has_deceleration and max_deceleration (<0.0).

  3. Currently, the calculated trajectory will respect the limits by using the strictest combination of all limits as a common limit for all joints.

  4. This planner generates fully synchronized, point-to-point trajectories with trapezoidal joint velocity profiles.

  5. start_state/joint_state/(name, position and velocity): joint name/position/velocity (optional) of the start state.

  6. goal_constraints: (goal can be given in joint space or Cartesian space)

  7. Remove the bold on:

  • for a goal in joint space
  • for a goal in Cartesian space
  1. The planning result is a joint trajectory.

  2. In analogy to the MoveGroup action interface, the user can plan and execute a moveit_msgs::MotionSequenceRequest through the action server at /sequence_move_group.

@sea-bass
Copy link
Contributor Author

sea-bass commented Nov 29, 2022

Running the examples works fine for me, but I receive this error message when I run ros2 run moveit2_tutorials pilz_move_group:

[ERROR] [1669380334.983363669] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983375070] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983401520] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983407822] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983417431] [moveit_kinematics_base.kinematics_base]: Group 'hand' is not a chain
[ERROR] [1669380334.983420266] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'hand'
[ERROR] [1669380334.983423983] [moveit_ros.robot_model_loader]: Kinematics solver could not be instantiated for joint group hand.
[ERROR] [1669380334.983717360] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983725866] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983739692] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983743419] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983751284] [moveit_kinematics_base.kinematics_base]: Group 'panda_arm_hand' is not a chain
[ERROR] [1669380334.983753769] [kinematics_plugin_loader]: Kinematics solver of type 'kdl_kinematics_plugin/KDLKinematicsPlugin' could not be initialized for group 'panda_arm_hand'
[ERROR] [1669380334.983756654] [moveit_ros.robot_model_loader]: Kinematics solver could not be instantiated for joint group panda_arm_hand.

It does not seem to prevent the demo from working and doesn't happen with the mtc demo. Does that happen to you too?

The same thing happens with the regular tutorial, e.g. if you run,

ros2 run moveit2_tutorials move_group_interface_tutorial 

So it's not unique to this example. It's an error that happens from trying to load the KDL Kinematics plugin for all available move groups.

Copy link
Contributor

@sjahr sjahr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@sjahr sjahr merged commit 7498cc2 into moveit:main Dec 7, 2022
1 check passed
@sea-bass sea-bass added the backport-humble This label signals Mergify to backport this PR to Humble label Oct 23, 2023
mergify bot pushed a commit that referenced this pull request Oct 23, 2023
* Add bare-bones Pilz code examples

* Fill in Pilz MTC example

* Clean up MTC example

* Fill in MoveGroup Interface example + more cleanup

* Update docs

* clang-format

* Fix HTML targets

* Update code links to use codedir

* PR comments

* Fix URL

(cherry picked from commit 7498cc2)

# Conflicts:
#	CMakeLists.txt
sjahr pushed a commit that referenced this pull request Oct 24, 2023
* Pilz examples and update to ROS2 (#548)

* Add bare-bones Pilz code examples

* Fill in Pilz MTC example

* Clean up MTC example

* Fill in MoveGroup Interface example + more cleanup

* Update docs

* clang-format

* Fix HTML targets

* Update code links to use codedir

* PR comments

* Fix URL

(cherry picked from commit 7498cc2)

# Conflicts:
#	CMakeLists.txt

* Fix conflicts from mergify bot

---------

Co-authored-by: Sebastian Castro <[email protected]>
Co-authored-by: Sebastian Castro <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-humble This label signals Mergify to backport this PR to Humble
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Port "Pilz Industrial Motion Planner" tutorial
3 participants