I built Swarm Studio as a lightweight Tkinter sandbox that lets me experiment with the fundamentals of swarm coordination before jumping into hardware. The program places a grid of virtual robots and animates them toward any point or along a user‑drawn path, just like how you’d command a fleet of mobile robots in a warehouse or a field. In the core loop I calculate the vector from each robot’s current position to its target, compute the squared distance (`dx² + dy²`) and then normalize the step so that each robot moves exactly `MOVE_STEP` pixels per frame, this guarantees smooth motion without overshooting, which is critical when you later translate the logic into a ROS node that publishes velocity commands. I also handle path following by incrementing a waypoint index once a robot reaches a waypoint, mimicking how a multi‑robot system would traverse a trajectory defined by an external planner. The same math underlies real robotics: determining desired heading, scaling velocities, and ensuring robots stay within bounds. Moving forward, I would replace the Tkinter canvas with a ROS visualizer (e.g., RViz) and publish each robot’s pose on `/robot/pose` topics while subscribing to a `/swarm/path` topic that contains the waypoint list. This prototype gives me confidence that my algorithm scales from a 20‑robot simulation to a 100‑robot swarm in ROS, where the same vector calculations drive the motion of autonomous drones or ground robots.
Custom Robotic Swarm Pathway following simulation software.