Well done VEX! But where are the EDR bots?
Trick or treat?
Just an update on this - we posted an uncut version of the dance today for anyone who was wondering if there was any “movie magic” involved
Wow, that’s really cool. Are these robots driver controlled? That requires some intense coordination.
I would assume they were all programmed, hopefully with closed-loop control
The robots were programmed using ROBOTC, and each one had their own specific program. The primary reason for this was so that there could be position-specific dance moves - left side vs right side, front row vs back row, and the one-by-one turn at 0:40. This also allowed for minor bot-specific tweaks to account for things like varying speed or friction between robots, but that ended up not being too necessary - the Smart Motors were very consistent!
To run the entire show at once, synchronizing the start time was key. Each robot had a Distance Sensor mounted at its base, and a barrier was placed along the length of the rows (we used long pieces of VersaFrame, but any stick or board would have worked). After the program was started, it waited for the sensor to detect that the barrier had been lifted. This way, we were able to start and calibrate each robot individually without rushing or relying on human timing. Once they were all set, we lifted the barrier and all of the Distance Sensors detected this “trigger” at the same exact time.
Physically, the robots started out as stock-built from the Ike instructions that are available for free online. We then added Omni Wheels to facilitate more consistent turns, a Distance Sensor for the starting trigger, and a Touch LED to help with keeping all of the robots organized (blue meant “calibrating”, red meant “waiting for trigger”, green meant “it’s dance time”).
That’s a pretty clever start trigger. I had imagined you used the BT chips and had them all communicate to each other but then I noticed in the video that none of the robots have any radio crystals. Sometimes the mechanical solution is the most rugid.