PORTLAND, Ore. First, a supercomputer beats a chess master. Then, an artificial intelligence program deals defeat to a poker champion. Next: A robot takes on humans in air hockey.
An upgraded robot designed by General Electric Fanuc (GEF) and programmed by Nuvation Research Corp. (San Jose, Calif.) can beat most human air hockey players, its developers claim.
The robot is powered by a special pc-board that can instantly switch between Freescale Semiconductor's 8-bit Flexis and its 32-bit ColdFire microcontrollers running identical C language programs. The 8-bit version lost to most human players, but the 32-bit microcontroller defeated even the best human air hockey players by a ratio of three to one.
"Good air hockey players can score against the robot if they try really really hard. But its pretty obvious that the human is the underdog--for one thing, the audience cheers whenever the human makes a goal," quipped Michael Worry, president and CEO of Nuvation.
Nuvation's board design allows either microcontroller to operate the GEF robot. GEF defeated novices in 8-bit mode, but even average players discovered it had a weakness that could be exploited by quick counter moves. In 32-bit mode, however, even the best air hockey players were defeated.
"We could have optimized the 8-bit code, but we wanted to run the exact same program to show the difference in processors. Consequently, the robot will often miss fast-moving pucks in 8-bit mode, because of its long recalculation time," said Worry. "But the recalculation time of the 32-bit processor is imperceptible--the robot seems to immediately respond to even the fastest moving puck."
Nuvation modeled GEF's algorithms after strategies employed by expert air hockey players, encapsulating their knowledge into a C program which took two months to develop. "The algorithm we ended up writing is mainly a defensive strategy: only when the robot has a high degree of confidence in the current puck position will it take a swipe at making a goal," he added.
So far, the robot has defeated every human opponent running in 32-bit mode, averaging three times as many goals as human players. The algorithm's success resulted from revising its strategy whenever a goal was scored against it. Some revisions were refinements of strategies, but others were outright fixes to bugs in tactics.
"Good players would 'sucker' the robot into overextending, then slip a goal in behind the arm while it was recalculating. We fixed that by automatically retracting at the end of each move," Worry said.
A video system that tracks the puck's position sends coordinates to the board every 10 milliseconds. In 32-bit mode, the recalculation time could keep up with the puck position. In 8-bit mode, the longer recalculation time caused the robot to miss the puck.