Hit-back control device, hit-back control method, hit-back control program, and hit-back device
The hitting-back control device predicts and calculates the optimal hitting position for a moving object, allowing it to be hit back to a target position efficiently and accurately without relying on high-performance robot arms or precise speed control.
Patent Information
- Application Number
- JP2023208761
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-11
- Publication Date
- 2025-06-23
AI Technical Summary
Existing game devices and robot systems struggle to hit back a moving object to a specific target position without relying on high-performance robot arms and precise speed control.
A hitting-back control device that predicts the moving object's position, calculates the hitting position on a straight line between the predicted position and the target position, and controls the robot arm to hit the object at this position, minimizing the distance from the start position to the passing position.
Enables hitting back an object to a target position without depending on the performance of the robot arm and without finely adjusting the speed towards the target, achieving efficient and accurate control.
Smart Images

Figure 2025093179000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a hitting-back control device, a hitting-back control method, a hitting-back control program, and a hitting-back device.
Background Art
[0002] There has been proposed a game device that hits a moving object on a playing field board and competes for hitting back the moving object based on a predetermined rule, and is in a battle form with a mechanism capable of hitting back the moving object. This game device includes a manipulator capable of hitting back a moving object, a moving object position detection means for capturing the movement information of the moving object on the playing field board, and a control means for generating drive control information for hitting back the moving object with the manipulator based on the movement information of the moving object obtained from the moving object position detection means and driving and controlling the manipulator according to this drive control information (Patent Document 1).
[0003] Also, as an example of a task, a technology for designing a robot agent that generates an accurate and fast trajectory and immediately responds to environmental changes has been proposed (Non-Patent Document 1).
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Non-Patent Documents
[0005]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0006] However, in the technology described in Patent Document 1, it only hits back the approaching moving object, and does not hit back the moving object towards a specific target position. In order to hit back the moving object towards the target position, for example, there is a problem that a high-performance robot arm such as the robot arm described in Non-Patent Document 2 is required, which can shorten the control cycle, continuously control the moving speed of the hand, and has high rigidity.
[0007] The present disclosure has been made in view of the above points, and an object thereof is to provide a hitting control device, a hitting control method, a hitting control program, and a hitting device that can realize hitting back an object to a target position without depending on the performance of a robot arm and without finely adjusting the speed towards the target.
Means for Solving the Problems
[0008] The hitting-back control device according to the first aspect includes a prediction unit that predicts the predicted position of a moving object at each time, a target position that is set in advance as the position to be reached by hitting back the object with the tip of a robot arm, and a calculation unit that calculates the hitting position of the tip for hitting back the object toward the target position at a position on the straight line passing through the predicted position and the target position according to each of the predicted positions at the respective times. The determination unit determines, among the passing positions set according to each of the hitting positions at the respective times, the passing position for which the second distance between the start position before the operation of the tip and the passing position is minimized, under the condition that the passing position is a position on the straight line that is opposite to the predicted position with the hitting position in between and is at a first distance from the hitting position. The control unit controls the position of the tip so as to hit back the object toward the target position by moving the tip from the start position through the passing position determined by the determination unit to the hitting position corresponding to the passing position determined by the determination unit.
[0009] According to the hitting-back control device of the first aspect, it is possible to realize hitting back the object to the target position without depending on the performance of the robot arm and without finely adjusting the speed of the tip toward the target.
[0010] The hitting-back control device according to the second aspect is the hitting-back control device according to the first aspect, wherein the robot arm includes a plurality of links and joints that join the links, and the control unit controls the position of the tip by controlling the angle of the joint according to the rotation angle of the motor. According to the hitting-back control device of the second aspect, the position of the tip can be controlled according to the rotation angle of the motor.
[0011] The hitting return control device according to the third aspect is the hitting return control device according to the second aspect, wherein the control unit controls the timing to start moving the hand from the start position so that the hand reaches the hitting position at the arrival time based on the arrival time when the object reaches the predicted position corresponding to the determined passing position, the first distance, the second distance, and the moving speed of the hand according to the rotational speed of the motor. According to the hitting return control device of the third aspect, it is possible to control the position of the hand according to the timing of hitting without continuously controlling the moving speed of the hand.
[0012] The hitting return control device according to the fourth aspect is the hitting return control device according to the first aspect, wherein the calculation unit calculates, as the hitting position, a predetermined position of the hand when the shape of the object arranged at the predicted position and the shape of the hand are in contact with each other at a position opposite to the target position across the predicted position on the straight line.
[0013] The hitting return control device according to the fifth aspect is the hitting return control device according to the fourth aspect. When the shapes of the object and the hand are both circular, the predicted position is set as the center position of the object, each of the hitting position, the passing position, and the start position is set as the center position of the hand, and the calculation unit calculates, as the hitting position, a position at a third distance, which is the sum of the radius of the object and the radius of the hand, from the predicted position at a position opposite to the target position across the predicted position on the straight line.
[0014] According to the hitting return control devices of the fourth and fifth aspects, the hitting position can be calculated based on each positional relationship.
[0015] The hitting return control device according to the sixth aspect is the hitting return control device according to the first aspect, wherein the first distance is dynamically changeable. According to the hitting return control device of the sixth aspect, it is possible to realize hitting return control according to the situation.
[0016] The rebounding control device according to the seventh aspect is the rebounding control device according to the sixth aspect, wherein the calculation unit sets the first distance according to at least one of the target speed of the hand tip at the hitting position, the moving speed of the object, and the range in which the hand tip can move. According to the rebounding control device of the seventh aspect, the distance between the hitting position and the passing position can be set according to the situation.
[0017] The rebounding control device according to the eighth aspect is the rebounding control device according to the second aspect, wherein the motor is a motor whose rotation angle is controlled under a constant rotation speed, and the control unit outputs a command value of the rotation angle to the motor. According to the rebounding control device of the eighth aspect, the position of the hand tip for rebounding control can be controlled only by outputting a command value of the rotation angle of the motor.
[0018] The rebounding control device according to the ninth aspect is the rebounding control device according to the eighth aspect, wherein the motor is a position control servo motor. According to the rebounding control device of the ninth aspect, the rebounding control by the rebounding control device of the eighth aspect can be realized by applying a position control servo motor.
[0019] The rebounding control method according to the tenth aspect predicts the predicted position of a moving object at each time, and is a position on a straight line passing through a target position preset as a position to be reached by rebounding the object with the hand tip of a robot arm and the predicted position, and calculates the hitting position of the hand tip for rebounding the object toward the target position according to each of the predicted positions at each time. Under the condition that a position at a first distance from the hitting position and opposite to the predicted position is set as a passing position, among the passing positions set according to each of the hitting positions at each time, the computer executes a process of controlling the position of the hand tip so as to rebound the object toward the target position by moving the hand tip from the start position before the start of the operation of the hand tip to the determined passing position and then to the hitting position corresponding to the determined passing position.
[0020] The hitting-back control program according to the 11th aspect predicts the predicted position of the object to be moved at each time, and is a position on the straight line passing through the target position preset as the position to be reached by hitting back the object with the tip of the robot arm and the predicted position. The hitting position of the tip for hitting back the object toward the target position is calculated according to each of the predicted positions at each time, and is a position opposite to the predicted position across the hitting position on the straight line and at a first distance from the hitting position. Under the condition that the position at the first distance is used as the passing position, among the passing positions set according to each of the hitting positions at each time, the passing position at which the second distance between the starting position before the start of the operation of the tip and the passing position is minimized is determined, and the tip is moved from the starting position through the determined passing position to the hitting position corresponding to the determined passing position, so as to cause the computer to execute a process of controlling the position of the tip so as to hit back the object toward the target position.
[0021] The hitting-back device according to the 12th aspect includes the hitting-back control device according to the 1st aspect, the robot arm including a plurality of links and joints joining the links, and a motor whose rotation angle is controlled under a constant rotation speed, and the motor controls the angle of the joint of the robot arm. The control unit outputs a command value of 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 and controlling the position of the tip.
[0022] According to the hitting-back device of the 12th aspect, it is possible to hit back a moving object toward a target position with a simple and inexpensive robot arm.
Advantages of the Invention
[0023] According to the present disclosure, it is possible to realize hitting back an object to a target position without depending on the performance of the robot arm.
Brief Description of the Drawings
[0024]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Mode for Carrying Out the Invention
[0025] Hereinafter, an example of an embodiment of the present disclosure will be described with reference to the drawings. In each drawing, the same or equivalent components and parts are given the same reference numerals. Also, the dimensional ratios in the drawings are exaggerated for the convenience of explanation and may be different from the actual ratios. Further, in this embodiment, a case where a mallet having a thickness greater than that of a pack, which is a member similar to the pack of air hockey, is hit back at the tip of the robot arm will be described as an example.
[0026] FIG. 1 is a perspective view showing the overall configuration of the hitting-back device 100 according to this embodiment and the environment to which the hitting-back device 100 is applied. FIG. 2 is a plan view of the overall configuration of the hitting-back device 100 according to this embodiment and the environment to which the hitting-back device 100 is applied as seen from above. Hereinafter, the overall configuration of the hitting-back device 100 will be described with reference to FIGS. 1 and 2.
[0027] The hitting device 100 according to this embodiment is provided on the outer periphery of a table 50 which is an air hockey field (competition venue). In the examples of FIGS. 1 and 2, the hitting device 100 is set on one of the short sides of the rectangular table 50. On the other side of the short side of the table 50, a human manually hits back using a mallet 80. Also, the hitting device 100 may be installed at both ends of the table 50. In this embodiment, an example in which the hitting device 100 is provided on one side will be described. Note that the shape of the table 50 may be other than rectangular, such as square or other shapes. A pack 40 that can move is placed on the table 50. The pack 40 is an object to be hit back. In FIGS. 1 and 2, the pack 40 is shown in the case of a disk shape. Also, a camera 70 is installed at the central position above the table 50, and the camera 70 photographs 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 photograph the pack 40 and the mallet 29 of the hitting device 100. Also, a switch 60 for instructing the start and stop of hitting by the hitting device 100 is provided on a part of the table 50.
[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 that connect between the links. The robot arm 30 may be, for example, a multi-joint robot arm provided with a motor 20 at each joint 25 that connects between the links 23 as shown in FIG. 3. Also, the robot arm 30 may be, for example, a robot arm of a link mechanism provided with a motor 20 at the base as shown in FIG. 4. In FIGS. 1 and 2, the robot arm 30 is simply represented. Note that the number of joints is not limited to one, and there may be a plurality.
[0030] In addition, a mallet 29, which is a tool for hitting back the pack 40, is provided at the tip of the robot arm 30. In the examples of FIGS. 1 to 4, the mallet 29 is provided with a disk-shaped member serving as a contact portion with the pack 40 at one end of a rod, and the other end side of the rod 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 instructed from a hitting-back control device 10 described later. The motor 20 may be at least a motor whose rotation angle is controlled under a constant rotation speed, and may be, for example, a position control servo motor.
[0032] The hitting-back control device 10 controls the motor 20 provided in the robot arm 30. The hitting-back control device 10 controls the angle of the joint 25 of the robot arm 30 by controlling the rotation angle of the motor 20, and 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 hitting-back control device 10. As shown in FIG. 5, the hitting-back control device 10 includes 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 be communicable with each other via a bus 56.
[0034] The CPU 51 is a central arithmetic processing unit that executes various programs and controls each component. That is, the CPU 51 reads a program from the ROM 53 and executes the program using the RAM 52 as a work area. The CPU 51 performs control of each of the above components and various arithmetic processes according to the program stored in the ROM 53.
[0035] The memory constituted by the RAM 52 temporarily stores programs and data as a work area.
[0036] The memory device constituted by ROM53 stores various programs including an operating system and various data. In ROM53, a processing program 11 for executing a bounce-back control process described later is stored.
[0037] The communication I / F54 is an interface for mutually communicating with a notebook computer or the like outside the bounce-back device 100. For such communication, for example, a standard for wired communication such as Ethernet (registered trademark) or FDDI, or a standard for wireless communication such as 4G, 5G, or Wi-Fi (registered trademark) is used. The bounce-back control device 10 controls the execution of the processing program 11 according to an instruction from an external notebook computer or the like by communicating with the external notebook computer or the like through the communication I / F54. In the example of FIG. 1, a switch 60 whose ON / OFF can be switched between start and stop is connected to the communication I / F54 (not shown).
[0038] The storage medium reader / writer 55 reads data stored in various storage media such as a CD (Compact Disc)-ROM, a DVD (Digital Versatile Disc)-ROM, a Blu-ray disc, and a USB (Universal Serial Bus) memory, and writes data to the storage medium.
[0039] Next, with reference to FIG. 6, the functional configuration of the bounce-back control device 10 according to the present embodiment will be described. As shown in FIG. 6, the bounce-back control device 10 of the present embodiment functions as a prediction unit 12, a calculation unit 13, a determination unit 14, and a control unit 15 by the CPU51 executing the processing program 11 stored in the ROM53.
[0040] First, the definitions of each point shown in FIG. 7 will be described here. FIG. 7 is an explanatory diagram for determining the position through which the mallet 29 passes in the air hockey rebound according to the present embodiment. Note that the arrows in FIG. 7 indicate the traveling directions of the respective objects. Also, in FIG. 7, it is assumed that the tip members of the puck 40 and the mallet 29 are circular, and the positions of the puck 40 and the mallet 29 are represented by the circular center coordinates. If the shapes of the tip members of the puck 40 and the mallet 29 are not circular, a reference position may be determined for each of the tip members of the puck 40 and the mallet 29. Note that the positions of the respective points in FIG. 7 are positions in the world coordinate system, and based on each position, the return control device 10 controls the robot arm 30.
[0041] P0 is the position before the operation of the mallet 29 starts (hereinafter referred to as the "starting position"). P1 is the position through which the mallet 29 passes when hitting the puck 40 (hereinafter referred to as the "passing position"). The passing position is the starting position of the running start when hitting the puck 40 with the mallet 29. P2 is the position of the mallet 29 when hitting the puck 40 with the mallet 29 (hereinafter referred to as the "hitting position"). P3 is the position obtained by predicting the 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 returned (hereinafter referred to as the "target position").
[0042] The target position P4 is a position set in advance as the position to be reached by hitting back the puck 40 with 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 of the return. Also, 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 the predicted position P3 of the pack 40 at each time. Specifically, the prediction unit 12 acquires the video captured by the camera 70, detects the pack 40 from each frame of the video, and tracks the pack 40 between frames. For example, the prediction unit 12 detects the pack 40 based on a predetermined shape, color, etc. of the pack 40. Alternatively, a marker indicating that the pack 40 is an object to be recognized may be attached to the pack 40, and the pack 40 may be detected by detecting this marker. The prediction unit 12 calculates the position of the pack 40 on the table 50 based on the attachment position and the angle of view of the camera 70. Further, the prediction unit 12 determines the predicted position P3 of the pack 40 at each time based on the position of the pack 40 at each time corresponding to each frame, and the speed of the pack 40 calculated from the moving distance of the pack 40 between frames and the frame rate.
[0044] The calculation unit 13 calculates, according to each predicted position P3 at each time, the hitting position P2 of the mallet 29, which is a position on the straight line passing through the target position P4 and the predicted position P3 and is for hitting back the pack 40 toward the target position P4. Specifically, the calculation unit 13 is a position on the straight line passing through the target position P4 and the predicted position P3, on the opposite side of the target position P4 with the predicted position P3 in between, and calculates, as the hitting position, a predetermined position of the mallet 29 when the shape of the pack 40 arranged at the predicted position P3 comes into contact with the shape of the mallet 29.
[0045] As shown in FIG. 7, when the shapes of the pack 40 and the mallet 29 are both circular, as described above, the predicted position P3 is set as the center position of the pack 40, and each of the hitting position P2, the passing position P1, and the starting position P0 is set as the center position of the mallet 29. As shown in FIG. 8, the calculation unit 13 is a position on the straight line passing through the target position P4 and the predicted position P3, on the opposite side of the target position P4 with the predicted position P3 in between, and at a position that is at a distance (hereinafter referred to as "third distance") from the predicted position P3, which is the sum of the radius r B of the pack 40 and the radius r A of the mallet 29, and calculates this position as the hitting position P2.
[0046] The determination unit 14 determines a passing position P1 among the passing positions P1 set according to each of the hitting positions P2 at each time, for which the distance between the starting position P0 before the operation of the mallet 29 and the passing position P1 (hereinafter referred to as the "second distance") is minimized. Specifically, the determination unit 14 sets a condition that the passing position P1 is a position on the straight line passing through P4 and P3, sandwiching the hitting position P2, on the opposite side of the predicted position P3, and at a predetermined distance (hereinafter referred to as the "first distance") from the hitting position P2. Under this condition, the determination unit 14 determines, among the passing positions P1 set according to each of the hitting positions P2 at each time, the passing position P1 for which the second distance between the starting position P0 before the operation of the hand (i.e., the mallet 29) and the passing position P1 is minimized.
[0047] The determination of the passing position P1 will be described more specifically. In FIGS. 7 and 8, the horizontal direction is the X coordinate and the vertical direction is the Y coordinate.
[0048] Each point P is represented by a vector p = [X p , Y p , the radius of the mallet 29 is r A , the radius of the pack 40 is r B , and the distance between the point P1 and the point P2 is d (see FIG. 8). The point P1 is obtained by p P1 = p P3 + (d + r A + r B )v (hereinafter referred to as "Equation P1"). Here, the variable v is v = (p P3 - p P4 ) / ||p P3 - p P4 ||. p P0 is obtained from the coordinate value of the starting position P0 (for example, the coordinates (0, 0)). p P4 is obtained from the coordinate value of the target position P4. The point P3 is obtained by substituting the predicted position P3 at each time into Equation P1. As a result, a plurality of p P1 are obtained. Among the plurality of candidates of p P1 and p P3 , ||p P1 - p P0 || (the second distance) is minimized for p P1 and p P3Determine. For example, in FIG. 7, among point P1 and point P1', point P3 and point P3', since ||p P1 -p P0 || < ||p P1' -p P0 ||, point P1 is determined as the passing position.
[0049] Note that the first distance (d in FIG. 8) is determined so that the mallet 29 can be sufficiently accelerated when hitting the pack 40. Also, the distance d may be changed dynamically. For example, the distance d may be set according to at least one of the target speed of the mallet 29 at the hitting position P2, the moving speed of the pack 40, and the movable range of the mallet 29. Specifically, when it is desired to increase the target speed of the mallet, a larger value is set for the distance d. Also, when the moving speed of the pack 40 is high, the distance d may be set to a small value.
[0050] The control unit 15 moves the mallet 29 from the start position P0, via the passing position P1 determined by the determination unit 14, to the hitting position P2 corresponding to the passing position P1 determined by the determination unit 14, thereby controlling the position of the mallet 29 so as to hit back the pack 40 toward the target position P4. 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. Thereby, the pack 40 located at P3 can be hit back at P2 and reach P4.
[0051] Under the limitation that the rotation speed of the motor 20 is constant, the control unit 15 controls the time to start moving the mallet 29 from the start position P0 so that the mallet 29 reaches the hitting position P2 at the arrival time, based on the arrival time when the pack 40 reaches the predicted position P3 corresponding to the determined passing position P1, the first distance and the second distance, and the moving speed of the mallet 29 corresponding to the rotation speed of the motor 20. Also, the control unit 15 may control the rotation speed of the motor 20 to control the moving speed of the mallet 29.
[0052] Also, when the motor 20 is a motor whose rotation angle is controlled under a constant rotation speed, the control unit 15 outputs a command value of the rotation angle to the motor 20. Specifically, the control unit 15 obtains the displacement (angle) of each joint 25 when arranged at each position of the ram 29 of the robot arm 30 using the inverse kinematics formula, calculates the rotation angle of the motor 20 based on the obtained angle of the joint 25, generates a command value indicating the calculated rotation angle of the motor 20, and outputs it to the motor 20.
[0053] Next, the operation of the rebounding control device 10 according to the present embodiment will be described. FIG. 9 is a flowchart showing the flow of the rebounding control process. In the rebounding control device 10, the rebounding control process shown in FIG. 9 is executed. Each process in the rebounding control device 10 is executed by the CPU 51 functioning as the prediction unit 12, the calculation unit 13, the determination unit 14, and the control unit 15. The rebounding control process is an example of the rebounding control method of the present invention.
[0054] In step S101 of FIG. 9, the CPU 51 acquires the current positions of the pack 40 and the ram 29. Specifically, the CPU 51 detects the pack 40 from each frame of the image of the entire table 50 captured by the camera 70, and acquires the current position of the pack 40 on the table 50 based on the attachment position and the viewing angle of the camera 70. Similarly, the CPU 51 acquires the current position of the ram 29.
[0055] In step S103, the CPU 51 estimates the predicted position P3 of the pack 40. Specifically, the CPU 51 estimates the predicted position P3 of the pack 40 for each time based on 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 moving 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 rammer 29 at the time of impact from the set target position P4. Specifically, a human operator who operates the robot arm 30 from a notebook computer or the like sets the target position P4, and the CPU 51 plans the target speed of the rammer 29 and the timing of the impact according to the set target position P4. More specifically, the CPU 51 calculates the impact position P2 from the predicted position P3 at each estimated time, and derives a plurality of via positions P1 according to formula P1 based on the information of the set first distance. The CPU 51 determines the via position P1 for which the second distance, which is the distance between the start position P0 and the via position P1, is minimized, and as a result, the speed of the rammer 29 and the timing of the impact are determined. The above is the planning step.
[0057] In step S107, the CPU 51 outputs a command value for the rotation angle to the motor 20 and controls the rotation angle of the motor 20.
[0058] In step S109, the CPU 51 controls the angle of the joint 25 of the robot arm 30 and thus controls the position of the rammer 29 by controlling the motor 20 in step S107, thereby striking the pack 40. Then the process ends.
[0059] As described above, the rebounding control device 10 according to the present embodiment includes a prediction unit 12 that predicts the predicted position P3 at each time of the moving pack 40, a target position P4 that is set in advance as the position to which the pack 40 is to be rebounded and reached by the ram 29 of the robot arm 30, and a position on the straight line passing through the predicted position P3 and the target position P4. A calculation unit 13 that calculates the hitting position P2 of the ram 29 for rebounding the pack 40 toward the target position P4 according to each of the predicted positions P3 at each time, and a position on the straight line that is opposite to the predicted position P3 with the hitting position P2 in between, and is at a first distance from the hitting position P2. Among the passing positions P1 set according to each of the hitting positions P2 at each time under the condition that the passing position P1 is set, a determination unit 14 that determines the passing position P1 at which the second distance between the start position P0 before the operation of the ram 29 and the passing position P1 is minimized, and from the start position P0 through the passing position P1 determined by the determination unit 14 to the hitting position P2 corresponding to the passing position P1 determined by the determination unit 14. A control unit 15 that controls the position of the ram 29 so as to rebound the pack 40 toward the target position P4 by moving the ram 29. Therefore, according to the rebounding control device 10 according to the present embodiment, it is possible to realize the rebounding of an object to a target position without depending on the performance of the robot arm and without finely adjusting the speed toward the target.
[0060] Further, the rebounding device 100 according to the present embodiment includes a rebounding control device 10, a robot arm 30 including a plurality of links and joints 25 that join the links, and a motor 20 whose rotation angle is controlled under a constant rotation speed, and the motor 20 that controls the angle of the joint 25 of the robot arm 30. The control unit 15 controls the angle of the joint 25 of the robot arm 30 and controls the position of the ram 29 by outputting a command value of the rotation angle to the motor 20 and controlling the rotation angle of the motor 20. Therefore, according to the rebounding device 100 according to the present embodiment, it is possible to rebound a moving object toward a target position with a simple and inexpensive robot arm 30.
[0061] In addition, although the present embodiment has described an example of hitting back in air hockey, the present invention is not limited to this. For example, the hitting-back control device 10 of the present embodiment can also be used for hitting back in other ball games such as tennis, table tennis, beach volleyball, and badminton. In the hitting-back according to the present embodiment, each position is calculated in a two-dimensional plane. However, in the above-mentioned other ball games, the object moves in a 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 can determine the passing position and hit back at the hitting position by passing through the passing position from the starting position, in the same manner as the hitting-back control device 10 according to the above embodiment, for the target position, predicted position, hitting position, passing position, and starting position in the three-dimensional space.
[0062] In addition, although the switch 60 and the notebook personal computer are exemplified as terminals for controlling the execution of the processing program 11 of the hitting-back control device 10 according to the present embodiment, the present invention is not limited to this. For example, the execution of the processing program 11 can be operated from a desktop personal computer, a tablet terminal, a smartphone, or a smartwatch.
[0063] In addition, in each of the above embodiments, the hitting-back control process executed by the CPU by reading software (program) may be executed by various processors other than the CPU. Examples of the processor in this case include a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and a dedicated electric circuit such as an ASIC (Application Specific Integrated Circuit) having a circuit configuration dedicated to executing specific processing. Further, the hitting-back control process may be executed by one of these various processors, or may be executed by a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs, and a combination of a CPU and an FPGA, etc.). Further, the hardware structure of these various processors is, more specifically, an electric circuit combining circuit elements such as semiconductor elements.
[0064] In addition, in each of the above embodiments, the mode in which the processing program 11 is pre-stored (installed) in the storage device has been described, but the present invention is not limited thereto. 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), and a USB (Universal Serial Bus) memory. Further, the processing program 11 may be in a form downloaded from an external device via a network.
[0065] (Supplementary Note 1) A prediction unit that predicts the predicted position of the object to be moved at each time, a target position that is preset as the position to be reached by hitting back the object with the tip of a robot arm, and a position on a straight line passing through the predicted position and the target position, and a calculation unit that calculates the hitting position of the tip for hitting back the object toward the target position according to each of the predicted positions at each time, and a position on the straight line that is opposite to the predicted position with the hitting position in between, and that is at a first distance from the hitting position, and a determination unit that determines the via position among the via positions set according to each of the hitting positions at each time, such that the second distance between the start position before the operation of the tip and the via position is minimized, and a control unit that controls the position of the tip so as to hit back the object toward the target position by moving the tip from the start position through the via position determined by the determination unit to the hitting position corresponding to the via position determined by the determination unit.
[0066] (Supplementary Note 2) The robot arm includes a plurality of links and joints that join the links, and the control unit controls the position of the tip by controlling the angle of the joint according to the rotation angle of the motor. The hitting control device according to claim 1.
[0067] (Supplementary Note 3) The control unit controls the time to start moving the hand from the start position so that the hand reaches the hitting position at the arrival time, based on the arrival time when the object reaches the predicted position corresponding to the determined passing position, the first distance, the second distance, and the moving speed of the hand according to the rotational speed of the motor. The hitting control device according to claim 2.
[0068] (Supplementary Claim 4) The calculating unit calculates, as the hitting position, a predetermined position of the hand at a position on the straight line that is opposite to the target position with the predicted position in between, where the shape of the object arranged at the predicted position contacts the shape of the hand. The hitting control device according to any one of claims 1 to 3.
[0069] (Supplementary Claim 5) When the shapes of each of the object and the hand are circular, the predicted position is set as the center position of the object, and each of the hitting position, the passing position, and the start position is set as the center position of the hand. The calculating unit calculates, as the hitting position, a position at a third distance that is the sum of the radius of the object and the radius of the hand from the predicted position at a position on the straight line that is opposite to the target position with the predicted position in between. The hitting control device according to claim 4.
[0070] (Supplementary Claim 6) The first distance is dynamically changeable. The hitting control device according to any one of claims 1 to 5.
[0071] (Supplementary Claim 7) The calculating unit sets the first distance according to at least one of the target speed of the hand at the hitting position, the moving speed of the object, and the range within which the hand can move. The hitting control device according to claim 6.
[0072] (Supplementary Claim 8) The motor is a motor whose rotation angle is controlled under a constant rotation speed, and the control unit outputs a command value of the rotation angle to the motor. The return control device according to claim 2 or claim 3.
[0073] (Additional claim 9) The motor is a position control servo motor. The return control device according to claim 8.
[0074] (Additional claim 10) Predict the predicted position of the object to be moved at each time, and a target position that is preset as the position to be reached by hitting back the object with the tip of the robot arm, and a position on the straight line passing through the predicted position and the predicted position. Calculate the hitting position of the tip for hitting back the object toward the target position according to each of the predicted positions at each time, and a position opposite to the predicted position across the hitting position on the straight line and at a first distance from the hitting position. Under the condition that the position is used as the passing position, among the passing positions set according to each of the hitting positions at each time, the second distance between the starting position before the operation of the tip and the passing position is minimized. Determine the passing position, and move the tip from the starting position through the determined passing position to the hitting position corresponding to the determined passing position, so that the object is hit back toward the target position. A return control method in which a computer executes a process of controlling the position of the tip.
[0075] (Additional claim 11) Predict the predicted position of the object to be moved at each time, and calculate the hitting position of the tip of the robot arm that is preset as the target position to which the object is to be returned and hit and reaches, and the position on the straight line passing through the predicted position and the predicted position, and calculate the hitting position of the tip for hitting the object toward the target position according to each of the predicted positions at each time, and on the straight line, at a position opposite to the predicted position with the hitting position in between, and under the condition that a position at a first distance from the hitting position is used as the passing position, among the passing positions set according to each of the hitting positions at each time, determine the passing position at which the second distance between the starting position before the operation of the tip and the passing position is minimized, and move the tip from the starting position through the determined passing position to the hitting position corresponding to the determined passing position, thereby controlling the position of the tip so as to hit the object toward the target position, and cause a computer to execute a hitting control program for performing the process.
[0076] (Appended Claim 12) A hitting control device according to any one of Claims 1 to 9, the robot arm including a plurality of links and joints joining the links, and a motor whose rotation angle is controlled under a constant rotation speed, the motor controlling the angle of the joint of the robot arm, and the control unit controls the angle of the joint of the robot arm by outputting a command value of the rotation angle to the motor to control the rotation angle of the motor, thereby controlling the position of the tip, and a hitting device.
Explanation of Reference Signs
[0077] 10 Hitting 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 Pack 50 Table 51 CPU 52 RAM 53 ROM 54 Communication I / F 55 Memory Medium Reader 56 Bus 60 Switch 70 Camera 80 Mallet (Manual) 100 Rebound Device
Claims
1. A prediction unit that predicts the predicted position of a moving object at each time; A target position that is preset as a position to which the object is to be returned and reached by hitting it with the tip of a robot arm, and a position on a straight line passing through the predicted position and the target position, and the hitting position of the tip for hitting the object toward the target position is calculated according to each of the predicted positions at each time; a calculation unit; Among the via positions set according to each of the hitting positions at each time, under the condition that a position that is opposite to the predicted position across the hitting position on the straight line and is at a first distance from the hitting position is used as the via position, a determination unit that determines the via position at which a second distance between the start position before the operation of the tip and the via position is minimized; A control unit that controls the position of the tip so that the object is hit back toward the target position by moving the tip 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; A hitting control device including the above.
2. The robot arm includes a plurality of links and joints that join between the links, The control unit controls the position of the tip by controlling the angle of the joint according to the rotation angle of the motor. The hitting control device according to Claim 1.
3. The control unit controls the time when the movement of the tip starts from the start position so that the tip reaches the hitting position at the arrival time based on the arrival time when the object reaches the predicted position corresponding to the determined via position, the first distance and the second distance, and the movement speed of the tip corresponding to the rotation speed of the motor. The hitting control device according to Claim 2.
4. The calculating unit calculates, as the hitting position, a predetermined position of the hand at a position on the straight line that is opposite to the target position with the predicted position in between, where the shape of the object disposed at the predicted position is in contact with the shape of the hand. The hitting control device according to claim 1.
5. When the shapes of each of the object and the hand are circular, the predicted position is set as the center position of the object, and each of the hitting position, the passing position, and the starting position is set as the center position of the hand. The calculating unit calculates, as the hitting position, a position on the straight line that is opposite to the target position with the predicted position in between, and is at a third distance that is the sum of the radius of the object and the radius of the hand from the predicted position. The hitting control device according to claim 4.
6. The first distance can be dynamically changed. The hitting control device according to claim 1.
7. The determining unit sets the first distance according to at least one of the target speed of the hand at the hitting position, the moving speed of the object, and the range within which the hand can move. The hitting control device according to claim 6.
8. The motor is a motor whose rotation angle is controlled under a constant rotation speed. The control unit outputs a command value of the rotation angle to the motor. The hitting control device according to claim 2.
9. The motor is a position control servo motor. The hitting control device according to claim 8.
10. Predict the predicted position of the moving object at each time. A target position preset as a position to be reached by hitting back the object with the tip of a robotic arm, and a position on a straight line passing through the predicted position, and calculating the hitting position of the tip for hitting back the object toward the target position according to each of the predicted positions at the respective times, Under the condition that a position on the straight line, which is opposite to the predicted position with the hitting position in between and is at a first distance from the hitting position, is used as a via position, determining, among the via positions set according to each of the hitting positions at the respective times, the via position at which a second distance between the start position before the operation of the tip and the via position is minimized, Controlling the position of the tip so as to hit back the object toward the target position by moving the tip from the start position through the determined via position to the hitting position corresponding to the determined via position, A hitting-back control method executed by a computer.
11. Predicting the predicted position of a moving object at each time, A target position preset as a position to be reached by hitting back the object with the tip of a robotic arm, and a position on a straight line passing through the predicted position, and calculating the hitting position of the tip for hitting back the object toward the target position according to each of the predicted positions at the respective times, Under the condition that a position on the straight line, which is opposite to the predicted position with the hitting position in between and is at a first distance from the hitting position, is used as a via position, determining, among the via positions set according to each of the hitting positions at the respective times, the via position at which a second distance between the start position before the operation of the tip and the via position is minimized, Controlling the position of the tip so as to hit back the object toward the target position by moving the tip from the start position through the determined via position to the hitting position corresponding to the determined via position, A hitting-back control program to be executed by a computer.
12. The bounce-back control device according to claim 1, the robot arm including a plurality of links and joints that join between the links, a motor whose rotation angle is controlled under a constant rotation speed, the motor controlling the angle of a joint of the robot arm, the control unit controls the angle of the joint of the robot arm and controls the position of the hand tip by outputting a command value of the rotation angle to the motor to control the rotation angle of the motor, a bounce-back device.
Citation Information
Patent Citations
Game device and game system
JP2000300823A