JP2019028773A - Robot simulation device and robot simulation method - Google Patents

Robot simulation device and robot simulation method Download PDF

Info

Publication number
JP2019028773A
JP2019028773A JP2017148065A JP2017148065A JP2019028773A JP 2019028773 A JP2019028773 A JP 2019028773A JP 2017148065 A JP2017148065 A JP 2017148065A JP 2017148065 A JP2017148065 A JP 2017148065A JP 2019028773 A JP2019028773 A JP 2019028773A
Authority
JP
Japan
Prior art keywords
model
work
unit
search
robot
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2017148065A
Other languages
Japanese (ja)
Inventor
毅 山上
Takeshi Yamagami
毅 山上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keyence Corp
Original Assignee
Keyence Corp
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 Keyence Corp filed Critical Keyence Corp
Priority to JP2017148065A priority Critical patent/JP2019028773A/en
Publication of JP2019028773A publication Critical patent/JP2019028773A/en
Pending legal-status Critical Current

Links

Abstract

To enable a gripping position to be adopted or rejected based on an objective data by making a gripping position low in contribution rate toward the extraction successful rate of a work comparable with the other gripping position when a plurality of gripping positions is registered in the work.SOLUTION: A robot simulation device sets a plurality of gripping candidate positions gripped by a robot in association with each search model, and determines whether or not gripping by the robot is possible with respective gripping candidate positions associated with a work model that succeeds in the search. The picking action simulation in which the gripping candidate position determined to be grippable is gripped by the robot is repeatedly executed. Information showing use frequency of each search model and/or each gripping candidate position is comparably displayed.SELECTED DRAWING: Figure 36

Description

本発明は、ロボットシミュレーション装置及びロボットシミュレーション方法に関する。   The present invention relates to a robot simulation apparatus and a robot simulation method.

例えば各種製品の組み立て現場では、通い箱等に収容されている複数の部品(ワーク)を産業用ロボットのアームに取り付けられたハンド部等のエンドエフェクタで把持して順次取り出し、所定場所まで搬送することが行われている。   For example, at the assembly site of various products, a plurality of parts (workpieces) housed in a return box or the like are gripped by an end effector such as a hand unit attached to an arm of an industrial robot, sequentially taken out, and transported to a predetermined place. Things have been done.

産業用ロボットには視覚センサとなるロボットビジョンが組み合わされて使用される場合が増えてきている。ロボットビジョンを備えたロボットシステムは、まずロボットビジョンによって把持対象となるワークを撮像してワークの高さ情報を取得した上で、予め登録されているワークの適切な位置を把持(ピック)し、ワークを所定場所まで搬送して載置(プレース)する動作を繰り返し行うように構成されている。   Industrial robots are increasingly used in combination with a robot vision as a visual sensor. A robot system equipped with a robot vision first picks up an appropriate position of a pre-registered workpiece after picking up the workpiece height information by imaging the workpiece to be grasped by the robot vision, The operation of transferring the workpiece to a predetermined place and placing it (place) is repeatedly performed.

また、搬送前のワークは整列した状態で積み重ねられている場合もあるが、整列されておらず、無作為に積み重ねられた非整列状態、即ちばら積みされている場合がある。ワークがばら積みされている場合には、通い箱毎にワークの位置及び姿勢が異なっていて一つとして同じ位置及び姿勢のワークが無いのが通常である。このようなばら積みされたワークを順次取り出して所定場所まで搬送して載置する作業は、ばら積みピッキングと呼ばれている。ばら積みピッキングは、整列されているワークをピッキングする場合に比べて難易度がはるかに高いので、ロボットの運用前に、ロボットシミュレーション装置によってロボットのピックやプレース動作のシミュレーションを三次元的に行うことがある(例えば、特許文献1〜4参照)。   Moreover, although the workpiece | work before conveyance may be stacked in the aligned state, it may not be aligned, but may be in the non-aligned state that was randomly stacked, that is, it may be stacked in bulk. When the workpieces are stacked in bulk, the position and posture of the workpiece are different for each return box, and there is usually no workpiece having the same position and posture. Such an operation of sequentially taking out the stacked workpieces, transporting the workpieces to a predetermined place, and placing the workpieces is called “bulk picking”. Bulk picking is much more difficult than picking aligned workpieces, so it is possible to simulate robot picks and place motions three-dimensionally using a robot simulation device before operating the robot. Yes (see, for example, Patent Documents 1 to 4).

このようなロボットシミュレーション装置では、ワークの三次元形状を有するCADモデルをワークモデルとして、仮想作業空間に無作為に配置して、ロボットによる取り出し作業をシミュレーションしている。   In such a robot simulation apparatus, a CAD model having a three-dimensional shape of a work is used as a work model, and is randomly arranged in a virtual work space to simulate a take-out operation by the robot.

特許第4153528号公報Japanese Patent No. 4153528 特開2015−215259号公報JP 2015-215259 A 特開2002−331480号公報JP 2002-331480 A 特開2015−171745号公報Japanese Patent Laying-Open No. 2015-171745

ところで、ロボットによるばら積みピッキング作業を行う際には、1種のワークに対して複数の把持位置及び各把持位置における把持姿勢を登録するケースが多くある。これはワークの取り出し成功率を高めるためであるが、複数の把持位置を登録しておいたとしても、それらの全てに実効性があるとは限らない。すなわち、ワークの形状に基づけば把持位置を複数設定することは可能であったとしても、それら把持位置のうち、ばら積みピッキング作業でハンド部によって実際に把持できるのは一部であったり、ばら積みピッキング作業を行ってみると一部の把持位置の把持頻度が他の把持位置に比べて著しく低く、その把持位置の設定が殆ど意味をなしていない場合が想定される。   By the way, when performing a bulk picking operation by a robot, there are many cases in which a plurality of gripping positions and gripping postures at each gripping position are registered for one kind of work. This is to increase the success rate of picking up the workpiece, but even if a plurality of gripping positions are registered, not all of them are effective. That is, even if it is possible to set multiple gripping positions based on the shape of the workpiece, some of the gripping positions can be actually gripped by the hand part in bulk picking work, or bulk picking When the work is performed, it is assumed that the gripping frequency of some gripping positions is significantly lower than that of other gripping positions, and the setting of the gripping positions makes little sense.

ところが、そのワークの把持に適した把持位置または不適な把持位置をユーザが他の把持位置と比較しながら判定することは容易なことではなく、特にばら積み状態のワークが対象の場合は経験に基づいた判定も困難な場合がある。   However, it is not easy for the user to determine a gripping position that is suitable or inappropriate for gripping the workpiece by comparing it with other gripping positions. Judgment may also be difficult.

また、一般に、ばら積みピッキング作業で使用されるハンド部の形状は複数種あり、ハンド部の形状によってワークの取り出し成功率が大きく変動することは周知である。しかし、ハンド部の選定にあたってはワークの形状のみならず、ワークの個数、作業空間(収容箱の形状)等も大きく影響するので、ユーザが複数種のハンド部の中からどの形状のハンド部が適しているのかを他のハンド部との比較によって判定することは困難である。   In general, there are a plurality of types of hand parts used in bulk picking operations, and it is well known that the success rate of picking up a workpiece varies greatly depending on the shape of the hand part. However, in selecting the hand part, not only the shape of the work but also the number of work, the work space (container box shape), etc. have a great influence. It is difficult to determine whether it is suitable by comparison with other hand units.

本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、ワークに複数の把持位置を登録する場合に、ワークの取り出し成功率向上への寄与率が低い把持位置を他の把持位置と容易に比較できるようにして客観的なデータに基づいて把持位置の取捨選択を可能にすること、また、複数のハンド部の形状を登録する場合に、ワークの取り出し成功率向上への寄与率が低いハンド部の形状を他のハンド部の形状と容易に比較できるようにして客観的なデータに基づいてハンド部の取捨選択を可能にすることにある。   The present invention has been made in view of the above points, and the purpose of the present invention is to register a gripping position that has a low contribution rate for improving the workpiece removal success rate when a plurality of gripping positions are registered in the workpiece. The gripping position can be selected based on objective data so that it can be easily compared with the gripping position of the workpiece, and the success rate of picking up the workpiece can be improved when registering the shape of multiple hands. Therefore, it is possible to easily select a hand part based on objective data by making it possible to easily compare the shape of a hand part having a low contribution rate with the shape of another hand part.

上記目的を達成するために、第1の発明は、作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、上記ワークモデル設定部で設定された複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成部と、上記ばら積みデータ生成部により生成されたばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するためのサーチモデル登録部と、上記ロボットにより把持される複数の把持候補位置を、上記サーチモデル登録部により登録された各サーチモデルに対応付けて設定可能な把持位置設定部と、上記ばら積みデータ生成部により生成されたばら積みデータから、上記サーチモデル登録部により登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理部と、上記サーチ処理部によりサーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットによる把持が可能か否かを判定し、把持が可能と判定された把持候補位置をロボットにより把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーション部と、上記ピッキング動作シミュレーションで把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示する表示制御部とを備えていることを特徴とする。   In order to achieve the above object, a first invention is a robot simulation apparatus for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot, and a three-dimensional shape of the workpiece is modeled A work model setting unit for setting a converted work model, a bulk data generation unit for generating data in a bulk state in which a plurality of work models set in the work model setting unit are stacked in a virtual work space, and A search model registration unit for registering a plurality of search models used for search processing for detecting the position and orientation of the work model with respect to the bulk data generated by the bulk data generation unit, and gripped by the robot A plurality of gripping candidate positions are obtained by the search model registration unit. Using the search model registered by the search model registration unit, the gripping position setting unit that can be set in association with each registered search model, and the bulk data generated by the bulk data generation unit, A search processing unit that executes a search process for detecting a position and orientation, and a gripping candidate position associated with a work model that has been successfully searched by the search processing unit, determine whether or not gripping by a robot is possible. A picking motion simulation unit that repeatedly executes a picking motion simulation for gripping a gripping candidate position determined to be gripped by the robot, and each search model and / or each gripping candidate position when gripping is successful in the picking motion simulation. Compare information indicating the frequency of use Characterized in that it comprises a Shimesuru display control unit.

この構成によれば、複数のサーチモデルを登録するとともに、各サーチモデルについて複数の把持候補位置を当該サーチモデルに対応付けて設定することが可能になる。登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行し、サーチに成功したワークモデルに対応付けられた複数の把持候補位置のそれぞれについて、ロボットによる把持が可能である場合には、その把持候補位置をロボットにより把持するピッキング動作をシミュレーションする。このシミュレーションを繰り返し実行し、把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示することができる。   According to this configuration, it is possible to register a plurality of search models and set a plurality of gripping candidate positions for each search model in association with the search model. A search process that detects the position and orientation of the work model is executed using the registered search model, and the robot can grip each of a plurality of gripping candidate positions associated with the work model that has been successfully searched. In some cases, a picking operation for gripping the gripping candidate position by the robot is simulated. By repeatedly executing this simulation, it is possible to display information indicating the frequency of use of each search model and / or each gripping candidate position when the gripping is successful.

第2の発明は、作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、上記ワークモデル設定部で設定された複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成部と、上記ばら積みデータ生成部により生成されたばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するためのサーチモデル登録部と、上記ロボットのハンド部の形状を複数入力可能なハンド部形状入力部と、上記ばら積みデータ生成部により生成されたばら積みデータから、上記サーチモデル登録部により登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理部と、上記サーチ処理部によりサーチに成功したワークモデルを上記ハンド部形状入力部で入力されたハンド部により把持するピッキング動作シミュレーションを、各ハンド部を用いて繰り返し実行するピッキング動作シミュレーション部と、上記ピッキング動作シミュレーションで得られた各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示する表示制御部とを備えていることを特徴とする。   A second invention is a robot simulation apparatus for simulating a bulk picking operation in which a plurality of works stacked in a work space are sequentially picked up by a robot, and for setting a work model that models the three-dimensional shape of the work Generated by the above-described work model setting unit, a bulk data generation unit that generates bulk data by stacking a plurality of work models set in the work model setting unit in a virtual work space, and the bulk data generation unit A search model registration unit for registering a plurality of search models used for search processing for detecting the position and orientation of the work model for the bulk data, and a hand unit capable of inputting a plurality of shapes of the robot hand unit Generated by the shape input unit and the bulk data generation unit A search processing unit that executes a search process for detecting the position and orientation of the work model from the bulk data using the search model registered by the search model registration unit, and a work model that has been successfully searched by the search processing unit A picking motion simulation unit that repeatedly executes the picking motion simulation using the hand unit input by the hand unit shape input unit using each hand unit, and a work model by each hand unit obtained by the picking motion simulation. And a display control unit that displays information indicating the success degree of gripping in a comparable manner.

この構成によれば、ロボットのハンド部の形状をハンド部形状入力部によって複数入力することが可能になる。ハンド部形状入力部で入力された各ハンド部を用いてピッキング動作シミュレーションを繰り返し実行し、各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示することができる。   According to this configuration, it becomes possible to input a plurality of shapes of the hand portion of the robot by the hand portion shape input unit. The picking operation simulation is repeatedly executed using each hand unit input by the hand unit shape input unit, and information indicating the success degree of gripping the work model by each hand unit can be displayed in a comparable manner.

第3の発明は、上記ばら積みデータ生成部は、複数のワークモデルを用いて、ワークが重力の作用を受けて上記作業空間に配置される動作をシミュレーションする物理シミュレーションを実行するように構成され、上記ピッキング動作シミュレーション部によるピッキング動作シミュレーションが終了する都度、上記物理シミュレーションを新たに実行してデータを更新することを特徴とする。この構成によれば、実運用により近いピッキング動作シミュレーションを行うことができるので、比較可能に表示される情報の信頼性が高まる。   According to a third aspect of the present invention, the bulk data generation unit is configured to execute a physical simulation that simulates an operation in which a work is placed in the work space under the action of gravity using a plurality of work models, Each time the picking motion simulation by the picking motion simulation unit ends, the physical simulation is newly executed to update the data. According to this configuration, the picking operation simulation closer to the actual operation can be performed, so that the reliability of the information displayed in a comparable manner is increased.

第4の発明は、上記表示制御部は、把持に使用されなかったり、使用頻度が著しく低かった各サーチモデル及び/または各把持候補位置を表示可能に構成されていることを特徴とする。この構成によれば、ユーザが、ピッキング動作シミュレーションの結果、把持に使用されなかったり、使用頻度が著しく低かったサーチモデルや把持候補位置を知ることができるので、それらを除外して実運用することができる。   According to a fourth aspect of the present invention, the display control unit is configured to be able to display each search model and / or each gripping candidate position that has not been used for gripping or has been used with a very low frequency. According to this configuration, as a result of the picking motion simulation, the user can know search models and gripping candidate positions that are not used for gripping or are used very frequently, so that they can be used in practice without them. Can do.

第5の発明は、上記ピッキング動作シミュレーション部は、各ハンド部による把持が行えなくなるまでピッキング動作シミュレーションを継続するように構成され、上記表示制御部は、上記ピッキング動作シミュレーション部によるピッキング動作シミュレーション終了時に残っているワークモデルの数をハンド部毎に表示可能に構成されていることを特徴とする。この構成によれば、ハンド部による把持の成功度合いが、ワークモデルの残数という具体的な形態で表示されるので、ユーザがハンド部を取捨選択し易くなる。   According to a fifth aspect of the invention, the picking motion simulation unit is configured to continue the picking motion simulation until gripping by each hand unit cannot be performed, and the display control unit is configured to end the picking motion simulation by the picking motion simulation unit. The number of remaining work models is configured to be displayed for each hand unit. According to this configuration, the success degree of gripping by the hand unit is displayed in a specific form of the remaining number of work models, so that the user can easily select the hand unit.

第6の発明は、作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、ワークの三次元形状をモデル化したワークモデルを設定するワークモデル設定ステップと、上記ワークモデル設定ステップで設定した複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成ステップと、上記ばら積みデータ生成ステップで生成したばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するサーチモデル登録ステップと、上記ロボットにより把持される複数の把持候補位置を、上記サーチモデル登録ステップで登録した各サーチモデルに対応付けて設定する把持位置設定ステップと、上記ばら積みデータ生成ステップで生成したばら積みデータから、上記サーチモデル登録ステップで登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理ステップと、上記サーチ処理ステップでサーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットによる把持が可能か否かを判定し、把持が可能と判定された把持候補位置をロボットにより把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーションステップと、上記ピッキング動作シミュレーションで把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示する表示ステップとを備えていることを特徴とする。   A sixth invention is a robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot, and a workpiece model setting for setting a workpiece model modeling a three-dimensional shape of a workpiece A bulk data generation step for generating data in a bulk state in which a plurality of work models set in the work model setting step are stacked in a virtual work space; and for the bulk data generated in the bulk data generation step, A search model registration step for registering a plurality of search models used in search processing for detecting the position and orientation of a work model, and a plurality of gripping candidate positions gripped by the robot are registered in the search model registration step. Searchmo A search for detecting the position and orientation of the work model from the bulk data generated in the bulk data generated in the bulk data generated in the grip position setting step and the bulk data generation step. For each of the search processing step for executing the process and the gripping candidate positions associated with the work model that has been successfully searched in the search processing step, it is determined whether or not gripping by the robot is possible. A picking motion simulation step for repeatedly executing a picking motion simulation for gripping a gripping candidate position by a robot, and information indicating the use frequency of each search model and / or each gripping candidate position when gripping is successful in the picking motion simulation. Comparable table Characterized in that it comprises a display step of.

第7の発明は、作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、ワークの三次元形状をモデル化したワークモデルを設定するワークモデル設定ステップと、上記ワークモデル設定ステップで設定した複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成ステップと、上記ばら積みデータ生成ステップで生成したばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するサーチモデル登録ステップと、上記ロボットのハンド部の形状を複数入力するハンド部形状入力ステップと、上記ばら積みデータ生成ステップで生成したばら積みデータから、上記サーチモデル登録ステップで登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理ステップと、上記サーチ処理ステップでサーチに成功したワークモデルを、上記ハンド部形状入力ステップで入力されたハンド部により把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーションステップと、ピッキング動作シミュレーションで得られた各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示する表示ステップとを備えていることを特徴とする。   A seventh invention is a robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot, and a workpiece model setting for setting a workpiece model modeling a three-dimensional shape of a workpiece A bulk data generation step for generating data in a bulk state in which a plurality of work models set in the work model setting step are stacked in a virtual work space; and for the bulk data generated in the bulk data generation step, A search model registration step for registering a plurality of search models used in search processing for detecting the position and orientation of a work model, a hand portion shape input step for inputting a plurality of hand portion shapes of the robot, and the bulk data generation Step Using the search model registered in the search model registration step, the search processing step for executing the search process for detecting the position and orientation of the work model from the bulk data generated in step 1, and the search was successful in the search processing step. A picking motion simulation step for repeatedly executing a picking motion simulation for gripping a work model by the hand portion input in the hand portion shape input step, and a degree of success of gripping the work model by each hand portion obtained by the picking motion simulation And a display step for displaying information indicating that the information can be compared.

第1の発明によれば、複数のサーチモデルについて複数の把持候補位置を対応付けて設定することができ、登録したサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行し、サーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットによる把持が可能である場合には、その把持候補位置をロボットにより把持するピッキング動作をシミュレーションすることができる。このシミュレーションを繰り返し実行し、把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示することができるので、ワークの取り出し成功率向上への寄与率が低い把持位置を他の把持位置と容易に比較でき、客観的なデータに基づいて把持位置を取捨選択することができる。   According to the first invention, a plurality of gripping candidate positions can be set in association with each other for a plurality of search models, and a search process for detecting the position and orientation of the work model is executed using the registered search models. If each of the gripping candidate positions associated with the work model that has been successfully searched can be gripped by the robot, a picking operation of gripping the gripping candidate position by the robot can be simulated. Since this simulation is repeatedly executed and information indicating the frequency of use of each search model and / or each gripping candidate position when gripping is successful can be displayed in a comparable manner, the contribution rate for improving the success rate of picking up the workpiece Can be easily compared with other gripping positions, and the gripping positions can be selected based on objective data.

第2の発明によれば、ロボットのハンド部の形状をハンド部形状入力部によって複数入力し、入力された各ハンド部を用いてピッキング動作シミュレーションを実行し、各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示することができるので、ワークの取り出し成功率向上への寄与率が低いハンド部の形状を他のハンド部の形状と容易に比較でき、客観的なデータに基づいてハンド部を取捨選択することができる。   According to the second invention, a plurality of shapes of the robot hand portion are input by the hand portion shape input portion, a picking operation simulation is executed using each input hand portion, and the gripping of the work model by each hand portion is performed. Since the information indicating the degree of success can be displayed in a comparable manner, the shape of the hand part, which has a low contribution rate to improving the workpiece removal success rate, can be easily compared with the shape of the other hand parts. Based on this, the hand part can be selected.

ロボットシステムを用いてばら積みピッキング動作を行う様子を示す模式図である。It is a schematic diagram which shows a mode that the bulk picking operation | movement is performed using a robot system. ロボットシステムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of a robot system. ロボットシステムの詳細構成を示すブロック図である。It is a block diagram which shows the detailed structure of a robot system. センサ部の一例を示す斜視図である。It is a perspective view which shows an example of a sensor part. 図5Aはエンドエフェクタでワークを把持する例を示す模式図、図5Bは空洞を有するワークを内面から把持する例を示す模式図、図5Cは板状のワークを吸引して把持する例を示す模式図である。5A is a schematic diagram showing an example of gripping a workpiece with an end effector, FIG. 5B is a schematic diagram showing an example of gripping a workpiece having a cavity from the inner surface, and FIG. 5C shows an example of sucking and gripping a plate-like workpiece. It is a schematic diagram. 図6Aは収納容器にワークを無作為に投入して積み上げた例を示す模式断面図、図6Bはワークを床面上に積み上げた例を示す模式断面図、図6Cはワークを一定姿勢でトレイ上に配列した状態を示す斜視図である。6A is a schematic cross-sectional view showing an example in which workpieces are randomly placed in a storage container and stacked, FIG. 6B is a schematic cross-sectional view showing an example in which workpieces are stacked on a floor surface, and FIG. It is a perspective view which shows the state arranged on the top. ロボットシミュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of robot simulation. シミュレーション環境の設定手順を示すフローチャートである。It is a flowchart which shows the setting procedure of a simulation environment. ワークのCADデータが存在する場合のサーチモデルの登録手順を示すフローチャートである。It is a flowchart which shows the registration procedure of the search model when CAD data of a workpiece | work exists. 三次元CADデータに基づいたワークモデルを示す斜視図である。It is a perspective view which shows the work model based on three-dimensional CAD data. 図10に示すワークモデルの高さ画像を示す図である。It is a figure which shows the height image of the workpiece | work model shown in FIG. 三次元CADデータに基づいた別のワークモデルを示す斜視図である。It is a perspective view which shows another work model based on three-dimensional CAD data. 図12に示すワークモデルの高さ画像を示す図である。It is a figure which shows the height image of the workpiece | work model shown in FIG. ワークのCADデータが存在する場合のサーチモデルの登録手順の別の例を示すフローチャートである。It is a flowchart which shows another example of the registration procedure of a search model when CAD data of a workpiece | work exists. ワークのCADデータが無い場合のサーチモデルの登録手順の例を示すフローチャートである。It is a flowchart which shows the example of the registration procedure of the search model when there is no CAD data of a workpiece | work. CADデータが無い場合のワークモデルの高さ画像を示す図である。It is a figure which shows the height image of a work model in case there is no CAD data. 特徴点を配置した高さ画像を示す図である。It is a figure which shows the height image which has arrange | positioned the feature point. ハンドモデルの登録手順の例を示すフローチャートである。It is a flowchart which shows the example of the registration procedure of a hand model. 三次元CADデータに基づいたハンドモデルを示す側面図である。It is a side view which shows the hand model based on three-dimensional CAD data. ハンドモデルの断面を示す図である。It is a figure which shows the cross section of a hand model. 図21Aは、把持姿勢一覧が表示された把持位置設定用画面を示す図、図21Bは、把持姿勢設定領域が表示された把持位置設定用画面を示す図である。FIG. 21A is a diagram illustrating a gripping position setting screen on which a gripping posture list is displayed, and FIG. 21B is a diagram illustrating a gripping position setting screen on which a gripping posture setting area is displayed. ハンドモデルがワークの把持候補位置を把持可能な位置に配置された状態を示す図である。It is a figure which shows the state by which the hand model is arrange | positioned in the position which can hold | grip the workpiece holding candidate position. 6つのサーチモデルのそれぞれについてハンドモデルが把持候補位置を把持可能な位置に配置された状態を示す図である。It is a figure which shows the state by which the hand model was arrange | positioned in the position which can hold | grip a candidate grip position about each of six search models. 図24Aはポリゴン数削減前のワークモデルを示す図、図24Bはポリゴン数削減後のワークモデルを示す図である。FIG. 24A is a diagram showing a work model before the number of polygons is reduced, and FIG. 24B is a diagram showing a work model after the number of polygons is reduced. ワークの元の三次元形状が大きく崩れるまでポリゴン数を削減した後のワークモデルを示す図である。It is a figure which shows the workpiece | work model after reducing the number of polygons until the original three-dimensional shape of a workpiece | work collapses greatly. 物理シミュレーション画像と高さ画像とを同時に表示した画面を示す図である。It is a figure which shows the screen which displayed the physical simulation image and the height image simultaneously. 視点を変えて見た物理シミュレーション画像と高さ画像とを同時に表示した画面を示す図である。It is a figure which shows the screen which displayed the physical simulation image and height image which looked at changing a viewpoint simultaneously. 高さ画像の中でワークモデルを検出した状態を表示する画面を示す図である。It is a figure which shows the screen which displays the state which detected the work model in the height image. 図29Aは三次元サーチに用いる高さ画像を構成するワークモデルが圧縮処理前である場合を示す図であり、図29Bは圧縮処理前のワークモデルと、圧縮処理前のワークに対するサーチ結果(サーチモデルの各特徴点の位置)を重畳表示した図である。FIG. 29A is a diagram showing a case where the work model constituting the height image used for the three-dimensional search is before the compression process, and FIG. 29B is a work model before the compression process and a search result (search for the work before the compression process). It is the figure which superimposed and displayed the position of each feature point of a model. 図30Aは三次元サーチに用いる高さ画像を構成するワークモデルが圧縮処理後である場合を示す図であり、図30Bは圧縮処理後のワークモデルと、圧縮処理前のワークに対するサーチ結果(サーチモデルの各特徴点の位置)を重畳表示した図である。FIG. 30A is a diagram showing a case where the work model constituting the height image used for the three-dimensional search is after the compression process, and FIG. 30B is a work model after the compression process and a search result (search for the work before the compression process). It is the figure which superimposed and displayed the position of each feature point of a model. 三次元サーチの結果(サーチモデルの各特徴点の位置)の重畳表示を二次元表示した場合と三次元表示した場合の図である。It is a figure in the case where the superimposed display of the result of a three-dimensional search (position of each feature point of a search model) is displayed in two dimensions and in three dimensions. 図32Aはハンドモデルと三次元計測点とが干渉していない場合を示す図であり、図32Bはハンドモデルと三次元計測点とが干渉している場合を示す図である。FIG. 32A is a diagram illustrating a case where the hand model and the three-dimensional measurement point do not interfere with each other, and FIG. 32B is a diagram illustrating a case where the hand model and the three-dimensional measurement point are interfering with each other. ピッキング動作シミュレーション中の画像を示す図である。It is a figure which shows the image in picking operation | movement simulation. ピッキング動作シミュレーションを複数回行って結果を蓄積する手順を示す統計蓄積フローチャートである。It is a statistics accumulation | storage flowchart which shows the procedure which performs picking operation | movement simulation in multiple times and accumulate | stores a result. ピッキング動作シミュレーションの結果を把持登録番号順にリスト表示した表である。It is the table | surface which displayed the result of the picking operation | movement simulation as a list | wrist in order of a grip registration number. ピッキング動作シミュレーションの結果を回数降順にリスト表示した表である。It is the table | surface which displayed the list of the result of picking operation | movement simulation in descending order. ピッキング動作シミュレーションの結果をハンド部の形状別にリスト表示した表である。It is the table | surface which displayed the result of the picking operation | movement simulation as a list according to the shape of a hand part. 運用時の手順を示すフローチャートである。It is a flowchart which shows the procedure at the time of operation. 撮像範囲内に注目領域を設定した場合を示す図である。It is a figure which shows the case where an attention area | region is set within the imaging range. 露光時間と有効画素数との関係を示すグラフである。It is a graph which shows the relationship between exposure time and the number of effective pixels. 露光時間の設定要領を示す図である。It is a figure which shows the setting point of exposure time. 露光時間設定用画面であり、露光時間が推奨値にある場合を示す図である。It is a screen for exposure time setting, and is a figure which shows the case where exposure time is in a recommended value. 露光時間設定用画面であり、露光時間が推奨値よりも短い場合を示す図である。It is an exposure time setting screen, and shows a case where the exposure time is shorter than the recommended value. 露光時間設定用画面であり、露光時間が推奨値よりも長い場合を示す図である。It is an exposure time setting screen and is a diagram showing a case where the exposure time is longer than the recommended value. 図45Aは三次元計測部で得られた計測データに基づいて生成した高さ画像を、やや斜め方向から三次元表示した点群と、サーチ結果の位置にサーチモデルの特徴点を重畳表示した図であり、図45Bは、図45Aに加え、三次元計測部で計測できていないワーク表面を他の面との関連性を利用して推定し、別の面のサーチモデルの特徴点も含めて重畳表示した図である。FIG. 45A is a diagram in which a height image generated based on measurement data obtained by a three-dimensional measurement unit is displayed in a three-dimensional manner from a slightly oblique direction, and a feature point of a search model is superimposed on the position of a search result. 45B, in addition to FIG. 45A, estimates the work surface that cannot be measured by the three-dimensional measuring unit using the relevance to other surfaces, and includes the feature points of the search model of another surface. FIG. 運用時の別の手順を示すフローチャートである。It is a flowchart which shows another procedure at the time of operation. 図47Aは面の関連性を利用せずに干渉判定して誤った判定結果が出ている場合を示す画像であり、図47Bは面の関連性を利用して干渉判定して正しい判定結果が出ている場合を示す画像である。FIG. 47A is an image showing a case where an erroneous determination result is obtained by performing interference determination without using the surface relationship, and FIG. 47B is an image in which interference determination is performed using the surface relationship and the correct determination result is obtained. It is an image which shows the case where it has come out. 干渉判定を行っているときに表示部に表示される画像を示す図である。It is a figure which shows the image displayed on a display part when performing interference determination. 立方体形状のワークがばら積みされている場合を説明する図である。It is a figure explaining the case where the cube-shaped workpiece | work is piled up in bulk.

以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. It should be noted that the following description of the preferred embodiment is merely illustrative in nature, and is not intended to limit the present invention, its application, or its use.

図1は、本発明の実施形態に係るロボットシステム1000の構成例を示す模式図である。この図1は、各種製品の製造工場等にある作業空間に積み上げられた複数のワークWKを、ロボットRBTを用いて順次取り出し、所定の場所に設置されているステージSTGまで搬送して該ステージSTG上に載置するばら積みピッキングを行う例について示している。   FIG. 1 is a schematic diagram illustrating a configuration example of a robot system 1000 according to an embodiment of the present invention. In FIG. 1, a plurality of workpieces WK stacked in a work space in a manufacturing factory for various products are sequentially picked up using a robot RBT, conveyed to a stage STG installed at a predetermined place, and the stage STG. An example of performing bulk picking placed on top is shown.

ロボットシステム1000はロボットRBTとロボットRBTを制御するロボットコントローラ6とを備えている。ロボットRBTは、産業用の汎用ロボットであり、ベース部が工場等の床面に対して固定されている。ロボットRBTは、例えばマニピュレータ等とも呼ばれており、6軸制御が可能に構成されている。このロボットRBTは、ベース部から延びるアーム部ARMと、アーム部ARMの先端部に設けられたエンドエフェクタEETとを備えている。アーム部ARMは、可動部としての関節部を複数備えた多関節型に構成することができる。アーム部ARMの各関節部の動作及びアーム部ARM自体の回転動作によってエンドエフェクタEETを可動範囲内の所望の位置まで移動させることができる。   The robot system 1000 includes a robot RBT and a robot controller 6 that controls the robot RBT. The robot RBT is an industrial general-purpose robot, and a base portion is fixed to a floor surface of a factory or the like. The robot RBT is also called, for example, a manipulator or the like, and is configured to be capable of 6-axis control. The robot RBT includes an arm part ARM extending from the base part, and an end effector EET provided at the tip of the arm part ARM. The arm part ARM can be configured as a multi-joint type including a plurality of joint parts as movable parts. The end effector EET can be moved to a desired position within the movable range by the operation of each joint portion of the arm portion ARM and the rotation operation of the arm portion ARM itself.

エンドエフェクタEETは、ワークWKを把持するハンド部等で構成することができる。エンドエフェクタEETは、図5Aに示すようにワークWKの外側を挟み込んで把持する構造のエンドエフェクタEET1、図5Bに示すように空洞部を有するワークWK2の内部に爪部を挿入して拡開させることによって保持する構造のエンドエフェクタEET2、図5Cに示すように板状のワークWK3を吸引して保持するエンドエフェクタEET3等があり、いずれのエンドエフェクタも使用することができる。また、本明細書で「把持」とは、図5Aに示すワークWKの外側を挟み込む方法、空洞部に爪部を挿入して拡開させる方法、吸引する方法等の全ての例を含む意味で使用する。   The end effector EET can be configured by a hand unit or the like that grips the workpiece WK. 5A, the end effector EET sandwiches and grips the outside of the workpiece WK, and the claw portion is inserted into the workpiece WK2 having a hollow portion as shown in FIG. 5B to expand the end effector EET. As shown in FIG. 5C, there are an end effector EET2 for sucking and holding a plate-like work WK3 as shown in FIG. 5C, and any end effector can be used. Further, in this specification, “gripping” is meant to include all examples such as a method of sandwiching the outside of the work WK shown in FIG. use.

ロボットRBTは、ロボットコントローラ6によって制御される。ロボットコントローラ6はアーム部ARMの動作やエンドエフェクタEETの開閉動作等を制御する。またロボットコントローラ6は図2に示すロボット設定装置100から、ロボットRBTの制御に必要な情報を取得する。例えば、図1に示す収納容器BXに無作為に投入された多数の部品であるワークWKの三次元形状を、三次元カメラや照明等のセンサ部2を使用して取得し、ロボット設定装置100でワークWKの位置や姿勢を検出して、その情報をロボットコントローラ6が取得する。   The robot RBT is controlled by the robot controller 6. The robot controller 6 controls the operation of the arm unit ARM and the opening / closing operation of the end effector EET. Further, the robot controller 6 acquires information necessary for controlling the robot RBT from the robot setting apparatus 100 shown in FIG. For example, the robot setting device 100 acquires the three-dimensional shape of the workpiece WK, which is a large number of parts randomly placed in the storage container BX shown in FIG. 1, using the sensor unit 2 such as a three-dimensional camera or illumination. Thus, the position and posture of the workpiece WK are detected, and the robot controller 6 acquires the information.

ロボットシステム1000の機能ブロック図を図2に示す。この図に示すロボットシステム1000は、ロボットRBT及びロボットコントローラ6の他に、ロボット設定装置100と、センサ部2と、表示部3と、操作部4と、ロボット操作具7とを備える。   A functional block diagram of the robot system 1000 is shown in FIG. A robot system 1000 shown in this figure includes a robot setting device 100, a sensor unit 2, a display unit 3, an operation unit 4, and a robot operation tool 7 in addition to the robot RBT and the robot controller 6.

操作部4では、後述する物理シミュレーション、ピッキング動作シミュレーション、画像処理に関する各種設定を行う。またセンサ部2で、ワークWKを撮像してワークWKの三次元形状を取得する。さらに表示部3で、設定や動作状態の確認、シミュレーションの確認等を行う。さらに、ロボット設定装置100の内部に設けられているロボットシミュレーション装置200や画像処理装置300が各種シミュレーション、三次元サーチ、干渉判定、把持解の算出等を行う。   The operation unit 4 performs various settings relating to physical simulation, picking operation simulation, and image processing, which will be described later. Further, the sensor unit 2 captures an image of the workpiece WK and acquires a three-dimensional shape of the workpiece WK. Further, on the display unit 3, confirmation of setting and operation state, confirmation of simulation, and the like are performed. Further, the robot simulation device 200 and the image processing device 300 provided in the robot setting device 100 perform various simulations, three-dimensional search, interference determination, grip solution calculation, and the like.

一方、ロボットコントローラ6はロボット設定装置100から出力される信号に従い、ロボットRBTの制御を行うように構成された周知の部材である。またロボット操作具7は、ロボットRBTの動作設定を行う。なお、図2の例では操作部4とロボット操作具7を別個の部材としているが、これらを共通の部材としてもよい。   On the other hand, the robot controller 6 is a known member configured to control the robot RBT in accordance with a signal output from the robot setting device 100. The robot operation tool 7 performs operation settings for the robot RBT. In the example of FIG. 2, the operation unit 4 and the robot operation tool 7 are separate members, but they may be common members.

センサ部2は、ロボットビジョンなどと呼ばれる、作業空間やワークWKを撮像する部材であり、この実施形態では、ワークWKが少なくとも撮像対象物となる。センサ部2で撮像された画像から、ばら積みされたワークWKの三次元形状を示す三次元形状データを取得することが可能になる。なお三次元形状を取得する方法は、例えば、パターン投影法、ステレオ法、レンズ焦点法、光切断法、光レーダ法、干渉法(白色干渉法)、TOF方式などがあり、これらの方法のうち、どの方法を用いてもよい。各方法は、従来から周知であるため、詳細な説明は省略する。本実施形態においては、パターン投影法のうち、周期的な照度分布を有するパターン光を撮像対象物に照射し、撮像対象物の表面で反射した光を受光する位相シフト法を用いている。   The sensor unit 2 is a member called a robot vision or the like that images a work space or a work WK. In this embodiment, the work WK is at least an imaging object. It becomes possible to acquire three-dimensional shape data indicating the three-dimensional shape of the workpieces WK stacked in bulk from the image captured by the sensor unit 2. Note that methods for obtaining a three-dimensional shape include, for example, a pattern projection method, a stereo method, a lens focus method, a light cutting method, an optical radar method, an interference method (white interference method), a TOF method, and the like. Any method may be used. Since each method is conventionally well-known, detailed description is abbreviate | omitted. In the present embodiment, among the pattern projection methods, a phase shift method is used in which pattern light having a periodic illuminance distribution is applied to the imaging target and light reflected by the surface of the imaging target is received.

センサ部2は、測定対象物であるワークWKの形状を測定する形状測定装置400の一構成要素でもある。形状測定装置400は、ロボット設定装置100の一部とすることができるが、別部材として構成することもできる。センサ部2の具体的な構成は、三次元形状の計測技術に応じて決定される。このセンサ部2は、カメラ、照明又はプロジェクタ等を備える。例えば位相シフト法でワークWKの三次元形状を計測する場合は、センサ部2として図4に示すように、プロジェクタ(投光部)PRJと、複数のカメラ(受光部)CME1、CME2、CME3、CME4とを備える。プロジェクタPRJは、ワークWKに光を照射する部材である。カメラCME1、CME2、CME3、CME4は、プロジェクタPRJにより投光されてワークWKの表面で反射した光を受光する撮像素子を有する部材である。投光部の光源は、例えば複数の発光ダイオード、液晶パネル、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することができる。   The sensor unit 2 is also a component of the shape measuring apparatus 400 that measures the shape of the workpiece WK that is a measurement object. The shape measuring device 400 can be a part of the robot setting device 100, but can also be configured as a separate member. A specific configuration of the sensor unit 2 is determined according to a three-dimensional shape measurement technique. The sensor unit 2 includes a camera, an illumination, a projector, or the like. For example, when the three-dimensional shape of the workpiece WK is measured by the phase shift method, as shown in FIG. 4 as the sensor unit 2, a projector (light projecting unit) PRJ and a plurality of cameras (light receiving units) CME1, CME2, CME3, CME4. The projector PRJ is a member that irradiates light onto the work WK. The cameras CME1, CME2, CME3, and CME4 are members having an image sensor that receives light projected by the projector PRJ and reflected from the surface of the work WK. The light source of the light projecting unit can be composed of, for example, a plurality of light emitting diodes, a liquid crystal panel, an organic EL panel, a digital micromirror device (DMD), and the like.

なおセンサ部2は、カメラCME1、CME2、CME3、CME4やプロジェクタPRJといった複数の部材で構成する他、これらを一体的に構成してもよい。例えばカメラCME1、CME2、CME3、CME4やプロジェクタPRJを統合してヘッド状とした3D撮像ヘッドを、センサ部2とすることができる。   In addition, the sensor unit 2 may be configured by a plurality of members such as the cameras CME1, CME2, CME3, CME4, and the projector PRJ, or may be configured integrally. For example, the sensor unit 2 may be a 3D imaging head that is formed into a head shape by integrating the cameras CME1, CME2, CME3, CME4, and the projector PRJ.

また三次元形状データの生成自体を、センサ部2で行うこともできる。この場合、センサ部2に三次元形状データの生成機能を実現する画像処理IC等を設ける。あるいは、三次元形状データの生成を、画像処理装置300側で行わず、センサ部2で撮像した生画像を、画像処理装置300側で画像処理して三次元画像等の三次元形状データを生成する構成としてもよい。   Further, the generation of the three-dimensional shape data itself can be performed by the sensor unit 2. In this case, the sensor unit 2 is provided with an image processing IC or the like that realizes a function of generating three-dimensional shape data. Alternatively, the 3D shape data is not generated on the image processing apparatus 300 side, and the raw image captured by the sensor unit 2 is image processed on the image processing apparatus 300 side to generate 3D shape data such as a 3D image. It is good also as composition to do.

さらに、センサ部2で撮像された画像に基づいて、キャリブレーションを実行することにより、実際のワークWKの位置座標(エンドエフェクタEETの移動位置の座標)と、表示部3上に表示された画像上の位置座標とをリンクさせることができる。   Furthermore, by executing calibration based on the image captured by the sensor unit 2, the actual position coordinates of the workpiece WK (the coordinates of the movement position of the end effector EET) and the image displayed on the display unit 3 are displayed. The upper position coordinates can be linked.

ロボット設定装置100は、センサ部2で得られたワークWKの三次元形状データに基づいて、三次元サーチ、干渉判定、把持解算出等を行う。このロボット設定装置100は、専用の画像処理プログラムをインストールした汎用のコンピュータや、専用に設計された画像処理コントローラ、専用のハードウェアで構成することができる。また、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像処理プログラムをインストールした構成とすることもできる。   The robot setting device 100 performs three-dimensional search, interference determination, grip solution calculation, and the like based on the three-dimensional shape data of the workpiece WK obtained by the sensor unit 2. The robot setting apparatus 100 can be configured by a general-purpose computer in which a dedicated image processing program is installed, a dedicated image processing controller, and dedicated hardware. In addition, the image processing program may be installed in a dedicated computer that specializes hardware such as a graphic board for image inspection processing.

なお図2の例では、センサ部2やロボットコントローラ6等をロボット設定装置100とは別個の部材で構成する例を示しているが、本発明はこの構成に限られず、例えばセンサ部2と画像処理装置100とを一体化したり、あるいはロボットコントローラ6をロボット設定装置100に組み込むこともできる。このように、図2に示す部材の区分けは一例であって、複数の部材を統合させることもできる。例えばロボット設定装置100を操作する操作部4と、ロボットコントローラ6を操作するロボット操作具7とを、共通の部材としてもよい。   2 illustrates an example in which the sensor unit 2, the robot controller 6, and the like are configured by members separate from the robot setting device 100, the present invention is not limited to this configuration. For example, the sensor unit 2 and the image The processing apparatus 100 can be integrated, or the robot controller 6 can be incorporated into the robot setting apparatus 100. Thus, the division of the members shown in FIG. 2 is an example, and a plurality of members can be integrated. For example, the operation unit 4 that operates the robot setting device 100 and the robot operation tool 7 that operates the robot controller 6 may be a common member.

ただし、センサ部2はロボットRBTと別体としている。すなわち、本願発明はセンサ部2をロボット本体5のアーム部ARMに設けない、オフハンド形式と呼ばれる形態を対象としている。いいかえると、センサ部2をエンドエフェクタEETに設ける、オンハンド形式等と呼ばれる態様は、本願発明に含まれない。   However, the sensor unit 2 is separated from the robot RBT. That is, the present invention is directed to a form called an off-hand type in which the sensor unit 2 is not provided in the arm unit ARM of the robot body 5. In other words, an aspect called an on-hand type in which the sensor unit 2 is provided in the end effector EET is not included in the present invention.

表示部3は、ロボット設定装置100で取得されたワークWKの三次元形状を表示させたり、各種シミュレーション画像を表示させたり、各種設定や動作状態の確認を行うための部材であり、例えば、液晶モニタや有機ELディスプレイ、CRT等を利用できる。操作部4は、各種シミュレーションや画像処理等の各種設定を行うための部材であり、キーボードやマウス等の入力デバイスが利用できる。また表示部3をタッチパネルとすることで、操作部4と表示部3を一体化することもできる。   The display unit 3 is a member for displaying the three-dimensional shape of the workpiece WK acquired by the robot setting device 100, displaying various simulation images, and confirming various settings and operation states. A monitor, an organic EL display, a CRT, or the like can be used. The operation unit 4 is a member for performing various settings such as various simulations and image processing, and an input device such as a keyboard and a mouse can be used. Moreover, the operation part 4 and the display part 3 can also be integrated by making the display part 3 into a touch panel.

例えばロボット設定装置100を、画像処理プログラムをインストールしたコンピュータで構成した場合、表示部3上には画像処理プログラムのグラフィカルユーザインターフェース(GUI)画面が表示される。表示部3上に表示されたGUI上から各種の設定を行うことができ、またシミュレーション結果等の処理結果を表示させることができる。この場合、表示部3を各種の設定を行うための設定部として利用できる。   For example, when the robot setting apparatus 100 is configured by a computer in which an image processing program is installed, a graphical user interface (GUI) screen of the image processing program is displayed on the display unit 3. Various settings can be performed from the GUI displayed on the display unit 3, and processing results such as simulation results can be displayed. In this case, the display unit 3 can be used as a setting unit for performing various settings.

ロボットコントローラ6は、センサ部2で撮像した情報に基づいてロボットの動作を制御する。またロボット操作具7は、ロボットRBTの動作設定を行うための部材であり、ペンダントなどが利用できる。   The robot controller 6 controls the operation of the robot based on information captured by the sensor unit 2. The robot operation tool 7 is a member for setting the operation of the robot RBT, and a pendant or the like can be used.

ワークWKは、図1に示すように複数個が収容容器BXに無作為に収納されている。このような作業空間の上方には、センサ部2が配置されている。ロボットコントローラ6は、センサ部2で得られたワークWKの三次元形状に基づいて、複数のワークWKの内から、把持対象のワークWKを特定して、このワークWKを把持するよう、ロボットRBTを制御する。そして、ワークWKを把持したまま、アーム部ARMを動作させて予め定められた載置位置、例えばステージSTG上まで移動させ、所定の姿勢でワークWKを載置する。いいかえると、ロボットコントローラ6は、センサ部2及びロボット設定装置100で特定されたピッキング対象のワークWKをエンドエフェクタEETで把持して、把持したワークWKを所定の基準姿勢にて、載置場所(ステージSTG)に載置してエンドエフェクタEETを開放するようにロボットRBTの動作を制御する。ステージSTGは、例えばコンベアベルト上やパレット等を挙げることができる。   As shown in FIG. 1, a plurality of workpieces WK are randomly stored in the storage container BX. The sensor unit 2 is disposed above the work space. Based on the three-dimensional shape of the workpiece WK obtained by the sensor unit 2, the robot controller 6 identifies the workpiece WK to be gripped from among the plurality of workpieces WK and holds the robot RBT so as to grip this workpiece WK. To control. Then, while holding the workpiece WK, the arm unit ARM is operated to move to a predetermined placement position, for example, on the stage STG, and the workpiece WK is placed in a predetermined posture. In other words, the robot controller 6 grips the workpiece WK to be picked specified by the sensor unit 2 and the robot setting device 100 with the end effector EET, and places the gripped workpiece WK in a predetermined reference posture at the placement location ( The operation of the robot RBT is controlled so as to be placed on the stage STG) and to release the end effector EET. Examples of the stage STG include a conveyor belt and a pallet.

ここで本明細書においてばら積みピッキングとは、図6Aに示すような収納容器BXに入れられて無作為に積み上げられたワークWKを、ロボットRBTで把持して、所定の位置に載置する他、図6Bに示すように、収納容器を用いずに所定の領域に積み上げられたワークWKに対して把持、載置を行う例、あるいは図6Cに示すように所定の姿勢で並べられて積み上げられたワークWKを順次把持、載置する例も含む意味で使用する。また、必ずしもワークWK同士が積み重ねられている状態であることは要さず、ワークWK同士の重なりがない状態で平面上にランダムに置かれたワークWKについても、本明細書においてはばら積みと呼ぶ(順次ピッキングされていき、ピッキングの終盤でワークWK同士の重なりがない状態となった場合でも依然としてばら積みピッキングと呼ばれるのと同じ理由である)。なお、本発明はばら積みピッキングに必ずしも限定されるものでなく、ばら積みされていないワークWKをピックアップする用途にも適用できる。   Here, in the present specification, the bulk picking means that the work WK randomly placed in the storage container BX as shown in FIG. 6A is gripped by the robot RBT and placed at a predetermined position. As shown in FIG. 6B, an example of gripping and placing the workpiece WK stacked in a predetermined area without using a storage container, or stacked in a predetermined posture as shown in FIG. 6C It is used to include an example in which the workpiece WK is sequentially held and placed. Further, the workpieces WK are not necessarily in a stacked state, and the workpieces WK randomly placed on a plane without overlapping the workpieces WK are also referred to as bulk stacking in this specification. (Even if the picking is done sequentially and there is no overlap between the workpieces WK at the end of picking, it is still the same reason as that called bulk picking). Note that the present invention is not necessarily limited to bulk picking, and can be applied to picking up workpieces WK that are not stacked.

また、図1の例ではセンサ部2を作業空間の上方に固定しているが、センサ部2の固定位置は、作業空間を撮像できる位置であればよく、例えば作業空間の斜め上方や側方、下方、斜め下方など、任意の位置に配置することができる。ただし、アーム部ARM上のような、可動する不定位置にセンサ部2を配置する態様は除かれる。さらにセンサ部2が有するカメラや照明の数も、1個に限らず複数個としてもよい。さらにまたセンサ部2やロボットRBT、ロボットコントローラ6との接続は、有線接続に限られず、周知の無線接続としてもよい。   In the example of FIG. 1, the sensor unit 2 is fixed above the work space. However, the sensor unit 2 may be fixed at any position where the work space can be imaged. , Downward, diagonally downward, etc. However, the aspect which arrange | positions the sensor part 2 in the movable indefinite position like on the arm part ARM is excluded. Further, the number of cameras and illuminations included in the sensor unit 2 is not limited to one and may be plural. Furthermore, the connection with the sensor unit 2, the robot RBT, and the robot controller 6 is not limited to a wired connection, and may be a known wireless connection.

ロボットシステム1000でばら積みピッキング動作を行うにあたり、予めばら積みピッキング動作を行わせるための設定を含めたティーチングを行うこともできる。具体的には、ワークWKのどの部位を、エンドエフェクタEETがどのような姿勢で把持するのか、把持位置及び姿勢などの登録を行う。このような設定は、ペンダント等のロボット操作具7で行うことができる。また、後述するように、実際のロボットを操作せずに、ビジョン空間上で設定を行うこともできる。   In performing the bulk picking operation in the robot system 1000, teaching including setting for performing the bulk picking operation can be performed in advance. Specifically, registration is made of which part of the workpiece WK is gripped by the end effector EET in what kind of posture, the gripping position and the posture, and the like. Such setting can be performed by the robot operation tool 7 such as a pendant. Further, as will be described later, the setting can be performed on the vision space without operating the actual robot.

表示部3は、ワークWKの三次元形状を仮想的に表現するワークモデルや、エンドエフェクタEETの三次元形状を仮想的に表現する、三次元CADデータで構成されたエンドエフェクタモデルを、仮想的な三次元空間上でそれぞれ三次元状に表示させる。さらにこの表示部3は、ワークモデルの基本方向画像を六面図として表示させることもできる。これにより、ワークモデルの各姿勢を六面図で表示させて把持位置の設定作業を行えるようになり、従来面倒であった把持位置の設定作業を容易に行えるようになる。   The display unit 3 virtually displays a work model that virtually represents the three-dimensional shape of the work WK and an end effector model that is constituted by three-dimensional CAD data that virtually represents the three-dimensional shape of the end effector EET. Each three-dimensionally in a three-dimensional space. Further, the display unit 3 can also display the basic direction image of the work model as a six-sided view. As a result, each posture of the work model can be displayed as a six-sided view, so that the gripping position setting work can be performed, and the gripping position setting work, which has been conventionally troublesome, can be easily performed.

(ロボットシミュレーション)
ロボットシステム1000は、作業空間に積み上げられた複数のワークWKをロボットRBTによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置200を備えている。ロボットシミュレーション装置200は、画像処理装置300と一体化することができ、画像処理装置300と共にロボット設定装置100の内部に設けることができる。画像処理装置300は、作業空間に積み上げられた複数のワークWKを把持して順次取り出すピッキング動作を行うロボットRBTの制御に用いられる装置である。
(Robot simulation)
The robot system 1000 includes a robot simulation device 200 for simulating a bulk picking operation in which a plurality of workpieces WK stacked in a work space are sequentially picked up by a robot RBT. The robot simulation apparatus 200 can be integrated with the image processing apparatus 300 and can be provided inside the robot setting apparatus 100 together with the image processing apparatus 300. The image processing apparatus 300 is an apparatus used for controlling a robot RBT that performs a picking operation for gripping and sequentially taking out a plurality of works WK stacked in a work space.

図3に示すように、ロボット設定装置100は、ワークモデル設定部20、データ容量圧縮部21、物理シミュレーション部22、ばら積みデータ生成部23、サーチ処理部24、ピッキング動作シミュレーション部25、表示制御部26、サーチモデル登録部27、把持位置設定部28、三次元計測部30、干渉判定部31、把持位置決定部32、高さ画像生成部33、画素判定部34、ハンド部形状入力部35、露光制御部40及び露光時間設定部41を備えている。これら各部は、ロボットシミュレーション装置200または画像処理装置300を構成しており、ハードウェアで構成することもできるし、ソフトウェアで構成することもできる。またこれら各部を全て一体化して1つの装置にすることもできるし、任意の一部分を他の部分と別にして複数の装置でロボット設定装置100を構成することもできる。またこれら各部を例えばマイクロプロセッサ(MPU)やCPU、LSI、FPGAやASIC等のゲートアレイ、DSP等のハードウェアやソフトウェア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が図3等に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が図3に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。   As shown in FIG. 3, the robot setting device 100 includes a work model setting unit 20, a data capacity compression unit 21, a physical simulation unit 22, a bulk data generation unit 23, a search processing unit 24, a picking operation simulation unit 25, and a display control unit. 26, search model registration unit 27, gripping position setting unit 28, three-dimensional measuring unit 30, interference determination unit 31, gripping position determination unit 32, height image generation unit 33, pixel determination unit 34, hand unit shape input unit 35, An exposure control unit 40 and an exposure time setting unit 41 are provided. Each of these units constitutes the robot simulation device 200 or the image processing device 300, and can be configured by hardware or software. Further, all of these parts can be integrated into one apparatus, or the robot setting apparatus 100 can be configured with a plurality of apparatuses by separating any part from other parts. These units can be realized by, for example, a microprocessor (MPU), a CPU, an LSI, a gate array such as an FPGA or an ASIC, hardware or software such as a DSP, or a mixture thereof. In addition, each component does not necessarily have the same configuration as that shown in FIG. 3 and the like, and its functions are substantially the same, and one element has the functions of a plurality of elements in the configuration shown in FIG. Are included in the present invention.

例えば、露光制御部40及び露光時間設定部41は、センサ部2に設けることができる。また、表示制御部26は表示部3に設けることができる。また、ロボット設定装置100には各種情報を記憶するための記憶部42も設けられている。記憶部42は、半導体メモリやハードディスク等で構成することができる。また、記憶部42には、CD−ROMやDVD−ROM等の各種記憶媒体に記憶されている情報を読み取り可能な読み取り装置を設けることもできる。   For example, the exposure control unit 40 and the exposure time setting unit 41 can be provided in the sensor unit 2. The display control unit 26 can be provided in the display unit 3. The robot setting device 100 is also provided with a storage unit 42 for storing various information. The storage unit 42 can be configured by a semiconductor memory, a hard disk, or the like. The storage unit 42 may be provided with a reading device that can read information stored in various storage media such as a CD-ROM and a DVD-ROM.

ロボットシステム1000の運用前、即ち、実際の作業現場でワークWKの把持及び載置作業を行う前に、ロボットシミュレーション装置200によってロボットRBTの把持動作や載置動作のシミュレーションを三次元的に行うことができるように構成されている。ロボットシミュレーションでは、複数のワークモデルを無作為に積み上げたばら積み状態を生成する物理シミュレーションと、物理シミュレーションで生成されたばら積み状態のデータを利用してワークモデルの位置及び姿勢を検出し、ロボットRBTによるピッキング動作のシミュレーションを実行するピッキング動作シミュレーションとが行われる。以下、ロボットシミュレーション装置200及びロボットシミュレーション装置200によって実現されるロボットシミュレーション方法について図7に示すロボットシミュレーションフローチャートに基づいて具体的に説明する。   Before the operation of the robot system 1000, that is, before the work WK is grasped and placed at an actual work site, the robot simulation apparatus 200 performs a three-dimensional simulation of the grasping and placing actions of the robot RBT. It is configured to be able to. In the robot simulation, the position and orientation of the work model are detected by using a physical simulation that generates a bulk stack state in which a plurality of work models are randomly stacked, and a bulk stack state data generated by the physical simulation. A picking operation simulation for executing a picking operation simulation is performed. Hereinafter, the robot simulation apparatus 200 and the robot simulation method realized by the robot simulation apparatus 200 will be specifically described based on a robot simulation flowchart shown in FIG.

ロボットシミュレーションを開始する際には、図7に示すロボットシミュレーションフローチャートの開始後、ステップSA1においてシミュレーションを実行する環境(シミュレーション環境)を設定する。シミュレーション環境の設定には、ばら積みをさせるワークの数、収納容器BXの情報、床の情報、センサ部2を構成するカメラCMEやプロジェクタPRJの設計情報等が挙げられる。またピッキング動作シミュレーション時には、収納容器BXに対して、実運用上発生し得る、ランダムな位置ずれを発生させることもでき、この際の位置ずれの範囲等をシミュレーション環境の設定に含めることもできる。   When starting the robot simulation, after starting the robot simulation flowchart shown in FIG. 7, an environment (simulation environment) for executing the simulation is set in step SA1. The setting of the simulation environment includes the number of workpieces to be stacked, information on the storage container BX, floor information, design information on the camera CME and the projector PRJ constituting the sensor unit 2, and the like. Further, at the time of picking operation simulation, it is possible to cause random misalignment that may occur in actual operation to the storage container BX, and it is possible to include the range of misalignment at this time in the setting of the simulation environment.

シミュレーション環境の主要な設定手順を図8のシミュレーション環境設定手順フローチャートに示す。このシミュレーション環境設定手順フローチャートの開始後のステップSB1では、ワークWKのサーチモデルを登録する。その後のステップSB2では、ロボットRBTのハンドモデルを登録する。ステップSB1のワークWKのサーチモデルとは、後述するサーチ処理を実行する際に使用されるワークWKの形状を表したモデルである。ステップSB2のロボットRBTのハンドモデルとは、ハンド部(エンドエフェクタEET)の形状を表したモデルである。ステップSB1とステップSB2は順番を入れ替えてもよい。また、通い箱など、ワークを収納する収納容器BXをモデル化した容器モデルを設定できるようにしてもよい。   The main setting procedure of the simulation environment is shown in the simulation environment setting procedure flowchart of FIG. In step SB1 after the start of the simulation environment setting procedure flowchart, a search model for the work WK is registered. In subsequent step SB2, a hand model of the robot RBT is registered. The search model of the work WK in step SB1 is a model that represents the shape of the work WK used when executing a search process described later. The hand model of the robot RBT in step SB2 is a model representing the shape of the hand part (end effector EET). Step SB1 and step SB2 may be switched in order. In addition, a container model that models the storage container BX that stores workpieces, such as a returnable box, may be set.

ステップSB1でワークWKのサーチモデルを登録する要領は、図9のサーチモデル登録フローチャートに示す通りである。図9のサーチモデル登録フローチャートでは、開始後、ステップSC1ではワークWKの三次元CADデータ(CADモデル)を読み込んで、ロボットシミュレーション装置200が有する記憶部42に一旦記憶させておく。三次元CADデータに基づいたワークモデルの例を図10に示す。CADデータは、ワークモデルのデータであり、従来から一般的に用いられているフォーマットのデータを使用することができる。   The procedure for registering the search model for the work WK in step SB1 is as shown in the search model registration flowchart of FIG. In the search model registration flowchart of FIG. 9, after the start, in step SC1, the three-dimensional CAD data (CAD model) of the work WK is read and temporarily stored in the storage unit 42 of the robot simulation apparatus 200. An example of a work model based on three-dimensional CAD data is shown in FIG. The CAD data is data of a work model, and data having a format generally used conventionally can be used.

この実施形態では、CADデータのフォーマットとして最もシンプルなSTL形式を用いている。STL形式は、三角形のポリゴン情報(3点の座標とその面の法線ベクトル)の羅列のみで構成されるデータである。あるいはワークモデルとして、三次元情報を有する点群データで構成してもよい。あるいはまた、ワークモデルを、高さ情報を有する画像データ、例えば高さ画像や距離画像で構成してもよい。   In this embodiment, the simplest STL format is used as the format of CAD data. The STL format is data composed only of a list of triangular polygon information (the coordinates of three points and the normal vector of the surface). Alternatively, the work model may be constituted by point cloud data having three-dimensional information. Alternatively, the work model may be constituted by image data having height information, for example, a height image or a distance image.

ステップSC1は、ワークの三次元形状をモデル化したワークモデルを設定するワークモデル設定ステップであり、図3に示すロボット設定装置100が有するワークモデル設定部20で行われる。このステップSC1で読み込んだCADデータのポリゴン数は、数千個から数万個ある場合がある。   Step SC1 is a work model setting step for setting a work model obtained by modeling the three-dimensional shape of the work, and is performed by the work model setting unit 20 included in the robot setting device 100 shown in FIG. There are cases where the number of polygons of the CAD data read in step SC1 is several thousand to several tens of thousands.

ステップSC1に続くステップSC2では、CADモデルの外接直方体を規定し、この外接直方体の中心をCADの原点に補正する原点補正処理を行う。ワークモデルの原点は、三次元CADデータが有する座標情報から、ロボット設定装置100が自動的に決定する。例えばワークモデルの三次元CADデータに対して、ワークモデルに外接する仮想直方体を規定し、この仮想直方体の重心をワークモデルの原点として設定することができる。   In step SC2 following step SC1, a circumscribed cuboid of the CAD model is defined, and origin correction processing is performed to correct the center of the circumscribed cuboid to the CAD origin. The robot setting device 100 automatically determines the origin of the work model from the coordinate information of the three-dimensional CAD data. For example, a virtual cuboid circumscribing the work model can be defined for the three-dimensional CAD data of the work model, and the center of gravity of the virtual cuboid can be set as the origin of the work model.

その後、ステップSC3に進み、ステップSC1で読み込んだCADモデルの六面、CADモデルを「上」、「下」、「左」、「右」、「前」、「後」の各方向から見た高さ画像データを生成する。すなわち、CADモデルの平面図、底面図、左側面図、右側面図、正面図、背面図となるように、6つの高さ画像データを生成する。この高さ画像データから高さ画像が得られる。「上」はZ軸の正方向(プラス側)から見た高さ画像、「下」はZ軸の負方向(マイナス側)から見た高さ画像、「左」はX軸の負方向から見た高さ画像、「右」はX軸の正方向から見た高さ画像、「前」はY軸の負方向から見た高さ画像、「後」はY軸の正方向から見た高さ画像を、それぞれ示している。ただ、これらは一例であって、異なる座標系を用いてもよいし、X−Y平面におけるX=Yの直線を軸として、この軸と互いに直交する座標系に基づいて、各軸の正負方向から見た高さ画像を用いてもよい。また、三次元CADデータから、高さ画像を生成する際、必ずしもCADデータの軸に直交した方向(「上」、「下」、「左」、「右」、「前」、「後」)から見た高さ画像である必要はなく、例えばワークモデルの姿勢(視点)を任意に変えて、変えた状態の視点から高さ画像を生成するようにしてもよい。   After that, the process proceeds to step SC3, where the six sides of the CAD model read in step SC1 and the CAD model are viewed from the “up”, “down”, “left”, “right”, “front”, and “back” directions. Generate height image data. That is, six height image data are generated so as to be a plan view, bottom view, left side view, right side view, front view, and rear view of the CAD model. A height image is obtained from the height image data. “Up” is the height image seen from the positive direction (plus side) of the Z axis, “Low” is the height image seen from the negative direction (minus side) of the Z axis, and “Left” is from the negative direction of the X axis. Viewed height image, “right” is a height image viewed from the positive direction of the X axis, “front” is a height image viewed from the negative direction of the Y axis, and “rear” is viewed from the positive direction of the Y axis. Each height image is shown. However, these are only examples, and different coordinate systems may be used, and the positive and negative directions of each axis are based on a coordinate system orthogonal to this axis with the X = Y line in the XY plane as the axis. You may use the height image seen from. In addition, when generating a height image from three-dimensional CAD data, directions orthogonal to the axis of the CAD data ("up", "down", "left", "right", "front", "back") It is not necessary that the height image is viewed from the above, and for example, the posture (viewpoint) of the work model may be arbitrarily changed, and the height image may be generated from the changed viewpoint.

このステップSC3では、CADモデルが三次元CADデータからなるものであるので、三次元CADデータをCADモデルのX、Y、Z座標のそれぞれについてプラス方向及びマイナス方向の各方向から見たときの高さ画像に変換することで、CADモデルの六面について高さ画像を得ることができる。図11には、図10に示すワークモデルを上下左右前後の各方向から見た高さ画像を示している。図10では、白くなるほど(色が明るくなるほど)高くなるように表示している。   In this step SC3, since the CAD model is composed of three-dimensional CAD data, the three-dimensional CAD data is obtained when the X, Y, and Z coordinates of the CAD model are viewed from the plus and minus directions. By converting to a height image, height images can be obtained for the six faces of the CAD model. FIG. 11 shows a height image of the work model shown in FIG. In FIG. 10, it is displayed so that it becomes so high that it becomes white (it becomes brighter).

ステップSC3に続くステップSC4では、ステップSC3で生成した6つの高さ画像の中で同じ見え方になる高さ画像を削除する。見え方の一致/不一致は、ワークの上下(Z軸の正負方向)、前後(Y軸の正負方向)、左右(X軸の正負方向)から見た、計六面の高さ画像を高さ画像データに基づいて生成し、高さ画像が一致しているか否かを確認する。ここでは90°の刻み角度で回転させて一致しているか否かを確認し、他の面と一致する見え方となる面は、サーチモデルの登録対象から除外する。このような除外は、ユーザが手動で行うこともできるし、ロボットシミュレーション装置200または画像処理装置300側で自動で行わせてもよいし、あるいはこれらを組み合わせて行うようにしてもよい。   In step SC4 subsequent to step SC3, the height images that look the same among the six height images generated in step SC3 are deleted. Appearance coincidence / disagreement is the height of a total of six height images viewed from the top and bottom of the workpiece (Z-axis positive / negative direction), front-back (Y-axis positive / negative direction), and left and right (X-axis positive / negative direction). It is generated based on the image data, and it is confirmed whether or not the height images match. Here, it is checked whether or not they are coincident by rotating at a step angle of 90 °, and the surface having the same appearance as the other surface is excluded from the registration target of the search model. Such exclusion can be performed manually by the user, can be automatically performed by the robot simulation apparatus 200 or the image processing apparatus 300, or can be performed in combination.

具体例について説明すると、例えば、ワークWKが直方体であった場合には、CADモデルを上から見た高さ画像と下から見た高さ画像とが同じになり、この場合には、いずれか一方を削除する。CADモデルを左から見た高さ画像と右から見た高さ画像も同じになるので一方を削除する。また、CADモデルを前から見た高さ画像と後から見た高さ画像も同じになるので一方を削除する。これにより、サーチモデルの数を減らすことができるので、後述する各処理の速度を向上させることができる。ワークWKが複雑な形状であっても、一方向から見た高さ画像と他方向から見た高さ画像が同じになることがあり、この場合も一方の高さ画像を削除することができる。ワークWKが立方体の場合は6面のうち、5面を削除することができる。   A specific example will be described. For example, when the work WK is a rectangular parallelepiped, the height image viewed from the CAD model is the same as the height image viewed from the bottom. Delete one. Since the height image of the CAD model viewed from the left and the height image viewed from the right are the same, one of them is deleted. Also, since the height image of the CAD model viewed from the front and the height image viewed from the rear are the same, one of them is deleted. Thereby, since the number of search models can be reduced, the speed of each process mentioned later can be improved. Even if the workpiece WK has a complicated shape, the height image viewed from one direction may be the same as the height image viewed from the other direction. In this case, one of the height images can be deleted. . When the work WK is a cube, five of the six surfaces can be deleted.

また、例えば、ステップSC1で図12に示すような三次元形状を持ったワークモデルを読み込んだ場合、図13に示すように、ワークモデルを各方向から見た高さ画像を得ることができる。図12に示すワークモデルの場合は、X軸のプラス方向から見た高さ画像と、X軸のマイナス方向から見た高さ画像とが同じになるので、ステップSC4において一方を省略している。さらに、Y軸のプラス方向から見た高さ画像と、Y軸のマイナス方向から見た高さ画像とが同じになるので、ステップSC4において一方を省略している。よって、ステップSC4を経ることで図13に示すように高さ画像が4つになっている。   For example, when a work model having a three-dimensional shape as shown in FIG. 12 is read in step SC1, a height image obtained by viewing the work model from each direction can be obtained as shown in FIG. In the case of the work model shown in FIG. 12, since the height image viewed from the positive direction of the X axis is the same as the height image viewed from the negative direction of the X axis, one of them is omitted in step SC4. . Furthermore, since the height image viewed from the positive direction of the Y axis is the same as the height image viewed from the negative direction of the Y axis, one of them is omitted in step SC4. Therefore, through step SC4, there are four height images as shown in FIG.

その後、ステップSC5に進み、ステップSC4で残った高さ画像データを保存する。保存する高さ画像データがCADモデルの上下左右前後のいずれの方向から見た画像であるかを示す情報、即ち方向に関する情報を当該高さ画像データに付与し、この方向に関する情報と高さ画像データとを関連付けてロボットシミュレーション装置200の記憶部42に保存しておく。これにより、上下左右前後の各面の関係性情報を持った状態で各高さ画像データを保存しておくことができるので、1つのワークモデルを異なる方向から見た複数の高さ画像データを相互に関連付けてロボットシミュレーション装置200または画像処理装置300に登録しておくことが可能になる。   Thereafter, the process proceeds to step SC5, and the height image data remaining in step SC4 is stored. Information indicating whether the height image data to be stored is an image viewed from the top, bottom, left, or right of the CAD model, that is, information about the direction is added to the height image data, and the information about the direction and the height image are added. The data is stored in the storage unit 42 of the robot simulation apparatus 200 in association with the data. As a result, each height image data can be stored in a state in which the relationship information of each surface of the upper, lower, left and right sides is held, so that a plurality of height image data obtained by viewing one work model from different directions can be obtained. It is possible to register them in the robot simulation apparatus 200 or the image processing apparatus 300 in association with each other.

したがって、高さ画像データを記憶部42から読み出したときに、例えば、CADモデルの6方向から見た高さ画像を関連付けて得ることができる。以上のように、ワークモデルを異なる方向から見た複数の高さ画像データをサーチモデルとして登録することが可能になる。サーチモデルは、作業空間に積み上げられたワークWKの位置及び姿勢を検出するサーチ処理に用いられるモデルであり、複数種登録しておくこともできる。   Therefore, when the height image data is read from the storage unit 42, for example, height images viewed from six directions of the CAD model can be obtained in association with each other. As described above, a plurality of height image data obtained by viewing the work model from different directions can be registered as a search model. The search model is a model used for search processing for detecting the position and orientation of the workpiece WK stacked in the work space, and a plurality of types can be registered.

図9に示すサーチモデル登録フローチャートでは、ステップSC5で面の関係性情報を保存するようにしているが、これに限られるものではなく、例えば、図14に示すサーチモデル登録フローチャートのように、ステップSD1〜SD4までは図9に示すフローチャートのステップSC1〜SC4と同じであるが、ステップSD5においては面の関係性情報を保存することなく、高さ画像データのみ保存するようにしてもよい。   In the search model registration flowchart shown in FIG. 9, the surface relationship information is stored in step SC5. However, the present invention is not limited to this. For example, as shown in the search model registration flowchart shown in FIG. Although steps SD1 to SD4 are the same as steps SC1 to SC4 in the flowchart shown in FIG. 9, in step SD5, only the height image data may be stored without storing the surface relationship information.

図9に示すサーチモデル登録フローチャートはワークWKのCADデータが存在している場合の要領であるが、仮にワークWKのCADデータが無い場合には、図15に示すワークWKのCADデータが無い場合のサーチモデルの登録手順の例を示すフローチャートに従い、ワークモデルを異なる方向から見た複数の高さ画像データをサーチモデルとして登録することができる。図15に示すサーチモデル登録フローチャートの開始後、ステップSE1では、登録したい面を上向きにしたワークWKを平面上に置き、三次元計測を行う。この三次元計測は、ロボットシステム1000のセンサ部2及び三次元計測部30を利用して行うことができる。三次元計測により得られた計測データは三次元計測部30から出力され、計測データに基づいて、ワークWKの登録したい面の高さ画像データを得ることができる。こうして得られた高さ画像の一例を図16に示す。   The search model registration flowchart shown in FIG. 9 is the procedure when CAD data of the work WK exists, but if there is no CAD data of the work WK, there is no CAD data of the work WK shown in FIG. A plurality of height image data obtained by viewing the work model from different directions can be registered as a search model in accordance with a flowchart showing an example of a search model registration procedure. After the search model registration flowchart shown in FIG. 15 is started, in step SE1, the work WK with the surface to be registered facing upward is placed on the plane and three-dimensional measurement is performed. This three-dimensional measurement can be performed using the sensor unit 2 and the three-dimensional measurement unit 30 of the robot system 1000. The measurement data obtained by the three-dimensional measurement is output from the three-dimensional measurement unit 30, and based on the measurement data, the height image data of the surface that the workpiece WK wants to register can be obtained. An example of the height image thus obtained is shown in FIG.

図15に示すフローチャートのステップSE1に続くステップSE2では、ステップSE1で得られた高さ画像データで得られた高さ画像をサーチモデルとして登録する。登録後、ステップSE3に進み、サーチに必要な分、登録し終えたか否かを判定する。この判定はユーザが行うことができるが、ロボットシミュレーション装置200または画像処理装置300に行わせるようにしてもよい。すなわち、ワークWKを上下左右前後の各方向から見た形状が全て異なれば、六面の全てについてステップSE1及びステップSE2を行うのが好ましいが、上述した長方形の場合や図12に示す形状のように同じ形状の面がある場合には六面の全てについて行わなくてもよい。ステップSE3でサーチに必要な分、登録し終えたら、終了する。   In step SE2 following step SE1 in the flowchart shown in FIG. 15, the height image obtained from the height image data obtained in step SE1 is registered as a search model. After registration, the process proceeds to step SE3, where it is determined whether or not registration is completed for the amount required for the search. This determination can be performed by the user, but may be performed by the robot simulation apparatus 200 or the image processing apparatus 300. That is, if the shapes of the workpiece WK viewed from the top, bottom, left, and right, front and rear directions are all different, it is preferable to perform step SE1 and step SE2 on all six surfaces. However, in the case of the above-described rectangle or the shape shown in FIG. If there is a surface having the same shape, all of the six surfaces need not be performed. When registration is completed for the amount required for the search in step SE3, the process ends.

以上のようにしてワークモデルを異なる方向から見た複数の高さ画像データをサーチモデルとして登録するサーチモデル登録ステップを行うことができる。サーチモデル登録ステップは、図3に示すロボット設定装置100が有するサーチモデル登録部27で行われる。   As described above, a search model registration step of registering a plurality of height image data obtained by viewing the work model from different directions as a search model can be performed. The search model registration step is performed by the search model registration unit 27 included in the robot setting device 100 shown in FIG.

図17に示すように、高さ画像に特徴点B、Cを配置することができる。特徴点B、Cは、サーチモデルの形状を表す点であり、1つの高さ画像の中に複数配置することができる。特徴点は、サーチモデルの周縁部に沿って配置される外形状指示点Bと、サーチモデルの面内に配置される面形状指示点Cとを含んでいる。外形状指示点Bは、サーチモデルを構成する各面の外形状を示す点であり、面の外形線上を所定の間隔をあけて配置される。面形状指示点Cは、サーチモデルを構成する各面の周縁部を除いた内側において所定の間隔をあけて配置される。特徴点を配置することで、特徴点を用いてサーチモデルの概略形状を把握することができ、取り扱うデータ量が少なくて済む。外形状指示点Bと面形状指示点Cとの色は変えるのが好ましい。外形状指示点Bと面形状指示点Cは、表示部3に表示される。   As shown in FIG. 17, feature points B and C can be arranged in the height image. The feature points B and C are points representing the shape of the search model, and a plurality of feature points B and C can be arranged in one height image. The feature points include an outer shape designation point B arranged along the peripheral edge of the search model and a surface shape designation point C arranged in the plane of the search model. The outer shape indicating point B is a point indicating the outer shape of each surface constituting the search model, and is arranged on the outer shape line of the surface with a predetermined interval. The surface shape designation points C are arranged at a predetermined interval on the inner side excluding the peripheral portion of each surface constituting the search model. By arranging the feature points, the approximate shape of the search model can be grasped using the feature points, and the amount of data to be handled can be reduced. It is preferable to change the colors of the outer shape indicating point B and the surface shape indicating point C. The outer shape indicating point B and the surface shape indicating point C are displayed on the display unit 3.

次に、図8に示すシミュレーション環境設定手順フローチャートのステップSB2で行うロボットRBTのハンドモデルの登録要領について説明する。ロボットRBTのハンドモデルの登録要領は、図18のハンドモデル登録手順フローチャートに示しており、このフローチャートの開始後のステップSF1では、ハンド部(エンドエフェクタEETに等しい)のポリゴンデータ(CADデータ)を読み込む。このステップSF1では、ハンド部のポリゴンデータを読み込むことから、ハンド部の形状を入力することができるステップである。従って、ステップSF1は、ロボットRBTのハンド部の形状を入力するハンド部形状入力ステップであり、このハンド部形状入力ステップは、図3に示すロボット設定装置100が有するハンド部形状入力部35で行われる。   Next, the registration procedure of the hand model of the robot RBT performed in step SB2 of the simulation environment setting procedure flowchart shown in FIG. 8 will be described. The procedure for registering the hand model of the robot RBT is shown in the hand model registration procedure flowchart of FIG. 18. In step SF1 after the start of this flowchart, polygon data (CAD data) of the hand unit (equal to the end effector EET) is stored. Read. In this step SF1, since the polygon data of the hand part is read, the shape of the hand part can be input. Accordingly, step SF1 is a hand portion shape input step for inputting the shape of the hand portion of the robot RBT. This hand portion shape input step is performed by the hand portion shape input portion 35 of the robot setting device 100 shown in FIG. Is called.

ステップSF1に続くステップSF2では、ハンド部の断面を作成する方向を決定する。図19に示すハンドモデルに基づいて説明すると、ハンドモデルに軸Aを設定しておく。軸Aは、ハンドモデルの中心部を通り、かつ、ハンドモデルの長手方向に延びている。この軸Aと直交する方向の断面を作成する。作成する断面は、1つではなく、ハンドモデルの先端から基端に亘って複数箇所の断面を作成する。この例では、断面1〜断面5の5つの断面を作成する場合を示しているが、断面の作成数は任意に設定することができる。断面を作成する位置は、ポリゴンデータの頂点位置に設定することができる。作成した断面を図20に示す。   In step SF2 following step SF1, the direction in which the cross section of the hand part is created is determined. If it demonstrates based on the hand model shown in FIG. 19, the axis | shaft A will be set to a hand model. The axis A passes through the center of the hand model and extends in the longitudinal direction of the hand model. A cross section in a direction perpendicular to the axis A is created. The number of cross sections to be created is not one, but a plurality of cross sections are created from the front end to the base end of the hand model. In this example, the case where five cross sections of cross section 1 to cross section 5 are created is shown, but the number of created cross sections can be set arbitrarily. The position for creating the cross section can be set to the vertex position of the polygon data. The created cross section is shown in FIG.

図18に示すフローチャートのステップSF3では、ステップSF2で作成した断面を利用して断面モデルを作成する。つまり、断面の形状と、ステップSF1でハンドモデルに設定した軸Aに対する断面の位置との情報とにより、ハンド部の断面モデルを作成することができる。また、断面モデルの作成方法は別の方法であってもよく、例えば、軸A方向に一定距離ごとに断面を作成し、同じ形状の断面を結合する方法であってもよい。   In step SF3 of the flowchart shown in FIG. 18, a cross-section model is created using the cross-section created in step SF2. That is, the cross-sectional model of the hand unit can be created based on the cross-sectional shape and information on the cross-sectional position with respect to the axis A set in the hand model in step SF1. In addition, another method may be used for creating the cross-sectional model, for example, a method in which cross-sections are created at constant distances in the direction of the axis A and cross-sections having the same shape are combined.

ロボットRBTのハンド部の形状は様々あり、図19に示す形状以外にも、例えば爪部が長い形状、短い形状、爪部の幅が狭い形状、広い形状、爪部が棒状のもの等がある。これらハンド部も図18のハンドモデル登録手順フローチャートに従って登録しておくことができる。つまり、図3に示すハンド部形状入力部35では、ロボットRBTのハンド部の形状を複数入力して登録しておくことができる。   The shape of the hand portion of the robot RBT is various. In addition to the shape shown in FIG. 19, for example, there are a long claw portion shape, a short claw shape, a narrow claw width shape, a wide claw shape, a claw portion with a rod shape, etc. . These hand units can also be registered in accordance with the hand model registration procedure flowchart of FIG. That is, the hand part shape input unit 35 shown in FIG. 3 can input and register a plurality of hand part shapes of the robot RBT.

以上のようにして図8のシミュレーション環境設定フローチャートのステップSB2を経てロボットRBTのハンドモデルを登録した後、ステップSB3に進む。ステップSB3では、ロボットRBTのハンド部で把持するワークの面を選択する。ワークの面は、図9に示すサーチモデル登録フローチャートで登録した高さ画像で表すことができ、登録されている複数の高さ画像の中から、ロボットRBTのハンド部で把持することが可能な面に対応した高さ画像をユーザが選択する。高さ画像の選択にあたっては、高さ画像選択用の画面を表示制御部26が作成して表示部3に表示させることができる。高さ画像選択用の画面では、図9に示すサーチモデル登録フローチャートで登録した複数の高さ画像を一度に表示させておき、これら高さ画像の中からユーザが操作部4の操作によって選択することができる。   After registering the hand model of the robot RBT through step SB2 of the simulation environment setting flowchart of FIG. 8 as described above, the process proceeds to step SB3. In step SB3, the surface of the work gripped by the hand portion of the robot RBT is selected. The surface of the workpiece can be represented by the height image registered in the search model registration flowchart shown in FIG. 9, and can be gripped by the hand unit of the robot RBT from a plurality of registered height images. The user selects a height image corresponding to the surface. When selecting a height image, the display control unit 26 can create a screen for selecting a height image and display it on the display unit 3. On the height image selection screen, a plurality of height images registered in the search model registration flowchart shown in FIG. 9 are displayed at a time, and the user selects from these height images by operating the operation unit 4. be able to.

ステップSB3で高さ画像を選択した後、ステップSB4に進み、ステップSB3で選択した面を把持する時のハンド部の位置及び姿勢を登録する。ステップSB4では、図21に示すような把持位置設定用画面(GUI)50を表示部3に表示させる。把持位置設定用画面50は、図3に示すロボット設定装置100が有する把持位置設定部28で生成することができる。生成された把持位置設定用画面50は、表示制御部26が表示部3を制御することによって図21に示すように表示することができる。   After selecting the height image in step SB3, the process proceeds to step SB4, and the position and orientation of the hand unit when the surface selected in step SB3 is gripped are registered. In step SB4, a gripping position setting screen (GUI) 50 as shown in FIG. The gripping position setting screen 50 can be generated by the gripping position setting unit 28 included in the robot setting device 100 shown in FIG. The generated gripping position setting screen 50 can be displayed as shown in FIG. 21 when the display control unit 26 controls the display unit 3.

図21Aに示すように、把持位置設定用画面50は、モデル表示領域51と、サーチモデル選択領域52と、把持位置表示領域53とを有している。モデル表示領域51には、ロボットRBTのハンドモデルと、サーチモデル選択領域52で選択されたサーチモデルとが表示される。サーチモデル選択領域52には、A〜Dが表示されており、それぞれにサーチモデルが割り当てられており、例えば、AにはCADモデルを上から見た高さ画像、BにはCADモデルを左から見た高さ画像、CにはCADモデルを右から見た高さ画像、DにはCADモデルを前から見た高さ画像を割り当てることができる。ユーザがサーチモデル選択領域52の任意のアルファベットを選択すると、そのアルファベットに割り当てられているサーチモデルがモデル表示領域51に表示される。   As shown in FIG. 21A, the gripping position setting screen 50 includes a model display area 51, a search model selection area 52, and a gripping position display area 53. In the model display area 51, the hand model of the robot RBT and the search model selected in the search model selection area 52 are displayed. A to D are displayed in the search model selection area 52, and a search model is assigned to each, for example, A is a height image of the CAD model viewed from above, and B is a CAD model left. The height image viewed from the right, the height image viewed from the right of the CAD model can be assigned to C, and the height image viewed from the front of the CAD model can be assigned to D. When the user selects an arbitrary alphabet in the search model selection area 52, the search model assigned to the alphabet is displayed in the model display area 51.

把持位置表示領域53には、把持位置追加ボタン53aが設けられている。把持位置追加ボタン53aを操作すると、図21Bに示すように把持姿勢設定領域54がモデル表示領域51と共に表示される。把持位置追加ボタン53aは、仮想的なボタンであり、操作部4のマウス等で操作することができる。   In the grip position display area 53, a grip position addition button 53a is provided. When the grip position addition button 53a is operated, a grip posture setting area 54 is displayed together with the model display area 51 as shown in FIG. 21B. The grip position addition button 53a is a virtual button and can be operated with the mouse of the operation unit 4 or the like.

把持姿勢設定領域54には、X軸座標、Y軸座標、Z軸座標、X軸周りの回転角度、Y軸周りの回転角度、Z軸周りの回転角度を個別に入力可能な入力領域55が設けられている。各入力領域55に数値を入力すると、入力された値に対応するように、モデル表示領域51に表示されているハンドモデルが移動していく。これにより、ハンドモデルを所望位置に配置することができるので、ハンドモデルの位置を調整しながら、ハンドモデルでサーチモデルのどの部位をどのような姿勢で把持するか、即ち把持位置及び姿勢を設定することが可能になる。把持位置及び姿勢の設定は、各入力領域55に数値を入力する以外にも、例えばハンドモデルを操作部4のマウスで直接的に操作することによっても可能である。   In the gripping posture setting area 54, there is an input area 55 in which X-axis coordinates, Y-axis coordinates, Z-axis coordinates, rotation angles around the X axis, rotation angles around the Y axis, and rotation angles around the Z axis can be individually input. Is provided. When a numerical value is input to each input area 55, the hand model displayed in the model display area 51 moves so as to correspond to the input value. As a result, the hand model can be placed at a desired position, and while adjusting the position of the hand model, which part of the search model is gripped in what posture by the hand model, that is, the gripping position and posture are set. It becomes possible to do. The setting of the grip position and orientation can be performed by directly operating the hand model with the mouse of the operation unit 4 in addition to inputting numerical values in the input areas 55, for example.

ここで設定する把持位置は、ロボットRBTにより把持される把持候補位置である。図21Aに示すように、ロボットRBTにより把持される把持候補位置は、サーチモデル登録部27で登録されている各サーチモデルに対応付けて複数設定することができる。例えば、あるサーチモデルには、2つの把持候補位置を対応付けて設定し、別のサーチモデルには、4つの把持候補位置を対応付けて設定することができる。設定された把持候補位置は、サーチモデルと対応付けられた状態でロボット設定装置100が有する把持位置設定部28の記憶部42に登録することができる。   The gripping position set here is a gripping candidate position gripped by the robot RBT. As shown in FIG. 21A, a plurality of gripping candidate positions gripped by the robot RBT can be set in association with each search model registered in the search model registration unit 27. For example, two gripping candidate positions can be set in association with one search model, and four gripping candidate positions can be set in association with another search model. The set gripping candidate position can be registered in the storage unit 42 of the gripping position setting unit 28 of the robot setting device 100 in a state associated with the search model.

一般に、一のワークに対して把持候補位置を複数登録することが多い。これは、把持候補位置を複数登録しておけば、複数の把持解の中から最適な解を選ぶことができるため、仮に得られた把持解候補が、例えばハンド部の他の物体との干渉によって最終的な解となり得ない場合、他の把持解候補があれば、把持可能と判定される可能性が高まるからである。このような把持候補位置を複数登録する際、その都度登録を一から行うと、同様の把持候補位置を登録する際に手数が多くなり作業が面倒となる。そこで、既に登録済みの把持候補位置情報をコピーして、この把持候補位置で設定された位置パラメータの一部を変更して、新たな把持候補位置として保存可能とすることで、手間を省いて複数の把持候補位置を容易に登録できるようになる。また、同様に既存の把持候補位置を読み出して、位置パラメータを適宜修正して上書き保存することも可能である。   In general, a plurality of gripping candidate positions are often registered for one workpiece. This is because, if a plurality of gripping candidate positions are registered, an optimal solution can be selected from a plurality of gripping solutions, so that the temporarily obtained gripping solution candidate may interfere with other objects of the hand unit, for example. This is because if there is another gripping solution candidate, the possibility that it is determined that gripping is possible increases. When a plurality of gripping candidate positions are registered, if registration is performed from the beginning each time, the number of steps is increased when registering similar gripping candidate positions, and the work becomes troublesome. Therefore, by copying the already registered gripping candidate position information, changing a part of the position parameters set at this gripping candidate position, and saving it as a new gripping candidate position, it is possible to save time and effort. A plurality of gripping candidate positions can be easily registered. Similarly, an existing gripping candidate position can be read out, and the position parameter can be appropriately corrected and overwritten and saved.

図22ではハンドモデルを把持候補位置に配置した状態を示している。また、図23では、6つのサーチモデルのそれぞれについてハンドモデルを把持候補位置に配置した状態を示しているが、全てのサーチモデルに把持候補位置を設定しなくてもよい。   FIG. 22 shows a state where the hand model is arranged at the gripping candidate position. FIG. 23 shows a state in which the hand models are arranged at the gripping candidate positions for each of the six search models, but the gripping candidate positions need not be set for all the search models.

把持候補位置を登録する際、サーチモデルの原点に対して、ワークモデルを把持する際のエンドエフェクタモデルの相対的な位置及び姿勢を登録する。一方、実際のエンドエフェクタEETでワークWKをピッキングする際には、センサ部2でワークWKを撮像した三次元空間(ビジョン空間)の座標であるビジョン座標から、ロボットコントローラ6がロボットRBTを実際に動作させる際に用いるロボット座標に変換する必要がある。   When registering the gripping candidate position, the relative position and orientation of the end effector model when gripping the work model are registered with respect to the origin of the search model. On the other hand, when picking the workpiece WK with the actual end effector EET, the robot controller 6 actually picks up the robot RBT from the vision coordinates which are the coordinates of the three-dimensional space (vision space) obtained by imaging the workpiece WK with the sensor unit 2. It is necessary to convert to robot coordinates used when operating.

具体的には、ワークモデルの位置及び姿勢は、ビジョン空間における、位置(X、Y、Z)と姿勢(RX、RY、RZ)で求められる(なお姿勢(RX、RY、RZ)はZ−Y−X系オイラー角で表現された姿勢を示している)。また、これを把持するエンドエフェクタモデルの姿勢についても、同様にロボット設定装置100の仮想三次元空間における位置(X、Y、Z)と姿勢(RX、RY、RZ)として求められる。このようなビジョン空間における位置及び姿勢に基づいて、ロボットコントローラ6がロボットRBTを動作させるには、これらをロボット空間における位置(X’、Y’、Z’)と姿勢(RX’、RY’、RZ’)に変換する必要がある。この表示される座標系で算出された位置及び姿勢を、ロボットコントローラ6がエンドエフェクタEETを動作させる座標系の位置及び姿勢に座標変換するための変換式を算出する処理は、キャリブレーションと呼ばれる。このキャリブレーションは従来から周知の手法で行うことができる。 Specifically, the position and posture of the work model are obtained by the position (X, Y, Z) and posture (R X , R Y , R Z ) in the vision space (note that the posture (R X , R Y , R Z ) shows a posture expressed by a ZY-X system Euler angle). Similarly, the posture of the end effector model that holds this is also obtained as the position (X, Y, Z) and posture (R X , R Y , R Z ) of the robot setting device 100 in the virtual three-dimensional space. In order for the robot controller 6 to operate the robot RBT based on the position and orientation in such a vision space, these are determined based on the position (X ′, Y ′, Z ′) and orientation (R X ′, R Y ) in the robot space. ', R Z '). The process of calculating a conversion formula for converting the position and orientation calculated in the displayed coordinate system into the coordinate system position and orientation in which the robot controller 6 operates the end effector EET is called calibration. This calibration can be performed by a conventionally known method.

図8に示すフローチャートのステップSB5では、必要数の把持候補位置を登録できたか否かを判定する。ハンド部で把持することが可能な部位が多数あれば、登録すべき把持候補位置の数が多くなるが、これはユーザが判断する事項であるため、ステップSB5の判定はユーザが判定することになる。ステップSB5でNOと判定して必要数の把持候補位置を登録できておらず、登録すべき把持候補位置が他にも残っている場合には、ステップSB3を経てステップSB4に進み、他の把持候補位置を設定し、登録する。一方、ステップSB5でYESと判定して必要数の把持候補位置を登録できている場合には、このフローを終了する。   In step SB5 of the flowchart shown in FIG. 8, it is determined whether or not the necessary number of gripping candidate positions has been registered. If there are many parts that can be gripped by the hand unit, the number of gripping candidate positions to be registered increases. However, since this is a matter to be determined by the user, the determination in step SB5 is determined by the user. Become. If it is determined NO in step SB5 and the necessary number of gripping candidate positions cannot be registered and there are other gripping candidate positions to be registered, the process proceeds to step SB4 via step SB3. Set and register candidate positions. On the other hand, if it is determined as YES in step SB5 and a necessary number of gripping candidate positions have been registered, this flow ends.

図7に示すステップSA1のシミュレーション環境設定ステップでは、上述のようにサーチモデルの設定及び登録、ハンドモデルの設定及び登録を行うことができるが、これら以外にもシミュレーションを行う上で必要な各種情報の入力や設定を行うことが可能である。   In the simulation environment setting step of step SA1 shown in FIG. 7, the search model can be set and registered, and the hand model can be set and registered as described above. Can be entered and set.

ステップSA1に続くステップSA2では、ばら積み情報を入力する。ばら積み情報とは、例えば、一度にばら積みするワークの個数、ばら積みする箇所の形状(平面であるか、箱であるか)、ばら積みする箇所の大きさ等を入力する。   In step SA2 following step SA1, bulk information is input. As the bulk information, for example, the number of workpieces to be stacked at one time, the shape of a location to be stacked (whether it is a plane or a box), the size of the location to be stacked, and the like are input.

ステップSA2でばら積み情報を入力するとステップSA3に進み、ワークWKの三次元CADデータ(CADモデル)を読み込む。図9のサーチモデル登録フローチャートのステップSC1で読み込んだデータを読み出してステップSA3で使用することができる。   When bulk information is input in step SA2, the process proceeds to step SA3, and the three-dimensional CAD data (CAD model) of the workpiece WK is read. The data read in step SC1 of the search model registration flowchart of FIG. 9 can be read and used in step SA3.

CADデータを読み込んだ後、ステップSA4に進み、ステップSA3で読み込んだCADデータのポリゴン数を削減する。CADデータのポリゴン数を削減するということは、ワークモデルのデータ容量が圧縮されて小さくなるということである。また、ワークモデルのデータを間引くことによってデータ容量を圧縮することも可能である。   After reading the CAD data, the process proceeds to step SA4, where the number of polygons of the CAD data read in step SA3 is reduced. Reducing the number of polygons of CAD data means that the data capacity of the work model is compressed and reduced. It is also possible to compress the data capacity by thinning out the work model data.

三次元CADデータは、一般に、三角形の面情報の集合体として表されるポリゴンデータで表され、ワークモデルの形状を極力保ちながらポリゴン数を削減する方法としては、例えば、Hoppeらが提案するプログレッシブメッシュ法や、Garlandらが提唱するQEM(Quadratic Error Metirc)法という手法があり、これら従来から周知の手法のうち、いずれの手法を用いてポリゴン数の削減処理を行ってもよい。   Three-dimensional CAD data is generally represented by polygon data expressed as a collection of triangular surface information. As a method for reducing the number of polygons while maintaining the shape of the work model as much as possible, for example, the progressive method proposed by Hoppe et al. There is a method called a mesh method or a QEM (Quadratic Error Metirc) method proposed by Garland et al. Any of these conventionally known methods may be used to reduce the number of polygons.

例えば、QEM法では、隣接するポリゴンのエッジを消去し、2つの頂点を結合して新たな頂点を生成し、この操作を繰り返すことで、CADデータ全体を構成するポリゴン数を大幅に削減し、データ容量を圧縮することができる。また、ステップSA4は、ステップSA3で読み込んだCADデータのデータ容量を圧縮することができればよいので、ポリゴン数を削減する方法以外にも、各種方法によってデータ容量を圧縮するようにしてもよい。   For example, in the QEM method, the edges of adjacent polygons are deleted, two vertices are joined to generate new vertices, and this operation is repeated to greatly reduce the number of polygons constituting the entire CAD data. Data capacity can be compressed. Step SA4 only needs to be able to compress the data capacity of the CAD data read in step SA3. Therefore, the data capacity may be compressed by various methods other than the method of reducing the number of polygons.

このステップSA4は、CADデータで表されるワークモデルの形状を極力保ちながら、ポリゴン数を削減したワークモデルを作成して、後述する物理シミュレーション部22による物理シミュレーション時の演算負荷の軽減するために行うステップである。ステップSA4は、ワークモデル設定部20で設定されたワークモデルのデータ容量を圧縮する処理を行うデータ容量圧縮ステップに相当し、図3に示すロボット設定装置100が有するデータ容量圧縮部21で行われる。   This step SA4 is to create a work model with a reduced number of polygons while keeping the shape of the work model represented by CAD data as much as possible, and to reduce the computation load during physical simulation by the physical simulation unit 22 described later. Step to perform. Step SA4 corresponds to a data capacity compression step for performing processing for compressing the data capacity of the work model set by the work model setting unit 20, and is performed by the data capacity compression unit 21 of the robot setting device 100 shown in FIG. .

データ容量圧縮の具体例を示すと、図24Aは、ポリゴン数削減前のワークモデルを示しており、ポリゴン数は26,214個ある。図24Bは、ポリゴン数削減後のワークモデルを示しており、ポリゴン数は414個ある。また、図25は、図24Bに示すワークモデルよりもポリゴン数を削減した後のワークモデルを示しており、ポリゴン数は50個ある。図24Bに示すワークモデルは、ポリゴン数を大きく削減しているにも関わらず、ポリゴン数削減前のワークモデルの形状を残しており、この程度の削減量(データ圧縮量)であれば、後述するシミュレーション結果が再現性の高い結果となるので好ましい。   As a specific example of data capacity compression, FIG. 24A shows a work model before the number of polygons is reduced, and the number of polygons is 26,214. FIG. 24B shows the work model after the reduction of the number of polygons, and there are 414 polygons. FIG. 25 shows a work model after the number of polygons is reduced from that of the work model shown in FIG. 24B, and there are 50 polygons. Although the work model shown in FIG. 24B greatly reduces the number of polygons, the shape of the work model before the reduction of the number of polygons remains, and a reduction amount (data compression amount) of this level will be described later. This is preferable because the simulation result is highly reproducible.

一方、図25に示すワークモデルは、ポリゴン数の削減度合いが大き過ぎてポリゴン数削減前のワークモデルの形状からかけ離れた形状になっており、このワークモデルを用いて後述するシミュレーションを行うと、再現性が著しく低くなる可能性が高いので好ましくない。   On the other hand, the work model shown in FIG. 25 has a shape that is far from the shape of the work model before the reduction of the number of polygons because the degree of reduction of the number of polygons is too large. This is not preferable because reproducibility is likely to be extremely low.

この実施形態では、過度にポリゴン数を削減したことによってワークモデルの形状が大幅に変化することを防ぐため、形状変化が予め設定したしきい値の範囲内に収まるようにしている。これを実現するために、図3に示すロボット設定装置100が有するデータ容量圧縮部21は、圧縮処理前のワークモデルと圧縮処理後のワークモデルとの形状変化許容値を設定可能に構成されている。ユーザは、自分が使用するCADデータのポリゴン数を削減すればするほど処理速度が高速になるのでポリゴン数を多く削減したいが、上述したようにシミュレーションの結果が再現性の低い結果になるおそれがあるので、ポリゴン数を削減するのには限度がある。しかし、ポリゴン数の削減量をどの程度にまで抑えておけばシミュレーションの結果の再現性が高くなるのかをユーザ自身が判断することは簡単なことではなく、誤った判断の元でポリゴン数を削減してしまうと、シミュレーション結果と実際の運用時のピッキング動画との関連性が低くなってしまい、シミュレーションを行う意味が無くなる。   In this embodiment, in order to prevent the shape of the work model from changing drastically due to excessive reduction of the number of polygons, the shape change is made to fall within a preset threshold range. In order to realize this, the data capacity compression unit 21 included in the robot setting device 100 shown in FIG. 3 is configured to be able to set the shape change allowable value between the work model before the compression process and the work model after the compression process. Yes. The user wants to reduce the number of polygons because the processing speed increases as the number of polygons in the CAD data used by the user is reduced. However, as described above, there is a possibility that the result of the simulation results in low reproducibility. There are limits to reducing the number of polygons. However, it is not easy for the user to determine how much the amount of polygon reduction should be reduced so that the reproducibility of the simulation results will be high. If so, the relevance between the simulation result and the picking moving image at the time of actual operation becomes low, and the meaning of performing the simulation is lost.

このことを防止するために、データ容量圧縮部21では、ポリゴン数の削減によるワークモデルの形状変化を許容する形状変化許容値として、予め設定された初期設定値を持っている。初期設定値は、ロボット設定装置100の出荷時に記憶部42に記憶させておくこともできるし、ロボット設定装置100の使用開始時に記憶部42に記憶させることもできる。初期設定値は運用後に変更することもできる。   In order to prevent this, the data capacity compression unit 21 has a preset initial setting value as a shape change allowable value that allows a change in the shape of the work model due to the reduction in the number of polygons. The initial set value can be stored in the storage unit 42 when the robot setting device 100 is shipped, or can be stored in the storage unit 42 when the use of the robot setting device 100 is started. The initial setting value can be changed after operation.

例えば、上述したQEM法では、隣接する複数の面の中のエッジとその両端の頂点を削減して新しい頂点を生成した際の変形量をコストとし、このコストの小さい順にエッジを消去していく。形状変化許容値を例えば1%オーダーの小さい値に抑えた上で、累積変形量がその形状変化許容値に収まる範囲でエッジと頂点を削除していけば、極端な形状変化を防ぎつつ、効果的にポリゴン数を削減することができるので、演算負荷を軽減しながら、シミュレーションの結果を再現性の高いものにすることができる。   For example, in the above-described QEM method, the amount of deformation when generating new vertices by reducing the edges in a plurality of adjacent faces and the vertices at both ends is used as a cost, and the edges are deleted in ascending order of the cost. . If the shape change allowance is suppressed to a small value on the order of 1%, for example, and the edges and vertices are deleted within the range where the accumulated deformation falls within the shape change allowance, it will be effective while preventing extreme shape change. Since the number of polygons can be reduced, the simulation result can be made highly reproducible while reducing the calculation load.

例えばQEM法では、ポリゴンデータを構成するすべてのエッジ(稜線)に対して、その両端の頂点を削除して新しい位置に頂点を生成した場合(エッジ削除)の変形量の期待値を計算し、これを昇順にソートした上で、変形量の期待値が小さいものから順にエッジを削除していくことができる。あるエッジを削減すると、その両端が新しい頂点に移動し、隣接する頂点との間に新しいエッジが生成されることになる。ここで生成されるすべてのエッジの変形量の期待値に対して、先の操作により削除されたエッジの変形量の期待値を加算した状態で、再びすべてのエッジの変形量の期待値を昇順にソートし、この結果、あるエッジ削除の操作により新たに生成されたエッジは、そこに至るまでの当初の形状からの変形量が累積された形になり、以降はより削減されにくくなる。   For example, in the QEM method, for all edges (ridge lines) that make up polygon data, calculate the expected value of the deformation when deleting vertices at both ends and generating vertices at new positions (edge deletion) After sorting them in ascending order, the edges can be deleted in ascending order of expected deformation amount. When an edge is reduced, both ends of the edge move to a new vertex, and a new edge is generated between adjacent vertices. The expected value of the deformation amount of all edges generated in this order is added to the expected value of the deformation amount of the edge deleted by the previous operation, and the expected value of the deformation amount of all edges is again increased in ascending order. As a result, the edge newly generated by the operation of deleting a certain edge has a shape in which the deformation amount from the original shape up to that edge is accumulated, and is less likely to be reduced thereafter.

形状変化許容値をユーザが入力可能に構成することもできる。例えば形状変化許容値の入力用画面を表示制御部26によって表示部3に表示させ、ユーザが操作部4を使用して形状変化許容値を入力することができる。同様にして初期設定値も変更することができる。   It can also be configured such that the user can input the shape change allowable value. For example, the input screen for the shape change allowable value can be displayed on the display unit 3 by the display control unit 26, and the user can input the shape change allowable value using the operation unit 4. Similarly, the initial setting value can be changed.

ワークモデルのデータ容量を圧縮した後、図7に示すフローチャートのステップSA5に進み、物理シミュレーションを実行する。物理シミュレーションは、図3に示すロボット設定装置100が有する物理シミュレーション部22が行い、具体的には、データ容量圧縮部21でデータ容量が圧縮された複数のワークモデルを用いて、ワークが重力の作用を受けて作業空間に配置される動作をシミュレーションし、仮想的な作業空間に複数のワークモデルを積み上げたばら積み状態を生成する。これが物理シミュレーションステップである。物理シミュレーションを行うことで、明らかに不自然な姿勢のワークモデルを除外するなど、ユーザの実運用環境に合わせたばら積みデータを生成して後述するピッキング動作シミュレーションを行えるため、実際にワークを用意することなく、実運用時に近い形で事前に適切な設定調整や、検証を行うことができるようになる。物理シミュレーション部22は、物理的に発生確率が低いワークモデルを排除したバラ積みデータを生成するよう構成してもよい。   After compressing the data capacity of the work model, the process proceeds to step SA5 in the flowchart shown in FIG. 7 to execute a physical simulation. The physical simulation is performed by the physical simulation unit 22 included in the robot setting device 100 illustrated in FIG. 3. Specifically, the work is made of gravity using a plurality of work models in which the data capacity is compressed by the data capacity compression unit 21. The operation placed in the work space is simulated under the action, and a bulk state is generated by stacking a plurality of work models in the virtual work space. This is a physical simulation step. Performing physical simulations, such as excluding work models with a clearly unnatural posture, can generate bulk data according to the user's actual operating environment and perform the picking operation simulation described later, so actually prepare the work Therefore, it is possible to perform appropriate setting adjustment and verification in advance in a form close to actual operation. The physical simulation unit 22 may be configured to generate bulk data excluding a work model with a physically low probability of occurrence.

物理シミュレーションは、従来から周知の物理シミュレーションエンジンを用いて実行することができる。物理シミュレーションでは、ワーク同士の衝突による作用、床等の障害物の情報に基づいてワークモデルを仮想的に配置していく。実運用時に図1に示すような収容容器BXにワークWKを収容する場合には、ワークモデルを収容容器BXに上方から投入するシミュレーションを物理シミュレーションエンジンが行うように設定することができる。また、物理シミュレーションでは、例えばワーク同士が衝突した場合に、予め設定された反発係数や摩擦係数を考慮して、その後ワークモデルがどのような動きになるかが示される。   The physical simulation can be executed using a conventionally well-known physical simulation engine. In the physical simulation, a work model is virtually arranged based on information on an action caused by a collision between works and information on an obstacle such as a floor. When the work WK is stored in the storage container BX as shown in FIG. 1 during actual operation, it is possible to set the physical simulation engine to perform a simulation in which the work model is input into the storage container BX from above. In the physical simulation, for example, when the workpieces collide with each other, it is shown how the workpiece model subsequently moves in consideration of a repulsion coefficient and a friction coefficient set in advance.

物理シミュレーションの例としては、例えば、収容容器BXにワークWKを上方から投下または投入して収容容器BXの内部にばら積み状態を生成する場合を挙げることができる。「投入」や「投下」とは、物理的に高所から落下させる動作に限られず、例えば転がりを検証するため、所定の高さから水平方向に押し出しながら落下させたり、放物線状に投げ上げて落下させたり、あるいは収納容器BXや床面にワークモデルを載置、あるいは静置する動作も含む意味で使用する。さらに、物理シミュレーションは、ワークモデルを1つずつ作業空間内に順次投入する他、複数のワークモデルを同時に投入、例えば落下させたり静置させる動作をシミュレーションすることもできる。   As an example of the physical simulation, for example, a case in which a workpiece WK is dropped or thrown into the storage container BX from above to generate a bulk state inside the storage container BX can be given. “Throwing” and “throwing” are not limited to physically dropping from a high place. For example, in order to verify rolling, it is dropped while being pushed out from a predetermined height in the horizontal direction, or thrown in a parabolic shape. It is used in the sense that it includes dropping or placing the work model on the storage container BX or the floor surface or leaving it stationary. Furthermore, in the physical simulation, a work model can be sequentially input into the work space, and a plurality of work models can be simultaneously input, for example, an operation of dropping or standing can be simulated.

物理シミュレーションを実行した後、ステップSA6に進み、ワークモデルのばら積み状態データを、物理シミュレーションの結果に基づいて生成する。このステップも物理シミュレーションステップに含まれるステップであるが、実行するのは、図3に示すロボット設定装置100が有するばら積みデータ生成部23である。   After executing the physics simulation, the process proceeds to step SA6, and the bulk state data of the work model is generated based on the result of the physics simulation. Although this step is also a step included in the physical simulation step, the bulk data generation unit 23 included in the robot setting device 100 shown in FIG. 3 is executed.

ワークモデルのばら積み状態データに基づいて画像を生成すると、図26及び図27に示す画像が得られる。図26及び図27は、表示部3に表示される画像を示しており、各図における左側の画像が物理シミュレーション画像57、右側の画像が後述する高さ画像58である。表示制御部26は、ワークモデルのばら積み状態データに基づいて、ワークモデルが収納容器BXに無作為に投入された状態を示す画像を生成し、物理シミュレーション画像57として表示部3に表示させる。この物理シミュレーション画像57の中のワークモデルは、データ容量圧縮前のワークモデルとすることもできる。この場合、ワークモデルのばら積み状態データの中のワークモデルの位置及び姿勢情報にしたがって、データ容量圧縮部21による圧縮処理を行う前のワークモデルを配置することにより、物理シミュレーション画像57上では精緻なワークモデルとして表示できる。尚、圧縮処理を行う前のワークモデルを配置する代わりに、物理シミュレーション部22で用いたワークモデルよりもデータ容量が大きくかつワークの三次元形状に近いワークモデルを配置するようにしてもよい。また、ユーザは、物理シミュレーション画像57を見て、物理シミュレーションの結果が、後述するピッキング動作シミュレーションに不適な結果であると思われる場合には、その物理シミュレーションの結果を破棄して改めて物理シミュレーションを実行することができる。   When an image is generated based on the bulk state data of the work model, the images shown in FIGS. 26 and 27 are obtained. FIGS. 26 and 27 show images displayed on the display unit 3. The left image in each drawing is a physical simulation image 57, and the right image is a height image 58 described later. The display control unit 26 generates an image indicating a state in which the work model is randomly inserted into the storage container BX based on the bulk state data of the work model, and displays the image on the display unit 3 as the physical simulation image 57. The work model in the physical simulation image 57 may be a work model before data capacity compression. In this case, by placing the work model before the compression processing by the data capacity compression unit 21 in accordance with the position and orientation information of the work model in the bulk state data of the work model, it is fine on the physical simulation image 57. Can be displayed as a work model. Instead of arranging the work model before the compression process, a work model having a data capacity larger than that of the work model used in the physical simulation unit 22 and close to the three-dimensional shape of the work may be arranged. In addition, when the user looks at the physical simulation image 57 and thinks that the result of the physical simulation is unsuitable for the picking operation simulation described later, the physical simulation result is discarded and the physical simulation is performed again. Can be executed.

図26及び図27に示すように、物理シミュレーション画像57と、高さ画像58とは独立して視点、即ち見る角度を変えた画像にすることができる。物理シミュレーション画像57と、高さ画像58との配置は図示した配置に限られるものではなく、1つの表示画面上の任意の位置にそれぞれ配置することができる。また、物理シミュレーション画像57は、例えば物理シミュレーションの実行開始から終了までを動画として表示可能にしてもよい。この場合、収納容器BXの上方から複数のワークモデルを収納容器BXに投下する様子、ワークモデル同士が衝突する様子、ワークモデルが収納容器BXの壁に衝突する様子も見ることができ、最終的にどのようしてばら積み状態が生成されたのかをユーザが把握できる。   As shown in FIGS. 26 and 27, the physical simulation image 57 and the height image 58 can be made independent of the viewpoint, that is, the viewing angle. The arrangement of the physical simulation image 57 and the height image 58 is not limited to the arrangement shown in the figure, and can be arranged at arbitrary positions on one display screen. Further, the physical simulation image 57 may be displayed as a moving image from the start to the end of the physical simulation, for example. In this case, it can be seen that a plurality of work models are dropped onto the storage container BX from above the storage container BX, the work models collide with each other, and the work model collides with the wall of the storage container BX. The user can grasp how the bulk state is generated.

ワークモデルのばら積み状態データを生成した後、図7に示すステップSA7に進み、ワークモデルのばら積み状態データの中のワークモデルをポリゴン数削減前のCADデータと置換する。すなわち、物理シミュレーション部22で生成されたばら積み状態のデータの中の各ワークモデルの位置及び姿勢にしたがって、物理シミュレーション部22で用いたワークモデルよりもデータ容量が大きくかつワークの三次元形状に近いワークモデルを配置する。このようにして、各ワークモデルの位置及び姿勢を検出するサーチ処理を実行するためのサーチ処理用データを生成するデータ生成ステップが行われる。このサーチ処理用データの生成は、図3に示すロボット設定装置100が有するばら積みデータ生成部23で行われる。   After the work model bulk data is generated, the process proceeds to step SA7 shown in FIG. 7, where the work model in the work model bulk data is replaced with the CAD data before the polygon number reduction. That is, according to the position and orientation of each work model in the bulk data generated by the physics simulation unit 22, the data capacity is larger than that of the work model used by the physics simulation unit 22 and is close to the three-dimensional shape of the work. Arrange the work model. In this way, a data generation step for generating search processing data for executing search processing for detecting the position and orientation of each work model is performed. The search processing data is generated by the bulk data generation unit 23 of the robot setting device 100 shown in FIG.

物理シミュレーション部22で用いたワークモデルよりもデータ容量が大きくかつワークWKの三次元形状に近いワークモデルというのは、データの圧縮量が低く、物理シミュレーションステップで用いたワークモデルよりも精緻な形状を持ったワークモデルである。このワークモデルに置き換えることで、後述するピッキング動作シミュレーションの結果の再現性を高めることができる。   The work model having a larger data capacity than the work model used in the physical simulation unit 22 and close to the three-dimensional shape of the work WK has a low data compression amount and is more precise than the work model used in the physical simulation step. It is a work model with By replacing this work model, the reproducibility of the result of the picking operation simulation described later can be improved.

ばら積みデータ生成部23は、物理シミュレーション部22で生成されたばら積み状態のデータの中の各ワークモデルの位置及び姿勢にしたがって、データ容量圧縮部21による圧縮処理を行う前のワークモデルを配置することによってサーチ処理用データを生成することもできる。こうすれば後述するピッキング動作シミュレーションの結果がより一層再現性の高い結果になる。   The bulk data generation unit 23 arranges the work model before the compression processing by the data capacity compression unit 21 according to the position and orientation of each work model in the bulk data generated by the physical simulation unit 22. The search processing data can also be generated. By doing so, the result of the picking operation simulation described later becomes more reproducible.

ステップSA7においてサーチ処理用データを生成した後、ステップSA8に進み、ワークモデルの各部の高さを表す高さ画像データを生成する。高さ画像データから得られる高さ画像は、高さ情報を有する画像であって、距離画像、三次元画像等とも呼ばれる。サーチ処理用データにはワークモデルの高さに関する情報が含まれているので、これに基づいて周知の手法によって高さ画像データを得ることができる。図26及び図27に示すように、ステップSA8で生成された高さ画像データに基づいて得ることができる高さ画像58は、物理シミュレーション画像57と同時に表示部3に表示される。   After the search processing data is generated in step SA7, the process proceeds to step SA8, and height image data representing the height of each part of the work model is generated. A height image obtained from height image data is an image having height information, and is also called a distance image, a three-dimensional image, or the like. Since the search processing data includes information on the height of the work model, the height image data can be obtained by a well-known method based on the information. As shown in FIGS. 26 and 27, the height image 58 that can be obtained based on the height image data generated in step SA8 is displayed on the display unit 3 simultaneously with the physical simulation image 57.

図7に示すステップSA8で高さ画像を生成した後、ステップSA9に進み、ばら積みデータ生成部23により生成されたサーチ処理用データに対し、各ワークモデルの位置及び姿勢を検出するサーチ処理を実行する。これはサーチ処理ステップであり、図3に示すロボット設定装置100が有するサーチ処理部24が行う。   After the height image is generated in step SA8 shown in FIG. 7, the process proceeds to step SA9, where search processing for detecting the position and orientation of each work model is performed on the search processing data generated by the bulk data generation unit 23. To do. This is a search processing step, which is performed by the search processing unit 24 included in the robot setting apparatus 100 shown in FIG.

サーチ処理は高さ情報を含むサーチ処理用データに対してサーチをかけるので、三次元サーチと呼ぶことができる。具体的には、サーチモデル登録部27で登録されたサーチモデルを用いて、各ワークモデルの姿勢と位置を特定する三次元サーチを行う。まずサーチモデルの各特徴点が、最も一致する状態の位置及び姿勢(X、Y、Z、RX、RY、RZ)を、高さ画像の中から探索する。ここでRX、RY、RZは、それぞれX軸に対する回転角、Y軸に対する回転角、Z軸に対する回転角を表す。このような回転角度の表現方法は種々提案されているところ、ここではZ−Y−X系オイラー角を用いることができる。また一致する位置及び姿勢は、各サーチモデルに対して、1つである必要はなく、一定以上一致する位置及び姿勢を、複数検出してもよい。 Since the search process searches the search process data including the height information, it can be called a three-dimensional search. Specifically, a three-dimensional search for specifying the posture and position of each work model is performed using the search model registered by the search model registration unit 27. First, the position and orientation (X, Y, Z, R X , R Y , R Z ) in which each feature point of the search model most closely matches is searched from the height image. Here, R X , R Y , and R Z represent a rotation angle with respect to the X axis, a rotation angle with respect to the Y axis, and a rotation angle with respect to the Z axis, respectively. Various methods for expressing such a rotation angle have been proposed. Here, a ZYX Euler angle can be used. The matching position and orientation need not be one for each search model, and a plurality of matching positions and orientations may be detected.

たとえば、図28に示すように、高さ画像の中で特徴点の一致に基づいてワークモデルを検出した場合には、その検出位置にサーチモデルの特徴点を、周囲よりも明るい色で重畳表示させることができる。このように三次元サーチに用いるサーチモデルとして、ワークを六面図のように、面ごとに見た画像を用いることで、斜視図などを用いる場合と比べ、三次元サーチの演算処理を簡素化でき、処理を軽負荷、高速化できる利点が得られる。また、サーチモデルの登録作業に際しても表示された状態が見易くなり、ユーザにも視覚的に判り易くできる。   For example, as shown in FIG. 28, when a work model is detected based on the matching of feature points in the height image, the feature points of the search model are superimposed and displayed in a brighter color than the surroundings at the detection position. Can be made. As a search model used for 3D search in this way, the 3D search calculation process is simplified compared to the perspective view, etc., by using an image of the work as seen on each side, such as a hexagonal view. It is possible to obtain an advantage that the processing can be lightly loaded and speeded up. In addition, the displayed state is easy to see even when the search model is registered, and the user can easily understand it visually.

ここで、例えば、三次元サーチに用いる高さ画像を構成するワークモデルが、データ容量圧縮部21で圧縮処理されたワークモデルであった場合について説明する。図29は、三次元サーチに用いる高さ画像を構成するワークモデルが圧縮処理前である場合を示しており、一方、図30は、三次元サーチに用いる高さ画像を構成するワークモデルが圧縮処理後である場合を示している。図29Bと図30Bとを比較すると、図29Bの方は特徴点の位置が正確に合致した状態になっているのに対し、図30Bの方は特徴点の位置が正確に合致しない状態になってしまい、スコアが下がっていることが分かる。したがって、三次元サーチ時には、図29Bに示す圧縮処理前のワークモデルを用いることで、三次元サーチの正確性を高めることができる。尚、三次元サーチ時に図30Bに示す圧縮処理後のサーチモデルを用いてサーチするようにしてもよいが、そのときの圧縮量が低い方が好ましい。   Here, for example, a case where the work model constituting the height image used for the three-dimensional search is a work model compressed by the data capacity compression unit 21 will be described. FIG. 29 shows a case where the work model constituting the height image used for the three-dimensional search is before compression processing, while FIG. 30 shows the case where the work model constituting the height image used for the three-dimensional search is compressed. The case is after processing. Comparing FIG. 29B and FIG. 30B, FIG. 29B is in a state where the positions of the feature points are exactly matched, whereas FIG. 30B is in a state where the positions of the feature points are not exactly matched. It turns out that the score has fallen. Therefore, at the time of three-dimensional search, the accuracy of the three-dimensional search can be improved by using the work model before compression processing shown in FIG. 29B. Note that a search may be performed using the search model after the compression processing shown in FIG. 30B during the three-dimensional search, but it is preferable that the compression amount at that time is low.

図31に示すように、三次元サーチの結果の位置に、サーチモデルの各特徴点を重畳表示させることができる。図31の左側には、二次元表示した場合を示しており、右側には、三次元表示した場合を示している。対応する特徴点が、高さ画像中に対してどの程度存在したか(例えば、高さ画像に対し、一定の距離以下の誤差で対応した特徴点の点数割合など)によって、サーチ結果をスコア付けすることができる。   As shown in FIG. 31, each feature point of the search model can be superimposed and displayed at the position of the result of the three-dimensional search. The left side of FIG. 31 shows the case of two-dimensional display, and the right side shows the case of three-dimensional display. The search results are scored according to how many corresponding feature points exist in the height image (for example, the ratio of the number of feature points corresponding to the height image with an error of a certain distance or less). can do.

サーチ処理部24が高さ画像中にサーチモデル登録部27で登録されたサーチモデルが存在するか否かをサーチした結果、高さ画像中に、サーチモデルが存在しない場合、即ちワークモデルを検出できない場合には、図7に示すステップSA10においてNOと判定されてステップSA11に進み、残ったワークモデルの情報を抽出し、このフローを終了する。   As a result of the search processing unit 24 searching whether or not the search model registered by the search model registration unit 27 exists in the height image, if the search model does not exist in the height image, that is, a work model is detected. If it is not possible, NO is determined in step SA10 shown in FIG. 7 and the process proceeds to step SA11 to extract information on the remaining work model, and this flow ends.

ステップSA9の三次元サーチの結果、高さ画像の中にワークモデルを検出できた場合には、ステップSA10でYESと判定されてステップSA12に進み、干渉判定及び把持解を算出する。このステップSA12〜SA15は、サーチ処理部24によりサーチに成功したワークモデルに対して、ロボットRBTによりピッキング動作のシミュレーションを実行するピッキング動作シミュレーション部25が行うピッキング動作シミュレーションステップである。三次元サーチの結果、高さ画像の中に複数のワークモデルを検出できる場合もある。ピッキング動作シミュレーション部25に物理シミュレーションの機能や高さ画像生成機能を持たせてもよい。   If the work model is detected in the height image as a result of the three-dimensional search in step SA9, YES is determined in step SA10, and the process proceeds to step SA12 to calculate interference determination and a gripping solution. Steps SA12 to SA15 are picking motion simulation steps performed by the picking motion simulation unit 25 that performs a simulation of the picking motion by the robot RBT on the work model successfully searched by the search processing unit 24. As a result of the three-dimensional search, a plurality of work models may be detected in the height image. The picking motion simulation unit 25 may have a physical simulation function and a height image generation function.

このように、ピッキング動作シミュレーション部25は、生成されたばら積みデータに対して、仮想作業空間内のワークモデルのばら積みピッキング動作を検証するための部分である。ピッキング動作シミュレーションを行うことにより、ワークの三次元位置及び姿勢の検出可否など、手間のかかる確認作業や設定調整を、実際にワークを用意することなく、実運用に近い形で事前に行うことができる。   As described above, the picking operation simulation unit 25 is a part for verifying the bulk picking operation of the work model in the virtual work space with respect to the generated bulk data. By performing a picking operation simulation, it is possible to perform in advance confirmation work and setting adjustments such as whether or not to detect the three-dimensional position and posture of the work in a form close to actual operation without actually preparing the work. it can.

特に物理シミュレーション部22は、ピッキング動作シミュレーション部25による一のワークモデルをハンドモデルで把持し少なくとも取り出し動作を開始した後、このワークモデルが取り出された後の状態のばら積みデータに対して物理シミュレーションを再度実行するように構成することができる。物理シミュレーションを再度実行するタイミングは、ワークモデルをハンドモデルで把持し、載置位置にプレースされた後とする他、ワークモデルの取り出し作業の途中であってもよい。すなわち、ハンドモデルでワークモデルを把持して、このワークモデルが持ち上げられた状態では、一のワークモデルが除去されたことで、このワークモデルの周辺にあった他のワークモデルが移動可能となるため、把持されたワークモデルが載置されるまで待つ必要はない。よって、物理シミュレーションの再実行のタイミングは、一のワークモデルがハンドモデルで把持されて持ち上げられたタイミング、あるいはその後、他のワークモデルの状態が重力の作用で移動して安定するまで待った後のタイミングとすることができる。例えば、ワークモデルが把持されて持ち上げられた時点から所定の時間の経過後(例えば10秒後)としてもよい。物理シミュレーションを再度実行した後、ばら積みデータを更新する。   In particular, the physical simulation unit 22 grips one work model by the picking motion simulation unit 25 with a hand model, starts at least the extraction operation, and then performs physical simulation on the bulk data in the state after the work model is extracted. It can be configured to run again. The timing for executing the physical simulation again may be after the work model is held by the hand model and placed at the placement position, or may be in the middle of the work model take-out operation. That is, when a work model is held by a hand model and this work model is lifted, one work model is removed so that another work model around the work model can be moved. Therefore, there is no need to wait until the gripped work model is placed. Therefore, the re-execution timing of the physics simulation is the timing when one work model is gripped and lifted by the hand model, or after waiting until the other work model moves and stabilizes due to the action of gravity. It can be timing. For example, it may be after a lapse of a predetermined time (for example, after 10 seconds) from the time when the work model is gripped and lifted. After executing the physical simulation again, the bulk data is updated.

したがって、ピッキング動作シミュレーション中にばら積みデータからワークモデルが一つ取り出されると、これに応じてバラ積みされたワークモデル群が崩れるといった動作も物理シミュレーションにより演算され、この演算後のばら積みデータを利用してピッキング動作シミュレーション部25がその後のピッキング動作シミュレーションを実行するので、より正確なばら積みピッキングのシミュレーションが実現される。   Therefore, when one work model is taken out from the bulk data during the picking motion simulation, an operation such as the collapse of the work model group that is piled up according to this is also calculated by physical simulation, and the bulk data after this calculation is used. Since the picking motion simulation unit 25 executes the subsequent picking motion simulation, a more accurate bulk picking simulation is realized.

干渉判定は、高さ画像の各1点1点のpixelデータが示す三次元点群と、ハンド部形状入力部35で予め入力されているハンドモデルとが干渉するか否かを判定する。干渉判定の前に、三次元サーチで検出された一のワークモデルに対して、このワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、エンドエフェクタEETを配置すべき位置と姿勢を計算する。ピッキング動作シミュレーション中の画像を図33に示す。計算された位置において、エンドエフェクタが周囲の物体と干渉しないかどうかを、図18のハンドモデル登録手順フローチャートで登録した断面モデルを利用して判定する。この干渉判定では、ハンドモデルの断面モデルを利用して三次元点群が断面モデルと干渉しているか否かを判定する。具体的には、図32Aに示すように、断面モデルから全ての三次元点が離れている場合には、三次元点群、すなわち高さ画像とハンドモデルとが干渉していないと判定し、一方、図32Bに示すように、断面モデルの内側に三次元点が1つでも入っている、または断面モデルの縁部に三次元点が1つでも接している場合には、三次元点群、すなわち高さ画像とハンドモデルとが干渉していると判定する。干渉していない場合は、このワークモデルに対して把持解を算出することができたということであり、ステップSA13においてYESと判定されてステップSA14に進む。一方、三次元点群とハンドモデルとが干渉している場合は、このワークモデルに対して把持解を算出することができないということであり、ステップSA13においてNOと判定されてステップSA11に進み、このフローを終了する。   In the interference determination, it is determined whether or not the three-dimensional point group indicated by the pixel data of each point of the height image interferes with the hand model input in advance by the hand unit shape input unit 35. The position where the end effector EET should be placed based on the position of this work model and the registered gripping posture of the work model for one work model detected by the three-dimensional search before the interference determination And calculate the posture. An image during the picking operation simulation is shown in FIG. Whether or not the end effector interferes with surrounding objects at the calculated position is determined using the cross-sectional model registered in the hand model registration procedure flowchart of FIG. In this interference determination, it is determined whether or not the three-dimensional point group interferes with the cross-sectional model using the cross-sectional model of the hand model. Specifically, as shown in FIG. 32A, when all three-dimensional points are separated from the cross-sectional model, it is determined that the three-dimensional point group, that is, the height image and the hand model do not interfere with each other, On the other hand, as shown in FIG. 32B, when there is even one three-dimensional point inside the cross-sectional model, or when one three-dimensional point is in contact with the edge of the cross-sectional model, the three-dimensional point group That is, it is determined that the height image and the hand model interfere with each other. If there is no interference, it means that the gripping solution has been calculated for this work model. In step SA13, the determination is YES and the process proceeds to step SA14. On the other hand, if the three-dimensional point cloud and the hand model interfere with each other, this means that a gripping solution cannot be calculated for this work model. In step SA13, NO is determined and the process proceeds to step SA11. This flow is finished.

一方、把持解を算出することができてステップSA14に進むと、ワークモデルの数を1つ減らす。このステップSA14で減らすワークモデルは把持解を算出することができたワークモデルである。ワークモデルを1つ減らした後、ステップSA15に進み、三次元サーチで得られた他のワークモデルがあればステップSA12に進む。他のワークモデルが無ければステップSA15でNOと判定されてステップSA11に進み、このフローを終了する。   On the other hand, when the gripping solution can be calculated and the process proceeds to step SA14, the number of work models is reduced by one. The work model to be reduced in step SA14 is a work model for which a gripping solution can be calculated. After reducing the work model by one, the process proceeds to step SA15, and if there is another work model obtained by the three-dimensional search, the process proceeds to step SA12. If there is no other work model, NO is determined in step SA15, and the process proceeds to step SA11, and this flow is terminated.

このようにして、ワークモデルを把持可能な把持解の有無を検出されたワークモデル毎に判定する。そして、ワークモデルに把持解が得られた場合は、そのワークモデルの把持候補位置をハンド部でもってピックし、収納容器BXの外部へ搬送するシミュレーションを行う。   In this way, the presence / absence of a gripping solution that can grip the work model is determined for each detected work model. When a gripping solution is obtained for the work model, a simulation is performed in which the gripping candidate position of the work model is picked by the hand unit and conveyed to the outside of the storage container BX.

ピッキング動作シミュレーションの実行結果は、必要に応じて表示部3に表示させることができる。ユーザは表示部3に表示されたピッキング動作シミュレーションの実行結果に基づいて、現在の設定の適否を判断できる。また必要に応じて、各種の設定を変更することができる。例えばロボットRBTの設置位置や収納容器BXを置く位置、センサ部2の姿勢などを調整する。変更した設定を、シミュレーション環境として入力し直して、再度ピッキング動作シミュレーションを実行し、その適否を確認するという作業を繰り返して、ユーザの環境に応じた適切な設定条件を決定できる。   The execution result of the picking operation simulation can be displayed on the display unit 3 as necessary. The user can determine whether the current setting is appropriate based on the execution result of the picking operation simulation displayed on the display unit 3. Various settings can be changed as necessary. For example, the installation position of the robot RBT, the position where the storage container BX is placed, the attitude of the sensor unit 2 and the like are adjusted. By re-inputting the changed setting as a simulation environment, executing a picking operation simulation again, and confirming its suitability, it is possible to determine appropriate setting conditions according to the user's environment.

また、物理シミュレーション部22は、物理シミュレーションを繰り返して行うことができるが、毎回、ワークモデルが同じ配置にならないようにランダムにばら積みすることができるように構成されている。従って、物理シミュレーション部22は、以前行った物理シミュレーションで得られたばら積み状態と同じ状態を作ることができない。すなわち、物理シミュレーションの度毎にランダムなばら積みデータが生成されるため、物理シミュレーションの結果に再現性がない。   In addition, the physical simulation unit 22 can repeatedly perform the physical simulation, but is configured so that the work models can be randomly stacked so that the work models are not arranged in the same manner each time. Therefore, the physics simulation unit 22 cannot create the same state as the bulk stack obtained by the physics simulation performed previously. That is, since random bulk data is generated every time the physical simulation is performed, the result of the physical simulation is not reproducible.

一方、ユーザがピッキング動作の環境設定の見直しなどを行い、その効果を確認しようとする場合、以前のピッキング動作シミュレーションでうまくいかなかった状態を再現して、このばら積みデータに対して確認するのが最も効率的である。例えば、あるワークモデルに対するエンドエフェクタモデルの把持解が見つからずに全てのワークモデルを取り出せなかった場合に、その対策としてユーザが把持候補位置や把持姿勢を増やした場合を考える。この場合、ユーザが変更した設定が、前回発生した問題に対して有効な解決策であったか否かを判断するためには、前回うまく行かなかった状態、又はこれと近い状態を再現して確認することが最も有効である。   On the other hand, when the user reviews the picking operation environment settings and tries to confirm the effect, it is possible to reproduce the state that did not work in the previous picking operation simulation and check this bulk data. It is the most efficient. For example, when the gripping solution of the end effector model for a certain work model is not found and all the work models cannot be extracted, consider the case where the user increases the gripping candidate positions and gripping postures as a countermeasure. In this case, in order to determine whether the setting changed by the user was an effective solution to the problem that occurred last time, the state that did not go well last time or a state close to this was reproduced and confirmed. Is most effective.

加えて、問題が発生した状態だけでなく、その問題が発生するに至った途中の状態からピッキング動作シミュレーションを開始できるようにしてもよい。例えば問題が発生したばら積みデータを、ワークモデルを順次追加して構成している場合は、問題が発生した段階の数回前の、ワークモデルの数が数回分少ない状態で、対応できるかどうかを確認することが考えられる。   In addition, the picking operation simulation may be started not only from the state where the problem has occurred but also from the state where the problem has occurred. For example, if bulk data with a problem is configured by adding work models sequentially, whether or not it can be handled in a state where the number of work models is few several times before the stage where the problem occurred. It is possible to confirm.

これらを実現するために、本実施形態においては、ばら積みデータの初期状態や終了状態、あるいは中間状態等、ユーザが再利用したいと考える状態のばら積みデータを保存しておき、環境設定をし直した後に、このような保存済みのばら積みデータを呼び出して、検証することを可能としている。ばら積みデータは、記憶部42に保存しておくことができ、ユーザの指定によって呼び出すことができる。   In order to realize these, in this embodiment, the bulk data in the state that the user wants to reuse, such as the initial state, the end state, or the intermediate state of the bulk data, is saved, and the environment is set again. Later, such stored bulk data can be recalled and verified. The bulk data can be stored in the storage unit 42 and can be called up by the user.

以上の手順では、いずれかのワークモデルで把持解が得られると、その時点で把持候補位置を検討する処理を終了して、得られた把持解に該当する把持候補位置でワークモデルを把持するように処理している。ただ、この方法に限らず、例えば把持可能なすべての把持候補位置を1つのワークモデルについて求めた上で、いずれの把持候補位置を選択するかをユーザが決定するように構成してもよい。また、ワークモデルの置かれた高さ情報に注目し、ワークモデルが置かれた高さが高いもの、いいかえると、ばら積みされたワークモデル群の内で、より上方に位置するものを把持候補位置として選択することもできる。   In the above procedure, when a gripping solution is obtained with any of the work models, the processing for examining the gripping candidate position is terminated at that time, and the work model is gripped at the gripping candidate position corresponding to the obtained gripping solution. It is processed like so. However, the present invention is not limited to this method. For example, the user may determine which gripping candidate position is selected after obtaining all gripping candidate positions that can be gripped for one work model. In addition, paying attention to the height information where the work model is placed, the position where the work model is placed is high, in other words, among the stacked work models, the one located higher is the gripping candidate position Can also be selected.

以上のようにしてピッキング動作シミュレーションを行うことができ、このピッキング動作シミュレーションは複数回行うのが好ましい。つまり、サーチ処理部24によりサーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットRBTによる把持が可能か否かを判定し、把持が可能と判定された把持候補位置をロボットRBTにより把持するピッキング動作シミュレーションを繰り返し実行するように、ピッキング動作シミュレーション部25が構成されている。このピッキング動作シミュレーションを複数回行うことに対応するように、物理シミュレーション部22は、データ容量が圧縮された複数のワークモデルを用いて複数回シミュレーションを実行可能に構成されており、ピッキング動作シミュレーションが終了すると、物理シミュレーション部22は自動的に新たな物理シミュレーションを実行し、この新たな物理シミュレーション結果を利用してピッキング動作シミュレーションが行われる。   The picking operation simulation can be performed as described above, and the picking operation simulation is preferably performed a plurality of times. That is, it is determined whether or not each of the gripping candidate positions associated with the work model successfully searched by the search processing unit 24 can be gripped by the robot RBT, and the gripping candidate positions determined to be gripped are determined as the robot. The picking motion simulation unit 25 is configured to repeatedly execute a picking motion simulation held by the RBT. The physical simulation unit 22 is configured to be able to execute the simulation a plurality of times using a plurality of work models with compressed data capacity so that the picking operation simulation is performed a plurality of times. Upon completion, the physical simulation unit 22 automatically executes a new physical simulation, and a picking operation simulation is performed using the new physical simulation result.

また、ピッキング動作シミュレーション部22は、サーチ処理部24によりサーチに成功したワークモデルをハンド部形状入力部35で入力されたハンド部により把持するピッキング動作シミュレーションを、各ハンド部を用いて繰り返し実行するように構成されている。図18のハンドモデル登録手順フローチャートに従ってハンド部の形状を複数入力した場合には、それらのうち、一のハンド部のハンドモデルを用いてピッキング動作シミュレーションを行った後、他のハンド部のハンドモデルを用いてピッキング動作シミュレーションを行う。全てのハンド部についてピッキング動作シミュレーションが終了した後、再び全てのハンド部のハンドモデルを用いてピッキング動作シミュレーションを行う。これを繰り返して行うことができる。また、一のハンド部のハンドモデルを用いてピッキング動作シミュレーションを複数回行った後、他のハンド部のハンドモデルを用いてピッキング動作シミュレーションを複数回行うこともできる。ピッキング動作シミュレーションは、ハンド部毎に数百回〜1000回程度行うことができる。   Further, the picking motion simulation unit 22 repeatedly executes a picking motion simulation in which each hand unit grips a work model successfully searched by the search processing unit 24 using the hand unit input by the hand unit shape input unit 35. It is configured as follows. When a plurality of hand part shapes are input according to the hand model registration procedure flowchart of FIG. 18, after performing a picking operation simulation using a hand model of one hand part, a hand model of another hand part The picking motion simulation is performed using After the picking operation simulation is completed for all the hand units, the picking operation simulation is performed again using the hand models of all the hand units. This can be repeated. Moreover, after performing the picking operation simulation a plurality of times using the hand model of one hand unit, the picking operation simulation can be performed a plurality of times using the hand model of the other hand unit. The picking operation simulation can be performed several hundred to 1000 times for each hand unit.

図34にフローチャートで示すように、ピッキング動作シミュレーションを複数回行ってその結果を蓄積することができる。図34のフローチャートの開始後のステップSG1では、統計対象となる設定群を取得する。これは、ハンド部形状入力部35で入力された複数のハンド部のハンドモデルや、サーチモデルに設定されている複数の把持候補位置、複数のサーチモデル等である。   As shown in the flowchart of FIG. 34, the picking operation simulation can be performed a plurality of times and the results can be accumulated. In step SG1 after the start of the flowchart of FIG. 34, a setting group to be a statistical target is acquired. This is a hand model of a plurality of hand units input by the hand unit shape input unit 35, a plurality of gripping candidate positions set in the search model, a plurality of search models, and the like.

統計対象となる設定群を取得した後、ステップSG2に進み、統計蓄積を開始する。これはユーザによる指示によって開始することができる。統計蓄積を開始すると、ステップSG3に進み、ステップSG1で取得した設定群の中から一の設定の組(一のハンド部、一の把持候補位置、一のサーチモデル)を取得して上述したピッキング動作シミュレーションを開始する。ピッキング動作シミュレーション部22は、各ハンド部による把持が行えなくなるまでピッキング動作シミュレーションを継続する。   After acquiring the setting group to be a statistical target, the process proceeds to step SG2, and statistical accumulation is started. This can be initiated by a user instruction. When statistical accumulation is started, the process proceeds to step SG3, where one set of settings (one hand unit, one gripping candidate position, one search model) is acquired from the setting group acquired in step SG1, and the above-described picking is performed. Start motion simulation. The picking motion simulation unit 22 continues the picking motion simulation until it cannot be gripped by each hand unit.

このステップSG3のピッキング動作シミュレーションは複数回実行する。すなわち、物理シミュレーション部22で複数のワークモデルを積み上げたばら積み状態を生成し、これに基づいて高さ画像を得て、三次元サーチを行った後、ピッキング動作シミュレーションを実行し、その後、物理シミュレーション部22で新たにばら積み状態を生成し、これに基づいて高さ画像を得て、三次元サーチを行った後、ピッキング動作シミュレーションを実行する。つまり、ピッキング動作シミュレーション部25によるピッキング動作シミュレーションが終了する都度、物理シミュレーションを新たに実行してデータを更新するようにしている。これを繰り返し行い、ステップSG4において各高さ画像に対するピッキング動作シミュレーションの結果を蓄積する。   The picking operation simulation in step SG3 is executed a plurality of times. That is, the physical simulation unit 22 generates a bulk stack state in which a plurality of work models are stacked, obtains a height image based on this, performs a three-dimensional search, executes a picking motion simulation, and then performs a physical simulation. The unit 22 newly generates a bulk state, obtains a height image based on this, performs a three-dimensional search, and then executes a picking operation simulation. That is, each time the picking motion simulation by the picking motion simulation unit 25 is completed, a physical simulation is newly executed to update the data. This is repeated, and the results of the picking operation simulation for each height image are accumulated in step SG4.

予め設定されている回数だけピッキング動作シミュレーションが行われれば、ステップSG5においてYESと判定されてステップSG6に進む一方、予め設定されている回数に未達であれば、ステップSG5でNOと判定されてステップSG3に進み、別の高さ画像についてピッキング動作シミュレーションを実行する。   If the picking operation simulation is performed for the preset number of times, it is determined as YES in step SG5, and the process proceeds to step SG6. On the other hand, if the preset number is not reached, it is determined as NO in step SG5 Proceeding to step SG3, a picking operation simulation is executed for another height image.

その後、ステップSG6では、各ピッキング動作シミュレーションに対する実行結果を蓄積する。ステップSG7では、ステップSG1で取得した設定群の中でピッキング動作シミュレーションを実行していない設定が存在すれば、NOと判定されて、未だピッキング動作シミュレーションを実行していない設定についてピッキング動作シミュレーションを繰り返し実行する。ステップSG1で取得した設定群の全てについてピッキング動作シミュレーションを実行したら、ステップSG7でYESと判定されて終了する。   Thereafter, in step SG6, execution results for each picking operation simulation are accumulated. In step SG7, if there is a setting for which the picking operation simulation is not executed in the setting group acquired in step SG1, it is determined as NO, and the picking operation simulation is repeated for the setting for which the picking operation simulation has not been executed yet. Run. When the picking operation simulation is executed for all of the setting groups acquired in step SG1, it is determined as YES in step SG7 and the process is ended.

図35は、ピッキング動作シミュレーションの結果を把持登録番号順にリスト表示した表である。この表の左欄にはサーチモデルが記載されており、この例ではサーチモデルとしてA〜Cの3つがある。表の左右方向中央の欄には把持候補位置を登録番号順に並べて記載しており、サーチモデルAに把持候補位置として3つが登録されており、サーチモデルBに把持候補位置として5つが登録されており、サーチモデルCに把持候補位置としての4つが登録されていた場合を示している。表の右欄の回数とは、ピッキング動作シミュレーションで把持に成功した回数であり、ピッキング動作シミュレーションで把持に成功したときに使用された頻度(使用頻度)を示す情報である。   FIG. 35 is a table in which picking operation simulation results are listed in the order of grip registration numbers. In the left column of this table, search models are described. In this example, there are three search models A to C. In the middle column in the left-right direction of the table, the gripping candidate positions are listed in the order of registration numbers. Three gripping candidate positions are registered in search model A, and five gripping candidate positions are registered in search model B. In this example, four gripping candidate positions are registered in the search model C. The number of times in the right column of the table is the number of times of successful gripping in the picking motion simulation, and is information indicating the frequency (usage frequency) used when gripping is successful in the picking motion simulation.

図35に示す表は、表示制御部26が表示部3に表示させるために生成する表であり、ピッキング動作シミュレーションで把持に成功したときの各サーチモデルA〜C及び各把持候補位置(A−001〜C−005)の使用頻度を示す情報を比較可能に表示している。また、各サーチモデルA〜Cと、各把持候補位置(A−001〜C−005)の両方を表示することなく、サーチモデルA〜Cのみ、または各把持候補位置(A−001〜C−005)のみ表示可能にしてもよい。この表では、把持に使用されなかった各サーチモデル及び各把持候補位置も表示されているが、把持に使用されなかった各サーチモデルのみ、または把持に使用されなかった把持候補位置のみ表示可能にしてもよい。把持に使用されなかった把持候補位置は、回数が0となっている把持候補位置である。   The table shown in FIG. 35 is a table generated for the display control unit 26 to display on the display unit 3, and each search model A to C and each gripping candidate position (A−) when gripping is successful in the picking motion simulation. 001 to C-005), the information indicating the usage frequency is displayed in a comparable manner. Further, without displaying both the search models A to C and the gripping candidate positions (A-001 to C-005), only the search models A to C or the gripping candidate positions (A-001 to C- 005) only may be displayed. In this table, each search model not used for gripping and each gripping candidate position are also displayed, but only each search model that was not used for gripping or only the gripping candidate position that was not used for gripping can be displayed. May be. A gripping candidate position that has not been used for gripping is a gripping candidate position whose number of times is zero.

図36は、図35に示す結果を回数降順にリスト表示した場合を示しており、この表も表示制御部26が表示部3に表示させるために生成する表である。回数昇順にリスト表示することももちろん可能である。把持登録位置A−002、把持登録位置B−002、把持登録位置B−003は、ピッキング動作シミュレーション時に把持候補位置として採用されていないため、データから削除しても実際のばら積みピッキング作業には問題ないといえる。また、サーチモデルA及びサーチモデルCに比べて把持回数が大幅に少ないサーチモデルBをデータから削除しても、実際のばら積みピッキング作業には殆ど問題ないといえる。また、ロボット制御プログラム側からも、これらの設定を使用した結果データを考慮する必要が無くなるため、セットアップの工数を減らすことが可能になる。   FIG. 36 shows a case where the results shown in FIG. 35 are listed in descending order, and this table is also generated by the display control unit 26 for display on the display unit 3. Of course, it is possible to display the list in ascending order. The grip registration position A-002, the grip registration position B-002, and the grip registration position B-003 are not adopted as grip candidate positions at the time of the picking operation simulation, so there is a problem in actual bulk picking work even if they are deleted from the data I can say no. Further, even if the search model B having a significantly smaller number of grips than the search model A and the search model C is deleted from the data, it can be said that there is almost no problem in the actual bulk picking operation. Moreover, since it is not necessary to consider the result data using these settings from the robot control program side, the number of man-hours for setup can be reduced.

図37は、ピッキング動作シミュレーションの結果をハンド部の形状別にリスト表示した表であり、この表も表示制御部26が表示部3に表示させるために生成する表である。ハンド部の形状が「ハンド形状1」〜「ハンド形状7」まで7種類ある場合を示しており、ワーク残数(平均)とは、1回のピッキング動作シミュレーションで把持できなかったワーク(収納容器BXに残ったワーク)の数をピッキング動作シミュレーションの回数で乗じて得た総回数を、ピッキング動作シミュレーションの回数で除した値である。ワーク残数(最大)とは、全ピッキング動作シミュレーションの中で残ったワークが最も多かった回の当該ワークの個数である。ワーク残数(最小)とは、全ピッキング動作シミュレーションの中で残ったワークが最も少なかった回の当該ワークの個数である。   FIG. 37 is a table in which the results of the picking operation simulation are displayed in a list according to the shape of the hand unit. This table is also generated by the display control unit 26 for display on the display unit 3. The figure shows the case where there are seven types of hand shapes from “hand shape 1” to “hand shape 7”. The number of remaining workpieces (average) is the number of workpieces (storage containers) that could not be gripped in one picking operation simulation. This is a value obtained by dividing the total number obtained by multiplying the number of workpieces remaining in BX by the number of picking operation simulations by the number of picking operation simulations. The number of remaining workpieces (maximum) is the number of workpieces in which the number of workpieces remaining in the entire picking motion simulation is the largest. The number of remaining workpieces (minimum) is the number of workpieces in which the number of workpieces remaining in the entire picking motion simulation is the smallest.

つまり、表示制御部26は、ピッキング動作シミュレーション部25によるピッキング動作シミュレーション終了時に残っているワークモデルの数をハンド部毎に表示可能に構成されているので、ハンド部の形状毎にワークの残数を比較することができる。ワークの残数は、ハンド部によるワークモデルの把持の成功度が高ければ少なくなり、反対にハンド部によるワークモデルの把持の成功度が低ければ多くなるので、ハンド部によるワークモデルの把持の成功度合いを示す情報である。従って、この実施形態では、ピッキング動作シミュレーションで得られた各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示することができる。ワークモデルの把持の成功度合いは、例えば把持に成功したワークの全ワークに対する割合等で表示することもできる。図35〜図37に示す各表を表示部3に表示させるステップが表示ステップである。
(露光時間の設定)
形状測定装置400は、図3に示すように、カメラCME1、CME2、CME3、CME4の露光時間(シャッタースピード)を段階的に変化させるための露光制御部40を備えている。露光制御部40は、露光時間を等比で増加させるように構成されているが、これに限られるものではない。この実施形態では、露光時間を1.5倍ずつ伸ばすように構成されているが、この倍率は任意に設定することができる。
That is, since the display control unit 26 is configured to be able to display the number of work models remaining at the end of the picking motion simulation by the picking motion simulation unit 25 for each hand unit, the remaining number of workpieces for each shape of the hand unit. Can be compared. The remaining number of workpieces decreases when the success of gripping the work model by the hand unit is high, and conversely increases when the success of gripping the work model by the hand unit is low. This is information indicating the degree. Therefore, in this embodiment, information indicating the degree of success of gripping the work model by each hand unit obtained by the picking operation simulation can be displayed in a comparable manner. The degree of success of gripping the workpiece model can be displayed, for example, by the ratio of the workpieces that have been successfully gripped to the total workpieces. The step of displaying each table shown in FIGS. 35 to 37 on the display unit 3 is a display step.
(Exposure time setting)
As shown in FIG. 3, the shape measuring apparatus 400 includes an exposure control unit 40 for changing the exposure time (shutter speed) of the cameras CME1, CME2, CME3, and CME4 stepwise. The exposure control unit 40 is configured to increase the exposure time at an equal ratio, but is not limited to this. In this embodiment, the exposure time is increased by 1.5 times, but this magnification can be arbitrarily set.

形状測定装置400は高さ画像データ生成部33を備えている。高さ画像データ生成部33は、露光制御部40が段階的に変化させた各露光時間においてカメラCME1、CME2、CME3、CME4から出力された受光量を得て、得られた受光量に基づいて、各画素値が測定対象物表面(ワークWKの表面)の各部位の高さを示す高さ画像データを生成するように構成されている。これは例えば位相シフト法等の手法によって生成することができる。
(画素判定部の構成)
形状測定装置400は画素判定部34を備えている。画素判定部34は、露光制御部40が段階的に変化させた各露光時間において受光部が受光した受光量を得て、得られた受光量に基づいて、高さ画像データ生成部33により生成される各高さ画像の各画素が有効か無効かを判定するように構成されている。プロジェクタPRJが周期的な照度分布を有するパターン光を照射するように構成されている場合、画素判定部34は、カメラCME1、CME2、CME3、CME4の撮像によって得られた各画素の光量のコントラストが閾値以上の画素を有効と判定するように構成されている。また、三次元形状を取得する方法として、光切断法を用いる場合には、各画素の光量が小さすぎるか、飽和している場合には、当該画素が無効であると判定し、その他の画素を有効と判定する。つまり、高さ画像を生成した際に高さを表示することができない画素(画面上で黒く潰れたようになってしまう画素や白く飛んでしまう画素)が無効であると判定し、一方、高さを表示することができる画素を有効と判定する。
The shape measuring apparatus 400 includes a height image data generation unit 33. The height image data generation unit 33 obtains the received light amount output from the cameras CME1, CME2, CME3, and CME4 at each exposure time changed in stages by the exposure control unit 40, and based on the obtained received light amount. Each pixel value is configured to generate height image data indicating the height of each part of the surface of the measurement object (the surface of the workpiece WK). This can be generated by a technique such as a phase shift method.
(Configuration of pixel determination unit)
The shape measuring apparatus 400 includes a pixel determining unit 34. The pixel determination unit 34 obtains the received light amount received by the light receiving unit during each exposure time changed in steps by the exposure control unit 40, and is generated by the height image data generation unit 33 based on the obtained received light amount. It is configured to determine whether each pixel of each height image is valid or invalid. When the projector PRJ is configured to emit pattern light having a periodic illuminance distribution, the pixel determination unit 34 has a contrast of the light amount of each pixel obtained by imaging with the cameras CME1, CME2, CME3, and CME4. A pixel that is equal to or greater than the threshold is determined to be valid. In addition, when using the light cutting method as a method for acquiring a three-dimensional shape, if the light amount of each pixel is too small or saturated, it is determined that the pixel is invalid, and other pixels Is determined to be valid. In other words, it is determined that pixels whose height cannot be displayed when a height image is generated (pixels that appear to be crushed black or pixels that fly white on the screen) are invalid. It is determined that a pixel that can display the size is valid.

画素判定部34は、カメラCME1、CME2、CME3、CME4による撮像範囲内に設定される注目領域内の各画素が有効か無効かを判定するように構成することができる。図39は、注目領域をユーザに設定させるための注目領域設定画面62を示している。注目領域設定画面62は、いわゆるユーザーインターフェースであり、表示制御部26で生成され、表示部3で表示される。図39の注目領域設定画面62内で表示されている画像60は、カメラCME1、CME2、CME3、CME4で撮像された範囲の高さ画像であり、この撮像範囲内には、収納容器BXとワークWKとが含まれている。収納容器BXはピッキング対象ではないので、その収納容器BXを構成している画素が有効か無効かを判定しても意味がない。図39では、注目領域設定画面62の高さ画像60の中に、注目領域設定用の枠線61を表示しており、この枠線61で囲まれた領域を注目領域としてユーザが設定することができる。枠線61は、操作部41の操作によって拡大、縮小、変形させることが可能であり、ユーザが任意の領域を注目領域として指定することが可能になっている。注目領域が設定されると、その領域内の各画素について有効か無効かを判定するので、不要な領域の画素が後述する露光時間の設定に用いられることが無くなり、露光時間を適切な時間に設定することが可能になる。   The pixel determination unit 34 can be configured to determine whether each pixel in the attention area set in the imaging range by the cameras CME1, CME2, CME3, and CME4 is valid or invalid. FIG. 39 shows an attention area setting screen 62 for allowing the user to set the attention area. The attention area setting screen 62 is a so-called user interface, which is generated by the display control unit 26 and displayed on the display unit 3. An image 60 displayed in the attention area setting screen 62 in FIG. 39 is a height image of a range imaged by the cameras CME1, CME2, CME3, and CME4, and the storage container BX and the work are included in the imaging range. WK is included. Since the storage container BX is not a picking target, it is meaningless to determine whether the pixels constituting the storage container BX are valid or invalid. In FIG. 39, a frame line 61 for setting the attention area is displayed in the height image 60 of the attention area setting screen 62, and the user sets the area surrounded by the frame line 61 as the attention area. Can do. The frame line 61 can be enlarged, reduced, or deformed by operating the operation unit 41, and the user can designate an arbitrary area as the attention area. When the attention area is set, it is determined whether each pixel in the area is valid or invalid, so that pixels in unnecessary areas are not used for setting the exposure time described later, and the exposure time is set to an appropriate time. It becomes possible to set.

図42、図43及び図44は注目領域設定画面の一形態を示しており、各図においても注目領域設定用の枠線61を白色で示している。枠線61の表示形態は各図に示す形態に限定されるものではない。また、注目領域外と注目領域内とで背景色を変える等の手法で注目領域を区別可能にすることもできる。
(露光時間設定部の構成)
形状測定装置400は露光時間設定部41を備えている。露光時間設定部41は、画素判定部34により有効と判定された画素の数が所定条件を満たしている高さ画像に対応する露光時間を設定値として設定する。設定値とは、ロボットシステム1000の実運用を行う際に用いる露光時間のことである。露光時間は手動操作によって調整することもできるが、手動操作の場合、ユーザは自分で設定した露光時間で得られた高さ画像を見ながら、最適な露光時間の範囲を探索していくプロセスが必要になる。また、最適な露光時間を絞り込むための探索を手作業で行う場合、属人性があるとともに再現性が悪く、様々なケースで適切な露光時間を得ることは難しい。さらに、高さ画像を構成する画素の場合は、見た目で有効画素であるか否かを判定するのは難しく、特に手作業で決定した露光時間が妥当な時間であるか否かを短時間で検証して判断することは困難である。よって、この実施形態では、適切な露光時間を自動で設定することができるようになっている。
42, 43, and 44 show one form of the attention area setting screen. In each figure, the attention area setting frame line 61 is shown in white. The display form of the frame line 61 is not limited to the form shown in each drawing. It is also possible to distinguish the attention area by changing the background color between the outside of the attention area and the inside of the attention area.
(Configuration of exposure time setting section)
The shape measuring apparatus 400 includes an exposure time setting unit 41. The exposure time setting unit 41 sets an exposure time corresponding to a height image in which the number of pixels determined to be valid by the pixel determination unit 34 satisfies a predetermined condition as a set value. The set value is an exposure time used when the robot system 1000 is actually operated. The exposure time can be adjusted manually, but in the case of manual operation, the process of searching for the optimal exposure time range while viewing the height image obtained by the user with the exposure time set by the user. I need it. In addition, when a search for narrowing down the optimal exposure time is performed manually, it is difficult to obtain an appropriate exposure time in various cases because of its personality and poor reproducibility. Furthermore, in the case of pixels constituting a height image, it is difficult to determine whether or not the pixel is an effective pixel, and it is particularly difficult to determine whether or not the exposure time determined manually is a reasonable time. It is difficult to verify and judge. Therefore, in this embodiment, an appropriate exposure time can be automatically set.

図40は、露光時間と有効画素数との関係を示すグラフを示しており、横軸が対数目盛で露光時間(ms)であり、縦軸が有効画素数(pixel)である。このグラフは、ある固定されたワークを、カメラCME1、CME2、CME3、CME4の露光時間を段階的に変えながら撮像して高さ画像を得て、その高さ画像に含まれる有効画素数を露光時間毎にプロットしたものである。有効画素数と露光時間との関係は、概ねこのグラフに示されるように、ある露光時間の範囲内では、露光時間が変化しても有効画素数は殆ど変化せず、その範囲外では、有効画素数が急激に少なくなる。このグラフの例では、露光時間が0.1ms〜6msの範囲内であれば有効画素数が多い高さ画像を得ることができるが、露光時間が0.1ms未満及び6msを超えると、有効画素数が極端に少ない高さ画像になってしまう。有効画素数が極端に少なくなると、図39の高さ画像において黒い部分が増えてしまうので三次元サーチの精度が低下してしまう。   FIG. 40 is a graph showing the relationship between the exposure time and the number of effective pixels, where the horizontal axis is a logarithmic scale and the exposure time (ms), and the vertical axis is the number of effective pixels (pixel). This graph captures a fixed workpiece while changing the exposure time of the cameras CME1, CME2, CME3, and CME4 in steps to obtain a height image, and exposes the number of effective pixels included in the height image. Plotted by time. The relationship between the number of effective pixels and exposure time is roughly shown in this graph. Within a certain exposure time range, even if the exposure time changes, the number of effective pixels hardly changes. The number of pixels decreases rapidly. In the example of this graph, a height image with a large number of effective pixels can be obtained if the exposure time is in the range of 0.1 ms to 6 ms. However, if the exposure time is less than 0.1 ms and exceeds 6 ms, the effective pixels The number of images becomes extremely small. When the number of effective pixels is extremely reduced, black portions increase in the height image of FIG. 39, and the accuracy of the three-dimensional search is reduced.

この実施形態では、図41に詳しく示すように、有効画素が最大値の95%となる露光時間を設定値として設定する。つまり、露光時間設定部41は、画素判定部34により有効と判定された画素の数が最も多くなる露光時間以下の所定時間を設定値として設定するように構成されている。その理由は、有効画素の数が最大値をとる露光時間は、図41に示すグラフの平坦に近い部分に存在することが多く、設定値として選択される露光時間が時間軸方向にぶれやすく、不安定になりやすいので、有効画素の数が最大値をとる露光時間ではなく、有効画素の数が最大値よりも若干少なくなる露光時間を設定値として設定する。この実施形態では、有効画素が最大値の95%となる露光時間を設定値として設定しているが、これに限られるものではなく、有効画素が最大値の90%以上99%以下の範囲となる露光時間を設定値することができる。   In this embodiment, as shown in detail in FIG. 41, an exposure time at which the effective pixel is 95% of the maximum value is set as a set value. That is, the exposure time setting unit 41 is configured to set, as a set value, a predetermined time that is equal to or less than the exposure time in which the number of pixels determined to be valid by the pixel determination unit 34 is the largest. The reason is that the exposure time at which the number of effective pixels takes the maximum value often exists in a portion near the flat portion of the graph shown in FIG. 41, and the exposure time selected as the setting value tends to fluctuate in the time axis direction. Since it is likely to become unstable, not the exposure time at which the number of effective pixels takes the maximum value, but the exposure time at which the number of effective pixels is slightly smaller than the maximum value is set as the set value. In this embodiment, the exposure time at which the effective pixel is 95% of the maximum value is set as the set value. However, the present invention is not limited to this, and the effective pixel has a range of 90% to 99% of the maximum value. The exposure time can be set as a set value.

この実施形態では、露光時間設定部41で自動的に設定された露光時間をユーザが調整可能に構成されている。図42は、露光時間設定用画面65であり、露光時間が推奨値にある場合を示している。露光時間設定用画面65には、高さ画像生成部33で生成された高さ画像表示領域65aと、露光時間と有効画素数との関係を示すグラフを表示するグラフ表示領域65bと、ユーザによる設定が可能な設定領域65cとが設けられている。   In this embodiment, the user can adjust the exposure time automatically set by the exposure time setting unit 41. FIG. 42 shows an exposure time setting screen 65 in which the exposure time is at the recommended value. On the exposure time setting screen 65, a height image display region 65a generated by the height image generation unit 33, a graph display region 65b for displaying a graph indicating the relationship between the exposure time and the number of effective pixels, and a user A setting area 65c that can be set is provided.

高さ画像生成部33での高さ画像の生成方法の一例について説明する。高さ画像とは、画像を構成する各画素値に、高さの値が格納されている画像である。典型的には、高さを輝度値で表現した画像である。高さ画像の生成方法については、Zバッファ法が好適に利用できる。   An example of a height image generation method in the height image generation unit 33 will be described. A height image is an image in which a height value is stored in each pixel value constituting the image. Typically, it is an image in which the height is expressed by a luminance value. As a method for generating a height image, the Z buffer method can be suitably used.

すなわち、ワークのCADデータであるワークモデルで構成された三次元のバラ積みデータに基づいて、陰影を消去するレンダリングによって二次元の高さ画像を描画する。レンダリング方法には、Zバッファ法、Zソート法、スキャンライン法、レイトレーシング法等が利用できる。ここではZバッファ法を用いて、複数のワークモデルを高さ画像に描画していく。Zバッファ法では、Zバッファ=高さ画像として実現される。また、Zバッファの初期化を、無限遠で行うのではなく、床面や箱の情報で最小に初期化する形を取る。Zバッファ法の過程で、画素毎にワークモデルの面の法線情報を保持した、法線画像も同時に作成する。ここではZバッファを上書きした画素について、法線データも更新する。なお、本明細書中では、高さ画像への変換方法としてZバッファ法を例示するが、本発明はZバッファ法に限定するものでなく、上述の通り、他の方法も適宜利用できる。このようにして三次元のばら積みデータから高さ画像に描画し直す。   That is, a two-dimensional height image is drawn by rendering that removes shadows based on three-dimensional bulk data composed of a work model, which is CAD data of a work. As a rendering method, a Z buffer method, a Z sort method, a scan line method, a ray tracing method, or the like can be used. Here, a plurality of work models are drawn on a height image using the Z buffer method. In the Z buffer method, it is realized as Z buffer = height image. In addition, the Z buffer is not initialized at infinity, but is initialized to the minimum with information on the floor and the box. In the process of the Z-buffer method, a normal image that holds normal information of the surface of the work model for each pixel is also created at the same time. Here, the normal line data is also updated for the pixel in which the Z buffer is overwritten. In the present specification, the Z buffer method is exemplified as a conversion method to a height image, but the present invention is not limited to the Z buffer method, and other methods can be appropriately used as described above. In this way, the height image is redrawn from the three-dimensional bulk data.

グラフ表示領域65bに表示されるグラフは、表示制御部26で生成することができ、図40や図41に示すグラフと同じものである。このグラフの横軸、即ち露光時間軸は対数(等比)表示されているが、この表示形態に限られるものはなく、任意の表示にすることができる。   The graph displayed in the graph display area 65b can be generated by the display control unit 26 and is the same as the graph shown in FIG. 40 or FIG. The horizontal axis of this graph, that is, the exposure time axis, is displayed logarithmically (equal ratio), but is not limited to this display form and can be arbitrarily displayed.

設定領域65cには、調整しきい値(%)を設定するしきい値設定部65dと、露光時間の調整範囲を設定する範囲設定部65e、比率設定部65fと、露光時間の設定値(推奨値)を表示する露光時間表示領域65gとが設けられている。   In the setting area 65c, a threshold value setting unit 65d for setting an adjustment threshold value (%), a range setting unit 65e for setting an adjustment range for exposure time, a ratio setting unit 65f, and a set value for exposure time (recommended) And an exposure time display area 65g for displaying (value).

しきい値設定部65dは、有効画素が最大値の何%の画素数となる露光時間を設定値とするか、その値を百分率で設定するための部分である。1%刻みで設定することができる。範囲設定部65eは、露光時間の調整範囲の最大値(最大露光時間)と最小値(最小露光時間)とを別々に設定することができるようになっている。比率設定部65fは、露光時間を等比増加させる際の比率を設定する部分である。   The threshold value setting unit 65d is a part for setting the exposure time at which the effective pixel is the number of pixels of the maximum value as a set value or setting the value as a percentage. Can be set in 1% increments. The range setting unit 65e can set the maximum value (maximum exposure time) and the minimum value (minimum exposure time) of the exposure time adjustment range separately. The ratio setting unit 65f is a part for setting a ratio for increasing the exposure time by an equal ratio.

露光時間の設定値は、グラフ表示領域65bに表示されるグラフにおいて白い縦線65hで表示することができる。また、しきい値設定部65dで設定された値を有効画素の最大値に乗じた値は、グラフ表示領域65bに表示されるグラフにおいて白い横線65iで表示することができる。   The set value of the exposure time can be displayed as a white vertical line 65h in the graph displayed in the graph display area 65b. In addition, a value obtained by multiplying the value set by the threshold setting unit 65d by the maximum value of the effective pixel can be displayed as a white horizontal line 65i in the graph displayed in the graph display area 65b.

露光時間表示領域65gに表示されている露光時間をユーザが操作部4の操作によって入力することで露光時間を調整することができる。図43では露光時間が推奨値よりも短い場合を示しており、また、図44では露光時間が推奨値よりも長い場合を示している。図43及び図44に示すように、ユーザが露光時間を設定値から外れた時間に変更した場合には、変更後の露光時間で撮像した高さ画像を高さ画像表示領域65aに表示することができる。図43及び図43に示す高さ画像は、図42に示す露光時間が推奨値にある場合の高さ画像に比べて黒く潰れた部分が広くなっており、露光時間が不適であることが分かる。   The exposure time can be adjusted by the user inputting the exposure time displayed in the exposure time display area 65g by operating the operation unit 4. FIG. 43 shows a case where the exposure time is shorter than the recommended value, and FIG. 44 shows a case where the exposure time is longer than the recommended value. As shown in FIGS. 43 and 44, when the user changes the exposure time to a time deviating from the set value, the height image captured at the changed exposure time is displayed in the height image display area 65a. Can do. The height images shown in FIG. 43 and FIG. 43 are wider than the height image in the case where the exposure time shown in FIG. 42 is at the recommended value, and the exposure time is inappropriate. .

また、図42に示す露光時間で撮像した高さ画像と、図43や図44に示す露光時間で撮像した高さ画像とを同時に表示部3に表示させるようにしてもよい。すなわち、第1の露光時間に対応する高さ画像と、第1の露光時間とは異なる第2の露光時間に対応する高さ画像とを同時に表示可能にするように表示制御部26を構成することができる。   Further, the height image captured during the exposure time shown in FIG. 42 and the height image captured during the exposure time shown in FIGS. 43 and 44 may be displayed on the display unit 3 at the same time. That is, the display control unit 26 is configured so that a height image corresponding to the first exposure time and a height image corresponding to a second exposure time different from the first exposure time can be displayed simultaneously. be able to.

露光時間の設定は実運用を開始する前に行うのが望ましいが、実運用の開始後に露光時間を調整する目的で行うこともできる。
(三次元計測部)
三次元計測部30は、画像処理装置300に設けることができる。三次元計測部30は、実運用時に複数のワークが積み上げられた作業空間を三次元計測し、その計測データを出力するように構成されている。センサ部2は三次元計測部30の一構成要素とすることができる。計測手法は上述したとおりであり、特に限定されるものではない。三次元計測部30をセンサ部2に設けて一体化することもできる。
(サーチ処理部)
サーチ処理部24は、上述したピッキング動作シミュレーションで使用されているが、実運用時でも使用することができる。サーチ処理部24をピッキング動作シミュレーションで使用したものとは別に構成することもできる。
Although it is desirable to set the exposure time before starting the actual operation, the exposure time can also be set for the purpose of adjusting the exposure time after the start of the actual operation.
(3D measurement unit)
The three-dimensional measuring unit 30 can be provided in the image processing apparatus 300. The three-dimensional measuring unit 30 is configured to three-dimensionally measure a work space in which a plurality of workpieces are stacked during actual operation and output the measurement data. The sensor unit 2 can be a component of the three-dimensional measurement unit 30. The measurement method is as described above, and is not particularly limited. The three-dimensional measuring unit 30 may be provided in the sensor unit 2 and integrated.
(Search processing part)
The search processing unit 24 is used in the above-described picking operation simulation, but can be used even during actual operation. The search processing unit 24 can be configured separately from that used in the picking operation simulation.

すなわち、サーチ処理部24は、サーチモデル登録部27に登録された複数のサーチモデルを用いて、三次元計測部30から出力された計測データの中に含まれる複数のワークの位置及び姿勢を検出するサーチ処理を行う。サーチ処理を行う際には、三次元計測部30から出力された計測データに基づいて高さ画像生成部33によって高さ画像を生成し、この高さ画像中にサーチモデル登録部27で登録されたサーチモデルが存在するか否かをサーチする。この手法はピッキング動作シミュレーションで行った手法と同じにすることができる。   That is, the search processing unit 24 uses the plurality of search models registered in the search model registration unit 27 to detect the positions and orientations of the plurality of workpieces included in the measurement data output from the three-dimensional measurement unit 30. Perform search processing. When performing the search process, a height image is generated by the height image generation unit 33 based on the measurement data output from the three-dimensional measurement unit 30, and is registered in the height image by the search model registration unit 27. Search whether there is a new search model. This method can be the same as the method performed in the picking motion simulation.

また、サーチ処理部24は、サーチモデルの形状を表す複数の特徴点を用いて、三次元計測部30から出力された計測データの中に含まれる複数のワークの位置及び姿勢を検出することができる。すなわち、三次元計測部30から出力された計測データに基づいて高さ画像を生成し、この高さ画像の中で、サーチモデルの形状を表す複数の特徴点と一致する形状をサーチする。   Further, the search processing unit 24 can detect the positions and orientations of a plurality of workpieces included in the measurement data output from the three-dimensional measurement unit 30 using a plurality of feature points representing the shape of the search model. it can. That is, a height image is generated based on the measurement data output from the three-dimensional measurement unit 30, and a shape that matches a plurality of feature points representing the shape of the search model is searched in the height image.

また、サーチ処理部24は、サーチモデル登録部27に登録されている関連付けられた高さ画像データを用いて、三次元計測部30から出力された計測データの中に含まれる複数のワークの位置及び姿勢を検出するように構成することができる。
(干渉判定部)
干渉判定部31は、画像処理装置300に設けることができる。干渉判定部31は、サーチ処理部24でサーチ処理に成功したサーチモデルに対応付けられたワーク表面に設定された把持候補位置をロボットRBTが周囲の物体と干渉することなく把持が可能か判定する。この干渉判定部31による判定手法は、ピッキング動作シミュレーションで行った手法と同じにすることができる。
In addition, the search processing unit 24 uses the associated height image data registered in the search model registration unit 27, and positions of a plurality of workpieces included in the measurement data output from the three-dimensional measurement unit 30. And a posture can be detected.
(Interference judgment unit)
The interference determination unit 31 can be provided in the image processing apparatus 300. The interference determination unit 31 determines whether or not the gripping candidate position set on the workpiece surface associated with the search model that has been successfully searched by the search processing unit 24 can be gripped without the robot RBT interfering with surrounding objects. . The determination method by the interference determination unit 31 can be the same as the method performed in the picking operation simulation.

干渉判定部31は、三次元計測部30で計測できていないワーク表面を、既にサーチに成功しているサーチモデルに基づいて推定するように構成されている。図45Aは、三次元計測部30で得られた計測データに基づいて生成した高さ画像を、やや斜め方向から三次元表示した点群と、サーチ結果の位置にサーチモデルの特徴点を重畳表示した図であり、鉛直に近い面等は計測データから欠損していて、奥の底面が抜けて見えたり、黒く潰れた部分が多くなっている。高さ画像の中の黒く潰れた部分は、カメラCMEの死角やプロジェクタPRJの投光から死角となる箇所であったり、光沢の強い金属製ワーク等であったり、周囲の物体との多重反射によりデータが不正となった部分である。このように高さ画像の中の黒く潰れた部分が多くなると、三次元サーチが十分に行えなくなったり、実際には干渉するのに干渉していないと誤って判断されてしまうという問題がある。   The interference determination unit 31 is configured to estimate a workpiece surface that cannot be measured by the three-dimensional measurement unit 30 based on a search model that has already been successfully searched. FIG. 45A shows a point group in which a height image generated based on the measurement data obtained by the three-dimensional measuring unit 30 is displayed in a three-dimensional manner from a slightly oblique direction and a feature point of the search model superimposed on the position of the search result. In this figure, a surface that is nearly vertical is missing from the measurement data, and the bottom of the back is visible, or there are many blackened portions. The black-crushed part in the height image is a blind spot due to the blind spot of the camera CME or the projection of the projector PRJ, a highly glossy metal workpiece, or the like due to multiple reflections with surrounding objects. The data is invalid. If there are many black-crushed portions in the height image in this way, there is a problem that the three-dimensional search cannot be performed sufficiently, or it is erroneously determined that there is no interference even though it actually interferes.

一方、図45Bは、図45Aに加え、三次元計測部30で計測できていないワーク表面を他の面との関連性を利用して推定し、推定した別の面のサーチモデルの特徴点も含めて重畳表示した図を示している。すなわち、サーチモデル登録部27では、ワークモデルを異なる方向から見た複数の高さ画像データをサーチモデルとして登録し、それらの関係性情報を持った状態で各高さ画像を保存しているので、例えば実運用の際にワークを上から見たサーチモデルのサーチに成功すれば、左から見たサーチモデルを、上から見たサーチモデルのどこにどのように配置すればワークの形状になるかが分かっており、これを利用して計測データの欠損した部分を補っていくことができる。従って、図45Bでは図45Aに比べて鉛直に近い面等、三次元計測できてない部分を、サーチモデルの特徴点で補完した状態になっている。物理シミュレーションにおける干渉判定の説明の中で記載した、三次元点群に対する干渉判定に加えて、サーチ結果に基づいて推定した、他の面も含めたサーチモデルの特徴点に対する干渉判定も合わせて行うことで、三次元計測できてない部分も考慮した干渉判定を実現できる。
(把持位置決定部)
把持位置決定部32は、画像処理装置300に設けることができる。把持位置決定部32は、干渉判定部31により周囲の物体と干渉することなく把持が可能と判定された把持候補位置を実際の把持位置として決定するように構成されている。
45B, on the other hand, in addition to FIG. 45A, the workpiece surface that cannot be measured by the three-dimensional measuring unit 30 is estimated using the relevance with other surfaces, and the feature points of the estimated search model of another surface are also shown. The figure superimposed and displayed is shown. That is, in the search model registration unit 27, a plurality of height image data obtained by viewing the work model from different directions are registered as search models, and each height image is stored in a state having the relationship information thereof. For example, if the search model that saw the work from above is successfully searched in actual operation, the search model viewed from the left and the search model viewed from above should be arranged where and how the work will be shaped Can be used to compensate for missing portions of measurement data. Therefore, in FIG. 45B, a portion that cannot be three-dimensionally measured, such as a surface that is nearer vertical than that in FIG. 45A, is complemented with the feature points of the search model. In addition to the interference determination for the three-dimensional point group described in the explanation of the interference determination in the physical simulation, the interference determination for the feature points of the search model including other surfaces estimated based on the search result is also performed. In this way, it is possible to realize interference determination that also considers a portion that cannot be measured in three dimensions.
(Gripping position determination unit)
The grip position determination unit 32 can be provided in the image processing apparatus 300. The gripping position determination unit 32 is configured to determine a gripping candidate position determined by the interference determination unit 31 as capable of gripping without interfering with surrounding objects as an actual gripping position.

(実運用時の手順)
次に、実運用時の手順について図38に示すフローチャートに基づいて説明する。開始後のステップSH1では、図1に示すようにセンサ部2を用いて収納容器BXにばら積みされているワークWKを三次元計測する。このステップSH1では、三次元計測部30から出力された計測データに基づいて高さ画像生成部33で高さ画像を生成しておく。
(Procedure for actual operation)
Next, the procedure during actual operation will be described based on the flowchart shown in FIG. In step SH1 after the start, as shown in FIG. 1, the sensor W2 is used to three-dimensionally measure the workpiece WK stacked in the storage container BX. In step SH <b> 1, a height image is generated by the height image generation unit 33 based on the measurement data output from the three-dimensional measurement unit 30.

その後、ステップSH2ではステップSH1で生成した高さ画像に対して上述した三次元サーチを実施し、ワークの位置及び姿勢を検出する。続くステップSH3では、ワークモデルの位置と、登録してあるワークモデルの把持姿勢とに基づいて、ハンド部を配置すべき位置と姿勢を計算する。   Thereafter, in step SH2, the above-described three-dimensional search is performed on the height image generated in step SH1, and the position and posture of the workpiece are detected. In the subsequent step SH3, the position and posture where the hand unit should be arranged are calculated based on the position of the work model and the gripping posture of the registered work model.

ステップSH4では、計算された位置において、ハンド部が周囲の物体と干渉しないかどうかを、図18のハンドモデル登録手順フローチャートで登録した断面モデルを利用して判定する。具体的には、高さ画像の各1点1点のpixelデータが示す三次元点群と、ハンド部形状入力部35で予め入力されているハンドモデルとが干渉するか否かを、ハンドの断面モデルを用いて判定する。ステップSH5でNOと判定されてハンド部が周囲の物体と干渉していない場合には、把持解有りとして終了する。この把持解がロボットコントローラ6に送信され、ロボットコントローラ6がアーム部ARM及びハンド部を制御してワークWKをピックして搬送する。   In step SH4, it is determined using the cross-sectional model registered in the hand model registration procedure flowchart of FIG. 18 whether or not the hand unit does not interfere with surrounding objects at the calculated position. Specifically, whether or not the 3D point group indicated by the pixel data of each point of the height image interferes with the hand model input in advance by the hand unit shape input unit 35 is determined. Judgment is made using a cross-sectional model. If it is determined as NO in step SH5 and the hand unit does not interfere with surrounding objects, the process is terminated as having a gripping solution. This gripping solution is transmitted to the robot controller 6, and the robot controller 6 controls the arm part ARM and the hand part to pick and convey the work WK.

ステップSH5でYESと判定されてハンド部が周囲の物体と干渉している場合には、ステップSH6に進み、登録されている別の把持候補位置があるか否かを判定する。ステップSH6でYESと判定されて別の把持候補位置がある場合には、ステップSH3に戻る。ステップSH6でNOと判定されて別の把持候補位置がない場合には、ステップSH7に進む。ステップSH7では、ステップSH2で検出したワークが他にもあるか否かを判定する。ステップSH7でYESと判定されて別のワークがある場合には、ステップSH3に戻る。ステップSH7でNOと判定されて別のワークがない場合には把持解無しとして終了する。このように三次元サーチで複数のワークが検出された場合、検出されたワークを1つずつ把持可能か否かを判定していく。   If it is determined as YES in step SH5 and the hand unit interferes with surrounding objects, the process proceeds to step SH6, and it is determined whether there is another registered gripping candidate position. If YES in step SH6 and there is another gripping candidate position, the process returns to step SH3. If it is determined as NO in step SH6 and there is no other gripping candidate position, the process proceeds to step SH7. In step SH7, it is determined whether there are other workpieces detected in step SH2. If it is determined as YES in step SH7 and there is another workpiece, the process returns to step SH3. If it is determined NO in step SH7 and there is no other workpiece, the process ends with no gripping solution. As described above, when a plurality of workpieces are detected by the three-dimensional search, it is determined whether or not the detected workpieces can be gripped one by one.

図46に示すフローチャートは、運用時の別の手順1を示しており、図46に示すフローチャートのステップSI1〜SI5までは図38に示すフローチャートのステップSH1〜SH5と同じである。図46に示すフローチャートのステップSI6では、ステップSI3で計算した結果と同じ位置及び姿勢でハンド部が他の検出されたワークと干渉しないかどうか判定する。具体的には、各サーチ結果の位置姿勢から定まるサーチモデルの特徴点群と、ハンド部形状入力部35で予め入力されているハンドモデルとが干渉するか否かを、ハンドの断面モデルを用いて判定する。さらに、面の関係性を用いて、各サーチ結果から推定される別の面のサーチモデルの特徴点群に対しても、同様に干渉するか否かを判定する。   The flowchart shown in FIG. 46 shows another procedure 1 during operation. Steps SI1 to SI5 in the flowchart shown in FIG. 46 are the same as steps SH1 to SH5 in the flowchart shown in FIG. In step SI6 of the flowchart shown in FIG. 46, it is determined whether or not the hand unit does not interfere with other detected workpieces at the same position and posture as the result calculated in step SI3. Specifically, the cross-sectional model of the hand is used to determine whether or not the feature points of the search model determined from the position and orientation of each search result interfere with the hand model input in advance by the hand unit shape input unit 35. Judgment. Further, using the relationship between the surfaces, it is determined whether or not interference is similarly caused with a feature point group of a search model of another surface estimated from each search result.

ステップSI7でNOと判定されれば、把持解有りとして終了する。一方、ステップSI7でYESと判定されれば、ステップSI8に進む。ステップSI8及びステップSI9は、それぞれ、図38に示すフローチャートのステップSH6及びステップSH7と同じである。   If it is determined NO in step SI7, it is determined that there is a gripping solution. On the other hand, if YES is determined in step SI7, the process proceeds to step SI8. Step SI8 and step SI9 are the same as step SH6 and step SH7 of the flowchart shown in FIG.

図47Aは、面の関連性を利用せずに、実際に三次元計測を行って得られた、三次元点群に対してのみ干渉判定を行った場合であり、把持対象のワークWKAの右に近接しているワークWKBの側面の形状が計測データで欠損していることが分かる。一方、図47Bは、面の関連性を利用して、他のワークのサーチ結果の特徴点や、推定される別の面のサーチモデルにおける特徴点に対しても干渉判定させた場合であり、ワークWKBが上から見たサーチモデルのサーチに成功していて、その上から見たサーチモデルとの関連性を用いてワークWKBの側面の形状を推定しているので、ワークWKBの側面にも特徴点が表示されている。このように面の関連性を利用することで、計測データで欠損している部分を推定して補うことができる。   FIG. 47A shows a case where interference determination is performed only on a three-dimensional point group obtained by actually performing three-dimensional measurement without using the relevance of the surface, and the right side of the workpiece WKA to be grasped. It can be seen that the shape of the side surface of the workpiece WKB that is close to is missing in the measurement data. On the other hand, FIG. 47B shows a case where interference is determined for a feature point of a search result of another workpiece or a feature point in a search model of another surface to be estimated using the relevance of the surface. Since the work WKB has succeeded in searching the search model viewed from above, and the shape of the side surface of the work WKB is estimated using the relationship with the search model viewed from above, the side of the work WKB is also Feature points are displayed. Thus, by utilizing the relevance of the surface, it is possible to estimate and compensate for the missing portion in the measurement data.

図47Aの場合、ワークWKBの側面の形状が欠損しているので、把持対象のワークWKAをハンド部で把持しようとした際に、実際にはワークWKBの側面にハンド部の先端が干渉してしまうのに、干渉しないと誤判定してしまう。これに対し、図47Bの場合、高さ画像の各1点1点のpixelデータが示す三次元点群に対する干渉判定以外に、ワークWKBの側面の形状を面の関係性情報に基づいて推定し、推定したサーチモデルの特徴点も含めて干渉判定をしているので、把持対象のワークWKAをハンド部で把持しようとした際にワークWKBの側面にハンド部の先端が干渉すると判定され、正しい判定結果を得ることができる。   In the case of FIG. 47A, the shape of the side surface of the workpiece WKB is missing. Therefore, when trying to grip the workpiece WKA to be gripped by the hand portion, the tip of the hand portion actually interferes with the side surface of the workpiece WKB. However, it is erroneously determined that there is no interference. On the other hand, in the case of FIG. 47B, the shape of the side surface of the work WKB is estimated based on the relationship information of the surface, in addition to the interference determination with respect to the three-dimensional point group indicated by the pixel data of each point of the height image. Since the interference determination is performed including the estimated feature points of the search model, it is determined that the tip of the hand part interferes with the side surface of the work WKB when trying to grip the work WKA to be gripped by the hand part. A determination result can be obtained.

また、図48に示すように、ワークとハンド部との干渉については把持候補位置毎に判定することができる。干渉の原因については、図48に示す画面上に、例えば特徴点とハンド部が干渉する場合には「点群干渉」と表示され、ハンド部の傾斜角度が規定範囲外になってしまう場合には「傾斜角度」と表示される。   As shown in FIG. 48, the interference between the workpiece and the hand unit can be determined for each gripping candidate position. As for the cause of the interference, on the screen shown in FIG. 48, for example, when the feature point and the hand part interfere with each other, “point cloud interference” is displayed, and the inclination angle of the hand part falls outside the specified range. Is displayed as “inclination angle”.

また、図49に示すように、立方体形状のワークがばら積みされている場合には、ワークの六面全ての形状が同じであるので、一面のみサーチモデルとして登録し、その一面を真上から把持する把持姿勢を1つだけ登録する。これにより、六面全ての面に対するサーチならびに把持が可能になる。
(実施形態の作用効果)
この実施形態によれば、物理シミュレーション時にはデータ容量が圧縮された複数のワークモデルを用い、ピッキング動作シミュレーション時には、物理シミュレーションにより生成されたばら積み状態のデータの中の各ワークモデルの位置及び姿勢にしたがって、データ容量の大きなワークモデルを配置したサーチ処理用データを使用するようにしたので、物理シミュレーションに要する時間を短縮しながら、再現性の高いばら積みピッキングシミュレーションを実行することができる。
Also, as shown in FIG. 49, when cube-shaped workpieces are stacked in bulk, the shape of all six surfaces of the workpiece is the same, so only one surface is registered as a search model and that surface is gripped from directly above. Only one gripping posture to be registered is registered. As a result, searching and gripping can be performed on all six surfaces.
(Effect of embodiment)
According to this embodiment, a plurality of work models with compressed data capacities are used during physical simulation, and according to the position and orientation of each work model in the bulk data generated by physical simulation during picking motion simulation. Since the search processing data in which the work model having a large data capacity is arranged is used, it is possible to execute the bulk picking simulation with high reproducibility while reducing the time required for the physical simulation.

また、複数のサーチモデルを登録するとともに、各サーチモデルについて複数の把持候補位置を当該サーチモデルに対応付けて設定することが可能になる。登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行し、サーチに成功したワークモデルに対応付けられた複数の把持候補位置のそれぞれについて、ロボットによる把持が可能である場合には、その把持候補位置をロボットにより把持するピッキング動作をシミュレーションする。このシミュレーションを繰り返して把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示することができる。よって、ワークの取り出し成功率向上への寄与率が低い把持位置を他の把持位置と容易に比較でき、客観的なデータに基づいて把持位置を取捨選択することができる。   Further, it is possible to register a plurality of search models and set a plurality of gripping candidate positions in association with the search models for each search model. A search process that detects the position and orientation of the work model is executed using the registered search model, and the robot can grip each of a plurality of gripping candidate positions associated with the work model that has been successfully searched. In some cases, a picking operation for gripping the gripping candidate position by the robot is simulated. Information indicating the use frequency of each search model and / or each gripping candidate position when the gripping is successful by repeating this simulation can be displayed in a comparable manner. Therefore, it is possible to easily compare a gripping position with a low contribution rate to the workpiece removal success rate with other gripping positions, and to select a gripping position based on objective data.

また、ロボットRBTのハンド部の形状をハンド部形状入力部35によって複数入力し、入力された各ハンド部を用いてピッキング動作シミュレーションを実行し、各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示することができるので、ワークの取り出し成功率向上への寄与率が低いハンド部の形状を他のハンド部の形状と容易に比較でき、客観的なデータに基づいてハンド部を取捨選択することができる。   Also, a plurality of hand part shapes of the robot RBT are input by the hand part shape input part 35, and a picking operation simulation is executed using each of the input hand parts to indicate the degree of success of gripping the work model by each hand part. Since information can be displayed in a comparable manner, the shape of the hand part, which has a low contribution rate to improving the success rate of workpiece removal, can be easily compared with the shape of other hand parts. Can be selected.

また、三次元計測部30で計測できていないワーク表面を、既にサーチに成功しているサーチモデルに基づいて推定し、推定されたワーク表面も含めてロボットRBTが周囲の物体と干渉することなく把持が可能か判定する。これにより、高さデータが欠損している部分のワークの形状を、高さデータが存在している部分を利用して推定することができるので、高さデータの一部に欠損があっても周囲の物体とロボットRBTとの干渉の有無を精度良く判定できる。   Further, the workpiece surface that cannot be measured by the three-dimensional measuring unit 30 is estimated based on a search model that has already been successfully searched, and the robot RBT including the estimated workpiece surface does not interfere with surrounding objects. Determine whether gripping is possible. This makes it possible to estimate the shape of the workpiece where the height data is missing, using the part where the height data exists, so even if there is a missing piece in the height data The presence or absence of interference between surrounding objects and the robot RBT can be accurately determined.

また、露光時間を設定する場合に、露光制御部40が段階的に変化させた各露光時間において受光量を得ることができる。各露光時間の受光量に基づいて、高さ画像データを生成する各画素が有効か無効か判定される。有効と判定された画素の数が所定条件を満たす高さ画像に対応する露光時間を自動的に設定値するので、露光時間を手動操作によって調整することなく、有効画素数の多い高さ画像データを得ることができる。これにより、属人性が無くなって再現性が高くなり、しかも、様々なケースで適切な露光時間を得ることができる。   Further, when setting the exposure time, the amount of received light can be obtained at each exposure time changed in stages by the exposure control unit 40. Based on the amount of light received during each exposure time, it is determined whether each pixel that generates height image data is valid or invalid. Since the exposure time corresponding to a height image in which the number of pixels judged to be valid satisfies a predetermined condition is automatically set, height image data with a large number of effective pixels can be obtained without adjusting the exposure time manually. Can be obtained. Thereby, the personality is lost, the reproducibility is improved, and an appropriate exposure time can be obtained in various cases.

上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。   The above-described embodiment is merely an example in all respects and should not be interpreted in a limited manner. Further, all modifications and changes belonging to the equivalent scope of the claims are within the scope of the present invention.

以上説明したように、本発明は、例えばばら積みされているワークをピックするロボットシステムに適用することができる。   As described above, the present invention can be applied to, for example, a robot system that picks workpieces stacked in bulk.

2 センサ部
3 表示部
4 操作部
6 ロボットコントローラ
7 ロボット操作具
20 ワークモデル設定部
21 データ容量圧縮部
22 物理シミュレーション部
23 ばら積みデータ生成部
24 サーチ処理部
25 ピッキング動作シミュレーション部
26 表示制御部
27 サーチモデル登録部
28 把持位置設定部
30 三次元計測部
31 干渉判定部
32 把持位置決定部
33 高さ画像生成部
34 画素判定部
35 ハンド形状入力部
40 露光制御部
41 露光時間設定部
42 記憶部
100 ロボット設定装置
200 ロボットシミュレーション装置
300 画像処理装置
400 形状測定装置
1000 ロボットシステム
BX 収納容器
CME1〜4 カメラ(受光部)
PRJ プロジェクタ(投光部)
RBT ロボット
WK ワーク
2 Sensor unit 3 Display unit 4 Operation unit 6 Robot controller 7 Robot operation tool 20 Work model setting unit 21 Data capacity compression unit 22 Physical simulation unit 23 Bulk data generation unit 24 Search processing unit 25 Picking motion simulation unit 26 Display control unit 27 Search Model registration unit 28 Gripping position setting unit 30 Three-dimensional measurement unit 31 Interference determination unit 32 Gripping position determination unit 33 Height image generation unit 34 Pixel determination unit 35 Hand shape input unit 40 Exposure control unit 41 Exposure time setting unit 42 Storage unit 100 Robot setting device 200 Robot simulation device 300 Image processing device 400 Shape measuring device 1000 Robot system BX Storage container CME1-4 Camera (light receiving unit)
PRJ projector (projecting part)
RBT Robot WK Work

Claims (7)

作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、
ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、
上記ワークモデル設定部で設定された複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成部と、
上記ばら積みデータ生成部により生成されたばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するためのサーチモデル登録部と、
上記ロボットにより把持される複数の把持候補位置を、上記サーチモデル登録部により登録された各サーチモデルに対応付けて設定可能な把持位置設定部と、
上記ばら積みデータ生成部により生成されたばら積みデータから、上記サーチモデル登録部により登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理部と、
上記サーチ処理部によりサーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットによる把持が可能か否かを判定し、把持が可能と判定された把持候補位置をロボットにより把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーション部と、
上記ピッキング動作シミュレーションで把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示する表示制御部とを備えていることを特徴とするロボットシミュレーション装置。
A robot simulation device for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot,
A work model setting unit for setting a work model obtained by modeling the three-dimensional shape of the work;
A bulk data generation unit for generating data in a bulk state in which a plurality of work models set in the work model setting unit are stacked in a virtual work space;
A search model registration unit for registering a plurality of search models used for search processing for detecting the position and orientation of a work model for the bulk data generated by the bulk data generation unit,
A gripping position setting unit capable of setting a plurality of gripping candidate positions gripped by the robot in association with each search model registered by the search model registration unit;
A search processing unit that executes a search process for detecting the position and orientation of the work model using the search model registered by the search model registration unit from the bulk data generated by the bulk data generation unit;
For each of the gripping candidate positions associated with the work model that has been successfully searched by the search processing unit, it is determined whether or not gripping by the robot is possible, and the gripping candidate positions determined to be gripping are gripped by the robot. A picking motion simulation unit that repeatedly executes a picking motion simulation;
A robot simulation apparatus, comprising: a display control unit that displays information indicating the use frequency of each search model and / or each gripping candidate position when gripping is successful in the picking motion simulation.
作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、
ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、
上記ワークモデル設定部で設定された複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成部と、
上記ばら積みデータ生成部により生成されたばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するためのサーチモデル登録部と、
上記ロボットのハンド部の形状を複数入力可能なハンド部形状入力部と、
上記ばら積みデータ生成部により生成されたばら積みデータから、上記サーチモデル登録部により登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理部と、
上記サーチ処理部によりサーチに成功したワークモデルを上記ハンド部形状入力部で入力されたハンド部により把持するピッキング動作シミュレーションを、各ハンド部を用いて繰り返し実行するピッキング動作シミュレーション部と、
上記ピッキング動作シミュレーションで得られた各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示する表示制御部とを備えていることを特徴とするロボットシミュレーション装置。
A robot simulation device for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot,
A work model setting unit for setting a work model obtained by modeling the three-dimensional shape of the work;
A bulk data generation unit for generating data in a bulk state in which a plurality of work models set in the work model setting unit are stacked in a virtual work space;
A search model registration unit for registering a plurality of search models used for search processing for detecting the position and orientation of a work model for the bulk data generated by the bulk data generation unit,
A hand part shape input unit capable of inputting a plurality of shapes of the robot hand part;
A search processing unit that executes a search process for detecting the position and orientation of the work model using the search model registered by the search model registration unit from the bulk data generated by the bulk data generation unit;
A picking operation simulation unit that repeatedly executes a picking operation simulation by using the hand unit input by the hand unit shape input unit by using the hand unit shape input unit, and a hand model that has been successfully searched by the search processing unit;
A robot simulation apparatus comprising: a display control unit configured to display, in a comparable manner, information indicating a degree of success of gripping a work model by each hand unit obtained by the picking operation simulation.
請求項1または2に記載のロボットシミュレーション装置において、
上記ばら積みデータ生成部は、複数のワークモデルを用いて、ワークが重力の作用を受けて上記作業空間に配置される動作をシミュレーションする物理シミュレーションを実行するように構成され、上記ピッキング動作シミュレーション部によるピッキング動作シミュレーションが終了する都度、上記物理シミュレーションを新たに実行してデータを更新することを特徴とするロボットシミュレーション装置。
The robot simulation apparatus according to claim 1 or 2,
The bulk data generation unit is configured to execute a physical simulation for simulating an operation in which a workpiece is placed in the work space under the action of gravity using a plurality of workpiece models, and the picking operation simulation unit A robot simulation apparatus characterized in that each time a picking motion simulation is completed, the physical simulation is newly executed to update data.
請求項1に記載のロボットシミュレーション装置において、
上記表示制御部は、把持に使用されなかった各サーチモデル及び/または各把持候補位置を表示可能に構成されていることを特徴とするロボットシミュレーション装置。
The robot simulation apparatus according to claim 1,
The robot controller according to claim 1, wherein the display control unit is configured to display each search model and / or each gripping candidate position that is not used for gripping.
請求項2に記載のロボットシミュレーション装置において、
上記ピッキング動作シミュレーション部は、各ハンド部による把持が行えなくなるまでピッキング動作シミュレーションを継続するように構成され、
上記表示制御部は、上記ピッキング動作シミュレーション部によるピッキング動作シミュレーション終了時に残っているワークモデルの数をハンド部毎に表示可能に構成されていることを特徴とするロボットシミュレーション装置。
The robot simulation apparatus according to claim 2,
The picking motion simulation unit is configured to continue the picking motion simulation until it cannot be gripped by each hand unit,
The robot control apparatus according to claim 1, wherein the display control unit is configured to be able to display the number of work models remaining at the end of the picking motion simulation by the picking motion simulation unit for each hand unit.
作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、
ワークの三次元形状をモデル化したワークモデルを設定するワークモデル設定ステップと、
上記ワークモデル設定ステップで設定した複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成ステップと、
上記ばら積みデータ生成ステップで生成したばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するサーチモデル登録ステップと、
上記ロボットにより把持される複数の把持候補位置を、上記サーチモデル登録ステップで登録した各サーチモデルに対応付けて設定する把持位置設定ステップと、
上記ばら積みデータ生成ステップで生成したばら積みデータから、上記サーチモデル登録ステップで登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理ステップと、
上記サーチ処理ステップでサーチに成功したワークモデルに対応付けられた把持候補位置のそれぞれについて、ロボットによる把持が可能か否かを判定し、把持が可能と判定された把持候補位置をロボットにより把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーションステップと、
上記ピッキング動作シミュレーションで把持に成功したときの各サーチモデル及び/または各把持候補位置の使用頻度を示す情報を比較可能に表示する表示ステップとを備えていることを特徴とするロボットシミュレーション方法。
A robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot,
A work model setting step for setting a work model obtained by modeling the three-dimensional shape of the work;
A bulk data generation step for generating data in a bulk state in which a plurality of work models set in the work model setting step are stacked in a virtual work space;
A search model registration step for registering a plurality of search models used for search processing for detecting the position and orientation of the work model for the bulk data generated in the bulk data generation step,
A gripping position setting step for setting a plurality of gripping candidate positions gripped by the robot in association with each search model registered in the search model registration step;
A search processing step for executing a search process for detecting the position and orientation of the work model from the bulk data generated in the bulk data generation step, using the search model registered in the search model registration step;
For each of the gripping candidate positions associated with the work model that has been successfully searched in the search processing step, it is determined whether or not gripping by the robot is possible, and the gripping candidate positions determined to be gripping are gripped by the robot. A picking motion simulation step for repeatedly executing the picking motion simulation;
A robot simulation method comprising: a display step for displaying, in a comparable manner, information indicating the frequency of use of each search model and / or each gripping candidate position when gripping is successful in the picking motion simulation.
作業空間に積み上げられた複数のワークをロボットによって順次取り出すばら積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、
ワークの三次元形状をモデル化したワークモデルを設定するワークモデル設定ステップと、
上記ワークモデル設定ステップで設定した複数のワークモデルを仮想的な作業空間に積み上げたばら積み状態のデータを生成するばら積みデータ生成ステップと、
上記ばら積みデータ生成ステップで生成したばら積みデータに対し、ワークモデルの位置及び姿勢を検出するためのサーチ処理に用いる複数のサーチモデルを登録するサーチモデル登録ステップと、
上記ロボットのハンド部の形状を複数入力するハンド部形状入力ステップと、
上記ばら積みデータ生成ステップで生成したばら積みデータから、上記サーチモデル登録ステップで登録されたサーチモデルを用いて、ワークモデルの位置及び姿勢を検出するサーチ処理を実行するサーチ処理ステップと、
上記サーチ処理ステップでサーチに成功したワークモデルを、上記ハンド部形状入力ステップで入力されたハンド部により把持するピッキング動作シミュレーションを繰り返し実行するピッキング動作シミュレーションステップと、
ピッキング動作シミュレーションで得られた各ハンド部によるワークモデルの把持の成功度合いを示す情報を比較可能に表示する表示ステップとを備えていることを特徴とするロボットシミュレーション方法。
A robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially taken out by a robot,
A work model setting step for setting a work model obtained by modeling the three-dimensional shape of the work;
A bulk data generation step for generating data in a bulk state in which a plurality of work models set in the work model setting step are stacked in a virtual work space;
A search model registration step for registering a plurality of search models used for search processing for detecting the position and orientation of the work model for the bulk data generated in the bulk data generation step,
A hand portion shape input step for inputting a plurality of shapes of the hand portion of the robot;
A search processing step for executing a search process for detecting the position and orientation of the work model from the bulk data generated in the bulk data generation step, using the search model registered in the search model registration step;
A picking motion simulation step for repeatedly executing a picking motion simulation for gripping the work model successfully searched in the search processing step by the hand portion input in the hand portion shape input step;
A robot simulation method, comprising: a display step for displaying information indicating a degree of success of gripping a work model by each hand unit obtained by picking motion simulation in a comparable manner.
JP2017148065A 2017-07-31 2017-07-31 Robot simulation device and robot simulation method Pending JP2019028773A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017148065A JP2019028773A (en) 2017-07-31 2017-07-31 Robot simulation device and robot simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017148065A JP2019028773A (en) 2017-07-31 2017-07-31 Robot simulation device and robot simulation method

Publications (1)

Publication Number Publication Date
JP2019028773A true JP2019028773A (en) 2019-02-21

Family

ID=65478566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017148065A Pending JP2019028773A (en) 2017-07-31 2017-07-31 Robot simulation device and robot simulation method

Country Status (1)

Country Link
JP (1) JP2019028773A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022024877A1 (en) * 2020-07-27 2022-02-03 ファナック株式会社 Information processing device and information processing method
JP7348001B2 (en) 2019-09-04 2023-09-20 ファナック株式会社 robot simulation device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7348001B2 (en) 2019-09-04 2023-09-20 ファナック株式会社 robot simulation device
WO2022024877A1 (en) * 2020-07-27 2022-02-03 ファナック株式会社 Information processing device and information processing method

Similar Documents

Publication Publication Date Title
JP6970551B2 (en) Shape measuring device and shape measuring method
JP6813229B1 (en) Robot system equipped with automatic object detection mechanism and its operation method
JP7346133B2 (en) Robot setting device and robot setting method
US10279473B2 (en) Image processing device, image processing method, and computer program
US9927222B2 (en) Position/orientation measurement apparatus, measurement processing method thereof, and non-transitory computer-readable storage medium
US9727053B2 (en) Information processing apparatus, control method for information processing apparatus, and recording medium
US11511415B2 (en) System and method for robotic bin picking
US20150127162A1 (en) Apparatus and method for picking up article randomly piled using robot
CN112109082A (en) Robotic system with enhanced scanning mechanism
JP6879238B2 (en) Work picking device and work picking method
JP2018144152A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP2018144155A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP6857101B2 (en) Robot simulation device and robot simulation method
JP6919987B2 (en) Image processing device
JP2018144154A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP2018144158A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP2018144159A (en) Robot setting device, robot system, robot setting method, robot setting program and recording medium readable by computer as well as equipment with the same recorded
JP2019028773A (en) Robot simulation device and robot simulation method
JP7202966B2 (en) Three-dimensional measuring device and three-dimensional measuring method
JP7233508B2 (en) Shape measuring device and shape measuring method
JP7164451B2 (en) Three-dimensional measuring device
JP2021091056A (en) measuring device
JP7344699B2 (en) Robot picking simulation device and robot picking simulation method
US11590652B2 (en) Measuring device
JP2022017738A (en) Image processing apparatus