Abstract : Retrieving and placing balls is tedious in billiards teaching and practice. This paper proposes a billiards robot to replace humans in these repetitive tasks. A billiards robot based on a Delta PCI-DMC-A01 axis card and servo motors was designed to meet the robot's needs. The system can accurately position the robotic arm to retrieve and place balls without overlapping. It can also achieve ball placement within the system's ball pattern, essentially enabling remote play. After successful testing, this system will be rolled out nationwide, having a profound impact on billiards training and development in China, as well as on future online billiards competitions. Therefore, this system has broad market prospects and significant practical value.
Keywords : Delta, PCI-DMC-A01, billiards, robot
1 Introduction
In billiards instruction and practice, retrieving and setting up the balls are the most tedious tasks. To provide a consistent training environment for players, improve their professional skills, and effectively evaluate their post-training progress, a device is needed to assist with the entire process from training to evaluation. This paper proposes a billiards robot to replace humans in these monotonous tasks. This paper designs a mobile billiards robot using Delta axle cards and a Delta servo system, specifically tailored to the needs of billiards robots. Based on eagle-eye vision, the billiards robot system mainly has the following functions:
(1) This device can determine the fixed position of the ball on the table and can move the ball back to a specific position so that players can practice or take exams repeatedly.
(2) It can be remotely controlled, or more complex actions for training and test preparation.
(3) It can enable two players to fight in different locations or assist in training.
When designing a billiards robot, key considerations include cost, robot mass, motor type and power. To improve ball-collecting efficiency, repeated movement in certain areas should be minimized, and ensuring no ball stacking, collisions, or misses should be achieved. Therefore, finding a robot control algorithm that meets these objectives and a servo system capable of implementing these functions is crucial.
2 Control System Design and Actuator Selection
2.1 Mechanical Model Establishment and Axis Control Requirements
Figure 1. Billiards robot model
As shown in Figure 1, the X-axis has a vertically suspended structure. This structure consists of two sets of industrial aluminum materials forming a linear drive main support frame, with linear guide rails installed at its lower part. The movement is achieved by a dual T5 toothed polyurethane synchronous drive to the intermediate sliding plate. This design not only meets the rigidity and motion accuracy requirements of the X-axis frame but also facilitates easy installation and adjustment. Based on calculations, the axis requires a 750W or higher servo motor with a matching reducer with a reduction ratio of 4:1. It also requires two sets of limit sensors and one set of origin sensors.
The Y-axis features a vertically suspended structure. This structure consists of a linear drive main support frame made of industrial aluminum, with linear guides mounted on its lower and side surfaces. A set of T5 toothed polyurethane synchronously drives the central sliding plate to achieve movement. This design not only meets the rigidity and motion accuracy requirements of the Y-axis frame but also facilitates easy installation and adjustment. Based on calculations, the axis requires a 400W or higher servo motor with a matching reducer with a 4:1 reduction ratio. Two limit sensors and one origin sensor are also needed.
The Z-axis mainly consists of two parts. The first is an axis for vertical folding, used to retract and fold the Z-axis shaft. It includes a rodless cylinder for retraction and a rotating cylinder, each equipped with two sets of position sensors for position detection. The second is an axis for lifting the billiard ball during its working state, consisting of a lifting cylinder, also equipped with two sets of position sensors for position detection. The Z-axis also includes a vacuum nozzle for suctioning the billiard ball. All cylinder pneumatic control is accomplished by a solenoid valve assembly, which also controls the suction action of the vacuum nozzle. Additionally, the air circuit includes a vacuum generator for creating a vacuum.
2.2 Basic Motion Control Description
(1) Initialization action
After the equipment is powered on, the X and Y axes need to move in one direction back to find the origin of the X and Y axes to determine their initial positions. The Z axis needs to prepare for returning to the lowest position. The rodless cylinder and the linear cylinder used for rotation are activated to ensure that the suction nozzle is perpendicular to the surface of the billiard table. At this time, the cylinder used for lifting should be in the upper position to ensure a safe distance between the suction nozzle and the billiard ball.
(2) The process of moving the billiard balls
Upon receiving the program command, the X and Y axis motors start simultaneously, driving the suction nozzle to translate and interpolate to find the target point. After stopping, the lifting cylinder moves down, the suction nozzle contacts the billiard ball, the vacuum valve opens, and the billiard ball is lifted. The vacuum sensor switch determines if there is a vacuum, the shut-off valve cuts off the air circuit, the lifting cylinder moves up, driving the billiard ball up. The X and Y axes then drive the suction nozzle and billiard ball to translate above the new target point. The lifting cylinder moves down, the shut-off valve opens, the vacuum breaking valve is energized, the vacuum disappears, and the billiard ball stabilizes on the table. The vacuum sensor switch determines if there is normal pressure, the lifting cylinder moves up again, the suction nozzle leaves the billiard ball, and the process repeats to find the next target point.
(3) Complete the return action
After all the target balls have been moved, the lifting cylinder moves up, the rodless cylinder moves up and retracts, and the rotating cylinder reverses its movement to rotate the Z-axis to be parallel to the table surface. After the Z-axis folding action is completed, a signal is sent to the host computer.
2.3 Controller Design and Equipment Selection
The Delta PCI-DMC-A01 control card is a new high-speed motion control axis card launched by Delta in response to the development trend of multi-axis motion control technology. It features a unique built-in DMC-NET bus, enabling high-speed connection to various devices such as servo motors, stepper motors, remote modules, DD motors, and linear motors. Combined with Delta's self-developed high-precision and high-performance servo system, it not only greatly enhances the integration capabilities of equipment but also saves costs and wiring. All devices are connected to the DMC-NET bus, eliminating the need for separate pulse, analog, and I/O interface boards for different drivers, thus avoiding system compatibility and stability issues caused by too many interface types. It can exchange data for 12 axes of motors within a fixed 1ms command cycle. Relying on its highly stable DMCNET bus, and paired with Delta's A2 series servo drivers, it forms a highly stable control system, reducing interference noise and significantly improving system reliability and anti-interference capabilities. The advantages of Delta's DMC control card compared to traditional control cards are mainly:
Therefore, the system controller is a Delta PCI-DMC-A01 control card, the X-axis uses a Delta 1kWASD-A2-1021-F servo driver and a 1KWECMA-E11310ES servo motor; the Y-axis uses a Delta 750WASD-A2-0721-F servo driver and a 750WECMA-C10807ES servo motor. The system control structure is shown in Figure 2.
Figure 2 Control system structure diagram
3. Control Algorithm Selection and Control Program Writing
3.1 Control Algorithm Selection
Path planning can be divided into global path planning and local path planning based on the degree of understanding of environmental information. Global path planning requires mastering all information about the environment and performing large-granular path planning based on the environmental map. In the field of global path planning algorithms, classic methods can be roughly divided into the following four categories: graph-based methods, grid-based methods, potential field methods, and mathematical programming methods. From the perspective of whether the obstacle information is obtained statically or dynamically, global path planning belongs to static planning, while local path planning belongs to dynamic planning. This paper mainly explores how to use the ant colony algorithm to solve the global path planning problem of robots and find an optimized ball-picking path [1-6].
In graph-based path planning methods, the path graph consists of nodes in free space representing the captured one-dimensional mesh curves of the robot. The established path graph can be viewed as a series of standard paths, with the initial and target states corresponding to points along the path. Thus, the path planning problem evolves into searching for a path between these points. Since the starting and target points of the robot's path in this system are already given by the Eagle Eye system, this system selects the graph method as the robot's control algorithm and improves upon the original algorithm by numbering the path of each ball and adding an algorithm to prevent ball stacking.
3.2 Control Program Writing
The control program was written according to the control requirements. After powering on, the system waits for the ball-collecting command. Upon receiving the command, the system obtains the target coordinates of the ball from the eagle eye (or similar monitoring system), then uses a designed path planning algorithm to find the optimal movement path and assigns a number to each ball that needs to be moved. Furthermore, anti-overlapping and safety protection programs were added, and anti-shake measures were implemented for ball collection and placement. The control program flowchart is shown in Figure 3, and the control program monitoring interface is shown in Figure 4. The snooker table is approximately 3569 mm long and 1778 mm wide, with a hole at each of the four corners and the center of each of the two long sides. The table uses 22 balls: one white ball, 15 red balls, and 6 colored balls. The monitoring interface was scaled down to the actual table size. The control parameter settings are shown in Figure 5.
Figure 3 Control Program Flowchart
Figure 4 Control Program Monitoring Screen
Figure 5 Control parameter settings
4. Conclusion
This system, developed under the guidance of a department of the General Administration of Sport of China, utilizes a Delta PCI-DMC-A01 control card and 1kW ECMA-E11310ES and 750WECMA-C10807ES servo motors as actuators. A graph-based approach is employed as the primary path planning algorithm, which has been improved with the addition of anti-shake, ball-stacking, and safety protection mechanisms. Extensive experiments and field applications have demonstrated that the system can accurately position, pick up, and place balls according to instructions without ball stacking. It can also remotely display the system's ball pattern, essentially enabling remote play. Further improvements are needed in the control algorithm and remote play capabilities. Once the system matures, it will be rolled out nationwide, initially through applications in major billiard associations. This will have a profound impact on billiards training and development in China, as well as on future online billiards competitions. Therefore, this system possesses broad market prospects and significant practical value.
References
[1] Hu Wen, Sun Ronglei. Visual localization and motion estimation based on sequential images [J]. Sensors & Microsystems, 2007(07).
[2] Dong Zhigang, Guo Longjian. Exploring the mobility modes of intelligent cleaners [J]. Journal of Changsha University, 2010(02).
[3] Gao Qingji, Shi Chaoxia, Jiang Yan, et al. Position planning of fully autonomous soccer robot under uncertain information [J]. Journal of Northeast Electric Power University, 2002(04).
[4] Yu Tao, Han Qingkai, Sun Wei, Wen Bangchun, et al. Image orientation recognition based on hidden Markov model [J]. Journal of Northeastern University, 2006(03).
[5] Zhang Qizhi, Liang Li, Lin Yunmei, et al. Evolutionary algorithm for bandwidth optimization [J]. Journal of Northeastern University, 1996(03).
[6] Su Yongtao, Zhang Junfeng. Application of path planning based on graph theory method [J]. Electrical Measurement & Instrumentation, 2012(01).