Teach-and-Replay Implementation for Surface Erasing

less than 1 minute read

Overview

This project was a group work at TUM-IMPL, focusing on the implementation of a teach-and-replay framework for the Franka FR3 robotic arm using :contentReference[oaicite:1]{index=1}.

The system enables kinesthetic teaching (manual guidance of the robot) and autonomous trajectory replay for a surface erasing task.


My Contributions

  • Developed the main teach-and-replay Python script for:
    • Recording joint trajectories during manual guidance
    • Replaying trajectories using FollowJointTrajectory action
    • Supporting configurable replay speeds
    • CSV-based trajectory storage
  • Integrated and configured a JointTrajectoryController for trajectory execution.

  • Contributed to controller tuning, including PID gain adjustments to ensure stable trajectory tracking during the erasing task.

System Features

The implemented framework supports:

  • Kinesthetic teaching via gravity compensation mode
  • Autonomous replay through trajectory control
  • Compatibility with:
    • Real FR3 hardware
    • Simulation (fake hardware mode)
  • ROS 2–based modular structure

Technical Stack

  • C++ and Python
  • ROS 2 Control framework
  • JointTrajectoryController
  • Franka ROS 2 packages

This project strengthened my experience in ROS 2-based robotic system integration, trajectory control, and controller configuration for real-world manipulation tasks.

Updated:

Leave a Comment