Skip to content

Moaaz997/fiber_draping_ur10e

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fiber_draping_ur10e

A ROS Noetic package for automated carbon fiber draping on conical molds using a Universal Robots UR10e arm controlled via URCaps using MoveIt.

Note: This package targets ROS Noetic (Ubuntu 20.04), which reached end-of-life in May 2025. It is archived as a reference implementation and is not actively maintained.


Overview

The package automates a wet fiber draping process where a brush-tipped end effector must systematically cover a conical mold surface while maintaining consistent resin application and brush orientation.

Given the mold geometry (top/bottom diameter, height, brush size), the system:

  • Meshes the conical surface mathematically and plans an ordered set of brush-sweep trajectories covering the full surface
  • Controls brush tilt dynamically to keep it perpendicular to the cone slope at each waypoint
  • Dips the brush in a resin tray between configurable path-length intervals, including a wipe sequence to remove excess resin
  • Executes all motions as Cartesian MoveIt paths on the real UR10e
  • Tracks end-effector velocity in real time via Jacobian computation on joint states

Two physical mold variants were used in experiments: a foam mold and a 3D-printed mold, each with its own calibrated workspace transform and launch configuration.


Architecture

Three ROS nodes run per experiment, communicating over two custom services:

[trajectories_server]  ◄──TrajectoriesService──►  [draping_client]
[draping_server]       ◄────DrapingService─────►  [draping_client]
  • Trajectories server — pure geometry: takes mold dimensions, returns an ordered array of 3D waypoint trajectories transformed into the robot base frame
  • Draping server — MoveIt execution: receives trajectories, handles entry/exit poses, speed scaling, resin dipping logic, and collision avoidance
  • Draping client — orchestrator: reads parameters, calls both services in sequence
  • EEF velocity node — utility: publishes real-time end-effector Cartesian velocity using the MoveIt Jacobian, used for motion analysis

Custom messages: Trajectory (ordered geometry_msgs/Point[] with an ID), TrajectoriesService, DrapingService.


Dependencies

ROS Noetic · MoveIt · Universal Robots ROS Driver · Python: numpy, scipy

About

A ROS Noetic package for automated carbon fiber draping on conical molds using a Universal Robots UR10e arm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors