Archery has been around for thousands of years and hasn't changed all that much until very recently. With the advent of robots and computer vision there has been an explosion of smart-targeting systems that can guide projectiles towards a target with pinpoint accuracy. Kamal Carter decided he wanted to create his own robotic archery system that can intelligently aim and fire an arrow with almost no human intervention using a camera and a few other components.
Ordinarily, arrows will have a wobble when fired which can impact the accuracy, so Carter chose a toy bow that has a built in arrow guide to prevent this issue from occurring. Rather than having a person draw the bow and release it, the automatic archery system uses a stepper motor that turns a threaded rod to slowly move the string backwards and tension it. Once the desired force has been applied, a small servo motor releases the string and allows the arrow to fly. All of these motors are controlled by an Arduino Mega and various drivers for delivering the required current.
The entire chassis is comprised of aluminum extrusions that have been bolted together to form a rigid structure.
It's no surprise that trying to aim a projectile at a small target is tricky and requires a bit of math. However, Carter did a great job explaining exactly what numbers he needed for the device's arrows to fly correctly and accurately. First, he figured out the bow string's spring constant by taking a series of force measurements. This figure is used to figure out how far the string must be drawn to achieve a particular amount of force. Next, this force value was plugged into an equation to find the arrow's initial velocity and therefore how far it would go. Finally, the angle of launch was determined through some basic trigonometry based on where the target is located.
With all of these values known, the robotic archer could now be scarily accurate.
With the mechanics out of the way, Carter focused on how the system would acquire targets and aim. At the heart of the robot archer is an Intel RealSense Depth Camera that uses a pair of cameras and some clever software to determine both distance and recognize targets based on their color.
This means something bright red or green will stand out and its range can be determined through stereoscopic imaging. With this value, the previously stated equations are used to tell the stepper motors both how far to draw the bow and which tilt/pan angles should be selected.
As seen in Carter's video, his archery robot is very accurate and can fire arrows from quite a distance. The most challenging target was the classic apple on the head, and after a few tweaks to the software, the robot could knock it off with ease. You can read more about how the Archery Robot works by visiting Carter's write-up here.