Update pilz tutorials for POLYLINE planner#1075
Conversation
edit description clang-format corrections
|
Will review this PR as I'm interested in testing POLYLINE. |
130s
left a comment
There was a problem hiding this comment.
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.
| velocity profile in Cartesian space. This planner only accepts a | ||
| start state with zero velocity. The planning result is a joint trajectory. The user needs to adapt | ||
| the Cartesian velocity/acceleration scaling factor if the motion plan fails due to violation of cartesian limits. | ||
| the planner will fail if three or more consecutive waypoints are collinear. |
There was a problem hiding this comment.
| the planner will fail if three or more consecutive waypoints are collinear. | |
| The planner will fail if three or more consecutive waypoints are collinear. |
Nit.
| - ``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`` |
There was a problem hiding this comment.
| 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.
| @@ -425,7 +470,7 @@ is used instead: | |||
|
|
|||
| The | |||
| :codedir:`pilz_sequence.cpp file <how_to_guides/pilz_industrial_motion_planner/src/pilz_sequence.launch.py>` | |||
There was a problem hiding this comment.
This line is not modified in this PR so far though, I do not find the file how_to_guides/pilz_industrial_motion_planner/src/pilz_sequence.launch.py in the how_to_guides/pilz_industrial_motion_planner/src folder. Is this meant to be how_to_guides/pilz_industrial_motion_planner/src/pilz_sequence.cpp?
| item2.req.goal_constraints.push_back(kinematic_constraints::constructGoalConstraints("panda_hand", target_pose_item2)); | ||
|
|
||
| // -------- Motion Sequence Items 3 | ||
| moveit_msgs::msg::MotionSequenceItem item3; |
There was a problem hiding this comment.
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"); | ||
| } | ||
|
|
||
| { |
There was a problem hiding this comment.
(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).
| item3.req.max_velocity_scaling_factor = 0.1; | ||
| item3.req.max_acceleration_scaling_factor = 0.1; | ||
|
|
||
| // For the item, it must be 0! |
There was a problem hiding this comment.
| // For the item, it must be 0! | |
| // For the last pose, the blending radius must be 0! |
Just clarifying a bit.
edit description
Description
This update the tutorials for the feature in #3610
I hope it turns out well.
Checklist