Two hulking masses of mechanized metal sit separated by 40 feet in a bulletproof Lexan cage lined by twelve-inch iron girders. The green light flashes and the starting buzzer sounds. Industrial electric motors on both fighting robots spin outer armored shells to rotational speeds near 1,000 RPM. The two ‘bots rush toward each other, colliding in a spectacular spray of molten metal. Broken bolts ricochet off the protective barrier.
The crowd at the 2004 Robot Fighting League (RFL) National Championships in San Francisco flinches at the thunderous impact, then leaps to its feet cheering. In less than ten seconds, the match is over, one robot disabled and leaking blue smoke while the other maneuvers and spins in victory a few feet away. Once the arena is safe, robot wranglers with leather gloves and push brooms enter the ring to clear the debris for the next match while excited kids wearing protective ear plugs wave and call for souvenir scraps of broken ‘bot.
CycloneBot and its opponent are wheeled into position for the next match. Nuvation’s Michael Worry activates the low voltage bus, and the Nios development board comes to life. The Cyclone FPGA downloads its configuration bitstream, instantiating custom designed digital signal processing (DSP) blocks and an Altera Nios processor core. The Nios connects with memory and peripherals and begins executing the first instructions of its embedded program. The peripherals awake and begin transmitting, receiving, and distilling data to and from the various sensors and servos attached to the FPGA board’s connectors. Within milliseconds, the Cyclone FPGA is transformed into a sophisticated embedded computing and signal processing system on a single chip.
Under the Cyclone’s command, an embedded Ethernet controller contacts a Linksys 802.11 wireless access point, which begins searching for a particular IP address to serve up data from its mini onboard web-server. It finds one in a nearby laptop, confirms its encryption codes, establishes a link, and begins exchanging data. At the same time, a magnetometer mounted in an RF- and magnetic-field-hostile environment between two massive electric motors begins sending erratic directional feedback through transducers upstream to the DSP algorithms on the Cyclone. The data is noisy, but it is filtered and combined with a signal from two quadrature encoders connected to the Cyclone through a custom Nios peripheral. The DSP algorithms make quick work of it, and after three rotations touching each of the eight cardinal directions, the sophisticated processing will yield an accurate directional reading, establishing magnetometer lock. The Cyclone sends a signal through the wireless link to the laptop confirming that directional data is flowing. CycloneBot is now fully awake.
Worry now activates the high voltage bus, and a huge power source comes online. CycloneBot’s four large, sealed, lead-acid batteries have enough energy to power this system for about four minutes. Three minutes is all that will be required if CycloneBot survives the impending battle.
The Nios now negotiates with two massive MC1HV motor controllers through an 8-channel pulse-width-modulator. The motor controllers meter current to dual 4900 RPM electric motors connected through 2:1 drive gears to six inch wheels. Optical sensors attached to each wheel measure the angular position to an accuracy of 0.4 degrees and return the result through quadrature decoders on the Cyclone device, where data is funneled back to the controlling algorithm.
With a twist of a USB joystick controller on the laptop, the command is sent to activate the Cyclone drive. CycloneBot spins to life as the side-by-side 9 HP motors rotate in opposite directions, generating wheel velocities up to 50 MPH. The entire 220-lb frame, covered by half-inch-thick welded titanium armor, rotates at almost 700 RPM, protecting its periphery with outboard mounted tempered steel blades that will travel through the air at almost 100MPH. On each side of the robot, a vertical column of high-intensity LEDs flashes in timed-sequence under the control of the Nios processor’s firmware program, spelling out taunting messages in lights as the robot spins. Despite the enormous computational load of system control and signal processing, the low-cost Cyclone device obviously has processing power to spare.
Under the sophisticated control of the Nios processor and its hardware DSP accelerators, the motor speeds are modulated as the robot rotates, moving the entire spinning chassis in a controlled, straight-line path across the arena floor. As each wheel travels in its circular path, torque is slightly increased as it passes through the direction tangent to the desired course, and decreased on the other side, generating linear translation. This remarkable feat of engineering gives the robot its unique style of movement that the team has labeled “Cyclone Drive”.
Back at the laptop, operation is deceptively intuitive. CycloneBot can be commanded with simple joystick input to move north, south, east and west. Telemetry is passed back to the laptop through the data stream for real-time status checking and later diagnosis and evaluation. The heavy computational lifting is handled by the onboard Cyclone/Nios combo, making the carefully choreographed motion of Cyclone Drive into a marvel of concealed complexity, and freeing the driver from the usual demanding relative-path-based control requirements. This intent-based control allows the pilot to focus his attention completely on the strategy of the match.
The starting buzzer sounds and Worry flips the joystick forward. The two-hundred-twenty-pound titanium tornado twists its way across the floor, thrashing its unwary opponent with a metal-mauling flurry of armor-ripping blades. Sparks fly and over four hundred pounds of thrashing, torquing technology ricochets against the steel arena floor, flies into the air, and returns to the surface with a raucous report. The crowd in the arena grandstands gasps and cheers.
Competition at the RFL Nationals is exciting and sometimes bizarre. Unlike more established engineering-intensive sports such as auto-racing, where technology has evolved down a fairly narrow path, the diversity of approaches in robot fighting is enormous. Robots utilize electric, internal combustion, and even pneumatic power, and sport a variety of weapons, including “hammers,” “rammers,” “wedges,” “lifters,” “spinners,” and even flame throwers. Each contest is a three-minute, no-holds-barred duel between two robots where the primary objective is to disable the other competitor.
CycloneBot is a standout in the Robot Fighting League, where most robots’ technology is closer to the level of a lawnmower crossed with a radio-controlled car. CycloneBot’s multi-disciplined engineering team all work in demanding engineering and consulting day jobs, developing CycloneBot on nights and weekends. They use this project to hone their engineering skills and to test their high-tech approach in this league where many competitive robots, although mechanically sophisticated, are logic-design luddites.
During the course of a battle, metal is mangled, tires are thrashed, wiring harnesses are melted, and batteries are burned. It is hard to imagine a more hostile environment for an FPGA development board. If you think it’s tough to get your project working reliably on your lab bench in your air-conditioned office with stable, filtered power supplies; imagine the challenge of designing it to continue computing differential motor torques and assimilating sensor data while rotating at 700 RPM, taking 100G impacts to the chassis, and surviving flamethrower attacks on the wires and connectors.
In tonight’s preliminary heavyweight fight, CycloneBot is matched against “Vicious Circle,” a semi-wedge-shaped robot with something resembling a snowplow on the front and a weapon that looks like an 18-inch circular saw on the other end. CycloneBot’s initial attack rips a huge hunk of metal from Vicious Circle’s armor and partially disables its weapon. Inside CycloneBot there is trouble brewing, however. Lead electrode plates inside one of the lead-acid batteries traveling at near 100MPH are slammed to a stop almost instantaneously by the impact of CycloneBot’s weapon against the hardened steel of Vicious Circle’s frame. The internal bus bar inside the battery breaks, and one of CycloneBot’s two parallel 24V supplies is suddenly producing minimal current. At the same time, giant iron girders under the arena floor confuse the magnetometer, and the directional lock temporarily fails. CycloneBot is now losing both power and control.
Worry switches off Cyclone Drive and maneuvers the robot in its backup “tank” mode with both motors working in the same direction to maneuver the ‘bot without rotation. Power is dropping fast, however, and Vicious Circle shoves the weakened CycloneBot partially into a corner pit where its wheels no longer contact the ground. The match is over.
Back in the pits, the CM Robotics crew lifts off Jerome Johnson’s immaculately welded half-inch titanium armor shell. With the exception of a smashed outboard-mounted LED column, the armored exterior has survived with nothing more than a few scratches to the Altera and Nuvation decals. Other robot builders passing through the pits comment on the quality of J&J Fabrication’s welding, the precise, even beads cleanly sealing the seams between the massive titanium plates. The FPGA board, 802.11 card, motors, controllers, and wiring harness are all in perfect condition. The electrical team of Mohan Gurunathan, Jason Wortham, Robert Frankovich and the team’s youngest member 12 year-old Nolan McPeek-Bechtold begin diagnosing the battery failure, speculating about remedies, while the driving crew of Michael Worry and Mike Hermann are reviewing the magnetometer data downloaded from the match and graphing it to look for patterns discerning the iron floor girders. In the previous competition, the magnetometer performed well, but with the new, lower-profile chassis (this is CycloneBot’s second full-combat generation) the sensor is closer to the ferrous arena floor. The mechanical team of Jeff Hayashida, Jerome Johnson, Mark Demers and Gary Mathieson begin to solve the problem of how to move the magnetometer to a position farther from the floor for tomorrow’s matches.
The team works past midnight, tuning, testing and de-bugging. The robot is reassembled and run in the arena with the magnetometer duct-taped to the lid to confirm that relocation will help it to overcome the arena floor’s interference. If this experiment succeeds, the team will weld a new mounting position before tomorrow’s event. At the same time, new battery packs are tested, and the motors are loaded to near-stall conditions to confirm that impact and not current loading are destroying the batteries. The theory makes logical sense, since the CycloneBot is now hitting harder than it ever has.
“Nuvation [www.nuvation.com] has actually gained some very good experience in developing this project with the Cyclone FPGA and Nios core that has helped us in our commercial design projects,” says Michael Worry, Nuvation Engineering CEO. “I started the CycloneBot project to keep my hands-on engineering skills fresh, since I’d been spending so much work time doing project management. As the CycloneBot team and project grew more complex, I soon found myself right back doing project management again. It’s ironic, I love building teams and companies as well as technology.” Nuvation offers consulting engineering and prototypying services as well as custom board, FPGA and software design to a variety of industries. Many of the members of the CM Robotics team also work at Nuvation.
Watching the CM Robotics team work on CycloneBot is a study in group productivity. Each team member contributes confidently to the problem-solving process, and each shows huge respect for the other engineers’ expertise. “This guy is an electrical God,” comments designer Gary Mathieson, pointing at EE Mohan Gurunathan. Gurunathan waves off the compliment, but smiles as he walks back toward the pits. Listening, evaluating, and contributing are in constant practice in this talented team, and it’s evident that everyone is here because they enjoy the engineering challenge of the project as well as the company and camaraderie of their peers.
On day two, the final day of the competition, CycloneBot is back with a re-positioned magnetometer welded to the top of its titanium shell. During early tests, the orientation lock proves to be vastly improved, allowing Cyclone Drive to operate more effectively. The team is actively looking for other methods of keeping the orientation data accurate in future generations of the robot.
One of the big advantages of an FPGA-based platform for many applications (including fighting robots) is its adaptability to the continuous evolution of the design. “We’ve made dozens of changes to the design over the past two years based on what we’ve learned at each competition,” says Mike Hermann, CM Robotics team member and expert on the embedded computing platform. “The flexibility of the FPGA with the embedded processor has allowed us to upgrade our design repeatedly without changing the hardware.”
CycloneBot is proof that the barrier to entry for sophisticated embedded computing platforms with custom, high-performance digital signal processing capability has dropped substantially. With a low-cost FPGA platform like Altera’s Cyclone running an embedded RISC processor core, a robust set of IP-based peripherals, and a small portion of custom-designed logic, even a sparsely-funded, spare-time project like CycloneBot can harness custom digital logic and processing power that, only two or three years ago would have required a multi-million dollar ASIC development project.
The first match of the finals is against “SuperFly,” a rotating-drum-armed ‘bot with a tubular steel frame and large armored bumpers. CycloneBot charges across the floor, veering at the last second as SuperFly’s destructive drum spins in its direction. CycloneBot circles and comes at SuperFly from the side, throwing the robot into the air and bashing it against the iron girders. CycloneBot’s third attack jars Superfly into the air again, and apparently disables its power system. The contest is paused as the judges wait to see if SuperFly can recover. After 15 seconds of no movement, the red light comes on signaling that SuperFly is “knocked out.” CycloneBot has won and advances to the next round.
CycloneBot’s final fight of the contest is against National Champion “MegaByte.” Like CycloneBot, MegaByte is also a“spinner,” although MegaByte spins only an outer armored shell while the internal chassis remains static. The most volatile bouts of the competition are typically those that pit two large spinners against each other, and the audience buzzes with excitement. Before the match begins, CycloneBot makes its signature pre-match spin-up spelling out “CYCLONEBOT” on its rotating reader board. The crowd chants in anticipation “CY-CLONE-BOT! CY-CLONE-BOT! CY-CLONE-BOT!”
When the starting buzzer sounds, the two robots charge across the floor, colliding with an enormous bang. Tempered tool-steel talons strike each other at a relative velocity approaching 200 MPH. Both ‘bots recoil and return for another pass. On the second strike, CycloneBot suddenly goes dark. Inside the chassis, the force of the impact has sheared the tiny RF cable from the 802.11 board, cutting CycloneBot’s primary control link.
Post-match inspection reveals some impressive damage from the clash. One steel weapon has been ripped from its mounts on the side of the titanium frame, and a weld between two ½” titanium plates is broken. CycloneBot is headed back to the shop for a revamp before the next competition.As the chassis is lowered into a car trunk for transport, Worry conducts a quick impromptu demonstration, turning on power to the low-voltage rails one last time. “We broke a tempered steel blade, sheared titanium bolts, broke a motor shaft, and lost an RF lead, but the Nios development board still boots perfectly,” says Worry. The LEDs on the FPGA board blink to life and the Hex display reads “F2.” The Cyclone is ready to go.
:: CM Robotics, the robot building team that conceived and executed CycloneBot is on the web at www.cmrobotics.com
:: Nuvation is a certified Altera design center and is online at www.nuvation.com
:: Altera is the supplier of Cyclone FPGAs and Nios embedded processors and peripherals. They’re on the web at: www.altera.com
:: J&J Fabrication is a premier welding and machine shop specializing in Tig and Mig welding of all metals from aluminum to titanium.
All photographs by Laura Domela
©2004