WO2022145106A1 - 動作スケジュール生成装置、方法、プログラム及びシステム - Google Patents
動作スケジュール生成装置、方法、プログラム及びシステム Download PDFInfo
- Publication number
- WO2022145106A1 WO2022145106A1 PCT/JP2021/038062 JP2021038062W WO2022145106A1 WO 2022145106 A1 WO2022145106 A1 WO 2022145106A1 JP 2021038062 W JP2021038062 W JP 2021038062W WO 2022145106 A1 WO2022145106 A1 WO 2022145106A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- operation schedule
- schedule
- robot
- work
- time
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 85
- 238000012545 processing Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims description 68
- 230000008859 change Effects 0.000 claims description 17
- 230000007613 environmental effect Effects 0.000 claims description 15
- 238000011156 evaluation Methods 0.000 claims description 14
- 230000002787 reinforcement Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 2
- 230000010365 information processing Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
Definitions
- the present invention relates to a device that generates an operation schedule of a robot that works in a system that operates in a fixed operation cycle.
- a robot that performs a predetermined task is incorporated into a system that operates in a fixed operation cycle.
- Patent Document 1 discloses a system in which a work transported by a conveyor is taken out by a plurality of robots.
- the document discloses a technique for determining whether or not a work can be gripped based on the result of recognition processing by a visual sensor, and thereby adjusting the transfer speed of the transfer conveyor.
- the transport speed that is, the condition on the system side is changed, and the gripping operation by the robot is guaranteed.
- Patent Document 1 it is necessary to change the operation cycle of other devices in the system according to the working time of the robot. As a result, for example, the design as a system may become complicated, or production prediction may become difficult.
- the robot will absorb the fluctuation of the required time.
- the system is designed so that the maximum required time for each operation of the robot is estimated and the operation cycle is made larger than that.
- the robot stop time occurs in each operation cycle, and the work efficiency is lowered.
- the robot will not be able to complete the work within the operation cycle if a slight error occurs, and the system will stop or the yield will decrease. Etc. may be invited.
- the present invention has been made in view of the above-mentioned technical background, and an object thereof is to be able to continuously operate a robot that performs an operation with a variation in a required time in a system that operates in a constant operation cycle. It is to generate an operation schedule.
- the operation schedule generation device is an operation schedule generation device that generates an operation schedule of a robot that performs work in a system that operates in a fixed operation cycle, and acquires the current operation status of the robot. Based on the operation status acquisition unit and the recognition processing unit that performs recognition processing on the work object related to the work, and the result of the recognition processing, the estimated operation time of the robot is generated for each work object.
- An operation schedule generation that generates an operation schedule that enables the robot to operate under the constant operation cycle according to the estimated operation time generation unit and the operation cycle, the operation state, and the estimated operation time. It has a department.
- the robot operation schedule is generated according to the system operation cycle, the operation status, and the estimated operation time, so that the operation cycle of the entire system or other devices in the system is not changed. It is possible to continuously operate a robot that performs movements with variable required time.
- the operation cycle may be a cycle time obtained by dividing the production time in the system by the number of products produced in the system.
- the operation schedule may be generated so that the completion time of each operation constituting the operation schedule is included once in each operation cycle.
- the operation schedule may be an operation schedule in which the work order for the work object is determined according to the estimated operation time for each work object.
- the work order for the work object is determined according to the estimated operation time, so that the work order can be appropriately set to ensure continuous operation.
- the operation schedule may be an operation schedule generated so that the margin time from the completion time of each operation to the end of the operation cycle becomes a predetermined value or more.
- the running operation schedule can be temporarily interrupted and, for example, rescheduled, so that the operation can be continued more stably.
- An operation schedule can be provided.
- the operation schedule generation unit may further generate the operation schedule based on the execution time of the recognition process.
- the operation schedule can be generated in consideration of the execution time of the recognition process, it is possible to recognize the work object again during the operation schedule, and the operation is more stable. It is possible to generate an operation schedule that can be continued to.
- the operation schedule may include the recognition process executed at the end thereof.
- the environmental change prediction processing unit and the operation schedule generation unit which predict the environmental change when the work is performed on each work object based on the operation status and the result of the recognition processing, further include the above.
- the operation schedule may be generated according to the prediction result of environmental change.
- the environmental change resulting from the work is predicted and the operation schedule is generated accordingly, so that the operation can be continued more stably, such as reducing the environmental change. It will be possible to formulate a schedule.
- the operation schedule generation unit further includes a reliability generation unit that generates the reliability of the recognition process related to the work object, the operation schedule generation unit further generates the operation schedule based on the reliability. good.
- the recognition processing unit may be one that performs recognition processing related to the work object related to the work within a predetermined area.
- the recognition process since the recognition process is performed only in the predetermined area, the recognition process can be performed with high efficiency and high speed.
- the area may be an area where there is a change from the recognition result by the recognition process before that.
- It may further include a learning processing unit that performs a predetermined learning process based on the operation schedule or information related to the operation schedule and the execution result of the operation schedule.
- the operation schedule can be gradually improved.
- the operation schedule generation unit may further generate the operation schedule based on the result of the learning process.
- the operation schedule can be gradually improved.
- the learning process may be a reinforcement learning process.
- the operation schedule can be gradually improved by repeating the trial.
- the evaluation index in the reinforcement learning process may be an index related to stability when the robot is operated under a certain operation cycle.
- reinforcement learning progresses so as to increase the evaluation, so that it is gradually generated an operation schedule that enables the robot to operate stably under a certain operation cycle. It can be realized.
- the present invention can also be considered as a method. That is, the method according to the present invention is an operation schedule generation method for generating an operation schedule of a robot that performs work in a system operating in a fixed operation cycle, and is an operation schedule generation method for acquiring the current operation state of the robot. Estimated operation time that generates an estimated operation time of the robot for each work object based on the acquisition step, the recognition process step that performs the recognition process for the work object related to the work, and the result of the recognition process. A generation step, an operation schedule generation step that generates an operation schedule that enables the robot to operate under the constant operation cycle according to the operation cycle, the operation state, and the estimated operation time. It may be provided with.
- the present invention can also be thought of as a computer program. That is, the program according to the present invention is an operation schedule generation program that generates an operation schedule of a robot that performs work in a system that operates in a fixed operation cycle, and acquires the current operation state of the robot, the operation state. Estimated operation time that generates an estimated operation time of the robot for each work object based on the acquisition step, the recognition process step that performs the recognition process for the work object related to the work, and the result of the recognition process.
- the present invention can also be thought of as a system. That is, the system according to the present invention is an operation schedule generation system that generates an operation schedule of a robot that performs work in a system that operates in a fixed operation cycle, and acquires the current operation state of the robot, the operation state. Estimated operation time that generates an estimated operation time of the robot for each work object based on the recognition processing unit that performs recognition processing on the work object related to the acquisition unit and the recognition processing.
- FIG. 1 is an overall configuration diagram showing an outline of the system.
- FIG. 2 is a functional block diagram (first embodiment) of the information processing apparatus.
- FIG. 3 is a flowchart (first embodiment) relating to the operation schedule generation process.
- FIG. 4 is a conceptual diagram relating to an example of the operation schedule.
- FIG. 5 is an explanatory diagram of an example of arranging an element operation having a small required time.
- FIG. 6 is an explanatory diagram of a configuration in which the start of each element operation is aligned with the start of the operation cycle.
- FIG. 7 is a functional block diagram (second embodiment) of the information processing apparatus.
- FIG. 8 is a flowchart (second embodiment) relating to the operation schedule generation process.
- FIG. 9 is a functional block diagram (third embodiment) of the information processing apparatus.
- FIG. 1 is an overall configuration diagram showing an outline of the system 100 according to the present embodiment.
- the robot arm 1 grips (picks) an object (work) 41 in a predetermined box 4, takes it out, and arranges it on the belt conveyor 9 (task). ) Is executed.
- the system 100 operates at a constant cycle, and the belt conveyor 9 also operates at a constant speed accordingly.
- This cycle may be, for example, a cycle time obtained by dividing the production time by the number of products produced in the system 100.
- a robot that uses the robot arm 1 but has other functions and uses may be used. Also, tasks are not limited to picking and include various other tasks.
- the robot arm 1 is connected to the upper control device 8 of the system 100 by wire or wirelessly.
- the host control device 8 provides, for example, a synchronization signal for synchronizing with a production line including a belt conveyor 9.
- the host control device 8 is an information processing device including a control unit such as a CPU, a storage unit such as a ROM, RAM or flash memory, a communication unit, an input / output unit, and the like.
- the robot arm 1 is connected to the information processing device 6 that controls the operation of the robot arm 1 by wire or wirelessly.
- the information processing device 6 is an information processing device including a control unit such as a CPU, a storage unit such as a ROM, RAM or flash memory, a communication unit, an input / output unit, and the like, and generates, for example, an operation schedule described later. ..
- the robot arm 1 operates according to the generated operation schedule.
- the information processing device 6 is connected to a 3D sensor 5 capable of acquiring 3D information, and acquires sensor information.
- the three-dimensional sensor 5 takes a picture so that the entire inside of the box 4 in which the object 41 is randomly stored is within the angle of view, and generates sensor information.
- the generated sensor information is transmitted to the information processing device 6.
- any sensor may be adopted as long as it can detect the state of the object 41. Therefore, it may be a sensor that acquires two-dimensional information or may be a sensor that does not involve imaging. Further, a plurality of sensors may be provided. Further, the sensor does not have to be an environment-fixed object 41, and may be, for example, a hand camera attached to the hand of the robot arm 1.
- FIG. 2 is a functional block diagram of the information processing apparatus 6 according to the present embodiment.
- the information processing apparatus 6 includes a recognition processing unit 61, an operation generation unit 62, an operation time estimation unit 63, an operation schedule generation unit 65, an information acquisition unit 64, and an operation execution unit 66.
- the recognition processing unit performs recognition processing on the object 41 based on the sensor information acquired from the three-dimensional sensor 5.
- the recognition result is provided to the motion generation unit 62, and the motion generation unit 62 generates the motion of the robot arm 1 based on the recognition result.
- one of the objects 41 in the box 4 is grasped and placed on the belt conveyor 9.
- the generated motion is provided to the operating time estimation unit 63.
- the operation time estimation unit 63 performs a process of estimating the time (estimated operation time) required for each generated operation.
- the estimated operation time is provided to the operation schedule generation unit 65.
- the information acquisition unit 64 provides information on the operation cycle of the entire system and the current state of the robot arm 1 (operation currently performed by the robot arm 1, etc.) based on the synchronization signal or the like provided from the host control device 8. Get various information about. This information is also provided to the operation schedule generation unit 65.
- the operation schedule generation unit 65 generates an optimum operation schedule based on the information provided by the operation time estimation unit 63, the information acquisition unit 64, and the like.
- the generated operation schedule is provided to the operation execution unit 66.
- the robot arm 1 operates based on the output from the operation execution unit.
- the above-mentioned system and the configuration of the information processing apparatus 6 are examples, and can be variously modified and implemented. For example, it is possible to disperse the processing by executing some functions on another device, or to execute the functions on one device by consolidating the functions.
- FIG. 3 is a flowchart relating to the operation schedule generation process executed on the information processing apparatus 6.
- the recognition processing unit 61 takes a picture so that the entire inside of the box 4 in which the object 41 is randomly stored is within the angle of view.
- the recognition processing unit 61 After acquiring the three-dimensional sensor information, the recognition processing unit 61 performs object recognition processing (S12) based on the three-dimensional sensor information, and recognizes one or a plurality of objects 41 in the box 4.
- object recognition processing S12
- the motion generation unit 62 performs a process of generating a motion for each object 41 based on the result of the recognition process (S14). That is, in the present embodiment, the robot arm 1 performs a process of picking the object 41 from a predetermined posture and generating a time-series displacement of each joint until it is placed on the belt conveyor 9.
- the operation time estimation unit 63 After that, the operation time estimation unit 63 generates an estimated operation time required for the operation based on the information about the hardware of the robot arm 1 and the generated operation for each object 41 (S16).
- the estimated operation time may be, for example, a value obtained by dividing the transport distance by the moving speed. This estimated operation time is provided to the operation schedule generation unit 65.
- the information acquisition unit 64 is acquired from the host control device 8 from a synchronization signal regarding the operation cycle of the entire system 100 or another device (belt conveyor 9 or the like) in the system, or from sensors provided at each joint of the robot arm 1.
- the operation status information is acquired and provided to the operation schedule generation unit 65 (S17).
- the operation status information is not limited to the example of the present embodiment, and includes all information representing the state of the robot arm 1.
- the operation schedule generation unit that has acquired the information from the operation time estimation unit 63 and the information acquisition unit 64 generates an operation schedule of the robot arm 1 that satisfies a predetermined condition based on the information (S18).
- the operation execution unit 66 issues a command to the robot arm 1 based on the generated operation schedule (S20).
- the robot arm 1 operates according to this command.
- the process returns to the three-dimensional sensor information acquisition process (S10) again, and thereafter, the process is repeated until an end command or a stop command is issued.
- the above-mentioned conditions relating to the operation schedule are conditions that guarantee the continuous operation of the robot arm 1 that performs work with a variation in the required time in the system 100 that operates in a fixed cycle, and various conditions can be set.
- the condition regarding the operation schedule may be that the completion time of each element operation exists once in each operation cycle.
- FIG. 4 is a conceptual diagram relating to an example of an operation schedule generated by the operation schedule generation unit 65.
- the upper part of the figure shows a plurality of arrows of uniform length indicating a constant operation cycle, and the lower part of the figure shows the generated operation schedule.
- the operation schedule consists of arranging a plurality of element operations for picking an object (work), specifically, an operation until the object 41 called A is picked and placed.
- the time required for the operation to pick and place the object 41 called B with the arrow "Work A" is the time required to pick and place the object 41 called C with the arrow "Work B".
- the time required for the operation up to is shown as "work C”
- the time required for the operation until the object 41 called D is picked and placed is shown as "work D”
- the time required for the recognition process is shown as "recognition”. ..
- the recognition process is included in the element operation, but the recognition process may be performed separately at all times or periodically and may not be included in the element operation.
- each element operation in the figure is adjusted so that the operation related to the object 41 (work) is performed only once in each operation cycle based on the required time of each element operation until a predetermined future time.
- the predetermined condition is that the completion time of each element operation exists once in each operation cycle.
- the operation schedule of the robot arm 1 is generated according to the operation cycle of the system 100, the operation status of the robot arm 1, and the estimated operation time, so that the operation cycle of the entire system 100 is not changed.
- the robot arm 1 that performs an operation with a variation in the required time can be continuously operated.
- the conditions related to the operation schedule are not limited to those of the present embodiment, and can be variously modified.
- the predetermined condition is that the completion time of each element operation exists once in each operation cycle, and the margin time from the completion time of each operation to the end of each operation cycle is equal to or more than the predetermined value. May be good.
- the predetermined condition specifies the element operation having the shortest required time among the element operations constituting the operation schedule, or one or more element operations having a required time of a predetermined value or less, and the element operation is described as described above. It may be a condition that it is arranged immediately after the operation in which the margin time is equal to or less than a predetermined value.
- FIG. 5 is an explanatory diagram of an example in which an element operation having a small required time is arranged when the margin time is equal to or less than a predetermined value.
- the configuration is such that there is no gap between the operations of each element, but the configuration is not limited to such a configuration.
- FIG. 6 is an explanatory diagram of a configuration in which the start of each element operation is aligned with the start of the operation cycle. As is clear from the figure, in this case, the robot arm 1 has a stop time, but the operation schedule can be easily designed.
- FIG. 7 is a functional block diagram of the information processing apparatus 6 according to the present embodiment.
- the information processing apparatus 6 includes a recognition processing unit 610, an operation generation unit 620, an operation time estimation unit 630, an operation schedule generation unit 650, an information acquisition unit 640, and an operation execution unit 660.
- the present embodiment further includes an evaluation information generation unit 670.
- the recognition processing unit 610 is further provided with a recognition area specifying processing unit 611. Since the configuration corresponding to the first embodiment performs substantially the same operation, detailed description thereof will be omitted below.
- the evaluation information generation unit 670 generates evaluation information described later based on the result of the recognition process and provides it to the operation schedule generation unit 650.
- the evaluation information generation unit includes an environmental change prediction processing unit 671 that predicts environmental changes that occur in the object 41 due to the operation of the robot arm 1, and a reliability evaluation unit 672 that generates reliability and the like for recognition results. There is.
- the recognition area specifying processing unit 611 specifies and provides an area to be recognized to the recognition processing unit.
- FIG. 8 is a flowchart relating to the operation schedule generation process executed on the information processing apparatus 6.
- the recognition processing unit 610 performs a process of acquiring the three-dimensional sensor information from the three-dimensional sensor 5 (S20), as in the first embodiment.
- the recognition area identification processing unit 611 specifies an area to be recognized.
- an area to be recognized for example, only an area having a change of a predetermined amount or more from the time when the previous recognition process is performed is specified as a recognition area.
- the area specifying method is not limited to such a method, and various other methods known to those skilled in the art can be used.
- the recognition process since the recognition process is not performed on the area where there is no change, the recognition process can be performed with high efficiency and high speed.
- the recognition processing unit 610 performs object recognition processing in the recognition area (S21). After the object recognition process, the motion generation process (S24) for each object 41 and the operation time estimation process for each object 41 are performed (S26), as in the first embodiment.
- the environmental change prediction processing unit 671 performs a process of predicting changes that occur in the environment around the object 41 due to the element operation for each object 41 (S27). For example, by performing a picking operation on a predetermined object 41, the fluctuation of the state caused by the rolling of the surrounding object 41 or the collapse of the mountain composed of the object 41 and the degree thereof are predicted.
- the prediction processing result is provided to the operation schedule generation unit 650.
- the reliability evaluation unit 672 generates the reliability of the recognition result for each object 41 (S28).
- the reliability of the recognition result is a value corresponding to the accuracy of the recognition process.
- Various methods known to those skilled in the art can be used to generate the reliability. For example, when the recognition process is performed using a trained model or the like, the reliability may be generated based on an index such as a prediction error amount. The generated reliability is provided to the operation schedule generation unit 650.
- the information acquisition unit 64 acquires the synchronization signal regarding the operation cycle of the entire system 100 and the information acquired from the sensors provided in each joint of the robot arm 1 from the host control device 8, and provides the information acquisition unit 64 to the operation schedule generation unit 650. (S29).
- the operation schedule generation unit 650 that has acquired the information from the operation time estimation unit 630, the information acquisition unit 640, and the evaluation information generation unit 670 generates an operation schedule of the robot arm 1 that satisfies a predetermined condition based on the information. (S30).
- the operation execution unit 660 issues a command to the robot arm 1 based on the generated operation schedule, as in the first embodiment (S31).
- the process returns to the three-dimensional sensor information acquisition process (S20) again, and thereafter, the process is repeated until an end command or a stop command is issued.
- the predetermined condition regarding the operation schedule is that the completion time of each element operation exists once in each operation cycle, and the object 41, which is expected to have a small environmental change, is preferentially picked. To do so, and to lower the priority of the picking operation for the object 41 having a low reliability or a predetermined value or less, or not to perform picking.
- the operation schedule is determined so as to satisfy these multiple conditions at the same time.
- the predetermined conditions relating to the operation schedule can be variously modified, and for example, the element operation may not be performed on the object 41 whose environmental change is expected to be equal to or more than the predetermined value. ..
- FIG. 9 is a functional block diagram of the information processing apparatus 6 according to the present embodiment.
- the information processing apparatus 6 has the recognition processing unit 610, the operation generation unit 620, the operation time estimation unit 630, the operation schedule generation unit 650, the information acquisition unit 640, and the information processing unit 6, as in the second embodiment. It includes an operation execution unit 660 and an evaluation information generation unit 670.
- the information processing apparatus 6 further includes a learning processing unit 680. Since the configuration corresponding to the second embodiment performs substantially the same operation, detailed description thereof will be omitted below.
- the learning processing unit 680 further brings about the continuity of the operation in the generated operation schedule. Perform machine learning processing to learn. The result of the learning process is used to generate an operation schedule in the operation schedule generation unit 650.
- supervised learning may be used or reinforcement learning may be used.
- reinforcement learning may be used.
- a neural network or deep learning
- various other known learning algorithms may be used.
- reinforcement learning is performed based on the determined operation schedule and the actual execution result as an evaluation index for the continuity of the operation.
- the evaluation index regarding the continuity of the operation include the number of recognized objects 41, the estimated operation time, the margin time, and the like. In this case, the larger the number of recognized objects 41 or the margin time, or the smaller the estimated operation time, the higher the reward is given as the continuity of the operation.
- the input data is, for example, various information provided to the operation schedule generation unit 650. In this way, the operation schedule formulation policy, that is, the policy regarding the arrangement of element operations is learned. After learning, the trained model is used in the operation schedule generation unit 650, and an appropriate operation schedule is generated according to predetermined input data.
- one object 41 (work) is targeted for each element operation, but the present invention is not limited to such a configuration. Therefore, for example, the configuration may be such that a plurality of works are targeted in each element operation.
- the robot arm 1 is continuously operated according to the operation schedule, but the present invention is not limited to such a configuration. Therefore, for example, the execution of the operation schedule may be interrupted due to the occurrence of a predetermined event, and the recognition process may be performed again to generate the operation schedule.
- the predetermined event is, for example, a case where the environmental information acquired by a three-dimensional sensor or the like fluctuates by a predetermined amount or more.
- the present invention can be used at least in industries such as manufacturing systems including robots.
- Robot arm 4 Box 41 Object 5
- 3D sensor 6 Information processing device 61
- Recognition processing unit 62 Operation generation unit 63
- Operation time estimation unit 64 Information acquisition unit 65
- Operation schedule generation unit 66 Operation execution unit 8
- Upper control device 9 Belt conveyor 100 system
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成装置であって、前記ロボットの現在の動作状況を取得する、動作状況取得部と、前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える動作スケジュール生成装置が提供される。
Description
この発明は、一定の稼働サイクルで動作するシステム内で作業を行うロボットの動作スケジュールを生成する装置に関する。
一定の稼働サイクルで動作するシステム内に、所定の作業を行うロボットを組み込むことが行われる。
ところで、この種のロボットが行う作業の中には、その作業の所要時間がサイクル毎に毎回変動してしまう作業が存在する。例えば、作業内容がワークのピッキング作業である場合、把持対象となるワークの位置や姿勢、搬送経路等に応じて、その作業の所要時間は変動する。このような作業がシステム中に存在すると、システム全体の稼働サイクルに影響が及ぼすことがある。
システム内で動作するロボットの例として、特許文献1には、搬送コンベアで搬送されてくるワークを複数のロボットにより取り出すシステムが開示されている。同文献においては、視覚センサによる認識処理の結果に基づいてワークを把持できるかを判断し、それにより、搬送コンベアの搬送速度を調整する技術が開示されている。
すなわち、この例にあっては、システムの一部を構成するロボットがワークを把持できるかを判断することにより、搬送速度、すなわち、システム側の条件を変更し、ロボットによる把持動作を保証している。
しかしながら、例えば特許文献1に記載の手法では、ロボットの作業時間に応じてシステム内の他の装置の稼働サイクルに変更を加える必要がある。その結果、例えば、システムとしての設計が複雑となったり、生産予測等が困難となってしまうおそれがあった。
これに対して、所要時間の変動をロボットの側で吸収することも想定される。この場合、ロボットの各動作の最大所要時間を見積もり、それよりも稼働サイクルを大きくするようにしてシステム設計がなされる。しかしながら、このような設計とすると、各稼働サイクルにおいてロボットの停止時間が生じてしまい作業効率は低下する。また、作業効率を優先して稼働サイクルを最大所要時間近傍とすれば、少しの誤差等が生じれば、ロボットが稼働サイクル内に作業を完了することが出来ず、システムの停止や歩留まりの低下等を招くおそれがある。
すなわち、従前の手法では、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが困難であった。
本発明は上述の技術的背景に鑑みてなされたものであり、その目的は、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが可能な動作スケジュールを生成することにある。
上述の技術的課題は、以下の構成を有する装置等により解決することができる。
すなわち、本発明に係る動作スケジュール生成装置は、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成装置であって、前記ロボットの現在の動作状況を取得する、動作状況取得部と、前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備えている。
このような構成によれば、システムの稼働サイクル、動作状況及び推定動作時間に応じてロボットの動作スケジュールが生成されるので、システム全体又はシステム内の他の装置の稼働サイクルを変更することなく、所要時間に変動のある動作を行うロボットを継続して運用することができる。
前記稼働サイクルは、前記システムにおける生産時間を前記システムにおいて生産される製品の生産数で除したサイクルタイムであってもよい。
このような構成によれば、一定のサイクルタイム下でロボットを動作させることが可能な動作スケジュールを生成することができる。
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれるよう生成されてもよい。
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証することができる。
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれ、かつ、各稼働サイクル内の所定タイミングより前となるよう生成される、ものであってもよい。
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証し、かつ、動作完了から次の稼働サイクルの開始までの余裕を確保することができる。これにより、動作をより安定的に継続することができる。
前記動作スケジュールは、前記作業対象物毎の推定動作時間に応じて、前記作業対象物に対する作業順序を決定した動作スケジュールであってもよい。
このような構成によれば、推定動作時間に応じて、作業対象物に対する作業順序が決定されるので、適切に作業順序を設定して、継続的な動作を担保することができる。
前記動作スケジュールは、各前記動作の完了時刻から前記稼働サイクルの終端までの余裕時間が所定値以上となるように生成された動作スケジュールであってもよい。
このような構成によれば、各稼働サイクル内において余裕をもって動作を完了させることができるので、動作をより安定的に継続させることができる動作スケジュールを提供することができる。
各前記作業対象物の周辺環境を認識する環境認識処理部と、前記周辺環境の変動に応じて前記動作スケジュールの実行を中断させる中断処理部と、を備えるものであってもよい。
このような構成によれば、環境が大きく変動した場合には、実行中の動作スケジュール一旦中断して、例えば、再スケジュール等を行うことができるので、動作をより安定的に継続させることができる動作スケジュールを提供することができる。
前記動作スケジュール生成部は、さらに、前記認識処理の実行時間に基づいて、前記動作スケジュールを生成する、ものであってもよい。
このような構成によれば、認識処理の実行時間も勘案して動作スケジュールを生成することができるので、動作スケジュール中に作業対象物の再度の認識等を行うことができ、動作をより安定的に継続させることができる動作スケジュールを生成することができる。
前記動作スケジュールは、その終端において実行される前記認識処理を含む、ものであってもよい。
このような構成によれば、終端において認識処理を行うので、動作完了時点における作業対象物等の状態を把握することができ、それにより、直ちに次の動作スケジュール等を生成することができる。
前記動作状況と前記認識処理の結果に基づいて、各前記作業対象物に対して作業を行った場合の環境変動を予測する、環境変動予測処理部と、前記動作スケジュール生成部は、さらに、前記環境変動の予測結果に応じて、前記動作スケジュールを生成する、ものであってもよい。
このような構成によれば、作業の結果として生じる環境変動を予測し、それに応じて動作スケジュールを生成するので、環境変動が少なくなるようにする等動作をより安定的に継続させることができる動作スケジュールを策定すること等が可能となる。
前記作業対象物に関する認識処理の信頼度を生成する、信頼度生成部、をさらに備え、前記動作スケジュール生成部は、前記信頼度にさらに基づいて、前記動作スケジュールを生成する、ものであってもよい。
このような構成によれば、認識精度が低い作業対象物に対する作業を見送ったり、動作に余裕がない場合には作業優先度を下げて時間的余裕がある場合に作業すること等が可能となるので、動作をより安定的に継続させることができる。
前記認識処理部は、前記作業に係る作業対象物に関する認識処理を所定の領域内において行う、ものであってもよい。
このような構成によれば、所定領域のみ認識処理を行うので、高効率かつ高速に認識処理を行うことができる。
前記領域は、それより前の認識処理による認識結果から変動がある領域である、ものであってもよい。
変動がない領域についてはそれより前に行った認識結果を利用することができるので、高効率かつ高速な認識処理を行うことができる。
前記動作スケジュール又は前記動作スケジュールと関連する情報と、前記動作スケジュールの実行結果に基づいて所定の学習処理を行う、学習処理部、をさらに備える、ものであってもよい。
このような構成によれば、実行結果を元に学習処理を行うので、漸次的に動作スケジュールを改善することができる。
前記動作スケジュール生成部は、さらに、前記学習処理の結果に基づいて、前記動作スケジュールを生成する、ものであってもよい。
このような構成によれば、実行結果を元に学習処理を行うので、漸次的に動作スケジュールを改善することができる。
前記学習処理は、強化学習処理である、ものであってもよい。
このような構成によれば、試行を繰り返すことにより漸次的に動作スケジュールを改善することができる。
前記強化学習処理における評価指標は、一定の稼働サイクルの下で前記ロボットを動作させたときの安定性に関する指標である、ものであってもよい。
このような構成によれば、評価を大きくするよう強化学習が進行するので、一定の稼働サイクルの下で前記ロボットを安定的に動作させることができるような動作スケジュールを生成することを漸次的に実現することができる。
本発明は方法として観念することもできる。すなわち、本発明に係る方法は、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成方法であって、前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、ものであってもよい。
本発明はコンピュータプログラムとして観念することもできる。すなわち、本発明に係るプログラムは、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成プログラムであって、前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備えている。
本発明はシステムとして観念することもできる。すなわち、本発明に係るシステムは、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成システムであって、前記ロボットの現在の動作状況を取得する、動作状況取得部と、前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備えている。
本発明によれば、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが可能な動作スケジュールを生成することができる。
以下、本発明の好適な実施の形態について添付の図を参照しつつ詳細に説明する。
(1.第1の実施形態)
第1の実施形態として、本発明を、工場内のシステム100に対して適用した例について説明する。なお、本実施形態においては、工場内における作業を例示するが、本発明はこのような構成に限定されない。従って、例えば、物流倉庫内のシステム等あらゆるシステムに適用することができる。
第1の実施形態として、本発明を、工場内のシステム100に対して適用した例について説明する。なお、本実施形態においては、工場内における作業を例示するが、本発明はこのような構成に限定されない。従って、例えば、物流倉庫内のシステム等あらゆるシステムに適用することができる。
(1.1 構成)
図1は、本実施形態に係るシステム100の概要について示す全体構成図である。同図から明らかな通り、システム100の一部において、ロボットアーム1は、所定の箱4内の対象物(ワーク)41を把持(ピッキング)して取り出し、ベルトコンベア9上に配置する動作(タスク)を実行する。このとき、システム100は、一定のサイクルで稼働しており、これに応じてベルトコンベア9も一定の速度で作動している。このサイクルは、例えば、生産時間をシステム100において生産される製品の生産数で除したサイクルタイムであってもよい。
図1は、本実施形態に係るシステム100の概要について示す全体構成図である。同図から明らかな通り、システム100の一部において、ロボットアーム1は、所定の箱4内の対象物(ワーク)41を把持(ピッキング)して取り出し、ベルトコンベア9上に配置する動作(タスク)を実行する。このとき、システム100は、一定のサイクルで稼働しており、これに応じてベルトコンベア9も一定の速度で作動している。このサイクルは、例えば、生産時間をシステム100において生産される製品の生産数で除したサイクルタイムであってもよい。
なお、本実施形態においては、ロボットアーム1を用いるものの他の機能・用途を有するロボットを利用してもよい。また、タスクはピッキングに限定されず、他の種々のタスクを含む。
ロボットアーム1は、システム100の上位制御装置8と有線又は無線で接続されている。上位制御装置8からは、例えば、ベルトコンベア9を含む製造ラインとの同期をとるための同期信号等が提供される。上位制御装置8は、CPU等の制御部、ROM、RAM又はフラッシュメモリ等の記憶部、通信ユニット、入出力部、等を備える情報処理装置である。
また、同図の例にあっては、ロボットアーム1は、ロボットアーム1の動作を制御する情報処理装置6と有線又は無線により接続されている。この情報処理装置6は、CPU等の制御部、ROM、RAM又はフラッシュメモリ等の記憶部、通信ユニット、入出力部、等を備える情報処理装置であり、例えば、後述の動作スケジュール等を生成する。ロボットアーム1は、生成された動作スケジュールに応じて動作する。
情報処理装置6は、3次元情報を取得することが可能な3次元センサ5と接続されておりセンサ情報を取得する。3次元センサ5は、対象物41が乱雑に格納された箱4の中の全体をその画角内に収めるように撮影を行いセンサ情報を生成する。生成されたセンサ情報は情報処理装置6へと送信される。
なお、センサは、対象物41の状態を検出することができるセンサであればいずれのセンサを採用してもよい。従って、2次元情報を取得するものであってもよく、撮像を伴わないセンサであってもよい。また、複数のセンサを設ける構成としてもよい。さらに、センサは対象物41を環境固定式のものでなくてもよく、例えば、ロボットアーム1の手先に取り付けられる手先カメラ等であってもよい。
図2は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、認識処理部61、動作生成部62、動作時間推定部63、動作スケジュール生成部65、情報取得部64、及び動作実行部66を備えている。
3次元センサ5から取得されたセンサ情報に基づいて認識処理部は、対象物41に関する認識処理を行う。認識結果は、動作生成部62へと提供され、動作生成部62は認識結果に基づいてロボットアーム1の動作を生成する。この動作は、本実施形態においては、箱4内の各対象物41のうちの1つを把持してベルトコンベア9上へと配置する動作である。
生成された動作は、動作時間推定部63へと提供される。動作時間推定部63は、生成された各動作に要する時間(推定動作時間)を推定する処理を行う。推定動作時間は、動作スケジュール生成部65へと提供される。
また、情報取得部64は、上位制御装置8から提供される同期信号等に基づいて、システム全体の稼働サイクルに関する情報やロボットアーム1の現在の状態(ロボットアーム1が現在行っている動作等)の種々の情報を取得する。これらの情報も、動作スケジュール生成部65へと提供される。
動作スケジュール生成部65は、動作時間推定部63、情報取得部64等から提供された情報に基づいて最適な動作スケジュールを生成する。生成された動作スケジュールは、動作実行部66へと提供される。この動作実行部からの出力に基づいて、ロボットアーム1は動作する。
なお、上述のシステム及び情報処理装置6の構成は例示であり、様々に変形して実施することができる。例えば、一部の機能を他の装置で実行すること等により処理を分散したり、機能を集約することにより一の装置で実行する等、変形することが可能である。
(1.2 動作)
続いて、上述の構成を有するシステム100において動作する情報処理装置6の動作について説明する。
続いて、上述の構成を有するシステム100において動作する情報処理装置6の動作について説明する。
図3は、情報処理装置6上で実行される動作スケジュール生成処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、認識処理部61は、対象物41が乱雑に格納された箱4の中の全体をその画角内に収めるように撮影を行っている3次元センサ5から、3次元センサ情報を取得する(S10)。
この3次元センサ情報を取得した後、認識処理部61は、3次元センサ情報に基づいて、物体認識処理を行い(S12)、箱4内の1又は複数の対象物41を認識する。
動作生成部62は、認識処理の結果に基づいて、対象物41毎に動作を生成する処理を行う(S14)。すなわち、本実施形態においては、ロボットアーム1において所定の姿勢から対象物41のピッキングを行いベルトコンベア9上へと載置するまでの各関節の時系列の変位等を生成する処理が行われる。
その後、動作時間推定部63は、対象物41毎にロボットアーム1のハードウェアに関する情報と生成された動作に基づいて、当該動作に要する推定動作時間を生成する(S16)。推定動作時間は、例えば、搬送距離を移動速度で除した値等であってもよい。この推定動作時間は、動作スケジュール生成部65へと提供される。
情報取得部64は、上位制御装置8からシステム100全体又はシステム内の他の装置(ベルトコンベア9等)の稼働サイクルに関する同期信号や、ロボットアーム1の各関節等に設けられたセンサから取得される動作状況情報を取得し、動作スケジュール生成部65へと提供する(S17)。なお、動作状況情報は、本実施形態の例に限定されず、ロボットアーム1の状態を表すあらゆる情報を含む。
動作時間推定部63及び情報取得部64からの情報を取得した動作スケジュール生成部は、それらの情報に基づいて、所定の条件を満たすロボットアーム1の動作スケジュールを生成する(S18)。
動作実行部66は、生成された動作スケジュールに基づいてロボットアーム1へと指令を行う(S20)。ロボットアーム1はこの指令に沿って動作を行う。一連の処理が完了すると、処理は再び3次元センサ情報の取得処理(S10)へと戻り、以後、終了指令又は中断指令がなされるまで、処理は繰り返される。
上述の動作スケジュールに関する条件は、一定のサイクルで稼働するシステム100内において所要時間に変動のある作業を行うロボットアーム1の継続的な動作を保証する条件であり、様々な条件が設定され得る。例えば、動作スケジュールに関する条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することであってもよい。
図4は、動作スケジュール生成部65により生成される動作スケジュールの一例に関する概念図である。同図上段には、一定の稼働サイクルを示す均一な長さの複数の矢印が示され、同図下段には、生成された動作スケジュールが示されている。同図の例にあって、動作スケジュールは、対象物(ワーク)をピッキングする要素動作を複数配置して成り、具体的には、Aという対象物41をピッキングして載置するまでの動作に要する時間が「ワークA」という矢印で、Bという対象物41をピッキングして載置するまでの動作に要する時間が「ワークB」という矢印で、Cという対象物41をピッキングして載置するまでの動作に要する時間が「ワークC」、Dという対象物41をピッキングして載置するまでの動作に要する時間が「ワークD」、認識処理に要する時間が「認識」として示されている。
なお、本実施形態においては、認識処理が要素動作に含まれているが、認識処理は別途、常時又定期的に行うものとして、要素動作に含めなくてもよい。
同図における各要素動作は、所定の将来時間までの間において、各要素動作の所要時間に基づいて、各稼働サイクル中に一度だけ対象物41(ワーク)に関する動作が行われるよう、順番を調整して配置されたものである(ワークA→ワークB→ワークC→ワークD→認識処理)。すなわち、この例にあっては、所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することである。
このような構成によれば、システム100の稼働サイクル、ロボットアーム1の動作状況及び推定動作時間に応じてロボットアーム1の動作スケジュールが生成されるので、システム100全体の稼働サイクルを変更することなく、所要時間に変動のある動作を行うロボットアーム1を継続して運用することができる。
なお、動作スケジュールに関する条件は、本実施形態のものに限定されず、様々に変形することができる。
例えば、所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在し、かつ、各動作の完了時刻から各稼働サイクルの終端までの余裕時間が所定値以上となることという条件としてもよい。
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証し、かつ、動作完了から次の稼働サイクルの開始までの余裕を確保することができる。これにより、動作をより安定的に継続することができる。
また、所定の条件は、動作スケジュールを構成する要素動作のうち所要時間が最も小さい要素動作、若しくは、所定値以下の所要時間を有する1又は複数の要素動作を特定し、当該要素動作を、上記余裕時間が所定値以下となる動作の直後に配置するような条件としてもよい。
図5は、余裕時間が所定値以下となる場合に、所要時間が小さい要素動作を配置する例についての説明図である。
同図上段の図から明らかな通り、単に各稼働サイクル中に一度だけ対象物41(ワーク)に関する動作が行われるという条件の下に順番を決定して動作スケジュールを生成した場合、所要時間の小さいワークCが存在する場合、ワークBに対する要素動作とワークCに対する要素動作との間には待機時間が発生してしまう。これにより、システムとしての効率性が低下してしまう。
これに対して、同図下段の図においては、直前のワークEに対する要素動作の完了時刻が稼働サイクルの終端と接近して余裕時間が小さいことから、その直後にワークCに対する要素動作が配置されている。
このような構成によれば、遅れを取り戻すような動作スケジュールの生成が可能となる。また、動作スケジュールを効率化することができるので、より短い稼働サイクル(同図中の破線矢印を参照)で動作させることが可能なロボットアーム1を提供することができる。
さらに、本実施形態においては、各要素動作間には隙間を空けない構成としているが、このような構成に限定されない。
図6は、各要素動作の開始を稼働サイクルの始期に合わせるようにした構成についての説明図である。同図から明らかな通り、この場合には、ロボットアーム1に対して停止時間が生じることとなるが、動作スケジュールの設計は容易となる。
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。
続いて、本発明の第2の実施形態について説明する。
(2.1 構成)
第2の実施形態に係るシステムの全体構成は、第1の実施形態に係るシステム100の全体構成(図1)と略同一であるので、説明を省略する。
第2の実施形態に係るシステムの全体構成は、第1の実施形態に係るシステム100の全体構成(図1)と略同一であるので、説明を省略する。
図7は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、認識処理部610、動作生成部620、動作時間推定部630、動作スケジュール生成部650、情報取得部640、及び動作実行部660を備えているものの、本実施形態ではさらに、評価情報生成部670を備えている。また、認識処理部610にはさらに認識領域特定処理部611が設けられている。なお、第1の実施形態と対応する構成は略同一の動作を行うものであるので、以下、詳細説明は省略する。
評価情報生成部670は、認識処理の結果に基づいて、後述の評価情報を生成し動作スケジュール生成部650に対して提供する。なお、評価情報生成部は、ロボットアーム1の動作により対象物41に生じる環境変動を予測する環境変動予測処理部671と、認識結果に対する信頼度等を生成する信頼度評価部672とを備えている。
また、認識領域特定処理部611は、認識処理部に対して、認識すべき領域を特定して提供する。
(2.2 動作)
次に、本実施形態に係る情報処理装置6の動作について説明する。図8は、情報処理装置6上で実行される動作スケジュール生成処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、第1の実施形態と同様、認識処理部610は、3次元センサ5から3次元センサ情報を取得する処理を行う(S20)。
次に、本実施形態に係る情報処理装置6の動作について説明する。図8は、情報処理装置6上で実行される動作スケジュール生成処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、第1の実施形態と同様、認識処理部610は、3次元センサ5から3次元センサ情報を取得する処理を行う(S20)。
この取得処理の後、認識領域特定処理部611は、認識すべき領域を特定する。この特定処理は、例えば、前回の認識処理を行ったときから所定量以上の変化がある領域のみを認識領域として特定する。なお、領域特定手法はこのような方法に限定されず当業者に知られる他の種々の手法が利用可能である。
このような構成によれば、変化がない領域については認識処理を行わないので、高効率かつ高速に認識処理を行うことができる。
その後、認識処理部610は、認識領域内において物体認識処理を行う(S21)。物体認識処理の後、第1の実施形態と同様に、対象物41毎の動作の生成処理(S24)、対象物41毎の動作時間の推定処理が行われる(S26)。
環境変動予測処理部671は、対象物41毎に、要素動作によりその対象物41周辺の環境に対して生じる変動を予測する処理を行う(S27)。例えば、所定の対象物41に対してピッキング動作を行うことにより、その周囲の対象物41が転がったり対象物41から成る山が崩れること等により生じる状態の変動やその程度を予測する。予測処理結果は、動作スケジュール生成部650へと提供される。
また、信頼度評価部672は、対象物41毎の認識結果の信頼度を生成する(S28)。認識結果の信頼度は、認識処理の精度に相当する値である。なお、信頼度の生成は、当業者に知られる種々の手法を利用することができる。例えば、認識処理が学習済モデル等を利用して行われる場合には、予測誤差量等の指標に基づいて信頼度を生成してもよい。生成された信頼度は、動作スケジュール生成部650へと提供される。
情報取得部64は、上位制御装置8からシステム100全体の稼働サイクルに関する同期信号やロボットアーム1の各関節等に設けられたセンサから取得される情報を取得し、動作スケジュール生成部650へと提供する(S29)。
動作時間推定部630、情報取得部640及び評価情報生成部670からの情報を取得した動作スケジュール生成部650は、それらの情報に基づいて、所定の条件を満たすロボットアーム1の動作スケジュールを生成する(S30)。
動作実行部660は、第1の実施形態と同様に、生成された動作スケジュールに基づいてロボットアーム1へと指令を行う(S31)。一連の処理が完了すると、処理は再び3次元センサ情報の取得処理(S20)へと戻り、以後、終了指令又は中断指令がなされるまで、処理は繰り返される。
本実施形態において、動作スケジュールに関する所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することという条件の他、環境変動が小さいと予測される対象物41を優先的にピッキングすること、及び信頼度が小さい又は所定値以下の対象物41に対するピッキング動作の優先度を下げるか又はピッキングを行わないことである。これらの複数の条件を同時に満たすよう動作スケジュールは決定される。
このような条件とすることにより、要素動作を行うことにより大きな環境変動が生じるおそれを小さくすることができるので、動作をより安定的に継続させることができる。また、認識の信頼度が低い対象物に対する要素動作の優先度を下げるか又は要素動作を行わないので、動作をより安定的に継続させることができる。
なお、動作スケジュールに関する所定の条件は、様々に変形することができ、例えば、環境変動が所定値以上と予想される対象物41に対しては要素動作を行わない等といった条件であってもよい。
(3.第3の実施形態)
次に、第3の実施形態について説明する。
次に、第3の実施形態について説明する。
第3の実施形態に係るシステムの全体構成は、第1の実施形態に係るシステム100の全体構成(図1)と略同一であるので、説明を省略する。
図9は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、第2の実施形態と同様に、認識処理部610、動作生成部620、動作時間推定部630、動作スケジュール生成部650、情報取得部640、及び動作実行部660、評価情報生成部670を備えている。しかしながら、本実施形態において、情報処理装置6は、さらに、学習処理部680を備えている。なお、第2の実施形態と対応する構成は略同一の動作を行うものであるので、以下、詳細説明は省略する。
本実施形態においても、第2の実施形態と略同一の動作を行うものの、本実施形態においては、学習処理部680は、さらに、生成される動作スケジュールがより動作の継続性をもたらすものとなるよう学習する機械学習処理を行う。その学習処理の結果は、動作スケジュール生成部650における動作スケジュールの生成に利用される。
学習手法は、公知の種々の手法を利用することができる。例えば、教師あり学習を用いてもよいし強化学習を用いてもよい。また、ニューラルネットワーク(又は深層学習)を利用してもよいし他の種々の公知の学習アルゴリズムを利用してもよい。
本実施形態においては、動作の継続性に関する評価指標として、決定した動作スケジュールと、実際の実行結果に基づいて強化学習を行う。動作の継続性に関する評価指標とは、例えば、認識された対象物41の個数、推定動作時間、余裕時間等が挙げられる。この場合、認識された対象物41の個数又は余裕時間が大きい程、或いは、推定動作時間が小さい程、動作の継続性が高いものとして高い報酬が与えられる。また、入力データは、例えば、動作スケジュール生成部650へと提供される種々の情報である。これにより、動作スケジュールの策定ポリシー、すなわち、要素動作の配置に関する方針を学習する。学習後、学習済モデルは動作スケジュール生成部650において利用され、所定の入力データに応じて、適切な動作スケジュールが生成される。
このような構成によれば、評価指標を大きくするよう強化学習が進行するので、一定の稼働サイクルの下で前記ロボットを安定的に動作させることができるような動作スケジュールの生成を漸次的に実現することができる。
(2.変形例)
上述の実施形態においては、各要素動作に対して一の対象物41(ワーク)を対象とする構成としたが、本発明はこのような構成に限定されない。従って、例えば、各要素動作において複数のワークを対象とする構成等としてもよい。
上述の実施形態においては、各要素動作に対して一の対象物41(ワーク)を対象とする構成としたが、本発明はこのような構成に限定されない。従って、例えば、各要素動作において複数のワークを対象とする構成等としてもよい。
上述の実施形態においては、動作スケジュールを生成した後は、当該動作スケジュールに沿ってロボットアーム1を継続的に動作させる構成としたが、本発明はこのような構成に限定されない。従って、例えば、所定の事象の発生により動作スケジュールの実行を中断し、再度認識処理を行って動作スケジュール生成する構成としてもよい。所定の事象とは、例えば、3次元センサ等により取得される環境情報が所定量以上変動した場合等である。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
また、本明細書で示すフローチャートの各ステップの順番は、技術的矛盾を生じない限り、相互に入れ替えることができる。
本発明は、少なくともロボットを含むシステムを製造等する産業において利用可能である。
1 ロボットアーム
4 箱
41 対象物
5 3次元センサ
6 情報処理装置
61 認識処理部
62 動作生成部
63 動作時間推定部
64 情報取得部
65 動作スケジュール生成部
66 動作実行部
8 上位制御装置
9 ベルトコンベア
100 システム
4 箱
41 対象物
5 3次元センサ
6 情報処理装置
61 認識処理部
62 動作生成部
63 動作時間推定部
64 情報取得部
65 動作スケジュール生成部
66 動作実行部
8 上位制御装置
9 ベルトコンベア
100 システム
Claims (20)
- 一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成装置であって、
前記ロボットの現在の動作状況を取得する、動作状況取得部と、
前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える、動作スケジュール生成装置。 - 前記稼働サイクルは、前記システムにおける生産時間を前記システムにおいて生産される製品の生産数で除したサイクルタイムである、請求項1に記載の動作スケジュール生成装置。
- 前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれるよう生成される、請求項1に記載の動作スケジュール生成装置。
- 前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれ、かつ、各稼働サイクル内の所定タイミングより前となるよう生成される、請求項3に記載の動作スケジュール生成装置。
- 前記動作スケジュールは、前記作業対象物毎の推定動作時間に応じて、前記作業対象物に対する作業順序を決定した動作スケジュールである、請求項1に記載の動作スケジュール生成装置。
- 前記動作スケジュールは、各前記動作の完了時刻から前記稼働サイクルの終端までの余裕時間が所定値以上となるように生成された動作スケジュールである、請求項1に記載の動作スケジュール生成装置。
- 各前記作業対象物の周辺環境を認識する環境認識処理部と、
前記周辺環境の変動に応じて前記動作スケジュールの実行を中断させる中断処理部と、を備える、請求項1に記載の動作スケジュール生成装置。 - 前記動作スケジュール生成部は、さらに、前記認識処理の実行時間に基づいて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。
- 前記動作スケジュールは、その終端において実行される前記認識処理を含む、請求項8に記載の動作スケジュール生成装置。
- 前記動作状況と前記認識処理の結果に基づいて、各前記作業対象物に対して作業を行った場合の環境変動を予測する、環境変動予測処理部と、
前記動作スケジュール生成部は、さらに、前記環境変動の予測結果に応じて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。 - 前記作業対象物に関する認識処理の信頼度を生成する、信頼度生成部、をさらに備え、
前記動作スケジュール生成部は、前記信頼度にさらに基づいて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。 - 前記認識処理部は、前記作業に係る作業対象物に関する認識処理を所定の領域内において行う、請求項1に記載の動作スケジュール生成装置。
- 前記領域は、それより前の認識処理による認識結果から変動がある領域である、請求項12に記載の動作スケジュール生成装置。
- 前記動作スケジュール又は前記動作スケジュールと関連する情報と、前記動作スケジュールの実行結果に基づいて所定の学習処理を行う、学習処理部、をさらに備える、請求項1に記載の動作スケジュール生成装置。
- 前記動作スケジュール生成部は、さらに、前記学習処理の結果に基づいて、前記動作スケジュールを生成する、請求項14に記載の動作スケジュール生成装置。
- 前記学習処理は、強化学習処理である、請求項14に記載の動作スケジュール生成装置。
- 前記強化学習処理における評価指標は、一定の稼働サイクルの下で前記ロボットを動作させたときの安定性に関する指標である、請求項16に記載の動作スケジュール生成装置。
- 一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成方法であって、
前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、
前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、動作スケジュール生成方法。 - 一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成プログラムであって、
前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、
前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、動作スケジュール生成プログラム。 - 一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成システムであって、
前記ロボットの現在の動作状況を取得する、動作状況取得部と、
前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える、動作スケジュール生成システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020218899A JP2022103968A (ja) | 2020-12-28 | 2020-12-28 | 動作スケジュール生成装置、方法、プログラム及びシステム |
JP2020-218899 | 2020-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022145106A1 true WO2022145106A1 (ja) | 2022-07-07 |
Family
ID=82259394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/038062 WO2022145106A1 (ja) | 2020-12-28 | 2021-10-14 | 動作スケジュール生成装置、方法、プログラム及びシステム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022103968A (ja) |
WO (1) | WO2022145106A1 (ja) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1133726A (ja) * | 1997-07-10 | 1999-02-09 | Toyota Motor Corp | 溶接ロボットへの教示方法 |
JP2002113678A (ja) * | 2000-10-06 | 2002-04-16 | Seiko Instruments Inc | トラッキング方法、及びトラッキングシステム |
US20030171835A1 (en) * | 2002-03-06 | 2003-09-11 | Massachusetts Institute Of Technology | System integration based on time-dependent periodic complexity |
WO2014041686A1 (ja) * | 2012-09-14 | 2014-03-20 | 富士機械製造株式会社 | 生産計画決定システム |
JP2014058004A (ja) * | 2012-09-14 | 2014-04-03 | Yaskawa Electric Corp | ロボット装置 |
JP2015075868A (ja) * | 2013-10-08 | 2015-04-20 | 株式会社神戸製鋼所 | スケジュール表示装置、該方法、及び、該プログラム |
US20170080563A1 (en) * | 2015-09-20 | 2017-03-23 | Macau University Of Science And Technology | Scheduling Start-up Process for Time-constrained Single-arm Cluster Tools |
JP2018051664A (ja) * | 2016-09-27 | 2018-04-05 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
JP2018086711A (ja) * | 2016-11-29 | 2018-06-07 | ファナック株式会社 | レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
-
2020
- 2020-12-28 JP JP2020218899A patent/JP2022103968A/ja active Pending
-
2021
- 2021-10-14 WO PCT/JP2021/038062 patent/WO2022145106A1/ja active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1133726A (ja) * | 1997-07-10 | 1999-02-09 | Toyota Motor Corp | 溶接ロボットへの教示方法 |
JP2002113678A (ja) * | 2000-10-06 | 2002-04-16 | Seiko Instruments Inc | トラッキング方法、及びトラッキングシステム |
US20030171835A1 (en) * | 2002-03-06 | 2003-09-11 | Massachusetts Institute Of Technology | System integration based on time-dependent periodic complexity |
WO2014041686A1 (ja) * | 2012-09-14 | 2014-03-20 | 富士機械製造株式会社 | 生産計画決定システム |
JP2014058004A (ja) * | 2012-09-14 | 2014-04-03 | Yaskawa Electric Corp | ロボット装置 |
JP2015075868A (ja) * | 2013-10-08 | 2015-04-20 | 株式会社神戸製鋼所 | スケジュール表示装置、該方法、及び、該プログラム |
US20170080563A1 (en) * | 2015-09-20 | 2017-03-23 | Macau University Of Science And Technology | Scheduling Start-up Process for Time-constrained Single-arm Cluster Tools |
JP2018051664A (ja) * | 2016-09-27 | 2018-04-05 | ファナック株式会社 | 最適な物品把持経路を学習する機械学習装置、及び機械学習方法 |
JP2018086711A (ja) * | 2016-11-29 | 2018-06-07 | ファナック株式会社 | レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2022103968A (ja) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230321837A1 (en) | Machine learning device, robot system, and machine learning method for learning object picking operation | |
US11511420B2 (en) | Machine learning device, robot system, and machine learning method for learning operation program of robot | |
JP2022145915A (ja) | 推論方法、推論プログラム、推論装置、学習方法、学習プログラム、学習装置およびモデル生成方法 | |
US20170308052A1 (en) | Cell controller for optimizing motion of production system including industrial machines | |
US20180164788A1 (en) | Production system, controller, and control method | |
US10807234B2 (en) | Component supply device and machine learning device | |
WO2020241037A1 (ja) | 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム | |
US10459424B2 (en) | Numerical controller for controlling tapping | |
CN113561171B (zh) | 具有动态运动调整机制的机器人***及其操作方法 | |
US10698380B2 (en) | Numerical controller | |
CN109500809B (zh) | 对由机器人选择和抓取物体的自动化过程的优化 | |
CN112638596A (zh) | 自主学习型机器人装置以及自主学习型机器人装置的动作生成方法 | |
US11579000B2 (en) | Measurement operation parameter adjustment apparatus, machine learning device, and system | |
JP6490132B2 (ja) | ロボットの制御装置、機械学習装置及び機械学習方法 | |
WO2022145106A1 (ja) | 動作スケジュール生成装置、方法、プログラム及びシステム | |
JP2020184341A (ja) | 機械学習システム、並びに、機械学習システムを構成する方法、コンピュータプログラム及び装置 | |
JP6659260B2 (ja) | Plcプログラムの最適化機能を備えた制御装置及び機械学習器 | |
Azizi et al. | Applications of control engineering in industry 4.0: utilizing internet of things to design an agent based control architecture for smart material handling system | |
US20240054393A1 (en) | Learning Device, Learning Method, Recording Medium Storing Learning Program, Control Program, Control Device, Control Method, and Recording Medium Storing Control Program | |
KR20220065232A (ko) | 강화학습 기반으로 로봇을 제어하는 장치 및 방법 | |
US20190217470A1 (en) | Method and apparatus for optimizing a target working line | |
CN112384337A (zh) | 用于分析和/或配置工业设备的方法和*** | |
WO2024009467A1 (ja) | コンベア制御装置、生産システム、及びコンベア制御プログラム | |
WO2022230280A1 (ja) | ロボット制御システム、ロボット制御方法及びプログラム | |
US11660757B2 (en) | Robot control system simultaneously performing workpiece selection and robot task |
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: 21914967 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21914967 Country of ref document: EP Kind code of ref document: A1 |