GOLFER BOT
The GolferBot Story
"Captain, our coordinates read 0xD3 by 0xB6...what's the plan of attack?"
"Where is the enemy ship, lieutenant?"
"The radar puts them at 0x0E by 0x30, sir."
"Call in Mr. John Daly, lieutenant."
"Yes, sir."
[John Daly, legendary golfer, nicknamed "Long John" appears on deck]
"Someone call for a golfer?" asks John Daly between puffs on his cigar.
"Indeed," replies the captain curtly, clearly not impressed with Mr. Daly's sub-military-standard appearance. "The enemy ship is at 0x0E by 0x30, more than 6,358 yards away. Their power station lies 463 yards beyond that. How's your range? Do you think you can hit either?"
"Do I think I can hit either?" scoffs Daly as he slips the velvet cover off of his titanium driver. "Which one first, Cap'n?"
"Where is the enemy ship, lieutenant?"
"The radar puts them at 0x0E by 0x30, sir."
"Call in Mr. John Daly, lieutenant."
"Yes, sir."
[John Daly, legendary golfer, nicknamed "Long John" appears on deck]
"Someone call for a golfer?" asks John Daly between puffs on his cigar.
"Indeed," replies the captain curtly, clearly not impressed with Mr. Daly's sub-military-standard appearance. "The enemy ship is at 0x0E by 0x30, more than 6,358 yards away. Their power station lies 463 yards beyond that. How's your range? Do you think you can hit either?"
"Do I think I can hit either?" scoffs Daly as he slips the velvet cover off of his titanium driver. "Which one first, Cap'n?"
The Core Functionality of Golfer Bot
The main goal of the Golfer Bot was to locate enemy targets - which could be enemy ships, the opposing bot, or the other team's power station - and fire on them to successfully hit and sink them.
We successfully achieved this goal by designing an autonomous robot that could navigate the field using location and orientation data from our fiducial and Field Artillery Controller (FAC), and then aim and fire using its "golfing"-style mechanism. Details on the high-level behavior and low-level implementation of the Golfer Bot's tasks can be found on our Software Design page.
On a basic level, our Golfer Bot would begin each game with 5 "rounds" of ammunition (read: Nerf balls), and immediately request data over SPI from the FAC about our location and the location of our current target, which was either an enemy ship or our opponent's Power Station. Based on our orientation and the angle and distance to our current target, our Golfer Bot's servo-actuated turret would rotate to the necessary angle to face our target. Once oriented, the golfing-style shooter (whose design and videos of its operation are detailed on our Mechanical Design page) would pull back the "hammer-grabber" assembly to tension the spring, and then unlatch the hammer from the rest of the assembly, thus allowing the hammer to swing freely as it was pulled by the spring, effectively "chipping" a ball out of the steep ramps inside the assembly.
Obviously, after a few rounds of firing on targets, our Golfer Bot was bound to run out of ammunition, but it was definitely ready for this. Once it ran out of ammunition, the Golfer Bot aligned itself to the Resupply Depot and backed in until both of its bumpers were engaged. Once there, it would pulse infrared LEDs at 25Hz and 25% duty cycle in order to signal to the depot that it was ready to receive balls. The Golfer Bot had a beam-break sensor built into its ball-receiving ramp to ensure that it never left the resupply depot without at least one ball to fire.
Once reloaded, Golfer Bot would drive back to its central shoot spot, where it used its servo-actuated turret to slowly and thoroughly scan the playing field with its IR-sensitive phototransistor, and look for the signal from the opponent's Power Station (details on the beacon sensing signal conditioning circuit can be found on our Electrical Design page). Once the signal was detected, the turret paused and Golfer Bot fired a John Daly-worthy long shot at the opponent's Power Station.
"Huzzah, cap'n. I saved the day...again," said Daly, clearly unsurprised at his record 6,821-yard drive. "You can thank me later. I'm getting a scotch."
We successfully achieved this goal by designing an autonomous robot that could navigate the field using location and orientation data from our fiducial and Field Artillery Controller (FAC), and then aim and fire using its "golfing"-style mechanism. Details on the high-level behavior and low-level implementation of the Golfer Bot's tasks can be found on our Software Design page.
On a basic level, our Golfer Bot would begin each game with 5 "rounds" of ammunition (read: Nerf balls), and immediately request data over SPI from the FAC about our location and the location of our current target, which was either an enemy ship or our opponent's Power Station. Based on our orientation and the angle and distance to our current target, our Golfer Bot's servo-actuated turret would rotate to the necessary angle to face our target. Once oriented, the golfing-style shooter (whose design and videos of its operation are detailed on our Mechanical Design page) would pull back the "hammer-grabber" assembly to tension the spring, and then unlatch the hammer from the rest of the assembly, thus allowing the hammer to swing freely as it was pulled by the spring, effectively "chipping" a ball out of the steep ramps inside the assembly.
Obviously, after a few rounds of firing on targets, our Golfer Bot was bound to run out of ammunition, but it was definitely ready for this. Once it ran out of ammunition, the Golfer Bot aligned itself to the Resupply Depot and backed in until both of its bumpers were engaged. Once there, it would pulse infrared LEDs at 25Hz and 25% duty cycle in order to signal to the depot that it was ready to receive balls. The Golfer Bot had a beam-break sensor built into its ball-receiving ramp to ensure that it never left the resupply depot without at least one ball to fire.
Once reloaded, Golfer Bot would drive back to its central shoot spot, where it used its servo-actuated turret to slowly and thoroughly scan the playing field with its IR-sensitive phototransistor, and look for the signal from the opponent's Power Station (details on the beacon sensing signal conditioning circuit can be found on our Electrical Design page). Once the signal was detected, the turret paused and Golfer Bot fired a John Daly-worthy long shot at the opponent's Power Station.
"Huzzah, cap'n. I saved the day...again," said Daly, clearly unsurprised at his record 6,821-yard drive. "You can thank me later. I'm getting a scotch."