I followed the BioRobotics program for the first part of my minor.
During this 10-week minor, the goal is to develop a robotic arm that can be controlled using bio-signals(EMG) to enable patients with Duchenne Muscular Dystrophy(DMD) to interact with other people and/or to perform activities they otherwise wouldn’t be able to do.

We(5 students) decided to make a pool playing robot. Pool is often considered a ‘social game’, which makes it perfectly suitable for our project. Making a robot that can play pool is quite ambitious, since a lot of accuracy is required to perform a shot. We decided to build one anyway because it would be a fun challenge.

The final robot

We build a ceiling-mounted, 5 degrees of freedom robotic arm. 1 DC motor is used to rotate the arm around the y-axis, another 2 DC motors rotate a lead screw, which in turn control the angle of the ‘shoulder’ and ‘elbow’ of the robotic arm. Inverse kinematics were used to move these motors to the right positions and reach any desired x-y-z point above the pool table(100x60cm)

The end-effector(the part of the robot that actually interacts with the environment) of the robotic arm

At the end point of the arm a stepper motor has been placed which allows the user to aim their shots in any desired angle(0-360 degrees). Furthermore, a servo has been put in which allows the user to also control the amount of tilt. A solenoid magnet is used to shoot the balls. Springs were attached to the side of the solenoid to give it enough force to hit the balls(ping-pong balls filled with water).

After booting up, the robot will calibrate automatically by using calibration switches. After that, the robot will move to its idle position.
After pressing a button, the x-z position of the robot can be controlled(either by EMG or a joystick). A laser diode pointing down is used to give accurate feedback on the position of the cue stick.
When the desired position has been reached, the button can be pressed again, and similarly the angle/tilt of the cue can be adjusted.
Another button press will make the robot shoot and return to the idle position, after which the user can go for another shot.

The robot in action
The controller used to control the robot

To control all of the motors, 2 MBED micro-controllers were used, as well as an Arduino Nano. The robot worked quite well in the end, although it was really slow due to the high gearing ratio of both the motors and the lead screw. Overall I’m quite happy how it turned out, also considering our robot was the most complex of all groups.

Rainbow spaghetti

Leave A Comment

Leave a Reply

Your email address will not be published. Required fields are marked *