Robotic Evaluation And Comparison Heuristic



The REACH repository is a tool that allows users to visualize and quantitatively evaluate the reach capability of a robot system for a given workpiece. See the ROSCon 2019 presentation and video for a more detailed explanation of the reach study concept and approach.
| OS | Support | | :— | :—: | | Ubuntu Focal | ✓ | | Ubuntu Jammy | ✓ |
reach is a ROS-independent package that provides the framework for the reach study process, defined in the diagram below:

The reach package also provides the interface definition for the required reach study functions:
TargetPoseGenerator
IKSolver
Evaluator
Display
Logger
The interfaces described above are exposed as plugins using the boost_plugin_loader library to support custom implementations.
Several default and dummy plugins have been created in the reach package.
Many other ROS-based plugins have been implemented in the reach_ros and reach_ros2 packages.
All of the plugins built in this project are discovered automatically by the plugin loader without additional manual steps.
The plugin loader class finds plugin libraries using two environment variables:
LD_LIBRARY_PATH
LD_LIBRARY_PATH environment variable.catkin or colcon this variable is set automatically to include both system level and workspace level folders by sourcing <devel|install>/setup.bashREACH_PLUGINS:
REACH_PLUGINS within the directories specified by the environment variable LD_LIBRARY_PATH.lib) or a suffix (e.g., .so) and should be separated by a colon (:).If custom libraries created outside this project (for example libmy_custom_reach_plugins.so and libcool_reach_plugins.so) contain REACH plugins, make those plugin libraries visible to the plugin loader by setting the REACH_PLUGINS environment variable as follows:
export REACH_PLUGINS=my_custom_reach_plugins:cool_reach_plugins
Nominally, the reach package is ROS-independent, but it is convenient to use the ROS dependency management and build tools to build the package.
First, clone the repository into a catkin workspace
cd ~/reach_ws/src
git clone https://github.com/ros-industrial/reach.git
cd ..
Install the dependencies
vcs import src < src/reach/dependencies.repos
rosdep install --from-paths src --ignore-src -r -y
Build the repository
<catkin/colcon> build
See the reach_ros and reach_ros2 repositories for ROS-based plugins, capability demos, and general usage instructions.
rviz). It is common to be off by a factor of 1000.touch_links field of the MoveItIKSolver plugin in the reach study configuration file.MoveIt-based plugins, the selection of IK solver is defined in the kinematics.yaml filereach for programmatic analysis or modification