From 7b3e0e01077cddd734152ed58ce69f911e1017cb Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 17:31:35 +0200 Subject: [PATCH 01/16] Extend constraint manifold tutorial with definition format This is used since https://github.com/ros-planning/moveit/commit/2968865184153581e6e937a78bba86c27800f130 --- ...oximated_constraint_manifolds_tutorial.rst | 89 ++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index eb246aac5..3ff0d5600 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -16,8 +16,95 @@ For more information on how to plan with path constraints in general, take a loo Creating the Constraint Database -------------------------------- -A sample implementation on how to construct an approximation database from a constraint can be found inside ``demo_construct_state_database.cpp``. +Constructing a Constraints database is done with the `generate_state_database` executable. +This loads constraint defintions (in a format explained below) from the ROS parameter server and finally outputs the state database to a given directory. +Defining constraints +^^^^^^^^^^^^^^^^^^^^ +The `generate_state_database` executable reads constraints from ROS parameters on `/constraints`, in a more compact format that a complete ROS message. + +JointConstraint +~~~~~~~~~~~~~~~ +A JointConstraint limits the positions a joint can take. There are three ways to compactly specify this. + +1. position + a single tolerance +2. position + lower an upper tolerance +3. upper and lower bound + +For example: + + - type: joint + joint_name: first_joint + position: 0.1 + tolerance: 0.2 + weight: 1.0 + - type: joint + joint_name: second_joint + position: 0.1 + tolerances: [0.1, 0.2] + weight: 1.0 + - type: joint + joint_name: third_joint + bounds: [-0.5, 1.0] + weight: 1.0 + +PositionConstraint +~~~~~~~~~~~~~~~~~~ +A PositionConstraint constraints the cartesian positions allowed for a (position relative to a) link. +``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin defintion. +This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. + +For example: + + - type: position + frame_id: base_link + link_name: gripper_link + target_offset: [0.01, 0.01, 0.01] + region: + x: [0, 1.0] # [start, end] + y: [0, 1.0] # [start, end] + z: [0, 1.0] # [start, end] + weight: 1.0 + +OrientationConstraint +~~~~~~~~~~~~~~~~~~~~~ +A OrientationConstraint can be used to keep eg. something grasped mostly upright. + +It is compactly represented with a list of roll, pitch, yaw and a list of tolerances for each axis, for example: + + - type: orientation + frame_id: base_link + link_name: gripper_link + orientation: [-3.1415269, -1.57079632, 0] #RPY + tolerances: [6.28318531, 0.2, 6.28318531] + weight: 1.0 + +VisibilityConstraint +~~~~~~~~~~~~~~~~~~~~ +A VisibilityConstraint allows to eg. specify a camera should always be able to see the gripper. + +How this is achieved is best explained by the `_VisibilityConstraint +` class documentation. + +Such a constraint is compactly defined like this: + + - type: visibility + target_radius: 0.5 + target_pose: + frame_id: 'base_link' + position: [1.2, 3.4, 5.6] + orientation: [-3.1415269, -1.57079632, 0] #RPY + cone_sides: 4 + sensor_pose: + frame_id: 'gripper_cam_link' + position: [1.2, 3.4, 5.6] + orientation: [-3.1415269, -1.57079632, 0] #RPY + max_view_angle: 1.1 + max_range_angle: 0.55 + weight: 1.0 + +Internals +^^^^^^^^^ The main functionality is implemented in the `ConstraintsLibrary `_ class. Constraints are added by calling ``addConstraintApproximation()`` which can be called subsequently to include multiple constraints in the approximation. From 3f6a61d570dcc97ae1f579bf6fb3154f139ab497 Mon Sep 17 00:00:00 2001 From: Loy van Beek Date: Tue, 2 Jun 2020 22:09:24 +0200 Subject: [PATCH 02/16] Explain how to put a constraints file together --- ...oximated_constraint_manifolds_tutorial.rst | 40 ++++++++++++------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 3ff0d5600..37f3cc6d3 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -16,22 +16,30 @@ For more information on how to plan with path constraints in general, take a loo Creating the Constraint Database -------------------------------- -Constructing a Constraints database is done with the `generate_state_database` executable. -This loads constraint defintions (in a format explained below) from the ROS parameter server and finally outputs the state database to a given directory. +Constructing a Constraints database is done with the ``generate_state_database`` executable. +This loads constraint definition (in a format explained below) from the ROS parameter server and finally outputs the state database to a given directory. Defining constraints ^^^^^^^^^^^^^^^^^^^^ -The `generate_state_database` executable reads constraints from ROS parameters on `/constraints`, in a more compact format that a complete ROS message. +The ``generate_state_database`` executable reads constraints from ROS parameters on ``/constraints``, in a more compact format that a complete ROS message. +You can define these in ``rosparam`` to be loaded together in a file, eg. :: + + path_constraint: + name: some_constraints + constraints: + - type: orientation + frame_id: world + # etc, as described below JointConstraint ~~~~~~~~~~~~~~~ -A JointConstraint limits the positions a joint can take. There are three ways to compactly specify this. +A ``JointConstraint`` limits the positions a joint can take. There are three ways to compactly specify this. 1. position + a single tolerance 2. position + lower an upper tolerance 3. upper and lower bound -For example: +For example:: - type: joint joint_name: first_joint @@ -50,11 +58,11 @@ For example: PositionConstraint ~~~~~~~~~~~~~~~~~~ -A PositionConstraint constraints the cartesian positions allowed for a (position relative to a) link. -``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin defintion. +A ``PositionConstraint`` constraints the cartesian positions allowed for a (position relative to a) link. +``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin definition. This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. -For example: +For example:: - type: position frame_id: base_link @@ -68,9 +76,9 @@ For example: OrientationConstraint ~~~~~~~~~~~~~~~~~~~~~ -A OrientationConstraint can be used to keep eg. something grasped mostly upright. +An ``OrientationConstraint`` can be used to keep eg. something grasped mostly upright. -It is compactly represented with a list of roll, pitch, yaw and a list of tolerances for each axis, for example: +It is compactly represented with a list of roll, pitch, yaw and a list of tolerances for each axis, for example:: - type: orientation frame_id: base_link @@ -81,12 +89,11 @@ It is compactly represented with a list of roll, pitch, yaw and a list of tolera VisibilityConstraint ~~~~~~~~~~~~~~~~~~~~ -A VisibilityConstraint allows to eg. specify a camera should always be able to see the gripper. +A ``VisibilityConstraint`` allows to eg. specify a camera should always be able to see the gripper. -How this is achieved is best explained by the `_VisibilityConstraint -` class documentation. +How this is achieved is best explained by the `VisibilityConstraint `_ class documentation. -Such a constraint is compactly defined like this: +Such a constraint is compactly defined like this:: - type: visibility target_radius: 0.5 @@ -103,6 +110,11 @@ Such a constraint is compactly defined like this: max_range_angle: 0.55 weight: 1.0 +Running the database generator +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Assuming MoveIt itself is already launched (via eg. ``roslaunch X_moveit_config demo.launch``), you can use a launch file similar to `generate_state_database.launch `_ + Internals ^^^^^^^^^ The main functionality is implemented in the `ConstraintsLibrary `_ class. From 4689c47326933b3a4daa2d8c5bd79b109bb05933 Mon Sep 17 00:00:00 2001 From: Loy van Beek Date: Tue, 2 Jun 2020 22:16:10 +0200 Subject: [PATCH 03/16] Provide more concrete example for launching the generator --- ...ning_with_approximated_constraint_manifolds_tutorial.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 37f3cc6d3..af92b987f 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -22,7 +22,7 @@ This loads constraint definition (in a format explained below) from the ROS para Defining constraints ^^^^^^^^^^^^^^^^^^^^ The ``generate_state_database`` executable reads constraints from ROS parameters on ``/constraints``, in a more compact format that a complete ROS message. -You can define these in ``rosparam`` to be loaded together in a file, eg. :: +You can define these in ``rosparam`` to be loaded together in a file, eg. ``X_moveit_config/config/constraints.yaml``:: path_constraint: name: some_constraints @@ -115,6 +115,10 @@ Running the database generator Assuming MoveIt itself is already launched (via eg. ``roslaunch X_moveit_config demo.launch``), you can use a launch file similar to `generate_state_database.launch `_ +The file with the constraint definitions can be passed to the launch file:: + + roslaunch ompl_interface generate_state_database.launch constraints_file:=$(rospack find X_moveit_config)/config/constraints.yaml planning_group:=arm + Internals ^^^^^^^^^ The main functionality is implemented in the `ConstraintsLibrary `_ class. From 4dd4b86ec199dad91c2fd7947c27e58345dd321c Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:39:37 +0200 Subject: [PATCH 04/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index af92b987f..11312b372 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -17,7 +17,7 @@ Creating the Constraint Database -------------------------------- Constructing a Constraints database is done with the ``generate_state_database`` executable. -This loads constraint definition (in a format explained below) from the ROS parameter server and finally outputs the state database to a given directory. +This loads the constraint definition (in a format explained below) from the ROS parameter server and outputs the state database to a given directory. Defining constraints ^^^^^^^^^^^^^^^^^^^^ From 30b900df9c902717aef19069c81221b897ac5b4d Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:39:46 +0200 Subject: [PATCH 05/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 11312b372..586b45a5d 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -21,6 +21,7 @@ This loads the constraint definition (in a format explained below) from the ROS Defining constraints ^^^^^^^^^^^^^^^^^^^^ + The ``generate_state_database`` executable reads constraints from ROS parameters on ``/constraints``, in a more compact format that a complete ROS message. You can define these in ``rosparam`` to be loaded together in a file, eg. ``X_moveit_config/config/constraints.yaml``:: From 508ca271cf36c5017661477bbdb6401c3c6f97bf Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:39:52 +0200 Subject: [PATCH 06/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 586b45a5d..d5916b991 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -34,6 +34,7 @@ You can define these in ``rosparam`` to be loaded together in a file, eg. ``X_mo JointConstraint ~~~~~~~~~~~~~~~ + A ``JointConstraint`` limits the positions a joint can take. There are three ways to compactly specify this. 1. position + a single tolerance From 404736f43ca1a24f01c85b171b98d3ddb25d38a0 Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:00 +0200 Subject: [PATCH 07/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index d5916b991..ffffb960f 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -60,6 +60,7 @@ For example:: PositionConstraint ~~~~~~~~~~~~~~~~~~ + A ``PositionConstraint`` constraints the cartesian positions allowed for a (position relative to a) link. ``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin definition. This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. From 403444b35c0af2dda1ec9bf3a2780700c478f0f7 Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:10 +0200 Subject: [PATCH 08/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index ffffb960f..1a3deaff3 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -79,6 +79,7 @@ For example:: OrientationConstraint ~~~~~~~~~~~~~~~~~~~~~ + An ``OrientationConstraint`` can be used to keep eg. something grasped mostly upright. It is compactly represented with a list of roll, pitch, yaw and a list of tolerances for each axis, for example:: From 8e6aaa7039cc4a308cb9e6a2fefbc505f984444b Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:17 +0200 Subject: [PATCH 09/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 1a3deaff3..cf59cb667 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -93,6 +93,7 @@ It is compactly represented with a list of roll, pitch, yaw and a list of tolera VisibilityConstraint ~~~~~~~~~~~~~~~~~~~~ + A ``VisibilityConstraint`` allows to eg. specify a camera should always be able to see the gripper. How this is achieved is best explained by the `VisibilityConstraint `_ class documentation. From 72ba4dcbd3c7f23bb688d14040f53d6535b38d81 Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:23 +0200 Subject: [PATCH 10/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- .../planning_with_approximated_constraint_manifolds_tutorial.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index cf59cb667..b92097c09 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -126,6 +126,7 @@ The file with the constraint definitions can be passed to the launch file:: Internals ^^^^^^^^^ + The main functionality is implemented in the `ConstraintsLibrary `_ class. Constraints are added by calling ``addConstraintApproximation()`` which can be called subsequently to include multiple constraints in the approximation. From 7ad65efe41ebba70c7ea4b51fb0c35d0ab36aec5 Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:30 +0200 Subject: [PATCH 11/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index b92097c09..408e2a947 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -61,7 +61,7 @@ For example:: PositionConstraint ~~~~~~~~~~~~~~~~~~ -A ``PositionConstraint`` constraints the cartesian positions allowed for a (position relative to a) link. + A ``PositionConstraint`` constraints the Cartesian positions allowed for a (position relative to a) link. ``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin definition. This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. From 35385bccbc83c86e2d842001398b2068896d168d Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:40 +0200 Subject: [PATCH 12/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 408e2a947..5f92fcade 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -62,7 +62,7 @@ PositionConstraint ~~~~~~~~~~~~~~~~~~ A ``PositionConstraint`` constraints the Cartesian positions allowed for a (position relative to a) link. -``target_offset`` is that relative position wrt. a link, eg. the tip of the end-effector relative to it's mounting point or other origin definition. +``target_offset`` is that relative position w.r.t. a link, e.g., the tip of the end-effector relative to its mounting point or other origin definition. This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. For example:: From 95b7246332adba9152d643b31d29d7ca40cdded8 Mon Sep 17 00:00:00 2001 From: Loy Date: Tue, 2 Jun 2020 22:40:53 +0200 Subject: [PATCH 13/16] Update doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michael Görner --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index 5f92fcade..d2db5be09 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -80,7 +80,7 @@ For example:: OrientationConstraint ~~~~~~~~~~~~~~~~~~~~~ -An ``OrientationConstraint`` can be used to keep eg. something grasped mostly upright. +An ``OrientationConstraint`` can be used to keep eg. something upright (or mostly upright with respect to some tolerance). It is compactly represented with a list of roll, pitch, yaw and a list of tolerances for each axis, for example:: From 3d70357597b6eae8ccb9f98535eb051a2ccf7ecf Mon Sep 17 00:00:00 2001 From: Loy Date: Thu, 4 Jun 2020 14:42:53 +0200 Subject: [PATCH 14/16] Fix URL of generate_state_database.launch Was the file path but not actual URL --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index d2db5be09..fb06ff97f 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -118,7 +118,7 @@ Such a constraint is compactly defined like this:: Running the database generator ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Assuming MoveIt itself is already launched (via eg. ``roslaunch X_moveit_config demo.launch``), you can use a launch file similar to `generate_state_database.launch `_ +Assuming MoveIt itself is already launched (via eg. ``roslaunch X_moveit_config demo.launch``), you can use a launch file similar to `generate_state_database.launch `_ The file with the constraint definitions can be passed to the launch file:: From bc8a50ee3d59dd768adac74bdfc783ae7e43b901 Mon Sep 17 00:00:00 2001 From: Loy van Beek Date: Thu, 11 Jun 2020 11:17:03 +0200 Subject: [PATCH 15/16] Remove spurious whitespace I think this lead to https://travis-ci.com/github/ros-planning/moveit_tutorials/jobs/343577849#L1384 'WARNING: Block quote ends without a blank line; unexpected unindent.' --- ...planning_with_approximated_constraint_manifolds_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index fb06ff97f..a97c13134 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -61,7 +61,7 @@ For example:: PositionConstraint ~~~~~~~~~~~~~~~~~~ - A ``PositionConstraint`` constraints the Cartesian positions allowed for a (position relative to a) link. +A ``PositionConstraint`` constraints the Cartesian positions allowed for a (position relative to a) link. ``target_offset`` is that relative position w.r.t. a link, e.g., the tip of the end-effector relative to its mounting point or other origin definition. This region (boxes only in this compact definition) is compactly defined by specifying the upper and lower bounds along each axis. From e576b91d1239a5754fe16e4e78da986bf3940301 Mon Sep 17 00:00:00 2001 From: Loy van Beek Date: Thu, 11 Jun 2020 11:33:13 +0200 Subject: [PATCH 16/16] Invent header levels from thin air but at least be consistent with the rest --- ...g_with_approximated_constraint_manifolds_tutorial.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst index a97c13134..9794a0edc 100644 --- a/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst +++ b/doc/planning_with_approximated_constraint_manifolds/planning_with_approximated_constraint_manifolds_tutorial.rst @@ -33,7 +33,7 @@ You can define these in ``rosparam`` to be loaded together in a file, eg. ``X_mo # etc, as described below JointConstraint -~~~~~~~~~~~~~~~ +""""""""""""""" A ``JointConstraint`` limits the positions a joint can take. There are three ways to compactly specify this. @@ -59,7 +59,7 @@ For example:: weight: 1.0 PositionConstraint -~~~~~~~~~~~~~~~~~~ +"""""""""""""""""" A ``PositionConstraint`` constraints the Cartesian positions allowed for a (position relative to a) link. ``target_offset`` is that relative position w.r.t. a link, e.g., the tip of the end-effector relative to its mounting point or other origin definition. @@ -78,7 +78,8 @@ For example:: weight: 1.0 OrientationConstraint -~~~~~~~~~~~~~~~~~~~~~ +""""""""""""""""""""" + An ``OrientationConstraint`` can be used to keep eg. something upright (or mostly upright with respect to some tolerance). @@ -92,7 +93,7 @@ It is compactly represented with a list of roll, pitch, yaw and a list of tolera weight: 1.0 VisibilityConstraint -~~~~~~~~~~~~~~~~~~~~ +"""""""""""""""""""" A ``VisibilityConstraint`` allows to eg. specify a camera should always be able to see the gripper.