-
GENERAL UPDATE (8/16/14):
08/16/2014 at 20:36 • 0 commentsAs of today, our vision algorithm is able to identify most of the balls in the sample images of pool tables.
Here is a picture of the algorithm at work:
On the left is what the computer sees and on the right is the image it is processing. While the white squiggles it is producing are not circular, they do line up (in part or whole) with the location of balls on the table.
The construction of the physical robot was delayed because our local hardware store ran out of several parts that were needed to construct the drive-train. The individual responsible for building the hardware now has all of the parts he needs to build.
Yesterday, development began on the control software for the drive-train. It is currently in the debugging phase.
Construction on the electronic control system has been temporarily delayed as an integrated circuit that is needed for that system has just been ordered and has yet to be shipped from the factory. It is expected to arrive within the next week.
MOOS has been installed on two of the four computers that will be used in the control system for data processing.
Research is currently underway as to the optimal placement of ultrasonic rangefinders along the body of the robot. The rangefinders will be used for obstacle avoidance while in the pool hall (by obstacle we mean tables, human players, ect).
The head of the robot is currently under construction, the individual responsible for that has misplaced the camera that he will be mounting on the head and is waiting for a replacement to be delivered or the original to reappear.
-
Miscellaneous #1
07/31/2014 at 14:58 • 0 commentsBecause of the high number of sensor inputs and the low number of input ports on the Arduino, I have purchased a parallel-in serial-out (PISO) shift register which passes the digital sensor data as an array to a single Arduino input. The Arduino built-in clock is being used as the clock for the flip-flops in place of an external crystal oscillator or 555/556 timer IC.
-
Chassis: Part 2, Drivetrain: Part 1
07/25/2014 at 19:29 • 0 commentsHere is an updated photo of progress on the chassis/drivetrain:
Updates to follow.
-
Gaming Agent: Part 2
07/17/2014 at 13:58 • 0 commentsLast night I managed to finally get the gaming agent ANN to select only shots that benefit it which is any shot returning a positive number from the function: (#myBalls)(myScore) - (opponentBalls)(opponentScore) where score is defined by the number of a players balls pocketed after taking the selected shot. The next piece to work on is the system to update the weights which will be a genetic algorithm. Details to follow.
-
Gaming Agent: Part 1
07/14/2014 at 23:43 • 0 commentsThe most difficult part of programming the gaming agent has been figuring out a way for the agent to have access to knowledge of the game's physics without actually coding a module which uses mathematics to calculate the change in direction of each balls vectors as they interact and form a action-reaction network from that. Although it would be much easier, that defeats the purpose of this specific agent. To remedy this, an algorithm that conducts pool experiments and draws conclusions from them will be used to generate this knowledge. Design to follow.
-
Chassis: Part 1
07/10/2014 at 14:20 • 1 commentAll building of the hardware of the robot has come to a halt because we are having difficulty getting the steel L channel delivered to our workshop. The L channel will be used to construct the lower most frame in which the drivetrain in to be located.
EDIT: the steel parts have come in from Vex, construction of the chassis is now underway.
-
Shooter Mechanism: Part 1 - Prototyping
07/02/2014 at 01:09 • 3 commentsToday we worked on prototyping ideas for a shooter mechanism. After a discussion, we determined that our best bet with making a fully functional shooter would be one that uses either solenoids or some other configurations of electromagnets to move a ferrous rod in a linear motion. The problem with this idea is power consumption - hence why you will not see any work on an electromagnetic shooter mechanism, we are considering other power efficient options first. Below are photos of our first prototype which is supposed to be able to shoot a ball very slowly and only move it a few inches. The purpose is just to get an idea of what components we will need for our actual shooter mechanism and to work out a more finalized design.
As mentioned here are the photos:
Please note: The above shooter successfully shot a dense foam ball down the length of the table. The final assembly will have a stronger, more precise motor, the gear assembly will be upgraded to either aluminum or a more durable plastic, and we will use a modified cue stick which has a spur rack fixed to it.
-
Planning: Day 1, 2, 3
06/24/2014 at 22:58 • 0 commentsOn day 1 & 2 we planned the software and on day 3 we overviewed the hardware. For simplicity sake, each major component (there are 12: drive train, chassis, power, physical control, shooter, sensors, physical network, communications software, object recognition and real-time tracking (aka vision) software, gaming agent, software control platform, and the debugging command line interface (CLI) will receive their own dedicated log (or set of logs for major components).