A control device, a control method, a control program, and a control device for a return
By predicting and calculating the position of the object, and combining the robotic arm and motor control, the object was accurately returned to the target position, solving the problem of accurate return in the existing technology and reducing the dependence on high-performance robotic arms.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- OMRON CORP
- Filing Date
- 2024-12-09
- Publication Date
- 2026-06-26
AI Technical Summary
In existing technologies, the knockback control device cannot accurately knock the moving object back to a specific target position, and a high-performance robotic arm is required for fine speed adjustment.
By predicting the target's position, calculating the striking position and the path position, determining the path position with the minimum distance, and controlling the position of the robotic arm's hand tip and the motor rotation angle, the target can be accurately struck back.
It can accurately return objects to their target position without relying on high-performance robotic arms, simplifying the control process and reducing costs.
Smart Images

Figure CN122295154A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a return control device, a return control method, a return control procedure, and a return device. Background Technology
[0002] A game device is proposed, in which players engage in a game of hitting and returning moving objects located on a game table, based on predetermined rules. The game device is designed for a battle against a mechanism capable of returning moving objects. The game device includes: a manipulator capable of returning moving objects; a moving object position detection unit that obtains movement information of the moving objects on the game table; and a control unit. The control unit generates drive control information based on the movement information obtained from the moving object position detection unit, causing the manipulator to return the moving objects, and controls the manipulator using this drive control information (Patent Document 1).
[0003] Furthermore, using air hockey as an example of a task, a technique for designing a robotic agent that generates accurate and high-speed trajectories and reacts immediately to changes in the environment is proposed (Non-Patent Document 1).
[0004] Existing technical documents
[0005] Patent documents
[0006] Patent Document 1: Japanese Patent Application Publication No. 2000-300823
[0007] Non-patent literature
[0008] Non-patent document 1: Liu, P., Tateo, D., Bou-Ammar, H., & Peters, J., "Efficient and reactive planning for high speed robot air hockey" IEEE / RSJInternational Conference on Intelligent Robots and Systems (IROS), 586-593, 2021 Summary of the Invention
[0009] The technical problem that the invention aims to solve
[0010] However, the technology described in Patent Document 1 merely knocks back an oncoming moving object, without performing an action to knock the moving object back towards a specific target position. In order to knock the moving object back to the target position, for example, as in the robotic arm described in Non-Patent Document 2, there is a need for a high-performance robotic arm that can shorten the control cycle, continuously control the movement speed of the hand tip, and has high rigidity.
[0011] This disclosure is made in view of the above circumstances, and its purpose is to provide a knockback control device, knockback control method, knockback control program, and knockback device that can knock an object back to the target position without relying on the performance of a robotic arm and without requiring fine speed adjustments to the front end of the hand toward the target.
[0012] Technical solutions for solving technical problems
[0013] The first-mode knockback control device comprises: a prediction unit that predicts the predicted position of a moving object at each time moment; a calculation unit that calculates, based on each predicted position at each time moment, a striking position of the hand tip of a robotic arm for knocking the object back toward a target position, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip knocks the object back; and a determination unit that, under the condition that a position located at a first distance from the striking position is taken as the transit position. Among the path positions set according to each striking position at each time moment, the path position that minimizes the second distance between the starting position before the action of the hand tip begins and the path position is determined, the path position being a position on the straight line opposite to the predicted position across the striking position; and a control unit that controls the position of the hand tip so that the hand tip moves from the starting position through the path position determined by the determination unit to the striking position corresponding to the path position determined by the determination unit, thereby striking the object back toward the target position.
[0014] According to the first method of the return control device, the object can be returned to the target position without relying on the performance of the robotic arm and without needing to make fine speed adjustments toward the front end of the hand.
[0015] The second type of return control device, in the first type of return control device, the robotic arm includes multiple links and joints connecting the links. The control unit controls the angle of the joints according to the rotation angle of the motor, thereby controlling the position of the hand tip. According to the second type of return control device, the position of the hand tip can be controlled in accordance with the rotation angle of the motor.
[0016] The third-mode strikeback control device, in the second-mode strikeback control device, controls the timing of the hand tip's movement from the starting position based on the arrival time of the object at the predicted position corresponding to the determined path position, the first distance and the second distance, and the movement speed of the hand tip corresponding to the rotational speed of the motor, so that the hand tip reaches the striking position at the arrival time. According to the third-mode strikeback control device, the position of the hand tip can be controlled in conjunction with the striking timing without continuously controlling the movement speed of the hand tip.
[0017] In the fourth type of return control device, in the first type of return control device, the calculation unit calculates a predetermined position of the front end of the hand when the shape of the object disposed at the predicted position comes into contact with the shape of the front end of the hand as the striking position. The predetermined position is a position on the straight line that is opposite to the target position across the predicted position.
[0018] In the fifth method of the return control device, when the object and the hand tip are both circular, the return control device uses the predicted position as the center position of the object, and uses the striking position, the path position, and the starting position as the center position of the hand tip. The calculation unit calculates the striking position as the position located at a third distance from the predicted position. The position located at the third distance from the predicted position is a position on a straight line opposite to the target position, separated by the predicted position. The third distance is the sum of the radius of the object and the radius of the hand tip.
[0019] According to the return control devices of the fourth and fifth methods, the striking position can be calculated based on the positional relationships.
[0020] In the sixth method of the return control device, the first distance can be dynamically changed in the first method of the return control device. According to the sixth method of the return control device, return control corresponding to the situation can be achieved.
[0021] In the seventh method of the rebound control device, the calculation unit sets the first distance based on at least one of the target speed of the hand tip at the striking position, the moving speed of the object, and the range of movement of the hand tip. According to the seventh method of the rebound control device, the distance between the striking position and the path position can be set according to the situation.
[0022] In the eighth method of the strike-back control device, the motor is a motor whose rotation angle is controlled at a certain rotation speed, and the control unit outputs a command value for the rotation angle to the motor. According to the eighth method of the strike-back control device, the position of the hand tip used for strike-back control can be controlled simply by outputting the command value for the rotation angle of the motor.
[0023] In the ninth method of the strike-back control device, the motor is a position-controlled servo motor, as in the eighth method. According to the ninth method of the strike-back control device, a position-controlled servo motor can be used to achieve the strike-back control performed by the eighth method.
[0024] The tenth method of knockback control involves a computer performing the following processing: predicting the predicted position of a moving object at each moment; calculating, based on each predicted position at each moment, a striking position of the robotic arm's hand tip for knocking the object back toward a target position, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip knocks the object back; taking a position at a first distance from the striking position as a transit position, determining, among the transit positions set based on each striking position at each moment, the transit position that minimizes the second distance between the starting position before the hand tip's movement begins and the transit position, the transit position being a position on the straight line opposite to the predicted position but separated from the striking position; controlling the position of the hand tip so that the hand tip moves from the starting position through the determined transit position to the striking position corresponding to the determined transit position, thereby knocking the object back toward the target position.
[0025] The eleventh method of the strike-back control program causes the computer to perform the following processing: predict the predicted position of the moving object at each time moment; calculate, based on each predicted position at each time moment, a striking position of the robotic arm's hand tip for striking the object back toward a target position, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip strikes the object back; under the condition that a position at a first distance from the striking position is taken as a transit position, among the transit positions set based on each striking position at each time moment, determine the transit position that minimizes the second distance between the starting position before the hand tip's movement begins and the transit position, the transit position being a position on the straight line opposite to the predicted position across the striking position; control the position of the hand tip so that the hand tip moves from the starting position through the determined transit position to the striking position corresponding to the determined transit position, thereby striking the object back toward the target position.
[0026] The twelfth method of the retraction device includes: the retraction control device described in the first method; the robotic arm, including a plurality of links and joints connecting the links; and a motor that controls the angle of the joints of the robotic arm, wherein the motor is controlled to rotate at a certain rotation speed, and the control unit controls the rotation angle of the motor by outputting a command value of the rotation angle to the motor, thereby controlling the angle of the joints of the robotic arm to control the position of the hand tip.
[0027] According to the twelfth method of the retraction device, a simple and inexpensive robotic arm can be used to retract a moving object toward the target position.
[0028] Invention Effects
[0029] According to this disclosure, it is possible to knock an object back to its target position without relying on the performance of the robotic arm. Attached Figure Description
[0030] Figure 1 This is a perspective view showing the overall configuration of the return device according to this embodiment.
[0031] Figure 2 This is a top view showing the overall configuration of the return device according to this embodiment.
[0032] Figure 3 This is a schematic diagram showing an example of a robotic arm.
[0033] Figure 4 This is a schematic diagram showing an example of a robotic arm.
[0034] Figure 5 This is a block diagram illustrating the hardware configuration of the return control device according to this embodiment.
[0035] Figure 6 This is a block diagram illustrating the functional configuration of the return control device according to this embodiment.
[0036] Figure 7 This is an explanatory diagram showing the method for deriving a straight line to determine the path position.
[0037] Figure 8 This is an explanatory diagram showing the variables of each distance.
[0038] Figure 9 This is a flowchart illustrating the knockback control process involved in this embodiment. Detailed Implementation
[0039] Hereinafter, an example of an embodiment of the present disclosure will be described with reference to the accompanying drawings. It should be noted that in the various drawings, the same or equivalent constituent elements and parts are given the same reference numerals. Furthermore, for ease of explanation, the scale of the drawings is exaggerated and sometimes differs from the actual scale. In this embodiment, the example of a ball being returned by a mallet is described, which has a component at the end of the robotic arm's hand that is the same as but thicker than the puck of an air hockey ball.
[0040] Figure 1 This is a perspective view showing the overall configuration of the return device 100 according to this embodiment and the environment in which the return device 100 is applied. Figure 2 This is a top view showing the overall structure of the return mechanism 100 according to this embodiment and the environment in which the return mechanism 100 is applied. Hereinafter, using... Figure 1 and Figure 2 The overall structure of the return device 100 will be described.
[0041] A return device 100 according to this embodiment is provided on the outer periphery of a table 50, which is an air hockey field (arena). Figure 1 and Figure 2 In this example, the return device 100 is located on one of the short sides of the rectangular table 50. On the other short side of the table, a person manually returns the ball using a ball hitter 80. Alternatively, the return devices 100 can be located at both ends of the table 50. In this embodiment, an example with a return device 100 on one side will be described. It should be noted that the shape of the table 50 can be other than a rectangle, such as a square. A movable ball block 40 is placed on the table 50. The ball block 40 is the object to be returned. Figure 1 and Figure 2The diagram shows the ball block 40 in a disc shape. Furthermore, a camera 70 is positioned above and in the center of the table 50, capturing images of the entire table 50. It should be noted that the camera 70's position is not limited to the center. It can be positioned anywhere as long as it can capture images of the ball block 40 and the ball striker 29 of the return device 100. Additionally, a switch 60 is provided on a portion of the table 50 to instruct the return device 100 to start and stop returning the ball.
[0042] The return device 100 includes a return control device 10, a motor 20, and a robotic arm 30.
[0043] The robotic arm 30 includes links and joints connecting the links. For example, as... Figure 3 As shown, the robotic arm 30 can be a multi-joint robotic arm with motors 20 at each joint 25 connecting the links 23. Furthermore, for example, as... Figure 4 As shown, the robotic arm 30 can be a robotic arm with a linkage mechanism having a motor 20 at its base. Figure 1 and Figure 2 The image shows a simplified representation of the robotic arm 30. It should be noted that the number of joints is not limited to one location; there can be multiple joints.
[0044] Furthermore, the robotic arm 30 has a ball-hitting device 29 at its hand end, which serves as a tool for hitting the ball back to the block 40. Figures 1-4 In the example, the batter 29 has a disc-shaped component at one end of the rod that serves as the contact point with the ball block 40, and the other end of the rod is mounted on the front end of the robotic arm 30.
[0045] Motor 20 controls the angle of joint 25 of robotic arm 30. Specifically, motor 20 controls the angle of joint 25 by controlling the rotation angle based on a command value indicated by the return control device 10 described later. Motor 20 may be a motor whose rotation angle is controlled at at least a certain rotation speed, for example, a position control servo motor.
[0046] The return control device 10 controls the motor 20 equipped on the robotic arm 30. By controlling the rotation angle of the motor 20, the return control device 10 controls the angle of the joint 25 of the robotic arm 30 and the position of the ball hitter 29 located at the hand end of the robotic arm.
[0047] Figure 5 This is a block diagram showing the hardware configuration of the return control device 10. (Example) Figure 5As shown, the call-back control device 10 includes a CPU (Central Processing Unit) 51, RAM (Random Access Memory) 52, ROM (Read Only Memory) 53, communication I / F 54, and storage medium reading device 55. All components are connected to each other via a bus 56 in a manner enabling communication.
[0048] CPU 51 is the central processing unit, which executes various programs or controls various components. Specifically, CPU 51 reads the program from ROM 53 and uses RAM 52 as the working area to execute the program. CPU 51 performs control and various arithmetic operations on the aforementioned components according to the program stored in ROM 53.
[0049] The memory, consisting of RAM52, serves as the working area, temporarily storing programs and data.
[0050] The storage device consisting of ROM 53 stores various programs, including the operating system, as well as various data. ROM 53 stores the processing program 11 for executing the knockback control process described later.
[0051] The communication I / F54 is an interface for communicating with a laptop or similar device located outside the call-back device 100. This communication may use wired communication standards such as Ethernet (registered trademark) or FDDI, or wireless communication standards such as 4G, 5G, or Wi-Fi (registered trademark). The call-back control device 10 communicates with the external laptop or similar device via the communication I / F54, thereby controlling the execution of the processing program 11 based on commands received from the external laptop or similar device. It should be noted that in... Figure 1 In the example, switch 60, which can switch the start and stop ON / OFF, is connected to communication I / F54 (illustration omitted).
[0052] The storage medium reading device 55 performs tasks such as reading data from various storage media, including CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray disc, and USB (Universal Serial Bus) memory, and writing data to the storage media.
[0053] Next, refer to Figure 6 The functional configuration of the return control device 10 according to this embodiment will be described. For example... Figure 6As shown, the return control device 10 of this embodiment functions as a prediction unit 12, a calculation unit 13, a determination unit 14, and a control unit 15 by executing a processing program 11 stored in ROM 53 by CPU 51.
[0054] Here, firstly, regarding Figure 7 The definitions of the points shown are explained. Figure 7 This is an explanatory diagram illustrating the position traversed by the batter 29 during the return of an air hockey ball according to this embodiment. It should be noted that... Figure 7 The arrows in the diagram indicate the direction of travel for each object. Furthermore, in... Figure 7 In this example, assuming the ball block 40 and the front end of the batter 29 are circular, their positions are represented by the center coordinates of the circle. It should be noted that if the front end of the ball block 40 and the batter 29 is not circular, it is sufficient to pre-determine the reference positions for each. Figure 7 The positions of each point in the coordinate system are in the world coordinate system. Based on these positions, the return control device 10 controls the robotic arm 30.
[0055] P0 is the position before the action of the striking device 29 begins (hereinafter referred to as the "starting position"). P1 is the position traversed by the striking device 29 when it strikes the ball block 40 (hereinafter referred to as the "tracing position"). The tracing position is the starting position of the run-up when the striking device 29 strikes the ball block 40. P2 is the position of the striking device 29 when it strikes the ball block 40 (hereinafter referred to as the "striking position"). P3 is the position obtained by predicting the position of the moving ball block 40 at each moment (hereinafter referred to as the "predicted position"). P4 is the target position reached by the ball block 40 after being struck back (hereinafter referred to as the "target position").
[0056] The target position P4 is a pre-set position where the ball block 40 will reach when it is struck back by the ball-hitting device 29 of the robotic arm 30. For example, the target position P4 can be a fixed position or a dynamically changing position. In the case of dynamically changing the target position P4, the target position P4 can be randomly set each time it is struck back. Alternatively, for example, the target position P4 can be set based on a strategy formulated by a higher-level system or the like.
[0057] The prediction unit 12 predicts the predicted position P3 of the ball 40 at each time moment. Specifically, the prediction unit 12 acquires images captured by the camera 70, detects the ball 40 from each frame of the image, and tracks the ball 40 between frames. For example, the prediction unit 12 detects the ball 40 based on pre-defined shapes, colors, etc. of the ball 40. Alternatively, the ball 40 can be pre-assigned a marker indicating that it is an object to be identified, and the ball 40 can be detected by detecting this marker. The prediction unit 12 calculates the position of the ball 40 on the table 50 based on the installation position and viewing angle of the camera 70. Furthermore, the prediction unit 12 calculates the predicted position P3 of the ball 40 at each time moment based on the position of the ball 40 at each frame and the velocity of the ball 40, where the velocity of the ball 40 is calculated based on the moving distance of the ball 40 between frames and the frame rate.
[0058] The calculation unit 13 calculates the striking position P2 of the batter 29 for striking the ball block 40 toward the target position P4 based on the predicted positions P3 at each time. The striking position P2 is a position on a straight line passing through the target position P4 and the predicted position P3. Specifically, the calculation unit 13 calculates a predetermined position of the batter 29 when the shape of the ball block 40 positioned at the predicted position P3 is in contact with the shape of the batter 29 as the striking position. This predetermined position is a position on a straight line passing through the target position P4 and the predicted position P3, opposite to the target position P4 but separated by the predicted position P3.
[0059] like Figure 7 As shown, when both the ball block 40 and the striking device 29 are circular, as described above, the predicted position P3 is taken as the center position of the ball block 40, and the striking position P2, the path position P1, and the starting position P0 are each taken as the center position of the striking device 29. Figure 8 As shown, the calculation unit 13 calculates the position from the predicted position P3 at the sum of the radius rB of the ball block 40 and the radius rA of the hitting device 29 (hereinafter referred to as the "third distance") as the hitting position P2. This position is on the straight line passing through the target position P4 and the predicted position P3, and is opposite to the target position P4 across the predicted position P3.
[0060] The determining unit 14 determines, from the path positions P1 set according to each striking position P2 at each time, the path position P1 that minimizes the distance (hereinafter referred to as the "second distance") between the starting position P0 before the start of the action of the ball- striking device 29 and the path position P1. Specifically, the determining unit 14 sets a position located at a predetermined distance (hereinafter referred to as the "first distance") from the striking position P2 as the condition for the path position P1. This position is located on a straight line passing through P4 and P3, opposite to the predicted position P3 across the striking position P2. Under this condition, the determining unit 14 determines, from the path positions P1 set according to each striking position P2 at each time, the path position P1 that minimizes the second distance between the starting position P0 before the start of the action of the hand tip (i.e., the ball- striking device 29) and the path position P1.
[0061] The determination of the route location P1 will be explained in more detail. Figure 7 and Figure 8 In the diagram, the horizontal axis is used as the X-axis, and the vertical axis is used as the Y-axis.
[0062] Let vector p = [Xp, Yp] represent each point P, let the radius of the ball hitter 29 be rA, let the radius of the ball block 40 be rB, and let the distance between point P1 and point P2 be d (refer to...). Figure 8 Point P1 is obtained by pP1 = pP3 + (d + rA + rB)v (hereinafter referred to as "Equation P1"). Here, the variable v is v = (pP3 - pP4) / ||pP3 - pP4||. pP0 is obtained based on the coordinates of the starting position P0 (e.g., coordinates (0, 0)). pP4 is obtained based on the coordinates of the target position P4. For point P3, the predicted position P3 at each time step is substituted into Equation P1. Thus, multiple pP1s are obtained. Among the multiple candidates for pP1 and pP3, the pP1 and pP3 with the smallest ||pP1 - pP3|| (second distance) are determined. For example, in Figure 7 In the equation, among points P1 and P1', and points P3 and P3', the equation is ||pP1-pP0|| < ||pP1'-pP0||, therefore point P1 is determined as the passing point.
[0063] It should be noted that the first distance ( Figure 8 In this context, d) is determined to ensure that the batter 29 can accelerate sufficiently when striking the ball block 40. Furthermore, the distance d can be dynamically changed. For example, the distance d can be set based on at least one of the target speed of the batter 29 at the striking position P2, the moving speed of the ball block 40, and the range that the batter 29 can move. Specifically, when a higher target speed of the batter is desired, a larger value is set for the distance d. Conversely, when the moving speed of the ball block 40 is high, a smaller value can be set for the distance d.
[0064] The control unit 15 controls the position of the hitting device 29 so that the hitting device 29 moves from the starting position P0 through the path position P1 determined by the determining unit 14 to the hitting position P2 corresponding to the path position P1 determined by the determining unit 14, thereby hitting the ball block 40 towards the target position P4. Figure 7 In this example, the control unit 15 controls the position of the striking device 29 so that it moves in the order of P0→P1→P2. This allows the ball block 40 located at P3 to be struck back from P2 and moved to P4.
[0065] Given the fixed rotational speed of the motor 20, the control unit 15 controls the timing of the batter 29's movement from the starting position P0, based on the arrival time of the ball block 40 at the predicted position P3 corresponding to the determined path position P1, the first distance and the second distance, and the moving speed of the batter 29 corresponding to the rotational speed of the motor 20, so that the batter 29 reaches the hitting position P2 at the arrival time. Alternatively, the control unit 15 can also control the rotational speed of the motor 20 to control the moving speed of the batter 29.
[0066] Furthermore, when the motor 20 is a motor whose rotation angle is controlled at a certain rotation speed, the control unit 15 outputs a command value for the rotation angle to the motor 20. Specifically, the control unit 15 uses inverse kinematics formulas to calculate the displacement (angle) of each joint 25 when the ball hitter 29 of the robotic arm 30 is positioned in each position, calculates the rotation angle of the motor 20 based on the calculated angle of the joint 25, generates a command value representing the calculated rotation angle of the motor 20, and outputs the command value to the motor 20.
[0067] Next, the operation of the return control device 10 according to this embodiment will be explained. Figure 9 This is a flowchart illustrating the process of the return-of-charge control procedure. In the return-of-charge control device 10, the following is executed: Figure 9 The call-back control process is shown. The CPU 51 functions as a prediction unit 12, a calculation unit 13, a determination unit 14, and a control unit 15, thereby executing each process in the call-back control device 10. This call-back control process is an example of the call-back control method of the present invention.
[0068] exist Figure 9 In step S101, CPU 51 acquires the current positions of the ball block 40 and the ball striker 29. Specifically, CPU 51 detects the ball block 40 from each frame of the overall image of the table 50 captured by camera 70. Furthermore, it acquires the current position of the ball block 40 on the table 50 based on the installation position and viewing angle of camera 70. Similarly, CPU 51 acquires the current position of the ball striker 29.
[0069] In step S103, CPU 51 infers the predicted position P3 of ball block 40. Specifically, CPU 51 infers the predicted position P3 of ball block 40 at each moment based on the acquired current position information of ball block 40, the position of ball block 40 at each moment corresponding to each frame, and the velocity of ball block 40. The velocity of ball block 40 is calculated based on the moving speed of ball block 40 between frames and the frame rate.
[0070] In step S105, the CPU 51 plans the speed and timing of the striking device 29 based on the set target position P4. Specifically, the target position P4 is set by a person operating the robotic arm 30 from a laptop or similar device. The CPU 51 plans the target speed and striking timing of the striking device 29 based on the set target position P4. More specifically, the CPU 51 calculates the striking position P2 for each moment based on the predicted position P3, and derives multiple path positions P1 based on the set first distance information using formula P1. The CPU 51 determines the speed and striking timing of the striking device 29 by determining the path position P1 with the minimum distance between the starting position P0 and the path position P1. These are the planning steps.
[0071] In step S107, CPU51 outputs a rotation angle command value to motor 20 to control the rotation angle of motor 20.
[0072] In step S109, the CPU 51 controls the motor 20 in step S107, thereby controlling the angle of the joint 25 of the robotic arm 30 to control the position of the ball striker 29, thus striking the ball block 40. The process then ends.
[0073] As explained above, the return control device 10 according to this embodiment is configured to include: a prediction unit 12, which predicts the predicted position P3 of the moving ball block 40 at each time; a calculation unit 13, which calculates the hitting position P2 of the ball hitter 29 for hitting the ball block 40 toward the target position P4 based on each predicted position P3 at each time, wherein the hitting position P2 is a position on a straight line passing through the target position P4 and the predicted position P3, and the target position P4 is a position preset as the position to which the ball block 40 will reach when hit by the ball hitter 29 of the robotic arm 30; and a determination unit 14, which determines the position at a first distance from the hitting position P2 as... Under the condition of the path position P1, among the path positions P1 set according to each hitting position P2 at each time, the determining unit 14 determines the path position P1 that minimizes the second distance between the starting position P0 before the action of the batter 29 begins and the path position P1. The path position P1 is a position that is opposite to the predicted position P3 on a straight line, separated by the hitting position P2. The control unit 15 controls the position of the batter 29 so that the batter 29 moves from the starting position P0 through the path position P1 determined by the determining unit 14 to the hitting position P2 corresponding to the path position P1 determined by the determining unit 14, thereby returning the ball block 40 toward the target position P4. Therefore, according to the return control device 10 of this embodiment, the object can be returned to the target position without relying on the performance of the robotic arm and without the need for fine speed adjustment toward the front end of the hand.
[0074] Furthermore, the return device 100 according to this embodiment includes: a return control device 10; a robotic arm 30 including multiple links and joints 25 connecting the links; and a motor 20 that controls the angle of the joints 25 of the robotic arm 30. The motor 20 is controlled to rotate at a certain rotational speed, and the control unit 15 controls the rotation angle of the motor 20 by outputting a rotation angle command value to the motor 20, thereby controlling the angle of the joints 25 of the robotic arm 30 to control the position of the ball striker 29. Therefore, according to the return device 100 according to this embodiment, a moving object can be returned towards a target position using a simple and inexpensive robotic arm 30.
[0075] It should be noted that this embodiment uses air hockey as an example for explanation, but it is not limited to this. For example, the return of other ball sports such as tennis, table tennis, beach volleyball, and badminton can also be achieved using the return control device 10 of this embodiment. In the return of the ball in this embodiment, each position is calculated in a two-dimensional plane, but in the aforementioned other ball sports, the object moves in three-dimensional space. Therefore, the prediction unit 12 predicts the predicted position of the object, for example, on a trajectory such as a parabola. Thus, similar to the return control device 10 of the above embodiment, the calculation unit 13 and the determination unit 14 can determine the path position based on the target position, predicted position, hitting position, path position, and starting position in three-dimensional space, so as to return the ball from the starting position, pass through the path position, and then return it at the hitting position.
[0076] Furthermore, examples of terminals for controlling the execution of the processing program 11 of the return control device 10 according to this embodiment include the switch 60 and a laptop computer, but it is not limited to these. For example, the execution of the processing program 11 can be operated from a desktop computer, tablet computer, smartphone, or smartwatch.
[0077] Furthermore, in the embodiments described above, the knock-back control processing executed by the CPU after reading the software (program) can also be executed by various processors other than the CPU. Examples of processors in this case include PLDs (Programmable Logic Devices) whose circuit configuration can be changed after manufacturing, such as FPGAs (Field-Programmable Gate Arrays), and processors with circuit configurations specifically designed for executing specific processes, such as ASICs (Application Specific Integrated Circuits), i.e., dedicated electrical circuits. Moreover, the knock-back control processing can be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, and a combination of a CPU and an FPGA). More specifically, the hardware structure of these various processors is an electrical circuit composed of circuit elements such as semiconductor components.
[0078] Furthermore, while the above embodiments describe the processing program 11 as being pre-stored (installed) in a storage device, this is not a limitation. The processing program 11 may also be provided in the form of a recording medium such as a CD-ROM, DVD-ROM (Digital Versatile Disc Read Only Memory), or USB (Universal Serial Bus) memory. Additionally, the processing program 11 may also be downloaded from an external device via a network.
[0079] (Note 1)
[0080] The knockback control device includes: a prediction unit that predicts the predicted position of a moving object at each time moment; a calculation unit that calculates a striking position of the hand tip of a robotic arm for knocking the object back toward a target position based on each predicted position at each time moment, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip knocks the object back; a determination unit that, under the condition that a position at a first distance from the striking position is taken as a transit position, determines, among the transit positions set based on each striking position at each time moment, the transit position that minimizes the second distance between the starting position before the start of the hand tip's movement and the transit position, the transit position being a position on the straight line opposite to the predicted position across the striking position; and a control unit that controls the position of the hand tip so that the hand tip moves from the starting position through the transit position determined by the determination unit to the striking position corresponding to the transit position determined by the determination unit, thereby knocking the object back toward the target position.
[0081] (Note 2)
[0082] According to the return control device described in Appendix 1, the robotic arm includes a plurality of links and joints connecting the links, and the control unit controls the position of the hand tip by controlling the angle of the joints according to the rotation angle of the motor.
[0083] (Note 3)
[0084] According to the strike control device described in Appendix 2, the control unit controls the timing of the hand tip moving from the starting position based on the arrival time of the object at the predicted position corresponding to the determined path position, the first distance and the second distance, and the moving speed of the hand tip corresponding to the rotational speed of the motor, so that the hand tip reaches the striking position at the arrival time.
[0085] (Note 4)
[0086] According to any one of Appendix 1 to Appendix 3, the striking control device wherein the calculation unit calculates a predetermined position of the front end of the hand when the shape of the object disposed at the predicted position comes into contact with the shape of the front end of the hand as the striking position, the predetermined position being a position on the straight line opposite to the target position across the predicted position.
[0087] (Note 5)
[0088] According to the strike-back control device described in Appendix 4, when the object and the hand tip are each circular in shape, the strike-back control device takes the predicted position as the center position of the object, and takes the striking position, the path position, and the starting position as the center position of the hand tip. The calculation unit calculates the striking position as the position located at a third distance from the predicted position. The position located at the third distance from the predicted position is a position on the straight line opposite to the target position, separated by the predicted position. The third distance is the sum of the radius of the object and the radius of the hand tip.
[0089] (Note 6)
[0090] According to any one of Appendix 1 to Appendix 5, the return control device wherein the first distance is dynamically changeable.
[0091] (Note 7)
[0092] According to the strike control device described in Appendix 6, the calculation unit sets the first distance based on at least one of the target speed of the hand tip at the striking position, the moving speed of the object, and the range of movement of the hand tip.
[0093] (Note 8)
[0094] According to Appendix 2 or Appendix 3, the return control device wherein the motor is a motor whose rotation angle is controlled at a certain rotation speed, and the control unit outputs a command value of the rotation angle to the motor.
[0095] (Note 9)
[0096] According to the return control device described in Appendix 8, the motor is a position control servo motor.
[0097] (Note 10)
[0098] The knockback control method is performed by a computer as follows: predicting the predicted position of a moving object at each moment; calculating, based on each predicted position at each moment, a striking position of the robotic arm's hand tip for knocking the object back toward a target position, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip knocks the object back; taking a position at a first distance from the striking position as a transit position, determining, among the transit positions set based on each striking position at each moment, the transit position that minimizes the second distance between the starting position before the hand tip's movement begins and the transit position, the transit position being a position on the straight line opposite to the predicted position but separated from the striking position; controlling the position of the hand tip so that the hand tip moves from the starting position through the determined transit position to the striking position corresponding to the determined transit position, thereby knocking the object back toward the target position.
[0099] (Note 11)
[0100] The strike-back control program causes the computer to perform the following processes: predict the predicted position of a moving object at each time moment; calculate, based on each predicted position at each time moment, a striking position of the robotic arm's hand tip for striking the object back toward a target position, the striking position being a position on a straight line passing through the target position and the predicted position, the target position being a pre-set position where the object will reach when the hand tip strikes the object back; under the condition that a position at a first distance from the striking position is taken as a transit position, among the transit positions set based on each striking position at each time moment, determine the transit position that minimizes the second distance between the starting position before the hand tip's movement begins and the transit position, the transit position being a position on the straight line opposite to the predicted position across the striking position; control the position of the hand tip so that the hand tip moves from the starting position through the determined transit position to the striking position corresponding to the determined transit position, thereby striking the object back toward the target position.
[0101] (Note 12)
[0102] The retraction device includes: a retraction control device according to any one of appendices 1 to 9; the robotic arm, including a plurality of links and joints connecting the links; and a motor that controls the angle of the joints of the robotic arm, the motor being controlled to rotate at a certain rotational speed, the control unit controlling the rotation angle of the motor by outputting a command value of the rotation angle to the motor, thereby controlling the angle of the joints of the robotic arm to control the position of the hand tip.
[0103] Explanation of reference numerals in the attached figures
[0104] 10: Return control device; 11: Processing program; 12: Prediction unit; 13: Calculation unit; 14: Determination unit; 15: Control unit; 20: Motor; 23: Link; 25: Joint; 29: Ball hitter; 30: Robotic arm; 40: Ball block; 50: Table; 51: CPU; 52: RAM; 53: ROM; 54: Communication I / F; 55: Storage medium reading device; 56: Bus; 60: Switch; 70: Camera; 80: Ball hitter (manual); 100: Return device.
Claims
1. A return control device, comprising: The prediction department predicts the position of a moving object at each time point. The calculation unit calculates the striking position of the robotic arm's hand tip for striking the object back toward the target position based on each predicted position at each time moment. The striking position is a position on a straight line passing through the target position and the predicted position. The target position is a pre-set position as the position where the object will reach when the object is struck back by the hand tip. The determining unit, under the condition that a position located at a first distance from the striking position is taken as the transit position, determines, among the transit positions set according to each striking position at each time, the transit position that minimizes the second distance between the starting position before the start of the hand movement and the transit position, wherein the transit position is a position on the straight line opposite to the predicted position, separated from the striking position; and The control unit controls the position of the hand tip so that the hand tip moves from the starting position through the path position determined by the determining unit to the striking position corresponding to the path position determined by the determining unit, thereby striking the object back toward the target position.
2. The return control device according to claim 1, wherein, The robotic arm includes multiple links and joints that connect the links. The control unit controls the angle of the joint based on the rotation angle of the motor, thereby controlling the position of the hand tip.
3. The return control device according to claim 2, wherein, The control unit controls the timing of the hand tip's movement from the starting position based on the arrival time of the object at the predicted position corresponding to the determined path position, the first distance and the second distance, and the movement speed of the hand tip corresponding to the rotation speed of the motor, so that the hand tip reaches the striking position at the arrival time.
4. The return control device according to claim 1, wherein, The calculation unit calculates a predetermined position of the hand tip when the shape of the object positioned at the predicted position comes into contact with the shape of the hand tip as the striking position. The predetermined position is a position on the straight line that is opposite to the target position, separated from the predicted position.
5. The return control device according to claim 4, wherein, When both the object and the hand tip are circular, the strike return control device uses the predicted position as the center position of the object, and the striking position, the path position, and the starting position as the center position of the hand tip. The calculation unit calculates the striking position from the position at a third distance from the predicted position. The position at the third distance from the predicted position is a position on the straight line opposite to the target position, separated from the predicted position. The third distance is the sum of the radius of the object and the radius of the front end of the hand.
6. The return control device according to claim 1, wherein, The first distance can be changed dynamically.
7. The return control device according to claim 6, wherein, The determining unit sets the first distance based on at least one of the target speed of the hand tip at the striking position, the moving speed of the object, and the range that the hand tip can move.
8. The return control device according to claim 2, wherein, The motor is a motor whose rotation angle is controlled at a certain rotational speed. The control unit outputs a command value for the rotation angle to the motor.
9. The return control device according to claim 8, wherein, The motor is a position control servo motor.
10. A knockback control method, wherein a computer performs the following processing: Predict the location of a moving object at each time point. The striking position of the robotic arm's hand tip, used to strike the object back towards the target position, is calculated based on the predicted positions at each time point. The striking position is a position on a straight line passing through the target position and the predicted position. The target position is a pre-set position where the object will reach when struck back by the hand tip. Given that the path position is a position located at a first distance from the striking position, among the path positions set according to each striking position at each time, the path position that minimizes the second distance between the starting position before the start of the hand movement and the path position is determined. The path position is a position on the straight line opposite to the predicted position, separated from the striking position. The position of the hand tip is controlled so that the hand tip moves from the starting position through the determined path position to the striking position corresponding to the determined path position, thereby striking the object back toward the target position.
11. A knockback control procedure that causes a computer to perform the following processing: Predict the location of a moving object at each time point. The striking position of the robotic arm's hand tip, used to strike the object back towards the target position, is calculated based on the predicted positions at each time point. The striking position is a position on a straight line passing through the target position and the predicted position. The target position is a pre-set position where the object will reach when struck back by the hand tip. Given that the path position is a position located at a first distance from the striking position, among the path positions set according to each striking position at each time, the path position that minimizes the second distance between the starting position before the start of the hand movement and the path position is determined. The path position is a position on the straight line opposite to the predicted position, separated from the striking position. The position of the hand tip is controlled so that the hand tip moves from the starting position through the determined path position to the striking position corresponding to the determined path position, thereby striking the object back toward the target position.
12. A retractable device, comprising: The return control device as claimed in claim 1; The robotic arm includes multiple links and joints that connect the links; as well as A motor controls the angle of the joints of the robotic arm; the motor is controlled to rotate at a certain speed. The control unit controls the rotation angle of the motor by outputting a rotation angle command value to the motor, thereby controlling the angle of the joints of the robotic arm and thus controlling the position of the hand tip.