WO2023176092A1 - 制御システム及び制御方法 - Google Patents

制御システム及び制御方法 Download PDF

Info

Publication number
WO2023176092A1
WO2023176092A1 PCT/JP2022/047849 JP2022047849W WO2023176092A1 WO 2023176092 A1 WO2023176092 A1 WO 2023176092A1 JP 2022047849 W JP2022047849 W JP 2022047849W WO 2023176092 A1 WO2023176092 A1 WO 2023176092A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
robot
control
robots
control system
Prior art date
Application number
PCT/JP2022/047849
Other languages
English (en)
French (fr)
Inventor
寛太 濱崎
東 奥野
自由理 清水
裕二 アンドレ 保富
哲司 中村
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2023176092A1 publication Critical patent/WO2023176092A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Definitions

  • the present invention relates to a control system and control method in which a plurality of robots perform various tasks in an unmaintained environment.
  • Patent Document 1 regarding multiple robots that share and execute multiple tasks, the problem is inefficiency in the process due to fluctuations in task execution time, and the problem is that the robot selects the next executable task from the candidate to the execution.
  • a planning device that executes tasks with minimum waiting time.
  • constraints on the order of work and constraints on avoiding competition between work positions and tools are given as constraints between tasks.
  • these constraints alone are not sufficient, and it is necessary to consider constraints on other tasks (operation constraints) due to physical phenomena such as vibration and noise that accompany task execution. be.
  • ground vibrations caused by one robot performing a task that requires high-speed movement may adversely affect another robot performing a task that requires positioning accuracy, such as inserting a bolt. given, the latter task may fail.
  • changing the control parameters of the former task may enable execution of the latter task.
  • Patent Document 1 does not assume operational constraints.
  • the present invention provides a control system and control system that can plan efficient processes while taking into account the influence of operational constraints, and that can execute control that is consistent with the planned processes.
  • the purpose is to provide a method.
  • the present invention provides a control system that controls each of a plurality of robots operating in the same working environment, which includes a control parameter calculation unit that calculates control parameters for the plurality of robots, and a , an optimization unit that generates processes for a plurality of robots, a task module selection unit that selects a task module for each of the plurality of robots based on the process, and a control unit that controls the plurality of robots based on the task module.
  • the control system is characterized in that the optimization unit restricts the tasks of the other robot when the execution times of tasks that have an influence on each other overlap.
  • the present invention also provides a control system that controls each of a plurality of robots operating in the same work environment, including a control parameter calculation unit that calculates control parameters for the plurality of robots, and a control parameter calculation unit that calculates control parameters for the plurality of robots; It includes an optimization section that generates robot processes, a task module selection section that selects task modules for each of the plurality of robots based on the process, and a control section that controls the plurality of robots based on the task modules.
  • the calculation unit calculates control parameters by imposing motion constraints on the motion of the other robot in order to reduce the influence on the task execution of one robot.
  • the optimization unit calculates the time required for the other robot to execute the task based on the control parameters for the other robot when the execution times of the tasks that have an influence relationship overlap, and the optimization unit calculates the time required for the task execution by the other robot based on the control parameters for the other robot, and calculates the time required for the task execution by the other robot based on the calculation result.
  • a control system characterized by generating robot processes.''
  • the present invention provides a control method for controlling each of a plurality of robots operating in the same working environment, in which control parameters for the plurality of robots are calculated, and processes for the plurality of robots are generated based on the control parameters. Then, it selects a task module for each of multiple robots based on the process, controls multiple robots based on the task module, and when the execution times of tasks in an influencing relationship overlap, the task of the other robot is controlled.
  • ⁇ A control method characterized by constraints.'''
  • FIG. 1 is a diagram showing a configuration example of a control system according to a first embodiment of the present invention.
  • FIG. 3 is a flowchart showing a general flow of processing between the plan generation unit 12 and the robot R. Flowchart showing the flow of robot processing.
  • FIG. 3 is a diagram showing an example of task information D stored in the storage unit 11; The figure which shows an example of the calculation method of the control parameter among task information.
  • FIG. 4 is a diagram showing an example of a partial process obtained in the process of optimizing a process by an optimization unit 15;
  • FIG. 3 is a diagram illustrating an example of a method for calculating the execution time of a task that requires operational constraints.
  • FIG. 3 is a diagram illustrating a configuration example of a control unit 19.
  • FIG. FIG. 3 is a diagram showing a process finally generated by the plan generation unit 12.
  • FIG. 7 is a diagram showing task information D in the storage unit 11 added in Example 2.
  • FIG. 3 is a diagram showing a working environment of a robot according to a second embodiment. 7 is a diagram illustrating a method for calculating control parameters among task information according to the second embodiment.
  • FIG. FIG. 7 is a diagram showing the working environment of a robot and an unmanned aerial vehicle in Example 3.
  • 7 is a diagram showing task information in the storage unit 11 added in Example 3.
  • FIG. FIG. 7 is a diagram illustrating a method for calculating control parameters among task information according to the third embodiment.
  • FIG. 7 is a diagram illustrating a configuration example of a control system according to a third embodiment. 12 is a flowchart showing the overall process flow of the control system according to the third embodiment. The figure which shows the structure when there is a task module 40 that involves remote control.
  • FIG. 7 is a diagram showing the configuration of a control system according to a fifth embodiment. 10 is a flowchart showing the overall process flow of the control system according to the fifth embodiment.
  • FIG. 7 is a diagram showing the configuration of task insert(x,y) in Example 6.
  • FIG. 7 is a diagram showing operation constraints of task insert (x, y) in Example 6;
  • the present invention is a control system that plans and controls a process in which multiple robots execute multiple tasks in an unmaintained environment. To explain this, it is assumed that multiple robots execute multiple tasks in the unmaintained environment shown in FIG.
  • robots R1 and R2 work on a wall 6 on an unstable work floor 4 suspended by a rope 5.
  • the work floor 4 is suspended from the rope 5, but this may be replaced with another situation in which work is performed on unstable ground such as an elastic floor such as a grating.
  • the situation shown in FIG. 1 corresponds to, for example, a construction site, maintenance inspection of a structure, etc.
  • FIG. 2 is a diagram showing a configuration example of a control system according to the first embodiment of the present invention.
  • the control system 10 includes a storage section 11, a plan generation section 12, and a robot R1 and a robot R2.
  • This control system 10 is configured using two sets of computer devices, a higher-level computer device and a lower-level computer device, and the operation commands obtained by the higher-level computer device by the plan generation unit 12 are sent to the robot R1, which is a lower-level computer device, through communication.
  • the robots R1 and R2 execute actions according to the action commands, and also send various information measured on the robot side to the plan generation unit 12 as appropriate to be reflected in the creation of subsequent action commands.
  • the plan generation unit 12 includes a control parameter calculation unit 16 that calculates control parameters for each of the plurality of robots R, and an execution time calculation unit that calculates the execution time of a task for each of the plurality of robots R, the details of which will be described later. 17, and an optimization section 12 that generates processes for a plurality of robots based on control parameters and task execution times.
  • the plurality of robots R also includes a task module selection section 18 that selects a task module for each of the plurality of robots based on the process, a control section 19 that controls the plurality of robots based on the task module, and a control section 19 that controls the robot's arms and legs.
  • the operating unit 20 is provided to mechanically drive an operating end such as the operating end.
  • the functions performed by the upper and lower computer devices are distributed as described above, but it can be determined as appropriate which one should have the most functions.
  • FIG. 3 is a diagram showing a rough flow of processing between the plan generation unit 12 and robots R1 and R2, which are upper and lower computer devices.
  • 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.
  • processing step S2 of the plan generation unit 12 a process for each robot is planned and given to the robots R1 and R2 as operation commands.
  • the robots R1 and R2 execute processing step S100 whose details are shown in FIG.
  • FIG. 5 is an example of task information D stored in the storage unit 11.
  • the task information D includes at least a task name D1, a task execution time D2, and a constraint condition D3 for executing the task.
  • the task name D1 defines the type of task that the robot executes, and depending on the operation content, there are various tasks such as move, drill, grasp, insert, and attach. ), removal, etc.
  • a task is described as a "task name (target 1, target 2)", and one or more targets for execution of the task are specified in parentheses.
  • the robot task can be defined by control parameters.
  • the control parameter is a parameter that controls the operation of the robot that is executing the task, and here, an example will be explained in which the maximum movement speed v max is the control parameter. It is assumed that information on control parameters is also held in the storage unit 11.
  • the task information D includes the task execution time D2 and constraints D3 for each individual task name D1. It is set to .
  • the execution time D2 is distinguished by adding the symbol used in the name of each task after the symbol t indicating time.
  • the execution time t is the estimated time required from starting to completing the task.
  • Constraint D3 indicates a task that must be completed at the time the task is started.
  • an order constraint D31, a work position D32, a used tool D33, a gripped workpiece D34, and an operation constraint D35 are given.
  • the present invention is characterized in that it introduces the concept of operation constraint D35.
  • the work position P described in the work position D32 in FIG. 5 is an area occupied when the task is executed. This indicates that it is necessary not to invade position P.
  • P x represents the position where the target x exists.
  • the gripping work described in gripping work D34 in FIG. 5 is a work used when executing the task, and while the task is being executed, a robot other than the robot executing the task is not able to hold the workpiece. Indicates that it must not be used.
  • the operation constraint described in the operation constraint D35 in FIG. 5 is a constraint on a physical quantity related to whether or not the task can be executed.
  • the example in FIG. 5 shows that the vibration acceleration ⁇ floor of the work floor 4 needs to be smaller than the threshold ⁇ floor, th while executing the task insert(x, y). This means that the task insert (x, y) is a precision work and will fail if the vibration of the work floor 4 is too large.
  • the present invention while the task in question is being executed, it is possible to execute the task by changing, for example, the control parameters of other tasks and creating a situation that satisfies the operation constraints. It is something to do.
  • inserting a bolt is taken as an example of precision work here, it can be replaced with cutting or painting of a work target, assembly that requires positioning, recognition of a work target, etc.
  • a plurality of target completion tasks are further set in the storage unit 11 as part of the task information D in FIG.
  • the target completion tasks in this example are the process in which robot R inserts a bolt at point 1 (insert (bolt, point 1)) and the process in which robot R inserts a bolt at point 2 (insert ( bolt, point2)), the process of inserting a bolt at point 3 (insert(bolt, point3)), and the process of inserting a bolt at point 4 (insert(bolt, point4)), and all of these processes need to be completed.
  • FIG. 6 is a diagram illustrating a method of calculating control parameters stored in the storage unit, in which the horizontal axis represents the maximum movement speed v max , which is a control parameter for each task, and the vertical axis represents the vibration acceleration ⁇ floor of the work floor. It shows the relationship between V max, 0 on the horizontal axis is the maximum movement speed in normal times, and when there is no need to consider operational constraints, the task is executed at v max, 0 .
  • ⁇ floor for example, with an acceleration sensor attached to the work floor 4, execute a task that requires motion constraints and a task that requires motion constraints, and then reduce the control parameter of the latter task.
  • ⁇ floor ,th be the ⁇ floor at which the former task succeeds when the task is completed.
  • Other methods that can be considered include a method of evaluating the above procedure on a simulation, and a method of evaluating only the former task on an experimental device that can reproduce the vibrations of the work floor 4.
  • the physical quantity for setting the threshold value does not necessarily have to be ⁇ floor , but can be a physical quantity that can be an indicator of task failure, such as acceleration obtained from a sensor mounted on the robot itself or the amount of blur in an image obtained from a camera. If so, there is no problem.
  • the tasks drill (point1), move (P point1 ), and move (P point2 ) are extracted as an example, but relationships can be similarly shown for other tasks.
  • movement acceleration In addition to the movement speed, it is also possible to set movement acceleration, movement angular velocity, movement angular acceleration, movement speed in a specific direction, etc. in addition to movement speed as control parameters, depending on the work environment and the nature of the task.
  • the motion constraints are set relative to the bolt axis as ⁇ floor, perp ⁇ ⁇ floor, th. conditions for the acceleration ⁇ floor, perp of the vibration of the work floor 4 in the vertical direction.
  • the control parameters of the task in FIG. 6 are set to the maximum axial movement speed v max, perp instead of v max .
  • the relationship between v max and ⁇ floor is expressed by a linear function, but it may also be expressed by a nonlinear function.
  • the constraint condition D3 shown in FIG. 5 can be expanded or reduced depending on the work environment and the type of task. When using the control system according to the present invention, it is necessary to include at least the operation constraint D3.
  • plan generation unit 12 plans the steps for each robot R1 and R2, which are composed of the tasks shown in FIG.
  • the optimization unit 15, control parameter calculation unit 16, and execution time calculation unit 17 in the plan generation unit 12 are used to implement processing step S2.
  • the optimization unit 15 creates a process that satisfies the task constraints shown in FIG. 5 and can complete all the target completion tasks shown in FIG. 5, and creates a process that minimizes evaluation values such as completion time and power consumption. Explore.
  • Optimal process search methods include graph search algorithms (greedy method, A* algorithm, etc.), metaheuristics (evolutionary algorithm, annealing method, etc.), and reinforcement learning.
  • graph search algorithms grey method, A* algorithm, etc.
  • metaheuristics evolutionary algorithm, annealing method, etc.
  • reinforcement learning evolutionary algorithm, annealing method, etc.
  • FIG. 7 is an example of a partial process obtained in the process of optimizing a process in the optimization unit 15. Both of the partial processes 30a and 30b are in a state where only insert (bolt, point 1) is assigned among the target completed tasks.
  • the robot R2 moves to a predetermined hole digging location and is in charge of digging the hole, and the robot R1 holds a bolt, moves to the hole position, and inserts the bolt. This role is carried out with an appropriate time delay.
  • the execution time calculation unit 17 calculates the execution time t of each task required to create the partial steps 30a and 30b.
  • the execution time t of tasks other than tasks with operational constraints is the normal execution time t 0 .
  • FIG. 8 is a diagram illustrating a method of calculating the execution time of the task move (P point2 ) of the robot R2 in the partial process 30a of FIG. 7.
  • v' max is calculated by the control parameter calculation unit 16 based on the task information shown in FIG. At this time, it is assumed that the movement speed from the start to the completion of the task is always the maximum movement speed.
  • the method for calculating the execution time is not limited to this; for example, a method that takes into account a more detailed speed distribution, a method that uses analysis results from simulation, etc. can also be considered.
  • the partial process 30b in FIG. 7 is a partial process created so that the execution of the robot R1's task insert (bolt, point 1), which requests motion constraints, and the robot R2's task move (P point 2 ), which is requested, do not overlap. be. Comparing the partial processes 30a and 30b, the partial process 30a has a faster completion time, but the optimal process is determined based on the evaluation value of the final process to which all target completion tasks are assigned.
  • the final process 50 shown in FIG. 10 is determined as the optimal process for executing all the target completion tasks in the plan generation unit 12, and the optimal process is given to each robot R1 and R2 as an operation command.
  • Each of the robots R1 and R2 that received this operation command executes processing step S100, the details of which are shown in FIG.
  • processing steps S10 to S13 are performed by the task selection unit 18 in FIG. 2
  • processing steps S14 to S18 are performed by the control unit 19 in FIG. 2.
  • FIG. 9 is a diagram showing an example of the configuration of the control unit 19, in which the robots R1 and R2 are provided with a task module (control program) 40 for executing each task shown in FIG.
  • the operation unit 20 controls the robot R1 or robot R2 based on the program written in the task module.
  • the task module 40 can be described in any way, but for example, if the task module is drill (point 1), the tip of the drill attached to the robot approaches point 1, drills at point 1 while rotating the drill bit, and drills the specified point. A control command is written to execute a series of operations such as returning to the approach position when drilling to the depth is completed.
  • a task to be executed next is selected according to the order of the final steps 50 shown in FIG. 10 generated in processing step S2. If there is a task to be executed next, the process advances to step S11. If there is no task to be executed next, it is assumed that all the series of tasks to be processed by the robot have been executed, and the process ends.
  • processing step S11 the task to be executed by robot R2 is checked if it is robot R1, and by robot R1 if it is robot R2.
  • processing step S12 it is determined whether the task to be executed next satisfies execution constraints.
  • 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, when the execution constraints of the next task move (P point1 ) are checked at time t1 when the task grasp (bolt) of the robot R1 is completed, the task currently being executed by the robot R2 Since the estimated completion time t2 of drill(point1) is the same as the start time t2 of grasp(bolt), the execution constraint is not satisfied.
  • processing step S11 and processing step S12 will be repeated until the execution constraint is satisfied, and in step 50, the robot R1 will proceed to processing step S13 at time t2.
  • all the constraint conditions D3 shown in FIG. 5 may be determined. However, in that case, for a process planned so that the task insert (bolt, point 1) requesting the operation constraint D35 and the task move (P point 2 ) requesting the operation constraint D35 do not overlap, as shown in the partial process 30b in FIG. Also, it is necessary to be able to determine not to start task insert (bolt, point 1) while task move (P point 2 ) is being executed.
  • processing step S13 the task module 40 of FIG. 9 related to the task selected in processing step S10 is activated, and control of the robot R based on the task module 40 is started.
  • processing step S14 a task to be executed by another robot R is confirmed, and in processing step S15, a determination is made regarding the operation constraints D35 of the task. If the task is a task that requires motion constraints D35 and the task to be executed by the controlling robot R does not satisfy the required motion constraints D35, in processing step S16, the controlling robot R executes the task. Limit the control parameters of the task module 40.
  • the task of another robot R is a task that does not require the motion constraint D35, or the task that requires the motion constraint D35 is executed by the robot R that is controlling the task. If the constraint D35 is already satisfied, the normal control parameters are used in the task module 40.
  • processing step S18 it is confirmed whether the task module 40 executed by the robot R being controlled has been completed, and if it has been completed, the process returns to processing step S10 to process the next task. If the task module 40 is not completed in processing step S18, the process returns to processing step S14, and determination and processing regarding the operation constraint D35 is performed until the task module 40 is completed.
  • step 50 of FIG. 10 between time t2 and time t3, it is determined in processing step S15 that the motion constraint D35 for robot R2 is satisfied, so the task module move (P point2 ) is It is executed with a control parameter v max, 0 .
  • task insert (bolt, point 1) executed by robot R1 requests motion constraint D35, so it is determined in processing step S15 that motion constraint D35 for robot R2 is not satisfied. and the task module move(P point2 ) is executed with a limited control parameter v' max .
  • control unit 19 performs a process of switching from a task module having normal control parameters to a task module having restricted control parameters.
  • Operation restriction includes stopping operation, delaying operation, or slowing down operation, and changing control parameters is only a specific means to achieve operation restriction, and it is not possible to restrict operation by other means. It may also be something that does this.
  • task pick(x) picks up object x
  • task carry(x, P) carries object x picked up by task pick(x) to position P
  • task place(x, P) tasks carry The task of lowering the object x transported at (x, P) to position P is performed.
  • an operation constraint D35 is defined for task carry (x, P). This means that when the hand T3 is used to transport the object x, if the vibration ⁇ floor of the work floor 4 is larger than the threshold ⁇ floor,th , the object x will fall from the hand T3 due to the inertia of the object x. It means.
  • the object x may be a container that stores a liquid, and the situation may be replaced by a situation in which the content spills due to the vibration ⁇ floor > ⁇ floor, th of the work floor 4.
  • the difference between the first embodiment and the second embodiment is that the control parameters of the task module carry (x, P) itself can be changed. Task carry (x, P) can reduce the risk of the object being held falling by reducing the movement acceleration of the robot.
  • FIG. 13 shows, for the situation in FIG. 12, the maximum movement acceleration ⁇ in the task carry (object, P container ) of the robot R1, with the feed rate v (control parameter) of the drill bit in the task drill (point 1) of the robot R2 as the vertical axis.
  • max control parameter
  • the horizontal axis indicates ⁇ floor when changing the maximum movement acceleration ⁇ max .
  • the ⁇ floor is determined by the combination of control parameters ( ⁇ max , v) of the robots R1 and R2, and the operation constraints are satisfied in the case of the combination shown in the hatched portion 60 in FIG. Therefore, it is optimal to use a combination of curved portions 61.
  • the execution time calculation unit 17 calculates the execution time of each task when the execution of the task drill (point 1) of the robot R2 and the task carry (object, P container ) of the robot R1 overlap, the control If the parameter calculation unit 16 evaluates all the optimal combinations of control parameters obtained based on FIG. 13, an enormous amount of calculation time may be required.
  • a method may be considered in which several points among the optimal combinations are evaluated. At this time, it is possible to use, for example, analysis results from simulation to calculate the execution time.
  • robots R1 and R2 and unmanned aerial vehicle R3 work together to remove debris 70a and 70b in a non-maintenance environment such as the disaster site shown in FIG. 14.
  • the process will be explained using an example.
  • the difference between Embodiments 1 and 2 and this embodiment is that there are more than two robots to control, and a task that requires one motion constraint may require motion constraints for two or more tasks. That's a certain point.
  • FIG. 15 shows task information D3 executed by the unmanned aircraft R3.
  • Robots R1 and R2 execute the tasks shown in FIG.
  • Unmanned aerial vehicle R3 moves to position P using task move (P), and investigates the presence of disaster victim x at position P using task search (x, P).
  • the operation constraint P UAV ⁇ P UAV, th is given to the task search (x, P).
  • This uses the auditory sensor to investigate the presence of the victim This means that a thorough investigation cannot be conducted.
  • the noise frequency f UAV instead of the sound pressure P UAV , it is also possible to give operational constraints to the noise frequency f UAV , for example, "f UAV ⁇ f UAV, lower , f UAV > f UAV, upper ". .
  • FIG. 16 shows the drill bit feed rate v r1 (control parameter) in the task drill (rubble) of robot R1 and the drill bit feed rate v r2 (control parameter) in the task drill (rubble) of robot R2 for the situation in FIG.
  • the P UAV is determined by the combination of control parameters (v r1 , v r2 ) of the robots R1 and R2, and the operation constraints are satisfied in the case of the combination shown in the hatched portion 80 in FIG. 16 . Therefore, it is optimal to use a combination of curved portions 81.
  • the plan generation unit 12 plans the process for three robots, R1 and R2, and unmanned aerial vehicle R3.
  • the basic processing flow is the same as in the first embodiment, but when the execution time calculation unit 17 calculates the execution time of a task whose execution overlaps with the task that requests the operation constraint D35, the control parameter calculation unit 16 It is necessary to use the optimal combination of control parameters obtained based on FIG.
  • the combination of control parameters v r1 , v r2 ) calculate the execution time for each combination, and create multiple partial processes.
  • the execution time can be calculated using, for example, analysis results obtained by simulation.
  • FIG. 17 shows the configuration of the control system in this example, and is a configuration in which an unmanned aircraft R3 is added to the configuration of FIG. 2.
  • FIG. 18 is a flow of processing of the control system in this embodiment, and a flow for controlling the unmanned aircraft R3 is added to the configuration of FIG.
  • FIG. 19 shows a configuration in which at least one of the task modules shown in FIG. 9 is replaced by remote control of robot R1 or robot R2 by an operator.
  • the remote control section 90 includes a work environment display section 91 , a robot operation section 92 , an execution task display section 93 , and a status display section 94 .
  • the work environment display section 91 displays images of the work environment in real time, allowing the operator to check the work environment and the state of the robot.
  • the robot operation unit 92 is a user interface for an operator to control the robot, and the operation of the robot is controlled based on information input to the interface by the operator.
  • the execution task display section 93 displays the details of the task to be executed by the activated task module. For example, when the task module move (P point1 ) is activated, an instruction to move the controlled robot to position P point1 is displayed. At this time, it is also possible to improve the operability by showing the position P point 1 on the work environment display section 91.
  • the status display section 94 displays the execution status of the task, and allows the operator to check whether the task has been completed, constraints imposed on the task, and the like.
  • the robot operating unit 92 performs the operation so that the control parameters do not exceed the thresholds due to the operation constraints. limited. For example, when a motion constraint v max ⁇ v max, th to the maximum speed v max is imposed on the task module move (P point1 ), the robot control unit 92 only accepts input from the operator regarding the direction of movement. A method for determining v max internally may be considered.
  • control system configuration shown in FIG. 2 includes a task selection section 18 and a control section 19 for each of the robots R1 and R2.
  • the task selection section 18 and the control section 19 are integrated in the robot R1 and the robot R2, as in the system configuration of FIG. 20.
  • the processing flow of the control system will be as shown in FIG. 21, and in each processing step S10 to S18, processing will be performed for both robots R1 and R2.
  • FIG. 22 shows the configuration when the task insert (x, y) in FIG. 5 is divided into element operations.
  • the task insert(x, y) for inserting object x into object y can be divided into three operations: an operation 100 for searching y, an operation 101 for inserting x, and an operation 103 for returning to the initial position after releasing x.
  • FIG. 23 shows the constraint conditions for the task insert (x, y) when it is assumed that the task can be divided into element operations as shown in FIG. 22. Since the magnitude of the influence of the vibration of the work floor 4 differs for each element operation, different operation constraints are given to each execution. Since motion 100 and motion 101 may fail due to vibrations of the work floor 4, motion constraints are given to sections a and b in which they are executed.
  • the motion 102 is not affected by the vibrations of the work floor 4, no motion constraints are given to the section c in which the motion 102 is executed.
  • the threshold ⁇ floor, th1 for the operation constraint in section a is smaller than the threshold ⁇ floor, th2 for the operation constraint on section b. There is.
  • processing step S14 of the flowchart in FIG. 4 if another robot is executing the task insert(x, y), the condition of the motion constraint is determined depending on which element motion of the task insert(x, y) is being executed. Switch. As a result, the determination result in processing step S15 and the value of the control parameter selected in processing step S16 change.
  • R1 robot, R2: robot, 10: control system, 11: storage 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)
  • General Factory Administration (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

動作制約による影響を考慮した上での効率的な工程を計画することができ、且つ計画された工程と矛盾のない制御を実行することができる制御システムを提供することを目的とする。同じ作業環境で動作する複数のロボットの夫々を制御する制御システムであって、複数のロボットに対する制御パラメータを算出する制御パラメータ算出部と、制御パラメータに基づいて、複数のロボットの工程を生成する最適化部と、工程に基づいて、複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部と、タスクモジュールに基づき複数のロボットを制御する制御部とを備え、最適化部は、影響関係にあるタスクの実行時刻が重複する時、他方のロボットのタスクを制約することを特徴とする制御システム。

Description

制御システム及び制御方法
 本発明は、非整備環境における多様なタスクを複数のロボットが遂行する制御システム及び制御方法に関する。
 近年、少子高齢化に伴う労働力不足や、自然災害による危険区域での作業などが社会課題となっている。それらの解決へ向けて、ロボットを制御しやすく整備した工場のような空間以外の環境(非整備環境)において活用することが期待されている。非整備環境における多様なタスクを効率的に遂行するためには、性能が異なる複数のロボットを同時に制御する必要がある。
 特許文献1では、複数のタスクを分担して実行する複数のロボットに関して、タスクの実行時間の変動に伴う工程の非効率化を課題とし、ロボットが次に実行可能なタスクの候補から、実行までの待ち時間が最小となるタスクを実行する、計画作成装置を提案している。
特開2019-197367号公報
 整備された環境で実行する工程では、タスク間の制約条件として、作業の順番に関する制約、作業位置や工具の競合を避けるための制約が与えられる。一方で、非整備環境で実行する工程では、それらの制約条件のみでは不十分であり、タスクの実行に伴う振動や騒音などの物理現象による他タスクへの制約(動作制約)を考慮する必要がある。
 例えば、不安定な地盤上で作業する複数のロボットについて、高速な移動を伴うタスクを行うロボットによる地盤の振動が、位置決めの精度が要求されるボルト挿入などのタスクを行う他方のロボットへ悪影響を与え、後者のタスクが失敗する恐れがある。そのような場合、前者のタスクの制御パラメータを変更することで、後者のタスクの実行が可能になることがある。
 従って、非整備環境において安全且つ効率的な工程を遂行するためには、動作制約を考慮する事が必要であるが、特許文献1では動作制約について想定されていない。
 以上のことから本発明においては、動作制約による影響を考慮した上での効率的な工程を計画することができ、且つ計画された工程と矛盾のない制御を実行することができる制御システム及び制御方法を提供すいることを目的とする。
 以上のことから本発明においては、「同じ作業環境で動作する複数のロボットの夫々を制御する制御システムであって、複数のロボットに対する制御パラメータを算出する制御パラメータ算出部と、制御パラメータに基づいて、複数のロボットの工程を生成する最適化部と、工程に基づいて、複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部と、タスクモジュールに基づき複数のロボットを制御する制御部とを備え、最適化部は、影響関係にあるタスクの実行時刻が重複する時、他方のロボットのタスクを制約することを特徴とする制御システム」としたものである。
 また本発明においては、「同じ作業環境で動作する複数のロボットの夫々を制御する制御システムであって、複数のロボットに対する制御パラメータを算出する制御パラメータ算出部と、制御パラメータに基づいて、複数のロボットの工程を生成する最適化部と、工程に基づいて、複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部と、タスクモジュールに基づき複数のロボットを制御する制御部を備え、制御パラメータ算出部は、影響関係にあるタスクの実行時刻が重複する時、一方のロボットのタスク実行への影響を軽減するために、他方のロボットの動作に対して動作制約を課して制御パラメータを算出し、最適化部は、影響関係にあるタスクの実行時刻が重複する時、他方のロボットに対する制御パラメータに基づいて他方のロボットがタスク実行に要する時間を算出し、算出結果に基づいて前記複数のロボットの工程を生成することを特徴とする制御システム」としたものである。
 また本発明においては、「同じ作業環境で動作する複数のロボットの夫々を制御する制御方法であって、複数のロボットに対する制御パラメータを算出し、制御パラメータに基づいて、複数のロボットの工程を生成し、工程に基づいて、複数のロボットのそれぞれに対するタスクモジュールを選択し、タスクモジュールに基づき複数のロボットを制御するとともに、影響関係にあるタスクの実行時刻が重複する時、他方のロボットのタスクを制約することを特徴とする制御方法」としたものである。
 本発明により、動作制約による影響を考慮した上での効率的な工程を計画することができ、且つ計画された工程と矛盾のない制御を実行することができる。
非整備環境で複数ロボットが複数タスクを実行する例を示す図。 本発明の実施例1に係る制御システムの構成例を示す図。 計画生成部12とロボットRの間での大まかな処理の流れを示すフロー図。 ロボットの処理の流れを示すフローチャート。 記憶部11に格納されるタスクの情報Dの一例を示す図。 タスク情報のうち制御パラメータの算出方法の一例を示す図。 最適化部15で工程を最適化する過程で得られる部分工程の一例を示す図。 動作制約を要求されるタスクの実行時間の算出方法の一例を示す図。 制御部19の構成例を示す図。 計画生成部12において最終的に生成された工程を示す図。 実施例2で追加される記憶部11のタスク情報Dを示す図。 実施例2のロボットの作業環境を示す図。 実施例2のタスク情報のうち制御パラメータの算出方法を示す図。 実施例3のロボット及び無人航空機の作業環境を示す図。 実施例3で追加される記憶部11のタスク情報を示す図。 実施例3のタスク情報のうち制御パラメータの算出方法を示す図。 実施例3の制御システムの構成例を示す図。 実施例3の制御システム全体の処理の流れを示すフローチャート。 遠隔操作を伴うタスクモジュール40がある場合の構成を示す図。 実施例5の制御システムの構成を示す図。 実施例5の制御システム全体の処理の流れを示すフローチャート。 実施例6におけるタスクinsert(x、y)の構成を示す図。 実施例6におけるタスクinsert(x、y)の動作制約を示す図。
 以下、本発明の実施例について図面を用いて詳細に説明する。
 本発明は、非整備環境で複数ロボットが複数タスクを実行する工程を計画及び制御する制御システムである。その説明にあたり、図1に示す非整備環境で複数ロボットが複数タスクを実行することを想定する。
 図1に示す作業環境(非整備環境)では、ロボットR1、R2がロープ5で吊るされた不安定な作業床4の上で、壁6に対する作業を行う。ここで、作業床4はロープ5に吊られている状況を想定しているが、グレーチングのような弾性のある床など、不安定な地盤上で作業する別の状況へ置き換えて考えてもよい。図1に示す状況は、例えば、施工現場、構造物の保守点検などが該当する。
 図2は本発明の実施例1に係る制御システムの構成例を示す図である。制御システム10は、記憶部11、計画生成部12、およびロボットR1、ロボットR2で構成される。
この制御システム10は、上位と下位の2組の計算機装置を用いて構成されており、計画生成部12による上位計算機装置で求めた動作指令を、通信を介して下位計算機装置であるロボットR1、ロボットR2に与える。ロボットR1、ロボットR2は動作指令に応じた動作を実行するとともに、ロボット側で計測した各種の情報を適宜計画生成部12に送信して、以降の動作指令の作成に反映させる。
 このうち、計画生成部12はその詳細を後述するが、複数のロボットRのそれぞれに対する制御パラメータを算出する制御パラメータ算出部16と、複数のロボットRのそれぞれにおけるタスクの実行時間を求める実行時間算出部17と、制御パラメータとタスクの実行時間に基づいて、複数のロボットの工程を生成する最適化部12の各機能を備えている。
 また複数のロボットRは、工程に基づいて、複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部18と、タスクモジュールに基づき複数のロボットを制御する制御部19と、ロボットのアームや足などの操作端を機械的に駆動させる動作部20を備えている。なお、図1の例では上位と下位の計算機装置が行う機能を上記のように配分したが、どちらにどこまでの機能を持たせるのがよいのかは、適宜に決定することができる。
 図3は、上位と下位の計算機装置である計画生成部12とロボットR1、ロボットR2の間での大まかな処理の流れを示す図である。この図によれば、計画生成部12の処理ステップS1では、ロボットR1、R2が実施可能なタスクの情報を記憶部11から読込む。次に計画生成部12の処理ステップS2では、各ロボットの工程を計画し、動作指令としてロボットR1、R2に与える。ロボットR1、R2は、詳細を図4に示す処理ステップS100を実行する。
 以下、上位側から順次、詳細な処理の流れについて説明する。まず、図5は、記憶部11に格納されるタスクの情報Dの一例である。タスク情報Dは、タスクの名称D1、タスクの実行時間D2、タスクを実行する上での制約条件D3を少なくとも含んで構成されている。
 このうちタスク名称D1は、ロボットが実行するタスクの種別を定義したものであり、その動作内容に応じて移動(move)、穴あけ(drill)、把持(grasp)、挿入(insert)、取り付け(attach)、取り外し(detach)などを準備している。ここで、タスクは「タスク名(対象1、対象2)」で記述しており、カッコ内にはそのタスクの実行対象を、1あるいは複数指定している。
 なおロボットのタスクは、制御パラメータにより定義することができる。制御パラメータは、そのタスクを実行中であるロボットの動作を制御するパラメータであり、ここでは、最大移動速度vmaxを制御パラメータとする事例で説明するものとする。なお、制御パラメータの情報も記憶部11に保有しているものとする。
 図5に例示したこれらのタスクは、同じタスク名でも対象により実行時間や制約条件が異なることから、タスク情報Dは、個別のタスク名称D1ごとに、タスクの実行時間D2と制約条件D3を個別に設定している。
 このうち実行時間D2は、時間を示す記号tのあとに各タスクの名称で使用した記号を付すことで、区別して表記している。実行時間tはそのタスクを開始してから完了するまでの推定所要時間である。制約条件D3は、当該タスクを開始する時点で完了している必要があるタスクを示している。この例では、順序制約D31、作業位置D32、使用工具D33、把持ワークD34、動作制約D35が与えられる。本発明は、動作制約D35の考え方を導入した点に特徴がある。
 制約条件D3が意味する事項について、以下詳細に説明する。まず図5の順序制約D31について、ここに記述されるdrill(y)に関して、対象xを対象yへ挿入するタスクinsert(x、y)は、対象yを穴あけするタスクdrill(y)の後に実行する必要がある事を示している。
 図5の作業位置D32に記述される作業位置Pは、当該タスクを実行する際に占有する領域であり、当該タスクを実行している間は、当該タスクを実行するロボット以外のロボットが、作業位置Pへ侵入しない必要がある事を示している。なおPは、対象xが存在する位置を表している。
 図5の使用工具D33に記述される使用工具Tは、当該タスクを実行する際に使用する工具であり、当該タスクを実行している間は当該タスクを実行するロボット以外のロボットが、工具Tを使用していない必要がある事を示している。
 図5の把持ワークD34に記述される把持ワークは、当該タスクを実行する際に使用するワークであり、当該タスクを実行している間は当該タスクを実行するロボット以外のロボットが、当該ワークを使用していない必要がある事を示している。
 図5の動作制約D35に記述される動作制約は、当該タスクの実行の可否に係る物理量に対する制約条件である。図5の例では、タスクinsert(x、y)を実行する間は、作業床4の振動の加速度αfloorが閾値αfloor、thより小さい必要があることを示している。これは、タスクinsert(x、y)が精密な作業であり、作業床4の振動が大きすぎると失敗することを意味している。
 このため本発明においては、当該タスクを実行している間は、他のタスクの例えば制御パラメータを変更し、動作制約を満たす状況を作ることで、当該タスクを実行することが可能となるようにするものである。ここで、タスク名insertの異なる対象x、yに対して異なる閾値αfloor、th、insert(x、y)を与えることも可能である。また、ここでは精密作業の例としてボルトの挿入を例に挙げているが、作業対象の切削や塗装、位置合わせが必要な組立て、対象物の認識などに置き換えることができる。
 記憶部11には、図5のタスク情報Dの一部として、さらに複数の目標完了タスクが設定されている。この事例での目標完了タスクは、図1の作業現場でロボットRがポイント1の点にボルトを挿入する処理(insert(bolt、point1))、ポイント2の点にボルトを挿入する処理(insert(bolt、point2))、ポイント3の点にボルトを挿入する処理(insert(bolt、point3))、ポイント4の点にボルトを挿入する処理(insert(bolt、point4))であり、これら全ての処理を完了する必要がある。
 図6は、記憶部に格納される制御パラメータの算出方法を説明する図であり、横軸の各タスクの制御パラメータである最大移動速度vmaxと、縦軸の作業床の振動の加速度αfloorの関係を示している。横軸のvmax、0は通常時の最大移動速度であり、動作制約を考慮する必要がない場合にはvmax、0でタスクを実行する。
 図6の例では、いずれのタスクでも制御パラメータvmaxに伴って振動の加速度αfloorも増加しているため、αfloor(vmax)=αfloor、thとなるvmaxが最適値v’maxとなる。
 一方で、タスクdrill(point)は、いずれの制御パラメータvmax、drill(point1)でもαfloor(vmax、drill(point1))>αfloor、thであるため、タスクinsert(x、y)とタスクdrill(p
oint1)は同時に実行することができないことを示している。
 閾値αfloor、thの取得には、例えば、作業床4に加速度センサを取り付けた状態で、動作制約を要求するタスクと動作制約が要求されるタスクを実行し、後者のタスクの制御パラメータを小さくしていったときに、前者のタスクが成功するαfloorをαfloor、thとする。その他にも、上記手続きをシミュレーション上で評価する方法や、作業床4の振動を再現可能な実験装置上で前者のタスクのみを評価する方法などが考え得る。
 ここで、閾値を設定する物理量は必ずしもαfloorである必要はなく、ロボット自身に搭載されたセンサから取得される加速度や、カメラから取得される映像のぶれ量など、タスク失敗の指標となり得る物理量であれば問題ない。
 また図6では、一例としてタスクdrill(point1)、move(Ppoint1)、move(Ppoint2)について抜粋しているが、他のタスクについても同様に関係を示すことができる。
 また、作業環境やタスクの性質に応じて、制御パラメータとして移動速度以外に、移動加速度、移動角速度、移動角加速度や、ある特定方向に対する移動速度などを設定することも可能である。
 例えば、タスクinsert(bolt、point1)について、ボルトの軸方向に対する作業床4の振動に対して堅牢性がある場合、動作制約をαfloor、perp<αfloor、thのように、ボルト軸に対して垂直方向への作業床4の振動の加速度αfloor、perpに対する条件を与える。そして、図6におけるタスクの制御パラメータをvmaxの代わりに軸方向の最大移動速度vmax、perpとする。また、図6では、vmaxとαfloorの関係を線形関数で表しているが、非線形関数で表されることも考え得る。
 図6では、動作制約として物理量に対する条件を記述しているが、当該物理量と制御パラメータvmaxの関係を事前に計算しておく、あるいは、タスクが失敗しない制御パラメータvmaxを直接計測しておくことで、例えば、vmax、drill(point1)=0.3[m/s]、vmax、move(Ppoint1)=1.5[m/s]、…のように制御パラメータ自体を記述することも可能である。
 図5に示す制約条件D3は、作業環境やタスクの種類に応じて拡張または縮小することが可能である。本発明に係る制御システムを利用するにあたっては、少なくとも動作制約D3が含まれている必要がある。
 図2に戻り、処理ステップS2では、計画生成部12において、図5に示すタスクから構成される各ロボットR1、R2の工程を計画する。計画生成部12内の最適化部15、制御パラメータ算出部16、実行時間算出部17が、処理ステップS2の実施のために利用される。
 最適化部15は、図5に示すタスクの制約条件を満たし、且つ、図5に示す目標完了タスクを全て完了できる工程を作成し、終了時間や消費電力といった評価値が最小となるような工程を探索する。
 最適な工程の探索手法としては、グラフ探索アルゴリズム(貪欲法、A*アルゴリズムなど)、メタヒューリスティクス(進化的アルゴリズム、焼きなまし法など)、強化学習などがある。例えば、A*アルゴリズムを用いる場合には、一部タスクを割当てた部分工程を1つのノードとし、評価関数が最小であるノードを発展させていくことで最適な工程を探索する。本実施例ではA*アルゴリズムを用いた場合について説明するが、他の手法を用いた場合も同様な処理を実施できる。
 図7は、最適化部15において工程を最適化する過程で得られる部分工程の一例である。部分工程30a、30bはいずれも、目標完了タスクのうちinsert(bolt、point1)のみを割当てた状態である。
 この部分工程30a、30bの事例では、ロボットR2が所定の穴掘り場所に移動して穴を掘る役を担当し、ロボットR1はボルトを持って、穴の位置に移動して、ボルトを挿入するという役割を適宜の時間遅れを伴いながら実行するというものである。
 なお、作業位置の制約条件D32により、ロボットR2がタスクdrill(point1)を実行している間は、ロボットR1はタスクmove(Ppoint1)を実行することができないため、ロボットR2のdrill(point1)が完了した後にロボットR1のmove(Ppoint1)を開始している。
 処理ステップS2の処理において、実行時間算出部17は、部分工程30a、30bの作成に必要となる各タスクの実行時間tを算出する。動作制約を伴うタスク以外のタスクの実行時間tは、通常時の実行時間tである。例えば、t0、drill(point1)=20[s]、t0、move(Ppoint2)=15[s]、…のように一定値で与えられる。
 一方で、部分工程30aのロボットR2のタスクmove(Ppoint2)のように、動作制約を要求するロボットR1のタスクinsert(bolt、point1)と同時に実行するようなタスクについては、動作制約に起因する制御パラメータの変更に基づき、実行時間を算出する。
 図8は、図7の部分工程30aにおける、ロボットR2のタスクmove(Ppoint2)の実行時間の算出方法を説明する図である。タスクmove(Ppoint2)の通常時の実行時間tのうち、タスクinsert(bolt、point1)と実行が重なっている時間をtolとすると、タスクmove(Ppoint2)の実際の実行時間tは、t=t+tol(vmax、0/v’max-1)で算出される。
 ここで、v’maxは、制御パラメータ算出部16において、図6に示すタスク情報を基に算出される。この時、タスクの開始から完了までの移動速度は常に最大移動速度であると仮定している。実行時間の算出方法はこの限りでなく、例えば、より詳細な速度分布を考慮する方法や、シミュレーションによる解析結果を利用する方法なども考え得る。
 また、動作制約による制御パラメータの制限が大きい場合などには、動作制約を要求するタスクと要求されるタスクの実行が重ならないようにした方が、効率的な工程になる可能性がある。
 図7の部分工程30bは、動作制約を要求するロボットR1のタスクinsert(bolt、point1)と、要求されるロボットR2のタスクmove(Ppoint2)の実行が重ならないように作成された部分工程である。部分工程30a、30bを比較すると、部分工程30aの方が終了時間は早いが、最適な工程は、全ての目標完了タスクが割当てられた最終的な工程の評価値に基づき決定される。
 かくして、計画生成部12において全ての目標完了タスクを実行する上での最適な工程として、図10に示す最終工程50が決定され、最適工程は各ロボットR1、R2に動作指令として与えられる。この動作指令を受けた各ロボットR1、R2は、図4に詳細を示す処理ステップS100を実行する。
 ロボットRにおける図4の処理ステップS100の一連のフローのうち、処理ステップS10以降は、ロボットR1、R2の制御を並列して実施する。ここで、処理ステップS10~S13は図2のタスク選択部18、処理ステップS14~S18は図2の制御部19で実施される。
 図9は制御部19の構成例を示す図であり、ロボットR1、R2が図5の各タスクを実行するためのタスクモジュール(制御プログラム)40を備える。制御部19でタスクモジュール40が起動されると、タスクモジュールに記述されたプログラムに基づき、動作部20がロボットR1またはロボットR2を制御する。
 タスクモジュール40の記述方法は任意であるが、例えば、タスクモジュールdrill(point1)であれば、ロボットが装着するドリルの先端をpoint1へアプローチさせ、ドリルビットを回転させながらpoint1を穴あけし、指定の深さまで穴あけが完了したらアプローチ位置まで戻る、という一連の動作を実行するための制御指令が記述されている。
 図4に戻り、最初の処理ステップS10では、処理ステップS2で生成された図10に示す最終工程50の順番に従って、次に実行するタスクを選択する。次に実行するタスクがある場合には、処理ステップS11へ進む。次に実行するタスクがない場合には、当該ロボットが処理すべき一連のタスクが全て実行されたものとして処理を終了する。
 処理ステップS11では、ロボットR1であればロボットR2、ロボットR2であればロボットR1が実行するタスクを確認し、処理ステップS12で、次に実行するタスクが実行制約を満たしているかを判定する。
 実行制約は、次に実行するタスクの開始時刻が、他のロボットRが現在実行しているタスクの推定完了時刻より早い場合に満たされる制約である。例えば、図10の工程50において、ロボットR1のタスクgrasp(bolt)が完了した時刻t1に、次のタスクmove(Ppoint1)の実行制約を確認すると、その時点でロボットR2が実行しているタスクdrill(point1)の推定完了時刻t2はgrasp(bolt)の開始時刻t2と同じであるため、実行制約は満たされない。
 その場合、実行制約が満たされるまで処理ステップS11と処理ステップS12を繰り返すこととなり、工程50では、時刻t2でロボットR1が処理ステップS13へ進むこととなる。
 ここで、処理ステップS12では、実行制約の代わりに、図5に示す制約条件D3を全て判定してもよい。ただし、その場合、図7の部分工程30bに示すような、動作制約D35を要求するタスクinsert(bolt、point1)と要求されるタスクmove(Ppoint2)が敢えて重複しないように計画された工程についても、タスクmove(Ppoint2)の実行中にタスクinsert(bolt、point1)を開始しないような判定をできる必要がある。
 処理ステップS13では、処理ステップS10で選択されたタスクに関する図9のタスクモジュール40を起動し、タスクモジュール40に基づく当該ロボットRの制御を開始する。
 処理ステップS14では、他のロボットRが実行するタスクを確認し、処理ステップS15で、当該タスクの動作制約D35に関する判定を行う。当該タスクが動作制約D35を要求するタスクで、制御を行っているロボットRの実行するタスクが要求される動作制約D35を満たしていなければ、処理ステップS16で、制御しているロボットRが実行するタスクモジュール40の制御パラメータを制限する。
 一方で、処理ステップS15で他ロボットRのタスクが動作制約D35を要求しないタスクであるか、あるいは、動作制約D35を要求するタスクであるが、制御を行っているロボットRの実行するタスクが動作制約D35を既に満たしていれば、タスクモジュール40において通常時の制御パラメータを使用する。
 そして、処理ステップS18で、制御を行っているロボットRの実行するタスクモジュール40が完了しているかを確認し、完了していれば処理ステップS10へ戻って次のタスクの処理を行う。処理ステップS18で、タスクモジュール40が完了していなければ、処理ステップS14へ戻って、タスクモジュール40が完了するまで、動作制約D35に関する判定と処理を行う。
 最終的に、処理ステップS10において、工程50に次のタスクが存在しないと判定された場合、当該ロボットRの制御を終了する。
 例えば、図10の工程50において、時刻t2から時刻t3の間では、処理ステップS15でロボットR2に対する動作制約D35が満たされていると判定されるため、タスクモジュールmove(Ppoint2)は通常時の制御パラメータvmax、0で実行される。
 一方で、時刻t3から時刻t4の間では、ロボットR1が実行するタスクinsert(bolt、point1)が動作制約D35を要求するため、処理ステップS15でロボットR2に対する動作制約D35が満たされていないと判定され、タスクモジュールmove(Ppoint2)は制限された制御パラメータv’maxで実行される。
 上記では、タスクモジュール40の内部で制御パラメータを変更する方法を説明したが、制御パラメータが異なるだけのタスクモジュールを複数用意する方法でも問題ない。この場合、図4の処理ステップS16では、制御部19において、通常時の制御パラメータを持つタスクモジュールから制限された制御パラメータを持つタスクモジュールに切り替える処理を行う。
 以上のように、実行時刻が重複する他のタスクの性質を考慮して制御パラメータを変更することで、動作制約を考慮した上での効率的な工程を計画し、且つ計画された工程と矛盾のない制御を実行することができる。
 なお以上の説明では、制御パラメータを変更する事例について説明したが、これは動作制約D35の条件成立に応じて動作を制限(制約)するものであればよい。動作制限とは、動作停止や、動作遅延、あるいは動作の緩慢化を含むものであり、制御パラメータの変更は、動作制限を実現するための具体的な手段にすぎず、他の手段により動作制限を行うものであってもよい。
 本実施例では、ロボットR1、R2が実行するタスクとして、図11に示すタスクが追加された場合について説明する。
 図11において、タスクpick(x)は対象xを持ち上げ、タスクcarry(x、P)はタスクpick(x)で持ち上げた対象xを位置Pまで運搬し、タスクplace(x、P)はタスクcarry(x、P)で運搬された対象xを位置Pへ下す、という作業を行う。
 ここでは、タスクcarry(x、P)に対して動作制約D35を定義している。これは、ハンドT3を使用して対象xを運搬する際に作業床4の振動αfloorが閾値αfloor、thより大きいと、対象xの慣性力により対象xがハンドT3から落下してしまうことを意味している。ここで、対象xは液体を収納する容器とし、作業床4の振動αfloor>αfloor、thにより内容物が零れてしまうという状況に置き換えてもよい。
 実施例1と実施例2の相違は、タスクモジュールcarry(x、P)自身の制御パラメータを変更可能な点である。タスクcarry(x、P)はロボットの移動加速度を小さくすることで、把持物が落下するリスクを低減することができる。
 図12に示す作業環境では、ロボットR1がタスクcarry(object、Pcontainer)、ロボットR2がタスクdrill(point1)を実行する状況を例として、処理の流れを説明する。
 図13は、図12の状況について、ロボットR2のタスクdrill(point1)におけるドリルビットの送り速度v(制御パラメータ)を縦軸に、ロボットR1のタスクcarry(object、Pcontainer)における最大移動加速度αmax(制御パラメータ)横軸にとって、最大移動加速度αmaxを変更するときの、αfloorについて示している。ロボットR1、R2の制御パラメータの組合せ(αmax、v)によりαfloorが決まり、図13のハッチング部分60の組合せの場合に動作制約が満たされる。したがって、曲線部分61の組合せを用いる場合が最適である。
 計画生成部12において、ロボットR2のタスクdrill(point1)とロボットR1のタスクcarry(object、Pcontainer)の実行が重なったときの各タスクの実行時間を実行時間算出部17で算出する場合、制御パラメータ算出部16で図13に基づいて取得された制御パラメータの最適な組合せ全てについて評価すると、膨大な計算時間が必要となることがある。
 そのため、例えば、最適な組合せのうち数点に対して評価する方法などが考えられる。
この時、実行時間の算出には、例えば、シミュレーションによる解析結果を使用することが可能である。
 また、計画生成部12で計画された工程に基づいてロボットR1、R2を制御する際に、ロボットR2のタスクモジュールdrill(point1)の実行とロボットR1のタスクモジュールcarry(object、Pcontainer)の実行が重なったときには、図4の処理ステップS15、S16に従って両方のタスクモジュールの制御パラメータを制限する。このとき、制御パラメータは、処理ステップS2の工程の計画で決定された制御パラメータと同じ組合せを採用する必要がある。
 本実施例では、図14に示す災害現場のような非整備環境において、ロボットR1、R2と無人航空機R3(これもロボットの一種)が同時に連係して、瓦礫70a、70bの撤去作業を実施する工程を例に説明する。実施例1、2と本実施例との相違は、制御するロボットが2台より多く、1つの動作制約を要求するタスクに対して、2つ以上のタスクに動作制約が要求される可能性がある点である。
 図15は、無人航空機R3が実行するタスク情報D3である。ロボットR1、R2は図5に示すタスクを実行する。無人航空機R3はタスクmove(P)で位置Pまで移動し、タスクsearch(x、P)によって位置Pにおいて被災者xの存在を調査する。
 このとき、タスクsearch(x、P)には、動作制約PUAV≦PUAV、thが与えられる。これは、視覚では捉えにくい被災者xの存在を調査するために聴覚センサを使用するが、無人航空機R3の位置における他のタスクからの音圧PUAVが閾値PUAV、thより大きいと、正常な調査を行うことができないことを意味する。ここで、音圧PUAVの代わりに、騒音の周波数fUAVに対して、例えば、「fUAV<fUAV、lower、fUAV>fUAV、upper」のように動作制約を与えることも考えられる。
 図14に示す、ロボットR1、R2が瓦礫70を解体するタスクdrill(rubble)、無人航空機R3が被災者を調査するタスクsearch(victims、P)を実行する状況を例として、処理の流れを説明する。
 図16は、図14の状況について、ロボットR1のタスクdrill(rubble)におけるドリルビットの送り速度vr1(制御パラータ)と、ロボットR2のタスクdrill(rubble)におけるドリルビットの送り速度vr2(制御パラータ)を変更するときの、PUAVについて示している。ロボットR1、R2の制御パラメータの組合せ(vr1、vr2)によりPUAVが決まり、図16のハッチング部分80の組合せの場合に動作制約が満たされる。したがって、曲線部分81の組合せを用いる場合が最適である。
 本実施例の場合、計画生成部12では、ロボットR1、R2と無人航空機R3の3台について工程を計画する。基本的な処理の流れは実施例1と同じであるが、動作制約D35を要求するタスクと実行が重なるタスクの実行時間を実行時間算出部17で算出する場合については、制御パラメータ算出部16で図16に基づいて取得された制御パラメータの最適な組合せを用いる必要がある。
 例えば、無人航空機R3のタスクsearch(victims、P)と、ロボットR1、R2のタスクdrill(rubble)の実行時刻が重なった場合、図16における曲線部分81の制御パラメータの組合せ(vr1、vr2)から数点を選択し、それぞれの組合せに対して実行時間を算出し、複数の部分工程を作成する。このとき、実行時間の算出には、例えば、シミュレーションによる解析結果を使用することが可能である。
 図17は、本実施例における制御システムの構成であり、図2の構成に無人航空機R3が追加された構成である。また、図18は、本実施例における制御システムの処理の流れであり、図3の構成に無人航空機R3の制御のためのフローが追加される。
 計画生成部12で計画された工程に基づいて制御する際に、ロボットR1、R2のタスクモジュールdrill(rubble)の実行と、無人航空機R3のタスクモジュールsearch(victims、P)の実行が重なった場合には、図4の処理ステップS15、S16に従ってロボットR1、2の両方のタスクモジュールの制御パラメータを制限する。このとき、制御パラメータは、処理ステップS2の工程の計画で決定された制御パラメータと同じ組合せを採用する必要がある。
 以上の説明では、被災者を調査するタスクに対する、瓦礫を解体するタスクの騒音による影響を動作制約として与えた。一方で、前者を機械の異常音を検知するタスク、後者を溶接あるいはロボット自体の駆動音が問題となるタスクなどに置き換えても、同様な処理を実施することが可能である。
 本実施例では制御対象を2台から3台へ増やすときの変更点について説明したが、制御対象がそれ以上になった場合についても同様な拡張を行うことができる。
 図19は、図9に示すタスクモジュールのうち少なくとも1つが、オペレータによるロボットR1あるいはロボットR2の遠隔操作に置き換わった場合の構成である。遠隔操作部90は、作業環境表示部91、ロボット操作部92、実行タスク表示部93、状態表示部94で構成される。
 作業環境表示部91は、作業環境の映像がリアルタイムで表示され、作業環境やロボットの状態をオペレータが確認することができる。ロボット操作部92は、オペレータがロボットを制御するためのユーザーインターフェースであり、オペレータによるインターフェースへの入力情報に基づき、ロボットの動作が制御される。
 実行タスク表示部93は、起動されたタスクモジュールで実行すべきタスクの内容が表示される。例えば、タスクモジュールmove(Ppoint1)が起動された場合、制御するロボットを位置Ppoint1へ移動するという指示が表示される。この時、作業環境表示部91に位置Ppoint1を示すことで操作性を向上することなども可能である。状態表示部94は、タスクの実行状況を表示し、タスクの完了判定やタスクに課されている制約条件などをオペレータが確認する事ができる。
 ここで、図4の処理ステップS16で、動作制約に基づき、遠隔操作するタスクモジュールの制御パラメータが制限される場合、ロボット操作部92で制御パラメータが動作制約による閾値以上にならないように、操作が制限される。例えば、タスクモジュールmove(Ppoint1)に対して最大速度vmaxへの動作制約vmax<vmax、thが課された場合、ロボット制御部92ではオペレータからの進行方向に関する入力のみを受付けて、vmaxは内部的に決定する方法などが考えられる。
 実施例1において、図2に示す制御システムの構成では、ロボットR1、R2のそれぞれについてタスク選択部18、制御部19が備えられている。
 これに対し実施例5では、図20のシステムの構成のように、タスク選択部18、制御部19をロボットR1とロボットR2で統合したものである。その場合、制御システムの処理の流れは図21のようになり、処理ステップS10~S18の各ステップではロボットR1、R2の両方について処理を行うこととなる。あるいは、処理ステップS10~S18の一連の処理をロボットR1、R2に対して交互に行うことも可能である。
 本実施例では、タスクの途中で動作制約が変化する場合について説明する。
 図22は、図5のタスクinsert(x、y)を要素動作に分割したときの構成である。対象xを対象yへ挿入するタスクinsert(x、y)は、yを探索する動作100、xを挿入する動作101、xを解放した後に初期位置へ戻る動作103の3つに分割できる。
 図23は、図22のようにタスクinsert(x、y)を要素動作に分割できるとした場合の当該タスクの制約条件である。要素動作毎に作業床4の振動による影響の大きさが異なるため、それぞれの実行に対して異なる動作制約を与えている。動作100と動作101は作業床4の振動により失敗する可能性があるため、それらを実行する区間a、bには動作制約を与えている。
 一方で、動作102は作業床4の振動による影響を受けないため、動作102を実行する区間cには動作制約を与えていない。また、動作101より動作100の方がより高い位置合わせの精度が求められるため、区間bの動作制約の閾値αfloor、th2より区間aの動作制約の閾値αfloor、th1の方が小さくなっている。
 図4のフローチャートの処理ステップS14において、他のロボットがタスクinsert(x、y)を実行している場合、タスクinsert(x、y)のどの要素動作を実行しているかにより動作制約の条件が切換る。それにより、処理ステップS15の判定結果と、処理ステップS16で選択される制御パラメータの値が変化する。
 以上により、図5のようにタスク内で動作制約の条件が一定である場合よりも適切な制御パラメータを選択する事が可能となり、より効率的な工程の制御が実現される。
R1:ロボット、R2:ロボット、10:制御システム、11:記憶部、12:計画生成部、15:最適化部、16:制御パラメータ算出部、17:実行時間算出部、18:タスク選択部、19:制御部、20:動作部、40:タスクモジュール

Claims (14)

  1.  同じ作業環境で動作する複数のロボットの夫々を制御する制御システムであって、
     前記複数のロボットに対する制御パラメータを算出する制御パラメータ算出部と、前記制御パラメータに基づいて、前記複数のロボットの工程を生成する最適化部と、前記工程に基づいて、前記複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部と、前記タスクモジュールに基づき前記複数のロボットを制御する制御部とを備え、
     前記最適化部は、影響関係にあるタスクの実行時刻が重複する時、他方のロボットのタスクを制約することを特徴とする制御システム。
  2.  請求項1に記載の制御システムであって、
     前記他方のロボットのタスクの制約は、タスク実行時刻の遅延処理であることを特徴とする制御システム。
  3.  請求項1に記載の制御システムであって、
     前記他方のロボットのタスクの制約は、前記ロボットの動作の緩慢化であることを特徴とする制御システム。
  4.  請求項1に記載の制御システムであって、
     前記他方のロボットのタスクの制約は、前記制御パラメータを変更することで行われることを特徴とする制御システム。
  5.  同じ作業環境で動作する複数のロボットの夫々を制御する制御システムであって、
     前記複数のロボットに対する制御パラメータを算出する制御パラメータ算出部と、前記制御パラメータに基づいて、前記複数のロボットの工程を生成する最適化部と、前記工程に基づいて、前記複数のロボットのそれぞれに対するタスクモジュールを選択するタスクモジュール選択部と、前記タスクモジュールに基づき前記複数のロボットを制御する制御部を備え、
     前記制御パラメータ算出部は、影響関係にあるタスクの実行時刻が重複する時、一方のロボットのタスク実行への影響を軽減するために、他方のロボットの動作に対して動作制約を課して制御パラメータを算出し、
     前記最適化部は、前記影響関係にあるタスクの実行時刻が重複する時、前記他方のロボットに対する制御パラメータに基づいて前記他方のロボットがタスク実行に要する時間を算出し、算出結果に基づいて前記複数のロボットの工程を生成することを特徴とする制御システム。
  6.  請求項5に記載の制御システムであって、
     前記制御部は、前記一方のロボットのタスク実行状況に応じて、前記他方のロボットに対する制御パラメータを切り換えることを特徴とする制御システム。
  7.  請求項5に記載の制御システムであって、
     前記制御パラメータは、前記ロボットの動作に関する速度、加速度、角速度、角加速度のいずれかを含むことを特徴とする制御システム。
  8.  請求項5に記載の制御システムであって、
     前記制御パラメータ算出部は、前記タスクの実行の可否に影響する物理量に対する条件式を与え、前記条件式を満たすような制御パラメータを算出することを特徴とする制御システム。
  9.  請求項8に記載の制御システムであって、
     前記物理量は、前記複数のロボットが作業する環境にある物体の振動に関する物理量、あるいは、作業環境のある位置における騒音に関する物理量であることを特徴とする制御システム。
  10.  請求項5に記載の制御システムであって、
     前記他方のロボットがタスク実行に要する時間の算出に、前記他方のロボットが実行するタスクの通常時の実行時間と、前記一方のロボットが実行するタスクと前記他方のロボットが実行するタスクの実行が重複する時間と、前記他方のロボットの通常時の制御パラメータと、前記制御パラメータ算出部で算出された前記他方のロボットの動作制約で制限されたときの制御パラメータを用いることを特徴とする制御システム。
  11.  請求項5に記載の制御システムであって、
     前記制御パラメータ算出部は、前記他方のロボットと前記一方のロボットの制御パラメータを算出し、前記最適化部は、前記複数のロボットのタスク実行時刻が重複する場合に、前記他方のロボットと前記一方のロボットに対する制御パラメータに基づいて、前記他方のロボットと前記一方のロボットがタスク実行に要する時間を算出し、前記制御部は、前記一方のロボットのタスク実行状況に応じて、前記他方のロボットと前記一方のロボットに対する制御パラメータを切り換えることを特徴とする制御システム。
  12.  請求項5に記載の制御システムであって、
     前記タスクモジュールに基づき、前記複数のロボットのいずれかの制御を、オペレータによる遠隔操作で実施することを特徴とする制御システム。
  13.  請求項5に記載の制御システムであって、
     前記タスクモジュールが2つ以上の動作で構成され、各動作に異なる動作制約を設定することを特徴とする制御システム。
  14.  同じ作業環境で動作する複数のロボットの夫々を制御する制御方法であって、
     前記複数のロボットに対する制御パラメータを算出し、前記制御パラメータに基づいて、前記複数のロボットの工程を生成し、前記工程に基づいて、前記複数のロボットのそれぞれに対するタスクモジュールを選択し、前記タスクモジュールに基づき前記複数のロボットを制御するとともに、
     影響関係にあるタスクの実行時刻が重複する時、他方のロボットのタスクを制約することを特徴とする制御方法。
PCT/JP2022/047849 2022-03-14 2022-12-26 制御システム及び制御方法 WO2023176092A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-038837 2022-03-14
JP2022038837A JP2023133711A (ja) 2022-03-14 2022-03-14 制御システム及び制御方法

Publications (1)

Publication Number Publication Date
WO2023176092A1 true WO2023176092A1 (ja) 2023-09-21

Family

ID=88023242

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/047849 WO2023176092A1 (ja) 2022-03-14 2022-12-26 制御システム及び制御方法

Country Status (2)

Country Link
JP (1) JP2023133711A (ja)
WO (1) WO2023176092A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003270384A (ja) * 2002-03-13 2003-09-25 Hitachi Ltd 救助用ロボットシステム
JP2018005799A (ja) * 2016-07-08 2018-01-11 株式会社システック 自律調整動作体
JP2019074782A (ja) * 2017-10-12 2019-05-16 能美防災株式会社 移動ロボット
JP2019197367A (ja) * 2018-05-09 2019-11-14 株式会社デンソー 計画作成装置
JP2020116669A (ja) * 2019-01-22 2020-08-06 日本電気通信システム株式会社 検査ロボット、システム、情報処理装置、方法、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003270384A (ja) * 2002-03-13 2003-09-25 Hitachi Ltd 救助用ロボットシステム
JP2018005799A (ja) * 2016-07-08 2018-01-11 株式会社システック 自律調整動作体
JP2019074782A (ja) * 2017-10-12 2019-05-16 能美防災株式会社 移動ロボット
JP2019197367A (ja) * 2018-05-09 2019-11-14 株式会社デンソー 計画作成装置
JP2020116669A (ja) * 2019-01-22 2020-08-06 日本電気通信システム株式会社 検査ロボット、システム、情報処理装置、方法、及びプログラム

Also Published As

Publication number Publication date
JP2023133711A (ja) 2023-09-27

Similar Documents

Publication Publication Date Title
Alatartsev et al. Robotic task sequencing problem: A survey
Sivakumar et al. Automated path planning of cooperative crane lifts using heuristic search
Kang et al. Planning and visualization for automated robotic crane erection processes in construction
KR101255948B1 (ko) 산업용 로봇 시스템
US20110153080A1 (en) Method and apparatus for industrial robotic pathscycle time optimization using fly by
KR102421676B1 (ko) 다관절 로봇의 액추에이터들을 제어하기 위한 시스템 및 방법
TWI743986B (zh) 馬達控制裝置及馬達控制方法
Daneshmand et al. Industry 4.0 and prospects of circular economy: a survey of robotic assembly and disassembly
CN106557070A (zh) 机器学习装置、电动机控制装置、加工机及机器学习方法
US20190196454A1 (en) Chip removal apparatus and information processing apparatus
Brosque et al. Comparative analysis of manual and robotic concrete drilling for installation hangers
JP2020044591A (ja) 自律型作業支援ロボットの環境適応性強化システム、動作シミュレーション装置及びそのプログラム
Hudson et al. Model-based autonomous system for performing dexterous, human-level manipulation tasks
JP2009125920A (ja) ロボットの作業動作最適化装置
WO2023057185A1 (en) Coordination of multiple robots using graph neural networks
WO2023176092A1 (ja) 制御システム及び制御方法
JP5458389B2 (ja) パラメタ選定方法及びパラメタ選定システム
JP7167925B2 (ja) ロボット教示装置
Kangari et al. Identification of factors influencing implementation of construction robotics
Oyediran et al. Integration of 4d bim and robot task planning: Creation and flow of construction-related information for action-level simulation of indoor wall frame installation
JP7480670B2 (ja) 動作計画装置、動作計画方法、及び動作計画プログラム
JP7208254B2 (ja) 作業最適化システムおよび作業最適化装置
US20230278203A1 (en) Robot execution system
Zhang et al. Collaborative agent-based system for multiple crane operation
JP6962031B2 (ja) 操業実績データ調査ツール

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22932349

Country of ref document: EP

Kind code of ref document: A1