/reach

A tool that allows users to visualize and quantitatively evaluate the reach capability of a robot system for a given workpiece.

Primary LanguageC++Apache License 2.0Apache-2.0

REACH

Robotic Evaluation And Comparison Heuristic

Robot Reach Study

Reach Study Heat Map

Description

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.

The package is comprised of several packages:

  • reach_msgs
    • Message definitions for the reach study
  • reach_core
    • Core code to operate the reach study
    • Interfaces for plugins
      • Inverse kinematics solver
      • Robot pose evaluator
      • Reach Display
  • moveit_reach_plugins
    • Implementations of the plugin interfaces built on the MoveIt! planning framework

Installation

cd ~/catkin_ws/src
git clone https://github.com/ros-industrial/reach.git
cd ..
rosdep install --from-paths src --ignore-src -r -y
catkin build

Demo

A simple demonstration of the capability of this repository is provided in the reach_demo package. See the instructions for details on how to run the demo.

Usage

  1. Create a URDF of your robot system
  2. Create a launch file to load the URDF, SRDF, and other required parameters (e.g. related to kinematics, joint, limits) to the parameter server
  3. Create a mesh model of the workpiece
  4. 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
      
  5. Create a configuration YAML file (see example in config directory)
  6. Run the setup launch file
    roslaunch reach_core setup.launch robot:=<load_robot_parameters>.launch
    
  7. Run the reach study analysis
    roslaunch reach_core start.launch config_file:=<config_file.yaml> config_name:=<arbitrary_config>