Hit-back control device, hit-back control method, hit-back control program, and hit-back device
The rebound control device addresses the limitations of existing rebound control technologies by using a prediction and calculation unit to determine the hitting position for rebounding a moving object to a target position, allowing for efficient rebounding without relying on high-performance robot arms or precise speed adjustments.
Patent Information
- Application Number
- PCT/JP2024/043481
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-11
- Filing Date
- 2024-12-09
- Publication Date
- 2025-06-19
AI Technical Summary
Existing rebound control technologies in game devices and robot systems are limited in their ability to rebound a moving object to a specific target position without relying on high-performance robot arms or precise speed adjustments.
A rebound control device that includes a prediction unit to forecast the moving object's position, a calculation unit to determine the hitting position for rebounding the object to a target position, and a control unit that moves the robot arm's hand from a start position through a via position to the hitting position, minimizing the need for high-performance robot arms and precise speed control.
Enables effective rebounding of an object to a target position without depending on the performance of a robot arm and without requiring fine adjustments in hand speed, thus improving the efficiency and simplicity of the rebound control process.
Smart Images

Figure JP2024043481_19062025_PF_FP_ABST
Abstract
Description
Hit-back control device, hit-back control method, hit-back control program, and hit-back device
[0001] The present disclosure relates to a hit control device, a hit control method, a hit control program, and a hit device.
[0002] A game device has been proposed in which players hit moving objects on a playfield board and compete to hit the moving objects back according to predetermined rules, in a competitive format against a mechanism that can hit the moving objects back. This game device includes a manipulator that can hit the moving objects back, a moving object position detection means that acquires movement information of the moving objects on the playfield board, and a control means that generates drive control information for hitting the moving objects back with the manipulator based on the movement information of the moving objects obtained from the moving object position detection means, and drives and controls the manipulator using this drive control information (Patent Document 1).
[0003] Furthermore, a technique has been proposed for designing a robot agent that generates accurate and fast trajectories and responds immediately to changes in the environment, using air hockey as an example of the task (Non-Patent Document 1).
[0004] Japanese Patent Application Laid-Open No. 2000-300823
[0005] Liu, P., Tateo, D., Bou-Ammar, H., & Peters, J., "Efficient and reactive planning for high speed robot air hockey" IEEE / RSJ International Conference on Intelligent Robots and Systems (IROS), 586-593, 2021
[0006] However, the technology described in Patent Document 1 only hits back an approaching moving object, and does not hit back a moving object toward a specific target position. In order to hit back a moving object toward a target position, there is a problem that a high-performance robot arm with a short control cycle, capable of continuously controlling the moving speed of the hand, and high rigidity is required, as in the robot arm described in Non-Patent Document 2, for example.
[0007] The present disclosure has been made in consideration of the above points, and aims to provide a hit-back control device, a hit-back control method, a hit-back control program, and a hit-back device that can achieve hitting an object toward a target position without relying on the performance of a robot arm and without finely adjusting the speed of the hand toward the target.
[0008] The hit control device of the first aspect includes: a prediction unit that predicts a predicted position of a moving object at each time; a calculation unit that calculates, in accordance with each predicted position at each time, a target position that is set in advance as a position to which the object will be hit by the hand of the robot arm and a hitting position of the hand on a straight line passing through the predicted position, for hitting the object toward the target position; a determination unit that determines, from among the passing positions set in accordance with each of the hitting positions at each time, a passing position that is a position on the straight line opposite the predicted position across from the hitting position and a first distance from the hitting position, such that a second distance between a starting position before the movement of the hand and the passing position is the shortest; and a control unit that controls the position of the hand by moving the hand from the starting position via the passing position determined by the determination unit to the hitting position corresponding to the passing position determined by the determination unit, so as to hit the object toward the target position.
[0009] According to the first aspect of the hit-back control device, it is possible to achieve hitting of an object toward a target position without relying on the performance of the robot arm and without finely adjusting the speed of the hand toward the target.
[0010] A second aspect of the hit control device is the hit control device of the first aspect, wherein the robot arm includes a plurality of links and joints connecting the links, and the control unit controls the position of the hand by controlling the angles of the joints according to the rotation angle of the motor. According to the second aspect of the hit control device, the position of the hand can be controlled according to the rotation angle of the motor.
[0011] A third aspect of the hit control device is the hit control device of the second aspect, wherein the control unit controls the time at which the hand starts moving from the start position based on the arrival time at which the object reaches the predicted position corresponding to the determined via position, the first distance, the second distance, and the movement speed of the hand corresponding to the rotation speed of the motor, so that the hand reaches the hitting position at the arrival time. According to the hit control device of the third aspect, the position of the hand can be controlled in accordance with the timing of the hit without continuously controlling the movement speed of the hand.
[0012] The fourth aspect of the hit control device is the first aspect of the hit control device, and the calculation unit calculates the hitting position as a predetermined position of the hand, which is located on the opposite side of the predicted position on the straight line from the target position, when the shape of the object placed at the predicted position is in contact with the shape of the hand.
[0013] A fifth aspect of the hit control device is the fourth aspect of the hit control device, and when the shape of the object and the hand are each circular, the predicted position is set to the center position of the object, and the hitting position, the intermediate position, and the starting position are each set to the center position of the hand, and the calculation unit calculates as the hitting position a position on the straight line opposite the target position across from the predicted position, at a third distance from the predicted position which is the sum of the radius of the object and the radius of the hand.
[0014] According to the hit control device of the fourth and fifth aspects, the hitting position can be calculated based on each positional relationship.
[0015] A sixth aspect of the hit control device is the hit control device of the first aspect, wherein the first distance is dynamically changeable. According to the sixth aspect of the hit control device, it is possible to realize hit control according to the situation.
[0016] A seventh aspect of the hit control device is the hit control device of the sixth aspect, wherein the calculation unit sets the first distance in accordance with at least one of a target speed of the hand at the hitting position, a moving speed of the object, and a range in which the hand can move. According to the seventh aspect of the hit control device, the distance between the hitting position and the intermediate position can be set depending on the situation.
[0017] The hit control device of the eighth aspect is the hit control device of the second aspect, wherein the motor is a motor whose rotation angle is controlled at a constant rotation speed, and the control unit outputs a command value for the rotation angle to the motor. According to the hit control device of the eighth aspect, the position of the hand for hit control can be controlled simply by outputting the command value for the rotation angle of the motor.
[0018] A ninth aspect of the hit control device is the hit control device of the eighth aspect, wherein the motor is a position control servo motor. According to the ninth aspect of the hit control device, the hit control by the eighth aspect of the hit control device can be realized by applying a position control servo motor.
[0019] A tenth aspect of the hit control method predicts a predicted position of a moving object at each time, calculates a hitting position of the hand for hitting the object toward the target position, the hitting position being a position on a line passing through a predetermined target position where the object will be hit by the hand of a robot arm and the predicted position, in accordance with the predicted position at each time, determines, from among the via positions set in accordance with the hitting positions at each time, a via position that is a first distance from the hitting position and is opposite the predicted position on the line across from the hitting position, and that has a minimum second distance between the via position and a starting position before the hand starts to move, and moves the hand from the starting position via the determined via position to the hitting position corresponding to the determined via position, thereby controlling the position of the hand so that the object is hit toward the target position.
[0020] A hit control program of an eleventh aspect predicts a predicted position of a moving object at each time, calculates a hitting position of the hand for hitting the object toward the target position, the hitting position being a position on a line passing through a target position that is preset as a position to be reached by hitting the object with the hand of a robot arm and the predicted position, according to each predicted position at each time, determines, from among the via positions set according to each of the hitting positions at each of the time, a via position that is opposite the predicted position on the line across from the hitting position and that is a first distance from the hitting position, and moves the hand from the starting position via the determined via position to the hitting position corresponding to the determined via position, thereby controlling the position of the hand so that the object is hit toward the target position.
[0021] The twelfth aspect of the hitting device includes the hitting control device described in the first aspect, a robot arm including a plurality of links and joints connecting the links, and a motor whose rotation angle is controlled at a constant rotation speed, which controls the angle of the joint of the robot arm, and the control unit controls the position of the hand by outputting a command value for the rotation angle to the motor to control the rotation angle of the motor, thereby controlling the angle of the joint of the robot arm.
[0022] According to the hitting device of the twelfth aspect, a moving object can be hit back toward a target position using a simple and inexpensive robot arm.
[0023] According to the present disclosure, it is possible to hit an object back to a target position without relying on the performance of the robot arm.
[0024] FIG. 1 is a perspective view showing the overall configuration of a hit control device according to the present embodiment; FIG. 2 is a plan view showing the overall configuration of a hit control device according to the present embodiment; FIG. 3 is a schematic view showing an example of a robot arm; FIG. 4 is a schematic view showing an example of a robot arm; FIG. 5 is a block diagram showing the hardware configuration of a hit control device according to the present embodiment; FIG. 6 is a block diagram showing the functional configuration of a hit control device according to the present embodiment; FIG. 7 is an explanatory diagram showing a method of deriving a straight line that determines a via position; FIG. 8 is an explanatory diagram showing variables for each distance; FIG. 9 is a flowchart showing the flow of hit control processing according to the present embodiment.
[0025] An example of an embodiment of the present disclosure will be described below with reference to the drawings. In each drawing, the same or equivalent components and parts are denoted by the same reference numerals. The dimensional proportions in the drawings are exaggerated for the sake of explanation and may differ from the actual proportions. In this embodiment, an example will be described in which a mallet attached to the end of a robotic arm is used to hit back an object similar to an air hockey puck but thicker than the puck.
[0026] Fig. 1 is a perspective view showing the overall configuration of a hitting device 100 according to this embodiment and the environment in which the hitting device 100 is applied. Fig. 2 is a plan view showing the overall configuration of the hitting device 100 according to this embodiment and the environment in which the hitting device 100 is applied. The overall configuration of the hitting device 100 will be described below with reference to Figs. 1 and 2.
[0027] The hitting device 100 according to the present embodiment is provided on the periphery of a table 50, which is an air hockey field (playing field). In the example shown in FIGS. 1 and 2 , the hitting device 100 is provided on one of the short sides of the rectangular table 50. A person manually hits the ball on the other side of the short side of the table 50 using a mallet 80. Alternatively, the hitting device 100 may be provided on both ends of the table 50. In this embodiment, an example is described in which the hitting device 100 is provided on one side. Note that the shape of the table 50 may be other than rectangular, such as a square. A movable puck 40 is placed on the table 50. The puck 40 is the object to be hit. In FIGS. 1 and 2 , the puck 40 is shown as being disc-shaped. A camera 70 is provided at a central position above the table 50, and the camera 70 captures the entire table 50. Note that the installation position of the camera 70 is not limited to the center. The camera 70 may be installed at any position as long as it can capture images of the puck 40 and the mallets 29 of the hitting device 100. A switch 60 is provided on a part of the table 50 to instruct the hitting device 100 to start and stop hitting.
[0028] The hitting device 100 includes a hitting control device 10 , a motor 20 , and a robot arm 30 .
[0029] The robot arm 30 includes links and joints connecting the links. For example, as shown in FIG. 3, the robot arm 30 may be a multi-joint robot arm in which a motor 20 is provided at each joint 25 connecting the links 23. Alternatively, for example, as shown in FIG. 4, the robot arm 30 may be a robot arm with a link mechanism in which the motor 20 is provided at the base. In FIGS. 1 and 2, the robot arm 30 is simply shown. Note that the number of joints is not limited to one, and there may be multiple joints.
[0030] The robot arm 30 is also provided at its tip with a mallet 29, which is a tool for hitting the puck 40. In the example of Figures 1 to 4, the mallet 29 is provided with a disc-shaped member at one end of a stick that serves as the contact point with the puck 40, and the other end of the stick is attached to the tip of the robot arm 30.
[0031] The motor 20 controls the angle of the joint 25 of the robot arm 30. Specifically, the motor 20 controls the angle of the joint 25 by controlling the rotation angle based on a command value issued from the strike-back control device 10, which will be described later. The motor 20 may be a motor whose rotation angle is controlled at least under a constant rotation speed, and may be, for example, a position control servo motor.
[0032] The hitting control device 10 controls the motor 20 provided in the robot arm 30. The hitting control device 10 controls the rotation angle of the motor 20 to control the angle of the joint 25 of the robot arm 30, and thereby controls the position of the mallet 29 located at the tip of the robot arm.
[0033] Fig. 5 is a block diagram showing the hardware configuration of the hit control device 10. As shown in Fig. 5, the hit control device 10 has a CPU (Central Processing Unit) 51, a RAM (Random Access Memory) 52, a ROM (Read Only Memory) 53, a communication I / F 54, and a storage medium reader 55. Each component is connected to each other via a bus 56 so as to be able to communicate with each other.
[0034] The CPU 51 is a central processing unit that executes various programs and controls each component. That is, the CPU 51 reads programs from the ROM 53 and executes the programs using the RAM 52 as a work area. The CPU 51 controls each component and performs various arithmetic operations in accordance with the programs stored in the ROM 53.
[0035] The memory constituted by the RAM 52 temporarily stores programs and data as a working area.
[0036] The storage device, which is constituted by the ROM 53, stores various programs including an operating system and various data. The ROM 53 stores a processing program 11 for executing a hit-back control process, which will be described later.
[0037] The communication I / F 54 is an interface for communicating with a notebook computer or the like external to the striking device 100. For this communication, for example, a wired communication standard such as Ethernet (registered trademark) or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used. The striking control device 10 communicates with an external notebook computer or the like via the communication I / F 54, and the execution of the processing program 11 is controlled by commands from the external notebook computer or the like. In the example of FIG. 1 , a switch 60 (not shown) that can switch between start and stop ON / OFF is connected to the communication I / F 54.
[0038] The storage medium reader 55 reads data stored in various storage media such as CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, and USB (Universal Serial Bus) memory, and writes data to the storage media.
[0039] Next, the functional configuration of the hit control device 10 according to this embodiment will be described with reference to Fig. 6. As shown in Fig. 6, the hit control device 10 according to this embodiment functions as a prediction unit 12, a calculation unit 13, a determination unit 14, and a control unit 15 by the CPU 51 executing the processing program 11 stored in the ROM 53.
[0040] First, the definitions of the points shown in FIG. 7 will be explained. FIG. 7 is an explanatory diagram for determining the position through which the mallet 29 passes during a hit in air hockey according to this embodiment. Note that the arrows in FIG. 7 indicate the traveling direction of each object. Also, in FIG. 7, it is assumed that the puck 40 and the tip members of the mallet 29 are circular, and the positions of the puck 40 and the mallet 29 are expressed by the coordinates of the center of the circle. Note that if the shape of the tip members of the puck 40 and the mallet 29 is not circular, it is sufficient to determine reference positions for each of the puck 40 and the tip members of the mallet 29. Note that the position of each point in FIG. 7 is a position in the world coordinate system, and the hit control device 10 controls the robot arm 30 based on each position.
[0041] P0 is the position of the mallet 29 before it starts to move (hereinafter referred to as the "start position"). P1 is the position through which the mallet 29 passes when striking the puck 40 (hereinafter referred to as the "way position"). The way position is the starting position of the approach run when striking the puck 40 with the mallet 29. P2 is the position of the mallet 29 when striking the puck 40 (hereinafter referred to as the "hit position"). P3 is the predicted position of the moving puck 40 at each time (hereinafter referred to as the "predicted position"). P4 is the target position to which the puck 40 is to be hit and reached (hereinafter referred to as the "target position").
[0042] The target position P4 is a position that is set in advance as a position to which the puck 40 is to be hit by the mallet 29 of the robot arm 30. For example, the target position P4 may be a fixed position or a position that is dynamically changed. When the target position P4 is dynamically changed, the target position P4 may be set randomly each time the puck is hit. Furthermore, for example, the target position P4 may be set based on a strategy formulated by a higher-level system or the like.
[0043] The prediction unit 12 predicts a predicted position P3 of the puck 40 at each time. Specifically, the prediction unit 12 acquires video captured by the camera 70, detects the puck 40 from each frame of the video, and tracks the puck 40 between frames. For example, the prediction unit 12 detects the puck 40 based on a predetermined shape, color, etc. of the puck 40. Alternatively, a marker indicating that the puck 40 is a target for recognition may be attached to the puck 40, and the puck 40 may be detected by detecting this marker. The prediction unit 12 calculates the position of the puck 40 on the table 50 based on the mounting position and angle of view of the camera 70. The prediction unit 12 also determines a predicted position P3 of the puck 40 at each time based on the position of the puck 40 at each time corresponding to each frame and the speed of the puck 40 calculated from the movement distance of the puck 40 between frames and the frame rate.
[0044] The calculation unit 13 calculates, in accordance with each predicted position P3 at each time, an impact position P2 of the mallet 29 for hitting the puck 40 back toward the target position P4, which is a position on a line passing through the target position P4 and the predicted position P3. Specifically, the calculation unit 13 calculates, as the impact position, a predetermined position of the mallet 29 that is on the opposite side of the predicted position P3 from the target position P4 on a line passing through the target position P4 and the predicted position P3, when the shape of the puck 40 placed at the predicted position P3 and the shape of the mallet 29 are in contact with each other.
[0045] 7, when the puck 40 and the mallet 29 are each circular, as described above, the predicted position P3 is set to the center position of the puck 40, and the impact position P2, the intermediate position P1, and the start position P0 are each set to the center position of the mallet 29. As shown in FIG. 8, the calculation unit 13 calculates a distance from the predicted position P3 to a position on a line passing through the target position P4 and the predicted position P3, the distance being the distance from the predicted position P3 to a position on the opposite side of the target position P4 from the predicted position P3, the distance being the distance of the radius r B and the radius r of the mallet 29 A The position at the sum of (hereinafter referred to as the "third distance") is calculated as the impact position P2.
[0046] The determination unit 14 determines, from among the via positions P1 set in accordance with the respective impact positions P2 at each time, the via position P1 that provides the shortest distance (hereinafter referred to as the "second distance") between the start position P0 before the start of the movement of the mallet 29 and the via position P1. Specifically, the determination unit 14 sets a condition for determining, as the via position P1, a position on a line passing through P4 and P3 opposite the predicted position P3 with the impact position P2 in between, and a predetermined distance (hereinafter referred to as the "first distance") from the impact position P2. Under this condition, the determination unit 14 determines, from among the via positions P1 set in accordance with the respective impact positions P2 at each time, the via position P1 that provides the shortest second distance between the start position P0 before the start of the movement of the hand (i.e., the mallet 29) and the via position P1.
[0047] The determination of the via position P1 will now be described in more detail. In Figures 7 and 8, the horizontal direction is the X coordinate and the vertical direction is the Y coordinate.
[0048] Each point P is expressed as a vector p = [X p, Y p ], and the radius of the mallet 29 is r A , the radius of the pack 40 is r B The distance between point P1 and point P2 is d (see FIG. 8). P1 = p P3 +(d+r A +r B ) v (hereinafter referred to as "Equation P1"). Here, the variable v is P3 -p P4 ) / ||p P3 -p P4 ||. p P0 is calculated from the coordinate value of the start position P0 (for example, the coordinate (0, 0)). P4 is calculated from the coordinate values of the target position P4. The point P3 is calculated by substituting the predicted position P3 at each time into the formula P1. P1 is obtained. P1 and p P3 Among multiple candidates of ||p P1 -p P0 || (second distance) is smallest P1 and p P3 For example, in FIG. 7, among points P1 and P1', and points P3 and P3', ||p P1 -p P0 ||<||p P1' -p P0 Since ||, point P1 is determined as the via point.
[0049] The first distance (d in FIG. 8) is determined so that the mallet 29 can accelerate sufficiently when striking the puck 40. The distance d may also be changed dynamically. For example, the distance d may be set in accordance with at least one of the target speed of the mallet 29 at the striking position P2, the moving speed of the puck 40, and the range in which the mallet 29 can move. Specifically, if it is desired to increase the target speed of the mallet, the distance d is also set to a larger value. Furthermore, if the moving speed of the puck 40 is fast, the distance d may be set to a smaller value.
[0050] The control unit 15 controls the position of the mallet 29 so that the puck 40 is hit back toward the target position P4 by moving the mallet 29 from the start position P0 via the way-point P1 determined by the determination unit 14 to the striking position P2 corresponding to the way-point P1 determined by the determination unit 14. In the example of Fig. 7, the control unit 15 controls the position of the mallet 29 to move in the order of P0 → P1 → P2. As a result, the puck 40 located at P3 can be hit back at P2 to reach P4.
[0051] The control unit 15 controls the time at which the movement of the mallet 29 starts from the start position P0 so that the mallet 29 reaches the striking position P2 at the arrival time, based on the arrival time at which the puck 40 reaches the predicted position P3 corresponding to the determined via position P1, the first distance and the second distance, and the movement speed of the mallet 29 according to the rotation speed of the motor 20, under the restriction that the rotation speed of the motor 20 is constant. Furthermore, the control unit 15 may control the movement speed of the mallet 29 by controlling the rotation speed of the motor 20.
[0052] Furthermore, if the motor 20 is a motor whose rotation angle is controlled at a constant rotation speed, the control unit 15 outputs a command value for the rotation angle to the motor 20. Specifically, the control unit 15 uses an equation of inverse kinematics to determine the displacement (angle) of each joint 25 when the mallet 29 of the robot arm 30 is disposed at each position, calculates the rotation angle of the motor 20 based on the determined angle of the joint 25, generates a command value indicating the calculated rotation angle of the motor 20, and outputs the command value to the motor 20.
[0053] Next, the operation of the hit control device 10 according to this embodiment will be described. Figure 9 is a flowchart showing the flow of the hit control process. The hit control device 10 executes the hit control process shown in Figure 9. Each process in the hit control device 10 is executed by the CPU 51 functioning as the prediction unit 12, calculation unit 13, determination unit 14, and control unit 15. The hit control process is an example of a hit control method of the present invention.
[0054] 9, the CPU 51 acquires the current positions of the puck 40 and the mallet 29. Specifically, the CPU 51 detects the puck 40 from each frame of the image of the entire table 50 captured by the camera 70, and acquires the current position of the puck 40 on the table 50 based on the mounting position and angle of view of the camera 70. Similarly, the CPU 51 acquires the current position of the mallet 29.
[0055] In step S103, the CPU 51 estimates a predicted position P3 of the pack 40. Specifically, the CPU 51 estimates the predicted position P3 of the pack 40 at each time from the acquired current position information of the pack 40, the position of the pack 40 at each time corresponding to each frame, and the speed of the pack 40 calculated from the movement distance of the pack 40 between frames and the frame rate.
[0056] In step S105, the CPU 51 plans the speed and timing of the mallet 29 at the time of impact from the set target position P4. Specifically, a person operating the robot arm 30 using a laptop computer or the like sets the target position P4, and the CPU 51 plans the target speed of the mallet 29 at the time of impact and the timing of the impact in accordance with the set target position P4. More specifically, the CPU 51 calculates the impact position P2 for each time from the estimated predicted position P3 at each time, and derives multiple via positions P1 using equation P1 based on the information on the set first distance. The CPU 51 determines the via position P1 at which the second distance, which is the distance between the start position P0 and the via position P1, is shortest, thereby ultimately determining the speed of the mallet 29 and the timing of the impact. These are the planning steps.
[0057] In step S107 , the CPU 51 outputs a command value for the rotation angle to the motor 20 to control the rotation angle of the motor 20 .
[0058] In step S109, the CPU 51 controls the motor 20 in step S107, thereby controlling the angle of the joint 25 of the robot arm 30 and controlling the position of the mallet 29, thereby striking the puck 40. Then, the process ends.
[0059] As described above, the hit control device 10 according to this embodiment includes a prediction unit 12 that predicts a predicted position P3 of the moving puck 40 at each time, a target position P4 that is set in advance as a position to be reached by hitting the puck 40 with the mallet 29 of the robot arm 30, and a calculation unit 13 that calculates, in accordance with the predicted position P3 at each time, a hitting position P2 of the mallet 29 that is a position on a line passing through the predicted position P3 and is used to hit the puck 40 toward the target position P4, and a first hitting position P3 that is a position on the line opposite the predicted position P3 across the hitting position P2 and that is used to hit the puck 40 toward the target position P4. and a control unit 15 that controls the position of the mallet 29 so that the puck 40 is hit back toward the target position P4 by moving the mallet 29 from the start position P0 via the via position P1 determined by the determination unit 14 to the hitting position P2 corresponding to the via position P1 determined by the determination unit 14, under the condition that a position within a distance from the start position P0 is set as the via position P1.
[0060] The counter-hitting device 100 according to this embodiment includes the counter-hitting control device 10, a robot arm 30 including a plurality of links and joints 25 connecting the links, and a motor 20 whose rotation angle is controlled at a constant rotation speed to control the angle of the joint 25 of the robot arm 30, and the control unit 15 outputs a command value for the rotation angle to the motor 20 to control the rotation angle of the motor 20, thereby controlling the angle of the joint 25 of the robot arm 30 and controlling the position of the mallet 29. Thus, the counter-hitting device 100 according to this embodiment can hit a moving object toward a target position with a simple and inexpensive robot arm 30.
[0061] Although the present embodiment has been described using an example of a return hit in air hockey, the present invention is not limited to this. For example, the return hit control device 10 of the present embodiment can also be used for return hits in other ball games, such as tennis, table tennis, beach volleyball, and badminton. In the return hit according to the present embodiment, each position is calculated on a two-dimensional plane, but in the other ball games mentioned above, the object moves in three-dimensional space. Therefore, the prediction unit 12 predicts the predicted position of the object on a trajectory such as a parabola. Then, the calculation unit 13 and the determination unit 14 determine the pass-through position for the target position, predicted position, hitting position, via position, and starting position in three-dimensional space, as in the return hit control device 10 according to the above embodiment, and can return the ball from the starting position, passing through the pass-through position, to the hitting position.
[0062] Although the switch 60 and the laptop computer are exemplified as terminals for controlling the execution of the processing program 11 of the strike-back control device 10 according to the present embodiment, the present invention is not limited to these. For example, the execution of the processing program 11 can be controlled from a desktop computer, a tablet terminal, a smartphone, or a smartwatch.
[0063] Furthermore, the strike-back control process executed by the CPU in each of the above embodiments by loading software (programs) may be executed by various processors other than the CPU. Examples of such processors include programmable logic devices (PLDs) (such as field-programmable gate arrays (FPGAs)) whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as application-specific integrated circuits (ASICs) that are processors with circuit configurations specifically designed to execute specific processes. The strike-back control process may 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, or a combination of a CPU and an FPGA). The hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.
[0064] In addition, in each of the above embodiments, the processing program 11 is described as being pre-stored (installed) in a storage device, but this is not limiting. The processing program 11 may be provided in a form recorded on a recording medium such as a CD-ROM, a DVD-ROM (Digital Versatile Disc Read Only Memory), or a USB (Universal Serial Bus) memory. The processing program 11 may also be downloaded from an external device via a network.
[0065] (Supplementary Item 1) A hit control device including: a prediction unit that predicts a predicted position of a moving object at each time; a calculation unit that calculates, in accordance with each predicted position at each time, a target position that is set in advance as a position to be reached by hitting the object with the hand of a robot arm, and a hitting position of the hand on a straight line that passes through the predicted position, for hitting the object toward the target position; a determination unit that determines, from among the via positions set in accordance with each of the hitting positions at each time, a via position that is opposite the predicted position on the straight line with the hitting position in between and a first distance from the hitting position, the via position at which a second distance between a start position before a movement of the hand starts and the via position is the shortest; and a control unit that controls the position of the hand so that the object is hit toward the target position by moving the hand from the start position via the via position determined by the determination unit to the hitting position corresponding to the via position determined by the determination unit.
[0066] (Supplementary Item 2) The hit control device according to claim 1, wherein the robot arm includes a plurality of links and joints connecting the links, and the control unit controls the position of the hand by controlling the angle of the joint according to the rotation angle of a motor.
[0067] (Additional Item 3) The hit control device according to claim 2, wherein the control unit controls the time at which the movement of the hand starts from the start position based on the arrival time at which the object reaches the predicted position corresponding to the determined intermediate position, the first distance and the second distance, and the movement speed of the hand according to the rotation speed of the motor, so that the hand reaches the hitting position at the arrival time.
[0068] (Additional Item 4) The hit-back control device according to any one of claims 1 to 3, wherein the calculation unit calculates, as the hitting position, a predetermined position of the hand that is located on the straight line opposite the target position across the predicted position and where a shape of the object placed at the predicted position comes into contact with a shape of the hand.
[0069] (Additional Item 5) The hit-back control device according to claim 4, wherein, when the object and the hand are each circular in shape, the predicted position is set to the center position of the object, the hitting position, the intermediate position, and the starting position are each set to the center position of the hand, and the calculation unit calculates, as the hitting position, a position on the straight line opposite the target position across from the predicted position, at a third distance from the predicted position that is the sum of the radius of the object and the radius of the hand.
[0070] (Supplementary Item 6) The hit-back control device according to any one of items 1 to 5, wherein the first distance is dynamically changeable.
[0071] (Supplementary Item 7) The hit control device according to claim 6, wherein the calculation unit sets the first distance in accordance with at least one of a target speed of the hand at the hitting position, a moving speed of the object, and a range in which the hand can move.
[0072] (Supplementary Item 8) The hit-back control device according to claim 2 or 3, wherein the motor is a motor whose rotation angle is controlled at a constant rotation speed, and the control unit outputs a command value of the rotation angle to the motor.
[0073] (Supplementary Item 9) The hit-back control device according to claim 8, wherein the motor is a position control servo motor.
[0074] (Supplementary Item 10) A hit control method in which a computer executes a process of predicting a predicted position of a moving object at each time, calculating a hitting position of the hand for hitting the object toward the target position, the hitting position being a position on a straight line passing through a target position that is set in advance as a position to be reached by hitting the object with the hand of a robot arm and the predicted position, in accordance with each predicted position at each time, determining, from among the via positions set in accordance with each of the hitting positions at each of the time, a via position that is opposite the predicted position on the straight line with the hitting position in between and a first distance from the hitting position, and moving the hand from the start position via the determined via position to the hitting position corresponding to the determined via position, thereby controlling the position of the hand so as to hit the object toward the target position.
[0075] (Supplementary Item 11) A hit control program that causes a computer to execute the following process: predicting a predicted position of a moving object at each time; calculating a hitting position of the hand for hitting the object toward the target position, the hitting position being a position on a straight line that passes through a target position that is set in advance as a position to be reached by hitting the object with the hand of a robot arm and the predicted position, according to each predicted position at each time; determining, from among the via positions set in accordance with each of the hitting positions at each of the time, a via position that is opposite the predicted position on the straight line with the hitting position in between and a first distance from the hitting position, whereby a second distance between the via position and a starting position before the movement of the hand is started and the via position is the shortest; and moving the hand from the starting position via the determined via position to the hitting position corresponding to the determined via position, thereby controlling the position of the hand so as to hit the object toward the target position.
[0076] (Appendix 12) A counter-hit device comprising: a counter-hit control device according to any one of claims 1 to 9; a robot arm including a plurality of links and joints connecting the links; and a motor whose rotation angle is controlled at a constant rotation speed, the motor controlling the angle of the joint of the robot arm; wherein the control unit controls the position of the hand by outputting a command value for the rotation angle to the motor to control the rotation angle of the motor, thereby controlling the angle of the joint of the robot arm.
[0077] REFERENCE SIGNS LIST 10 Returning hit control device 11 Processing program 12 Prediction unit 13 Calculation unit 14 Determination unit 15 Control unit 20 Motor 23 Link 25 Joint 29 Mallet 30 Robot arm 40 Puck 50 Table 51 CPU 52 RAM 53 ROM 54 Communication I / F 55 Storage medium reading device 56 Bus 60 Switch 70 Camera 80 Mallet (manual) 100 Returning hit device
Claims
a calculation unit that calculates a target position of the hand for hitting the object toward the target position, the target position being a position on a line passing through the predicted position and a target position that is previously set as a position to be reached by hitting the object with the hand of a robot arm, in accordance with the predicted position at each of the time points; a determination unit that determines an intermediate position that minimizes a second distance between a start position before the movement of the hand and the intermediate position, among the intermediate positions that are set in accordance with the impact position at each of the time points, under the condition that an intermediate position is a position on the line opposite the predicted position across from the impact position and a first distance from the impact position; and a control unit that controls the position of the hand so that the object is hit toward the target position by moving the hand from the start position via the intermediate position determined by the determination unit to the impact position corresponding to the intermediate position determined by the determination unit.
2. The hit control device as described in claim 1, wherein the robot arm includes a plurality of links and joints connecting the links, and the control unit controls the position of the hand by controlling the angle of the joint in accordance with the rotation angle of a motor.
3. The hit control device as described in claim 2, wherein the control unit controls the time at which the hand starts moving from the start position so that the hand reaches the hitting position at the arrival time, based on the arrival time at which the object reaches the predicted position corresponding to the determined intermediate position, the first distance and the second distance, and the movement speed of the hand corresponding to the rotational speed of the motor.
4. The hit control device according to claim 1, wherein the calculation unit calculates as the hitting position a predetermined position of the hand that is located on the straight line opposite the target position across from the predicted position and where the shape of the object placed at the predicted position touches the shape of the hand.
5. A hit control device as described in claim 4, wherein, when the object and the hand are each circular in shape, the predicted position is set to the center position of the object, and the hitting position, the intermediate position, and the starting position are each set to the center positions of the hand, and the calculation unit calculates as the hitting position a position on the straight line opposite the target position across from the predicted position, at a third distance from the predicted position which is the sum of the radius of the object and the radius of the hand.
6. The hit-back control device according to claim 1, wherein the first distance is dynamically changeable.
7. The hit control device according to claim 6, wherein the determination unit sets the first distance in accordance with at least one of a target speed of the hand at the hitting position, a moving speed of the object, and a range in which the hand can move.
8. The hit-back control device according to claim 2, wherein the motor is a motor whose rotation angle is controlled at a constant rotation speed, and the control unit outputs a command value for the rotation angle to the motor.
9. The strike control device according to claim 8, wherein the motor is a position-controlled servo motor.
10. A hit control method executed by a computer, which comprises the steps of: predicting a predicted position of a moving object at each time; calculating a hitting position of the hand for hitting the object toward the target position, the hitting position being on a straight line passing through a target position that is previously set as a position to be reached by hitting the object with the hand of a robot arm and the predicted position, in accordance with each of the predicted positions at each of the time; determining an intermediate position that minimizes a second distance between a starting position before the movement of the hand and the intermediate position, among the intermediate positions set in accordance with each of the hitting positions at each of the time, under the condition that an intermediate position is a position on the straight line opposite the predicted position across from the hitting position and a first distance from the hitting position; and controlling the position of the hand so that the object is hit toward the target position by moving the hand from the starting position via the determined intermediate position to the hitting position corresponding to the determined intermediate position.
11. A hit control program that causes a computer to execute the following processes: predicting a predicted position of a moving object at each time; calculating a hitting position of the hand for hitting the object toward the target position, the hitting position being on a straight line passing through a target position that is previously set as a position to be reached by hitting the object with the hand of a robot arm and the predicted position, in accordance with each of the predicted positions at each of the times; determining, under the condition that an intermediate position is a position on the straight line opposite the predicted position across from the hitting position and a first distance from the hitting position, among the intermediate positions set in accordance with each of the hitting positions at each of the times, an intermediate position that minimizes a second distance between the starting position before the hand begins to move and the intermediate position; and controlling the position of the hand so that the object is hit toward the target position by moving the hand from the starting position via the determined intermediate position to the hitting position corresponding to the determined intermediate position.
12. A hitting device comprising: the hitting control device as described in claim 1; a robot arm including a plurality of links and joints connecting the links; and a motor whose rotation angle is controlled at a constant rotation speed, the motor controlling the angle of the joint of the robot arm, wherein the control unit controls the position of the hand by outputting a rotation angle command value to the motor to control the rotation angle of the motor, thereby controlling the angle of the joint of the robot arm.
Citation Information
Patent Citations
Arm type robot for playing match of table tennis
JP2008036383A