Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

write_your_name_with_robot

Use a robotic arm to write your name in space — a ROS 2 (Jazzy) project built on top of the myCobot 280 6-DOF arm, using the mycobot_ros2 stack for description, simulation, and motion planning.

Overview

This project converts a name (text input) into a sequence of end-effector waypoints, then drives the myCobot 280 arm — in simulation (Gazebo) and/or on real hardware — through that trajectory using MoveIt2, effectively "writing" the name with the arm's gripper/pen tip.

Tech Stack

  • ROS 2 Jazzy (Ubuntu 24.04)
  • mycobot_ros2 — Elephant Robotics' myCobot 280 ROS2 packages (description, Gazebo simulation, MoveIt2 config)
  • MoveIt2 — motion planning for the arm's end-effector path
  • Gazebo — physics simulation
  • Python — trajectory generation / text-to-path logic
  • C++ / CMake — ROS2 package build (via ament_cmake)

Repository Structure

write_your_name_with_robot/
├── mycobot_ros2/      # myCobot 280 ROS2 workspace (description, gazebo, moveit_config, bringup, etc.)
└── README.md

The mycobot_ros2 folder follows Elephant Robotics' / Automatic Addison's standard myCobot ROS2 package layout, typically containing sub-packages such as mycobot_description (URDF/meshes), mycobot_gazebo (simulation worlds), mycobot_moveit_config (motion planning config), and mycobot_bringup (launch files).

Prerequisites

  • Ubuntu 24.04
  • ROS 2 Jazzy installed (installation guide)
  • Colcon build tools
  • Gazebo (Harmonic, bundled with Jazzy via ros_gz)
  • MoveIt2 for Jazzy

Setup

  1. Create a workspace and clone the repo into src:

    mkdir -p ~/ros2_ws/src
    cd ~/ros2_ws/src
    git clone https://github.com/ilovevampire/write_your_name_with_robot.git
  2. Install dependencies:

    cd ~/ros2_ws
    rosdep install --from-paths src --ignore-src -r -y
  3. Build the workspace:

    colcon build --symlink-install
    source install/setup.bash

Usage

  1. Launch the myCobot 280 in Gazebo:

    ros2 launch mycobot_gazebo mycobot.gazebo.launch.py
  2. Launch MoveIt2 for motion planning:

    ros2 launch mycobot_moveit_config moveit.launch.py
  3. Run the name-writing node/script to generate and execute the trajectory for your name.

Exact launch file and script names may differ slightly — check inside mycobot_ros2/ for the specific package and script used to trigger the name-writing motion, and update this section accordingly.

How It Works (Concept)

  1. Input text (a name) is mapped to a set of 2D/3D pen-stroke waypoints (e.g. using a simple font/stroke lookup or path-generation logic).
  2. Waypoints are converted into Cartesian poses for the arm's end-effector.
  3. MoveIt2 plans a smooth joint trajectory through these poses.
  4. The trajectory is executed on the simulated (Gazebo) or real myCobot 280, causing the arm to trace the name in space.

Future Improvements

  • Support cursive/continuous strokes instead of discrete waypoints for smoother handwriting.
  • Add a calibration step for writing on a physical surface (pen + paper) with real hardware.
  • Support arbitrary fonts or handwriting styles.
  • Add a GUI/CLI to input names dynamically without editing code.

Author

ilovevampire

About

Use robotic arm to write your name in space

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages