~/kartikey
/projects/mario/

MARIO

the 3-DOF arm students learn ROS2 on at my college. I ported it off a dying simulator and made it nicer to use.

jul – aug 2024 · me + SRA · SRA lab, VJTI · teaching

MARIO is a small robot arm that exists twice: once in simulation, once as real hardware running micro-ROS on an ESP32. It’s what SRA uses to teach ROS2 workshops.

The simulation was stuck on Gazebo Classic, which hit end-of-life. So I ported the whole thing to Gazebo Fortress — model, plugins, launch files — wrote a new teleop that’s easier for beginners, and cleaned up the ESP32 ↔ micro-ROS pipeline so the same commands drive both the sim and the real arm.

MARIO in Gazebo Fortress
the ported simulation
sim
hardware, same stack

try the math it runs

This is the same idea MARIO uses to reach things: 2-link inverse kinematics. Move your cursor around. Notice it refuses to leave its workspace — real arms have real limits.

instrument · inverse kinematics, live — move your cursor

θ1: — · θ2: — · target: in reach

Fixing up someone else’s working robot is its own skill. The rule isn’t “make it work”, it’s “don’t break what the next workshop depends on”.

made with

  • ROS2
  • Gazebo Fortress
  • micro-ROS
  • ESP32
  • URDF
  • C++
  • Python
occupancy grid · 0% mapped

rooms light up as you visit them · loop closure on revisit

↑↓ select · ↵ go · esc close