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.
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.
- 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)
write_your_name_with_robot/
├── mycobot_ros2/ # myCobot 280 ROS2 workspace (description, gazebo, moveit_config, bringup, etc.)
└── README.md
The
mycobot_ros2folder follows Elephant Robotics' / Automatic Addison's standard myCobot ROS2 package layout, typically containing sub-packages such asmycobot_description(URDF/meshes),mycobot_gazebo(simulation worlds),mycobot_moveit_config(motion planning config), andmycobot_bringup(launch files).
- Ubuntu 24.04
- ROS 2 Jazzy installed (installation guide)
- Colcon build tools
- Gazebo (Harmonic, bundled with Jazzy via
ros_gz) - MoveIt2 for Jazzy
-
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
-
Install dependencies:
cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y
-
Build the workspace:
colcon build --symlink-install source install/setup.bash
-
Launch the myCobot 280 in Gazebo:
ros2 launch mycobot_gazebo mycobot.gazebo.launch.py
-
Launch MoveIt2 for motion planning:
ros2 launch mycobot_moveit_config moveit.launch.py
-
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.
- 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).
- Waypoints are converted into Cartesian poses for the arm's end-effector.
- MoveIt2 plans a smooth joint trajectory through these poses.
- The trajectory is executed on the simulated (Gazebo) or real myCobot 280, causing the arm to trace the name in space.
- 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.
- Elephant Robotics — myCobot 280 ROS2 package
- Automatic Addison — ROS2 Jazzy myCobot tutorials and reference implementation