Repository Summary
Checkout URI | https://github.com/ros-industrial/reach_ros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
reach_ros | 1.4.0 |
README
REACH ROS Plugins
This package contains the ROS2-based plugin implemenations of REACH kinematics, evaluation, and display interfaces
Installation
First, clone the repository into a colcon
workspace
cd ~/reach_ws/src
git clone https://github.com/ros-industrial/reach_ros2.git
cd ..
Install the dependencies
vcs import src < src/reach_ros2/dependencies.repos
rosdep install --from-paths src --ignore-src -r -y
Build the repository
colcon build --symlink-install
Demo
A simple demonstration of the capability of this repository is provided in the demo
sub-directory.
See the instructions for details on how to launch the demo from ROS 2 and see the Python instructions to see how you can use the Python interface to launch studies.
Usage
Use the following steps to run a reach study with a robot using the ROS1 infrastructure and plugins.
- Create any files describing your robot system required by the REACH plugins (e.g., URDF, SRDF, kinematics file, joint limits file, etc.)
- Create a mesh model of the workpiece
Note: the origin of this model should align with the kinematic base frame of the robot
- Create a point cloud of the target points on the workpiece
- This point cloud can be generated using a command line tool from PCL 1.8:
pcl_mesh_sampling <workpiece_mesh>.ply <output_cloud>.pcd -n_samples <number of samples> -leaf_size <leaf_size> -write_normals true
- Create a configuration YAML file defining the parameters of the reach study and the configuration of the interface plugins (see this demo example)
- Run the setup launch file
ros2 launch reach_ros setup.launch robot_description_file:=<path_to_URDF>
- Run the reach study analysis
ros2 launch reach_ros start.launch \
robot_description_file:=<path_to_URDF> \
robot_description_semantic_file:=<path_to_SRDF> \
robot_description_kinematics_file:=<path_to_kinematics.yaml> \
robot_description_joint_limits_file:=<path_to_joint_limits.yaml> \
config_file:=<config_file.yaml> \
config_name:=<arbitrary_config> \
results_dir:=<arbitrary_results_directory>
Evaluation Plugins
Manipulability
This plugin uses MoveIt! to calculate the manipulability of a robot pose. Higher manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
Manipulability Scaled
This plugin uses MoveIt! to calculate the manipulability of a robot pose divided by the characteristic length of the motion group. The characteristic length is computed by walking from the base link to the tip link of the motion group and summing the distances between adjacent links. Higher scaled manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
-
excluded_links
(optional)- The names of links contained in the motion group that should not contribute to the characteristic length
Manipulability Ratio
This plugin uses MoveIt! to calculate the manipulability of a robot pose and evaluate a score. The score is calculated as the ratio of the smallest manipulability value to the largest manipulability value. The larger this ratio, the more uniform the dexterity and the higher the score. Range [0, 1]
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-industrial/reach_ros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
reach_ros | 1.4.0 |
README
REACH ROS Plugins
This package contains the ROS2-based plugin implemenations of REACH kinematics, evaluation, and display interfaces
Installation
First, clone the repository into a colcon
workspace
cd ~/reach_ws/src
git clone https://github.com/ros-industrial/reach_ros2.git
cd ..
Install the dependencies
vcs import src < src/reach_ros2/dependencies.repos
rosdep install --from-paths src --ignore-src -r -y
Build the repository
colcon build --symlink-install
Demo
A simple demonstration of the capability of this repository is provided in the demo
sub-directory.
See the instructions for details on how to launch the demo from ROS 2 and see the Python instructions to see how you can use the Python interface to launch studies.
Usage
Use the following steps to run a reach study with a robot using the ROS1 infrastructure and plugins.
- Create any files describing your robot system required by the REACH plugins (e.g., URDF, SRDF, kinematics file, joint limits file, etc.)
- Create a mesh model of the workpiece
Note: the origin of this model should align with the kinematic base frame of the robot
- Create a point cloud of the target points on the workpiece
- This point cloud can be generated using a command line tool from PCL 1.8:
pcl_mesh_sampling <workpiece_mesh>.ply <output_cloud>.pcd -n_samples <number of samples> -leaf_size <leaf_size> -write_normals true
- Create a configuration YAML file defining the parameters of the reach study and the configuration of the interface plugins (see this demo example)
- Run the setup launch file
ros2 launch reach_ros setup.launch robot_description_file:=<path_to_URDF>
- Run the reach study analysis
ros2 launch reach_ros start.launch \
robot_description_file:=<path_to_URDF> \
robot_description_semantic_file:=<path_to_SRDF> \
robot_description_kinematics_file:=<path_to_kinematics.yaml> \
robot_description_joint_limits_file:=<path_to_joint_limits.yaml> \
config_file:=<config_file.yaml> \
config_name:=<arbitrary_config> \
results_dir:=<arbitrary_results_directory>
Evaluation Plugins
Manipulability
This plugin uses MoveIt! to calculate the manipulability of a robot pose. Higher manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
Manipulability Scaled
This plugin uses MoveIt! to calculate the manipulability of a robot pose divided by the characteristic length of the motion group. The characteristic length is computed by walking from the base link to the tip link of the motion group and summing the distances between adjacent links. Higher scaled manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
-
excluded_links
(optional)- The names of links contained in the motion group that should not contribute to the characteristic length
Manipulability Ratio
This plugin uses MoveIt! to calculate the manipulability of a robot pose and evaluate a score. The score is calculated as the ratio of the smallest manipulability value to the largest manipulability value. The larger this ratio, the more uniform the dexterity and the higher the score. Range [0, 1]
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-industrial/reach_ros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
reach_ros | 1.4.0 |
README
REACH ROS Plugins
This package contains the ROS2-based plugin implemenations of REACH kinematics, evaluation, and display interfaces
Installation
First, clone the repository into a colcon
workspace
cd ~/reach_ws/src
git clone https://github.com/ros-industrial/reach_ros2.git
cd ..
Install the dependencies
vcs import src < src/reach_ros2/dependencies.repos
rosdep install --from-paths src --ignore-src -r -y
Build the repository
colcon build --symlink-install
Demo
A simple demonstration of the capability of this repository is provided in the demo
sub-directory.
See the instructions for details on how to launch the demo from ROS 2 and see the Python instructions to see how you can use the Python interface to launch studies.
Usage
Use the following steps to run a reach study with a robot using the ROS1 infrastructure and plugins.
- Create any files describing your robot system required by the REACH plugins (e.g., URDF, SRDF, kinematics file, joint limits file, etc.)
- Create a mesh model of the workpiece
Note: the origin of this model should align with the kinematic base frame of the robot
- Create a point cloud of the target points on the workpiece
- This point cloud can be generated using a command line tool from PCL 1.8:
pcl_mesh_sampling <workpiece_mesh>.ply <output_cloud>.pcd -n_samples <number of samples> -leaf_size <leaf_size> -write_normals true
- Create a configuration YAML file defining the parameters of the reach study and the configuration of the interface plugins (see this demo example)
- Run the setup launch file
ros2 launch reach_ros setup.launch robot_description_file:=<path_to_URDF>
- Run the reach study analysis
ros2 launch reach_ros start.launch \
robot_description_file:=<path_to_URDF> \
robot_description_semantic_file:=<path_to_SRDF> \
robot_description_kinematics_file:=<path_to_kinematics.yaml> \
robot_description_joint_limits_file:=<path_to_joint_limits.yaml> \
config_file:=<config_file.yaml> \
config_name:=<arbitrary_config> \
results_dir:=<arbitrary_results_directory>
Evaluation Plugins
Manipulability
This plugin uses MoveIt! to calculate the manipulability of a robot pose. Higher manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
Manipulability Scaled
This plugin uses MoveIt! to calculate the manipulability of a robot pose divided by the characteristic length of the motion group. The characteristic length is computed by walking from the base link to the tip link of the motion group and summing the distances between adjacent links. Higher scaled manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
-
excluded_links
(optional)- The names of links contained in the motion group that should not contribute to the characteristic length
Manipulability Ratio
This plugin uses MoveIt! to calculate the manipulability of a robot pose and evaluate a score. The score is calculated as the ratio of the smallest manipulability value to the largest manipulability value. The larger this ratio, the more uniform the dexterity and the higher the score. Range [0, 1]
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/ros-industrial/reach_ros2.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-03-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
reach_ros | 1.4.0 |
README
REACH ROS Plugins
This package contains the ROS2-based plugin implemenations of REACH kinematics, evaluation, and display interfaces
Installation
First, clone the repository into a colcon
workspace
cd ~/reach_ws/src
git clone https://github.com/ros-industrial/reach_ros2.git
cd ..
Install the dependencies
vcs import src < src/reach_ros2/dependencies.repos
rosdep install --from-paths src --ignore-src -r -y
Build the repository
colcon build --symlink-install
Demo
A simple demonstration of the capability of this repository is provided in the demo
sub-directory.
See the instructions for details on how to launch the demo from ROS 2 and see the Python instructions to see how you can use the Python interface to launch studies.
Usage
Use the following steps to run a reach study with a robot using the ROS1 infrastructure and plugins.
- Create any files describing your robot system required by the REACH plugins (e.g., URDF, SRDF, kinematics file, joint limits file, etc.)
- Create a mesh model of the workpiece
Note: the origin of this model should align with the kinematic base frame of the robot
- Create a point cloud of the target points on the workpiece
- This point cloud can be generated using a command line tool from PCL 1.8:
pcl_mesh_sampling <workpiece_mesh>.ply <output_cloud>.pcd -n_samples <number of samples> -leaf_size <leaf_size> -write_normals true
- Create a configuration YAML file defining the parameters of the reach study and the configuration of the interface plugins (see this demo example)
- Run the setup launch file
ros2 launch reach_ros setup.launch robot_description_file:=<path_to_URDF>
- Run the reach study analysis
ros2 launch reach_ros start.launch \
robot_description_file:=<path_to_URDF> \
robot_description_semantic_file:=<path_to_SRDF> \
robot_description_kinematics_file:=<path_to_kinematics.yaml> \
robot_description_joint_limits_file:=<path_to_joint_limits.yaml> \
config_file:=<config_file.yaml> \
config_name:=<arbitrary_config> \
results_dir:=<arbitrary_results_directory>
Evaluation Plugins
Manipulability
This plugin uses MoveIt! to calculate the manipulability of a robot pose. Higher manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
Manipulability Scaled
This plugin uses MoveIt! to calculate the manipulability of a robot pose divided by the characteristic length of the motion group. The characteristic length is computed by walking from the base link to the tip link of the motion group and summing the distances between adjacent links. Higher scaled manipulability results in a higher pose score. Range: [0, inf)
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
- Ex.
jacobian_row_subset: [0, 1, 2] # position manipulability only
-
excluded_links
(optional)- The names of links contained in the motion group that should not contribute to the characteristic length
Manipulability Ratio
This plugin uses MoveIt! to calculate the manipulability of a robot pose and evaluate a score. The score is calculated as the ratio of the smallest manipulability value to the largest manipulability value. The larger this ratio, the more uniform the dexterity and the higher the score. Range [0, 1]
Parameters:
-
planning_group
- The name of the planning group with which to evaluate the manipulability of a given robot pose
-
jacobian_row_subset
(optional)- The indices of the rows of the Jacobian to use when evaluating the manipulability. The row indices should be on [0, 6) and correspond to the output space [x, y, z, rx, ry, rz]
File truncated at 100 lines see the full file