Repository Summary

Description
Checkout URI https://github.com/ros-industrial-consortium/scan_n_plan_workshop.git
VCS Type git
VCS Version master
Last Updated 2025-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
snp_application 6.0.1
snp_motion_execution 6.0.1
snp_motion_planning 6.0.1
snp_msgs 6.0.1
snp_scanning 6.0.1
snp_tpp 6.0.1

README

Scan ‘N Plan Workshop

Framework for developing and operating simple Scan ‘N Plan applications in which a robot:

  • Executes a scan path with a depth camera
  • Reconstructs the surface of the objects observed by the camera
  • Plans a tool path on the reconstructed surface
  • Plans robot motions to execute the tool path
  • Executes the process path

Core Packages

  • snp_application - Contains a GUI application Qt widget, behavior tree plugins, and behavior tree configuration files
  • snp_motion_execution - Contains files to simulate robotic motion
  • snp_motion_planning - Contains a planning server based on tesseract for generating freespace and process motions; contains custom tesseract inverse kinematics plugins, planning task plugins, and planner profiles
  • snp_msgs - Contains ROS message and service definitions generating tool paths and motion plans, and executing robot trajectories
  • snp_scanning - Contains files to convert a YAML file into a robot scan path and to simulate industrial_reconstruction
  • snp_tpp - Contains custom tool path planning GUI widgets and source code for the region of interest selection mesh modifier and SNP-specific raster tool path planner

Build Setup

  1. Install the source dependencies after cloning this repository into a colcon workspace
    cd <snp_workspace>
    vcs import --shallow --debug src < src/scan_n_plan_workshop/dependencies_tesseract.repos
    vcs import --shallow --debug src < src/scan_n_plan_workshop/dependencies.repos
    # Source the ROS distro before running rosdep
    source /opt/ros/<distro>/setup.bash
    rosdep install --from-paths src --ignore-src -r -y
    
> Note: some `rosdep` dependencies specified by `tesseract` may be not resolved, but it is generally okay to ignore these if building with the command specified below.

Build

Build the repository with the following command (including a few CMake arguments to ignore modules of tesseract that are not needed)

colcon build --cmake-args -DTESSERACT_BUILD_FCL=OFF -DBUILD_RENDERING=OFF

Application-specific Implementations

This repository provides a framework for operating a Scan ‘N Plan application. Several complete Scan ‘N Plan applications based on this repository can be found in the following repositories: