
Two metal gladiators stare at each other, locked inside a bulletproof cage. Just outside the Lexan protective barrier, two drivers clutching wireless remotes nod solemnly at each other. An electronic voice counts down “3, 2, 1” and the announcer shouts, “Fight, Robots, Fight!” CycloneBot leaps forward ten feet, and launches into a spin. The opponent, Final Verdict, spins up its tool steel blade with a thunderous roar of its 60 hp snowmobile engine. Its floorscraping horizontal blade kicks up metal sparks as it advances. CycloneBot is also spinning, though its style is to spin its entire mass on two wheels, with its tool steel blades arcing by at linear speeds of 100 mph. CycloneBot uses its unique “Cyclone Drive” and translates in an arc, just outside the range of Final Verdict’s blade, then tucks in behind, ripping off one of Final Verdict’s exposed wheels! The crowd leaps to its feet, cheering. Final Verdict, disabled, taps out of the match and CycloneBot spins in victory!
Back in the pits, a crowd assembles around CycloneBot. “How did you move in an arc like that?” one youngster asks. To maximize robotic carnage, we wanted to maximize kinetic energy, so we made the entire 220- pound Titanium robot a weapon, spinning on two wheels. In order to translate, while spinning, the wheel speeds are modulated, synchronized with the robot’s heading. This allows the robot to move around the arena while maintaining very high rotational kinetic energy. The result is a robot with an omnidirectional drive—the ability to move in any direction, or any pattern.
Combatant Has Oscilloscopes and Logic Analyzers in its Corner
CycloneBot has some of the most sophisticated electronics in the sport. The brain is a Nios soft processor, running inside a Cyclone FPGA, made by Altera. We considered a variety of processors and liked the Nios ability to recompile the processor with as many timers and custom peripherals as we like. The processor runs a Web server that is hooked back through an 802.11 wireless link with user commands coming from a USB joystick hooked to a laptop. The laptop runs a custom application which allows a copilot to tweak various parameters during combat, including our “TauntWare” which we use to display messages on the side of the bot while spinning. The robot only has a single vertical strip of eight LEDs, but we create a virtual display with a horizontal resolution of about 300 pixels.
Such a complicated set of embedded electronics requires a full suite of test equipment. We can dramatically reduce debug time through the use of oscilloscopes and logic analyzers. For example, one of the early challenges was in processor profiling. The main system loop in CycloneBot runs on a 1 ms interrupt. In early design phases we found we were trying to accomplish more than could be done in a millisecond. In order to decide which functions to accelerate, we had the major functions turn on an LED when they started, and then turn the LED off when they finished—essentially, an LED-based profiler. A bright LED gave a quick visual check that somebody was being a hog. Closer measurements were taken with the Tektronix TDS210 oscilloscope to figure out the degree to which changes helped. Since the NIOS processor is inside an FPGA, we could accelerate portions of the algorithm by moving it into RTL code.
Scope Helps Robot Run Circles Around its Foe
The toughest challenge we hit with Cyclone Drive was maintaining directional information inside CycloneBot. In order for the robot to process a command to go “North”, it needs to know where North is, in the driver’s reference frame. Quadrature encoders are used on the wheels, and this is pretty reliable for relative direction. However, the wheels slip, change diameter based on speed, and when the bots go flying on impact, all bets are off! Thus, some system is needed for absolute correction of heading, locking the robot’s reference frame to the driver’s reference frame.
One approach was to use a two axis magnetometer to measure the Earth’s magnetic field. Measuring that magnetic field in an environment with 18 hp of brushed DC motors that see peak currents over 1,000A is extremely difficult and requires extensive lab testing. The requirements were to test a variety of different shielding, grounding, physical locations, wiring architectures and algorithm parameters for the magnetometer to best insulate it from motor, motor controller, and power line noise.
The Tektronix TPS2024’s X/Y display mode combined with infinite persistence allowed us to measure the X axis and Y axis output, while the rotating CycloneBot traced out a circle. By measuring the analog raw output from the magnetometer with the TPS2024, we could rapidly try different shielding, grounding and placement techniques. The testing was really only possible because of the portability, lightweight form factor and battery operation of the full-featured TPS2024 scope. Spinning robots and extension cords just don’t mix well.
Once the best “eye opening” was determined, the TPS2024 was then used to determine the parameters for the Cyclone drive algorithm. The algorithm uses a calibration histogram count to determine the “circle” edges. Once this is calculated, future measurements are shifted and stretched; then they are used in an arc tan calculation to determine the current absolute heading.
However, oddly, once we had optimized the layout and shielding, the heading algorithm no longer worked! We spent a couple of hours going through code trying to figure out why the new layout wasn’t working. We then re-hooked up the robot to the TPS2024, and again using infinite persistence mode, visually displayed the new eye opening on the scope. Immediately we could see that the combination of all the changes had significantly shifted the magnetometer circle up and to the right. We knew right away that our own “cleverness” in optimizing the original algorithm now had caused a bug. In the interest of throwing out motor noise, we had a first layer filter that discarded the value if not within a hard coded range. Reading the new ranges off the scope, we updated the parameters and had Cyclone drive working within minutes!

Scopes Tackle Other Robotics Engineering Challenges
Another unique application of test equipment was in debugging the motor controllers. The 18 hp of brushed DC motors are run off a separate battery bank, fully isolated from the sensitive digital electronics by opto-isolators. Comparing the PWM waveforms before and after the opto-isolators is only achievable when using an oscilloscope, such as the TPS2024, that keeps the grounds on each channel isolated.
The need for test equipmentextends to our other robots as well. Ziggy is our super heavy weight robot sponsored by Freescale. It uses a pneumatic lifting arm to throw 340-pound opponents several feet in the air! The pneumatic system lifts with 14,000 pounds of lifting force, so it is critical that we time the valves correctly. The TPS2024 allowed us to check the source, thrust and exhaust valve timing and tune the firmware within milliseconds. We would configure the scope in single trigger mode, capture a single fire, and then use the cursor to measure the time difference between, for example, the exhaust value closing and the source valve opening. If the time was too short (or negative), it would create a “shoot through” condition that would waste air and potentially freeze the valves.
With so many complicated electronics and expensive components, we take every edge we can find to ensure we’re ready when the buzzer sounds. Once put in the ring, there’s no backup deadline, it’s a three-minute noprisoners duel to the death. We’re glad to have a full suite of test equipment to test and understand our combat robot’s circuits.
The Final Buzzer
Relative to other teams, CycloneBot’s complicated electronics and multi-disciplined engineering present a unique challenge. While updating motor speeds, processing sensory data, maintaining a wireless network and responding to user commands through a web server, CycloneBot has to withstand impact forces of thousands of g, battery power surges over 10 kW, being flipped ten feet in the air, and scorching flamethrowers! Most engineers would flip to have test equipment that meets the needs of this demanding environment as arsenal on their lab bench.
About the Author
Michael Worry is CEO of CM Robotics, a robotics and entertainment company. Michael is also CEO of Nuvation, a leading Electronics Design Services (EDS) firm that provides FPGA, board, and firmware design services as well as Signal Integrity Analysis and licensable IP Cores for the embedded systems industry. Michael has a BSEE from the University of Waterloo, Ontario, Canada. He can be reached at Nuvation, 3590 North First St, Unit 210, San Jose, CA 95134; (408) 228-5580 or Michael.worry@nuvation.com. For more information, visit www.maccanikill.com or www.tektronix.com.
|