Skip to content

Update pilz tutorials for POLYLINE planner#1075

Open
AimanHaidar wants to merge 5 commits into
moveit:mainfrom
AimanHaidar:pilz/polyline
Open

Update pilz tutorials for POLYLINE planner#1075
AimanHaidar wants to merge 5 commits into
moveit:mainfrom
AimanHaidar:pilz/polyline

Conversation

@AimanHaidar

Copy link
Copy Markdown

edit description

Description

This update the tutorials for the feature in #3610

I hope it turns out well.

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

edit description

clang-format

corrections
@AimanHaidar

Copy link
Copy Markdown
Author

@AndyZe
@nbbrooks
Is this tutorial appropriate for the merged feature presented in #3610

@130s

130s commented May 26, 2026

Copy link
Copy Markdown
Contributor

Will review this PR as I'm interested in testing POLYLINE.

@130s 130s left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks! I was able to execute the tutorial program. Just minor suggestions, basically approving.

Took a screenshot and posted on youtube https://www.youtube.com/watch?v=tfKC5PbwQZM Personally "how it looks when it works" for this Pilz and Moveit's RViz plugin is helpful so I suggest to include a link in the tutorial. I'm not trying to make money out of it :) but I understand if people yellow/red-flag agaist posting video link.

- ``start_state/joint_state/(name, position and velocity``: joint
name/position of the start state.
- ``path_constraints``: a list of position constraints to be followed in
Cartesian space. Each waypoint is defined as a ``moveit_msgs::msg::PositionConstraint``

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
Cartesian space. Each waypoint is defined as a ``moveit_msgs::msg::PositionConstraint``
Cartesian space. Each waypoint is defined as a ``moveit_msgs::msg::PositionConstraint`` ([(link to jazzy)](https://docs.ros.org/en/jazzy/p/moveit_msgs/msg/PositionConstraint.html))

I find always nice to have a link to the official definition for data types. I don't know if there's a way to link to the appropriate version of the reference to the version of the moveit tutorial.

item2.req.goal_constraints.push_back(kinematic_constraints::constructGoalConstraints("panda_hand", target_pose_item2));

// -------- Motion Sequence Items 3
moveit_msgs::msg::MotionSequenceItem item3;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Btw, data structure the message Pilz uses may not be complexed but there are many ingredients in the hierarchy. Some visual like this eases my mind.

MotionSequenceItem
|-- MotionPlanRequest
  |-- Constraints https://docs.ros.org/en/jazzy/p/moveit_msgs/msg/Constraints.html
    |-- PositionConstraint https://docs.ros.org/en/jazzy/p/moveit_msgs/msg/PositionConstraint.html
      |-- BoundingVolume https://docs.ros.org/en/jazzy/p/moveit_msgs/msg/BoundingVolume.html
        |-- geometry_msgs/Pose

plan_and_execute("[CIRC] Turn");
}

{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

(This comment is for pilz_moveit.launch.py, which is not included in this PR. Referring to this line just to start a review thread)

Although it's likely out of the scope of this PR, pilz_moveit.launch.py file seems generic, there doesn't seem anything specific about either starting pilz specific processes, nor anything specific about tutorials (yes there are some specific things, which should be pass-able via arguments).
I'm guessing as a tutorial, it's valuable to have each tutorial as standalone project (then move_group.rviz is external to pilz tutorial part).

I don't know. Duplicating such generic files confuses me (especially in .launch.py format, which is hard for me to glimpse the content).

Comment thread doc/how_to_guides/pilz_industrial_motion_planner/src/pilz_sequence.cpp Outdated
@130s

130s commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

@AimanHaidar Are you going to address the review comments?
I now have a merge privilege.

AimanHaidar and others added 3 commits June 16, 2026 21:03
…ence.cpp

Co-authored-by: Isaac Saito <130s@users.noreply.github.com>
…al_motion_planner.rst

Co-authored-by: Isaac Saito <130s@users.noreply.github.com>
@AimanHaidar

Copy link
Copy Markdown
Author

@130s Thanks!
I have done some of your suggestion.

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