Skip to content

silanus23/hold_and_weld

Repository files navigation

Hold and Weld

A ROS 2 framework for automated dual-arm robotic welding systems that perform holding and welding simultaneously with integrated grasp sampler and weld finder. Currently at PoC stage. Targets ROS 2 Jazzy.

system_launch.mp4

Packages

Key packages have detailed READMEs.

Architecture

System Architecture

Capabilities

  • Weld seam extraction from CAD and mesh geometry
  • Constraint-aware grasp sampling on exact CAD surfaces
  • Dual-arm coordination connecting both into an executable workcell

Results

Grasp candidates example generated by hold_and_weld_gripper_sampler:

Prism Grasp

Weld seam extraction example via the mesh pipeline in hold_and_weld_planning:

Cylinder Weld Finding

Quick Start

1. Install dependencies

2. Build the mesh intersection extension

cd hold_and_weld_planning/hold_and_weld_planning/mesh
mkdir build && cd build
cmake ..
make
cp mesh_intersection*.so ../

3. Launch the system

ros2 launch hold_and_weld_bringup system_bringup.launch.py

For adding a new robot to the workcell see ADDING_A_ROBOT.md. For the development roadmap see ROADMAP.md.

References

Duff, T., Burgess, B., & Hery, C. (2017). Building an orthonormal basis, revisited. Journal of Computer Graphics Techniques (JCGT), 6(1), 1–8.

Robot meshes from Yaskawa Motoman's motoman_ros2_support_packages (Apache 2.0 / BSD 3-Clause). Thanks Yaskawa.

About

Dual-robot cell performing holding and welding at the same time with integrated grasp sampler and weld finder

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors