Control System and Control Method
The control system addresses the challenge of efficiently controlling multiple robots in unmaintained environments by calculating control parameters and generating processes that account for operation constraints, ensuring safe and efficient task execution.
Patent Information
- Application Number
- JP2022038837
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-14
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2042-03-14
AI Technical Summary
In unmaintained environments, controlling multiple robots to perform tasks efficiently is challenging due to operation constraints such as vibration and noise, which can affect the execution of tasks requiring motion constraints.
A control system that calculates control parameters for multiple robots operating in the same environment, generates processes to restrict tasks of other robots when execution times overlap, and adjusts control parameters to minimize the influence of operation constraints on task execution.
Enables efficient process planning and execution in unmaintained environments by considering operation constraints, ensuring that tasks requiring motion constraints can be executed safely and efficiently without conflicting with other tasks.
Smart Images

Figure 0007699076000001 
Figure 0007699076000002 
Figure 0007699076000003
Abstract
Description
Technical Field
[0001] The present invention relates to a control system and a control method for a plurality of robots to perform various tasks in an unmaintained environment.
Background Art
[0002] In recent years, issues such as a labor shortage due to the declining birthrate and aging population, and work in dangerous areas due to natural disasters have become social problems. To address these issues, it is expected to be utilized in environments other than spaces such as factories that are easy to control and maintain robots (unmaintained environments). In order to efficiently perform various tasks in an unmaintained environment, it is necessary to simultaneously control a plurality of robots with different performances.
[0003] In Patent Document 1, regarding a plurality of robots that share and execute a plurality of tasks, it is an issue that the process becomes inefficient due to fluctuations in the execution time of the tasks, and from the candidates for the tasks that the robot can execute next, a task with the minimum waiting time until execution is executed. A planning device is proposed.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the process executed in a maintained environment, as constraints between tasks, constraints regarding the order of work, and constraints for avoiding competition of work positions and tools are given. On the other hand, in the process executed in an unmaintained environment, these constraints alone are insufficient, and it is necessary to consider constraints (operation constraints) on other tasks due to physical phenomena such as vibration and noise accompanying the execution of tasks.
[0006] For example, for multiple robots operating on unstable ground, the vibration of the ground caused by a robot performing a task involving high-speed movement may have an adverse effect on another robot performing a task such as bolt insertion that requires positioning accuracy, and there is a risk that the latter task may fail. In such a case, by changing the control parameters of the former task, it may be possible to execute the latter task.
[0007] Therefore, in order to perform safe and efficient processes in a non-maintained environment, it is necessary to consider operation constraints, but operation constraints are not assumed in Patent Document 1.
[0008] From the above, in the present invention, Execute tasks that require motion constraints in the tasks of multiple robots and tasks that require motion constraints, An object is to provide a control system and a control method capable of planning an efficient process in consideration of the influence of operation constraints and executing control that is not inconsistent with the planned process.
Means for Solving the Problem
[0009] From the above, in the present invention, "a control system for controlling each of a plurality of robots operating in the same working environment, comprising a control parameter calculation unit that calculates control parameters for the plurality of robots, an optimization unit that generates processes for the plurality of robots based on the control parameters, a task module selection unit that selects task modules for each of the plurality of robots based on the processes, and a control unit that controls the plurality of robots based on the task modules, wherein the optimization unit restricts the tasks of other robots when the execution times of tasks in an influence relationship overlap" of the tasks is provided. and generate the process of the tasks of the multiple robots so as to execute tasks that require motion constraints of one robot and tasks that require motion constraints of the other robot
[0010] of the tasks Also, in the present invention, "each of a plurality of robots operating in the same working environment" of the tasksA control system for controlling each of a plurality of robots, comprising: a control parameter calculation unit that calculates control parameters for the plurality of robots; an optimization unit that generates processes for the plurality of robots based on the control parameters; a task module selection unit that selects a task module for each of the plurality of robots based on the processes; and a control unit that controls the plurality of robots based on the task modules, wherein when the execution times of tasks in an influence relationship overlap, the control parameter calculation unit calculates control parameters by imposing an operation constraint on the operation of the other robot in order to reduce the influence on the task execution of one robot, and when the execution times of tasks in the influence relationship overlap, the optimization unit Execute tasks that require motion constraints of one robot and tasks that require motion constraints of the other robot, calculates the time required for the other robot to execute a task based on the control parameters for the other robot, and generates processes for the plurality of robots based on the calculation result. The control system is characterized by this.
[0011] Also, in the present invention, "a control method for controlling each of a plurality of robots operating in the same working environment, of the tasks comprising: calculating control parameters for the plurality of robots; generating processes for the plurality of robots based on the control parameters; selecting a task module for each of the plurality of robots based on the processes; controlling the plurality of robots based on the task modules; and when the execution times of tasks in an influence relationship overlap, restricting the tasks of the other robot and generate the process of the tasks of the multiple robots so as to execute tasks that require motion constraints of one robot and tasks that require motion constraints of the other robot The control method is characterized by this.
Effects of the Invention
[0012] According to the present invention, Execute tasks that require motion constraints in the tasks of multiple robots and tasks that require motion constraints, it is possible to plan an efficient process in consideration of the influence due to operation constraints, and to execute control that is not contradictory to the planned process.
Brief Description of the Drawings
[0013]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Modes for Carrying Out the Invention
[0014] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment
[0015] The present invention is a control system for planning and controlling a process in which a plurality of robots execute a plurality of tasks in a non-maintained environment. In the description thereof, it is assumed that a plurality of robots execute a plurality of tasks in the non-maintained environment shown in FIG. 1.
[0016] In the working environment (non-maintained environment) shown in FIG. 1, robots R1 and R2 perform work on the wall 6 on an unstable working floor 4 suspended by a rope 5. Here, although it is assumed that the working floor 4 is suspended by the rope 5, it may be considered to be replaced with another situation where work is performed on unstable ground such as an elastic floor like grating. The situation shown in FIG. 1 corresponds to, for example, a construction site, maintenance inspection of a structure, etc.
[0017] FIG. 2 is a diagram showing a configuration example of a control system according to Embodiment 1 of the present invention. The control system 10 is composed of a storage unit 11, a plan generation unit 12, and robots R1 and R2. This control system 10 is configured using two sets of upper and lower computer devices, and the operation commands obtained by the upper computer device by the plan generation unit 12 are given to the robots R1 and R2, which are lower computer devices, via communication. The robots R1 and R2 execute operations according to the operation commands, and various information measured on the robot side is appropriately transmitted to the plan generation unit 12 and reflected in the creation of subsequent operation commands.
[0018] Among these, although the details will be described later, the plan generation unit 12 includes a control parameter calculation unit 16 that calculates control parameters for each of the plurality of robots R, an execution time calculation unit 17 that obtains the execution time of tasks for each of the plurality of robots R, and an optimization unit 12 that generates processes for the plurality of robots based on the control parameters and the task execution time.
[0019] Also, the plurality of robots R include a task module selection unit 18 that selects a task module for each of the plurality of robots based on the process, a control unit 19 that controls the plurality of robots based on the task module, and an operation unit 20 that mechanically drives operation ends such as the arms and legs of the robots. In the example of FIG. 1, the functions performed by the upper and lower computer devices are distributed as described above, but it can be appropriately determined which functions should be assigned to which device.
[0020] FIG. 3 is a diagram showing a rough processing flow between the plan generation unit 12, which is an upper and lower computer device, and the robots R1 and R2. According to this figure, in processing step S1 of the plan generation unit 12, information on tasks that can be performed by the robots R1 and R2 is read from the storage unit 11. Next, in processing step S2 of the plan generation unit 12, the processes of each robot are planned and given to the robots R1 and R2 as operation commands. The robots R1 and R2 execute processing step S100, the details of which are shown in FIG. 4.
[0021] Hereinafter, the detailed processing flow will be sequentially described from the upper side. First, FIG. 5 is an example of the task information D stored in the storage unit 11. The task information D is configured to include at least the task name D1, the task execution time D2, and the constraint condition D3 for executing the task.
[0022] Among these, the task name D1 defines the type of task to be executed by the robot, and depending on the operation content, it prepares for movement, drilling, grasping, inserting, attaching, detaching, etc. Here, the task is described as "task name (target 1, target 2)", and one or more execution targets of the task are specified within the parentheses.
[0023] Note that the robot's task can be defined by control parameters. The control parameter is a parameter that controls the operation of the robot while the task is being executed. Here, an example will be described with the maximum movement speed v max as the control parameter. It is assumed that the information on the control parameter is also held in the storage unit 11.
[0024] These tasks illustrated in FIG. 5 have different execution times and constraint conditions depending on the target even with the same task name. Therefore, for each individual task name D1, the task information D separately sets the task execution time D2 and the constraint condition D3.
[0025] Among these, the execution time D2 is distinguished and represented by attaching the symbol used for each task name after the symbol t indicating time. The execution time t is the estimated required time from the start to the completion of the task. The constraint condition D3 indicates the tasks that need to be completed at the time when the task is started. In this example, the order constraint D31, the working position D32, the tool used D33, the grasped workpiece D34, and the operation constraint D35 are given. The present invention is characterized by introducing the concept of the operation constraint D35.
[0026] Regarding what the constraint condition D3 means, it will be described in detail below. First, regarding the order constraint D31 in FIG. 5, for drill(y) described here, it indicates that the task insert(x, y) of inserting the target x into the target y needs to be executed after the task drill(y) of drilling the target y.
[0027] The working position P described in the working position D32 of FIG. 5 is the area occupied when executing the task. It indicates that while the task is being executed, robots other than the robot executing the task must not enter the working position P. Note that P x represents the position where the target x exists.
[0028] The tool T described in the tool D33 used in FIG. 5 is the tool used when executing the task. It indicates that while the task is being executed, robots other than the robot executing the task must not use the tool T.
[0029] The workpiece to be gripped described in the gripped workpiece D34 of FIG. 5 is the workpiece used when executing the task. It indicates that while the task is being executed, robots other than the robot executing the task must not use the workpiece.
[0030] The motion constraint described in the motion constraint D35 of FIG. 5 is a constraint condition for the physical quantity related to the executability of the task. In the example of FIG. 5, while the task insert(x, y) is being executed, the acceleration α of the vibration of the working floor 4 floor must be smaller than the threshold value α floor、th This indicates that the task insert(x, y) is a precise operation, meaning that if the vibration of the working floor 4 is too large, the operation will fail.
[0031] Therefore, in the present invention, while the task is being executed, by changing, for example, the control parameters of other tasks to create a situation that satisfies the motion constraint, it becomes possible to execute the task. Here, it is also possible to give different threshold values α floor、th、insert(x、y) for different targets x and y of the task name insert. Also, here, although the insertion of a bolt is cited as an example of a precise operation, it can be replaced with cutting, painting of the work object, assembly that requires alignment, recognition of the object, etc.
[0032] In the memory unit 11, a plurality of target completion tasks are further set as part of the task information D in FIG. 5. The target completion tasks in this case are the processes of the robot R inserting bolts at the point of point 1 (insert(bolt, point1)), inserting bolts at the point of point 2 (insert(bolt, point2)), inserting bolts at the point of point 3 (insert(bolt, point3)), and inserting bolts at the point of point 4 (insert(bolt, point4)) at the work site in FIG. 1, and it is necessary to complete all these processes.
[0033] FIG. 6 is a diagram for explaining a method of calculating control parameters stored in the memory unit. The maximum moving speed v, which is the control parameter of each task on the horizontal axis max and the acceleration α of the vibration of the work floor on the vertical axis floor are shown in relation. The v on the horizontal axis max、0 is the maximum moving speed in normal times, and when there is no need to consider operation constraints, the task is executed with v max、0 .
[0034] In the example of FIG. 6, for any task, as the control parameter v max increases, the acceleration α of the vibration floor also increases. Therefore, the v floor at which α max (v floor、th ) = α max becomes the optimal value v' max .
[0035] On the other hand, for the task drill(point), for any control parameter v max、drill(point1) , α floor (v max、drill(point1) ) > α floor、th . This shows that the task insert(x, y) and the task drill(point1) cannot be executed simultaneously.
[0036] Threshold α floor、thFor the acquisition of α, for example, with an acceleration sensor attached to the workbench 4, perform tasks that require motion constraints and tasks that do not require motion constraints, and when reducing the control parameters of the latter task, α is the value when the former task succeeds. floor Let it be α. floor、th In addition, other methods such as evaluating the above procedure through simulation or evaluating only the former task on an experimental device capable of reproducing the vibration of the workbench 4 are conceivable.
[0037] Here, the physical quantity for setting the threshold value does not necessarily have to be α. floor Any physical quantity that can be an indicator of task failure, such as the acceleration obtained from sensors mounted on the robot itself or the amount of blur in the video obtained from a camera, is acceptable.
[0038] Also, in FIG. 6, as an example, the tasks drill(point1), move(P point1 ), move(P point2 ) are excerpted, but the relationships for other tasks can be shown in the same way.
[0039] In addition, depending on the working environment and the nature of the task, in addition to the moving speed, it is also possible to set the moving acceleration, moving angular velocity, moving angular acceleration, or the moving speed in a specific direction as control parameters.
[0040] For example, for the task insert(bolt, point1), when it is robust against the vibration of the workbench 4 in the axial direction of the bolt, the motion constraint is α floor、perp <α floor、th As shown, give the condition for the acceleration α floor、perp of the vibration of the workbench 4 in the direction perpendicular to the bolt axis. And, instead of the control parameter v max in FIG. 6, set the maximum moving speed v max、perp in the axial direction. Also, in FIG. 6, the relationship between v max and α floor is represented by a linear function, but it is also conceivable to be represented by a non-linear function.
[0041] In FIG. 6, conditions for physical quantities are described as operation constraints, but the relationship between the physical quantities and the control parameter v max is calculated in advance, or the control parameter v max is directly measured so that, for example, v max、drill(point1) = 0.3 [m / s], v max、move(Ppoint1) = 1.5 [m / s],... It is also possible to describe the control parameter itself in this way.
[0042] The constraint condition D3 shown in FIG. 5 can be expanded or reduced according to the working environment and the type of task. When using the control system according to the present invention, at least the operation constraint D3 needs to be included.
[0043] Returning to FIG. 2, in the processing step S2, in the plan generation unit 12, the processes of each robot R1, R2 composed of the tasks shown in FIG. 5 are planned. The optimization unit 15, the control parameter calculation unit 16, and the execution time calculation unit 17 in the plan generation unit 12 are used for the implementation of the processing step S2.
[0044] The optimization unit 15 creates a process that satisfies the constraint conditions of the tasks shown in FIG. 5 and can complete all the target completion tasks shown in FIG. 5, and searches for a process in which evaluation values such as the end time and power consumption are minimized.
[0045] As search methods for the optimal process, there are graph search algorithms (greedy method, A* algorithm, etc.), metaheuristics (evolutionary algorithm, simulated annealing method, etc.), reinforcement learning, etc. For example, when using the A* algorithm, a partial process with some tasks assigned is regarded as one node, and the optimal process is searched by developing the node with the minimum evaluation function. In this embodiment, the case of using the A* algorithm will be described, but the same processing can be performed when using other methods.
[0046] FIG. 7 shows an example of a sub-process obtained in the process of optimizing the process in the optimization unit 15. Both sub-processes 30a and 30b are in a state where only insert(bolt, point1) among the target completion tasks is assigned.
[0047] In the case of these sub-processes 30a and 30b, the robot R2 is responsible for moving to a predetermined hole-drilling location and drilling the hole, and the robot R1 holds the bolt, moves to the position of the hole, and inserts the bolt with an appropriate time delay.
[0048] Note that due to the work position constraint condition D32, while the robot R2 is executing the task drill(point1), the robot R1 cannot execute the task move(P point1 ) Therefore, after the drill(point1) of the robot R2 is completed, the move(P point1 ) of the robot R1 is started.
[0049] In the process of step S2, the execution time calculation unit 17 calculates the execution time t of each task required for creating the sub-processes 30a and 30b. The execution time t of tasks other than those with operation constraints is the normal execution time t0. For example, t 0、drill(point1) = 20[s], t 0、move(Ppoint2) = 15[s],... are given as constant values.
[0050] On the other hand, for tasks that need to be executed simultaneously with the task insert(bolt, point1) of the robot R1 that requires operation constraints, such as the task move(P point2 ) of the robot R2 in the sub-process 30a, the execution time is calculated based on the change in the control parameters due to the operation constraints.
[0051] FIG. 8 is a diagram for explaining the method of calculating the execution time of the task move(P point2 ) of the robot R2 in the sub-process 30a of FIG. 7. The task move(P point2Of the normal execution time t0 of , the time overlapping with the execution of the task insert(bolt, point1) is t ol Let it be, then for the task move(P point2 ), the actual execution time t is t = t0 + t ol (v max、0 / v’) max - 1) and is calculated.
[0052] Here, v’ max is calculated based on the task information shown in FIG. 6 in the control parameter calculation unit 16. At this time, it is assumed that the moving speed from the start to the completion of the task is always the maximum moving speed. The calculation method of the execution time is not limited to this, and for example, methods considering a more detailed speed distribution or methods using the analysis results by simulation can also be considered.
[0053] Also, when the restriction of the control parameter due to the operation restriction is large, etc., it may be more efficient to prevent the execution of the task requiring the operation restriction from overlapping with the required task.
[0054] The partial process 30b in FIG. 7 is a partial process created so that the task insert(bolt, point1) of the robot R1 requiring the operation restriction does not overlap with the execution of the task move(P point2 ) of the required robot R2. Comparing the partial processes 30a and 30b, the end time of the partial process 30a is earlier, but the optimal process is determined based on the evaluation value of the final process to which all the target completion tasks are assigned.
[0055] Thus, as the optimal process for executing all the target completion tasks in the plan generation unit 12, the final process 50 shown in FIG. 10 is determined, and the optimal process is given to each of the robots R1 and R2 as an operation command. Each of the robots R1 and R2 that has received this operation command executes the processing step S100 shown in detail in FIG. 4.
[0056] Among the series of flow of processing step S100 in FIG. 4 in robot R, after processing step S10, the control of robots R1 and R2 is carried out in parallel. Here, processing steps S10 to S13 are carried out by the task selection unit 18 in FIG. 2, and processing steps S14 to S18 are carried out by the control unit 19 in FIG. 2.
[0057] FIG. 9 is a diagram showing a configuration example of the control unit 19, and robots R1 and R2 are provided with a task module (control program) 40 for executing each task in FIG. 5. When the task module 40 is activated in the control unit 19, the operation unit 20 controls robot R1 or robot R2 based on the program described in the task module.
[0058] The description method of the task module 40 is arbitrary. For example, if it is the task module drill(point1), control commands for executing a series of operations of approaching the tip of the drill attached to the robot to point1, drilling point1 while rotating the drill bit, and returning to the approach position after the drilling is completed to the specified depth are described.
[0059] Returning to FIG. 4, in the first processing step S10, the next task to be executed is selected according to the order of the final process 50 shown in FIG. 10 generated in processing step S2. If there is a next task to be executed, the process proceeds to processing step S11. If there is no next task to be executed, the process ends assuming that all the series of tasks to be processed by the robot have been executed.
[0060] In processing step S11, if it is robot R1, the task to be executed by robot R2 is confirmed, and if it is robot R2, the task to be executed by robot R1 is confirmed. In processing step S12, it is determined whether the next task to be executed satisfies the execution constraints.
[0061] The execution constraint is a constraint that is satisfied when the start time of the next task to be executed is earlier than the estimated completion time of the task currently being executed by another robot R. For example, in step 50 of FIG. 10, at time t1 when the task grasp(bolt) of robot R1 is completed, when checking the execution constraint of the next task move(P point1 ), since the estimated completion time t2 of the task drill(point1) being executed by robot R2 at that time is the same as the start time t2 of grasp(bolt), the execution constraint is not satisfied.
[0062] In that case, processing steps S11 and S12 are repeated until the execution constraint is satisfied. In step 50, robot R1 will proceed to processing step S13 at time t2.
[0063] Here, in processing step S12, instead of the execution constraint, all the constraint conditions D3 shown in FIG. 5 may be determined. However, in that case, for a process planned so that tasks insert(bolt, point1) and move(P point2 ) that require the operation constraint D35, as shown in partial step 30b of FIG. 7, it is also necessary to be able to determine not to start task insert(bolt, point1) during the execution of task move(P point2 ).
[0064] In processing step S13, the task module 40 of FIG. 9 related to the task selected in processing step S10 is activated, and the control of the robot R based on the task module 40 is started.
[0065] In processing step S14, the tasks executed by other robots R are checked, and in processing step S15, a determination regarding the operation constraint D35 of the task is made. If the task requires the operation constraint D35 and the task executed by the controlling robot R does not satisfy the required operation constraint D35, then in processing step S16, the control parameters of the task module 40 executed by the controlling robot R are restricted.
[0066] On the one hand, in processing step S15, if the task of the other robot R does not require the operation constraint D35, or if it is a task that requires the operation constraint D35 but the task executed by the robot R under control already satisfies the operation constraint D35, the normal control parameters are used in the task module 40.
[0067] Then, in processing step S18, it is confirmed whether the task module 40 executed by the robot R under control is completed. If it is completed, the process returns to processing step S10 to perform the processing of the next task. In processing step S18, if the task module 40 is not completed, the process returns to processing step S14, and the determination and processing regarding the operation constraint D35 are performed until the task module 40 is completed.
[0068] Finally, in processing step S10, if it is determined that there is no next task in process 50, the control of the robot R is terminated.
[0069] For example, in process 50 of FIG. 10, between time t2 and time t3, since it is determined in processing step S15 that the operation constraint D35 for robot R2 is satisfied, the task module move(P point2 ) is executed with the normal control parameter v max、0 .
[0070] On the other hand, between time t3 and time t4, since the task insert(bolt, point1) executed by robot R1 requires the operation constraint D35, it is determined in processing step S15 that the operation constraint D35 for robot R2 is not satisfied, and the task module move(P point2 ) is executed with the restricted control parameter v' max .
[0071] In the above, a method of changing control parameters inside the task module 40 was described. However, there is no problem with a method of preparing a plurality of task modules having only different control parameters. In this case, in the processing step S16 of FIG. 4, the control unit 19 performs a process of switching from a task module having normal control parameters to a task module having restricted control parameters.
[0072] As described above, by changing the control parameters in consideration of the nature of other tasks whose execution times overlap, it is possible to plan an efficient process in consideration of operation constraints and execute control that does not conflict with the planned process.
[0073] In the above description, an example of changing control parameters was described. However, this may be any operation that restricts (constrains) the operation in response to the establishment of the condition of the operation constraint D35. The operation restriction includes operation stop, operation delay, or slowdown of the operation. The change of the control parameter is merely a specific means for realizing the operation restriction, and the operation may be restricted by other means.
Example
[0074] In this example, a case where the tasks shown in FIG. 11 are added as tasks to be executed by the robots R1 and R2 will be described.
[0075] In FIG. 11, the task pick(x) lifts the object x, the task carry(x, P) transports the object x lifted by the task pick(x) to the position P, and the task place(x, P) lowers the object x transported by the task carry(x, P) to the position P.
[0076] Here, an operation constraint D35 is defined for the task carry(x, P). This is the vibration α of the work floor 4 when transporting the object x using the hand T3 floor is the threshold value α floor、thIf it is larger, it means that the object x will fall from the hand T3 due to the inertial force of the object x. Here, the object x is a container for storing liquid, and the vibration α of the workbench 4 floor >α floor、th may be replaced with a situation where the contents spill due to
[0077] The difference between Example 1 and Example 2 is that the control parameters of the task module carry(x, P) itself can be changed. The task carry(x, P) can reduce the risk of the gripped object falling by reducing the moving acceleration of the robot.
[0078] In the working environment shown in FIG. 12, taking the situation where the robot R1 performs the task carry(object, P container ) and the robot R2 performs the task drill(point1) as an example, the processing flow will be described.
[0079] FIG. 13 shows, for the situation of FIG. 12, with the feed rate v (control parameter) of the drill bit in the task drill(point1) of the robot R2 on the vertical axis and the maximum moving acceleration α container in the task carry(object, P max ) of the robot R1 on the horizontal axis, when changing the maximum moving acceleration α max , it shows α floor . The combination (α max , v) of the control parameters of the robots R1 and R2 determines α floor , and the operation constraints are satisfied in the case of the combination in the hatched portion 60 of FIG. 13. Therefore, it is optimal to use the combination in the curve portion 61.
[0080] In the plan generation unit 12, when the execution time calculation unit 17 calculates the execution time of each task when the execution of the task drill(point1) of the robot R2 and the task carry(object, P container ) of the robot R1 overlap, if the control parameter calculation unit 16 evaluates all the optimal combinations of the control parameters obtained based on FIG. 13, a huge calculation time may be required.
[0081] Therefore, for example, a method of evaluating several points among the optimal combinations can be considered. At this time, for calculating the execution time, for example, it is possible to use the analysis result by simulation.
[0082] In addition, when controlling the robots R1 and R2 based on the processes planned by the plan generation unit 12, when the execution of the task module drill(point1) of the robot R2 overlaps with the execution of the task module carry(object, P container ) of the robot R1, the control parameters of both task modules are restricted according to the processing steps S15 and S16 in FIG. 4. At this time, the control parameters need to adopt the same combination as the control parameters determined in the process plan of the processing step S2.
Example
[0083] In this example, in a non-maintained environment such as the disaster site shown in FIG. 14, a process in which the robots R1 and R2 and the unmanned aerial vehicle R3 (this is also a type of robot) cooperate simultaneously to perform the work of removing the rubble 70a and 70b will be described as an example. The difference between the first and second embodiments and this example is that there are more than two robots to be controlled, and for a task that requires one operation constraint, there is a possibility that two or more tasks require operation constraints.
[0084] FIG. 15 shows the task information D3 executed by the unmanned aerial vehicle R3. The robots R1 and R2 execute the tasks shown in FIG. 5. The unmanned aerial vehicle R3 moves to the position P by the task move(P), and investigates the presence of the victim x at the position P by the task search(x, P).
[0085] At this time, the operation constraint P UAV ≦P UAV、th is given. This is because an auditory sensor is used to investigate the presence of the victim x that is difficult to capture visually, but the sound pressure P UAV from other tasks at the position of the unmanned aerial vehicle R3 is the threshold value P UAV、thIf it is larger, it means that a normal investigation cannot be conducted. Here, the sound pressure P UAV Instead of, for the noise frequency f UAV For example, "f UAV < f UAV、lower 、f UAV > f UAV、upper " It is also conceivable to give an operation constraint like this.
[0086] Taking the situation where the robots R1 and R2 perform the task of disassembling the rubble 70, drill(rubble), and the unmanned aircraft R3 performs the task of searching for victims, search(victims, P), shown in Fig. 14 as an example, the processing flow will be described.
[0087] Fig. 16 shows, for the situation in Fig. 14, the feed rate v r1 (control parameter) of the drill bit in the task drill(rubble) of the robot R1, and the feed rate v r2 (control parameter) of the drill bit in the task drill(rubble) of the robot R2 when changing P UAV . The combination of the control parameters (v r1 , v r2 ) of the robots R1 and R2 determines P UAV , and the operation constraint is satisfied in the case of the combination in the hatched part 80 in Fig. 16. Therefore, it is optimal to use the combination in the curve part 81.
[0088] In the case of this embodiment, the plan generation unit 12 plans the processes for the three units of the robots R1 and R2 and the unmanned aircraft R3. The basic processing flow is the same as that in the first embodiment, but when calculating the execution time of the tasks that require the operation constraint D35 and the tasks whose execution overlaps in the execution time calculation unit 17, it is necessary to use the optimal combination of the control parameters obtained based on Fig. 16 in the control parameter calculation unit 16.
[0089] For example, when the execution times of the task search(victims, P) of the unmanned aircraft R3 and the tasks drill(rubble) of the robots R1 and R2 overlap, several points are selected from the combination of control parameters (v r1 , v r2 ) of the curved portion 81 in Fig. 16, the execution time is calculated for each combination, and a plurality of sub-steps are created. At this time, for example, the analysis results by simulation can be used for calculating the execution time.
[0090] Fig. 17 shows the configuration of the control system in this embodiment, which is a configuration in which the unmanned aircraft R3 is added to the configuration of Fig. 2. Fig. 18 shows the processing flow of the control system in this embodiment, in which a flow for controlling the unmanned aircraft R3 is added to the configuration of Fig. 3.
[0091] When controlling based on the steps planned by the plan generation unit 12, if the execution of the task modules drill(rubble) of the robots R1 and R2 and the execution of the task module search(victims, P) of the unmanned aircraft R3 overlap, the control parameters of both task modules of the robots R1 and 2 are restricted according to the processing steps S15 and S16 in Fig. 4. At this time, the control parameters need to adopt the same combination as the control parameters determined in the plan of the steps in processing step S2.
[0092] In the above description, the influence of the noise of the task of demolishing rubble on the task of investigating victims is given as an operation constraint. On the other hand, even if the former is replaced with a task of detecting abnormal noise of a machine and the latter is replaced with a task such as welding or a driving sound of the robot itself becoming a problem, the same processing can be performed.
[0093] In this embodiment, the changes when increasing the number of controlled objects from two to three have been described, but the same expansion can be performed when the number of controlled objects becomes more than that.
Embodiment
[0094] FIG. 19 shows a configuration when at least one of the task modules shown in FIG. 9 is replaced by the remote operation of the operator on the robot R1 or the robot R2. The remote operation unit 90 is composed of a work environment display unit 91, a robot operation unit 92, an execution task display unit 93, and a status display unit 94.
[0095] The work environment display unit 91 displays the video of the work environment in real time, and the operator can check the work environment and the state of the robot. The robot operation unit 92 is a user interface for the operator to control the robot, and the operation of the robot is controlled based on the input information to the interface by the operator.
[0096] The execution task display unit 93 displays the content of the task to be executed in the activated task module. For example, when the task module move(P point1 ) is activated, an instruction to move the controlled robot to the position P point1 is displayed. At this time, it is also possible to improve the operability by showing the position P point1 on the work environment display unit 91. The status display unit 94 displays the execution status of the task, and the operator can check the completion determination of the task and the constraint conditions imposed on the task.
[0097] Here, in the processing step S16 of FIG. 4, when the control parameters of the task module to be remotely operated are restricted based on the operation constraints, the operation is restricted in the robot operation unit 92 so that the control parameters do not exceed the threshold value due to the operation constraints. For example, for the task module move(P point1 ), when an operation constraint v max to the maximum speed v max <v max、th is imposed, the robot control unit 92 may receive only the input regarding the traveling direction from the operator and determine v max internally.
Example
[0098] In Example 1, in the configuration of the control system shown in FIG. 2, each of the robots R1 and R2 is provided with a task selection unit 18 and a control unit 19.
[0099] In contrast, in Example 5, as in the configuration of the system in FIG. 20, the task selection unit 18 and the control unit 19 are integrated by the robots R1 and R2. In that case, the flow of processing of the control system is as shown in FIG. 21, and in each of the processing steps S10 to S18, processing is performed for both of the robots R1 and R2. Alternatively, it is also possible to perform a series of processing steps S10 to S18 alternately for the robots R1 and R2.
Example
[0100] In this example, a case where the operation constraints change during the task will be described.
[0101] FIG. 22 shows a configuration when the task insert(x, y) in FIG. 5 is divided into elemental operations. The task insert(x, y) of inserting the target x into the target y can be divided into three operations: an operation 100 of searching for y, an operation 101 of inserting x, and an operation 103 of returning to the initial position after releasing x.
[0102] FIG. 23 shows the constraint conditions of the task when the task insert(x, y) can be divided into elemental operations as shown in FIG. 22. Since the magnitude of the influence by the vibration of the workbench 4 differs for each elemental operation, different operation constraints are given for each execution. Since the operations 100 and 101 may fail due to the vibration of the workbench 4, operation constraints are given to the sections a and b where they are executed.
[0103] On the other hand, since the operation 102 is not affected by the vibration of the workbench 4, no operation constraint is given to the section c where the operation 102 is executed. Further, since a higher alignment accuracy is required for the operation 100 than for the operation 101, the threshold value α of the operation constraint in the section b floor、th2 is smaller than the threshold value α of the operation constraint in the section a floor、th1 .
[0104] In the processing step S14 of the flowchart in FIG. 4, when another robot is executing the task insert(x, y), the operation constraint conditions are switched according to which element operation of the task insert(x, y) is being executed. As a result, the determination result of the processing step S15 and the value of the control parameter selected in the processing step S16 change.
[0105] As described above, it becomes possible to select a more appropriate control parameter than when the operation constraint conditions are constant within the task as shown in FIG. 5, and more efficient process control is realized.
Description of Signs
[0106] R1: Robot, R2: Robot, 10: Control system, 11: Memory unit, 12: Plan generation unit, 15: Optimization unit, 16: Control parameter calculation unit, 17: Execution time calculation unit, 18: Task selection unit, 19: Control unit, 20: Operation unit, 40: Task module
Claims
1. A control system for controlling each task of a plurality of robots operating in the same working environment, comprising a control parameter calculation unit that calculates control parameters for the plurality of robots, an optimization unit that generates processes of the plurality of robots based on the control parameters, a task module selection unit that selects a task module for each of the plurality of robots based on the processes, and a control unit that controls the plurality of robots based on the task modules, wherein when the execution times of tasks in an influence relationship overlap, the optimization unit generates the processes of the tasks of the plurality of robots so as to execute a task that restricts the task of the other robot and requires an operation restriction of one robot and a task that requires an operation restriction of the other robot. The control system is characterized in that.
2. The control system according to claim 1, wherein the restriction of the task of the other robot is a delay process of the task execution time. The control system is characterized in that.
3. The control system according to claim 1, wherein the restriction of the task of the other robot is a slowdown of the operation of the robot. The control system is characterized in that.
4. The control system according to claim 1, wherein the restriction of the task of the other robot is performed by changing the control parameters. The control system is characterized in that.
5. A control system for controlling each task of a plurality of robots operating in the same working environment, comprising a control parameter calculation unit that calculates control parameters for the plurality of robots, an optimization unit that generates processes of the plurality of robots based on the control parameters, a task module selection unit that selects a task module for each of the plurality of robots based on the processes, and a control unit that controls the plurality of robots based on the task modules, wherein when the execution times of tasks in an influence relationship overlap, the control parameter calculation unit imposes an operation restriction on the operation of the other robot in order to reduce the influence on the task execution of one robot, and calculates the control parameters. When the execution times of the tasks in the influence relationship overlap, the optimization unit calculates the time required for the other robot to execute a task based on the control parameters for the other robot so as to execute a task that requires operation constraints of one robot and a task for which operation constraints of the other robot are required, and generates a process for the plurality of robots based on the calculation result. A control system characterized by that.
6. The control system according to claim 5, wherein the control unit switches control parameters for the other robot according to the task execution status of the one robot. A control system characterized by that.
7. The control system according to claim 5, wherein the control parameter includes any one of speed, acceleration, angular velocity, and angular acceleration related to the operation of the robot. A control system characterized by that.
8. The control system according to claim 5, wherein the control parameter calculation unit gives a conditional expression for a physical quantity that affects the feasibility of the execution of the task, and calculates a control parameter that satisfies the conditional expression. A control system characterized by that.
9. The control system according to claim 8, wherein the physical quantity is a physical quantity related to the vibration of an object in the environment in which the plurality of robots work, or a physical quantity related to noise at a certain position in the working environment. A control system characterized by that.
10. The control system according to claim 5, in calculating the time required for the other robot to execute a task, the normal execution time of the task executed by the other robot, the time when the execution of the task executed by the one robot and the task executed by the other robot overlaps, the normal control parameters of the other robot, and the control parameters when restricted by the operation constraints of the other robot calculated by the control parameter calculation unit are used. A control system characterized by that.
11. The control system according to claim 5, The control parameter calculation unit calculates the control parameters of the other robot and the one robot, and when the task execution times of the plurality of robots overlap, the optimization unit calculates the time required for the other robot and the one robot to execute the task based on the control parameters for the other robot and the one robot. The control system is characterized in that the control unit switches the control parameters for the other robot and the one robot according to the task execution status of the one robot.
12. The control system according to claim 5, characterized in that, based on the task module, the control of any one of the plurality of robots is performed by remote operation by an operator.
13. The control system according to claim 5, characterized in that the task module is composed of two or more operations, and different operation constraints are set for each operation.
14. A control method for controlling each task of a plurality of robots operating in the same working environment, calculating control parameters for the plurality of robots, generating processes of the plurality of robots based on the control parameters, selecting a task module for each of the plurality of robots based on the processes, and controlling the plurality of robots based on the task module. At the same time, when the execution times of tasks in an influence relationship overlap, the control method is characterized in that the tasks of the other robot are restricted, and the processes of the tasks of the plurality of robots are generated so as to execute a task that requires an operation constraint of one robot and a task that requires an operation constraint of the other robot.
Citation Information
Patent Citations
Autonomous adjusting operation body
JP2018005799A
Mobile robot
JP2019074782A
Plan creation device
JP2019197367A
Inspection robot, system, information processing equipment, method, and program
JP2020116669A