This project was created in the course of a project thesis. It enables you to create scan poses which are used to compute a scan motion. The scanned tubular mesh is then utilized to compute toolpath poses with a novel algorithm. A spray motion is computed based on the generated toolpath poses.
- hotspray_application - maps the entire workflow and sends calls to other packages depending on the workflow state
- hotspray_bringup - package is a collection of launch files to start the application from a single file.
- hotspray_description - contains Unified Robot Description Format (URDF) files describing the geometry and kinematics of the application.
- hotspray_motion - computes the trajectory for scan and spray-poses utilizing the Tesseract motion planning framework.
- hotspray_msgs - package bundles the description of messages and services of the application.
- hotspray_ur5_moveit_config - is automatically generated by MoveIt. It is used to move the robot to desired scan poses, which can then be saved using the hotspray_application package.
- hotspray_utils - is a collection of helper functions used by other packages. It also contains a docker container running Ubuntu 16.04 and the universal robot driver.
- tubular_toolpath_creator - computes a custom toolpath based on a tubular mesh and is separated from the main application.
# Create a new ROS workspace
mkdir -p ~/hotspray_ws/src && cd ~/hotspray_ws/src
# Download demo repository
git clone https://github.com/bi3ri/hotspray.git
# Download dependencies
wstool init .
wstool merge ~/hotspray_ws/src/hotspray/hotspray.rosinstall
wstool up
wstool merge --merge-keep ~/hotspray_ws/src/tesseract_ros/dependencies.rosinstall
wstool up
# Reset ROS_PACKAGE_PATH
source /opt/ros/noetic/setup.bash
# Install dependencies
rosdep update && rosdep install -y --from-paths ~/hotspray_ws/src --ignore-src
# Build workspace
cd ~/hotspray_ws && catkin build
# Source workspace
source ~/hotspray_ws/devel/setup.bash
# CUDA
sudo apt install -y nvidia-cuda-toolkit
# Tesseract
sudo add-apt-repository ppa:ros-industrial/ppa
sudo apt-get update
sudo apt install -y libbullet-dev libbullet-extras-dev ros-noetic-fcl ros-noetic-taskflow
sudo apt install ros-noetic-opw-kinematics
sudo apt-get install cmake libeigen3-dev coinor-libipopt-dev
# Tesseract_ros
sudo apt-get install ros-noetic-octomap-ros
# Simulation and application helper packages
roslaunch hotspray_bringup application_bringup.launch
# Info: Make sure to press play in Gazebo
# Start application
# 1 Create scan poses:
roslaunch hotspray_application create_scan_poses.launch <scan_poses_file_name>
# Info: if scan_poses_file_name is left empty a default name is used
# 2 Load scan poses:
roslaunch hotspray_application load_scan_poses.launch <scan_poses_file_name>
# Info: if scan_poses_file_name is left empty a default name is used