Robot control device, robot control method, and robot control program
The robot control device addresses the challenge of fluctuating communication delays by generating and selecting control plans for multiple cycles, ensuring smooth and collision-free robot operation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NEC CORP
- Filing Date
- 2022-02-08
- Publication Date
- 2026-04-28
AI Technical Summary
Existing robot control systems struggle to achieve optimal control when the communication delay time in the network fluctuates, leading to difficulties in smooth motion and increased collision risks due to longer control cycles.
A robot control device that generates and selects control plans for multiple control cycles based on fluctuating communication delay times, using a generation unit, acquisition unit, selection unit, and control unit to adapt to the varying control environment.
The device enables flexible and optimal robot control by generating and selecting control plans that account for communication delays, ensuring smooth motion and reducing collision risks even in fluctuating environments.
Smart Images

Figure 0007852265000001 
Figure 0007852265000002 
Figure 0007852265000003
Abstract
Description
Technical Field
[0001] The present invention relates to a robot control device, a robot control method, and a robot control program.
Background Art
[0002] Robots are used in various places in factories or daily life, and a technology for suitably controlling the operation of robots in order to execute desired operations on the robots is expected.
[0003] In relation to such a technology, Patent Document 1 discloses a robot motion planning optimization method that uses a sophisticated initial reference path to quickly converge to a solution when a large number of iterations are required to reach the final converged solution. In this method, when calculating a new path using motion optimization, a previously calculated candidate reference path having similar start and target points and collision avoidance environment constraints for the new path is selected from a storage device. In this method, the candidate reference path is adjusted in consideration of the differences between the start and target points of the new path compared to the start and target points of the previously calculated path at all state points along its length in order to generate the initial reference path. In this method, the initial reference path adjusted to match the start and target points is used as the start state for motion optimization calculation. And in this method, an initial reference path similar to the finally converged new path is used.
[0004] Furthermore, Patent Document 2 discloses a robot control system comprising a motion control device that has a controller unit for controlling robot control programs and data and causes the robot to perform desired actions, and a motion instruction device that has a storage unit and gives action instructions to the robot. The motion control device in this system includes a program execution unit that detects a predetermined instruction from a control program for controlling the robot and outputs the detected predetermined instruction and data related to robot control to a proxy unit without going through the controller unit. The proxy unit outputs the received predetermined instruction and data related to robot control to a communication unit, or outputs the data related to robot control received from the communication unit to the program execution unit without going through the controller unit. The communication unit then outputs the predetermined instruction and data related to robot control received from the proxy unit to the motion instruction device.
[0005] Furthermore, Patent Document 3 discloses a system for synchronizing control between at least two robot arms. This system includes a robot controller that communicates over a network to transmit synchronization information from a master controller to one or more slave controllers in order to coordinate a manufacturing process. This system takes into account network communication delays when synchronizing event timings for process and motion synchronization. [Prior art documents] [Patent Documents]
[0006] [Patent Document 1] Japanese Patent Publication No. 2021-175590 [Patent Document 2] Japanese Patent Publication No. 2011-083834 [Patent Document 3] Japanese Patent Publication No. 2012-183640 [Overview of the Initiative] [Problems that the invention aims to solve]
[0007] There are algorithms that calculate the optimal movements of a robot according to the tasks it will perform. These algorithms are sometimes called goal-oriented task planning. This algorithm automatically optimizes the order of tasks and the movements (motions) of the robot performing each task, based on the tasks given by the user (for example, moving multiple objects to a target location).
[0008] This algorithm takes the work objective, the robot's equations of motion, and environmental information obtained from a camera as input, and outputs the robot's coordinates at each time interval of the control cycle (for example, the coordinates of the tip of the robot arm in the case of a robot equipped with a robot arm (manipulator)). The server (information processing device) that controls the robot uses this algorithm to calculate the optimal movement of the robot and periodically inputs the result to the robot controller at the control cycle, thereby realizing the robot's movement. In cases where the server cannot be installed near the robot, there is also a configuration in which the server and the robot controller are connected by a communication network to control the robot remotely.
[0009] As mentioned above, if the server that calculates the robot's control plan (and controls the robot) and the robot controller are connected by a communication network, it is necessary to calculate a control plan based on a control cycle that takes into account the communication delay time in the communication network. Furthermore, if the communication delay time of the communication network fluctuates, it is necessary to calculate the robot's control plan assuming the maximum possible communication delay time.
[0010] In robot control planning, the shorter the robot's control cycle, the smoother the robot's trajectory and velocity changes can be. That is, as the control cycle lengthens, the amount of control information for the robot per unit time decreases, making it difficult to control the robot to move smoothly, and the risk of the robot colliding with obstacles increases, thus limiting the robot's range of motion. Therefore, for example, even if the communication delay time in a communication network decreases and it is possible to control the robot to move more smoothly, the robot is controlled assuming the maximum communication delay time, resulting in a problem where optimal robot control cannot be achieved. Patent documents 1 to 3 do not address this problem.
[0011] The main objective of the present invention is to suitably control a robot in accordance with the robot's control environment, when the robot's control cycle depends on the fluctuating robot control environment, such as the communication delay time mentioned above. [Means for solving the problem]
[0012] A robot control device according to one aspect of the present invention comprises: generation means for generating control information for controlling a robot with respect to each of a plurality of control cycles for a robot that is to be controlled; acquisition means for acquiring control environment information having a relationship with the control cycle; selection means for selecting one of the plurality of control information based on the acquired control environment information and the relationship between the control environment information and the control cycle; and control means for controlling the robot using the selected control information.
[0013] In order to achieve the above objective, a robot control method according to one aspect of the present invention involves an information processing device that generates control information for controlling a robot for each of a plurality of control cycles for the robot to be controlled, acquires control environment information relating to the control cycle, selects one of the plurality of control information based on the acquired control environment information and the relationship between the control environment information and the control cycle, and controls the robot using the selected control information.
[0014] Furthermore, in order to achieve the above objectives, a robot control program according to one aspect of the present invention causes a computer to execute the following: generation processing for generating control information for controlling a robot with respect to each of a plurality of control cycles for the robot to be controlled; acquisition processing for acquiring control environment information relating to the control cycle; selection processing for selecting one of the plurality of control information based on the acquired control environment information and the relationship between the control environment information and the control cycle; and control processing for controlling the robot using the selected control information.
[0015] Furthermore, the present invention can also be realized using a computer-readable, non-volatile recording medium on which the robot control program (computer program) is stored. [Effects of the Invention]
[0016] According to the present invention, when the control cycle of a robot depends on a fluctuating control environment for the robot, a robot control device and the like can be obtained that can suitably control the robot according to the control environment for the robot. [Brief explanation of the drawing]
[0017] [Figure 1] This is a block diagram showing the configuration of a robot control device 10 according to the first embodiment of the present invention. [Figure 2] This figure shows a first example of data for the robot control plan 171 according to the first embodiment of the present invention. [Figure 3] FIG. 1 is a diagram illustrating the movable range of the robot 20 when the robot control device 10 according to the first embodiment of the present invention controls the robot 20 using the robot control plan 171 illustrated in FIG. 2. [Figure 4] FIG. 4 is a diagram showing a second example of the data of the robot control plan 171 according to the first embodiment of the present invention. [Figure 5] FIG. 7 is a diagram illustrating the movable range of the robot 20 when the robot control device 10 according to the first embodiment of the present invention controls the robot 20 using the robot control plan 171 illustrated in FIG. 4. [Figure 6] FIG. 10 is a sequence diagram regarding the control of the robot 20 by the robot control device 10 according to the first embodiment of the present invention. [Figure 7] FIG. 13 is a flowchart showing the operation of the robot control device 10 according to the first embodiment of the present invention for generating the robot control plan 171. [Figure 8] FIG. 16 is a flowchart showing the operation of the robot control device 10 according to the first embodiment of the present invention for controlling the robot 20 using the robot control plan 171. [Figure 9] FIG. 19 is a block diagram showing the configuration of the robot control device 50 according to the second embodiment of the present invention. [Figure 10] FIG. 22 is a block diagram showing the configuration of the information processing device 900 capable of realizing the robot control device 10 according to the first embodiment of the present invention or the robot control device 50 according to the second embodiment of the present invention. MODE FOR CARRYING OUT THE INVENTION
[0018] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0019] <First Embodiment> Figure 1 is a block diagram showing the configuration of a robot control system 1 according to a first embodiment of the present invention. The robot control system 1 includes a robot control device 10, a robot 20, a robot controller 21, and a management terminal device 30. The robot control device 10, the robot controller 21, and the management terminal device 30 are connected to each other via a communication network 40. The management terminal device 30 may also be directly connected to the robot control device 10 in a communication manner.
[0020] The communication network 40 is, for example, a communication network such as the Internet. Communication via the communication network 40 usually involves a communication delay. This communication delay varies depending on, for example, the level of congestion on the communication network 40, and generally, the more congested the communication, the longer the communication delay.
[0021] The robot control device 10 is an information processing device such as a server that controls the operation of the robot 20. The information generated by the robot control device 10 for controlling the robot 20 is transmitted to the robot controller 21 via the communication network 40. Based on the information received from the robot control device 10, the robot controller 21 controls the movement of the servo motors (not shown) of the robot 20. The robot controller 21 then transmits the control result (operation result) of the robot 20 to the robot control device 10 via the communication network 40.
[0022] Robot 20 is a robot equipped with a robotic arm, as illustrated in Figure 1, which grasps an object and moves it from one location to another. However, the form of robot 20 is not limited to a form equipped with a robotic arm.
[0023] The management terminal device 30 is, for example, a personal computer or other information processing device used by a user of the robot control device 10 to input information to the robot control device 10 or to check information output from the robot control device 10. The management terminal device 30 is equipped with a display screen 300 that displays information output from the robot control device 10.
[0024] The robot control device 10 includes a generation unit 11, an acquisition unit 12, a selection unit 13, a control unit 14, a control environment prediction unit 15, a required time prediction unit 16, and a storage unit 17. The generation unit 11, acquisition unit 12, selection unit 13, control unit 14, control environment prediction unit 15, and required time prediction unit 16 are examples of generation means, acquisition means, selection means, control means, control environment prediction means, and required time prediction means, respectively.
[0025] The memory unit 17 is a storage device such as a RAM (Random Access Memory) or a hard disk 904, as described later with reference to Figure 10. The memory unit 17 stores robot control plans 171-1 to 171-n (where n is any integer greater than or equal to 2), communication delay time 172, predicted communication delay time 173, control cycle determination criterion 174, selection criterion 175, and time limit 176. In this embodiment, robot control plans 171-1 to 171-n may be collectively referred to as robot control plan 171, or at least one of them may be referred to as robot control plan 171. Robot control plan 171 and communication delay time 172 are examples of control information and control environment information, respectively. Details of this information stored in the memory unit 17 will be described later.
[0026] The generation unit 11 generates robot control plans 171-1 to 171-n, which are control information for controlling the robot 20 to perform a predetermined task for each of a plurality of control cycles for the robot 20. The generation unit 11 can generate robot control plans 171 using an algorithm such as the goal-oriented task planning described above. Since this algorithm is an existing technology, a detailed explanation is omitted in this embodiment. The robot control device 10 may have multiple generation units 11 that generate one robot control plan 171, or it may have one generation unit 11 that can generate multiple robot control plans 171.
[0027] Figure 2 shows a first example of the data for the robot control plan 171 according to this embodiment. In the robot control plan 171 illustrated in Figure 2, the time intervals are 0.1 seconds, so the control period of the robot 20 with respect to the robot control plan 171 illustrated in Figure 2 is 0.1 seconds.
[0028] The robot control plan 171 illustrated in Figure 2 represents the three-dimensional coordinates, X, Y, and Z, of the robot 20's position at each time point. In this embodiment, the position represented by the three-dimensional coordinates will be expressed as (X coordinate value, Y coordinate value, Z coordinate value). In this embodiment, the coordinates illustrated in Figure 2 represent, for example, the position of the tip of the robot arm of the robot 20 (the part that grasps the object being moved).
[0029] According to the robot control plan 171 illustrated in Figure 2, the robot control device 10 controls the robot's tip to move to coordinates (1,5,4), (1,5,6), (1,5,8), and (3,5,8) in order 0.1 seconds, 0.2 seconds, 0.3 seconds, and 0.4 seconds after the robot starts moving.
[0030] Figure 3 illustrates the range of motion of the robot 20 when the robot control device 10 according to this embodiment controls the robot 20 using the robot control plan 171 illustrated in Figure 2. In Figure 3, the gray lines represent walls (obstacles), and the unshaded areas, excluding the shaded areas surrounding the walls, represent the range of motion of the tip of the robot 20.
[0031] Figure 4 shows a second example of the data for the robot control plan 171 according to this embodiment. In the robot control plan 171 illustrated in Figure 4, the time intervals are 1 second, so the control period of the robot 20 with respect to the robot control plan 171 illustrated in Figure 4 is 1 second.
[0032] According to the robot control plan 171 illustrated in Figure 4, the robot control device 10 controls the robot's tip to move to coordinates (1,5,4), (3,5,8), (7,5,9), and (9,2,1) in order 1 second, 2 seconds, 3 seconds, and 4 seconds after the robot starts moving. In the example shown in Figure 4, the control cycle of the robot 20 is longer than in the example shown in Figure 2, so the amount of movement of the robot 20 per control cycle in the example shown in Figure 4 is larger than in the example shown in Figure 2.
[0033] Figure 5 illustrates the range of motion of the robot 20 when the robot control device 10 according to the embodiment controls the robot 20 using the robot control plan 171 illustrated in Figure 4. In the example shown in Figure 5, the robot control device 10 cannot control the robot 20 to move smoothly as in the example shown in Figure 3. Therefore, in order to prevent the robot 20 from colliding with the wall, the range of motion of the robot 20 in the example shown in Figure 5 is narrower than in the example shown in Figure 3.
[0034] The value of the control cycle of the robot 20 and the number of robot control plans 171 to be generated (i.e., the value of n mentioned above), which are necessary for the generation of the robot control plan 171 by the generation unit 11, are provided, for example, through an input operation by the user to the management terminal device 30. In this case, the user only needs to provide the value of the control cycle of the robot 20 and the number of robot control plans 171 to be generated based on the assumed communication delay time 172 in the communication network 40 and its fluctuation amount regarding communication between the robot control device 10 and the robot controller 21.
[0035] Alternatively, the control cycle value of the robot 20 and the number of robot control plans 171 to be generated, which are necessary for the generation of the robot control plan 171 by the generation unit 11, may be values calculated by the robot control device 10. In this case, the control environment prediction unit 15 shown in Figure 1 predicts the communication delay time in the communication network 40 and stores the predicted communication delay time value 173, which is the result of the prediction, in the storage unit 17. The control environment prediction unit 15 can, for example, obtain the communication delay time value 173 from the actual communication delay time in the communication network 40 that has occurred in the past. Since the communication delay time depends on the congestion status of communication in the communication network 40, the control environment prediction unit 15 may, for example, obtain the communication delay time value 173 based on the actual communication delay time for each time period in the communication network 40. The control environment prediction unit 15 may be provided in an external device that is communicably connected to the communication network 40.
[0036] The generation unit 11 determines a predetermined number (n) of control cycles based on the communication delay time prediction value 173 obtained by the control environment prediction unit 15 and the control cycle determination criterion 174 stored in the storage unit 17. The control cycle determination criterion 174 is a criterion that represents the relationship between the communication delay time prediction value 173, the control cycle value of the robot 20, and the number of robot control plans 171 generated by the generation unit 11, and is provided, for example, by the user.
[0037] Figure 6 is a sequence diagram relating to the control of the robot 20 by the robot control device 10 according to this embodiment. The robot control device 10 transmits control commands to control the operation of the robot 20 to the robot controller 21 via the communication network 40 for each control cycle. The robot controller 21 controls the robot 20 to execute the control commands received from the robot control device 10. The robot 20 performs the operation indicated by the control command, and the robot controller 21 transmits the execution result of the control command, including information representing the position of the robot 20 after performing the operation indicated by the control command, to the robot control device 10 via the communication network 40. After receiving the execution result of the control command from the robot controller 21, the robot control device 10 transmits the next control command for the next control cycle to the robot controller 21.
[0038] According to the sequence diagram illustrated in Figure 6, the control cycle of the robot 20 must be longer than the sum of the round-trip communication delay time between the robot control device 10 and the robot controller 21, and the execution time of the control command by the robot 20. However, in the sequence diagram illustrated in Figure 6, the communication delay time between the robot controller 21 and the robot 20 can be ignored.
[0039] The control cycle determination criterion 174 described above represents the relationship between the control cycle of the robot 20 shown in Figure 6 and the communication delay time in the communication network 40. For example, consider the case where the control cycle determination criterion 174 indicates that control cycles of ±0.01 seconds and ±0.02 seconds, centered on the control cycle obtained from the predicted communication delay time value 173 obtained by the control environment prediction unit 15 based on the relationship exemplified in Figure 6, will also be used to generate the robot control plan 171. In this case, if the control cycle obtained from the predicted communication delay time value 173 obtained by the control environment prediction unit 15 is, for example, 0.1 seconds, the generation unit 11 will generate robot control plans 171-1 to 171-5 (i.e., n=5) for control cycles of 0.08 seconds, 0.09 seconds, 0.1 seconds, 0.11 seconds, and 0.12 seconds, respectively.
[0040] The generation unit 11 stores the robot control plans 171-1 to 171-n generated as described above in the storage unit 17, in association with the communication delay time.
[0041] The acquisition unit 12 shown in Figure 1 acquires the communication delay time 172 in the communication network 40 related to communication between the robot control device 10 and the robot controller 21. The acquisition unit 12 acquires the communication delay time 172 input by the user via, for example, the management terminal device 30. Alternatively, the acquisition unit 12 may acquire the communication delay time 172 measured by an external measuring instrument (not shown). Furthermore, the acquisition unit 12 may acquire the communication delay time 172 before the robot control device 10 starts controlling the robot 20, or it may acquire it at any time while the robot control device 10 is controlling the robot 20.
[0042] The selection unit 13 selects one of the robot control plans 171-1 to 171-n based on the communication delay time 172 acquired by the acquisition unit 12 and the selection criterion 175. However, the selection criterion 175 is a criterion that represents the relationship between the communication delay time 172 and the control cycle of the robot 20.
[0043] Selection criterion 175, as described above with reference to Figure 6, represents selecting a robot control plan 171 for a control cycle that satisfies the requirement that the round-trip communication delay time 172 between the robot control device 10 and the robot controller 21 is longer than the sum of the time required for the robot 20 to operate in one control cycle. Furthermore, selection criterion 175 represents selecting the robot control plan 171 that satisfies the aforementioned requirements and has the shortest time required for the robot 20 to complete the predetermined work (task) indicated by the robot control plan 171.
[0044] The time required prediction unit 16 predicts the time required for the robot 20 to complete the predetermined task described above, based on the use of each robot control plan 171. The time required prediction unit 16 can predict the time required from the control cycle value and the number of control commands given to the robot 20 (i.e., the number of lines in the robot control plan 171 as exemplified in Figure 2 or Figure 4) in the robot control plan 171 exemplified in Figure 2 or Figure 4.
[0045] The selection criterion 175 may also indicate that, if the time limit 176 (threshold) for the robot 20 to complete a predetermined task as indicated by the robot control plan 171 is stored in the memory unit 17, then the robot control plan 171 with the longest control cycle will be selected from among the robot control plans 171 that satisfy the condition that the required time is less than or equal to the time limit 176. In this case, the selection criterion 175 is based on the idea that as long as the required time is less than or equal to the time limit 176, the length of the required time is not a concern, and the longer the control cycle, the less communication is required between the robot control device 10 and the robot controller 21. The time limit 176 is provided, for example, through an input operation by the user to the management terminal device 30.
[0046] The selection unit 13 may also display identification information that allows for the identification of the selected robot control plan 171 on, for example, a display device (not shown) provided by the robot 20, or the display screen 300 of the management terminal device 30. The display device provided by the robot 20 may be, for example, a device capable of displaying characters, or a plurality of light bulbs capable of representing identification information by lighting patterns.
[0047] The selection unit 13 may also output a log containing the communication delay time 172 acquired by the acquisition unit 12 and identification information that can identify the selected robot control plan 171 to the storage unit 17 or the management terminal device 30, etc. The log may also include information representing the main body of the selected robot control plan 171 and the time during which control of the robot 20 was performed.
[0048] The control unit 14 controls the robot 20 using the robot control plan 171 selected by the selection unit 13. For example, suppose the data for the robot control plan 171 selected by the selection unit 13 is as illustrated in Figure 2, and the robot controller 21 has provided to the robot control device 10 that the coordinates of the tip of the robot 20 when control of the robot 20 starts are (1,4,4). In this case, the control unit 14 sends a control command to the robot controller 21 0.1 seconds after the start of control to move the tip of the robot 20 by 1 unit in the positive Y-axis direction, based on the difference between the coordinates (1,5,4) after 0.1 seconds and the coordinates (1,4,4) at the start of control. Similarly, the control unit 14 sends a control command to the robot controller 21 0.2 seconds after the start of control to move the tip of the robot 20 by 2 units in the positive Z-axis direction, based on the difference between the coordinates (1,5,6) after 0.2 seconds and the coordinates (1,5,4) after 0.1 seconds. The control unit 14 similarly sends a control command to the robot controller 21 at each control cycle, starting 0.3 seconds after the start of control, to move the tip of the robot 20 to the position indicated by the robot control plan 171.
[0049] The robot controller 21 controls the robot 20 so that its tip moves to the position indicated by the control command received from the control unit 14.
[0050] Furthermore, the acquisition unit 12 described above may acquire the communication delay time 172 at any time while the control unit 14 is controlling the robot 20, and the selection unit 13 may select one of the robot control plans 171 according to the communication delay time 172 acquired at any time by the acquisition unit 12. In this case, if the robot control plan 171 currently in use is different from the robot control plan 171 newly selected by the selection unit 13, the control unit 14 will temporarily suspend control of the robot 20 and then resume control of the robot 20 using the communication delay time 172 newly selected by the selection unit 13.
[0051] The robot control plan 171 represents a set of control commands, each of which is related to a specific state of the robot 20 (e.g., the position of the robot 20), and is executed by the control unit 14. In the above case, the control unit 14 resumes control of the robot 20 by executing the control command that has the highest correlation with the stopped state of the robot 20 (e.g., the position of the robot 20). More specifically, suppose the control of the robot 20 is temporarily suspended when the tip of the robot 20 is near coordinates (3, 5, 8). Suppose the robot control plan 171 newly selected by the selection unit 13 is the robot control plan 171 exemplified in Figure 2. In this case, the control unit 14 resumes control of the robot 20 from the control command 0.4 seconds later in the robot control plan exemplified in Figure 2, which moves the robot 20 to coordinates (3, 5, 8).
[0052] Next, referring to the flowchart in Figure 7, the operation (processing) by which the robot control device 10 according to this embodiment generates the robot control plan 171 will be described in detail.
[0053] The control environment prediction unit 15 predicts the communication delay time in the communication network 40 with respect to communication between the robot control device 10 and the robot controller 21 (step S101). The generation unit 11 determines a predetermined number (n) of control cycles based on the predicted communication delay time value 173 and the control cycle determination criterion 174 (step S102). The generation unit 11 generates robot control plans 171-1 to 171-n for the determined n control cycles (step S103), and the entire process is completed.
[0054] Next, referring to the flowchart in Figure 8, the operation (process) by which the robot control device 10 in this embodiment controls the robot 20 using the robot control plan 171 will be described in detail.
[0055] The acquisition unit 12 acquires the communication delay time 172 in the communication network 40 for communication between the robot control device 10 and the robot controller 21 (step S201). The selection unit 13 determines a robot control plan 171 for a control cycle that is greater than the sum of the round-trip acquired communication delay time 172 and the robot operation time in one control cycle as a candidate for selection of the robot control plan 171 (step S202).
[0056] The time prediction unit 16 predicts the time required for each of the candidate robot control plans 171 until the robot 20 completes a predetermined task (step S203). The selection unit 13 selects from the candidate robot control plans 171 that meet the selection criteria 175 based on the predicted time required, and uses that plan as the robot control plan 171 to control the robot 20 (step S204). The control unit 14 controls the robot 20 using the selected robot control plan 171 (step S205), and the entire process is completed.
[0057] The robot control device 10 according to this embodiment can suitably control the robot 20 in accordance with the control environment of the robot 20 when the control cycle of the robot 20 depends on the fluctuating control environment of the robot 20. This is because the robot control device 10 generates robot control plans 171 for each of a plurality of control cycles and controls the robot 20 using the robot control plan 171 selected according to the communication delay time 172 in the acquired communication network 40.
[0058] The effects realized by the robot control device 10 according to this embodiment will be described in detail below.
[0059] When a server that calculates (controls) a robot's control plan and a robot controller are connected by a communication network, it is necessary to calculate a control plan based on a control cycle that takes into account the communication delay time in the communication network. Furthermore, if the communication delay time of the communication network fluctuates, it is necessary to calculate the robot's control plan assuming the maximum communication delay time. A robot's control plan allows for smoother trajectories and speed changes as the robot's control cycle shortens. Conversely, as the control cycle lengthens, the amount of control information per unit time decreases, making it impossible to control the robot smoothly. Therefore, for example, even if the communication delay time in the communication network decreases due to fluctuations in the communication delay time, and it would be possible to control the robot more smoothly, the robot is controlled assuming the maximum communication delay time, resulting in a problem where optimal robot control cannot be achieved.
[0060] To address these problems, the robot control device 10 according to this embodiment comprises a generation unit 11, an acquisition unit 12, a selection unit 13, and a control unit 14, and operates as described above, for example with reference to Figures 1 to 8. Specifically, the generation unit 11 generates robot control plans 171-1 to 171-n (an example of control information) for controlling the robot 20 for each of a plurality of control cycles for the robot 20 that is the target of control. The acquisition unit 12 acquires a robot control plan 171 that has a relationship with the control cycle. The selection unit 13 selects one of the plurality of robot control plans 171-1 to 171-n based on the acquired robot control plan 171 and the relationship between the robot control plan 171 and the control cycle. The control unit 14 then controls the robot 20 using the selected robot control plan 171. As a result, the robot control device 10 can suitably control the robot 20 according to the control environment of the robot 20 when the control cycle of the robot 20 depends on the fluctuating control environment of the robot 20.
[0061] Furthermore, the robot control device 10 according to this embodiment acquires the communication delay time 172 at any time while controlling the robot 20, and selects one of the multiple robot control plans 171-1 to 171-n at any time according to the acquired communication delay time 172. If the robot control device 10 finds that the robot control plan 171 currently in use is different from the newly selected robot control plan 171, it temporarily stops controlling the robot 20 and then resumes controlling the robot 20 using the newly selected robot control plan 171. At this time, the robot control device 10 resumes controlling the robot 20 by executing the control command included in the newly selected robot control plan 171 that has the highest relevance to the state of the stopped robot 20 (for example, the position of the robot 20). As a result, even in environments where the communication delay time 172 fluctuates frequently, the robot control device 10 can flexibly respond to such fluctuations and maintain optimal control of the robot 20.
[0062] Furthermore, the robot control device 10 according to this embodiment predicts the communication delay time 172, determines a predetermined number of control cycles based on the predicted communication delay time value 173 and the control cycle determination criterion 174, and generates a robot control plan 171 for each of the determined control cycles. This enables the robot control device 10 to efficiently generate multiple robot control plans 171.
[0063] Furthermore, the robot control device 10 according to this embodiment predicts the time required for the robot 20 to complete a predetermined task, considering the case where each robot control plan 171 is used, and selects the robot control plan 171 that has the shortest required time. As a result, the robot control device 10 can complete the predetermined task by the robot 20 in a short amount of time.
[0064] Furthermore, the robot control device 10 according to this embodiment selects the robot control plan 171 with the longest control cycle among the robot control plans 171 that satisfy the condition that the predicted required time is less than or equal to the time limit 176 (threshold). As a result, the robot control device 10 does not need to have the shortest required time, but under the condition that it is within the time limit 176, the amount of communication between the robot control device 10 and the robot controller 21 can be reduced as much as possible.
[0065] Furthermore, the robot control device 10 according to this embodiment displays identification information on a display device that allows identification of the selected robot control plan 171. This allows the user of the robot control device 10 to easily understand which of the multiple robot control plans 171 is controlling the robot 20 in operation.
[0066] Furthermore, the robot control device 10 according to this embodiment outputs a log that includes the acquired communication delay time 172 and identification information that can identify the selected robot control plan 171. This makes it easier for the user to perform future analysis work, for example, to improve the robot control plan 171 generation algorithm.
[0067] Furthermore, while the robot control device 10 according to this embodiment uses a communication delay time 172 as control environment information that has a relationship with the control cycle of the robot 20, the robot control device 10 may use information different from the communication delay time 172 as the control environment information. For example, in an environment where the arrangement of obstacles near the robot 20 changes, there is a relationship between the arrangement of obstacles and the control cycle. More specifically, for example, when there are almost no obstacles near the robot 20, the robot control device 10 may control the robot 20 so that the movement in one control cycle is large with a long control cycle. On the other hand, when there are many obstacles near the robot 20, the robot control device 10 needs to control the robot 20 so that it moves smoothly with a short control cycle so that the robot 20 does not collide with the obstacles. That is, in this case, the robot control device 10 may use the arrangement of obstacles near the robot 20 as the control environment information.
[0068] <Second Embodiment> Figure 9 is a block diagram showing the configuration of a robot control device 50 according to a second embodiment of the present invention. The robot control device 50 includes a generation unit 51, an acquisition unit 52, a selection unit 53, and a control unit 54. However, the generation unit 51, acquisition unit 52, selection unit 53, and control unit 54 are examples of generation means, acquisition means, selection means, and control means, respectively.
[0069] The generation unit 51 generates control information 510-1 to 510-n (where n is any integer greater than or equal to 2) for controlling the robot 60, for each of a plurality of control cycles for the robot 60 that is the object of control. The robot 60 is, for example, a robot similar to the robot 20 in the first embodiment. The control information 510-1 to 510-n is, for example, information similar to the robot control plans 171-1 to 171-n in the first embodiment. The generation unit 51 operates, for example, in the same way as the generation unit 11 in the first embodiment.
[0070] The acquisition unit 52 acquires control environment information 520 that is related to the control cycle. The control environment information 520 is, for example, similar to the communication delay time 172 in the first embodiment. The acquisition unit 52 operates, for example, similarly to the acquisition unit 12 in the first embodiment.
[0071] The selection unit 53 selects one of a plurality of control information 510-1 to 510-n based on the acquired control environment information 520 and the relationship 530 between the control environment information and the control cycle. The relationship 530 between the control environment information and the control cycle is, for example, information similar to the selection criterion 175 in the first embodiment. The selection unit 53 operates, for example, similarly to the selection unit 13 in the first embodiment.
[0072] The control unit 14 controls the robot 60 using the selected control information 510-i (where i is an integer from 1 to n). The control unit 54 operates, for example, in the same manner as the control unit 14 according to the first embodiment.
[0073] The robot control device 50 according to this embodiment can suitably control the robot 60 in accordance with the control environment of the robot 60 when the control cycle of the robot 60 depends on the fluctuating control environment of the robot. This is because the robot control device 50 generates control information 510-1 to 510-n for each of the multiple control cycles and controls the robot 60 using the control information 510-i selected according to the acquired control environment information 520.
[0074] <Example Hardware Configuration> In each of the embodiments described above, the robot control device 10 shown in Figure 1, or the robot control device 50 shown in Figure 9, can be realized by dedicated hardware (electronic circuits). Furthermore, in Figures 1 and 9, at least the following configurations can be considered as functional (processing) units (software modules) of a software program. • Generation units 11 and 51, • Acquisition units 12 and 52, • Selection sections 13 and 53, • Control units 14 and 54, • Control environment prediction unit 15, • Time prediction unit 16 • Memory control function in memory unit 17.
[0075] However, the divisions of the parts shown in these drawings are for illustrative purposes only, and various configurations are possible during implementation. An example of such a hardware environment will be explained with reference to Figure 10.
[0076] Figure 10 is a diagram illustrating an example of the configuration of an information processing device 900 (computer) capable of realizing the robot control device 10 according to the first embodiment of the present invention or the robot control device 50 according to the second embodiment. That is, Figure 10 is a configuration of a computer (information processing device) capable of realizing the robot control devices 10 and 50 shown in Figures 1 and 9, and represents a hardware environment capable of realizing each of the functions in the embodiments described above.
[0077] The information processing device 900 shown in Figure 10 includes the following components, although it may not include some of these components. ·CPU(Central_Processing_Unit)901, ROM (Read-Only Memory) 902, ·RAM(Random_Access_Memory)903, • Hard disk (storage device) 904, • Communication interface 905 with external devices, Bus 906 (communication line), A reader / writer 908 capable of reading and writing data stored on a recording medium 907 such as a CD-ROM (Compact Disc Read Only Memory). • Input / output interface 909 for monitors, speakers, keyboards, etc.
[0078] In other words, the information processing device 900 having the above components is a general-purpose computer in which these components are connected via a bus 906. The information processing device 900 may have multiple CPUs 901, or it may have a CPU 901 configured with multiple cores. In addition to the CPU 901, the information processing device 900 may also have a GPU (Graphical Processing Unit) (not shown).
[0079] The present invention, as described using the above-described embodiment as an example, supplies a computer program capable of realizing the following functions to the information processing device 900 shown in Figure 10. These functions are those of the configuration described above in the block diagrams (Figures 1 and 9) referenced in the description of the embodiment, or the functions of the flowcharts (Figures 7 and 8). The present invention is then achieved by reading, interpreting, and executing the computer program into the CPU 901 of the hardware. The computer program supplied to the device may be stored in a read / write volatile memory (RAM 903) or a non-volatile storage device such as a ROM 902 or a hard disk 904.
[0080] Furthermore, in the aforementioned case, the method for supplying the computer program to the hardware can employ currently common procedures. These procedures include, for example, installing the program into the device via various recording media 907 such as a CD-ROM, or downloading it from an external source via a communication line such as the Internet. In such a case, the present invention can be understood as consisting of the code constituting the computer program or the recording media 907 on which the code is stored.
[0081] The present invention has been described above using the embodiments described above as exemplary examples. However, the present invention is not limited to the embodiments described above. That is, the present invention can be applied in various forms that can be understood by those skilled in the art within the scope of the present invention.
[0082] Furthermore, some or all of the embodiments described above may also be described as follows. However, the present invention, as illustrated by the embodiments described above, is not limited to the following.
[0083] (Note 1) A generation means for generating control information for controlling the robot, with respect to each of multiple control cycles for the robot that is the object of control, An acquisition means for acquiring control environment information that has a relationship with the aforementioned control cycle, A selection means for selecting one of a plurality of control information based on the acquired control environment information and the relationship between the control environment information and the control cycle, A control means for controlling the robot using the selected control information, A robot control device equipped with the following features.
[0084] (Note 2) The aforementioned control environment information represents the communication delay time between the robot and the robot. The robot control device described in Appendix 1.
[0085] (Note 3) The selection means selects the control information such that the control cycle is longer than the sum of the round-trip communication delay time between the robot and the robot and the robot and the robot and the time required for the robot's operation in one of the control cycles. The robot control device described in Appendix 2.
[0086] (Note 4) The acquisition means acquires the control environment information as needed while the robot is being controlled by the control means. The selection means selects one of the plurality of control information at any time, If the control means detects that the control information currently in use is different from the control information newly selected by the selection means, it temporarily suspends control of the robot and then resumes control of the robot using the control information newly selected by the selection means. A robot control device as described in any one of the items in Appendix 1 to Appendix 3.
[0087] (Note 5) The control information represents a plurality of control commands that are executed by the control means and have relationships with each of the plurality of states of the robot. The control means resumes control of the robot by executing the control command that is most relevant to the stopped state of the robot. The robot control device described in Appendix 4.
[0088] (Note 6) The system further includes a control environment prediction means for predicting the value represented by the aforementioned control environment information, The generation means determines a predetermined number of control cycles based on the value predicted by the control environment prediction means and a predetermined standard, and generates the control information for each of the determined control cycles. A robot control device as described in any one of the items in Appendix 1 to Appendix 5.
[0089] (Note 7) The system further includes a time prediction means for predicting the time required for the robot to complete a predetermined task, using the individual control information. The selection means selects the control information that has the shortest required time. A robot control device as described in any one of the items in Appendix 1 to Appendix 6.
[0090] (Note 8) The system further includes a time prediction means for predicting the time required for the robot to complete a predetermined task, using the individual control information. The selection means selects the control information with the longest control cycle from among the control information that satisfies the requirement time being less than or equal to a threshold. A robot control device as described in any one of the items in Appendix 1 to Appendix 6.
[0091] (Note 9) The selection means displays identification information on a display device that can identify the selected control information. A robot control device as described in any one of the items in Appendix 1 to Appendix 8.
[0092] (Note 10) The selection means outputs a log that includes the control environment information acquired by the acquisition means and identification information that can identify the selected control information. A robot control device as described in any one of the items in Appendix 1 to Appendix 9.
[0093] (Note 11) By an information processing device, For each of the multiple control cycles for the robot that is the target of control, control information for controlling the robot is generated. A control environment information having a relationship with the aforementioned control cycle is acquired, Based on the acquired control environment information and the relationship between the control environment information and the control cycle, one of the plurality of control information is selected. The robot is controlled using the selected control information. Robot control methods.
[0094] (Note 12) A generation process that generates control information for controlling the robot for each of multiple control cycles for the robot that is the object of control, An acquisition process for acquiring control environment information that has a relationship with the aforementioned control cycle, A selection process to select one of a plurality of control information based on the acquired control environment information and the relationship between the control environment information and the control cycle, A control process that controls the robot using the selected control information, A robot control program that instructs a computer to execute. [Explanation of Symbols]
[0095] 1. Robot control system 10 Robot control device 11 Generation part 12 Acquisition Department 13 Selection Section 14 Control Unit 15 Control Environment Prediction Unit 16. Time Prediction Section 17 Memory section 171-1 to 171-n Robot Control Plan 172 Communication delay time 173 Predicted communication delay time 174 Control Period Determination Criteria 175 Selection Criteria 176 Time limit 20 Robots 21 Robot Controller 30 Management terminal device 300 display screen 40 Communication Networks 50 Robot control devices 51 Generation part 510-1 to 510-n Control Information 52 Acquisition Department 520 Control Environment Information 53 Selection Section 530 Relationship between control environment information and control cycle 54 Control Unit 60 robots 900 Information Processing Equipment 901 CPU 902 ROM 903 RAM 904 Hard disk (storage device) 905 Communication Interface 906 Bus 907 Recording media 908 Reader / Writer 909 Input / Output Interface
Claims
1. A generation means for generating control information for controlling the robot, with respect to each of multiple control cycles for the robot that is the object of control, An acquisition means for acquiring control environment information representing the communication delay time between a robot control device and a robot controller that controls the robot based on the control information, A selection means for selecting control information that satisfies the condition that the control cycle is longer than the sum of the round-trip communication delay time between the robot control device and the robot controller and the time required for the robot's operation in one control cycle, A control means for controlling the robot via the robot controller using the selected control information, A robot control device equipped with the following features.
2. The acquisition means acquires the control environment information as needed while the robot is being controlled by the control means. The selection means selects one of the plurality of control information at any time, If the control means detects that the control information currently in use is different from the control information newly selected by the selection means, it temporarily suspends control of the robot and then resumes control of the robot using the control information newly selected by the selection means. The robot control device according to claim 1.
3. The system further includes a control environment prediction means for predicting the value represented by the aforementioned control environment information, The generation means determines a predetermined number of control cycles based on the value predicted by the control environment prediction means and a predetermined standard, and generates the control information for each of the determined control cycles. A robot control device according to claim 1 or claim 2.
4. The system further includes a time prediction means for predicting the time required for the robot to complete a predetermined task, using the individual control information. The selection means selects the control information that has the shortest required time. A robot control device according to any one of claims 1 to 3.
5. The system further includes a time prediction means for predicting the time required for the robot to complete a predetermined task, using the individual control information. The selection means selects the control information with the longest control cycle from among the control information that satisfies the requirement time being less than or equal to a threshold. A robot control device according to any one of claims 1 to 3.
6. The selection means displays identification information on a display device that can identify the selected control information. A robot control device according to any one of claims 1 to 5.
7. The selection means outputs a log including the control environment information acquired by the acquisition means and identification information that can identify the selected control information. A robot control device according to any one of claims 1 to 6.
8. By an information processing device, For each of the multiple control cycles for the robot that is the target of control, control information for controlling the robot is generated. The system acquires control environment information representing the communication delay time between the information processing device and the robot controller that controls the robot based on the control information. Select the control information such that the control cycle is longer than the sum of the round-trip communication delay time between the information processing device and the robot controller and the time required for the robot's operation in one control cycle. The robot is controlled via the robot controller using the selected control information. Robot control methods.
9. A generation process that generates control information for controlling the robot for each of multiple control cycles for the robot that is the object of control, An acquisition process for acquiring control environment information representing the communication delay time between a computer and a robot controller that controls the robot based on the control information, A selection process for selecting control information that satisfies the condition that the control cycle is longer than the sum of the round-trip communication delay time between the computer and the robot controller and the time required for the robot's operation in one control cycle, A control process that controls the robot via the robot controller using the selected control information, A robot control program that instructs a computer to execute.
Citation Information
Patent Citations
Robot control system, and robot control method
JP2011083834A
Synchronization system for at least two robot arms and method for controlling the same
JP2012183640A
Robot optimization operation planning initial stage reference generation
JP2021175590A
Simulation device, control system, simulation method, and program
WO2021261018A1