JP2018144158A - Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device - Google Patents

Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device Download PDF

Info

Publication number
JP2018144158A
JP2018144158A JP2017040973A JP2017040973A JP2018144158A JP 2018144158 A JP2018144158 A JP 2018144158A JP 2017040973 A JP2017040973 A JP 2017040973A JP 2017040973 A JP2017040973 A JP 2017040973A JP 2018144158 A JP2018144158 A JP 2018144158A
Authority
JP
Japan
Prior art keywords
simulation
work
data
model
unit
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
JP2017040973A
Other languages
Japanese (ja)
Inventor
直輝 ▲高▼山
直輝 ▲高▼山
Naoki Takayama
真達 下平
Masatatsu Shimodaira
真達 下平
智貴 嶋野
Tomoki Shimano
智貴 嶋野
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 JP2017040973A priority Critical patent/JP2018144158A/en
Publication of JP2018144158A publication Critical patent/JP2018144158A/en
Pending legal-status Critical Current

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To bring simulation results closer to results acquired during actual operation.SOLUTION: A robot simulation device comprises: a bulk data generating part to generate virtual bulk data, where a plurality of workpiece models are piled up in a virtual work space in which work is virtually carried out; a region estimating part to compare a virtual inclination angle of each point constituting each workpiece model within the bulk data generated by the bulk data generating part with an angle threshold determined by an angle threshold determination part, and identify a point having a virtual inclination angle larger than the angle threshold as an estimation region where measurement is estimated to be difficult; a simulation data generating part to generate bulk data not including data in the estimation region identified by the region estimating part as simulation data; and a picking operation simulation part to execute simulation for verifying the bulk picking operation of the workpiece models within the work space by using the simulation data.SELECTED DRAWING: Figure 25

Description

本発明は、ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器に関する。   The present invention relates to a robot simulation apparatus, a robot simulation method, a robot simulation program, a computer-readable recording medium, and a recorded device.

マニピュレータにロボットビジョンを組み合わせて、対象となるワークを撮像して高さ情報を取得した上で、適切な位置を把持(ピック又はピッキング)して、所望の位置に載置(プレース又はプレースメント)可能なロボット装置が開発されている。このようなロボット装置を用いて、バラ積みピッキングと呼ばれる、通い箱に入れられた多数のワークを、カメラやセンサ部で撮像して姿勢を把握し、適切な把持位置を把握した上で、この把持位置までロボットのアームを移動させ、ハンド部等のエンドエフェクタで把持して、通い箱の外の決められた位置にプレースすることが行われている。   The robot vision is combined with the manipulator, the target workpiece is imaged to obtain height information, the appropriate position is grasped (pick or picked), and placed at the desired position (place or placement) Possible robotic devices have been developed. Using such a robotic device, a large number of workpieces placed in a returnable box, called bulk picking, are imaged with a camera or sensor unit to grasp the posture and grasp the appropriate gripping position. The robot arm is moved to a gripping position, gripped by an end effector such as a hand unit, and placed at a predetermined position outside the return box.

このバラ積みピッキングを正しく運用できるよう、予めバラ積みピッキングを行うロボットのピックやプレース動作のシミュレーションを三次元的に行うロボットシミュレーション装置が開発されている。このようなロボットシミュレーション装置では、ワークの三次元形状を有するCADモデルをワークモデルとして、仮想作業空間に無作為に配置して、ロボットの取出工程、すなわちバラ積みピッキングをシミュレーションしている。   In order to correctly operate the bulk picking, a robot simulation apparatus has been developed that three-dimensionally simulates picking and place motion of a robot that performs bulk picking in advance. 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 robot take-out process, that is, bulk picking.

しかしながら、実際の運用時に、センサ部により計測可能なワーク領域は、上方に設置されたセンサ部から見て最表面に位置する領域のみであり、ワークの裏面領域や他のワークや容器によって死角となる領域の計測はできない。また、最表面に位置する領域であっても、急な傾斜を持つ領域や、鏡面成分の大きな領域は、センサ部が十分な反射光を受光できずに計測ができないことがある。例えば、金属製のワークの場合は鏡面反射が強く、ワークの姿勢によって計測できない部位が生じる。   However, during actual operation, the work area that can be measured by the sensor unit is only the area located on the outermost surface when viewed from the sensor part installed above, and the dead area is determined by the back surface area of the work or other work or container. It is not possible to measure the area. Even in the region located on the outermost surface, the region having a steep inclination or the region having a large specular component may not be measured because the sensor unit cannot receive sufficient reflected light. For example, in the case of a metal workpiece, specular reflection is strong, and there are parts that cannot be measured depending on the posture of the workpiece.

一例として、あるワークについて、シミュレーション上で表示されるワークの様子を図79Aに、このワークの実物を実際に計測しようとする状態を図79Bに、それぞれ示す。図79Aに示すように、シミュレーション上では明確に形状が表示されているワークであっても、実際の計測時には、図79Bに示すように、上方からカメラや照明で撮像した場合、傾斜が急峻となる部位については三次元形状を計測できない。   As an example, FIG. 79A shows a state of a work displayed on a simulation for a certain work, and FIG. 79B shows a state in which the actual work is actually measured. As shown in FIG. 79A, even if the workpiece has a shape that is clearly displayed in the simulation, the slope is steep when the image is taken from above with a camera or illumination, as shown in FIG. 79B, during actual measurement. The three-dimensional shape cannot be measured for the part.

このように、シミュレーション上で用いられるCADモデルを積み上げたバラ積みデータは、完全な高さ情報を有する三次元データであることから、ワークをサーチできるものの、実運用時には計測不可能な領域が生じることから、サーチに失敗してしまうことがある。いいかえると、従来のシミュレーションでは、実運用時には取得できない完全な三次元形状を有するワークモデルの検出が行われているため、シミュレーション上で実運用時には検出ができないワークモデルであっても把持に成功する。このためシミュレーションでは把持に成功しても、実運用時には把持時に失敗してしまい、シミュレーション結果と実運用の結果を異ならせる要因となっていた。   As described above, the bulk data obtained by stacking the CAD models used in the simulation is three-dimensional data having complete height information. Therefore, although a workpiece can be searched, an area that cannot be measured during actual operation occurs. As a result, the search may fail. In other words, in the conventional simulation, since a work model having a complete three-dimensional shape that cannot be obtained in actual operation is detected, even a work model that cannot be detected in actual operation on the simulation succeeds in gripping. . For this reason, even if the gripping is successful in the simulation, it fails during gripping during actual operation, which causes the simulation result to differ from the actual operation result.

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

本発明は、このような事情に鑑みてなされたものであり、その目的の一は、シミュレーション結果と実運用時の結果を近付けるようにしたロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器を提供することにある。   The present invention has been made in view of such circumstances, and one object of the present invention is a robot simulation apparatus, a robot simulation method, a robot simulation program, and a computer that bring simulation results close to actual operation results. To provide a readable recording medium and a recorded device.

課題を解決するための手段及び発明の効果Means for Solving the Problems and Effects of the Invention

本発明の第1の形態に係るロボットシミュレーション装置によれば、作業空間に積み上げられた複数のワークの三次元形状をセンサ部により測定し、ロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データを記憶するための計測データ記憶部と、前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定するための角度閾値決定部と、ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、仮想的な作業空間である仮想作業空間内に複数の前記ワークモデルを積み上げた、仮想的なバラ積みデータを生成するためのバラ積みデータ生成部と、前記バラ積みデータ生成部で生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記角度閾値決定部で決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定するための領域推定部と、前記領域推定部により特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成するためのシミュレーション用データ生成部と、シミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行するためのピッキング動作シミュレート部とを備えることができる。上記構成により、現実にセンサ部で計測したワークの傾斜角度に基づいて定めた角度閾値を基準として、測定困難と推定されるデータを予め排除した上でシミュレーション用データを取得できるため、より精度の高いピッキング動作のシミュレーションが可能となる。   According to the robot simulation apparatus of the first embodiment of the present invention, the robot for simulating the bulk picking operation in which the three-dimensional shapes of a plurality of workpieces stacked in the work space are measured by the sensor unit and sequentially taken out by the robot A simulation apparatus for measuring three-dimensionally measured workpieces in a plurality of different postures by means of a sensor unit, and storing three-dimensional measurement data having information on an inclination angle with respect to a measurement axis of the sensor unit at each position Whether or not three-dimensional measurement is possible is determined based on the measurement data storage unit and the inclination angle information of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit with respect to the measurement axis of the sensor unit. The angle threshold value determination unit for determining the angle threshold value to be used as a reference, and the three-dimensional shape of the workpiece A work model setting unit for setting a work model, and a bulk data generation unit for generating virtual bulk data in which a plurality of the work models are stacked in a virtual work space that is a virtual work space And the virtual inclination angle of each point constituting each work model in the bulk data generated by the bulk data generation unit and the angle threshold determined by the angle threshold determination unit, the angle threshold A region estimation unit for identifying a point having a larger virtual inclination angle as an estimation region estimated to be difficult to measure, and a simulation of unstacked data that does not include data of the estimation region specified by the region estimation unit The work model in the work space using a simulation data generation unit for generating as data for simulation and the simulation data It may include a picking operation simulating section for executing a simulation for verifying the bulk picking operation. With the above configuration, simulation data can be acquired after excluding data that is estimated to be difficult to measure with reference to an angle threshold value determined based on the tilt angle of the workpiece actually measured by the sensor unit. High picking motion simulation is possible.

また、第2の形態に係るロボットシミュレーション装置によれば、上記構成に加えて、さらに、前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、各点の傾斜角度を累積した分布を示す角度分布ヒストグラムを表示可能な表示部を備えることができる。   Further, according to the robot simulation apparatus of the second embodiment, in addition to the above configuration, the sensor unit of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit A display unit capable of displaying an angle distribution histogram indicating a distribution in which the inclination angles of the respective points are accumulated based on the inclination angle information with respect to the measurement axis can be provided.

さらに、第3の形態に係るロボットシミュレーション装置によれば、上記構成に加えて、前記角度閾値決定部が、前記表示部上に表示された角度分布ヒストグラムを参照しながら、ユーザによる手動での角度閾値の設定を受け付けるよう構成できる。   Furthermore, according to the robot simulation device of the third aspect, in addition to the above configuration, the angle threshold value determination unit manually refers to the angle distribution histogram displayed on the display unit, and is manually operated by the user. It can be configured to accept a threshold setting.

さらにまた、第4の形態に係るロボットシミュレーション装置によれば、上記何れかの構成に加えて、前記表示部が、前記シミュレーション用データ生成部で生成されたシミュレーション用データを表示可能に構成できる。   Furthermore, according to the robot simulation apparatus of the fourth embodiment, in addition to any of the above-described configurations, the display unit can be configured to be able to display the simulation data generated by the simulation data generation unit.

さらにまた、第5の形態に係るロボットシミュレーション装置によれば、上記何れかの構成に加えて、前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の信頼性が低い点を無効画素として除去するよう構成できる。   Furthermore, according to the robot simulation apparatus of the fifth aspect, in addition to any one of the above-described configurations, the sensor of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit On the basis of the tilt angle information with respect to the measurement axis of the part, it is possible to remove a point with low reliability of the three-dimensional measurement as an invalid pixel.

さらにまた、第6の形態に係るロボットシミュレーション装置によれば、上記何れかの構成に加えて、前記角度閾値決定部が、前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、各点の傾斜角度を累積した分布を示す角度分布ヒストグラムに基づいて、角度閾値を自動的に演算するよう構成できる。   Furthermore, according to the robot simulation apparatus of the sixth aspect, in addition to any of the above-described configurations, the angle threshold value determination unit stores the three-dimensional measurement data of a plurality of workpieces stored in the measurement data storage unit. An angle threshold value can be automatically calculated based on an angle distribution histogram indicating a distribution in which the inclination angle of each point is accumulated based on the inclination angle information of each point constituting the measurement axis of the sensor unit.

さらにまた、第7の形態に係るロボットシミュレーション装置によれば、作業空間に積み上げられた複数のワークの三次元形状をセンサ部により測定し、ロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、仮想的な作業空間である仮想作業空間内に複数の前記ワークモデルを積み上げた、仮想的なバラ積みデータを生成するためのバラ積みデータ生成部と、積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した三次元計測データを記憶するための計測データ記憶部と、前記計測データ記憶部に記憶された複数のワークの三次元計測データに対して、前記ワークモデル設定部で設定されたワークモデルでもって三次元サーチを行い、該ワークモデルと三次元計測データが合致した点の位置及び姿勢に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定するための角度閾値決定部と、前記バラ積みデータ生成部で生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記角度閾値決定部で決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定するための領域推定部と、前記領域推定部により特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成するためのシミュレーション用データ生成部と、前記シミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行するためのピッキング動作シミュレート部とを備えることができる。   Furthermore, according to the robot simulation apparatus of the seventh embodiment, the robot for simulating the bulk picking operation in which the three-dimensional shapes of a plurality of workpieces stacked in the work space are measured by the sensor unit and sequentially taken out by the robot A simulation apparatus, a work model setting unit for setting a work model obtained by modeling a three-dimensional shape of a work, and a virtual work space in which a plurality of the work models are stacked in a virtual work space that is a virtual work space A bulk data generation unit for generating typical bulk data, a measurement data storage unit for storing three-dimensional measurement data obtained by three-dimensionally measuring a plurality of stacked workpieces with different orientations, For the three-dimensional measurement data of a plurality of workpieces stored in the measurement data storage unit, A 3D search is performed with the work model set in the work model setting unit, and based on the position and orientation of the point where the work model and 3D measurement data match, it becomes a reference for determining whether or not 3D measurement is possible An angle threshold value determination unit for determining an angle threshold value, a virtual inclination angle of each point constituting each work model in the bulk data generated by the bulk data generation unit, and the angle threshold value determination unit A region estimation unit for comparing a point having a virtual inclination angle larger than the angle threshold as an estimation region estimated to be difficult to measure, and the estimation region identified by the region estimation unit A data generation unit for simulation for generating loose data that does not include the above data as simulation data, and using the simulation data Te, it is possible and a picking operation simulating section for the performing the simulation for verifying the bulk picking operation of the workpiece model of the working space.

さらにまた、第8の形態に係るロボットシミュレーション装置によれば、上記構成に加えて、前記角度閾値決定部が、三次元サーチの結果、該ワークモデルと三次元計測データが合致した点を計測可能と判定し、該計測可能な点の法線を、三次元空間に配置してその法線の傾きを演算し、該計測可能な点の法線角度範囲を集計することで、ワークが計測可能な表面傾きの閾値を決定するよう構成できる。   Furthermore, according to the robot simulation apparatus of the eighth embodiment, in addition to the above configuration, the angle threshold value determination unit can measure a point where the work model and the three-dimensional measurement data match as a result of the three-dimensional search. The workpiece can be measured by placing the normal of the measurable point in a three-dimensional space, calculating the slope of the normal, and counting the normal angle range of the measurable point. It can be configured to determine a threshold value for the surface tilt.

さらにまた、第9の形態に係るロボットシミュレーション方法によれば、作業空間に積み上げられた複数のワークをロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データとして記憶する工程と、前記記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定する工程と、ワークの三次元形状をモデル化したワークモデルを設定する工程と、前記設定された複数のワークモデルを、仮想的な作業空間である仮想作業空間内に積み上げた、仮想的なバラ積みデータを生成する工程と、前記生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定する工程と、前記特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成する工程と、前記生成されたシミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行する工程とを含むことができる。これにより、現実にセンサ部で計測したワークの傾斜角度に基づいて定めた角度閾値を基準として、測定困難と推定されるデータを予め排除した上でシミュレーション用データを取得できるため、より精度の高いピッキング動作のシミュレーションが可能となる。   Furthermore, according to the robot simulation method of the ninth embodiment, a robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially picked up by the robot, A step of three-dimensionally measuring the workpiece of the posture by the sensor unit, storing the information of the inclination angle with respect to the measurement axis of the sensor unit as three-dimensional measurement data for each position, and three-dimensional measurement of the plurality of stored workpieces A step of determining an angle threshold value serving as a reference for determining whether or not three-dimensional measurement is possible based on the inclination angle information of each point constituting the data with respect to the measurement axis of the sensor unit, and a workpiece obtained by modeling the three-dimensional shape of the workpiece A step of setting a model and the plurality of set work models are connected to a virtual work space. A step of generating virtual stacking data stacked in a virtual work space, a virtual tilt angle of each point constituting each work model in the generated bulk stacking data, and the determined angle threshold And specifying a point having a virtual tilt angle larger than the angle threshold as an estimation region estimated to be difficult to measure, and simulating unstacked data not including the data of the specified estimation region And generating a simulation for verifying a bulk picking operation of the work model in the work space using the generated simulation data. As a result, it is possible to obtain simulation data after excluding data estimated to be difficult to measure with reference to the angle threshold value determined based on the tilt angle of the workpiece actually measured by the sensor unit, so that the accuracy is higher. The picking motion can be simulated.

さらにまた、第10の形態に係るロボットシミュレーションプログラムによれば、作業空間に積み上げられた複数のワークをロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするロボットシミュレーションプログラムであって、積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データとして記憶する機能と、前記記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定する機能と、ワークの三次元形状をモデル化したワークモデルを設定する機能と、前記設定された複数のワークモデルを、仮想的な作業空間である仮想作業空間内に積み上げた、仮想的なバラ積みデータを生成する機能と、前記生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定する機能と、前記特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成する機能と、前記生成されたシミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行する機能とをコンピュータに実現させることができる。上記構成により、現実にセンサ部で計測したワークの傾斜角度に基づいて定めた角度閾値を基準として、測定困難と推定されるデータを予め排除した上でシミュレーション用データを取得できるため、より精度の高いピッキング動作のシミュレーションが可能となる。   Furthermore, the robot simulation program according to the tenth embodiment is a robot simulation program for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially picked up by the robot, A function of storing a workpiece in a posture as a three-dimensional measurement data obtained by three-dimensionally measuring a workpiece by a sensor unit and having information on an inclination angle with respect to a measurement axis of the sensor unit for each position, and three-dimensional measurement of the plurality of stored workpieces Based on the tilt angle information of each point constituting the data with respect to the measurement axis of the sensor unit, a function for determining an angle threshold value serving as a reference for determining whether or not three-dimensional measurement is possible, and a workpiece modeling the three-dimensional shape of the workpiece A function for setting a model and a plurality of the set work models are temporarily A function of generating virtual unloading data stacked in a virtual work space that is a typical work space, a virtual inclination angle of each point constituting each work model in the generated unloading data, and A function of comparing the determined angle threshold value and specifying a point having a virtual inclination angle larger than the angle threshold value as an estimated region estimated to be difficult to measure, and a variable not including the data of the specified estimated region The computer realizes a function of generating stacking data as simulation data and a function of executing simulation for verifying the bulk picking operation of the work model in the work space using the generated simulation data. Can be made. With the above configuration, simulation data can be acquired after excluding data that is estimated to be difficult to measure with reference to an angle threshold value determined based on the tilt angle of the workpiece actually measured by the sensor unit. High picking motion simulation is possible.

さらにまた、第11の形態に係るコンピュータで読み取り可能な記録媒体または記憶した機器は、上記ロボットシミュレーションプログラムを格納するものである。記録媒体には、CD−ROM、CD−R、CD−RWやフレキシブルディスク、磁気テープ、MO、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、Blu−ray、HD DVD(AOD)等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記憶した機器には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。   Furthermore, a computer-readable recording medium or stored device according to the eleventh embodiment stores the robot simulation program. Recording media include CD-ROM, CD-R, CD-RW, flexible disk, magnetic tape, MO, DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, Blu-ray, HD A medium that can store a program such as a magnetic disk such as a DVD (AOD), an optical disk, a magneto-optical disk, a semiconductor memory, or the like is included. The program includes a program distributed in a download manner through a network line such as the Internet, in addition to a program stored and distributed in the recording medium. Furthermore, the stored devices include general-purpose or dedicated devices in which the program is implemented in a state where it can be executed in the form of software, firmware, or the like. Furthermore, each process and function included in the program may be executed by computer-executable program software, or each part of the process or hardware may be executed by hardware such as a predetermined gate array (FPGA, ASIC), or program software. And a partial hardware module that realizes a part of hardware elements may be mixed.

ロボットシステムを用いてバラ積みピッキング動作を行う様子を示す模式図である。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 of a robot system. 実施形態1に係るロボットシミュレーション装置を示すブロック図である。1 is a block diagram illustrating a robot simulation apparatus according to a first embodiment. 実施形態1Bに係るピッキング動作シミュレーションシステムを示すブロック図である。It is a block diagram which shows the picking operation | movement simulation system which concerns on Embodiment 1B. 実施形態2に係るピッキング動作シミュレーションシステムを示すブロック図である。It is a block diagram which shows the picking operation | movement simulation system which concerns on Embodiment 2. FIG. センサ部の一例を示す斜視図である。It is a perspective view which shows an example of a sensor part. 図7Aは収納容器にワークを無作為に投入して積み上げた例を示す模式断面図、図7Bはワークを床面上に積み上げた例を示す模式断面図、図7Cはワークを一定姿勢でトレイ上に配列した状態を示す斜視図である。FIG. 7A is a schematic cross-sectional view showing an example in which workpieces are randomly placed in a storage container and stacked, FIG. 7B 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. 図8Aはエンドエフェクタでワークを把持する例を示す模式図、図8Bは空洞を有するワークを内面から把持する例を示す模式図、図8Cは板状のワークを吸引して把持する例を示す模式図である。8A is a schematic diagram showing an example of gripping a workpiece with an end effector, FIG. 8B is a schematic diagram showing an example of gripping a workpiece having a cavity from the inner surface, and FIG. 8C shows an example of sucking and gripping a plate-like workpiece. It is a schematic diagram. ピッキング動作シミュレーションシステムを示すブロック図である。It is a block diagram which shows a picking operation | movement simulation system. 実施形態4に係るピッキング動作シミュレーションシステムを示すブロック図である。It is a block diagram which shows the picking operation | movement simulation system which concerns on Embodiment 4. FIG. 実施形態5に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus which concerns on Embodiment 5. 実施形態6に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus which concerns on Embodiment 6. FIG. 実施形態7に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus which concerns on Embodiment 7. FIG. シミュレーション環境の設定手順を示すフローチャートである。It is a flowchart which shows the setting procedure of a simulation environment. 図15Aはワークモデルを示す斜視図、図15Bは図15Aのワークモデル上に領域を指定した状態を示す斜視図である。FIG. 15A is a perspective view showing a work model, and FIG. 15B is a perspective view showing a state where an area is designated on the work model of FIG. 15A. 図16Aは図IAのワークモデルをワイヤーフレームで表示した斜視図、図16Bは図16Aのワークモデル上で領域を指定する様子を示す斜視図である。FIG. 16A is a perspective view showing the work model of FIG. IA in a wire frame, and FIG. 16B is a perspective view showing a state in which an area is designated on the work model of FIG. 16A. ワークモデルの一例を示す斜視図である。It is a perspective view which shows an example of a work model. 図17のワークモデルの展開図である。It is an expanded view of the work model of FIG. 図19AはLambert反射モデルを説明する模式図、図19BはPhong鏡面反射モデルを説明する模式図である。FIG. 19A is a schematic diagram for explaining a Lambert reflection model, and FIG. 19B is a schematic diagram for explaining a Phong specular reflection model. 反射光の分布の例を示すグラフである。It is a graph which shows the example of distribution of reflected light. 図21Aは入射光と観測点方向と正反射方向の関係を示す模式図、図21Bは入射光と観測点の方向に対してワークの角度を変化させる様子を示す模式図である。FIG. 21A is a schematic diagram showing the relationship between the incident light, the observation point direction, and the regular reflection direction, and FIG. 21B is a schematic diagram showing how the angle of the workpiece is changed with respect to the incident light and the observation point direction. 図21Bのワークで傾斜角度を変化させたときの入射光と反射光の比率を示すグラフである。It is a graph which shows the ratio of incident light and reflected light when changing an inclination angle with the workpiece | work of FIG. 21B. 図23Aは拡散反射の割合が高い高さ画像を二次元表示した例を示すイメージ図、図23Bは図23Aを三次元表示した斜視図、図23Cは鏡面反射の割合が高い高さ画像の例を示すイメージ図、図23Dは図23Cの斜視図である。23A is an image diagram showing an example of a two-dimensional display of a height image having a high diffuse reflection ratio, FIG. 23B is a perspective view of FIG. 23A three-dimensionally displayed, and FIG. 23C is an example of a height image having a high specular reflection ratio. FIG. 23D is a perspective view of FIG. 23C. 実施形態8に係るロボットシミュレーション装置の機能ブロック図である。FIG. 10 is a functional block diagram of a robot simulation apparatus according to an eighth embodiment. ピッキング動作シミュレーションの手順を示すフローチャートである。It is a flowchart which shows the procedure of picking operation | movement simulation. 物理シミュレーションでワークモデルのバラ積み状態を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which produces | generates the unpacking state of a work model by physical simulation. 円筒形のワークモデルをバラ積みしたバラ積みデータを示すイメージ図である。It is an image figure which shows the unloading data which unpacked the cylindrical work model. 図28Aは円筒形のワークモデルをバラ積みした初期状態、図28Bは終了状態から20回遡った状態、図28Cは終了状態から10回遡った状態、図28Dは終了状態を、それぞれ示すイメージ図である。28A is an initial state in which cylindrical workpiece models are stacked, FIG. 28B is a state retroactive 20 times, FIG. 28C is a state retrospectively 10 times, and FIG. 28D is an image diagram showing the end state. is there. 図29Aはデータの保存を考慮した物理シミュレーションの手順の一部を示すフローチャートである。FIG. 29A is a flowchart illustrating a part of a physical simulation procedure in consideration of data storage. 図29Bは図29Aに続くデータの保存を考慮した物理シミュレーションの手順を示すフローチャートである。FIG. 29B is a flowchart showing a physical simulation procedure in consideration of data storage following FIG. 29A. T字型のワークが不安定な姿勢で存在している状態を示す模式図である。It is a schematic diagram which shows the state where the T-shaped workpiece | work exists in the unstable attitude | position. ワークモデルの投下時の姿勢に制限を加えてバラ積み状態を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which adds a restriction | limiting to the attitude | position at the time of dropping of a workpiece | work model, and produces | generates a stacking state. ワークモデルの投下後の姿勢に制限を加えてバラ積み状態を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which adds a restriction | limiting to the attitude | position after dropping of a workpiece | work model, and produces | generates a stacking state. ワークモデルの投下時と投下後の姿勢に制限を加えてバラ積み状態を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which adds a restriction | limiting to the attitude | position at the time of dropping of a workpiece | work model, and after dropping, and produces | generates a stacking state. 図34Aはワークの表面、図34Bはワークの裏面を示す斜視図である。34A is a perspective view showing the front surface of the workpiece, and FIG. 34B is a perspective view showing the back surface of the workpiece. 図34A、図34Bのワークがバラ積みされた状態を示す斜視図である。It is a perspective view which shows the state where the workpiece | work of FIG. 34A and FIG. 34B was piled up. 図36Aは収納容器にワークが整列されて詰め込まれた状態を示す斜視図、図36Bはワークが収納容器内で段積みされた状態を示す斜視図である。FIG. 36A is a perspective view illustrating a state in which workpieces are aligned and packed in the storage container, and FIG. 36B is a perspective view illustrating a state in which the workpieces are stacked in the storage container. 実施形態9に係るワークモデルの位置、姿勢に制限を加えてバラ積み状態を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which adds the restriction | limiting to the position and attitude | position of the workpiece | work model which concerns on Embodiment 9, and produces | generates a stacking state. ワークモデルの基本姿勢設定画面の一例を示すイメージ図である。It is an image figure which shows an example of the basic posture setting screen of a work model. 姿勢条件設定画面の一例を示すイメージ図である。It is an image figure which shows an example of a posture condition setting screen. ワークモデルの傾斜角度0°、回転角度±180°に指定した場合のワークモデルの姿勢の例を示すイメージ図である。It is an image figure which shows the example of the attitude | position of a workpiece | work model at the time of designating the inclination-angle of a workpiece | work model to 0 degree and rotation angle +/- 180 degrees. ワークモデルの傾斜角度15°、回転角度±180°に指定した場合のワークモデルの姿勢の例を示すイメージ図である。It is an image figure which shows the example of the attitude | position of a workpiece | work model at the time of designating the inclination-angle of a workpiece | work model to 15 degrees and rotation angle +/- 180 degrees. 配置条件設定画面の一例を示すイメージ図である。It is an image figure which shows an example of an arrangement condition setting screen. 図43Aはワークモデルを収納容器内に完全ランダムに配置した例、図43Bは一方向に配置した例、図43Cは複数方向、複数段に配列した例を示すイメージ図である。43A is an image diagram showing an example in which work models are completely randomly arranged in the storage container, FIG. 43B is an example in which the work model is arranged in one direction, and FIG. 43C is an image diagram showing an example in which the work model is arranged in multiple directions and multiple stages. 姿勢安定性の演算方法を示すフローチャートである。It is a flowchart which shows the calculation method of attitude | position stability. 図45AはT字状のワークを示す斜視図、図45Bは図45Aに対する外接立方体を設定した状態を示す斜視図、図45Cは図45Bの最大面積を取る面を示す平面図である。45A is a perspective view showing a T-shaped workpiece, FIG. 45B is a perspective view showing a state in which a circumscribed cube is set with respect to FIG. 45A, and FIG. 45C is a plan view showing a surface taking the maximum area of FIG. 45B. 図46Aは図45Aのワークが傾斜姿勢で置かれた状態を示す斜視図、図46Bは図46Aの接触部の領域を示す平面図である。46A is a perspective view showing a state in which the workpiece of FIG. 45A is placed in an inclined posture, and FIG. 46B is a plan view showing a region of the contact portion of FIG. 46A. 図47Aは図45Aのワークが直立姿勢で置かれた状態を示す斜視図、図47Bは図47Aの接触部の領域を示す平面図である。47A is a perspective view showing a state in which the workpiece of FIG. 45A is placed in an upright posture, and FIG. 47B is a plan view showing a region of the contact portion of FIG. 47A. 図48Aは図45Aのワークが壁面に寄りかかった姿勢で置かれた状態を示す斜視図、図48Bは図48Aの接触部の領域を示す平面図である。48A is a perspective view showing a state in which the workpiece of FIG. 45A is placed in a posture leaning against the wall surface, and FIG. 48B is a plan view showing a region of the contact portion of FIG. 48A. 図49Aは図46Bの平面図、図49Bは図49Aから最小面積外接矩形を得た状態を示す平面図である。49A is a plan view of FIG. 46B, and FIG. 49B is a plan view showing a state in which a minimum area circumscribed rectangle is obtained from FIG. 49A. 図50Aは図47Bの平面図、図50Bは図50Aから最小面積外接矩形を得た状態を示す平面図である。FIG. 50A is a plan view of FIG. 47B, and FIG. 50B is a plan view showing a state in which a minimum area circumscribed rectangle is obtained from FIG. 50A. 図51Aは図48Bの平面図、図51Bは図51Aから最小面積外接矩形を得た状態を示す平面図である。51A is a plan view of FIG. 48B, and FIG. 51B is a plan view showing a state in which a minimum area circumscribed rectangle is obtained from FIG. 51A. 実施形態10に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus which concerns on Embodiment 10. FIG. 実施形態11に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus concerning Embodiment 11. ワークを収納容器内に中敷きを介して複数段に配列した例を示す模式断面図である。It is a schematic cross section which shows the example which arranged the workpiece | work in the storage container in multiple steps through the insole. ワークを収納容器内に間仕切りを介して配列した例を示す模式断面図である。It is a schematic cross section which shows the example which arranged the workpiece | work through the partition in the storage container. バラ積みされたワークモデル群を示すイメージ図である。It is an image figure which shows the work model group piled up. 図56においてハッチングされたワークモデルを除去した状態を示すイメージ図である。It is an image figure which shows the state which removed the workpiece | work model hatched in FIG. 図56においてハッチングされたワークモデルを除去した状態で物理シミュレーションを再実行した結果を示すイメージ図である。FIG. 57 is an image diagram showing a result of re-execution of a physical simulation in a state where a hatched work model is removed in FIG. ピッキング動作シミュレーションにおいて、ワークモデルの数を一つ減らす手順の詳細を示すフローチャートである。It is a flowchart which shows the detail of the procedure which reduces the number of work models by one in picking operation | movement simulation. 図60Aはバラ積みデータの斜視図、図60Bは図60Aを高さ画像に変換したバラ積み画像、図60Cは図60Bを点群で示した斜視図、図60Dは図60Aを傾斜面を無効として高さ画像に変換したバラ積み画像、図60Eは図60Dを点群で示した斜視図である。60A is a perspective view of bulk stacking data, FIG. 60B is a bulk stacking image obtained by converting FIG. 60A into a height image, FIG. 60C is a perspective view showing FIG. 60B as a point group, and FIG. 60E is a perspective view showing FIG. 60D as a point cloud. 図61Aは鏡面反射の弱いワークの三次元形状を取得可能な角度範囲を示す模式断面図、図61Bは鏡面反射の強いワークの三次元形状を取得可能な角度範囲を示す模式断面図である。FIG. 61A is a schematic cross-sectional view showing an angle range in which a three-dimensional shape of a work having a weak specular reflection can be acquired, and FIG. 61B is a schematic cross-sectional view showing an angle range in which a three-dimensional shape of a work having a strong specular reflection can be acquired. 図62Aは樹脂製のワークをバラ積みしたバラ積みデータを示すイメージ図であり、図62Bは図62Aの内、樹脂製ワークを拡大した要部拡大図であり、図62Cは金属製のワークをバラ積みしたバラ積みデータを示すイメージ図であり、図62Dは図62Cの内、金属製のワークを拡大した要部拡大図である。FIG. 62A is an image diagram showing bulk loading data obtained by bulking resin workpieces, FIG. 62B is an enlarged view of the main part of FIG. 62A in which the resin workpiece is enlarged, and FIG. FIG. 62D is an image diagram showing the stacked bulk data, and FIG. 62D is an enlarged view of a main part in which a metal workpiece is enlarged in FIG. 62C. バラ積み画像を示すイメージ図である。It is an image figure which shows a rose stacking image. パターンプロジェクション方式でカメラ側からワークが見えない状態を示す模式図である。It is a schematic diagram which shows the state which cannot see a workpiece | work from the camera side by a pattern projection system. 図65Aはカメラからワークが見えている例、図65Bにカメラからワークが見えない例、図65Cは複数のカメラのいずれかで見えている例を示す模式図である。FIG. 65A is a schematic diagram illustrating an example in which a workpiece is visible from the camera, FIG. 65B is an example in which the workpiece is not visible from the camera, and FIG. 65C is an example in which the workpiece is visible from any of a plurality of cameras. 実施形態12に係るピッキング動作シミュレーションの手順を示すフローチャートである。22 is a flowchart illustrating a procedure of picking operation simulation according to the twelfth embodiment. 実施形態12に係る物理シミュレーションでワークモデルのバラ積み状態を生成する手順を示すフローチャートである。18 is a flowchart showing a procedure for generating a workpiece model unstacked state in a physical simulation according to a twelfth embodiment. バラ積み画像を生成する手順を示すフローチャートである。It is a flowchart which shows the procedure which produces | generates a piled-up image. ワーク上の注目位置と各カメラと結ぶ直線を示す模式図である。It is a schematic diagram which shows the attention position on a workpiece | work and the straight line which connects with each camera. カメラと注目位置とを結ぶ直線上に障害物がないかをチェックする様子を示す模式図である。It is a schematic diagram which shows a mode that it checks whether there is an obstruction on the straight line which connects a camera and an attention position. 実施形態13に係るロボットシミュレーション装置を示すブロック図である。It is a block diagram which shows the robot simulation apparatus which concerns on Embodiment 13. FIG. バラ積みされたワーク群を実際に三次元計測した高さ画像を示すイメージ図である。It is an image figure which shows the height image which actually measured three-dimensionally the workpiece | work group piled up. 樹脂製のワークの角度分布ヒストグラムを示すグラフである。It is a graph which shows the angle distribution histogram of resin workpieces. 金属製のワークの角度分布ヒストグラムを示すグラフである。It is a graph which shows the angle distribution histogram of metal workpieces. シミュレーション環境の設定手順を示すフローチャートである。It is a flowchart which shows the setting procedure of a simulation environment. バラ積み状態のワーク群を撮像した高さ画像を示すイメージ図である。It is an image figure which shows the height image which imaged the workpiece | work group of the piled-up state. 図77Aは実際に撮像した三次元計測データのプロファイル、図77Bは図77Aに三次元サーチ結果を重ね合わせた状態を示す図である。FIG. 77A is a profile of actually captured 3D measurement data, and FIG. 77B is a diagram showing a state in which 3D search results are superimposed on FIG. 77A. 実施形態14に係るシミュレーション環境の設定手順を示すフローチャートである。16 is a flowchart illustrating a simulation environment setting procedure according to the fourteenth embodiment. 図79Aはあるワークをシミュレーション上で表示する様子を示すイメージ図であり、図79Bは図79Aのワークの実運用時に計測した状態を示すイメージ図である。FIG. 79A is an image diagram showing a state in which a certain workpiece is displayed on the simulation, and FIG. 79B is an image diagram showing a state measured during actual operation of the workpiece in FIG. 79A.

以下、本発明の実施形態を図面に基づいて説明する。ただし、以下に示す実施形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施形態の部材に特定するものでは決してない。特に実施形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一若しくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
(ロボットシステム)
Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the embodiment described below is an example for embodying the technical idea of the present invention, and the present invention is not limited to the following. Moreover, this specification does not specify the member shown by the claim as the member of embodiment. In particular, the dimensions, materials, shapes, relative arrangements, and the like of the component parts described in the embodiments are not intended to limit the scope of the present invention only to specific examples unless otherwise specifically described. Only. Note that the size, positional relationship, and the like of the members shown in each drawing may be exaggerated for clarity of explanation. Furthermore, in the following description, the same name and reference sign indicate the same or the same members, and detailed description will be omitted as appropriate. Furthermore, each element constituting the present invention may be configured such that a plurality of elements are configured by the same member and the plurality of elements are shared by one member. It can also be realized by sharing.
(Robot system)

ロボットシステム1000を用いた、ワークのバラ積みピッキング動作が行われている。このようなロボットシステム1000の構成例を図1に、またロボットシステム1000のブロック図を図2に、それぞれ示す。このようなバラ積みピッキングでは、作業空間に積み上げられた複数のワークWKを、ロボットを用いて順次取り出し、所定の位置に配置する。例えば、収納容器BXに無作為に投入された多数の部品を、カメラや照明等のセンサ部で三次元形状を取得し、ワークWKを一つづつ、ロボットのアームARMの先端に設けられたエンドエフェクタEETでもって把持し、所定の位置、例えばコンベアベルト状に並べていく。
(ピッキング動作シミュレーション)
A workpiece stacking picking operation using the robot system 1000 is performed. A configuration example of such a robot system 1000 is shown in FIG. 1, and a block diagram of the robot system 1000 is shown in FIG. In such bulk picking, a plurality of workpieces WK stacked in the work space are sequentially taken out using a robot and arranged at predetermined positions. For example, a large number of parts randomly placed in the storage container BX are acquired by a sensor unit such as a camera or an illumination, and a three-dimensional shape is obtained. One piece of work WK is provided at the end of the arm ARM of the robot. It is gripped by the effector EET and arranged in a predetermined position, for example, a conveyor belt shape.
(Picking motion simulation)

このようなロボットシステム1000でバラ積みピッキング動作を行うにあたり、予めシミュレーションを行ってバラ積みピッキング動作の検証を行うことが行われている。例えばロボットの設置位置やワークの収納容器BX、載置位置の相対位置、高さ等によっては、正しくワークを把持できないことがある。またセンサ部の設置される位置や角度によっては、ワークを正しく撮像できず、その三次元形状を正確に測定することも困難となる。そこで、予めバラ積みピッキングを行うロボットのピックやプレース動作の三次元的なピッキング動作シミュレーションを、ロボットシミュレーション装置を用いて行う。ロボットシミュレーション装置では、ワークの三次元形状を有するCADモデルをワークモデルとして、仮想的な作業空間である仮想作業空間に無作為に配置して、ロボットの取出工程、すなわちバラ積みピッキングをシミュレーションする。このようなシミュレーションで十分にピッキングが成功していないとユーザが判断した場合、ユーザはロボットを動作させるパラメータを修正してシミュレーションをやり直す。
(実施形態1)
(ロボットシミュレーション装置)
When performing such a bulk picking operation with such a robot system 1000, it is performed to perform a simulation in advance and verify the bulk picking operation. For example, depending on the installation position of the robot, the work container BX, the relative position of the placement position, the height, and the like, the work may not be correctly gripped. Also, depending on the position and angle at which the sensor unit is installed, the workpiece cannot be imaged correctly, and it is difficult to accurately measure the three-dimensional shape. Therefore, a robot picker and a three-dimensional picking motion simulation of a place motion for performing picking in advance are performed using a robot simulation device. In the 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, which is a virtual work space, to simulate a robot picking process, that is, bulk picking. When the user determines that the picking has not been sufficiently successful in such a simulation, the user corrects the parameter for operating the robot and restarts the simulation.
(Embodiment 1)
(Robot simulation device)

そこで、実施形態1においては、実際のワークを三次元計測した状態にできる限り近い状態でシミュレーションできるように、バラ積み状態のワークモデルの姿勢に基づいて、計測不可能となる部分を除外した三次元計測データを生成し、これに基づいてピッキング動作シミュレーションを行う。具体的には、バラ積み状態の姿勢から定まる、ワークモデルの表面の角度に基づいて、一定以上急峻な角度となる部分は三次元計測不可として、ピッキング動作シミュレーションで生成するバラ積みデータから除外する。これにより、センサ部を設置したりワークを実際に準備するといった手間のかかる確認作業や設定調整をしなくても、実際にバラ積みワークを撮像した状態に近い状態を実現できる。   Therefore, in the first embodiment, the third order excluding the parts that cannot be measured based on the posture of the workpiece model in the stacked state so that the simulation can be performed as close as possible to the state in which the actual workpiece is three-dimensionally measured. Original measurement data is generated, and a picking operation simulation is performed based on the generated measurement data. Specifically, based on the angle of the surface of the workpiece model, which is determined from the posture of the stacking state, the part with a steep angle above a certain level is excluded from the stacking data generated by the picking operation simulation as being impossible to measure three-dimensionally. . Accordingly, it is possible to realize a state close to a state in which an image of a piece-by-piece workpiece is actually picked up without performing a troublesome confirmation operation or setting adjustment such as installing a sensor unit or actually preparing a workpiece.

このような本発明の実施形態1に係るロボットシミュレーション装置100のブロック図を図3に示す。図3に示すロボットシミュレーション装置100は、ワークモデル設定部11と、バラ積みデータ生成部20と、バラ積みデータ記憶部23と、ピッキング動作シミュレート部30と、シミュレーションパラメータ調整部29とを備える。   FIG. 3 shows a block diagram of the robot simulation apparatus 100 according to the first embodiment of the present invention. The robot simulation apparatus 100 shown in FIG. 3 includes a work model setting unit 11, a stacking data generation unit 20, a stacking data storage unit 23, a picking motion simulation unit 30, and a simulation parameter adjustment unit 29.

ワークモデル設定部11は、ワークの三次元形状をモデル化したワークモデルを設定するための部材である。   The work model setting unit 11 is a member for setting a work model obtained by modeling the three-dimensional shape of a work.

バラ積みデータ生成部20は、姿勢条件設定部16により設定された姿勢条件に従って、仮想作業空間内に複数のワークモデルを積み上げたバラ積みデータを生成するための部材である。   The bulk stacking data generation unit 20 is a member for generating bulk stacking data in which a plurality of work models are stacked in the virtual work space in accordance with the posture condition set by the posture condition setting unit 16.

ピッキング動作シミュレート部30は、バラ積みデータ生成部20で生成されたバラ積みデータに対して、仮想作業空間内のワークモデルのピッキング動作を検証するバラ積みピッキング動作シミュレーションを実行するための部材である。   The picking motion simulating unit 30 is a member for executing the bulk picking motion simulation for verifying the picking motion of the work model in the virtual work space with respect to the bulk stacking data generated by the bulk stacking data generation unit 20. is there.

バラ積みデータ記憶部23は、ピッキング動作シミュレート部30によるピッキング動作シミュレーションの実行前のバラ積みデータ、又はピッキング動作シミュレーション実行途中のバラ積みデータの少なくとも何れかを記憶するための部材である。   The bulk stacking data storage unit 23 is a member for storing at least one of bulk stacking data before execution of the picking motion simulation by the picking motion simulator 30 and bulk stacking data during execution of the picking motion simulation.

シミュレーションパラメータ調整部29は、ピッキング動作シミュレート部30によるピッキング動作シミュレーションの結果、ロボットによる取り出しが不可能なワークモデルが存在する場合に、ロボットの動作に係るシミュレーションパラメータを調整するための部材である。   The simulation parameter adjustment unit 29 is a member for adjusting simulation parameters related to the robot operation when there is a work model that cannot be taken out by the robot as a result of the picking operation simulation by the picking operation simulation unit 30. .

ピッキング動作シミュレート部30は、シミュレーションパラメータ調整部29により調整されたシミュレーションパラメータを用いて、バラ積みデータ記憶部23に記憶されたシミュレーション実行前またはシミュレーション実行途中のバラ積みデータを読み出して、ピッキング動作シミュレーションを再実行としている。これにより、ピッキング動作シミュレーションに用いたバラ積みデータを記憶することで、シミュレーションパラメータを調整した結果が効果的であったかどうかの判断が容易となる。
(表示部3)
The picking motion simulating unit 30 uses the simulation parameters adjusted by the simulation parameter adjusting unit 29 to read the bulk stacking data stored in the bulk stacking data storage unit 23 before or during the simulation and picking motion The simulation is re-executed. Thereby, by storing the bulk data used in the picking operation simulation, it is easy to determine whether the result of adjusting the simulation parameters is effective.
(Display unit 3)

またロボットシミュレーション装置は、バラ積みデータ記憶部23に記憶されたバラ積みデータを表示可能な表示部3を備えることもできる。これにより、保存済みのバラ積みデータをユーザが視覚的に確認しながら、シミュレーションパラメータを調整することが可能となり、操作性を向上させることができる。
(実施形態1B)
The robot simulation apparatus can also include a display unit 3 that can display the bulk data stored in the bulk data storage unit 23. As a result, the user can adjust the simulation parameters while visually confirming the stored stacking data, and the operability can be improved.
(Embodiment 1B)

さらにロボットシミュレーション装置は、ピッキング動作シミュレート部30によるピッキング動作シミュレーションの結果、ロボットによる取り出しが不可能なワークモデルが存在する場合に、このワークモデルの取り出し失敗原因が、予め定義された複数の原因候補の中のいずれに該当するかを解析するための原因解析部24を備えることもできる。これにより、取り出しが不可能となった取り出し失敗原因を表示させることで、どのように修正すればよいかの対策を講じ易くなり、バラ積みピッキング動作をシミュレーションしながら、適切な設定に調整する作業を容易に行うことが可能なる。このような例を実施形態1Bとして、図4に示す。この図に示すロボットシミュレーション装置は、ワークモデル設定部11と、バラ積みデータ生成部20と、バラ積みデータ記憶部23と、ピッキング動作シミュレート部30と、シミュレーションパラメータ調整部29と、表示部3と、原因解析部24を備える。実施形態1Bにおいても、上述した実施形態1と同じ部材については、同一の符号を付して詳細説明を適宜省略する。原因解析部24の詳細については後述する。
(実施形態2)
Furthermore, the robot simulation apparatus, when there is a work model that cannot be picked up by the robot as a result of the picking motion simulation by the picking motion simulation unit 30, causes the work model pick-up failure to have a plurality of predefined causes. A cause analysis unit 24 for analyzing which of the candidates corresponds can be provided. This makes it easy to take measures to correct the problem by displaying the cause of the extraction failure that has become impossible to extract, and adjusting the appropriate settings while simulating the bulk picking operation Can be easily performed. Such an example is shown in FIG. 4 as Embodiment 1B. The robot simulation apparatus shown in this figure includes a work model setting unit 11, a bulk data generation unit 20, a bulk data storage unit 23, a picking motion simulation unit 30, a simulation parameter adjustment unit 29, and a display unit 3. And a cause analysis unit 24. Also in Embodiment 1B, the same members as those in Embodiment 1 described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate. Details of the cause analysis unit 24 will be described later.
(Embodiment 2)

ピッキング動作シミュレーションにおいて、ロボットのエンドエフェクタを模したエンドエフェクタモデルで把持可能と判定されても、実際に運用しようとすると、うまくバラ積みピッキングできないことがある。これは、ピッキング動作シミュレーション時には、図79Aに示すような、仮想的な三次元形状を有するワークモデルWMでもって判定しているところ、実際の運用時にはワークの三次元形状を取得できない場合があることに起因する。例えばワークが金属製の場合など、鏡面反射が強い場合には、ワークの姿勢によって計測できない部位が生じる。例えば図79Bに示すように、作業空間の上方からセンサ部で撮像する結果、ワークWKの傾斜が急峻となる部位については三次元形状を計測できない。さらに複数のワークが重なり合っている際に、下側にあるワークの形状を三次元計測できないという問題もある。この結果、シミュレーション上では三次元形状をサーチできるが、実運用時にはサーチに失敗してしまうことがあった。   In the picking motion simulation, even if it is determined that the robot can be gripped by an end effector model simulating an end effector of a robot, it may not be possible to perform picking in bulk when attempting to actually operate. This is because, in the picking motion simulation, the determination is made with the work model WM having a virtual three-dimensional shape as shown in FIG. 79A. caused by. For example, when specular reflection is strong, such as when the workpiece is made of metal, a portion that cannot be measured is generated depending on the posture of the workpiece. For example, as shown in FIG. 79B, as a result of imaging with the sensor unit from above the work space, a three-dimensional shape cannot be measured for a portion where the inclination of the workpiece WK becomes steep. Furthermore, there is a problem that when a plurality of workpieces overlap each other, the shape of the workpiece on the lower side cannot be measured three-dimensionally. As a result, although a three-dimensional shape can be searched on the simulation, the search sometimes fails during actual operation.

そこで、実施形態2においては、実際のワークを三次元計測した状態にできる限り近い状態でシミュレーションできるように、バラ積み状態のワークモデルの姿勢に基づいて、計測不可能となる部分を除外した三次元計測データを生成し、これに基づいてピッキング動作シミュレーションを行う。具体的には、バラ積み状態の姿勢から定まる、ワークモデルの表面の角度に基づいて、一定以上急峻な角度となる部分は三次元計測不可として、ピッキング動作シミュレーションで生成するバラ積みデータから除外する。これにより、センサ部を設置したりワークを実際に準備するといった手間のかかる確認作業や設定調整をしなくても、実際にバラ積みワークを撮像した状態に近い状態を実現できる。
(物理シミュレーション部)
Therefore, in the second embodiment, the third order excluding the part that cannot be measured based on the posture of the workpiece model in the stacked state so that the simulation can be performed as close as possible to the state in which the actual workpiece is three-dimensionally measured. Original measurement data is generated, and a picking operation simulation is performed based on the generated measurement data. Specifically, based on the angle of the surface of the workpiece model, which is determined from the posture of the stacking state, the part with a steep angle above a certain level is excluded from the stacking data generated by the picking operation simulation as being impossible to measure three-dimensionally. . Accordingly, it is possible to realize a state close to a state in which an image of a piece-by-piece workpiece is actually picked up without performing a troublesome confirmation operation or setting adjustment such as installing a sensor unit or actually preparing a workpiece.
(Physical simulation part)

またロボットシミュレーション装置は、ワークを積み上げたバラ積み状態を仮想的に再現する物理シミュレーションを行って、バラ積みデータを生成することもできる。このような例を実施形態2として図5に示す。この図に示すロボットシミュレーション装置は、ワークモデル設定部11と、姿勢条件設定部16と、物理シミュレーション部60と、バラ積みデータ生成部20と、バラ積みデータ記憶部23と、領域推定部22と、ピッキング動作シミュレート部30とを備える。このロボットシミュレーション装置は、ワークを積み上げたバラ積み状態を仮想的に再現する物理シミュレーションを行って、バラ積みデータを生成する。   In addition, the robot simulation apparatus can also generate bulk stacking data by performing a physical simulation that virtually reproduces the bulk stacking state of stacked workpieces. Such an example is shown in FIG. The robot simulation apparatus shown in this figure includes a work model setting unit 11, a posture condition setting unit 16, a physical simulation unit 60, a bulk data generation unit 20, a bulk data storage unit 23, a region estimation unit 22, And a picking motion simulating unit 30. This robot simulation apparatus performs physical simulation that virtually reproduces a stacked state in which workpieces are stacked, and generates bulk data.

これにより、明らかに不自然な姿勢のワークモデルを除外するなど、ユーザの実運用環境に合わせたバラ積みデータを生成してピッキング動作シミュレーションを行えるため、実際にワークを用意することなく、実運用時に近い形で事前に適切な設定調整や、検証を行うことができるようになる。   As a result, it is possible to generate bulk loading data that matches the user's actual operating environment, such as excluding work models with a clearly unnatural posture, so that picking motion simulation can be performed, so actual operation without actually preparing work Appropriate setting adjustments and verifications can be made in advance in a manner close to the time.

バラ積みデータ生成部20は、姿勢条件設定部16で設定された姿勢条件に合致しないワークモデルを排除したバラ積みデータを生成することができる。あるいはバラ積みデータ生成部20は、物理的に発生確率が低いワークモデルを排除したバラ積みデータを生成するよう構成してもよい。この場合は、物理的に発生確率が低いワークモデルを、ユーザが姿勢条件設定部16で指定する他、予めロボットシミュレーション装置側で物理的に発生確率が低いワークモデルの条件を用意しておくこともできる。このような規定値による姿勢条件の設定も、姿勢条件設定部16に包含する。   The unloading data generation unit 20 can generate unloading data excluding a work model that does not match the posture condition set by the posture condition setting unit 16. Alternatively, the bulk data generation unit 20 may be configured to generate bulk data excluding a work model having a physically low probability of occurrence. In this case, in addition to the user specifying a work model with a physically low probability of occurrence with the posture condition setting unit 16, a condition for the work model with a physically low probability of occurrence is prepared in advance on the robot simulation apparatus side. You can also. The setting of the posture condition based on the specified value is also included in the posture condition setting unit 16.

またバラ積みデータ生成部20は、姿勢条件設定部16で設定された姿勢条件に合致しないワークモデルが、バラ積みデータ内に存在する場合、あるいは所定割合以上存在する場合は、バラ積みデータを作成し直すよう構成してもよい。これにより、実運用時から懸け離れたバラ積みデータが得られた場合には、ピッキング動作シミュレーションを行わずに、バラ積みデータを作成し直し、実運用時に近いバラ積みデータに対してのみピッキング動作シミュレーションを行うことで、より正確なシミュレーション結果を得ることができる。   Also, the bulk data generation unit 20 creates bulk data when a work model that does not match the posture condition set by the posture condition setting unit 16 exists in the bulk data, or when there is a predetermined ratio or more. You may comprise so that it may redo. As a result, if bulk data far from actual operation is obtained, the bulk data is recreated without performing the picking operation simulation, and only picking operation simulation is performed for the bulk data close to the actual operation. By performing the above, a more accurate simulation result can be obtained.

姿勢条件設定部16は、ワークモデル設定部11で設定されたワークモデルを、仮想的な作業空間である仮想作業空間内に配置する際に、このワークモデルが取り得る姿勢に関する条件を姿勢条件として設定するための部材である。姿勢条件は、ユーザが手動で設定する他、予めロボットシミュレーション装置側で既定値として提示する構成としてもよい。また、ロボットシミュレーション装置が提示する姿勢条件の初期値を、ユーザが調整可能としてもよい。なお姿勢条件設定部16は、ワークモデルの基準姿勢からの許容回転角度、傾斜角度を姿勢条件として設定可能に構成できる。また姿勢条件設定部16は、ワークモデルの床面または他のワークモデルとの接触位置を真上から投影し、投影された接触位置を囲む外接矩形の面積と、ワークモデルの最大外接矩形の最大面積の比率を、姿勢条件として設定可能に構成してもよい。さらに姿勢条件設定部16は、ワークモデルの床面との接触位置や他のワークモデルとの接触位置、あるいは接触面の内で、最下方に位置する接触位置と重心位置との高さ方向の差分を姿勢条件として設定可能に構成することもできる。重心に対して低い位置で支えられているワークモデルは不安定と捉えることができる。さらにまた姿勢条件設定部16は、ワークモデルの特定の面が底面となるように姿勢条件を設定可能に構成してもよい。加えて姿勢条件設定部16は、ワークモデル間のX方向及び/またはY方向の配置間隔と、ワークモデルの段数を、姿勢条件として設定可能に構成することも可能である。   The posture condition setting unit 16 uses, as posture conditions, conditions related to postures that can be taken by the work model when the work model set by the work model setting unit 11 is placed in a virtual work space that is a virtual work space. It is a member for setting. The posture condition may be set manually by the user, or may be presented in advance as a default value on the robot simulation apparatus side. The initial value of the posture condition presented by the robot simulation device may be adjustable by the user. The posture condition setting unit 16 can be configured to be able to set the allowable rotation angle and tilt angle from the reference posture of the work model as posture conditions. The posture condition setting unit 16 projects the contact position of the workpiece model with the floor surface or another workpiece model from directly above, the area of the circumscribed rectangle surrounding the projected contact position, and the maximum of the maximum circumscribed rectangle of the workpiece model. The area ratio may be configured to be set as the posture condition. Further, the posture condition setting unit 16 has a height position between the position of contact with the floor of the work model, the position of contact with another work model, or the contact position located at the bottom of the contact surface and the position of the center of gravity. It is also possible to configure so that the difference can be set as the posture condition. A workpiece model supported at a low position with respect to the center of gravity can be regarded as unstable. Furthermore, the posture condition setting unit 16 may be configured to be able to set the posture condition so that a specific surface of the work model is a bottom surface. In addition, the posture condition setting unit 16 can be configured to be able to set the arrangement interval in the X direction and / or the Y direction between the work models and the number of stages of the work models as posture conditions.

物理シミュレーション部60は、ワークモデル設定部11で設定されたワークモデルを用いて、ワークを重力の作用を受けて作業空間に投入する動作を、ワークモデルを仮想作業空間に投入することでシミュレーションするための部材である。また、このようなワークモデルを仮想作業空間に投入するシミュレーションを、物理シミュレーションや投入動作シミュレーションと呼ぶ。また、本明細書において「投入」や「投下」とは、物理的に高所から落下させる動作に限られず、例えば転がりを検証するため、所定の高さから水平方向に押し出しながら落下させたり、放物線状に投げ上げて落下させたり、あるいは収納容器や床面にワークモデルを載置、あるいは静置する動作も含む意味で使用する。さらに、物理シミュレーションは、ワークモデルを一つづつ作業空間内に順次投入する他、複数のワークモデルを同時に投入、例えば落下させたり静置させる動作をシミュレーションすることもできる。   The physical simulation unit 60 uses the work model set by the work model setting unit 11 to simulate the operation of inputting the work into the work space under the action of gravity by inputting the work model into the virtual work space. It is a member for. In addition, simulation in which such a work model is input to the virtual work space is referred to as physical simulation or input operation simulation. In addition, in the present specification, “throwing” and “throwing” are not limited to the operation of physically dropping from a high place, for example, in order to verify rolling, dropping while extruding in a horizontal direction from a predetermined height, It is used in the sense that it includes the action of throwing it in a parabolic shape and dropping it, or placing or placing the work model on the storage container or floor. Furthermore, in the physical simulation, in addition to sequentially inputting the work models one by one into the work space, it is also possible to simulate the operation of simultaneously inputting a plurality of work models, for example, dropping or standing.

このようにして物理シミュレーションを複数回繰り返し、あるいは一括して行い、得られた結果、すなわち複数のワークモデルが無作為に、あるいは所定の態様で積み上げられたワークモデル群に基づいて、バラ積みデータ生成部20は、仮想作業空間内に複数のワークモデルが積み上げられた、仮想的な三次元のバラ積みデータを生成する。   The physical simulation is repeated a plurality of times or collectively, and the result obtained, that is, based on the work model group in which a plurality of work models are stacked randomly or in a predetermined manner, The generation unit 20 generates virtual three-dimensional loose stacking data in which a plurality of work models are stacked in the virtual work space.

ピッキング動作シミュレート部30は、生成されたバラ積みデータに対して、仮想作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するための部材である。これにより、ワークの三次元位置及び姿勢の検出可否など、手間のかかる確認作業や設定調整を、実際にワークを用意することなく、実運用に近い形で事前に行うことができる(詳細は後述)。   The picking operation simulating unit 30 is a member for verifying the unloading picking operation of the work model in the virtual work space with respect to the generated unloading data. As a result, troublesome confirmation work and setting adjustment, such as whether or not to detect the three-dimensional position and orientation of the workpiece, can be performed in advance in a form close to actual operation without actually preparing the workpiece (details will be described later). ).

特に物理シミュレーション部60は、ピッキング動作シミュレート部30による一のワークモデルを把持し少なくとも取り出し動作を開始した後、このワークモデルが取り出された後の状態のバラ積みデータに対して物理シミュレーションを再度実行する。物理シミュレーションを再度実行するタイミングは、ワークモデルを把持し、載置位置にプレースされた後とする他、ワークモデルの取り出し作業の途中であってもよい。すなわち、エンドエフェクタモデルでワークモデルを把持して、このワークモデルが持ち上げられた状態では、一のワークモデルが除去されたことで、このワークモデルの周辺にあった他のワークモデルの配置が移動可能となるため、把持されたワークモデルが載置されるまで待つ必要はない。よって、物理シミュレーションの再実行のタイミングは、一のワークモデルが把持されて持ち上げられたタイミング、あるいはその後、他のワークモデルの状態が重力の作用で移動して安定するまで待った後のタイミングとすることができる。例えば、ワークモデルが把持されて持ち上げられた時点から所定の時間の経過後(例えば10秒後)としてもよい。   In particular, the physics simulation unit 60 grips one workpiece model by the picking motion simulation unit 30 and starts at least the extraction operation. Then, the physics simulation unit 60 again performs physical simulation on the stacked data in a state after the workpiece model is extracted. Run. The timing for executing the physical simulation again may be after the work model is held and placed at the placement position, or may be in the middle of the work model take-out operation. That is, when the work model is gripped by the end effector model and this work model is lifted, the placement of another work model around this work model moves as one work model is removed 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, or after waiting until the other work model is moved and stabilized by the action of gravity. be able to. 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.

これを受けてバラ積みデータ生成部20は、物理シミュレーション部60による物理シミュレーションの再実行の結果に応じて、ピッキング動作シミュレート部30によるピッキング動作のシミュレーション中に、バラ積みデータを更新する。このようにしてピッキング動作シミュレート部30は、ピッキング動作シミュレーション中にバラ積みデータからワークモデルが一つ取り出されると、これに応じてバラ積みされたワークモデル群が崩れるといった動作も物理シミュレーションにより演算されるので、より正確なバラ積みピッキングのシミュレーションが実現される。   In response to this, the bulk data generation unit 20 updates the bulk data during the picking motion simulation by the picking motion simulator 30 according to the result of the physical simulation re-execution by the physical simulation unit 60. In this way, the picking motion simulating unit 30 also performs an operation by physical simulation, such as when one work model is extracted from the bulk data during the picking motion simulation, the work model group stacked in accordance with this is destroyed. Therefore, a more accurate simulation of bulk picking is realized.

また物理シミュレーション部は、バラ積みデータ生成部20が姿勢条件設定部16で設定された姿勢条件に合致しないワークモデルを排除した場合、この姿勢条件に合致しないワークモデルを排除した後の状態のバラ積みデータに対して、再度物理シミュレーションを適用するよう構成することもできる。これにより、例えば空中に浮いている等、物理的に存在し得ない姿勢のワークモデルが物理シミュレーション時には発生し得るため、このようなワークモデルを排除することで、信頼性の高い物理シミュレーション結果を得ることが可能となる。
(初期姿勢)
Further, when the stacking data generation unit 20 excludes a work model that does not match the posture condition set by the posture condition setting unit 16, the physical simulation unit changes the state after the work model that does not match the posture condition is excluded. It is also possible to configure so that the physical simulation is applied again to the stacked data. As a result, work models with postures that cannot physically exist, such as floating in the air, can occur during physical simulation.By eliminating such work models, highly reliable physical simulation results can be obtained. Can be obtained.
(Initial posture)

物理シミュレーション部は、姿勢条件設定部16により設定された姿勢条件に基づいてワークモデルの初期姿勢を決定し、初期姿勢のワークを作業空間に落下させる物理シミュレーションを実行するよう構成してもよい。また物理シミュレーション部により物理シミュレーションを実行した場合、更に姿勢条件設定部16により設定された姿勢条件に合致しないワークモデルを排除するよう構成してもよい。   The physical simulation unit may be configured to determine an initial posture of the work model based on the posture condition set by the posture condition setting unit 16 and to execute a physical simulation for dropping the workpiece in the initial posture into the work space. Further, when the physical simulation is executed by the physical simulation unit, a work model that does not match the posture condition set by the posture condition setting unit 16 may be excluded.

これらの部材は、例えばマイクロプロセッサ(MPU)やCPU、LSI、FPGAやASIC等のゲートアレイ、DSP等のハードウエアやソフトウエア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が図3等に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が図3に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。   These members 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.

例えば、図5の例では物理シミュレーション部60はバラ積みデータ生成部20と個別に用意されているが、バラ積みデータ生成部に物理シミュレーション部を統合することもできる。あるいはピッキング動作シミュレート部に、物理シミュレーション部とバラ積みデータ生成部とを統合させてもよい。   For example, in the example of FIG. 5, the physical simulation unit 60 is prepared separately from the bulk data generation unit 20, but the physical simulation unit may be integrated into the bulk data generation unit. Alternatively, the physical simulation unit and the bulk data generation unit may be integrated into the picking motion simulation unit.

一方、図2のブロック図に示すロボットシステム1000は、センサ部2と、画像処理部1と、表示部3と、操作部4と、ロボット本体5と、ロボットコントローラ6と、ロボット操作具7とを備える。センサ部2は、作業空間を撮像すると共に、三次元形状を計測する部材である。また画像処理部1は、三次元サーチ、干渉判定、把持解算出を行う部材である。なおセンサ部2を、作業空間を撮像するのみとして、画像処理部1側で三次元形状を計測する構成とすることもできる。三次元形状を取得する方法は、パターン投影法、ステレオ法、レンズ焦点法、光切断法、光レーダ法、干渉法、TOF方式などがある。本実施形態においては、パターン投影法の内、位相シフト法を用いている。   On the other hand, the robot system 1000 shown in the block diagram of FIG. 2 includes a sensor unit 2, an image processing unit 1, a display unit 3, an operation unit 4, a robot body 5, a robot controller 6, and a robot operation tool 7. Is provided. The sensor unit 2 is a member that images a work space and measures a three-dimensional shape. The image processing unit 1 is a member that performs a three-dimensional search, interference determination, and gripping solution calculation. The sensor unit 2 may be configured to measure a three-dimensional shape on the image processing unit 1 side only by imaging the work space. Methods for acquiring a three-dimensional shape include a pattern projection method, a stereo method, a lens focus method, a light cutting method, an optical radar method, an interference method, a TOF method, and the like. In this embodiment, the phase shift method is used in the pattern projection method.

このような三次元形状計測技術に応じて、センサ部2の構成が決定される。センサ部2は、カメラ、照明又はプロジェクタ等を備える。例えば位相シフト法でワークの三次元形状を計測する場合は、センサ部2として図6に示すように、プロジェクタPRJと複数のカメラCME1、CME2、CME3、CME4を備える。センサ部2は、カメラやプロジェクタといった複数の部材で構成する他、これらを一体的に構成してもよい。例えばカメラやプロジェクタを統合してヘッド状とした3D撮像ヘッドをセンサ部とすることができる。   The configuration of the sensor unit 2 is determined according to such a three-dimensional shape measurement technique. The sensor unit 2 includes a camera, illumination, a projector, or the like. For example, when measuring the three-dimensional shape of the workpiece by the phase shift method, the sensor unit 2 includes a projector PRJ and a plurality of cameras CME1, CME2, CME3, and CME4 as shown in FIG. The sensor unit 2 may be configured integrally with a plurality of members such as a camera and a projector. For example, a 3D imaging head that is formed into a head shape by integrating a camera and a projector can be used as the sensor unit.

画像処理部1は、このようにして得られたワークのバラ積みデータに基づいて、三次元サーチ、干渉判定、把持解算出等を行う。この画像処理部1は、専用の画像処理プログラムをインストールした汎用のコンピュータや、専用のコントローラ等が利用できる。なお図2では、画像処理部1を別個の部材で構成する例を示しているが、本発明はこの構成に限られず、例えばセンサ部と画像処理部を一体化したり、あるいはロボットコントローラに画像処理部を組み込むこともできる。また、センサ部側で撮像したデータに基づいて、画像処理部側でワークの三次元形状を取得するように構成してもよい。   The image processing unit 1 performs a three-dimensional search, interference determination, gripping solution calculation, and the like based on the workpiece stacking data obtained in this way. The image processing unit 1 can use a general-purpose computer installed with a dedicated image processing program, a dedicated controller, or the like. 2 shows an example in which the image processing unit 1 is configured by a separate member. However, the present invention is not limited to this configuration. For example, the sensor unit and the image processing unit are integrated, or the robot controller performs image processing. Parts can also be incorporated. Moreover, you may comprise so that the three-dimensional shape of a workpiece | work may be acquired on the image processing part side based on the data imaged on the sensor part side.

表示部3は、画像処理部1で取得されたワークの三次元形状を表示させたり、各種設定や動作状態の確認を行うための部材であり、液晶モニタや有機ELディスプレイ、CRT等が利用できる。操作部4は、画像処理等の各種設定を行うための部材であり、キーボードやマウス等の入力デバイスが利用できる。また表示部3をタッチパネルとすることで、操作部と表示部を一体化することもできる。   The display unit 3 is a member for displaying the three-dimensional shape of the workpiece acquired by the image processing unit 1 and for confirming various settings and operation states. A liquid crystal 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 image processing, and an input device such as a keyboard or a mouse can be used. Further, by using the display unit 3 as a touch panel, the operation unit and the display unit can be integrated.

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

ロボットコントローラ6は、センサ部2で撮像した情報に基づいてロボットの動作を制御する。またロボット操作具7は、ロボット本体5の動作設定を行うための部材であり、ペンダントなどが利用できる。   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 body 5, and a pendant or the like can be used.

ロボット本体5は、可動式のアームARMと、アームARMの先端に固定されたエンドエフェクタEETを備える。このロボット本体5はロボットコントローラ6に制御されて、アームARMを動作させ、一個のワークWKをピッキングして、これを所望の位置に移動させてプレースした後、リリースする。このためアームARMの先端には、ワークWKを把持するためのエンドエフェクタEETを備えている。またワークWKをプレースする載置位置は、例えばトレイ上やコンベア上等が挙げられる。   The robot body 5 includes a movable arm ARM and an end effector EET fixed to the tip of the arm ARM. The robot body 5 is controlled by the robot controller 6 to operate the arm ARM, pick one workpiece WK, move it to a desired position, place it, and release it. Therefore, an end effector EET for gripping the workpiece WK is provided at the tip of the arm ARM. Examples of the placement position for placing the workpiece WK include a tray and a conveyor.

ワークWKは、図1に示すように複数個が通い箱等の収容容器BXに無作為に収納されている。このような作業空間の上方には、センサ部2が配置されている。センサ部2はカメラや照明を備えており、このセンサ部2で、ワークWKの三次元形状を計測することができる。ロボットコントローラ6は、センサ部2で計測されたワークWKの三次元形状に基づいて、複数のワークの内から、把持対象のワークWKを特定して、このワークWKを把持するよう、ロボットを制御する。そして、ワークWKを把持したまま、アームARMを動作させて予め定められた載置位置まで移動させ、所定の姿勢でワークWKを載置する。いいかえると、ロボットコントローラ6は、センサ部2でピッキング対象のワークWKを特定し、このワークWKをエンドエフェクタEETで把持して、把持したワークWKを所定の基準姿勢にて、プレースする位置である載置位置に載置してエンドエフェクタEETを開放するようにロボットの動作を制御する。   As shown in FIG. 1, a plurality of workpieces WK are randomly stored in a storage container BX such as a return box. The sensor unit 2 is disposed above the work space. The sensor unit 2 includes a camera and illumination, and the sensor unit 2 can measure the three-dimensional shape of the workpiece WK. Based on the three-dimensional shape of the workpiece WK measured by the sensor unit 2, the robot controller 6 identifies the workpiece WK to be gripped from a plurality of workpieces, and controls the robot to grip the workpiece WK. To do. Then, while holding the work WK, the arm ARM is operated to move to a predetermined placement position, and the work WK is placed in a predetermined posture. In other words, the robot controller 6 is a position where the sensor unit 2 identifies the workpiece WK to be picked, grips the workpiece WK with the end effector EET, and places the gripped workpiece WK in a predetermined reference posture. The operation of the robot is controlled so that the end effector EET is opened by being placed at the placement position.

ここで本明細書においてバラ積みピッキングとは、図7Aに示すような収納容器BXに入れられて無作為に積み上げられたワークWKを、ロボットで把持して、所定の位置に載置する他、図7Bに示すような収納容器を用いずに所定の領域に積み上げられたワークWKに対して把持、載置を行う例、あるいは図7Cに示すような所定の姿勢で並べられて積み上げられたワークWKを順次把持、載置する例も含む意味で使用する。   Here, in the present specification, bulk picking means that a work WK randomly placed in a storage container BX as shown in FIG. 7A is gripped by a robot and placed at a predetermined position. An example of gripping and placing the workpiece WK stacked in a predetermined area without using the storage container as shown in FIG. 7B, or a workpiece stacked in a predetermined posture as shown in FIG. 7C It is also used to include an example of sequentially holding and placing WK.

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

またワークの把持とは、図8Aに示すようにワークWKの外側を挟み込む把持の他、図8Bに示すような、空洞を有するワークWK2の内部にエンドエフェクタEET2の爪部を挿入して拡開させることによって把持する例や、図8Cに示すような板状のワークWK3を吸引して把持するエンドエフェクタEET3の例を含む意味で使用する。以下では、ワークの把持の例としてワークの外側面を両側から把持する態様について説明する。またワークは、図1に示すように収納容器BXに多数個が収納されて無作為に積み上げられた状態で、このような複数のワークWKに対して一つづつ、エンドエフェクタEETでピックして、載置位置にプレースする作業を繰り返すバラ積みピッキング動作を、シミュレーションすることについて、以下説明する。   In addition to gripping the workpiece WK as shown in FIG. 8A, the workpiece gripping is performed by inserting the claw portion of the end effector EET2 into the hollow workpiece WK2 as shown in FIG. It is used to include an example of gripping by gripping and an end effector EET3 that sucks and grips a plate-like workpiece WK3 as shown in FIG. 8C. Below, the aspect which hold | grips the outer side surface of a workpiece | work from both sides is demonstrated as an example of the holding | grip of a workpiece | work. Also, as shown in FIG. 1, a plurality of workpieces are stored in a storage container BX and randomly stacked, and one by one is picked by the end effector EET for each of the plurality of workpieces WK. The simulation of the bulk picking operation that repeats the work of placing at the placement position will be described below.

次に、ピッキング動作シミュレーション時のシステム構成のブロック図を図9に示す。この図に示すピッキング動作シミュレーションシステムは、画像処理部1と、表示部3と、操作部4を備える。この構成においては、画像処理部1上ですべてのシミュレーションを行う。すなわち、実運用時に画像処理部1となる部材が、ピッキング動作シミュレーション時にはロボットシミュレーション装置として機能する。ただ、ロボットシミュレーション装置を画像処理部と兼用する構成に限られず、ロボットシミュレーション装置を画像処理部とは個別に用意することもできる。
(実施形態4)
Next, FIG. 9 shows a block diagram of a system configuration at the time of picking operation simulation. The picking operation simulation system shown in this figure includes an image processing unit 1, a display unit 3, and an operation unit 4. In this configuration, all simulations are performed on the image processing unit 1. That is, the member that becomes the image processing unit 1 during actual operation functions as a robot simulation device during a picking motion simulation. However, the configuration is not limited to the configuration in which the robot simulation device is also used as the image processing unit, and the robot simulation device can be prepared separately from the image processing unit.
(Embodiment 4)

また本発明は、物理シミュレーションによりバラ積みされたワークモデル群に対して、そのままピッキング動作シミュレーションを実行する構成に限られず、バラ積みされたワークモデル群に対して、部位毎に三次元計測が可能かどうかを判定し、判定結果に基づいてピッキング動作シミュレーションを行うように構成してもよい。このような例を実施形態4に係るロボットシミュレーション装置として、図10に示す。この図に示すロボットシミュレーション装置は、ワークモデル設定部11と、姿勢条件設定部16と、バラ積みデータ生成部20と、領域推定部22と、ピッキング動作シミュレート部30と、表示部3とを備える。実施形態4において、上述した実施形態1と同じ部材については、同一の符号を付して詳細説明を適宜省略する。
(領域推定部22)
In addition, the present invention is not limited to a configuration in which a picking motion simulation is directly executed on a work model group stacked by physical simulation, and three-dimensional measurement is possible for each part of the stacked work model group. It may be configured to perform a picking operation simulation based on the determination result. Such an example is shown in FIG. 10 as a robot simulation apparatus according to the fourth embodiment. The robot simulation apparatus shown in this figure includes a work model setting unit 11, a posture condition setting unit 16, a stacking data generation unit 20, a region estimation unit 22, a picking motion simulation unit 30, and a display unit 3. Prepare. In the fourth embodiment, the same members as those of the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.
(Area Estimator 22)

図10に示す領域推定部22は、バラ積みデータ内の各ワークモデルの位置と姿勢に基づいて、センサ部により三次元計測が困難と推定される推定領域を特定するための部材である。   The region estimation unit 22 illustrated in FIG. 10 is a member for specifying an estimation region in which three-dimensional measurement is estimated to be difficult by the sensor unit based on the position and orientation of each work model in the stacking data.

このようにして得られた推定領域のデータに基づいて、ピッキング動作シミュレート部30は、仮想作業空間内のワークモデルのバラ積みピッキング動作を検証するピッキング動作シミュレーションを実行する。すなわちピッキング動作シミュレート部30は、バラ積みデータから推定領域を除去して、ピッキング動作シミュレーションを実行する。   Based on the estimated area data obtained in this way, the picking motion simulation unit 30 executes a picking motion simulation for verifying the bulk picking motion of the work model in the virtual work space. That is, the picking motion simulation unit 30 removes the estimated area from the bulk data and executes the picking motion simulation.

なお、上記の例では領域推定部で推定される推定領域を、センサ部で三次元計測が困難と推定される領域としたが、逆にセンサ部で三次元計測が可能と推定される領域を推定領域としてもよい。
(実施形態5)
In the above example, the estimation region estimated by the region estimation unit is the region where the sensor unit is estimated to be difficult to perform the three-dimensional measurement. It is good also as an estimation area.
(Embodiment 5)

また、バラ積みデータから推定領域を除去したシミュレーション用データを生成するシミュレーション用データ生成部を付加してもよい。このような例を実施形態5として図11に示す。この図に示すロボットシミュレーション装置200は、ワークモデル設定部11と、姿勢条件設定部16と、物理シミュレーション部60と、バラ積みデータ生成部20と、領域推定部22と、ピッキング動作シミュレート部30と、シミュレーション用データ生成部40と、表示部3を備えている。実施形態5において、上述した実施形態1と同じ部材については、同一の符号を付して詳細説明を適宜省略する。
(シミュレーション用データ生成部40)
In addition, a simulation data generation unit that generates simulation data obtained by removing the estimation region from the bulk data may be added. Such an example is shown in FIG. The robot simulation apparatus 200 shown in this figure includes a work model setting unit 11, an attitude condition setting unit 16, a physical simulation unit 60, a stacking data generation unit 20, a region estimation unit 22, and a picking motion simulation unit 30. A simulation data generation unit 40 and a display unit 3. In the fifth embodiment, the same members as those in the above-described first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.
(Simulation data generator 40)

シミュレーション用データ生成部40は、領域推定部22により特定された推定領域のデータを含まないバラ積みデータをシミュレーション用データとして生成するための部材である。ピッキング動作シミュレート部30は、シミュレーション用データ生成部40で生成されたシミュレーション用データを用いて、ピッキング動作シミュレーションを実行する。   The simulation data generation unit 40 is a member for generating, as simulation data, unpacked data that does not include the estimated region data specified by the region estimation unit 22. The picking operation simulation unit 30 executes a picking operation simulation using the simulation data generated by the simulation data generation unit 40.

また表示部3は、バラ積みデータ生成部20で生成されたバラ積みデータを表示させることができる。このバラ積みデータは、物理シミュレーション部60により更新された際には、リアルタイムに更新して表示部3に表示させることもできる。これにより、従来のようにワークモデルが取り出された後、物理シミュレーションが再実行されずに中に浮いたワークモデルが存在するような状態を回避すると共に、表示部3上で物理シミュレーションを再実行した結果を表示させることで、ユーザに対し違和感なくバラ積み状態のワークを表示させることができる。   Further, the display unit 3 can display the bulk data generated by the bulk data generation unit 20. This bulk data can be updated in real time and displayed on the display unit 3 when it is updated by the physical simulation unit 60. As a result, after the work model is taken out as in the past, the physical simulation is not re-executed and the state where a floating work model exists is avoided, and the physical simulation is re-executed on the display unit 3 By displaying the result, it is possible to display the stacked workpieces without any discomfort to the user.

さらに表示部3は、シミュレーション用データ生成部40で生成されたシミュレーション用データを表示させて、ユーザに対し、確認させることが可能となる。この際、後述する図60Dや図62A、図62C等に示すように、実運用時には計測できない領域を、測定可能な領域と区別して表示させてもよい。これにより、ユーザに対して実運用時にどのような見え方となるのかを視覚的に把握させやすくなる。
(実施形態6)
Furthermore, the display unit 3 can display the simulation data generated by the simulation data generation unit 40 and allow the user to confirm the data. At this time, as shown in FIG. 60D, FIG. 62A, and FIG. 62C described later, an area that cannot be measured in actual operation may be displayed separately from the measurable area. This makes it easier for the user to visually understand what the user sees during actual operation.
(Embodiment 6)

さらに、ピッキング動作シミュレーションに際して、仮想的なセンサモデルを設定するセンサモデル設定部を付加することもできる。このような例を実施形態6に係るロボットシミュレーション装置300として図12に示す。   Furthermore, a sensor model setting unit for setting a virtual sensor model can be added in the picking operation simulation. Such an example is shown in FIG. 12 as a robot simulation apparatus 300 according to the sixth embodiment.

図12に示す実施形態6に係るロボットシミュレーション装置300は、シミュレーション環境設定部10と、検出用設定部50と、バラ積みデータ生成部20と、領域推定部22と、シミュレーション用データ生成部40と、ピッキング動作シミュレート部30と、表示部3を備える。バラ積みデータ生成部20は、物理シミュレーション部60を備える。実施形態6においても、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。
(検出用設定部50)
A robot simulation apparatus 300 according to the sixth embodiment illustrated in FIG. 12 includes a simulation environment setting unit 10, a detection setting unit 50, a stacking data generation unit 20, a region estimation unit 22, and a simulation data generation unit 40. The picking operation simulation unit 30 and the display unit 3 are provided. The bulk data generation unit 20 includes a physical simulation unit 60. Also in the sixth embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.
(Detection setting unit 50)

検出用設定部50は、位置や姿勢の検出や、干渉判定、把持解算出を行うための各種の設定を行うための部材である。ここでの設定には、位置や姿勢の検出(三次元サーチ)に関する設定(例えば、データの間引き量や、姿勢制限、重視する特徴部位の指定など)、ワークに対するエンドエフェクタの把持姿勢の設定等が挙げられる。
(シミュレーション環境設定部10)
The detection setting unit 50 is a member for performing various settings for detecting the position and orientation, determining the interference, and calculating the gripping solution. This setting includes settings related to position and orientation detection (three-dimensional search) (for example, data thinning amount, posture restriction, specification of important feature parts, etc.), end effector gripping posture setting for workpieces, etc. Is mentioned.
(Simulation environment setting unit 10)

またシミュレーション環境設定部10は、バラ積み画像を取得するための各種の設定を行うための部材である。ここでのシミュレーション環境の設定には、バラ積みをさせるワークの数、収納容器の情報、床の情報、センサ部を構成するカメラやプロジェクタの設計情報等が挙げられる。またピッキング動作シミュレーション時には、収納容器に対して、実運用上発生し得る、ランダムな位置ずれを発生させることもでき、この際の位置ずれの範囲等をシミュレーション環境の設定に含めることもできる。シミュレーション環境設定部10は、ワークモデル設定部11と、センサモデル設定部15と、姿勢条件設定部16を備える。
(ワークモデル設定部11)
The simulation environment setting unit 10 is a member for performing various settings for acquiring a stacked image. The setting of the simulation environment here includes the number of workpieces to be stacked, information on the storage container, floor information, design information of the cameras and projectors that constitute the sensor unit, and the like. Further, at the time of picking operation simulation, it is possible to generate a random misalignment that may occur in actual operation with respect to the storage container, and the range of misalignment at this time can be included in the setting of the simulation environment. The simulation environment setting unit 10 includes a work model setting unit 11, a sensor model setting unit 15, and an attitude condition setting unit 16.
(Work model setting unit 11)

ワークモデル設定部11は、ワークモデルに関する条件を設定する。ワークモデルは、CADで作成されたCADデータが利用できる。ワークのCADデータについて、CADのデータ形式は特に限定されないが、本実施形態においては、三次元のCADデータとして、最もシンプルなSTL形式を用いている。STLは、三角形のポリゴン情報(3点の座標とその面の法線ベクトル)の羅列のみで構成されるデータである。あるいはワークモデルとして、三次元情報を有する点群データで構成してもよい(後述する図60Eにおいて、表示部3に表示された点群表示画像を示している)。あるいはまた、ワークモデルを、高さ情報を有する画像データ、例えば高さ画像や距離画像で構成してもよい。
(表面状態パラメータ設定部)
The work model setting unit 11 sets conditions related to the work model. As the work model, CAD data created by CAD can be used. The CAD data format of the workpiece CAD data is not particularly limited, but in the present embodiment, the simplest STL format is used as the three-dimensional CAD data. STL is data composed only of a list of triangular polygon information (coordinates of three points and normal vectors of the surface). Alternatively, the work model may be constituted by point cloud data having three-dimensional information (a point cloud display image displayed on the display unit 3 is shown in FIG. 60E described later). Alternatively, the work model may be constituted by image data having height information, for example, a height image or a distance image.
(Surface condition parameter setting section)

またワークモデル設定部11は、表面状態パラメータ設定部12を備えてもよい。表面状態パラメータ設定部12は、ワークモデルの表面状態に関するパラメータを入力するための部材である。表面状態パラメータは、例えばワーク表面の反射率等を数値で規定する。あるいは、ワークの材質を規定する。個の場合、選択肢として「金属」、「ガラス」、「樹脂」等を挙げて、何れかをユーザに選択させるように構成してもよい。あるいはまた、表面状態を区別する官能的な選択肢、例えば「ぴかぴか」、「ざらざら」、「透明」、「つや消し」、「白っぽい」、「黒っぽい」等から選択させてもよい。この表面状態パラメータ設定部12で設定された表面状態パラメータによって、後述する角度閾値(しきい値)を変化させることができる。
(容器モデル設定部14)
The work model setting unit 11 may include a surface state parameter setting unit 12. The surface state parameter setting unit 12 is a member for inputting parameters relating to the surface state of the work model. The surface condition parameter defines, for example, the reflectance of the workpiece surface by a numerical value. Alternatively, the material of the workpiece is specified. In the case of the individual, “metal”, “glass”, “resin”, etc. may be cited as options and the user may select one of them. Alternatively, it may be selected from sensual options for distinguishing the surface state, for example, “sparkle”, “roughness”, “transparent”, “matte”, “white”, “black”. An angle threshold value (threshold value) to be described later can be changed by the surface condition parameter set by the surface condition parameter setting unit 12.
(Container model setting unit 14)

さらにシミュレーション環境設定部10は、通い箱など、ワークを収納する収納容器をモデル化した容器モデルを設定する容器モデル設定部14を含めてもよい。この場合は、センサモデルと容器モデルとの相対的な位置関係に基づいて、推定領域を推定するよう構成できる。   Furthermore, the simulation environment setting unit 10 may include a container model setting unit 14 that sets a container model obtained by modeling a storage container for storing a work such as a returnable box. In this case, the estimation region can be estimated based on the relative positional relationship between the sensor model and the container model.

姿勢条件設定部16は、ワークモデルの特定の面又は辺が、容器モデルに対して、特定の関係となるように姿勢条件を設定可能に構成できる。   The posture condition setting unit 16 can be configured to be able to set posture conditions so that a specific surface or side of the work model has a specific relationship with the container model.

また物理シミュレーション部は、容器モデル設定部で設定される容器モデルの段数を設定し、複数のワークモデルを容器モデル内に同時に落下させる物理シミュレーションを実行可能に構成してもよい。
(センサモデル設定部15)
The physical simulation unit may be configured to execute a physical simulation in which the number of stages of the container model set by the container model setting unit is set and a plurality of work models are simultaneously dropped into the container model.
(Sensor model setting unit 15)

センサモデル設定部15は、センサ部を構成する部材、例えばワークの三次元計測を行うためのカメラやのいずれか又はすべてについて、位置や姿勢を仮想的に示すカメラモデルやプロジェクタモデルを設定する。センサモデルがカメラモデルのみか、あるいはプロジェクタモデルも含むかについては、センサ部が採用するワークの三次元形状の測定方法、及びこれを実現するための部材に依存する。例えばパッシブステレオ方式の場合は、プロジェクタが不要なのでカメラモデルのみで足りる。   The sensor model setting unit 15 sets a camera model or a projector model that virtually indicates the position and orientation of any or all of the members constituting the sensor unit, for example, a camera for performing three-dimensional measurement of a workpiece. Whether the sensor model includes only the camera model or includes the projector model depends on a method for measuring the three-dimensional shape of the workpiece adopted by the sensor unit and a member for realizing the method. For example, in the case of the passive stereo system, only a camera model is sufficient because a projector is not necessary.

この場合、領域推定部22は、推定領域を、センサモデル設定部15で設定されたセンサモデルから見て死角となる領域を、計測困難な死角領域として推定するよう構成できる。死角領域の定義は、センサモデル設定部15で設定されたセンサモデルの種別によって異なる。例えばセンサ部で採用された三次元計測方法が縞投影方式や光切断方式の場合は、カメラモデルとプロジェクタモデルのいずれかから死角となる領域が死角領域となる。また複数のカメラを用いたステレオ法の場合は、複数のカメラモデルのいずれかから死角となる領域が死角領域となる。   In this case, the region estimation unit 22 can be configured to estimate a region that becomes a blind spot as viewed from the sensor model set by the sensor model setting unit 15 as a blind spot region that is difficult to measure. The definition of the blind spot area differs depending on the type of sensor model set by the sensor model setting unit 15. For example, when the three-dimensional measurement method employed in the sensor unit is a fringe projection method or a light cutting method, a blind spot region from either the camera model or the projector model is a blind spot region. In the case of the stereo method using a plurality of cameras, a blind spot region from any one of a plurality of camera models is a blind spot region.

さらに死角領域を、ワークモデルの平面内の位置に応じて変化させてもよい。計測視野の中央部よりも周辺部の方が死角が発生し易いため、これに対応させて死角領域を変化させることで、シミュレーションの精度を高めることできる。
(シミュレーション用データを更新)
Further, the blind spot area may be changed according to the position in the plane of the work model. Since the blind spot is more likely to occur in the peripheral part than in the central part of the measurement visual field, the accuracy of the simulation can be increased by changing the blind spot area corresponding to this.
(Update simulation data)

さらにピッキング動作シミュレーションの実行中に、いずれか一つのワークモデルが取り出されると、残りのワークモデルに対して領域推定部22が計測可能な領域を再度推定し、シミュレーション用データを更新することもできる。すなわちシミュレーション用データ生成部40は、ピッキング動作シミュレート部30によるバラ積みピッキング動作のシミュレーション実行中にいずれか一のワークモデルが取り出されると、残りのワークモデルに対して計測可能な領域を再度推定し、シミュレーション用データを更新することができる。これにより、従来は一度ピッキング動作シミュレーションが実行されると、ワークモデルが順次取り出されてもシミュレーション用データはそのまま維持されている結果、宙に浮いたような不自然なワークモデルが残る状態となっていたところ、実施形態5によれば、上方のワークモデルが取り出された場合に生じ得る、残りのワークモデルの変化を考慮した上で、その下方に位置するワークモデルの計測が可能となり、より正確なバラ積みピッキングのシミュレーションが実現される。   Furthermore, when any one work model is taken out during execution of the picking motion simulation, it is possible to re-estimate a region that can be measured by the region estimation unit 22 with respect to the remaining work model and update the simulation data. . That is, when any one of the work models is extracted during the simulation of the bulk picking operation performed by the picking operation simulating unit 30, the simulation data generation unit 40 re-estimates a measurable region for the remaining work models. The simulation data can be updated. As a result, once a picking motion simulation has been executed in the past, the simulation data is maintained as it is even if the work models are sequentially taken out, leaving an unnatural work model that floats in the air. However, according to the fifth embodiment, it is possible to measure the work model positioned below, considering the change of the remaining work model that may occur when the upper work model is taken out. Accurate simulation of bulk picking is realized.

なおこの動作は、上述した実施形態1や後述する他の実施形態においても、領域推定部22で再度推定された死角領域を、ピッキング動作シミュレート部30で再度読み出してピッキング動作シミュレーション結果を更新させることができる。
(実施形態7)
In this operation, in the first embodiment described above and other embodiments described later, the blind spot area re-estimated by the area estimation unit 22 is read again by the picking operation simulation unit 30 and the picking operation simulation result is updated. be able to.
(Embodiment 7)

以上の例では、領域推定部でバラ積みデータ内の各ワークモデルの位置と姿勢に基づいて、センサ部により三次元計測が可能か否かを推定して推定領域を特定している。ただ本発明はこの構成に限られず、例えばワークモデルの表面状態に応じて三次元計測の可否を推定するよう構成することもできる。このような例を実施形態7に係るロボットシミュレーション装置として、図13に基づき説明する。この図に示すロボットシミュレーション装置600は、シミュレーション環境設定部10と、バラ積みデータ生成部20と、領域推定部22と、シミュレーション用データ生成部40と、ピッキング動作シミュレート部30と、表示部3を備える。バラ積みデータ生成部20は、物理シミュレーション部60を備える。実施形態7においても、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。   In the above example, based on the position and orientation of each work model in the stacking data, the region estimation unit estimates whether the sensor unit can perform three-dimensional measurement and identifies the estimation region. However, the present invention is not limited to this configuration, and can be configured to estimate the possibility of three-dimensional measurement according to the surface state of the workpiece model, for example. Such an example will be described as a robot simulation apparatus according to Embodiment 7 with reference to FIG. The robot simulation apparatus 600 shown in this figure includes a simulation environment setting unit 10, a bulk data generation unit 20, a region estimation unit 22, a simulation data generation unit 40, a picking motion simulation unit 30, and a display unit 3. Is provided. The bulk data generation unit 20 includes a physical simulation unit 60. Also in the seventh embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals and detailed description thereof is omitted as appropriate.

シミュレーション環境設定部10は、ワークモデル設定部11と、姿勢条件設定部16を備える。ワークモデル設定部11は、表面状態パラメータ設定部12と、角度閾値決定部13を備える。表面状態パラメータ設定部12は、ワークモデルの表面状態に関する表面状態パラメータを設定するための部材である。この表面状態パラメータ設定部12により設定された表面状態パラメータに基づいて、角度閾値決定部13は、センサ部により三次元計測が困難となるセンサ部の測定軸に対するワークモデル表面の角度閾値を決定する。そして領域推定部は、角度閾値決定部13で決定された角度閾値よりも大きな傾斜角度を有するバラ積みデータ内の領域を、三次元計測が困難と推定される推定領域として特定する。この結果、シミュレーション用データ生成部は、領域推定部により推定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成し、ピッキング動作シミュレート部30が、このシミュレーション用データを用いて、ピッキング動作シミュレーションを実行する。これによって、ワークの表面状態に応じた三次元計測の結果を推測でき、より精度の高いピッキング動作のシミュレーションが可能となる。すなわち、ユーザが指定したワークの表面状態の情報から、三次元計測データとして採否を決定する角度閾値を決定できるので、用いるワークに応じた柔軟な調整が容易に行える利点が得られる。   The simulation environment setting unit 10 includes a work model setting unit 11 and an attitude condition setting unit 16. The work model setting unit 11 includes a surface state parameter setting unit 12 and an angle threshold determination unit 13. The surface state parameter setting unit 12 is a member for setting a surface state parameter related to the surface state of the work model. Based on the surface condition parameters set by the surface condition parameter setting unit 12, the angle threshold value determination unit 13 determines the angle threshold value of the workpiece model surface with respect to the measurement axis of the sensor unit that makes three-dimensional measurement difficult by the sensor unit. . Then, the region estimation unit identifies a region in the bulk data having an inclination angle larger than the angle threshold determined by the angle threshold determination unit 13 as an estimation region where it is estimated that three-dimensional measurement is difficult. As a result, the simulation data generation unit generates unstacked data that does not include the estimated region data estimated by the region estimation unit as simulation data, and the picking motion simulation unit 30 uses the simulation data. To execute a picking operation simulation. As a result, the result of three-dimensional measurement according to the surface state of the workpiece can be estimated, and a more accurate picking operation simulation can be performed. That is, since the angle threshold value for determining acceptance / rejection as the three-dimensional measurement data can be determined from the surface condition information of the workpiece specified by the user, there is an advantage that flexible adjustment according to the workpiece to be used can be easily performed.

特に従来のピッキング動作シミュレーションでは、単にワークモデルを読み込み、物理シミュレーションを行ってバラ積みデータを生成し、各ワークモデルが安定する位置や姿勢を求めて、その位置や姿勢にワークモデルを配置しているに過ぎなかった。このため、現実に作業空間内のワークを三次元計測する際には、計測できないはずの領域、例えばオクルージョンが発生していたり、ワークの表面が鏡面に近く、データが得られないといったデータも得られることになる。この結果、ピッキング動作シミュレーションン上では三次元サーチができたのに、実運用時にはサーチに失敗するなど、シミュレーション結果と、実際の結果が大きく乖離してしまうことが発生していた。   In particular, in conventional picking motion simulation, simply load a work model, perform physical simulation to generate bulk data, find the position and posture where each work model is stable, place the work model at that position and posture I was just there. For this reason, when actually measuring a workpiece in the workspace three-dimensionally, data such as an area that should not be measured, for example, occlusion occurs, or the surface of the workpiece is close to a mirror surface and data cannot be obtained. Will be. As a result, although the three-dimensional search can be performed on the picking operation simulation, the simulation result and the actual result may greatly deviate, such as a search failure in actual operation.

これに対して実施形態7では、ワークの表面状態を示す表面状態パラメータをユーザが指定可能としたことで、センサ部でプロジェクタの反射光をカメラで適切に受光できるかを正確に予測しやすくなり、ワーク上の各位置における三次元計測の可否の判定の精度を向上できる。
(実施形態7に係るシミュレーション環境の設定手順)
On the other hand, in the seventh embodiment, since the user can specify the surface condition parameter indicating the surface condition of the workpiece, it becomes easy to accurately predict whether the reflected light of the projector can be properly received by the camera by the sensor unit. The accuracy of determining whether or not three-dimensional measurement is possible at each position on the workpiece can be improved.
(Simulation Environment Setting Procedure According to Embodiment 7)

ここで、実施形態7に係るシミュレーション環境を設定する手順を、図14のフローチャートに基づいて説明する。   Here, the procedure for setting the simulation environment according to the seventh embodiment will be described based on the flowchart of FIG.

まずステップS1401において、ワークモデルの表面状態を指定する。ここでは表面状態パラメータ設定部12にて、対象となるワークに応じた表面状態パラメータを、ワークモデルの表面状態として指定する。   First, in step S1401, the surface state of the work model is designated. Here, the surface state parameter setting unit 12 specifies a surface state parameter corresponding to the target workpiece as the surface state of the workpiece model.

次にステップS1402において、表面状態が指定されたワークモデルのCADデータを、所定の数だけバラ積みして、三次元のバラ積みデータを得る。この例では、Zバッファ法を用いて高さ画像を生成していく中で、内部的に1ワーク毎に処理を行っている。1つのバッファに対し、全データを書き込んでいった後に、高さ画像が完成する。   Next, in step S1402, the CAD data of the work model with the specified surface state is stacked in a predetermined number to obtain three-dimensional packing data. In this example, the process is internally performed for each work while the height image is generated using the Z buffer method. After writing all the data to one buffer, the height image is completed.

そしてステップS1403において、このバラ積みデータから高さ画像を生成する。ここで高さ画像の生成方法について説明する。まず、ワークのCADデータであるワークモデルで構成された三次元のバラ積みデータに基づいて、陰影を消去するレンダリングによって二次元の高さ画像を描画する。レンダリング方法には、Zバッファ法、Zソート法、スキャンライン法、レイトレーシング法等が利用できる。ここではZバッファ法を用いて、複数のワークモデルを高さ画像に描画していく。Zバッファ法では、Zバッファ=高さ画像として実現される。また、Zバッファの初期化を、無限遠で行うのではなく、床面や箱の情報で最小に初期化する形を取る。Zバッファ法の過程で、各画素毎にワークモデルの面の法線情報を保持した、法線画像も同時に作成する。ここではZバッファを上書きした画素について、法線データも更新する。なお、本明細書中では、高さ画像への変換方法としてZバッファ法を例示するが、本発明はZバッファ法に限定するものでなく、上述の通り、他の方法も適宜利用できる。   In step S1403, a height image is generated from the bulk data. Here, a method for generating a height image will be described. First, 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 is also created for each pixel 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.

このようにして三次元のバラ積みデータから高さ画像に描画し直す。次に、ステップS1404において、すべてのワークモデルを描画したかを判定し、未だの場合はステップS1403に戻って処理を繰り返す。この結果、すべてのワークモデルの描画を終えた場合は、ステップS1405に進む。   In this manner, the height image is redrawn from the three-dimensional bulk data. Next, in step S1404, it is determined whether all work models have been drawn. If not, the process returns to step S1403 to repeat the process. As a result, if all the work models have been drawn, the process advances to step S1405.

ステップS1405では、画素毎に、指定された表面状態に基づいてデータを除去する角度閾値を決定する。この角度閾値の決定は、角度閾値決定部13で行われ、詳細については後述する。そしてステップS1406において、当該画素における法線の角度が、決定された閾値を超えるものを除去する。この処理も、ワークモデル設定部11の、例えば角度閾値決定部13で行う。さらにステップS1407において、すべての画素で実施したか否かを判定し、未だの場合はステップS1406に戻って処理を繰り返す。そして、すべての画素で実施したと判定されると、処理を終了する。このようにして、ピッキング動作シミュレーションの環境設定が行われる。
(表面状態パラメータ)
In step S1405, an angle threshold for removing data is determined for each pixel based on the designated surface state. The angle threshold value is determined by the angle threshold value determination unit 13 and will be described in detail later. Then, in step S1406, those whose normal angle in the pixel exceeds the determined threshold are removed. This process is also performed by, for example, the angle threshold value determination unit 13 of the work model setting unit 11. Further, in step S1407, it is determined whether or not the process has been performed for all pixels. If not, the process returns to step S1406 to repeat the process. Then, when it is determined that the process is performed for all the pixels, the process is terminated. In this way, the environment setting for the picking operation simulation is performed.
(Surface condition parameter)

ここで、ステップS1401においてワークモデルの表面状態を指定する手順について詳述する。表面状態を指定する表面状態パラメータには、ワークの材質、表面粗さ、加工方法、色、反射率等が挙げられる。これらは単独でも、あるいは複数を組み合わせて用いてもよい。   Here, the procedure for designating the surface state of the work model in step S1401 will be described in detail. Surface condition parameters for designating the surface condition include workpiece material, surface roughness, processing method, color, reflectance, and the like. These may be used alone or in combination.

ワークの材質を表すパラメータ値の例としては、金属、樹脂、セラミック等が挙げられる。また表面粗さを表すパラメータ値の例としては、Raなどの数値、三角記号、仕上げ面の名称(粗仕上げ、鏡面仕上など)等が挙げられる。さらに加工方法を表すパラメータの例としては、研削、フライス、ラップなどが挙げられる。さらにまた色を表すパラメータとして、黒、白、銀、つやあり、つやなし等が挙げられる。   Examples of parameter values representing the workpiece material include metals, resins, and ceramics. Examples of parameter values representing surface roughness include numerical values such as Ra, triangle symbols, names of finished surfaces (rough finish, mirror finish, etc.), and the like. Furthermore, examples of parameters representing the processing method include grinding, milling, and lapping. Furthermore, the parameters representing the color include black, white, silver, glossy, glossless, and the like.

また、ワークに対する指定方法として、ワーク全体に対して同じ表面状態を指定してもよいし、あるいは部分的に異なる表面状態を指定することもできる。このようなワークの表面を指定するには、ワークを仮想的に表したワークモデルを表示部上に表示させて行う。ここで、部分的に異なる表面状態の指定方法の一例として、図15A〜図15Bに示すように、表示部上に三次元状に表示されたワークモデルに対して設定を行う方法が挙げられる。例えば図15Aに示すワークモデルWMの斜視図上において、表面状態を設定したい面をユーザがマウス等のポインティングデバイスで直接指定する。指定された指定領域DSAは、図15Bに示すように着色されたりハイライトされる等して、指定された領域が他の領域と視覚的に区別し易くなるように表示態様を変更させることが好ましい。   Further, as a method for specifying the workpiece, the same surface state may be specified for the entire workpiece, or a partially different surface state may be specified. In order to designate the surface of such a workpiece, a workpiece model virtually representing the workpiece is displayed on the display unit. Here, as an example of a partially different surface state designation method, there is a method of setting a work model displayed three-dimensionally on the display unit as shown in FIGS. 15A to 15B. For example, on the perspective view of the work model WM shown in FIG. 15A, the user directly designates the surface for which the surface state is to be set with a pointing device such as a mouse. The designated area DSA may be colored or highlighted as shown in FIG. 15B to change the display mode so that the designated area can be easily visually distinguished from other areas. preferable.

あるいは図16Aに示すように、ワークモデルをワイヤーフレーム状WMFに表示させた状態で、表面状態を指定したい面を構成する頂点DSPを、図16Bに示すように個別に指定あるいは選択するように構成してもよい。この場合は、選択された頂点で規定された領域が、表面状態を指定する領域として特定される。   Alternatively, as shown in FIG. 16A, in a state where the work model is displayed on the wire frame WMF, the vertex DSP that constitutes the surface for which the surface state is to be designated is individually designated or selected as shown in FIG. 16B. May be. In this case, the area defined by the selected vertex is specified as the area for designating the surface state.

また、3D表示状態で設定を行う方法に限られず、2D表示状態で設定を行う方法としてもよい。例えば、図17に示すワークをA、Bの方向からそれぞれ見た平面図を、図18に示すように表示させる。このように、ワークモデルの展開図WMDを作成して表示部上に表示させ、展開図WMD上で指定を行ってもよい。
(角度閾値の決定方法)
Moreover, the method is not limited to the method of setting in the 3D display state, and may be a method of setting in the 2D display state. For example, a plan view of the workpiece shown in FIG. 17 viewed from the directions A and B is displayed as shown in FIG. In this manner, a development view WMD of the work model may be created and displayed on the display unit, and designation may be performed on the development view WMD.
(How to determine the angle threshold)

次に、以上のようにしてワークモデルの表面状態が指定された状態から、図14のステップS1405において、角度閾値を決定する方法を説明する。ここでは、プロジェクタモデルの光源の位置と反射モデルの式に基づいて、観測点における光と入射光との比率をワーク角度毎に算出し、この比率に対して閾値を設定する。設定された閾値を外れるワーク角度では計測できないものと判断して、三次元計測データから除去する。以下、具体的な方法を説明する。   Next, a method for determining the angle threshold in step S1405 of FIG. 14 from the state in which the surface state of the workpiece model is designated as described above will be described. Here, based on the position of the light source of the projector model and the expression of the reflection model, the ratio of the light at the observation point to the incident light is calculated for each work angle, and a threshold is set for this ratio. It is determined that the workpiece angle cannot be measured at a workpiece angle outside the set threshold value, and is removed from the three-dimensional measurement data. Hereinafter, a specific method will be described.

シミュレーションにおける反射のモデルは、主にコンピュータグラフィックスの分野において多く研究され、提唱されている。ここでは簡単のため、Phongの反射モデルを用いて具体的な手順を記載する。なお本発明においては、反射モデルはPhongの反射モデルに限定されず、他の反射モデルを用いてもよい。   Many models of reflection in simulation have been studied and proposed mainly in the field of computer graphics. Here, for the sake of simplicity, a specific procedure is described using a Phong reflection model. In the present invention, the reflection model is not limited to the Phong reflection model, and other reflection models may be used.

Phong反射モデルによれば、表面からの反射光は次式のように表現される。

…(1)式
なお上式において、各項は以下を表している。
I:反射光;Id:拡散反射成分;Is:鏡面反射成分;Ia:環境光成分
According to the Phong reflection model, the reflected light from the surface is expressed as follows.

(1) Formula In the above formula, each term represents the following.
I: reflected light; Id: diffuse reflection component; Is: specular reflection component; Ia: ambient light component

ここでは、光源から出射した光線がどの程度、観測点に到達するかを算出することが目的であるので、簡単のため、ここではIa=0とする。なお環境光が強い場合には、計測可否に影響が発生する場合があるので、Ia≠0として計算することもできる。Ia=0と仮定した結果、(1)式は次式のように表現できる。

…(2)式
Here, since the purpose is to calculate how much light rays emitted from the light source reach the observation point, Ia = 0 is set here for simplicity. Note that when the ambient light is strong, there may be an effect on whether or not the measurement is possible. Therefore, it can be calculated as Ia ≠ 0. As a result of assuming Ia = 0, the equation (1) can be expressed as the following equation.

... (2) formula

次に、それぞれの成分について説明する。ここでは、各反射成分を記述する数式は入射光が平行光線だった場合を想定している。なお、光源が他の様態であった場合には、その光源に合ったモデル式を用いればよい。
[拡散反射成分]
Next, each component will be described. Here, the mathematical formula describing each reflection component assumes a case where the incident light is a parallel light beam. If the light source is in another form, a model formula suitable for the light source may be used.
[Diffusion reflection component]

まず拡散反射のモデルとして、Lambert反射モデルを用いることができる。Lambert反射モデルは、理想的な拡散反射面が持つべき性質であり、どの方向から見ても輝度が一定になる反射モデルである。この様子を図19Aに示す。ここで入射光の輝度をI、入射角をα、拡散反射成分の割合をkd、拡散反射光の反射率をrdとすると、拡散反射光の輝度Idは次式で表される。
First, a Lambert reflection model can be used as a diffuse reflection model. The Lambert reflection model is a property that an ideal diffuse reflection surface should have, and is a reflection model in which luminance is constant when viewed from any direction. This is shown in FIG. 19A. Here, assuming that the luminance of the incident light is I, the incident angle is α, the ratio of the diffuse reflection component is kd, and the reflectance of the diffuse reflection light is rd, the luminance Id of the diffuse reflection light is expressed by the following equation.

上式において、α:ワーク法線と入射光の角度を示している。なおここではLambert反射モデルを用いて説明を行うものの、本発明においてはLambert反射モデルに限定せず、他の拡散反射モデルを用いてもよい。
[鏡面反射成分]
In the above equation, α represents the angle between the workpiece normal and the incident light. In addition, although it demonstrates using a Lambert reflection model here, in this invention, it is not limited to a Lambert reflection model, You may use another diffuse reflection model.
[Specular reflection component]

次に鏡面反射モデルとして、例えばPhong鏡面反射モデル、Blinn−Phong鏡面反射モデル、Torrance−Sparrow鏡面反射モデル、Blinn鏡面反射モデル等が挙げられる。本明細書においてはPhong鏡面反射モデルを説明するが、本発明はこれに限らず、上述したものを含め、他の鏡面反射モデルを用いることもできる。   Next, examples of the specular reflection model include a Phong specular reflection model, a Blinn-Phong specular reflection model, a Torrance-Sparrow specular reflection model, and a Blinn specular reflection model. In this specification, the Phong specular reflection model will be described. However, the present invention is not limited to this, and other specular reflection models including those described above can also be used.

図19Bに、Phong鏡面反射モデルの概略図を示す。この図において、αはワーク表面に対する法線と入射光の角度、βは正反射方向と観測点の角度、nは光の広がり度合いを表すパラメータを、それぞれ示している。図19Bに示すように、鏡面反射の場合、正反射方向を中心として少し広がりを持って反射する。また正反射方向から観測点が外れると、輝度が低下する。ここで入射光の輝度をI、正反射方向と観測点の角度をβ、拡散反射成分の割合をks、鏡面反射光の反射率をrsとすると、拡散反射光の輝度Isは次式で表される。
FIG. 19B shows a schematic diagram of the Phong specular reflection model. In this figure, α indicates the normal to the workpiece surface and the angle of the incident light, β indicates the specular reflection direction and the angle of the observation point, and n indicates a parameter indicating the degree of light spread. As shown in FIG. 19B, in the case of specular reflection, reflection is performed with a slight spread around the regular reflection direction. In addition, when the observation point deviates from the regular reflection direction, the luminance decreases. Here, assuming that the luminance of the incident light is I, the angle between the specular reflection direction and the observation point is β, the ratio of the diffuse reflection component is ks, and the reflectance of the specular reflection light is rs, the luminance Is of the diffuse reflection light is expressed by the following equation. Is done.

上式におけるnは、鏡面反射の度合いを表す係数である。nが大きいほど、広がりが少ない反射をすることになる。またここでは、環境光だけでなく、物体の自発光や物体による光の吸収がないものとして計算する。この反射光の輝度Irは次式で表される。
N in the above equation is a coefficient representing the degree of specular reflection. The larger n, the smaller the reflection. Here, calculation is performed assuming that not only the ambient light but also the self-light emission of the object and the light absorption by the object are absent. The brightness Ir of the reflected light is expressed by the following equation.

上式における各係数をどのように設定するかについては、前もって積分球などを使った測定器によって計測された値を設定しておいてもよい。あるいは、複数方向から照明をあてて簡易的に求めたり、ユーザが入力したりするのでも良い。ここでは各係数を、kd=0.5ks;ks=0.5;rd=0.7;rs=0.98;入射角度(α)=25°;鏡面反射光の広がり度合い(n)=200;観測点角度=15°とする。この係数での反射光の分布は、図20のようになる。   Regarding how to set each coefficient in the above equation, a value measured by a measuring instrument using an integrating sphere or the like may be set in advance. Alternatively, it may be simply obtained by applying illumination from a plurality of directions, or may be input by the user. Here, each coefficient is expressed as kd = 0.5 ks; ks = 0.5; rd = 0.7; rs = 0.98; incident angle (α) = 25 °; degree of specular reflection spread (n) = 200 The observation point angle = 15 °. The distribution of the reflected light with this coefficient is as shown in FIG.

このように、観測される方向によって、光の強さが変化する。観測される光の強さが小さいということは、光が当たっていない部分との差が小さいので、三次元計測ができないことになる。ここでプロジェクタから構造化されたパターンの光(構造光)をワークに照射することを考えると、光が当たっている部分からの反射光が、観測点にどの程度届くかによって、光が当たっていない部分とのコントラストが取れるかが決まってくるため、その度合いによって計測ができるかどうかが決まる。例えば、下記のような実施例を考える。
(実施例1)
Thus, the intensity of light changes depending on the observed direction. The fact that the intensity of the observed light is small means that the three-dimensional measurement cannot be performed because the difference from the portion not exposed to light is small. Here, considering that the workpiece is irradiated with structured light (structured light) from the projector, the light hits the observation point depending on how much the reflected light from the part hit by the light reaches the observation point. Since it is determined whether the contrast with the non-existing part can be obtained, whether or not the measurement can be performed is determined by the degree. For example, consider the following embodiment.
Example 1

拡散反射:鏡面反射=9:1;ワークの傾き=40°;入射光の強さ=I;kd=0.9I;ks=0.1I;rd=0.70;rs=0.98;α=40°;β=50°;n=100   Diffuse reflection: Specular reflection = 9: 1; Work tilt = 40 °; Incident light intensity = I; kd = 0.9I; ks = 0.1I; rd = 0.70; rs = 0.98; α = 40 °; β = 50 °; n = 100

この場合、ある点に当たった光を観測点から観察した時の輝度は、次式で表現される。

(実施例2)
In this case, the luminance when light hitting a certain point is observed from the observation point is expressed by the following equation.

(Example 2)

拡散反射:鏡面反射=1:9;ワークの傾き=40°;入射光の強さ=I;kd=0.1I;ks=0.9I;rd=0.70;rs=0.98;α=40°;β=50°;n=100   Diffuse reflection: specular reflection = 1: 9; workpiece tilt = 40 °; incident light intensity = I; kd = 0.1I; ks = 0.9I; rd = 0.70; rs = 0.98; = 40 °; β = 50 °; n = 100

この場合、ある点に当たった光を観測点から観察した時の輝度は、次式で表現される。
In this case, the luminance when light hitting a certain point is observed from the observation point is expressed by the following equation.

このように、図21Aに示すような入射光、観測点方向、正反射方向において、入射方向や観測方向、ワークの角度が同じであったとしても、拡散反射と鏡面反射の割合が異なると、観測される輝度は大きく異なることになる。ここで図21Bのような状況を考える。ここで、入射光の強さ=I;kd=0.1I;ks=0.9I;rd=0.70;rs=0.98;n=100とすると、図21Bのワークを傾けた時の入射光と反射光の比率は、図22のグラフに示すようになる。   Thus, in the incident light, the observation point direction, and the regular reflection direction as shown in FIG. 21A, even if the incident direction, the observation direction, and the workpiece angle are the same, if the ratio of diffuse reflection and specular reflection is different, The observed brightness will vary greatly. Here, a situation as shown in FIG. 21B is considered. Here, assuming that the intensity of incident light = I; kd = 0.1I; ks = 0.9I; rd = 0.70; rs = 0.98; n = 100, the workpiece shown in FIG. The ratio of incident light to reflected light is as shown in the graph of FIG.

入射光と反射光の比率が低いということは、ワークのある部分に光が当たっていても、観測点に光が返ってこないので、光が当たっていない部分との区別がつかないということを意味する。つまり、この比率はワーク面を観測したときに得られるコントラストの値に近いものと考えられる。そこで、この比率に対して閾値を設け、計測結果を計算する時の角度閾値とする。例えば、比率の閾値を0.4としたとき、ワーク角度20°のものについては、拡散反射割合が0.6より大きいワークであれば計測できるものとする。   The low ratio of incident light and reflected light means that even if light strikes a certain part of the work, it does not return to the observation point, so it cannot be distinguished from the part that is not illuminated. means. That is, this ratio is considered to be close to the contrast value obtained when the work surface is observed. Therefore, a threshold value is provided for this ratio, and the angle threshold value is used when calculating the measurement result. For example, when the threshold value of the ratio is 0.4, a workpiece having a work angle of 20 ° can be measured if the diffuse reflection ratio is larger than 0.6.

また、閾値は、上述したように一つの固定値としてもよいし、何らかの関数としたり、ユーザに指定させてもよい。   Further, the threshold value may be a single fixed value as described above, may be a function, or may be specified by the user.

鏡面反射成分が大きい場合、観測点がちょうど正反射方向にあると、かなり強い光が観測点方向に来てしまうため(例えば図21Bのワーク角度10°の場合)、カメラなどで受けた場合、画素が飽和して計測できなくなってしまうことがある。そういった箇所も判断するために、上側に閾値を設けるようにしてもよい。   When the specular reflection component is large, if the observation point is just in the regular reflection direction, a considerably strong light comes in the direction of the observation point (for example, when the work angle is 10 ° in FIG. 21B). The pixel may become saturated and cannot be measured. In order to determine such a location, a threshold value may be provided on the upper side.

このように決められた閾値を用いて計測を行った時の模式図を、図23A〜図23Dに示す。これらの図において、図23Aは拡散反射の割合が高い高さ画像を二次元表示した例を示すイメージ図、図23Bは図23Aを三次元表示した斜視図、図23Cは鏡面反射の割合が高い高さ画像の例を示すイメージ図、図23Dは図23Cの斜視図を、それぞれ示している。   Schematic diagrams when measurement is performed using the threshold value thus determined are shown in FIGS. 23A to 23D. In these drawings, FIG. 23A is an image diagram showing an example of a two-dimensional display of a height image having a high diffuse reflection ratio, FIG. 23B is a perspective view of FIG. 23A three-dimensionally displayed, and FIG. 23C is a high mirror reflection ratio high. FIG. 23D is a perspective view of FIG. 23C, respectively.

この方法を用いれば、より現実に近いシミュレーションを行うことができる。また、そのための設定方法をユーザがわかりやすい「材質」や「表面粗さ」などのキーワードで設定することができるようになるので、より簡単に設定を行うことができる。
(実施形態8)
If this method is used, a more realistic simulation can be performed. In addition, since the setting method for this can be set with keywords such as “material” and “surface roughness” that are easy for the user to understand, the setting can be performed more easily.
(Embodiment 8)

以上の例では、ピッキング動作シミュレート部30とは別に、バラ積みデータ生成部20や領域推定部22を設ける例を説明した。ただ本発明はこの構成に限らず、ピッキング動作シミュレート部にバラ積みデータやバラ積み画像の生成機能を持たせてもよい。このような例を実施形態8に係るシミュレーション装置400として、図24の機能ブロック図に示す。この図に示すロボットシミュレーション装置400は、ピッキング動作シミュレート部30Bと、シミュレーション環境設定部10と、検出用設定部50と、バラ積みデータ記憶部23を備える。実施形態8においても、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。   In the above example, the example in which the bulk data generation unit 20 and the region estimation unit 22 are provided separately from the picking motion simulation unit 30 has been described. However, the present invention is not limited to this configuration, and the picking motion simulation unit may be provided with a function for generating bulk data and bulk images. Such an example is shown in the functional block diagram of FIG. 24 as a simulation apparatus 400 according to the eighth embodiment. The robot simulation apparatus 400 shown in this figure includes a picking motion simulation unit 30B, a simulation environment setting unit 10, a detection setting unit 50, and a bulk data storage unit 23. Also in the eighth embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.

ピッキング動作シミュレート部30Bは、バラ積み画像生成部31と、位置姿勢検出部32と、把持解算出部33を備える。バラ積み画像生成部31は、複数のワークモデルがバラ積みされた三次元のバラ積みデータから、バラ積みされた状態を示す二次元の高さ画像として、バラ積み画像を生成する。このバラ積み画像は、センサ部から見た平面図とできる。位置姿勢検出部32は、バラ積み画像に含まれる各ワークモデルの位置及び姿勢を検出するための部材である。把持解算出部33は、各ワークモデルの位置及び姿勢から、ワークモデル同士の干渉判定を行い、さらにエンドエフェクタを模したエンドエフェクタモデルで把持可能な場合は、このワークモデルを把持するためのエンドエフェクタモデルの姿勢を算出する。
(ピッキング動作シミュレーションの手順)
The picking motion simulation unit 30B includes a stacked image generation unit 31, a position / orientation detection unit 32, and a gripping solution calculation unit 33. The stacked image generation unit 31 generates a stacked image as a two-dimensional height image indicating a stacked state from three-dimensional stacked data in which a plurality of work models are stacked. This bulk image can be a plan view viewed from the sensor unit. The position and orientation detection unit 32 is a member for detecting the position and orientation of each work model included in the stacked image. The gripping solution calculation unit 33 determines the interference between the work models based on the position and orientation of each work model, and when the gripper can be gripped by an end effector model simulating an end effector, an end for gripping the work model The posture of the effector model is calculated.
(Picking motion simulation procedure)

次に、ピッキング動作シミュレーションの手順を、図25のフローチャートに基づいて説明する。まず、ステップS2501において、シミュレーション環境を設定する。例えば、図24のシミュレーション環境設定部10から、バラ積み画像を生成するための設定をユーザに行わせる。   Next, the procedure of the picking operation simulation will be described based on the flowchart of FIG. First, in step S2501, a simulation environment is set. For example, the user makes settings for generating a stacked image from the simulation environment setting unit 10 in FIG.

次にステップS2502において、ワークモデルのバラ積み画像を生成する。ここでは、ワークを作業空間内に積み上げた状態を仮想的に再現するため、物理シミュレーションを実行する。物理シミュレーションは、ワークモデルを一つづつ仮想作業空間に落下させる動作を繰り返して、複数のワークモデルが無作為に積み上げられたバラ積みデータを構成するものである(詳細は後述)。   Next, in step S2502, a stacked image of work models is generated. Here, a physical simulation is executed in order to virtually reproduce the state in which the workpieces are stacked in the work space. The physical simulation repeats the operation of dropping the work models one by one in the virtual work space, and constitutes loose stacking data in which a plurality of work models are randomly stacked (details will be described later).

このようにしてステップS2502でバラ積み画像が得られると、次にステップS2503において、ワークモデルの位置及び姿勢を示す位置姿勢情報を出力するか否かを判定する。出力する場合はステップS2504に進み、ワークモデルの位置姿勢情報を出力した上でステップS2505に進む。一方、位置姿勢情報を出力しない場合は、ステップS2504を経ることなく、ステップS2505に進む。   In this way, when the stacked images are obtained in step S2502, it is next determined in step S2503 whether to output position / orientation information indicating the position and orientation of the work model. When outputting, it progresses to step S2504, and after outputting the position and orientation information of the work model, it proceeds to step S2505. On the other hand, if position / orientation information is not output, the process advances to step S2505 without passing through step S2504.

そしてステップS2505において、各ワークモデルの位置及び姿勢の検出を試みる。さらにステップS2506において、各ワークモデルの位置と姿勢が検出できたか否かを判定し、検出できる場合はステップS2507に進む。   In step S2505, an attempt is made to detect the position and orientation of each work model. Further, in step S2506, it is determined whether or not the position and orientation of each work model can be detected. If so, the process proceeds to step S2507.

一方、検出できない場合はステップS2511にジャンプして、残ったワークモデルに関する情報を抽出する。ここで残ったワークモデルに関する情報には、認識が正しくなされなかった結果ピッキングできずに残ってしまったワークモデルの個数や、位置姿勢情報が検出できたワークモデルについては当該位置姿勢情報を含む。   On the other hand, if it cannot be detected, the process jumps to step S2511 to extract information on the remaining work model. The information on the remaining work model includes the number of work models that cannot be picked as a result of incorrect recognition, and the position and orientation information for the work model for which position and orientation information can be detected.

続いてステップS2512で、この抽出されたワークモデルの位置姿勢情報を出力するか否かを判定する。出力する場合はステップS2513に進み、ワークモデルの位置姿勢情報を出力して処理を終了し、一方出力しない場合はそのまま処理を終了する。   Subsequently, in step S2512, it is determined whether or not to output the position and orientation information of the extracted work model. In the case of outputting, the process proceeds to step S2513, where the position / orientation information of the work model is output and the process is terminated.

ステップS2506でワークモデルの位置と姿勢が検出できた場合は、ステップS2507において、エンドエフェクタモデルと周辺データとの干渉判定と、把持解の算出を試みる。そしてステップS2508において、把持解を算出できたか否かを判定し、算出できた場合はステップS2509に進み、算出できない場合はステップS2511にジャンプして、上述の通り残ったワークモデルに関する位置姿勢情報を抽出し、ステップS2512で出力を判定した後、処理を終了する。   If the position and orientation of the workpiece model can be detected in step S2506, in step S2507, an attempt is made to determine the interference between the end effector model and the surrounding data and to calculate the gripping solution. In step S2508, it is determined whether or not the gripping solution can be calculated. If it can be calculated, the process proceeds to step S2509. If it cannot be calculated, the process jumps to step S2511 to obtain the position and orientation information regarding the remaining work model as described above. After extracting and determining the output in step S2512, the process ends.

ステップS2508で把持解を算出できた場合は、ステップS2509に進み、バラ積みデータを構成するワークモデルの数を一つ減らす。そしてステップS2510において、未処理のワークモデルが残っているか否かを判定し、残っている場合はステップS2502に戻ってバラ積み画像の生成から上記処理を繰り返し、一方残っていない場合は処理を終了する。   If the gripping solution can be calculated in step S2508, the process proceeds to step S2509, and the number of work models constituting the stacking data is reduced by one. In step S2510, it is determined whether or not an unprocessed work model remains. If it remains, the process returns to step S2502 to repeat the above processing from the generation of the stacked images, and if not, the processing ends. To do.

このようにして、ピッキング動作シミュレーションがピッキング動作シミュレート部によって実行される。実行された結果は、必要に応じて表示部に表示させることができる。ユーザはこれに基づいて、現在の設定の適否を判断できる。また必要に応じて、各種の設定を変更する。例えばロボット本体部の設置位置や収納容器を置く位置、センサ部の姿勢などを調整する。変更した設定を、シミュレーション環境設定部に入力して、再度ピッキング動作シミュレーションを実行し、その適否を確認するという作業を繰り返して、ユーザの環境に応じた適切な設定条件を決定できる。
(バラ積み画像の生成手順)
In this manner, the picking operation simulation is executed by the picking operation simulation unit. The executed result can be displayed on the display unit as necessary. Based on this, the user can determine whether the current setting is appropriate. Also, various settings are changed as necessary. For example, the installation position of the robot body, the position where the storage container is placed, the attitude of the sensor unit, and the like are adjusted. By inputting the changed settings to the simulation environment setting unit, executing the picking operation simulation again, and confirming the suitability, it is possible to determine appropriate setting conditions according to the user's environment.
(Procedure for creating bulk images)

次に、上記図25のフローチャートのステップS2502において、ワークモデルのバラ積み画像を生成する手順の詳細を、図26のフローチャートを用いて説明する。   Next, the details of the procedure for generating a stacked image of workpiece models in step S2502 of the flowchart of FIG. 25 will be described with reference to the flowchart of FIG.

まずステップS2601において、初期状態データを読み込むか否かを判定する。この判定は、ユーザに対して初期状態データを読み込むか否かの判断を促す。なお、初期状態データは、予めバラ積みデータ記憶部23等に保存されているものとする。   First, in step S2601, it is determined whether to read initial state data. This determination prompts the user to determine whether to read the initial state data. It is assumed that the initial state data is stored in advance in the bulk data storage unit 23 or the like.

初期状態データを読み込む場合はステップS2602に進み、保存された初期状態データに記録されている位置、姿勢にワークモデルを設定する。次いでステップS2603において、物理シミュレーションを実行する。例えば、ワークモデルを所定の高さから落下させる(詳細は後述)。さらにステップS2604において、シミュレーション環境設定部で指定された数のワークモデルが配置されたか否かをシミュレーションパラメータが判定し、未だの場合はステップS2602に戻って処理を繰り返す。そして、指定された数のワークモデルが投下されたと判定されると、ステップS2608に進み、ワークモデルの位置及び姿勢に基づいたバラ積み画像を生成し、処理を終了する。   When the initial state data is read, the process proceeds to step S2602, and the work model is set to the position and posture recorded in the stored initial state data. Next, in step S2603, a physical simulation is executed. For example, the work model is dropped from a predetermined height (details will be described later). In step S2604, the simulation parameter determines whether or not the number of work models specified by the simulation environment setting unit has been arranged. If not yet, the process returns to step S2602 to repeat the process. If it is determined that the designated number of work models have been dropped, the process advances to step S2608 to generate a stacked image based on the position and orientation of the work model, and the process ends.

一方、ステップS2601において初期状態データを読み込まないと判定された場合は、ステップS2605に進み、ワークモデルの初期状態を設定する。初期状態には、ワークモデルに物理シミュレーションを行う開始位置と姿勢が含まれる。例えば、収納容器の壁際の位置にワークモデルを配置したい場合等、ユーザが所望の位置にワークモデルをバラ積みしたい場合は、そのような位置と姿勢とを決定する。あるいは、乱数に基づいてワークモデルの位置と姿勢とを決定する。   On the other hand, if it is determined in step S2601 that the initial state data is not read, the process advances to step S2605 to set the initial state of the work model. The initial state includes the start position and orientation at which the physical simulation is performed on the work model. For example, when the user wants to stack the work model at a desired position, such as when the work model is to be placed at a position near the wall of the storage container, such position and posture are determined. Alternatively, the position and orientation of the work model are determined based on random numbers.

次にステップS2606において、このワークモデルに対して物理シミュレーションを実行する。さらにステップS2607において、指定された数のワークモデルが配置されたか否かを判定し、未だの場合はステップS2605に戻って処理を繰り返す。そして、指定された数のワークモデルが投下されたと判定されると、上記と同様にステップS2608に進み、ワークモデルの位置及び姿勢に基づいたバラ積み画像を生成し、処理を終了する。このようにしてバラ積み画像が生成される。
(物理シミュレーション)
In step S2606, a physical simulation is executed on the work model. Further, in step S2607, it is determined whether or not the designated number of work models have been arranged. If not yet, the process returns to step S2605 to repeat the processing. If it is determined that the designated number of work models have been dropped, the process proceeds to step S2608 in the same manner as described above, and a stacked image based on the position and orientation of the work model is generated, and the process ends. In this way, a stacked image is generated.
(Physical simulation)

なお、物理シミュレーションを行うに際には、必ずしもワークモデルを落下させる必要はない。例えば床面上にワークモデルを配置させたり、あるいは既存のワークモデルの上に他のワークモデルを接するように配置させた状態から物理シミュレーションをスタートさせても良い。すなわち、ワークモデルを落下させるという動作は、物理シミュレーションにおいては必ずしも必要でない。ただし、ワークを実際に床面上やバラ積みされた他のワーク上に置いた状態で、倒れたり、傾いたり、滑ったりといった、実際のワークが重力や摩擦などの自然に作用する応力や抵抗を受けて動く可能性を考慮する。また、ワークを配置させた直後のみならず、その後に他のワークをピッキングしたことで、バラ積みされたワークのバランスが崩れてさらに動くといった動作も考慮して、ワークモデルの仮想的な動きをシミュレーションする。すなわち本明細書でいうワークやワークモデルが「重力の作用を受け」るとは、ワーク等を落下させることに限定されず、載置されたワーク等が傾いたり崩れたり滑ったり、あるいは摩擦によって滑らない状態となること、ワークの反発係数により移動量が変わること等、自然界に働く応力や抵抗力により、安定した状態から不安定な状態となって動くことを包含する意味で使用する。
(シミュレーションの初期状態の再現)
Note that it is not always necessary to drop the work model when performing the physical simulation. For example, the physical simulation may be started from a state in which a work model is arranged on the floor surface, or another work model is arranged in contact with an existing work model. That is, the operation of dropping the work model is not always necessary in the physical simulation. However, when the work is actually placed on the floor or other work stacked in bulk, the stress or resistance of the actual work, such as gravity or friction, such as falling, tilting or sliding Consider the possibility of moving in response. In addition, not only immediately after placing the workpiece, but also by picking another workpiece after that, the balance of the stacked workpiece will be lost and the movement of the workpiece model will be taken into consideration, and the virtual movement of the workpiece model will be considered. Simulate. In other words, the work or work model referred to in the present specification is not limited to dropping the work etc., but the placed work etc. is tilted, collapsed, slipped, or caused by friction. It is used in the sense that it moves from a stable state to an unstable state due to stress or resistance acting on the natural world, such as a non-slip state or a change in the amount of movement depending on the coefficient of restitution of the workpiece.
(Reproduction of initial state of simulation)

ここで、図27に示すような円筒形のワークモデルWMCをバラ積みして、ピッキング動作シミュレーションを行う例について説明する。ここでは、図28Aに示すワークモデルWMCをバラ積みしたバラ積みデータの初期状態に対して、ピッキング動作シミュレーションを行い、ワークモデルの一つづつ取り出す処理を行った結果、図28Dに示す状態で、ピッキング動作シミュレーションが終了した場合を考える。   Here, an example in which a cylindrical work model WMC as shown in FIG. 27 is stacked and a picking operation simulation is performed will be described. Here, as a result of performing a picking operation simulation on the initial state of the unloading data obtained by unloading the work model WMC illustrated in FIG. 28A and performing a process of taking out the work models one by one, in the state illustrated in FIG. Consider the case where the picking motion simulation is completed.

ここで、バラ積みデータの初期状態がランダムの場合は、以前の物理シミュレーションで得られた状態を同じ状態を作ることができない。すなわち、物理シミュレーションの度毎にランダムなバラ積みデータが生成されるため、図28Aに示す初期状態は一過性のものとなって、再現性がない。   Here, when the initial state of the bulk data is random, the same state as the state obtained in the previous physical simulation cannot be created. That is, since random bulk data is generated every physical simulation, the initial state shown in FIG. 28A is transient and has no reproducibility.

一方、ユーザがピッキング動作パラメータの設定の見直しなどを行い、その効果を確認しようとする場合、以前のピッキング動作シミュレーションでうまくいかなかった状態を再現して、このバラ積みデータに対して確認するのが最も効率的である。例えば、あるワークモデルに対するエンドエフェクタモデルの把持解が見つからずに全てのワークモデルを取り出せなかった場合に、その対策としてユーザが把持の教示位置を増やした場合を考える。この場合、ユーザが変更した設定が、前回発生した問題に対して有効であったか否かを判断するためには、前回うまく行かなかった状態、又はこれと近い状態を再現して確認することが最も有効である。   On the other hand, when the user reviews the picking operation parameter settings and wants to confirm the effect, it reproduces the state that did not work in the previous picking operation simulation and confirms this bulk data. 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, a case where the user increases the grip teaching position as a countermeasure is considered. In this case, in order to determine whether or not the settings changed by the user were effective for the problem that occurred last time, it is best to reproduce and check the state that did not go well last time or a state close to this. It is valid.

加えて、問題が発生した正にその状態だけでなく、その問題が発生するに至った過程の状態から開始できるようにしてもよい。例えば問題が発生したバラ積みデータを、ワークモデルを順次追加して構成している場合は、問題が発生した段階の数回前の、ワークモデルの数が数回分少ない状態で、対応できるかどうかを確認することが考えられる。   In addition, it may be possible to start not only from the state in which the problem has occurred but also from the state of the process in which the problem has occurred. For example, if bulk data with a problem is configured by adding work models sequentially, whether the work model can be handled several times before the stage where the problem occurs and the number of work models is few It is possible to confirm.

これらを実現するために、本実施形態においては、バラ積みデータの初期状態や終了状態、あるいは中間状態等、ユーザが再利用したいと考える状態のデータを保存しておき、ピッキング動作パラメータの調整後に、このような保存済みのバラ積みデータを呼び出して、検証することを可能としている。   In order to realize these, in the present embodiment, data in a state that the user wants to reuse, such as an initial state, an end state, or an intermediate state of bulk data, is stored, and after adjusting the picking operation parameter The stored bulk data can be called up and verified.

例えば図28Dの終了状態をバラ積みデータ記憶部23に保存しておくことで、ユーザがピッキング動作に失敗した原因を推測し、予想されるシミュレーションパラメータをシミュレーションパラメータ設定部で再設定後、この状態で再度ピッキング動作シミュレーションを実行し、ピッキングが可能かどうかを確認できる。あるいは、ピッキング動作シミュレーションに失敗して終了した状態のみならず、その前の段階からピッキング動作を検証するため、ピッキング途中の状態のバラ積みデータをバラ積みデータ記憶部23に保存しておくこともできる。例えば図28Cは、図28Dの終了状態から10回遡った状態のバラ積みデータを示しており、この段階から、シミュレーションパラメータを再設定したピッキング動作を検証することもできる。あるいはより古いデータに遡って、図28Bに示すように、図28Dの終了状態から20回遡った状態のバラ積みデータを保存し、これを読み出して再度ピッキング動作シミュレーションを実行することもできる。   For example, by saving the end state of FIG. 28D in the bulk data storage unit 23, it is estimated that the user has failed in the picking operation, and the simulation parameter setting unit resets the expected simulation parameter. Then, you can run the picking motion simulation again and check if picking is possible. Alternatively, in order to verify the picking operation from the previous stage as well as the state where the picking operation simulation has failed, it is also possible to store the unpacking data in the middle of picking in the unloading data storage unit 23. it can. For example, FIG. 28C shows the stacking data in a state that has been traced ten times from the end state of FIG. 28D, and from this stage, the picking operation in which the simulation parameters are reset can be verified. Alternatively, as shown in FIG. 28B, tracing back to older data, it is also possible to save the bulk data that has been traced 20 times from the end state of FIG. 28D, read it, and execute the picking operation simulation again.

また、バラ積みデータの保存は、上述したようにユーザが所定のタイミングで行う他、所定のタイミングで自動で保存されるように構成してもよい。所定のタイミングとして、例えば、ピッキング動作シミュレーション実行前の初期状態や、ピッキング動作シミュレーション完了後の最終状態で、これ以上ピッキングできるワークモデルがない状態、あるいは中間でワークモデルが取り出される際毎に定期的に保存するようにしてもよい。   Further, the bulk data may be stored at a predetermined timing as described above, or may be automatically stored at a predetermined timing. As the predetermined timing, for example, the initial state before execution of the picking operation simulation, the final state after completion of the picking operation simulation, the state where there is no work model that can be picked any more, or every time the work model is taken out in the middle You may make it save to.

また、別の所定のタイミングとして、例えばバラ積みされるワークの数が、5個おきや10個おきといった一定個数毎としたり、あるいはバラ積みデータを作成する経過時間で5分おき、10分おきなどとしてもよい。また、自動保存されるバラ積みデータの容量や数に制限を設けてもよい。例えば自動保存されたバラ積みデータが500個を越えると、古いデータを上書きするようにしたり、あるいは自動保存されたデータの総和が500MBを越えた場合に、古いデータから順に上書きして削除するようにするなどのルールを設けることができる。   Further, as another predetermined timing, for example, the number of workpieces to be piled up is every fixed number such as every 5 pieces or every 10 pieces, or every 5 minutes every 10 minutes in the elapsed time for creating loosely piled data. And so on. Further, there may be a limit on the capacity and number of bulk data to be automatically saved. For example, if the automatically stored bulk data exceeds 500, the old data is overwritten, or if the sum of the automatically stored data exceeds 500 MB, the old data is overwritten and deleted in order. Rules such as can be set.

さらに、これら自動又は手動で保存されたデータを遡って読み出す際のユーザインターフェース画面として、例えば早送り、巻き戻しのようなVTR等で一般的なボタン類を配置したり、ジョグシャトルやジョグダイヤルのような回転式の部材でもって送り方向と戻し方向をスムーズに切り替え可能な操作部を用意することもできる。または、スクロールバーやスライダのような、直線的な部材でもって過去の位置を指定するように構成してもよい。   Furthermore, as a user interface screen for reading these automatically or manually stored data retroactively, for example, general buttons are arranged in a VTR such as fast forward and rewind, a jog shuttle, a jog dial, etc. An operation unit that can smoothly switch between the feeding direction and the returning direction with a rotary member can be prepared. Or you may comprise so that the past position may be designated with a linear member like a scroll bar or a slider.

また、このような保存済みのバラ積みデータを読み出す代わりに、新たにバラ積みデータをランダムに生成することもできる。例えばピッキング動作シミュレーション中にユーザに対し、過去のバラ積みデータを利用するか、新規のバラ積みデータを利用するかを選択させるように構成してもよい。
(物理シミュレーションの過程におけるデータの保存)
Also, instead of reading such stored bulk data, new bulk data can be randomly generated. For example, during the picking operation simulation, the user may be configured to select whether to use past unloading data or new unloading data.
(Data storage in the process of physical simulation)

一般的にバラ積みデータでシミュレーションを行うには、物理シミュレーションが用いられる。物理シミュレーションでは、重力が設定された仮想作業空間において、質量を持つワーク等の物体の動きが動的にシミュレーションされる。各々の物体が衝突した場合には、予め設定された反発係数や摩擦係数を考慮して、物体が衝突後どのような動きになるかが示される。このような物理シミュレーションの手順を、図29A、図29Bのフローチャートに基づいて以下説明する。   In general, physical simulation is used to perform simulation with bulk data. In the physical simulation, the motion of an object such as a workpiece having a mass is dynamically simulated in a virtual work space in which gravity is set. When each object collides, it is shown how the object moves after the collision in consideration of a repulsion coefficient and a friction coefficient set in advance. Such a physical simulation procedure will be described below with reference to the flowcharts of FIGS. 29A and 29B.

まずステップS2901において、仮想空間を作成する。次にステップS2902において、作成された仮想空間の設定を行う。ここでは、仮想空間内の重力など、物理シミュレーション全体に拘わるパラメータを設定する。なお、仮想空間の作成と設定を同時に行ってもよい。   First, in step S2901, a virtual space is created. In step S2902, the created virtual space is set. Here, parameters related to the entire physical simulation, such as gravity in the virtual space, are set. Note that creation and setting of the virtual space may be performed simultaneously.

さらにステップS2903において、ワークモデルをばら積みする収納容器を設定する。例えば、収納容器の縦、横、高さの長さ等を設定する。次にステップS2904において、ワークモデルをばら積みする収納容器の配置を設定する。バラ積みデータを生成する物理シミュレーションでは多くの場合、収納容器は静的なオブジェクトとして配置される。   In step S2903, a storage container for stacking work models in bulk is set. For example, the length, width, height length, etc. of the storage container are set. Next, in step S2904, the arrangement of storage containers for stacking work models in bulk is set. In a physical simulation that generates bulk data, the storage container is often arranged as a static object.

そしてステップS2905において、ワークモデルのサイズを設定する。例えばワークモデルのサイズや形状、密度、重量など、ワークモデルに特有の設定を行う。次にステップS2906において、ワークモデル位置情報の読み取りを行う。   In step S2905, the size of the work model is set. For example, settings specific to the work model such as the size, shape, density, and weight of the work model are performed. In step S2906, the work model position information is read.

さらにステップS2907において、ワークモデルの初期位置が指定されているか否かの判定を行う。指定されていない場合は、ステップS2908において、ワークモデルの初期位置及び姿勢をランダムに設定してステップS2910に進む。一方、ワークモデルの初期位置が設定されている場合は、ステップS2909において、ワークモデルの位置及び姿勢を指定位置姿勢に設定してステップS2910に進む。なお、ワークモデルの初期位置は、例えばテキストデータ等の設定ファイルを読み込んで設定してもよいし、あるいはGUI等を用いてユーザが指定できるようにしてもよい。   In step S2907, it is determined whether or not the initial position of the work model is designated. If not specified, in step S2908, the initial position and orientation of the work model are set randomly, and the flow advances to step S2910. On the other hand, if the initial position of the work model is set, in step S2909, the position and posture of the work model are set to the designated position and posture, and the process proceeds to step S2910. The initial position of the work model may be set by reading a setting file such as text data, or may be specified by the user using a GUI or the like.

次にステップS2910において、ワークモデルの生成を行う。そしてステップS2911において、指定された数量のワークモデルが生成されたか否かを判定し、未だの場合はステップS2906に戻って上記工程を繰り返す。一方、指定された数のワークモデルが生成された場合は、ステップS2912に進み、単位時間後のワークモデルの位置・姿勢をシミュレーションする。ここでは、ワークモデルに限らず、全ての物体について、他のワークモデルとの衝突なども考慮した上で、単位時間後のワークモデルの位置・姿勢を計算する。そしてステップS2913において、全てのワークモデルがその位置及び姿勢で安定しているか否かを判定する。安定していない場合はステップS2912に戻って上記工程を繰り返す。一方、安定していると判定された場合はステップS2914に進み、ワークモデルの位置・姿勢情報を保存するか否かを判定する。保存の要否はユーザが判断する。ユーザは、例えば後に設定の見直しやシミュレーションのやり直しをする可能性がある場合など、データ保存の必要性を感じる場合に保存する。保存する場合はステップS2915に進み、ワークモデルの位置・姿勢情報の保存や出力処理を行った上で処理を終了する。なおここで、ユーザに出力の有無を都度指定させても良い。あるいは物理シミュレーション部の内部で、常にロギングしておいてもよい。さらには、保存するデータを回数で指定させてもよい。例えばN回ごとや10回分など、任意のタイミングや数を指定できる。一方、保存が不要と判断された場合は、そのまま処理を終了する。   In step S2910, a work model is generated. In step S2911, it is determined whether or not a specified number of work models have been generated. If not, the process returns to step S2906 to repeat the above steps. On the other hand, if the designated number of work models has been generated, the process advances to step S2912 to simulate the position / posture of the work model after unit time. Here, not only the work model but also the position and orientation of the work model after a unit time are calculated for all objects in consideration of collisions with other work models. In step S2913, it is determined whether all work models are stable in their positions and postures. If not stable, the process returns to step S2912, and the above process is repeated. On the other hand, if it is determined that the position is stable, the process advances to step S2914 to determine whether or not to save the position / posture information of the work model. The user determines whether or not to save. The user saves the data when he / she feels the necessity to save the data, for example, when there is a possibility that the setting will be reviewed or the simulation may be performed again later. In the case of saving, the process proceeds to step S2915, and after saving and outputting the position / posture information of the work model, the process ends. Here, the user may specify whether or not to output each time. Alternatively, logging may always be performed inside the physical simulation unit. Furthermore, the data to be stored may be designated by the number of times. For example, an arbitrary timing or number can be designated such as every N times or 10 times. On the other hand, if it is determined that the storage is unnecessary, the processing is terminated as it is.

このようにして、ワークモデルの位置や姿勢を考慮した物理シミュレーションが行われる。この方法によれば、ステップS2914においてユーザが設定の見直しをする必要性を感じた状態を保持しておき、後から呼び出すことが可能となる。この結果、ユーザが行った設定の見直しが、ユーザが直面している課題に対して効果的だったかどうかを明確に判断することが可能となる。このため、ユーザがロボットの立ち上げを行うときに、より短い時間で正しい設定を行うことができるようになり、立ち上げ時間の短縮、実運用の安定化に?がる。
(ワークモデルの姿勢の制限)
In this way, a physical simulation is performed in consideration of the position and orientation of the work model. According to this method, it is possible to hold a state where the user feels the necessity of reviewing the setting in step S2914 and call it later. As a result, it becomes possible to clearly determine whether the review of the settings made by the user has been effective for the problem that the user is facing. For this reason, when the user starts up the robot, correct settings can be made in a shorter time, thereby shortening the startup time and stabilizing the actual operation.
(Restriction of work model posture)

また、三次元のバラ積みデータやバラ積み画像の生成において、仮想作業空間上に配置するワークモデルの姿勢に制限を加えてもよい。すなわち従来のバラ積みピッキングのシミュレーションに際して、ワークモデルを仮想作業空間上にランダムに配置させる結果、実際の運用時の環境と異なる状態でのシミュレーションとなってしまっていることがあった。例えば図30に示すように、T字型のワークモデルWMTが直立するような不安定な姿勢で存在することが生じていた。実際の運用時には、このような不安定な姿勢でワークが存在することは起こり難い。   Further, in the generation of three-dimensional bulk stacking data and bulk stacking images, a restriction may be imposed on the posture of the work model placed on the virtual work space. That is, in the conventional bulk picking simulation, the work model is randomly placed on the virtual work space, resulting in a simulation in a state different from the actual operating environment. For example, as shown in FIG. 30, the T-shaped work model WMT is present in an unstable posture such that it stands upright. In actual operation, it is unlikely that a workpiece exists in such an unstable posture.

また実際にピッキング対象のワークが提供される態様は、無作為に積み上げられた状態に限られず、段積み状態のケースや、ワークの向きが固定化された状態で積まれているケースも多く、実運用時のワークの状態に合わせた適切な設定調整や、検証が行えない状態であった。   In addition, the manner in which the workpieces to be picked are actually provided is not limited to the randomly stacked state, and there are many cases in which the workpieces are stacked in a stacked state or in a state in which the orientation of the workpieces is fixed, Appropriate setting adjustments and verification according to the work status during actual operation were not possible.

そこで本実施の形態では、ワークの姿勢を完全にランダムとするのでなく、一定の制限を加えた状態でバラ積みデータを準備することにより、実運用時の環境や条件に合わせたシミュレーション結果が得られるようにしている。すなわち、バラ積みデータの生成を、ユーザの用途やワークの形状等に応じてカスタマイズした、バラ積みデータ生成の個別設定を可能としている。   Therefore, in this embodiment, simulation results that match the environment and conditions during actual operation can be obtained by preparing unloading data with certain restrictions added, instead of making the workpiece posture completely random. I am trying to do it. In other words, individual settings for generating bulk data can be made by customizing the generation of bulk data according to the use of the user, the shape of the workpiece, and the like.

このようなワークの姿勢の制限は、物理シミュレーションの実行に際して行うことができる。一例として、(I)物理シミュレーションを行う際に、仮想作業空間上にワークモデルをランダムな姿勢で投下させるのではなく、姿勢制限を加えた状態で投下させる。また、姿勢制限を超えた姿勢になってしまったものは、物理シミュレーション過程で除外することで、姿勢制限を行うこともできる。   Such restriction of the posture of the workpiece can be performed when the physical simulation is executed. As an example, (I) when performing a physical simulation, a work model is not dropped in a random posture on a virtual work space, but dropped in a state in which posture restriction is added. In addition, it is possible to perform posture restriction by removing a posture that exceeds the posture restriction in the physical simulation process.

あるいは、(II)物理シミュレーションを行う際に、仮想作業空間上にワークモデルを1つ1つランダムな姿勢で投下させるのではなく、規定の姿勢で、一定の間隔で複数配置させた状態で、同時に落下させてもよい。   Alternatively, (II) when performing a physical simulation, instead of dropping work models one by one in a random posture on the virtual work space, in a state where a plurality of them are arranged at regular intervals in a prescribed posture, It may be dropped at the same time.

このようにして、実運用時の状態に合わせたバラ積みデータを生成することができるため、ピッキング動作シミュレーションの結果も実運用時に近い状態で実行でき、より正確なシミュレーション結果が得られる。これにより、実際にワークを用意することなく、実運用時に近い形で事前に適切な設定調整や、検証を行うことができるようになる。以下、図25のステップS2502において、ワークモデルのバラ積み状態を、姿勢条件設定部16で姿勢に制限を加えた上で、バラ積みデータ生成部20で生成する際の手順を説明する。
(I:ワークモデルを一つづつ投下させる物理シミュレーションにおける姿勢制限)
In this way, since bulk data matching the state at the time of actual operation can be generated, the result of the picking operation simulation can also be executed in a state close to that at the time of actual operation, and a more accurate simulation result can be obtained. As a result, it is possible to perform appropriate setting adjustment and verification in advance in a form close to actual operation without actually preparing a work. Hereinafter, in step S2502 of FIG. 25, a procedure for generating the stacking state of the workpiece model by the stacking data generation unit 20 after limiting the posture by the posture condition setting unit 16 will be described.
(I: Posture restriction in physics simulation that drops work models one by one)

まず、物理シミュレーションにおいてワークモデルを一つづつ投下させる際の姿勢制限について、説明する。ここでは、ワークモデルの姿勢のみに制限を加える方法について説明する。ここでは、ワークモデルの位置については制約のないランダムとしている。姿勢制限を加える方法としては、
1.物理シミュレーションにおけるワークモデルの投下時に、姿勢制限を加える。
2.物理シミュレーションの実行後に、姿勢制限範囲外のワークモデルを除外する。
3.上記1.、2.の両方を行う。
の3パターンが挙げられる。
(1.ワークモデルの投下時に姿勢制限)
First, a description will be given of posture restriction when dropping work models one by one in a physical simulation. Here, a method for restricting only the posture of the work model will be described. Here, the position of the work model is random with no restrictions. As a method of adding posture restriction,
1. Posture restriction is added when dropping a work model in physical simulation.
2. After the physics simulation is executed, work models outside the posture limit range are excluded.
3. Above 1. 2. Do both.
There are three patterns.
(1. Posture restriction when dropping the work model)

まず、1.の物理シミュレーションにおけるワークモデルの投下時に、姿勢制限を加える手順について、図31のフローチャートに基づいて説明する。ここでは、ワークモデルに対して許容される姿勢を、姿勢条件設定部16で予め姿勢条件として設定されたものとする。例えば、ワークモデルに対して許容される姿勢の角度範囲を、姿勢制限範囲として規定する。あるいは、ワークモデルの基準姿勢からの許容回転角度、傾斜角度を姿勢条件として設定することもできる。   First, 1. A procedure for adding posture restriction when dropping a work model in the physical simulation will be described with reference to the flowchart of FIG. Here, it is assumed that the posture allowed for the work model is set in advance by the posture condition setting unit 16 as the posture condition. For example, the angle range of the posture allowed for the work model is defined as the posture limit range. Alternatively, the allowable rotation angle and tilt angle from the reference posture of the work model can be set as the posture condition.

このように姿勢条件が設定された状態で、まずステップS3101において、乱数に基づいてワークモデルの姿勢及び投下位置を生成する。次に、ステップS3102において、生成されたワークモデルの姿勢が、姿勢条件設定部で設定された姿勢制限範囲内の姿勢か否かを判定する。この判定は、バラ積みデータ生成部で行う。姿勢制限範囲でないと判定された場合は、ステップS3101に戻って、新たなワークモデルの姿勢及び投下位置を生成し直す。なお、姿勢及び投下位置を生成して投下されるワークモデルは、1つずつとすることもできるし、複数のワークを一括して姿勢、投下位置を生成して、これらを同時に落下させてもよい。   With the posture conditions set in this way, first, in step S3101, the posture and drop position of the work model are generated based on random numbers. Next, in step S3102, it is determined whether the posture of the generated work model is a posture within a posture restriction range set by the posture condition setting unit. This determination is performed by the bulk data generation unit. If it is determined that the position is not within the limit range, the process returns to step S3101 to regenerate a new work model position and drop position. Note that the workpiece model to be dropped by generating the posture and the dropping position can be one by one, or the posture and the dropping position can be generated collectively for a plurality of workpieces and dropped simultaneously. Good.

一方、姿勢制限範囲と判定された場合は、ステップS3103に進み、このワークモデルを投下させる物理シミュレーションを実施する。そしてステップS3104において、指定された数だけワークモデルが投下されたか否かを判定し、未だの場合はステップS3101に戻り、処理を繰り返す。このようにして、指定された数のワークモデルが投下されたと判定された場合は、処理を終了する。以上のようにして、ワークモデルを投下させる前の姿勢を、姿勢制限範囲内にあるか判定し、制限範囲外のワークモデルを除外することで、不自然なワークモデルの存在を排除できる。この方法であれば、制限範囲外のワークモデルに対しては、落下させる物理シミュレーション自体を行わないので、シミュレーションに係る処理を簡素化できる利点が得られる。
(2.ワークモデルの投下後に姿勢制限)
On the other hand, if it is determined that the posture limit range, the process proceeds to step S3103, and a physical simulation for dropping the work model is performed. In step S3104, it is determined whether or not the specified number of work models have been dropped. If not yet, the process returns to step S3101 to repeat the process. In this way, when it is determined that the designated number of work models have been dropped, the process is terminated. As described above, it is possible to exclude the presence of an unnatural work model by determining whether the posture before dropping the work model is within the posture limit range and excluding the work models outside the limit range. With this method, since the physical simulation to drop itself is not performed for the work model outside the limit range, there is an advantage that the processing related to the simulation can be simplified.
(2. Posture restriction after dropping the work model)

一方、ワークモデルを投下させた後の姿勢に対して、制限範囲内にあるか否かを判定することでも、不自然なワークモデルを排除できる。以下、2.の物理シミュレーションの実行後に、姿勢制限範囲外のワークモデルを除外してバラ積みデータを生成する手順について、図32のフローチャートに基づいて説明する。   On the other hand, an unnatural work model can also be eliminated by determining whether or not the posture after dropping the work model is within the limit range. Hereinafter, 2. After executing the physical simulation, the procedure for generating the stacking data by excluding the workpiece model outside the posture limit range will be described based on the flowchart of FIG.

まずステップS3201において、乱数に基づいてワークモデルの姿勢及び投下位置を生成する。次にステップS3202において、このワークモデルを投下させる物理シミュレーションを実施する。ここでも、姿勢及び投下位置を生成して投下されるワークモデルは、1つずつとすることもできるし、複数のワークを一括して姿勢、投下位置を生成して、これらを同時に落下させてもよい。   First, in step S3201, a work model posture and a drop position are generated based on random numbers. Next, in step S3202, a physical simulation for dropping the work model is performed. Again, the workpiece model to be dropped by generating the posture and drop position can be one by one, or the posture and drop position can be generated collectively for a plurality of workpieces and dropped simultaneously. Also good.

そしてステップS3203において、落下されたワークモデルの内、姿勢条件設定部で設定された姿勢制限範囲外のワークモデルがあるか否かを判定する。姿勢制限範囲外にあるワークありと判定された場合は、ステップS3204に進み、姿勢制限範囲外のワークモデルを除外して、再度落下させる物理シミュレーションを実施した上で、ステップS3203に戻って判定を繰り返す。   In step S3203, it is determined whether there is a work model outside the posture restriction range set by the posture condition setting unit among the dropped work models. If it is determined that there is a workpiece outside the posture limit range, the process proceeds to step S3204, and a physical simulation of dropping the workpiece model outside the posture limit range and dropping again is performed, and then the process returns to step S3203 to make a determination. repeat.

一方、姿勢制限範囲外のワークモデルなしと判定された場合は、ステップS3205に進み、指定された数だけワークモデルが投下されたか否かを判定し、未だの場合はステップS3201に戻り、処理を繰り返す。このようにして、指定された数のワークモデルが投下されたと判定された場合は、処理を終了する。以上のようにして、ワークモデルを投下させた後の姿勢が、姿勢制限範囲内にあるかを判定し、制限範囲外のワークモデルを除外することで、不自然なワークモデルの存在を排除できる。この方法であれば、落下されたワークモデルに対して姿勢を判定することから、不自然なワークモデルをより確実に除外できる利点が得られる。
(3.ワークモデルの投下前後に姿勢制限)
On the other hand, if it is determined that there is no workpiece model outside the posture limit range, the process proceeds to step S3205 to determine whether or not the specified number of workpiece models have been dropped. If not yet, the process returns to step S3201 to perform processing. repeat. In this way, when it is determined that the designated number of work models have been dropped, the process is terminated. As described above, it is possible to eliminate the presence of an unnatural work model by determining whether the posture after dropping the work model is within the posture restriction range and excluding the work model outside the restriction range. . With this method, since the posture is determined with respect to the dropped work model, there is an advantage that an unnatural work model can be more reliably excluded.
(3. Posture restriction before and after dropping the work model)

さらに、ワークモデルを投下させる前の姿勢と、透過後の姿勢の両方に対して、制限範囲内にあるか否かを判定することでも、不自然なワークモデルを排除できる。ここでは、ワークモデルに対して許容される投下時の姿勢を投下後の姿勢を、姿勢条件設定部で予め設定する。これらは同じ姿勢とすることもできるが、好ましくは投下時のワークモデルの姿勢と、投下後のワークモデルの姿勢とを個別に設定することが好ましい。以下、3.の物理シミュレーションの実行の前後に、姿勢制限範囲外のワークモデルを除外してバラ積みデータを生成する手順について、図33のフローチャートに基づいて説明する。   Furthermore, an unnatural work model can be eliminated by determining whether or not the posture before dropping the workpiece model and the posture after transmission are within the limit range. Here, the posture after dropping the dropping posture allowed for the work model is set in advance by the posture condition setting unit. These can be set to the same posture, but preferably the posture of the workpiece model at the time of dropping and the posture of the workpiece model after dropping are preferably set individually. 3. A procedure for generating the stacking data by excluding the work model outside the posture limit range before and after the execution of the physical simulation will be described based on the flowchart of FIG.

まずステップS3301において、乱数に基づいてワークモデルの姿勢及び投下位置を生成する。次に、ステップS3302において、生成されたワークモデルの姿勢が、姿勢条件設定部で設定された姿勢制限範囲内の姿勢か否かを判定する。姿勢制限範囲でないと判定された場合は、ステップS3301に戻って、新たなワークモデルの姿勢及び投下位置を生成し直す。なお、ここでも姿勢及び投下位置を生成して投下されるワークモデルは、1つずつとすることもできるし、複数のワークを一括して姿勢、投下位置を生成して、これらを同時に落下させてもよい。   First, in step S3301, a work model posture and a drop position are generated based on random numbers. Next, in step S3302, it is determined whether or not the posture of the generated work model is a posture within the posture restriction range set by the posture condition setting unit. If it is determined that the position is not within the posture limit range, the process returns to step S3301 to regenerate a new posture and drop position of the work model. In this case as well, the work model to be dropped by generating the posture and the dropping position can be one by one, or a plurality of workpieces can be generated at once to generate the posture and dropping position, and these can be dropped simultaneously. May be.

一方、姿勢制限範囲と判定された場合は、ステップS3303に進み、このワークモデルを投下させる物理シミュレーションを実施する。そしてステップS3304において、落下されたワークモデルの内、姿勢条件設定部で設定された姿勢制限範囲外のワークモデルがあるか否かを判定する。姿勢制限範囲外にあるワークありと判定された場合は、ステップS3305に進み、姿勢制限範囲外のワークモデルを除外して、再度落下させる物理シミュレーションを実施した上で、ステップS3304に戻って判定を繰り返す。   On the other hand, if it is determined that the posture limit range, the process proceeds to step S3303, and a physical simulation for dropping the work model is performed. In step S3304, it is determined whether there is a workpiece model outside the posture restriction range set by the posture condition setting unit among the dropped workpiece models. If it is determined that there is a workpiece outside the posture limit range, the process proceeds to step S3305, a physical model that excludes the workpiece model outside the posture limit range, drops again, and returns to step S3304 for determination. repeat.

一方、姿勢制限範囲外のワークモデルなしと判定された場合は、ステップS3306に進み、指定された数だけワークモデルが投下されたか否かを判定し、未だの場合はステップS3301に戻り、処理を繰り返す。このようにして、指定された数のワークモデルが投下されたと判定された場合は、処理を終了する。以上のようにして、ワークモデルを投下させた後の姿勢が、姿勢制限範囲内にあるかを判定し、制限範囲外のワークモデルを除外することで、不自然なワークモデルの存在を排除できる。この方法であれば、落下の前後でワークモデルの姿勢を確認することから、最も確実に不自然なワークモデルを除外できる。   On the other hand, if it is determined that there is no work model outside the posture limit range, the process proceeds to step S3306, where it is determined whether or not the specified number of work models have been dropped. If not yet, the process returns to step S3301 to perform processing. repeat. In this way, when it is determined that the designated number of work models have been dropped, the process is terminated. As described above, it is possible to eliminate the presence of an unnatural work model by determining whether the posture after dropping the work model is within the posture restriction range and excluding the work model outside the restriction range. . With this method, since the posture of the work model is confirmed before and after the fall, the unnatural work model can be most reliably excluded.

このようにして、ワークモデル投下時や投下後、あるいはその両方のタイミングでワークの姿勢に対し制限を加えることで、不自然な形で直立するワークが存在しこのようなワークに対してもピッキング動作シミュレーションを実行してしまう事態を避けることが可能となる。また、ワークの形状によって片面しか見えないようなバラ積み状態を実現することもできる。例えば図34A、図34Bに示すような、表面と裏面の面積が異なるワークWK6に対して、図35に示すように、バラ積み状態では各ワークWK6の表面側のみしか見えないような場合であっても、実運用に合わせてこのようなバラ積み状態を生成し、仮想的に再現することが可能となる。例えば、許容される姿勢条件として、ワークモデルの特定の面が底面となるように姿勢条件設定部で設定する。これによって、ピッキング動作シミュレーションにおける設定の調整や検証といった時間のかかる作業を、実際にワークを用意することなく、実運用に近い形で事前に行うことができるようになる。また、対象となるワークがどのようなバラ積みをされるかによって、最適な設定が変わるところ、姿勢条件に制限を加えることで、ピッキング動作シミュレーションの実行前に設定を合わせこむことが可能となる。
(実施形態9)
In this way, there are workpieces that stand upright in an unnatural manner by adding restrictions to the posture of the workpiece when the workpiece model is dropped, after it is dropped, or at both timings. It is possible to avoid a situation where an operation simulation is executed. In addition, it is possible to realize a stacked state in which only one side is visible depending on the shape of the workpiece. For example, as shown in FIGS. 34A and 34B, for a work WK6 having different front and back areas, only the front side of each work WK6 can be seen in a stacked state as shown in FIG. However, it is possible to generate such a stacked state according to actual operation and virtually reproduce it. For example, the allowable posture condition is set by the posture condition setting unit so that a specific surface of the work model is a bottom surface. As a result, time-consuming work such as setting adjustment and verification in the picking operation simulation can be performed in advance in a form close to actual operation without actually preparing a work. In addition, where the optimal setting changes depending on how the target workpieces are stacked, it is possible to match the setting before executing the picking motion simulation by limiting the posture condition .
(Embodiment 9)

以上の方法では、バラ積みデータの生成に際してワークモデルの姿勢にのみ制限をかける例を説明した。ただ本発明は、この例に限られず、ワークモデルの姿勢と位置の両方に制限を加えることもできる。例えば、図36Aに示すように、収納容器に板状のワークWK7が整列されて詰め込まれた状態や、図36Bに示すように、円筒状のワークWK8が収納容器内で段積みされた状態を考える。このようなバラ積み状態にあるワークは、収納容器内にランダムに存在しているのでなく、概ね一定の姿勢や位置にあるという制約を受ける。このため、従来の物理シミュレーションのような、ワークを完全にランダムに生成される方法では、このようなバラ積み状態を再現できない。そこで、このようなバラ積み状態にあるワークに対しても、正確なピッキング動作シミュレーションが実行できるよう、バラ積み状態を生成する条件として、ワークの姿勢のみならず位置にも制約を設ける。以下、このような方法を実施形態9として、図37のフローチャートに基づき説明する。   In the above method, the example in which only the posture of the work model is limited when generating the bulk data has been described. However, the present invention is not limited to this example, and both the posture and position of the work model can be limited. For example, as shown in FIG. 36A, a state in which plate-like workpieces WK7 are aligned and packed in the storage container, or a state in which cylindrical workpieces WK8 are stacked in the storage container as shown in FIG. 36B. Think. The workpieces in such a stacked state are not randomly present in the storage container but are subjected to a restriction that they are in a substantially constant posture or position. For this reason, such a stacked state cannot be reproduced by a method in which workpieces are generated completely at random, such as a conventional physical simulation. Therefore, in order to execute an accurate picking operation simulation for a workpiece in such a stacked state, restrictions are provided not only on the posture of the workpiece but also on the position as a condition for generating the stacked state. Hereinafter, such a method will be described as Embodiment 9 based on the flowchart of FIG.

まずステップS3701において、規定の姿勢、規定の間隔で複数のワークモデルの投下位置及び姿勢を設定する。ここでは、ワークモデルに対して許容される姿勢や位置、間隔などの配置条件を、姿勢条件設定部で設定する。例えば、ワークモデルの姿勢、X方向の配置数と配置間隔、Y方向の配置数と配置間隔、ワークモデル段数等が挙げられる。例えば図36AのワークWK7のバラ積み状態を物理シミュレーションするには、配置条件として、X方向の配置数を8個、Y方向の配置数を1個、段数を1に設定する。また例えば図36BのワークWK8のバラ積み状態を物理シミュレーションするには、配置条件として、X方向の配置数を5個、Y方向の配置数を3個、段数を3に設定する。   First, in step S3701, drop positions and postures of a plurality of work models are set at a prescribed posture and a prescribed interval. Here, arrangement conditions such as the posture, position, and interval allowed for the work model are set by the posture condition setting unit. For example, the posture of the work model, the number and arrangement intervals in the X direction, the number and arrangement intervals in the Y direction, the number of work model stages, and the like can be given. For example, in order to physically simulate the stacked state of the workpieces WK7 in FIG. 36A, as the arrangement conditions, the number of arrangements in the X direction is set to 8, the number of arrangements in the Y direction is set to 1, and the number of stages is set to 1. Further, for example, in order to physically simulate the stacked state of the workpieces WK8 in FIG. 36B, as the arrangement conditions, the number of arrangement in the X direction is set to 5, the number of arrangement in the Y direction is set to 3, and the number of stages is set to 3.

次にステップS3702において、乱数に基づいて、複数のワークモデルの位置及び姿勢に外乱を加える。さらにステップS3703において、ワークモデルを同時に投下させて物理シミュレーションを実施する。このようにして、規定の姿勢で、指定された配置位置にワークモデルを用意した状態で、ワークモデルを同時に投下させて物理シミュレーションを行うことができる。特にワークモデルを投下させる前に、乱数に基づいて、位置及び姿勢に外乱を加えることで、毎回異なる状態のデータを作成することができる。   Next, in step S3702, disturbance is applied to the positions and postures of the plurality of work models based on the random numbers. In step S3703, a physical simulation is performed by dropping the work model at the same time. In this way, a physical simulation can be performed by dropping the work model at the same time in a state where the work model is prepared at a specified arrangement position in a specified posture. In particular, before dropping the work model, by applying a disturbance to the position and posture based on random numbers, data in a different state can be created each time.

そしてステップS3704において、指定された段数分、ワークモデルが投下されたか否かを判定し、未だの場合はステップS3701に戻って処理を繰り返す。すべてのワークモデルが投下されたと判定された場合は、処理を終了する。このようにして、ワークが収納容器内に整列されて詰め込まれた状態や、段積み状態にあるバラ積み状態を再現したシミュレーション用のバラ積みデータを作り出すことができる。特に規定の姿勢で一定の間隔で複数配置させた状態で、ワークモデルを同時に投下させることで、ワークモデルの位置と姿勢の両方に制限を加えることが可能となる。この結果、設定の調整や検証といった時間のかかる作業を、実際にワークを用意することなく、実運用時に近い形で事前に行うことができるようになる。特に対象となるワークがどのようなバラ積みにされるかに応じて、最適な設定が変わるところ、事前に設定をカスタマイズして合わせこむことができる。
(姿勢条件の設定画面)
In step S3704, it is determined whether or not the work model has been dropped for the designated number of steps. If not yet, the process returns to step S3701 to repeat the process. If it is determined that all work models have been dropped, the process is terminated. In this way, it is possible to create simulation stacking data that reproduces a state in which the workpieces are aligned and packed in the storage container or a stacking state in a stacked state. In particular, it is possible to limit both the position and the posture of the work model by dropping the work model at the same time in a state where a plurality of the postures are arranged at regular intervals in a prescribed posture. As a result, time-consuming operations such as setting adjustment and verification can be performed in advance in a form close to actual operation without actually preparing a work. In particular, the optimum setting changes depending on how the target workpieces are stacked, and the setting can be customized and adjusted in advance.
(Attitude condition setting screen)

次に、このような姿勢条件を設定する手順の一例を、図38、図39等に基づいて説明する。これらの図において、図38は姿勢条件設定部の一態様であるロボットシミュレーションプログラムのユーザインターフェース画面において、表示部上に示されたワークモデルWM6に対して基本姿勢を規定する様子を示すイメージ図であり、図39は、同じく姿勢条件を設定する姿勢条件設定画面110を示している。
(基本姿勢の設定)
Next, an example of a procedure for setting such a posture condition will be described with reference to FIGS. In these drawings, FIG. 38 is an image diagram showing a state in which the basic posture is defined for the work model WM6 shown on the display unit on the user interface screen of the robot simulation program which is one mode of the posture condition setting unit. 39 shows a posture condition setting screen 110 for setting posture conditions in the same manner.
(Basic posture setting)

まず、ワークモデルの投下時の基本姿勢を規定する。例えば、図38に示す基本姿勢設定画面上で、投下方向に対するワークモデルWM6の姿勢を調整する。この例では、Z軸方向が投下方向である。例えば画面上でワークモデルWM6をドラッグして投下姿勢を自由に変更できる。   First, the basic attitude when dropping the work model is defined. For example, the posture of the work model WM6 with respect to the dropping direction is adjusted on the basic posture setting screen shown in FIG. In this example, the Z-axis direction is the dropping direction. For example, the drop posture can be freely changed by dragging the work model WM6 on the screen.

次に、基本姿勢の状態に対する、許容角度を指定する。角度の指定方法は、投下方向の軸に対する傾斜角度と、投下方向に軸に対する回転角度の2つを、範囲で指定する。例えば、図39に示す姿勢条件設定画面110上で、傾斜角度と回転角度を数値で入力する。この例では回転角度の範囲を±で示しているが、下限と上限の値を個別に指定可能にしてもよい。例えば傾斜角度を0°、回転角°を±180°に指定した場合、図40に示すように、基本姿勢に対し、投下方向に向かって傾斜のない姿勢で投下される。なお、投下方向の軸に対する回転角度はランダムに変化される。また傾斜角度を15°、回転角度を±0°に指定すると、図41に示すように、基本姿勢に対し、投下方向の軸に対する回転方向には変化がないが、傾斜角のみに外乱が加わった姿勢にてワークモデルが投下されることになる。なお、傾斜角度の範囲、回転角度の範囲がいずれもゼロでない場合、それぞれの範囲内で傾斜角度、回転角度がランダムに変化させた姿勢にて、ワークモデルが投下されることになる。   Next, an allowable angle for the basic posture state is designated. The angle designation method designates two angles, a tilt angle with respect to the axis in the drop direction and a rotation angle with respect to the axis in the drop direction. For example, the tilt angle and the rotation angle are input numerically on the posture condition setting screen 110 shown in FIG. In this example, the range of the rotation angle is indicated by ±, but the lower and upper limit values may be individually specified. For example, when the inclination angle is specified as 0 ° and the rotation angle ° is specified as ± 180 °, as shown in FIG. 40, the basic posture is dropped in a posture with no inclination in the dropping direction. Note that the rotation angle with respect to the axis in the dropping direction is randomly changed. If the tilt angle is specified as 15 ° and the rotation angle as ± 0 °, as shown in FIG. 41, there is no change in the rotation direction with respect to the axis in the dropping direction with respect to the basic posture, but a disturbance is added only to the tilt angle. The work model will be dropped with the correct posture. If neither the tilt angle range nor the rotation angle range is zero, the workpiece model is dropped in a posture in which the tilt angle and the rotation angle are randomly changed within the respective ranges.

このようにして、基本姿勢と、この基本姿勢に対する傾斜角度、回転角度の範囲を1セットとし、これを必要に応じて複数セット設定する。例えば、ワークの表面のみが見えるようなバラ積み状態に対しては、1セットのみを設定して実現できる。一方、ワークの側面は上を向かないが、表面と裏面の両面が上を向くようなバラ積みに対しては、「表面が上を向いた状態の基本姿勢で設定」したものと、「裏面が上を向いた状態の基本姿勢で設定」したものの2セットをそれぞれ定義し、1回の投下毎に、どのセットが選ばれるか自体をランダムに選択させることで、所望のバラ積み状態を実現できる。
(ワークモデルの配置条件設定)
In this way, the basic posture and the range of the tilt angle and the rotation angle with respect to the basic posture are set as one set, and a plurality of sets are set as necessary. For example, only one set can be set for a loosely stacked state where only the workpiece surface is visible. On the other hand, for the bulk stacking where the side of the workpiece does not face up, but both the front and back sides are facing up, the “set in the basic posture with the front side facing up” 2 sets of "set in the basic posture with the face up" is defined, and each set is randomly chosen to select which set is selected, realizing the desired stacking state it can.
(Work model placement condition setting)

次に、実施形態9として説明した、ワークモデルの配置条件を設定する方法について、以下説明する。ワークモデルの姿勢のみならず、位置等に関しても設定する方法としては、例えば、1.X方向の配置数と配置間隔、Y方向の配置数と配置間隔、ワークモデルの段数を入力させる方法や、2.最初に配置パターンを選択させ、それに応じて必要な配置条件を入力させる方法等が挙げられる。まず、1.の方法について説明する。姿勢条件設定部の他の態様として、例えば図42に示すような配置条件設定画面120から、ワークモデルのX方向の配置数と配置間隔、Y方向の配置数と配置間隔、ワークモデルの段数を、それぞれ入力させる。
(配置パターン選択)
Next, a method for setting the work model arrangement conditions described as the ninth embodiment will be described below. As a method for setting not only the posture of the work model but also the position and the like, for example, 1. a method of inputting the number of arrangements and arrangement intervals in the X direction, the number of arrangements and arrangement intervals in the Y direction, and the number of stages of the work model; Examples include a method of first selecting an arrangement pattern and inputting a necessary arrangement condition accordingly. First, 1. The method will be described. As another mode of the posture condition setting unit, for example, from the arrangement condition setting screen 120 as shown in FIG. 42, the number of arrangements and arrangement intervals of the work model, the number of arrangements and arrangement intervals of the Y direction, and the number of stages of the work model are set. , Input each.
(Placement pattern selection)

次に、2.の方法について説明する。この方法では、先にワークモデルの配置パターンをユーザに選択させて、次に選択に応じた必要なパラメータを入力させる。ワークモデルの配置パターン選択画面として、例えば、図43A、図43B、図43Cに示すように、ワークモデルが収納容器内で完全ランダムな場合、一方向に配置されている場合、それ以外の複数方向、複数段に配列されている場合の3パターンを、表示部にそれぞれ表示させる。表示は、これらを一覧表示させてもよいし、複数の画面を切り替えて表示させてもよい。ユーザが、いずれかの配置パターンを選択すると、詳細な配置条件のパラメータを設定する配置条件設定画面が表示される。例えば、図43Aの完全ランダムな配置パターンが選択された場合、配置条件としてバラ積みの個数のみを入力させる。また図43Bの一方向に配置されている配置パターンが選択された場合は、配置数、配置方向(X又はY)、配置間隔をそれぞれ入力させる。あるいは図43Cの複数方向、複数段に配列されている配置パターンが選択された場合は、X方向の配置数、配置間隔、Y方向の配置数、配置間隔、Z方向の段数を、それぞれ入力させる。このようにして、ユーザは表示部に表示されたガイダンスに従い、必要な設定を順次遺漏なく行うことができる。
(姿勢安定性パラメータ決定部17)
Next, 2. The method will be described. In this method, the user first selects a work model arrangement pattern, and then inputs necessary parameters according to the selection. As the work model arrangement pattern selection screen, for example, as shown in FIGS. 43A, 43B, and 43C, when the work model is completely random in the storage container, the work model is arranged in one direction. The three patterns when arranged in a plurality of stages are each displayed on the display unit. These may be displayed as a list, or a plurality of screens may be switched and displayed. When the user selects any arrangement pattern, an arrangement condition setting screen for setting detailed arrangement condition parameters is displayed. For example, when the completely random arrangement pattern in FIG. 43A is selected, only the number of loose stacks is input as the arrangement condition. When the arrangement pattern arranged in one direction in FIG. 43B is selected, the number of arrangement, the arrangement direction (X or Y), and the arrangement interval are input. Or when the arrangement pattern arranged in multiple directions and multiple stages in FIG. 43C is selected, the number of arrangements in the X direction, the arrangement interval, the number of arrangements in the Y direction, the arrangement interval, and the number of stages in the Z direction are input. . In this way, the user can make necessary settings sequentially without omission according to the guidance displayed on the display unit.
(Attitude stability parameter determination unit 17)

以上のようにして、ユーザがワークモデルの許容される姿勢等の姿勢条件を予め設定し、条件に合致しないワークモデルを排除することで、バラ積みデータに不自然な姿勢や不安定な姿勢のワークモデルが含まれないようにできる。ただ本発明は、ワークモデルが安定な姿勢にあるかどうかを判定できるよう、ワークモデルが不安定な姿勢であることを自動検知するように構成してもよい。例えば、不安定な姿勢のワークモデルが検知されると、このようなワークモデルをバラ積みデータから自動的に除外するよう構成することで、同様にバラ積みデータを実運用環境に近い状態として、ピッキング動作シミュレーションの精度を高めることが期待できる。またこの場合は、姿勢安定性が悪いワークモデルを表示部上で、排除対象のワークモデル候補として表示させてユーザに対し排除するよう促したり、あるいはこのような姿勢安定性のワークモデルを選択する指針をユーザに対して与えることもできる。さらには、ユーザが姿勢条件等を手動で設定しなくとも、ロボットシミュレーション装置側で自動的に不自然な姿勢や不安定な姿勢のワークモデルを排除させて、適切な条件に設定された状態でピッキング動作シミュレーションを実行させることもでき、ユーザの利便性の面でも有利となる。   As described above, by setting the posture conditions such as the allowable posture of the work model in advance by the user and eliminating the work model that does not match the conditions, the posture of the unnatural or unstable posture is not included in the stacking data. The work model can be excluded. However, the present invention may be configured to automatically detect that the workpiece model is in an unstable posture so that it can be determined whether or not the workpiece model is in a stable posture. For example, when a work model with an unstable posture is detected, such a work model is automatically excluded from the bulk data, so that the bulk data is similarly close to the actual operation environment. It can be expected to improve the accuracy of picking motion simulation. Also, in this case, a work model with poor posture stability is displayed on the display unit as a work model candidate to be excluded, and the user is prompted to eliminate it, or such a work model with such posture stability is selected. Guidelines can also be given to the user. Furthermore, even if the user does not manually set posture conditions, etc., the robot simulation device automatically eliminates unnatural and unstable posture work models and sets the appropriate conditions. It is also possible to execute a picking operation simulation, which is advantageous in terms of user convenience.

このような姿勢安定性の演算は、姿勢安定性パラメータ決定部で行うことができる。姿勢安定性パラメータ決定部17は、例えば図12に示すように、姿勢条件設定部16に含めることができる。例えば、姿勢条件設定部16で姿勢条件を設定する際、姿勢安定性パラメータ決定部17で演算された姿勢安定性に基づき、好ましい数値範囲をユーザに提示することができる。ユーザは提示された数値を参照して、姿勢条件として姿勢範囲の角度などを設定、あるいはこれを微調整することができる。また姿勢安定性パラメータ決定部は、必ずしも姿勢条件設定部に含める必要はなく、別部材としてもよい。   Such calculation of posture stability can be performed by the posture stability parameter determination unit. The posture stability parameter determination unit 17 can be included in the posture condition setting unit 16, for example, as shown in FIG. For example, when the posture condition is set by the posture condition setting unit 16, a preferable numerical range can be presented to the user based on the posture stability calculated by the posture stability parameter determination unit 17. The user can set the angle of the posture range or the like as the posture condition, or fine-tune it with reference to the presented numerical value. Further, the posture stability parameter determination unit is not necessarily included in the posture condition setting unit, and may be a separate member.

さらに、予め姿勢安定性パラメータをロボットシミュレーション装置側で規定しておき、既定値の姿勢安定性パラメータに従い、姿勢安定性が低いワークモデルを自動的に排除するよう構成してもよい。この場合は、姿勢安定性パラメータを含めた姿勢条件の設定をユーザが行う必要はない。このように、姿勢条件の設定をユーザが行わない態様も、本発明に包含する。いいかえると、姿勢条件設定部16は、必ずしもユーザによる姿勢条件の設定を受け付ける構成は必須でなく、姿勢条件設定部16による姿勢条件の設定には、ユーザ指定の他、既定値による設定も含む意味で使用する。
(姿勢安定性の演算方法)
Furthermore, a posture stability parameter may be defined in advance on the robot simulation apparatus side, and a work model with low posture stability may be automatically excluded according to a predetermined posture stability parameter. In this case, it is not necessary for the user to set posture conditions including posture stability parameters. Thus, the aspect in which the user does not set the posture condition is also included in the present invention. In other words, the posture condition setting unit 16 is not necessarily configured to accept the setting of the posture condition by the user, and the setting of the posture condition by the posture condition setting unit 16 includes not only user designation but also setting by default value. Used in.
(Attitude stability calculation method)

ここで、姿勢安定性を演算する方法を、図44のフローチャートに基づいて説明する。ここでは、図30に示したT字型のワークモデルWMTを例に挙げて説明する。まず、ステップS4401でワークモデルWMTの形状に外接する立方体を求める。例えば図45Aに示すワークモデルWMTに対する外接立方体を求めると、図45Bのようになる。次に、外接立方体を構成する6面の中で最大面積となる面を求める。例えば図45Bの例では、図45Cのように側面が最大面積となる。   Here, a method of calculating the posture stability will be described based on the flowchart of FIG. Here, a T-shaped work model WMT shown in FIG. 30 will be described as an example. First, in step S4401, a cube circumscribing the shape of the work model WMT is obtained. For example, a circumscribed cube for the work model WMT shown in FIG. 45A is obtained as shown in FIG. 45B. Next, a surface having the maximum area among the six surfaces constituting the circumscribed cube is obtained. For example, in the example of FIG. 45B, the side surface has the maximum area as shown in FIG. 45C.

次にステップS4402で、ワークモデルWMTに対して物理シミュレーションを行い、このワークモデルWMTが他の物体に接触している部位を、真上から投影した領域を求める。例えば物理シミュレーションの結果、図45AのワークモデルWMTが図46Aのように倒れた姿勢で仮想作業空間内に置かれた場合は、このワークモデルWMTが仮想作業空間の床面と接触している部位を真上から見た投影領域は、図46Bのようになる。   Next, in step S4402, a physical simulation is performed on the work model WMT, and a region obtained by projecting a portion where the work model WMT is in contact with another object from directly above is obtained. For example, as a result of the physical simulation, when the work model WMT of FIG. 45A is placed in the virtual work space in a tilted position as shown in FIG. 46A, the part where the work model WMT is in contact with the floor surface of the virtual work space 46B is a projection area viewed from right above.

また、物理シミュレーションの結果、図45AのワークモデルWMTが図47Aのように直立した姿勢で仮想作業空間内に置かれた場合は、このワークモデルWMTが仮想作業空間の床面と接触している部位の投影領域は、図47Bのようになる。   As a result of the physical simulation, when the work model WMT in FIG. 45A is placed in the virtual work space in an upright posture as shown in FIG. 47A, the work model WMT is in contact with the floor surface of the virtual work space. The projected region of the part is as shown in FIG. 47B.

あるいはまた、物理シミュレーションの結果、図45AのワークモデルWMTが図48Aのように収納容器の壁面にもたれかかる姿勢で置かれた場合は、このワークモデルWMTが仮想作業空間の床面と接触している部位の投影領域は、図48Bのようになる。   Alternatively, as a result of the physical simulation, when the work model WMT of FIG. 45A is placed in a posture leaning against the wall surface of the storage container as shown in FIG. 48A, the work model WMT comes into contact with the floor surface of the virtual work space. The projected area of the existing part is as shown in FIG. 48B.

このようにして得られた投影領域に対して、ステップS4403で最小面積で外接する矩形を求める。例えば図49Aに示す投影領域に対する最小面積外接矩形は、図49Bのようになる。また図50Aに示す投影領域に対する最小面積外接矩形は、図50Bのようになる。さらに図51Aに示す投影領域に対する最小面積外接矩形は、図51Bのようになる。   In step S4403, a rectangle circumscribing with a minimum area is obtained for the projection region obtained in this way. For example, the minimum area circumscribed rectangle for the projection region shown in FIG. 49A is as shown in FIG. 49B. The minimum area circumscribed rectangle for the projection area shown in FIG. 50A is as shown in FIG. 50B. Further, the minimum area circumscribed rectangle for the projection region shown in FIG. 51A is as shown in FIG. 51B.

最後にステップS4404で、ステップS4401で求めた最大面の面積に対するステップS4403で求めた外接矩形の面積の比率を求め、これを姿勢安定性とし、一定以下の比率のものは不安定姿勢と判定する。例えば、図46B及び図49Bの場合は、(最小面積外接矩形の面積)÷最大面積)=28/49≒約57%となる。また図47B及び図50Bの場合は、(最小面積外接矩形の面積)÷最大面積)=4/49≒約8%となる。さらに図48B及び図51Bの場合は、(最小面積外接矩形の面積)÷最大面積)=20/49≒約41%となる。この結果から、姿勢安定性の低い図47Aの直立姿勢のワークモデルWMTを不安定として排除することができる。ここで不安定姿勢と判定する閾値は、固定値とする他、必要に応じてユーザが調整可能としてもよい。
(実施形態10)
Finally, in step S4404, the ratio of the area of the circumscribed rectangle obtained in step S4403 to the area of the maximum surface obtained in step S4401 is obtained, and this is used as posture stability, and those having a ratio below a certain level are determined as unstable postures. . For example, in the case of FIG. 46B and FIG. 49B, (the area of the minimum area circumscribed rectangle) / the maximum area) = 28 / 49≈about 57%. In the case of FIGS. 47B and 50B, (the area of the minimum area circumscribed rectangle) / the maximum area) = 4 / 49≈about 8%. Further, in the case of FIGS. 48B and 51B, (the area of the minimum area circumscribed rectangle) / the maximum area) = 20 / 49≈about 41%. From this result, the upright posture work model WMT of FIG. 47A having low posture stability can be excluded as unstable. Here, the threshold value for determining the unstable posture may be a fixed value, or may be adjustable by the user as necessary.
(Embodiment 10)

以上の例では、ユーザがワークモデルの許容される姿勢等を予め設定し、条件に合致しないワークモデルを排除する構成、いいかえるとワークモデルをバラ積みデータから除外するための排除条件を予め設定することで、バラ積みデータに不自然なワークモデルが含まれないようにしてピッキング動作シミュレーションの精度や再現性を向上させる例を説明した。ここでは、ユーザが姿勢条件設定部を用いて、ワークモデルの姿勢や位置に制限を加えることで、カスタマイズされたバラ積みデータを生成している。ただ、本発明は必ずしもユーザがワークモデルをバラ積みデータから除外するための排除条件を手動で設定する必要はなく、ワークモデルを除外する条件を自動で設定するように構成してもよい。このような例を実施形態10に係るロボットシミュレーション装置として、図52のブロック図に示す。この図に示すロボットシミュレーション装置は、ワークモデル設定部11と、バラ積みデータ生成部20と、表示部3と、除外ワーク選択部18と、除外条件算出部19と、ピッキング動作シミュレート部30とを備える。実施形態10において、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。   In the above example, the configuration in which the user presets the allowable posture of the work model and excludes the work model that does not match the conditions, in other words, the exclusion condition for excluding the work model from the stacking data is preset. Thus, an example has been described in which the accuracy and reproducibility of picking motion simulation is improved so that an unnatural work model is not included in the bulk loading data. Here, the user creates customized unloading data by using the posture condition setting unit to limit the posture and position of the work model. However, according to the present invention, it is not always necessary for the user to manually set the exclusion condition for excluding the work model from the bulk data, and the condition for excluding the work model may be set automatically. Such an example is shown in the block diagram of FIG. 52 as a robot simulation apparatus according to the tenth embodiment. The robot simulation apparatus shown in this figure includes a work model setting unit 11, a stacking data generation unit 20, a display unit 3, an excluded work selection unit 18, an exclusion condition calculation unit 19, and a picking motion simulation unit 30. Is provided. In the tenth embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.

除外ワーク選択部18は、表示部3上に表示されたバラ積みデータを構成するワークモデルの内、ピッキング動作シミュレーションから除外したいワークモデルをユーザに選択させるための部材である。   The excluded workpiece selection unit 18 is a member that allows the user to select a workpiece model that is to be excluded from the picking operation simulation among the workpiece models constituting the stacking data displayed on the display unit 3.

除外条件算出部は、除外ワーク選択部で選択された除外対象のワークモデルに対して、該ワークモデルを除外するための除外条件を自動的に算出するための部材である。   The exclusion condition calculation unit is a member for automatically calculating an exclusion condition for excluding the work model for the work model to be excluded selected by the exclusion work selection unit.

これにより、ユーザが手動で不自然な姿勢のワークモデルを除外するための条件を設定すること無く、除外するように指定されたワークモデルの位置や姿勢から、自動的にワークモデルを排除する条件を算出して、このような排除条件に合致するワークモデルをバラ積みデータから排除するように構成できる。この結果、ユーザ側でワークの排除条件を詳細に設定する手間をなくすことができる。またユーザは、除外したいワークモデルの一部を選択することで、自動的に排除条件が算出されて、他の排除すべきワークモデルも自動で選択されるので、この点においても利便性の向上が図られる。
(実施形態11)
This allows the user to automatically exclude the work model from the position and orientation of the work model specified to be excluded without manually setting conditions for excluding the unnatural posture work model. And a work model that meets such an exclusion condition can be excluded from the bulk data. As a result, it is possible to eliminate the trouble of setting the work removal conditions in detail on the user side. In addition, the user can select a part of the work model to be excluded, and the exclusion condition is automatically calculated, and other work models to be excluded are also automatically selected. Is planned.
(Embodiment 11)

また、ユーザがワークモデルを排除するための排除条件を手動で設定することと、ロボットシミュレーション装置側での排除条件の自動算出を併用することもできる。このような例を実施形態11に係るロボットシミュレーション装置として、図53のブロック図に示す。この図に示すロボットシミュレーション装置は、ワークモデル設定部11と、検出用設定部50と、バラ積みデータ生成部20と、表示部3と、除外ワーク選択部18と、除外条件算出部19と、ピッキング動作シミュレート部30とを備える。検出用設定部50は、姿勢条件設定部16を備えている。実施形態11においても、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。このように、ユーザが手動でワークモデルの排除条件を設定しつつ、ロボットシミュレーション装置側でも自動的に排除条件を算出して、必要に応じて排除条件の修正や好ましい角度範囲を提案するなどして、ユーザによる姿勢条件等の排除条件の設定作業をサポートすることが可能となる。   Further, it is possible to use both the manual setting of the exclusion condition for the user to exclude the work model and the automatic calculation of the exclusion condition on the robot simulation apparatus side. Such an example is shown in the block diagram of FIG. 53 as a robot simulation apparatus according to the eleventh embodiment. The robot simulation apparatus shown in this figure includes a work model setting unit 11, a detection setting unit 50, a bulk data generation unit 20, a display unit 3, an excluded workpiece selection unit 18, an exclusion condition calculation unit 19, A picking motion simulation unit 30. The detection setting unit 50 includes an attitude condition setting unit 16. Also in the eleventh embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate. In this way, while the user manually sets the work model exclusion conditions, the robot simulation device also automatically calculates the exclusion conditions, and if necessary, corrects the exclusion conditions and proposes a preferred angle range. Thus, it is possible to support the setting operation of the exclusion condition such as the posture condition by the user.

なお、ワークモデルの姿勢を制限する方法は、上述した図38等の方法に限定されるものでなく、他の方法も適宜採用できる。例えば、ワークモデルの姿勢をZYXオイラー角で表現する場合、X軸に対する角度Rx、Y軸に対する角度Ry、Z軸に対する角度Rzのそれぞれに対し、規定の範囲内になるように制限を行うことができる。また、Z軸に対する第一の回転角R1、Y軸に対する第二の回転角R2、Z軸に対する第三の回転角R3のそれぞれに対し、規定の範囲内になるように制限を行うように構成してもよい。   Note that the method of limiting the posture of the work model is not limited to the method of FIG. 38 and the like described above, and other methods can be appropriately employed. For example, when the posture of the workpiece model is expressed by a ZYX Euler angle, the angle Rx with respect to the X axis, the angle Ry with respect to the Y axis, and the angle Rz with respect to the Z axis may be limited so as to be within a prescribed range. it can. Further, the first rotation angle R1 with respect to the Z axis, the second rotation angle R2 with respect to the Y axis, and the third rotation angle R3 with respect to the Z axis are limited so as to be within a prescribed range. May be.

さらにワークを段積みして収納容器に収納する態様には、図54で示すような中敷きや、図55で示すような間仕切りが存在する場合もある。このような場合に、各段の間に、中敷きや間仕切りをモデル化したデータを介在させて物理シミュレーションを実行することで、このような中敷きや間仕切りも考慮した段積み状態を生成することができる。これら中敷きや間仕切りもCADデータ等でモデル化することができる。また、これら中敷きや間仕切りもロボットでピッキングする場合のピッキング動作シミュレーションも合わせて行うこともできる。この場合、中敷きや間仕切りは、吸引式のエンドエフェクタで排除する他、予め中敷きや間仕切りの一部に、把持式や挿入式のエンドエフェクタで把持し易いように、開口部やスリット等を設けておくこともできる。
(ワークモデルを一つ取り出したことによる残りのワークモデル群の変化)
Further, in the aspect of stacking the workpieces and storing them in the storage container, there may be an insole as shown in FIG. 54 or a partition as shown in FIG. In such a case, it is possible to generate a stacked state in consideration of such insole and partition by executing physical simulation with data modeling the insole and partition between each stage. . These insole and partition can also be modeled by CAD data or the like. In addition, a picking operation simulation when picking these insoles and partitions with a robot can also be performed. In this case, the insole and partition are excluded by a suction-type end effector, and an opening or a slit is provided in advance on a part of the insole or partition so that it can be easily gripped by a gripping type or insertion type end effector. It can also be left.
(Changes in remaining work model group due to extraction of one work model)

ここで、ワークモデルを一つ、ワークモデル群から取り出した後のワークモデル群の変化について検討する。従来、バラ積みされたワークモデルのいずれかがエンドエフェクタモデルで把持可能と判断され、ピッキング動作シミュレーションによって取り出される場合、取り出し時や取り出された後の、バラ積みされたワークモデル群の状態については、考慮されていなかった。例えば、図56に示すバラ積みされたワークモデル群において、破線の丸で囲まれたワークモデルは、その下に位置するハッチングで示すワークモデルが存在することによって支えられている。このため、ハッチングされたワークモデルが取り去られたとすれば、本来は倒れるべきである。   Here, the change of the work model group after taking out one work model from the work model group will be examined. Conventionally, when it is determined that one of the workpiece models stacked in bulk can be gripped by the end effector model and is picked up by the picking motion simulation, the state of the workpiece models stacked in bulk after or after picking up Was not considered. For example, in the work model group stacked in bulk shown in FIG. 56, a work model surrounded by a broken-line circle is supported by the existence of a work model indicated by hatching located below the work model. For this reason, if the hatched work model is removed, it should fall down.

しかしながら、従来の物理シミュレーションでは、ハッチングされたワークモデルがなくなったとしても、図57に示すように、その他のワークモデルの位置や姿勢に変化は生じなかった。これは、物理シミュレーションの動作自体が重い処理のため、一度実行させるのみで足りるとして、敢えて再実行させることが考慮されていなかったためと考えられる。しかしながら、図57に示す破線の丸で囲まれたワークモデルのように、支えるものがないのに宙に浮いたような姿勢で止まることには現実にはあり得ず、このような状態でピッキング動作シミュレーションを行っても、現実のワークの位置や姿勢と合致せず、よってピッキング動作シミュレーションが成功したとしても、実運用時には失敗するなど、ピッキング動作シミュレーションの再現性や精度に問題が生じることが考えられる。また、ワークの下側に位置するワークのみならず、周囲で接触しているワークであっても、これらが取り出されると、その近傍のワークモデルにも影響が生じて、バランスが崩れるなどしてワークモデルの位置が変わることも考えられる。従来は、このようなワークの取り出しによる、残りのワーク群の変化については考慮されておらず、このことがピッキング動作シミュレーションの精度に影響を与えることを本発明者らは見出した。   However, in the conventional physics simulation, even if the hatched work model disappears, the position and posture of other work models did not change as shown in FIG. This is probably because the physical simulation operation itself is a heavy process, and it is considered that it is sufficient to execute it once. However, like the work model surrounded by a broken circle shown in FIG. 57, it is impossible to actually stop in a posture that floats in the air without any support, and picking in such a state is impossible. Even if the motion simulation is performed, it does not match the position and orientation of the actual workpiece, so even if the picking motion simulation succeeds, there may be a problem in the reproducibility and accuracy of the picking motion simulation, such as failure during actual operation. Conceivable. Also, not only the workpieces located under the workpiece, but also workpieces that are in contact with the surroundings, if these are removed, the workpiece model in the vicinity of them will be affected and the balance will be lost. The position of the work model may change. Conventionally, the present inventors have found that the change of the remaining work group due to such work removal is not considered, and this affects the accuracy of the picking operation simulation.

そこで、このような知見に基づき、ワークが取り出された結果、残りのワーク群の位置や姿勢に変化が生じることをも推測することで、より実運用時のワークのバラ積み状態に近付けた精度の高いピッキング動作シミュレーションを実現するべく、本発明を成すに至った。具体的には、物理シミュレーションを再実行することを許容するものである。この結果、図58に示す破線の丸で囲まれたワークモデルのように、位置のワークモデルが除去された後、ワークモデル群が重力の作用を受けて状態が変化した様子を再現できるので、ピッキング動作シミュレーションもこれに基づいて、より実運用時に近い状態で実行させることができる。
(物理シミュレーションを再実行する範囲)
Therefore, based on this knowledge, it is possible to estimate that the positions and postures of the remaining workpieces will change as a result of the workpieces being taken out. In order to realize a high picking motion simulation, the present invention has been achieved. Specifically, the physical simulation is allowed to be re-executed. As a result, like the work model surrounded by the broken-line circle shown in FIG. 58, after the work model at the position is removed, it is possible to reproduce the state in which the work model group is changed by the action of gravity. Based on this, the picking operation simulation can be executed in a state closer to actual operation.
(Scope of physical simulation re-execution)

物理シミュレーションを再実行する範囲は、例えば、ピッキング動作シミュレート部により一のワークモデルの取り出しが行われた後、バラ積みデータに含まれる残りのワークモデルのすべてに対して、再実行するよう構成することができる。あるいは、一のワークモデルの取り出しが行われた後、バラ積みデータに含まれる残りのワークモデルの内、取り出されたワークモデルの周囲に存在するワークモデルに対して、物理シミュレーションを再実行するよう構成してもよい。あるいはまた、一のワークモデルの取り出しが行われた後、バラ積みデータに含まれる残りのワークモデルの内で、取り出されたワークモデルに接触していたワークモデル、又は取り出しの過程でロボット又はこれに把持されたワークモデルと干渉するワークモデルに対して、物理シミュレーションを再実行するよう構成してもよい。
(物理シミュレーションを再実行するタイミング)
The scope of re-execution of the physical simulation is configured so that, for example, after one work model is taken out by the picking motion simulator, it is re-executed for all of the remaining work models included in the bulk data. can do. Alternatively, after the extraction of one work model, the physical simulation is re-executed for the work models existing around the extracted work model among the remaining work models included in the bulk data. It may be configured. Alternatively, after the extraction of one work model, the work model that has been in contact with the extracted work model among the remaining work models included in the bulk data, or the robot or the like in the process of extraction. The physical simulation may be re-executed for the work model that interferes with the work model held by the robot.
(When to re-execute physics simulation)

また物理シミュレーションを再実行するタイミングは、典型的には、ピッキング動作シミュレーション中にワークモデルを取り出すタイミングである。すなわち上述した図25のステップS2509のような、ワークモデルの数を一つ減らすタイミングである。例えばピッキング動作シミュレーションで一のワークモデルが取り出される度に、毎回物理シミュレーションを再実行するよう構成できる。ただ本発明は、物理シミュレーションを再実行するタイミングを、ワークモデルを取り出すタイミングに限定しない。例えば、ピッキング動作シミュレーションが実行されている間、予め定めた頻度で物理シミュレーションを再実行するよう構成してもよい。あるいは、一のワークモデルが取り出される度毎に、物理シミュレーションを再実行するか否かの要否を判定してもよい。この場合、不要と判定された場合は物理シミュレーションの再実行を行わない。   The timing for re-executing the physical simulation is typically the timing for taking out the work model during the picking motion simulation. That is, it is a timing to reduce the number of work models by one as in step S2509 in FIG. For example, the physical simulation can be re-executed every time one work model is extracted in the picking motion simulation. However, the present invention does not limit the timing at which the physical simulation is re-executed to the timing at which the work model is taken out. For example, the physical simulation may be re-executed at a predetermined frequency while the picking operation simulation is being executed. Alternatively, it is possible to determine whether or not to re-execute the physical simulation every time one work model is taken out. In this case, if it is determined that it is not necessary, the physical simulation is not re-executed.

さらに、一のワークモデルが取り出された際に、この取り出されるワークモデルに接触していたワークモデルが存在しない場合には、物理シミュレーションの再実行が不要と判定してもよい。
(表示ユーザインタフェース)
Further, when one work model is taken out and there is no work model in contact with the taken out work model, it may be determined that re-execution of the physical simulation is unnecessary.
(Display user interface)

さらに、表示部において、更新されたバラ積みデータをリアルタイムに更新して、ユーザに視覚的にバラ積みデータの変化の状態を示すことも可能となる。特に表示部の表示内容の更新頻度を上げることで、バラ積みデータすなわちバラ積みされたワークモデル群がワークモデルの取り出しによって移動したり崩れる様子などを動画のように表示でき、ユーザに対してより視覚的に判り易い表示態様を提供できる。
(ワークモデルの数を一つ減らす手順)
Furthermore, it is also possible to update the updated bulk data in real time on the display unit and visually indicate the state of change of the bulk data to the user. In particular, by increasing the frequency of updating the display content on the display unit, it is possible to display a lot of data, that is, how the work model group that has been piled up moves or collapses as the work model is extracted, like a movie, and more to the user It is possible to provide a display mode that is easy to understand visually.
(Procedure to reduce the number of work models by one)

ここで、上記図25のステップS2509において、ワークモデルの数を一つ減らす手順の詳細を、図59のフローチャートに基づいて説明する。   Details of the procedure for reducing the number of work models by one in step S2509 of FIG. 25 will be described with reference to the flowchart of FIG.

まずステップS5901において、ピッキング動作により取り出される対象となるワークモデルの、取り出し経路等の取り出しパラメータを設定する。取り出しパラメータとは、例えばどのワークを、どの位置で把持して、どの方向に、どのくらいの速度で取り出すか、ワークの特性(例えば反発係数)、等が挙げられる。   First, in step S5901, the extraction parameters such as the extraction path of the work model to be extracted by the picking operation are set. The take-out parameters include, for example, which work is gripped at which position, in which direction, at what speed, and the work characteristics (for example, coefficient of restitution).

次にステップS5902において、物理シミュレーション部が起動しているか否かを判定し、起動している場合はステップS5904に進み、物理シミュレーション部を起動する。一方、起動していない場合は、ステップS5903に進んで、物理シミュレーション部を起動した上でステップS5904に進む。   Next, in step S5902, it is determined whether the physics simulation unit is activated. If activated, the process proceeds to step S5904 to activate the physics simulation unit. On the other hand, if it is not activated, the process proceeds to step S5903, where the physics simulation unit is activated and then proceeds to step S5904.

ステップS5904においては、ワークモデルの取り出し動作を実行する。この段階で、ワークモデルの状態に応じて、物理シミュレーションの再実行の有無を判定させてもよい。例えば上述の通り、ユーザに対し、物理シミュレーションの再実行の有無を選択させるように、表示部のユーザインターフェース画面上から促す。あるいは、取り出されるワークモデルが、他のワークモデルに接触していない場合は、物理シミュレーションの再実行をしないと判定する。   In step S5904, a work model take-out operation is executed. At this stage, whether or not to re-execute the physical simulation may be determined according to the state of the work model. For example, as described above, the user is prompted from the user interface screen of the display unit to select whether or not to re-execute the physical simulation. Alternatively, when the work model to be taken out is not in contact with another work model, it is determined that the physical simulation is not re-executed.

そして、物理シミュレーションの再実行がユーザにより指定されるなど、物理シミュレーションの再実行がなされた場合には、ステップS5905において、一定時間後の各ワークモデルの状態を確認する。すなわち、ワークモデルが取り出されることで、他のワークモデルが崩れたり滑ったり傾いたりといった何らかの移動が生じている場合には、その移動が終わって静止状態となるまでの間、待った上で、静止状態を表示させる。なお、このようなワークモデル群の動きは、表示部上でリアルタイムに表示させる他、非表示としてロボットシミュレーション装置で内部的に行わせてもよい。この場合は、演算により物理シミュレーション後の状態を生成するため、一定時間の経過を物理的にウェイトする必要は必ずしも必須でない。   When the physical simulation is re-executed, for example, when the physical simulation is re-executed by the user, the state of each work model after a certain time is confirmed in step S5905. In other words, when a workpiece model is taken out and some other movement such as collapse or slipping or tilting of another workpiece model occurs, it waits until the movement ends and becomes stationary, and then stops. Display status. Such movement of the work model group may be displayed on the display unit in real time, or may be internally performed by the robot simulation apparatus as non-display. In this case, since the state after the physical simulation is generated by calculation, it is not always necessary to physically wait for a certain period of time.

次にステップS5906において、取り出し対象のワークモデルが他のワークモデルに干渉しないか否かを判定し、干渉する場合はステップS5904に戻って処理を繰り返し、干渉している場合は、ステップS5907に進み、取り出し対象であるワークモデルが取り出されたものとして、仮想作業空間から削除する。   Next, in step S5906, it is determined whether or not the workpiece model to be picked up does not interfere with other workpiece models. If there is an interference, the process returns to step S5904 to repeat the process. If there is interference, the process proceeds to step S5907. Assuming that the work model to be taken out is taken out, the work model is deleted from the virtual work space.

さらにステップS5908において、一定時間後の各ワークモデルの状態を確認して、ステップS5909に進み、全てのワークモデルの位置及び姿勢が前回の確認時から変化していないか否かを判定し、変化が生じている場合はステップS5908に戻って処理を繰り返し、変化が生じていない場合は処理を終了する。このようにして、ピッキング動作シミュレーションにおいて、物理シミュレーションを必要なタイミング、範囲で再実行することにより、ワークが順次ピッキングされる度に生じ得る変化をも再現して、より正確なシミュレーション結果を得ることが可能となり、実運用時との乖離の少ない、適切な条件設定に寄与し得る。   Further, in step S5908, the state of each work model after a certain time is confirmed, and the process proceeds to step S5909, where it is determined whether the positions and orientations of all work models have not changed since the previous confirmation. If a change has occurred, the process returns to step S5908 to repeat the process. If no change has occurred, the process ends. In this way, in the picking motion simulation, by re-executing the physical simulation at the required timing and range, it is possible to reproduce the changes that may occur each time the workpiece is picked sequentially and obtain a more accurate simulation result. Can contribute to the setting of appropriate conditions with little deviation from actual operation.

なお、上記の例ではピッキング動作シミュレーションにおいて、ワークモデルを取り出すシミュレーションを行う例を説明したが、本発明はこの例に限らず、例えばワークモデルの取り出しシミュレーションを行わずに、取り出し対象のワークモデルを一つ削除し、削除後の状態を初期状態として物理シミュレーションを開始しても良い。この方法であれば、シミュレーションの処理を簡素化できる。また物理シミュレーションの再実行は、毎回行うのではなく、所定の回数毎に物理シミュレーションを行うようにしても良い。さらに、取り出し対象のワークモデルの近傍のワークモデルに関してのみ、物理シミュレーションを行うように、物理シミュレーションの範囲を制限してもよい。この設定は、例えば後述するシミュレーション環境設定部で行わせることができる。あるいは、取り出し対象のワークモデルの周囲の状況を確認し、このワークモデルが取り出される経路上に他のワークモデルがあるときのみ、物理シミュレーションを実行するようにしても良い。   In the above example, in the picking operation simulation, the example of performing the simulation for extracting the workpiece model has been described. However, the present invention is not limited to this example, and for example, the workpiece model to be extracted is not extracted without performing the simulation of extracting the workpiece model. One may be deleted, and the physical simulation may be started with the state after the deletion as an initial state. This method can simplify the simulation process. The physical simulation may be re-executed every predetermined number of times, not every time. Furthermore, the range of the physical simulation may be limited so that the physical simulation is performed only on the work model near the work model to be taken out. This setting can be performed by, for example, a simulation environment setting unit described later. Alternatively, the situation around the work model to be taken out may be confirmed, and the physical simulation may be executed only when there is another work model on the route from which the work model is taken out.

このようにして、より実運用時に近い状態のピッキング動作シミュレーションをユーザに提供することが可能となる。また、ピッキング動作シミュレーションを用いた網羅的な機能を確認することもできる。例えば、ピッキング動作において、前回取り出されたワークモデルの周辺のワークモデルは、次回の取り出し対象としないといった技術が提供されている。この方法では、あるワークモデルを取り出した後に、位置や姿勢が変化していないと想定されるワークモデルについては、再撮像実行しないでピッキング動作に移ることとしている。しかしながら、いずれかのワークモデルを取り出した後の状態を再度物理シミュレーションしないと、本来崩れるはずの場所も崩れない状態となっているため、その機能については正しく検証できない状態になってしまう。そこで、上述の通りワークモデルの取り出し後に再度物理シミュレーションを実行させることで、ワークモデルの動きによって動作の成否が変わる機能に対しても、検証を行うことができるようになる。   In this way, it is possible to provide the user with a picking operation simulation that is closer to the actual operation. It is also possible to confirm an exhaustive function using a picking operation simulation. For example, in the picking operation, a technique is provided in which a work model around the work model taken out last time is not set as a next pick-up target. In this method, after a work model is taken out, a work model that is assumed to have no change in position or posture is moved to a picking operation without performing re-imaging. However, if the state after taking out one of the work models is not re-physically simulated, the place where it should have collapsed is not collapsed, so that the function cannot be correctly verified. Therefore, by executing the physical simulation again after taking out the work model as described above, it is possible to verify even the function whose operation changes depending on the movement of the work model.

以上のようにして、バラ積みデータから順次ワークモデルを取り出すピッキング動作シミュレーションにおいて、いずれか一つのワークモデルがロボットにより取り出された後に、このワークモデルが取り出された後の状態のバラ積みされたワークモデル群に対して、重力の作用を適用する物理シミュレーションを適用して、バラ積みデータを更新することができる。これにより、いずれか一つのワークモデルが取り出されたことにより、取り出されたワークモデルに接触していた他のワークモデルが物理的に不自然な状態、例えば中に浮いたような状態になることを防止できる。
(ワークモデルのバラ積み画像の生成)
As described above, in the picking motion simulation in which workpiece models are sequentially extracted from the bulk data, after any one of the workpiece models is taken out by the robot, the workpieces in the state after the workpiece model is taken out are stacked. The bulk data can be updated by applying a physical simulation that applies the action of gravity to the model group. As a result, when any one of the work models is taken out, the other work model that is in contact with the taken out work model becomes physically unnatural, for example, a state where it floats inside. Can be prevented.
(Generation of bulk image of work model)

ここで上記図25のステップS2502における、物理シミュレーションによって得られるワークモデルのバラ積み画像の生成について詳述する。図26に示した物理シミュレーションにより得られた、複数個のワークモデルが積み上げられた位置姿勢データを元に、三次元のバラ積みデータ(3D計測データ)が生成される。ステップS2502では、このバラ積みデータから、バラ積み画像として高さ画像を生成する。高さ画像とは、画像を構成する各画素値に、高さの値が格納されている画像である。典型的には、高さを輝度値で表現した画像である。高さ画像の生成方法については、上述した通りZバッファ法が好適に利用できる。
(無効画素)
Now, the generation of the stacked image of the work model obtained by the physical simulation in step S2502 in FIG. 25 will be described in detail. Based on the position / orientation data obtained by stacking a plurality of work models obtained by the physical simulation shown in FIG. 26, three-dimensional loose stacking data (3D measurement data) is generated. In step S2502, a height image is generated as a stacked image from the stacked data. 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 the height image generation method, the Z buffer method can be suitably used as described above.
(Invalid pixel)

このようにして高さ画像を生成した後、同時に作成しておいた法線画像を参照して、面が一定以上傾いている画素を無効画素化する。この高さ画像と法線画像とは、各画素が一対一で対応している。なお、無効画素とは、三次元計測することができなかった箇所を示す画素である。例えば、画素値が0になっておれば、当該画素を無効画素と判断できる。   After generating the height image in this manner, the normal image created at the same time is referred to, and pixels whose surface is inclined more than a certain level are made invalid pixels. In the height image and the normal image, each pixel has a one-to-one correspondence. Note that the invalid pixel is a pixel indicating a location where three-dimensional measurement could not be performed. For example, if the pixel value is 0, the pixel can be determined as an invalid pixel.

例えば、センサ部を構成するプロジェクタとカメラの両方で見えていない部位すなわち画素を無効画素とする。なお、画素の無効化については、一定の閾値を基準として一律に無効化する他、角度範囲に応じて重み付けをしてもよい。   For example, a portion that is not visible by both the projector and the camera constituting the sensor unit, that is, a pixel is set as an invalid pixel. In addition, pixel invalidation may be weighted according to an angle range in addition to being uniformly invalidated with a certain threshold as a reference.

以上の構成により、実運用時の三次元計測の可否を考慮した正確なバラ積みデータを構築できる。金属ワーク等の鏡面反射の強いワークは、面が一定以上傾くと、センサ部を構成するプロジェクタからの投影パターンが反射しなくなるため、三次元計測ができなくなる。従来のピッキング動作シミュレーションでは、この点が考慮されておらず、すべてのワークの三次元形状が計測されるものとの前提でシミュレーションが行われていたため、実運用時との齟齬や乖離が生じていた。例えば物理シミュレーションの結果、図60Aに示すようなバラ積みデータが得られた状態で、ワークモデルWMの各面の傾斜などを考慮することなく単純に高さ画像としたバラ積み画像では、図60Bの平面図や図60Cの点群表示画像に示すようになる。このバラ積み画像では、実運用時には三次元計測できない急峻な傾斜面も計測できる結果となってしまっている。   With the above configuration, it is possible to construct accurate bulk data considering the possibility of three-dimensional measurement during actual operation. If the surface of a workpiece having high specular reflection, such as a metal workpiece, is tilted more than a certain level, the projection pattern from the projector constituting the sensor unit will not be reflected, and three-dimensional measurement will not be possible. This is not taken into consideration in the conventional picking motion simulation, and the simulation is performed on the premise that the three-dimensional shape of all workpieces is measured, resulting in discrepancies and deviations from actual operation. It was. For example, as a result of the physical simulation, in the state where the bulk stacking data as shown in FIG. 60A is obtained, in the bulk stacking image that is simply a height image without considering the inclination of each surface of the work model WM, FIG. As shown in the plan view and the point cloud display image of FIG. 60C. In this stacked image, a steep inclined surface that cannot be measured three-dimensionally during actual operation can be measured.

これに対し本実施形態によれば、バラ積みデータをそのまま利用するのでなく、ピッキング動作シミュレーション上でワークの三次元形状の計測の可否状態を再現したシミュレーション用データを生成することができる。この結果、図60Aのバラ積みデータから、図60Dの平面図や図60Eの斜視図に示すような、急な斜面は三次元計測できない無効画素として表示された、より実運用時に近いバラ積み画像を生成することができる。これにより、ピッキング動作シミュレーションを実運用時と近付けて、より正確なシミュレーションに基づき、事前の設定作業を行うことが可能となる。   On the other hand, according to the present embodiment, it is possible to generate simulation data that reproduces the availability of measurement of the three-dimensional shape of the workpiece on the picking motion simulation, instead of using the stacking data as it is. As a result, from the stacking data of FIG. 60A, a steep slope as shown in the plan view of FIG. 60D and the perspective view of FIG. 60E is displayed as invalid pixels that cannot be three-dimensionally measured. Can be generated. As a result, the picking operation simulation can be brought close to that during actual operation, and a preliminary setting operation can be performed based on a more accurate simulation.

以上のように、CADデータがあれば、実際のワークを用意したりバラ積みさせたりしなくても、実運用に近い状態で、効率的に検証することができるようになる。ただ、実際のワークを用意してバラ積みした状態でピッキング動作シミュレーションを行うことも可能である。
(角度閾値)
As described above, if there is CAD data, it is possible to efficiently perform verification in a state close to actual operation without preparing or stacking actual workpieces. However, it is also possible to perform a picking operation simulation with actual workpieces prepared and stacked.
(Angle threshold)

次に、ワークモデルを構成する面の傾斜角度の閾値を設定する手順について説明する。ここで、図6のセンサ部2を用いて、鏡面反射の弱いワークWK4の三次元形状を取得可能な角度範囲を図61Aに、鏡面反射の強いワークWK5の三次元形状を取得可能な角度範囲を図61Bに、それぞれ示す。これらの図に示すように、ワークを構成する材質が、樹脂等のような、鏡面反射が弱い、いいかえると拡散反射の強い場合と、金属等のような、鏡面反射が強い、いいかえると拡散反射の弱い場合とでは、計測可能な角度範囲に違いが生じる。すなわち、鏡面反射が強いと、プロジェクタの投影パターンがワークの表面で反射され難くなり、面が少し傾くと計測不可となる。図61Aに示す樹脂製のワークWK4では、センサ部2からワークに下ろした鉛直面から75°の範囲までの傾斜面であれば計測可能となっている。一方図61Bに示す金属製のワークWK5では、鉛直面から45°の範囲までの傾斜面であれば計測可能となっている。なお角度閾値は、上述の通り鉛直方向からの傾斜角度として表現する他、カメラとプロジェクタの傾斜角度で表現してもよい。   Next, the procedure for setting the threshold value of the inclination angle of the surfaces constituting the work model will be described. Here, FIG. 61A shows an angle range in which the sensor unit 2 in FIG. 6 can be used to obtain the three-dimensional shape of the work WK4 having a weak specular reflection, and FIG. 61A shows an angle range in which the three-dimensional shape of the work WK5 having a strong specular reflection can be obtained. Are shown in FIG. 61B. As shown in these figures, the material that composes the workpiece is weak in specular reflection, such as resin, in other words, if diffuse reflection is strong, and in the case of metal, etc., the specular reflection is strong, in other words, diffuse reflection. A difference occurs in the measurable angle range from the case of weakness. That is, if the specular reflection is strong, the projection pattern of the projector is difficult to be reflected on the surface of the workpiece, and measurement is impossible if the surface is slightly inclined. In the resin work WK4 shown in FIG. 61A, measurement is possible as long as it is an inclined surface within a range of 75 ° from the vertical surface lowered from the sensor unit 2 to the work. On the other hand, the metal workpiece WK5 shown in FIG. 61B can be measured if it is an inclined surface within a range of 45 ° from the vertical surface. The angle threshold value may be expressed as an inclination angle from the vertical direction as described above, or may be expressed as an inclination angle between the camera and the projector.

そこで本実施形態では、水平面に対し何度の傾斜面まで計測できるかを示す角度閾値を設定可能とすることができる。角度閾値を、対象となるワークの材質に応じて、調整できるようにすることで、ワークに応じた適切なピッキング動作シミュレーションが実現される。
(検出用設定部50)
Therefore, in the present embodiment, it is possible to set an angle threshold indicating how many inclined surfaces can be measured with respect to the horizontal plane. By making it possible to adjust the angle threshold according to the material of the target workpiece, an appropriate picking operation simulation according to the workpiece is realized.
(Detection setting unit 50)

このような角度閾値は、上述した図24の検出用設定部50から行うように構成できる。検出用設定部50で行われた角度閾値の設定に基づいて、領域推定部22は、センサモデル設定部15で設定されたセンサモデルの仮想的な三次元測定光源から延長された測定軸に対して、予め定めた角度閾値以上の傾斜角度を有する領域を、三次元計測が困難な領域として推定する。   Such an angle threshold can be configured to be performed from the detection setting unit 50 of FIG. 24 described above. Based on the angle threshold setting performed by the detection setting unit 50, the region estimation unit 22 applies the measurement axis extended from the virtual three-dimensional measurement light source of the sensor model set by the sensor model setting unit 15. Thus, an area having an inclination angle equal to or greater than a predetermined angle threshold is estimated as an area where three-dimensional measurement is difficult.

角度閾値は、予め定めた固定値としてもよい。あるいは、角度閾値を、表面状態パラメータ設定部12で設定された表面状態パラメータによって変化させてもよい。さらにセンサ部で実測した三次元計測データに基づいて、角度閾値を変化させてもよい。   The angle threshold may be a predetermined fixed value. Alternatively, the angle threshold value may be changed according to the surface state parameter set by the surface state parameter setting unit 12. Further, the angle threshold value may be changed based on the three-dimensional measurement data actually measured by the sensor unit.

上述の通り角度閾値は、対象となるワークに応じて設定できる。例えば、樹脂製のワークを想定し、75°の傾斜面まで計測可能として角度閾値を設定した場合に得られるバラ積み画像の例を図62Aに、その要部拡大図として樹脂製ワークモデルWM4を示す拡大図を図62Bに、それぞれ示す。また金属製のワークを想定し、45°の傾斜面まで計測可能として角度閾値を設定した場合に得られるバラ積み画像の例を図62Cに、その内の金属製ワークモデルWM5を拡大した要部拡大図を図62Dに、それぞれ示す。これらの図に示すように、樹脂製のワークに対して金属製のワークは計測できる部分が限られることから、ピッキング動作シミュレーションの対象が金属製ワークである場合に、この限られた形状特徴でも、ワークの位置及び姿勢を正しく検出できるか否かを、事前に検証することができる。   As described above, the angle threshold value can be set according to the target workpiece. For example, assuming a resin workpiece, an example of a stacked image obtained when an angle threshold is set so that measurement is possible up to an inclined surface of 75 ° is shown in FIG. 62A, and a resin workpiece model WM4 is shown as an enlarged view of the main part. The enlarged views shown are shown in FIG. 62B, respectively. Also, assuming a metal workpiece, an example of a stacked image obtained when an angle threshold is set so that measurement can be performed up to a 45 ° inclined surface is shown in FIG. 62C, and a main part in which the metal workpiece model WM5 is expanded. Enlarged views are shown in FIG. 62D, respectively. As shown in these figures, since the metal workpiece can be measured only with respect to the resin workpiece, if the target of the picking motion simulation is a metal workpiece, this limited shape feature It is possible to verify in advance whether or not the position and posture of the workpiece can be correctly detected.

また、角度閾値によって、計測できる/できないを単純に2値化的に決定するのではなく、乱数を用いて確率的に決定することもできる。ここで、実運用時の計測では、表面状態が一様ではないため、計測できる/できないの境目が綺麗に境界になるわけではない。この結果、無効画素へのなり易さ、なり難さが確率的に変わるような形になる。そのため、乱数を用いて、傾斜角度が小さいところは、除外する確率を下げ、傾斜角度が大きいところは、除外する確率を上げるようにする。このように乱数によって確率的に決定することで、より実際の計測に近い状態を実現できる。   Further, it is also possible to determine probabilistically using random numbers instead of simply binarizing whether or not measurement can be performed based on the angle threshold. Here, in actual measurement, since the surface state is not uniform, the boundary where measurement is possible / impossible is not a beautiful boundary. As a result, it becomes a form in which the ease and difficulty of becoming an invalid pixel change stochastically. For this reason, random numbers are used to reduce the probability of exclusion when the tilt angle is small, and increase the probability of exclusion when the tilt angle is large. In this way, a state closer to actual measurement can be realized by stochastically determining with a random number.

このようにロボットシミュレーション装置によれば、ピッキング動作シミュレーションにおいて、実運用時の計測結果に近い状態の画像を用いて、設定パラメータの調整や最適化が可能となる。例えば、ピッキング動作シミュレーションの結果、ワークの検出自体が難しいことが判明した場合には、対策としてワークの搬送方法や積み方を改善する必要があるなどを講じることができるようになる。このようにして、実際にワークを準備したり、センサ部を設置することなく、事前に順当な対応策を検証できるようになる。
(カメラの位置に基づく困難領域の排除)
(実施形態12)
As described above, according to the robot simulation apparatus, in the picking motion simulation, it is possible to adjust and optimize the setting parameters using an image in a state close to the measurement result in actual operation. For example, as a result of the picking operation simulation, when it is found that the workpiece detection itself is difficult, it is possible to take measures such as the need to improve the workpiece transfer method and the stacking method. In this way, an appropriate countermeasure can be verified in advance without actually preparing a workpiece or installing a sensor unit.
(Elimination of difficult areas based on camera position)
Embodiment 12

また、領域推定部で困難領域を推定する方法は、上述した面の傾斜角度に限られず、センサ部のカメラの位置に基づいて決定することもできる。このようなロボットシミュレーション方法を、実施形態12として以下説明する。   The method of estimating the difficult region by the region estimation unit is not limited to the above-described inclination angle of the surface, and can be determined based on the position of the camera of the sensor unit. Such a robot simulation method will be described below as a twelfth embodiment.

上述した通り、バラ積みピッキングのシミュレーションにおける、シミュレーション用データの生成に際して、ワークの三次元のCADモデルと、このCADモデルをワークモデルとしてバラ積みしたときの各ワークモデルの位置及び姿勢のデータがあれば、上述したZバッファ法等を利用して、上から見たときの仮想的な画像、すなわちバラ積み画像を生成できる。   As described above, when generating simulation data in a bulk picking simulation, there must be a three-dimensional CAD model of the workpiece, and position and orientation data of each workpiece model when the CAD model is stacked as a workpiece model. For example, by using the above-described Z buffer method or the like, it is possible to generate a virtual image as viewed from above, that is, a stacked image.

しかしながら、Zバッファ法では上から見えるデータはすべて描画される。この結果、周囲にワークモデルが積まれていても、上から見たときに見えている限りは描画されてしまう。例えば図63のバラ積み画像に示す例を考える。ここで三次元計測を行うセンサ部が、例えばTOF方式を用いたTOFセンサの場合は、実際もこのような画像になる。しかしながら、図64に示すようなパターンプロジェクション方式のように、投影位置と撮像位置が異なる場合は、両方の位置から見えることが計測できる条件になる。そのため、図64のように、プロジェクタモデルPMからは見えても、カメラモデルCMMから見えない位置にある奥まった部位は計測できないことになる。実運用時に近いピッキング動作シミュレーション結果を得るには、このような点は除去することが望ましい。   However, in the Z buffer method, all data that can be seen from above is drawn. As a result, even if a work model is stacked around it, it is drawn as long as it can be seen from above. For example, consider the example shown in the stacked image of FIG. Here, when the sensor unit that performs the three-dimensional measurement is, for example, a TOF sensor using the TOF method, such an image is actually obtained. However, when the projection position and the imaging position are different as in the pattern projection method as shown in FIG. Therefore, as shown in FIG. 64, although it can be seen from the projector model PM, it is impossible to measure a deep part at a position that cannot be seen from the camera model CMM. In order to obtain a picking operation simulation result close to actual operation, it is desirable to remove such points.

そこで実施形態12においては、高さ画像を作成した後に、この高さ画像を構成する各画素で、カメラモデルから見えるかどうかを判定し、見えるものだけを残すようにする。例えば、図3等の領域推定部22が、センサモデルで三次元計測を行う際の仮想的な三次元測定光源と、バラ積みデータを構成する各点とをそれぞれ結ぶ線分を仮想光軸として定義し、仮想光軸上に別のワークモデルの点が存在するか否かを判定する。そして別のワークモデルの点がある場合は、三次元計測が困難な点と推定し、このような三次元計測が困難な点の集合でもって推定領域を規定する。これにより、仮想光軸とワークモデルとの干渉の有無に基づいて、計測の困難さを推定することができ、もってシミュレーションの精度を高めることができる。   Therefore, in the twelfth embodiment, after creating a height image, it is determined whether or not each pixel constituting the height image is visible from the camera model, and only what is visible is left. For example, the region estimation unit 22 in FIG. 3 or the like uses, as virtual optical axes, line segments respectively connecting virtual three-dimensional measurement light sources when performing three-dimensional measurement with a sensor model and points constituting the stacked data. Define and determine whether there is another work model point on the virtual optical axis. If there is a point of another work model, it is estimated that the three-dimensional measurement is difficult, and the estimation region is defined by a set of points where such three-dimensional measurement is difficult. Accordingly, it is possible to estimate the difficulty of measurement based on the presence or absence of interference between the virtual optical axis and the work model, thereby improving the accuracy of the simulation.

このような他のワークモデルにより死角となる領域の判定する具体的な手法として、三次元のバラ積みデータを構成する各点(ボクセル)において、この点とカメラモデルとを結ぶ線分を定義する。この線分上に、別のボクセル点がある場合は、カメラモデルからその点は見えないと判定する。   As a specific method for determining a blind spot area by such another work model, a line segment connecting this point and the camera model is defined at each point (voxel) constituting the three-dimensional bulk data. . If there is another voxel point on this line segment, it is determined that the point cannot be seen from the camera model.

また図6に示したように、センサ部2にカメラが2つ以上ある場合は、少なくとも1つのカメラモデルから見えている点を残すようにする。例えば図65Aにおいては、カメラモデルCMMからワークモデルWMが見えているので、有効なボクセルと扱う。一方、図65Bに示すように、ワークモデルWM6の一部が他のワークモデルWM7に隠れてカメラモデルCMMから見えない場合は無効なボクセルと扱う。また図65Cに示すように複数のカメラモデルCMM2、CMM3のいずれかでワークモデルWMが見えている場合は、有効なボクセルとして扱う。このようにすることで、奥まっていて実際には見えないような部位は、バラ積み画像上から除外して、実運用時に撮像した画像に近い画像を得ることで、正確なバラ積みシミュレーションを行える。
(実施形態12に係るピッキング動作シミュレーションの手順)
As shown in FIG. 6, when there are two or more cameras in the sensor unit 2, a point visible from at least one camera model is left. For example, in FIG. 65A, since the work model WM is visible from the camera model CMM, it is treated as an effective voxel. On the other hand, as shown in FIG. 65B, when a part of the work model WM6 is hidden behind another work model WM7 and cannot be seen from the camera model CMM, it is treated as an invalid voxel. Also, as shown in FIG. 65C, when the work model WM is visible in any of the plurality of camera models CMM2 and CMM3, it is handled as an effective voxel. By doing in this way, it is possible to perform an accurate stacking simulation by excluding a part that is deep and invisible but removing it from the stacked image and obtaining an image close to the image captured during actual operation. .
(Picking Operation Simulation Procedure According to Embodiment 12)

ここで、実施形態12に係るピッキング動作シミュレーションの手順を、図66のフローチャートに基づいて説明する。上述した実施形態1に係る図25のフローチャートと同じ動作については、詳細説明を適宜省略する。まず、ステップS6601において、シミュレーション環境を設定する。次にステップS6602において、ワークモデルのバラ積み画像を生成する。このワークモデルのバラ積み画像を生成する手順の詳細を、図67のフローチャートを用いて説明する。
(実施形態12に係るバラ積み画像の生成手順)
Here, the procedure of the picking operation simulation according to the twelfth embodiment will be described based on the flowchart of FIG. Detailed description of the same operations as those in the flowchart of FIG. 25 according to the first embodiment will be omitted as appropriate. First, in step S6601, a simulation environment is set. Next, in step S6602, a stacked image of the work model is generated. The details of the procedure for generating the stacked image of the work model will be described with reference to the flowchart of FIG.
(Procedure for generating stacked images according to Embodiment 12)

まずステップS6701において、乱数に基づいてワークモデルの姿勢、投下位置を設定する。次にステップS6702において、ワークモデルを投下させて物理シミュレーションを実施する。さらにステップS6703において、指定された数のワークモデルが投下されたか否かを判定し、未だの場合はステップS6701に戻って処理を繰り返す。そして、指定された数のワークモデルが投下されたと判定すると、ステップS6704に進み、各ワークモデルの位置、姿勢に基づいて、ワークモデルのバラ積み画像を生成する。ここでは、三次元のバラ積みデータから高さ画像を生成する。
(バラ積み画像の生成手順)
First, in step S6701, the posture and drop position of the work model are set based on random numbers. Next, in step S6702, the physical simulation is performed by dropping the work model. Further, in step S6703, it is determined whether or not the designated number of work models has been dropped. If not, the process returns to step S6701 to repeat the process. If it is determined that the designated number of work models have been dropped, the process advances to step S6704 to generate a stacked image of work models based on the position and orientation of each work model. Here, a height image is generated from three-dimensional bulk data.
(Procedure for creating bulk images)

ここで、ステップS6704においてバラ積み画像を生成する手順の詳細を、図68のフローチャートに基づいて説明する。まずステップS6801において、バラ積みデータを、CADデータを登録された位置及び姿勢に変換する。次にステップS6802において、これをZバッファ法で高さ画像に描画し直す。そしてステップS6803において、すべてのワークモデルを描画したかを判定し、未だの場合はステップS6801に戻って処理を繰り返す。この結果、すべてのワークモデルの描画を終えた場合はステップS6804に進む。   Here, details of the procedure for generating the stacked images in step S6704 will be described based on the flowchart of FIG. In step S6801, the stacking data is converted into the position and orientation in which the CAD data is registered. In step S6802, this is redrawn on the height image by the Z buffer method. In step S6803, it is determined whether all work models have been drawn. If not, the process returns to step S6801 and the process is repeated. As a result, if all the work models have been drawn, the process advances to step S6804.

ステップS6804では、高さ画像の1点とカメラモデルとを結ぶ直線を計算する。ここでは、三次元の仮想作業空間内におけるカメラモデルの位置は、事前に定義されているものとする。その上で、図69に示すようにワークモデルWMの高さ画像の各画素で各カメラモデルCMMと結ぶ直線式を計算する。例えば次式で近似する。   In step S6804, a straight line connecting one point of the height image and the camera model is calculated. Here, it is assumed that the position of the camera model in the three-dimensional virtual work space is defined in advance. After that, as shown in FIG. 69, a linear expression connecting each camera model CMM at each pixel of the height image of the work model WM is calculated. For example, it is approximated by the following equation.

ax+by+cz=d   ax + by + cz = d

そしてステップS6805において、図70に示すように、カメラモデルCMMと結ぶ直線上に障害物、ここでは別のワークモデルWMが存在するかをチェックする。具体的な方法としては、高さ画像上での二次元線に変換する。その線上の高さ画像の各点と、その位置で線上のZ値を計算し、高さ画像の点のほうが高い位置にある場合は、カメラモデルから見えないと判断する。   In step S6805, as shown in FIG. 70, it is checked whether an obstacle, here, another work model WM exists on a straight line connecting to the camera model CMM. As a specific method, the image is converted into a two-dimensional line on the height image. Each point of the height image on the line and the Z value on the line at that position are calculated, and if the point of the height image is at a higher position, it is determined that it is not visible from the camera model.

さらにステップS6806において、すべてのカメラモデルから見えない点を除去する。さらにステップS6807において、すべての画素で実施したか否かを判定し、未だの場合はステップS6804に戻って処理を繰り返す。そして、すべての画素で実施したと判定されると、処理を終了する。   In step S6806, points that are not visible from all camera models are removed. Further, in step S6807, it is determined whether or not the process has been performed for all pixels. If not, the process returns to step S6804 to repeat the process. Then, when it is determined that the process is performed for all the pixels, the process is terminated.

このようにして図68、図67の手順を経て、図66のステップS6602でバラ積み画像が得られると、次にステップS6603において、各ワークモデルの位置と姿勢の検出を試みる。さらにステップS6604において、各ワークモデルの位置と姿勢が検出できたか否かを判定し、検出できる場合はステップS6605に進み、検出できない場合はステップS6609にジャンプして、残ったワークモデルに関する情報を抽出した後、処理を終了する。   As described above, when the stacked images are obtained in step S6602 of FIG. 66 through the procedure of FIGS. 68 and 67, the position and orientation of each work model are detected in step S6603. Further, in step S6604, it is determined whether or not the position and orientation of each work model has been detected. If it can be detected, the process proceeds to step S6605. If not, the process jumps to step S6609 to extract information on the remaining work model. After that, the process ends.

ワークモデルの位置と姿勢が検出できた場合は、ステップS6605において、エンドエフェクタモデルと周辺データとの干渉判定を行い、把持解の算出を試みる。そしてステップS6606において、把持解を算出できたか否かを判定し、算出できた場合はステップS6607に進み、算出できない場合はステップS6609にジャンプして、残ったワークモデルに関する情報を抽出した後、処理を終了する。   If the position and orientation of the work model can be detected, in step S6605, the interference determination between the end effector model and the surrounding data is performed, and the gripping solution is calculated. In step S6606, it is determined whether or not the gripping solution can be calculated. If it can be calculated, the process proceeds to step S6607. If the calculation cannot be calculated, the process jumps to step S6609 to extract information on the remaining work model. Exit.

把持解を算出できた場合はステップS6607において、ワークモデルの数を一つ減らす。そしてステップS6608において、未処理のワークモデルが残っているか否かを判定し、残っている場合はステップS6602に戻って処理を繰り返し、残っていない場合はステップS6609に進む。ステップS6609においては、残ったワークモデルに関する情報を抽出する。   If the gripping solution can be calculated, the number of work models is reduced by one in step S6607. In step S6608, it is determined whether or not an unprocessed work model remains. If it remains, the process returns to step S6602, and the process is repeated. If not, the process proceeds to step S6609. In step S6609, information regarding the remaining work model is extracted.

このようにして、ピッキング動作シミュレーションがピッキング動作シミュレート部によって実行される。このようにして、カメラを用いたセンサ部でワークの三次元形状を測定できない測定困難領域を、より正確に推定することが可能となる。   In this manner, the picking operation simulation is executed by the picking operation simulation unit. In this way, it is possible to more accurately estimate the measurement difficulty region where the three-dimensional shape of the workpiece cannot be measured by the sensor unit using the camera.

なお、以上の例では、カメラ側から見えるか否かで無効画素を判定したが、カメラだけではなくプロジェクタの位置も定義し、プロジェクタから見え、かつカメラの何れかから見えるという条件に設定することもできる。さらにカメラの位置を明確に定義せずに、周りの点よりも一定以上低い点は消すなどして、同様の効果を得てシミュレーションすることもできる。   In the above example, the invalid pixel is determined based on whether it can be seen from the camera side. However, not only the camera but also the position of the projector is defined, and the condition is set so that it can be seen from either the projector or the camera. You can also. Furthermore, without clearly defining the position of the camera, it is possible to perform simulation by obtaining the same effect by deleting points lower than a certain point from surrounding points.

以上のようにロボットシミュレーション装置によれば、現実にセンサ部を配置したりワークを積み上げる等の準備をしなくとも、バラ積みワークを撮像した状態に近い状態を仮想的に構築して、シミュレーションを事前に行うことが可能となる。特に実運用時に三次元計測ができない領域を考慮したシミュレーションを行うことで、シミュレーションと実運用時の乖離を低減でき、信頼性の高いシミュレーションが可能となる。
(角度閾値決定部54)
(実施形態13)
As described above, according to the robot simulation device, a simulation is performed by virtually constructing a state close to the state of picking up the stacked workpieces without actually arranging the sensor units or stacking the workpieces. This can be done in advance. In particular, by performing a simulation in consideration of a region where three-dimensional measurement cannot be performed during actual operation, the difference between the simulation and actual operation can be reduced, and a highly reliable simulation is possible.
(Angle threshold value determination part 54)
(Embodiment 13)

以上の例では、仮想的なバラ積みデータに基づいて角度閾値を設定する例を説明した。ただ本発明はこの構成に限らず、実際にワークをバラ積みした状態をセンサ部で測定した結果に基づいて、角度閾値を設定することもできる。この場合は、ワークを無作為にバラ積みしたワーク群に対して、実際にセンサ部で三次元計測を行う。このため、画像処理部であるロボットシミュレーション装置に、センサ部を接続する。   In the above example, the example in which the angle threshold is set based on virtual stacking data has been described. However, the present invention is not limited to this configuration, and the angle threshold value can also be set based on the result of measuring the state in which the workpieces are actually stacked in the sensor unit. In this case, three-dimensional measurement is actually performed by the sensor unit with respect to a workpiece group in which workpieces are randomly stacked. For this reason, a sensor unit is connected to a robot simulation apparatus that is an image processing unit.

このようなロボットシミュレーション装置の詳細を、実施形態13として図71のブロック図に基づいて説明する。この図に示すロボットシミュレーション装置500は、センサ部2と、計測データ記憶部52と、角度閾値決定部54と、ワークモデル設定部11と、物理シミュレーション部60と、バラ積みデータ生成部20と、シミュレーション用データ生成部40と、ピッキング動作シミュレート部30とを備えている。実施形態13においても、上述した実施形態1等と同じ部材については、同一の符号を付して詳細説明を適宜省略する。   Details of such a robot simulation apparatus will be described as Embodiment 13 based on the block diagram of FIG. The robot simulation apparatus 500 shown in this figure includes a sensor unit 2, a measurement data storage unit 52, an angle threshold value determination unit 54, a work model setting unit 11, a physical simulation unit 60, a bulk data generation unit 20, A simulation data generation unit 40 and a picking operation simulation unit 30 are provided. Also in the thirteenth embodiment, the same members as those in the first embodiment described above are denoted by the same reference numerals, and detailed description thereof is omitted as appropriate.

計測データ記憶部52は、積み上げられた複数の異なる姿勢のワークを、センサ部2により三次元計測した、センサ部2の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データを記憶するための部材である。このような計測データ記憶部52は、ハードディスクのような固定記憶媒体、半導体メモリやその他の可搬メディア等が利用できる。   The measurement data storage unit 52 stores three-dimensional measurement data having information on an inclination angle with respect to the measurement axis of the sensor unit 2 at each position, which is obtained by three-dimensionally measuring a plurality of stacked workpieces with different postures. It is a member for doing. The measurement data storage unit 52 can use a fixed storage medium such as a hard disk, a semiconductor memory, or other portable media.

角度閾値決定部54は、計測データ記憶部52に記憶された複数のワークの三次元計測データを構成する各点の、センサ部2の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定するための部材である。なおセンサ部2の測定軸とは、センサ部2が三次元計測を行うための三次元測定光源が発する測定光の光軸である。またセンサ部2の測定軸は、鉛直方向等、所定の方向としてもよい。   The angle threshold value determination unit 54 determines whether or not three-dimensional measurement can be performed based on the tilt angle information of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit 52 with respect to the measurement axis of the sensor unit 2. It is a member for determining the angle threshold value used as the reference | standard which determines this. The measurement axis of the sensor unit 2 is an optical axis of measurement light emitted from a three-dimensional measurement light source for the sensor unit 2 to perform three-dimensional measurement. The measurement axis of the sensor unit 2 may be a predetermined direction such as a vertical direction.

図71に示す領域推定部は、バラ積みデータ生成部20で生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、角度閾値決定部54で決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定する。これにより、現実にセンサ部2で計測したワークの傾斜角度に基づいて定めた角度閾値を基準として、測定困難と推定されるデータを予め排除した上でシミュレーション用データを取得できるため、より精度の高いピッキング動作のシミュレーションが可能となる。   The area estimation unit shown in FIG. 71 includes a virtual inclination angle of each point constituting each work model in the bulk stacking data generated by the bulk stacking data generation unit 20, an angle threshold determined by the angle threshold determination unit 54, and , And a point having a virtual inclination angle larger than the angle threshold is specified as an estimation region estimated to be difficult to measure. As a result, the simulation data can be acquired after excluding data presumed to be difficult to measure on the basis of the angle threshold value determined based on the tilt angle of the workpiece actually measured by the sensor unit 2, and thus more accurate. High picking motion simulation is possible.

また実施形態13に係るロボットシミュレーション装置500は、表示部3を備えてもよい。この表示部3は、計測データ記憶部52に記憶された複数のワークの三次元計測データを構成する各点の、センサ部2の測定軸に対する傾斜角度情報に基づいて、各点の傾斜角度を累積した分布を示す角度分布ヒストグラムを表示可能としている。   Further, the robot simulation apparatus 500 according to the thirteenth embodiment may include the display unit 3. The display unit 3 displays the inclination angle of each point based on the inclination angle information of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit 52 with respect to the measurement axis of the sensor unit 2. An angle distribution histogram showing the accumulated distribution can be displayed.

ここで、実測データに基づいて三次元計測可能なワークモデルの姿勢を決定する方法について説明する。センサ部によってバラ積みされたワーク群の三次元計測できるか否かを判定する際には、上述の通り予め設定された角度閾値を参照する。しかしながら、角度閾値はワークによって異なる。例えば、相対的に計測し易い樹脂製のワークは、表面が傾斜していても計測できる。しかし、光沢の強い金属製のワークでは計測できない。そのため、対象となるワークに応じて角度閾値を調整することが望ましい。しかしながら、その設定は容易でなく、設定された値によっては望む結果を得ることができなくなる。   Here, a method for determining the posture of a work model capable of three-dimensional measurement based on actually measured data will be described. When determining whether or not the three-dimensional measurement of the workpieces stacked in bulk by the sensor unit is possible, the preset angle threshold is referred to as described above. However, the angle threshold varies depending on the workpiece. For example, a resin workpiece that is relatively easy to measure can be measured even if the surface is inclined. However, it cannot be measured with a glossy metal workpiece. Therefore, it is desirable to adjust the angle threshold according to the target workpiece. However, the setting is not easy, and a desired result cannot be obtained depending on the set value.

そこで実施形態13においては、実際にワークを三次元計測した三次元計測データに基づいて、最適な角度閾値を決定する。具体的には、角度閾値決定部54でもって、実際にバラ積みされたワーク群を撮像した画像の、各画素に対して表面傾きを計算し、全体の角度分布を測定する。この角度分布を使って、どの程度表面が傾いても計測できるワークであるかを判定し、最適な閾値を決定する。この方法であれば、ワークの材質や表面状態のばらつき、用いられるセンサとの相性や湿度、気温等による変動等によらず、実際に計測した三次元計測データに基づいて、角度閾値を決定できるため、信頼性の高い角度閾値の選択が可能となる。
(角度分布ヒストグラム)
Therefore, in the thirteenth embodiment, an optimum angle threshold is determined based on three-dimensional measurement data obtained by actually measuring a workpiece three-dimensionally. Specifically, the angle threshold determination unit 54 calculates the surface inclination for each pixel of an image obtained by actually capturing a group of workpieces, and measures the entire angle distribution. Using this angular distribution, it is determined how much the workpiece can be measured even if the surface is tilted, and an optimum threshold value is determined. With this method, the angle threshold value can be determined based on actually measured three-dimensional measurement data, regardless of variations in workpiece materials and surface conditions, compatibility with the sensor used, fluctuation due to humidity, temperature, etc. Therefore, a highly reliable angle threshold can be selected.
(Angle distribution histogram)

ワークの三次元計測データを構成する各点の傾斜角度を累積した分布を示す角度分布ヒストグラムは、例えば角度閾値決定部54で行われる。あるいは、センサ部に角度閾値決定部や計測データ記憶部を統合してもよい。   An angle distribution histogram indicating a distribution in which the inclination angles of the respective points constituting the workpiece three-dimensional measurement data are accumulated is performed by, for example, the angle threshold value determination unit 54. Or you may integrate an angle threshold value determination part and a measurement data storage part in a sensor part.

一例として、図72に示すようなバラ積みされたワーク群を実際に三次元計測した高さ画像から、角度分布ヒストグラムを図73、図74にそれぞれ示す。図73は樹脂製のワークの角度分布ヒストグラムを、図74は金属製のワークの角度分布ヒストグラムを、それぞれ示している。樹脂製のワークは表面が乱反射するため、表面とセンサ測定軸との傾斜がある程度大きくても三次元形状を測定できる。そのため図27に示すように広い角度範囲に計測された点が分布している。一方、金属製のワークは正反射成分が大きいため、表面とセンサ測定軸との傾斜が大きくなると測定できなくなってしまう。よって図28のように傾斜角度が小さい領域に分布が固まっている。このような角度分布ヒストグラムは、表示部3の、例えば角度分布ヒストグラム表示領域に表示させる。角度分布ヒストグラム表示領域は、例えばロボットシミュレーション装置であるコンピュータにインストールされた、ロボットシミュレーションプログラムのGUIで実現される。   As an example, FIGS. 73 and 74 show angle distribution histograms from height images obtained by actually three-dimensionally measuring a group of workpieces stacked as shown in FIG. FIG. 73 shows an angle distribution histogram of a resin work, and FIG. 74 shows an angle distribution histogram of a metal work. Since the surface of the resin workpiece is irregularly reflected, the three-dimensional shape can be measured even if the inclination between the surface and the sensor measurement axis is large to some extent. Therefore, as shown in FIG. 27, the points measured over a wide angle range are distributed. On the other hand, since a metal workpiece has a large specular reflection component, measurement becomes impossible when the inclination between the surface and the sensor measurement axis increases. Therefore, as shown in FIG. 28, the distribution is solid in a region where the inclination angle is small. Such an angle distribution histogram is displayed in, for example, an angle distribution histogram display area of the display unit 3. The angle distribution histogram display area is realized by a GUI of a robot simulation program installed in a computer which is a robot simulation device, for example.

このようにして表示された角度分布ヒストグラムから、どのくらいの角度範囲において三次元計測結果が得られているかどうかを判断することができる。ユーザは、表示部上に表示された角度分布ヒストグラムから、多くの点すなわち画素で三次元測定がなされている角度範囲を数値で、あるいは画面上から直接指定して、角度閾値を手動で設定できる。例えば図73、図74の例では、いずれも80%以上の画素が含まれる角度範囲として、樹脂製のワークの場合60°、金属製のワークの場合35°を指定している。   From the angle distribution histogram displayed in this way, it is possible to determine in which angle range the three-dimensional measurement result is obtained. The user can manually set the angle threshold by numerically specifying the angle range in which three-dimensional measurement is performed at many points, that is, pixels, from the angle distribution histogram displayed on the display unit or directly from the screen. . For example, in the examples of FIGS. 73 and 74, 60 ° for a resin work and 35 ° for a metal work are specified as an angle range including 80% or more of pixels.

また、角度閾値の設定は、ユーザが手動で行う他、ロボットシミュレーション装置側で自動的に設定するように構成してもよい。例えば、角度閾値決定部でもって、画素の80%以上で三次元測定可能な角度を角度閾値として、自動的に演算する。この場合、角度分布ヒストグラムの表示は任意であり、表示させずに内部的に演算してもよい。すなわち、角度分布の情報が得られれば、ヒストグラム状に表示させることは必須でない。また、自動的に演算された角度閾値を表示部上に表示させてもよい。この際、角度分布ヒストグラムに対し、角度閾値を満たす範囲をハイライトさせて表示させてもよい。   The angle threshold may be set manually by the user or automatically by the robot simulation apparatus. For example, the angle threshold determination unit automatically calculates an angle that can be three-dimensionally measured at 80% or more of the pixels as the angle threshold. In this case, the display of the angle distribution histogram is arbitrary, and may be calculated internally without being displayed. In other words, it is not essential to display in a histogram form if information on the angular distribution is obtained. Further, the automatically calculated angle threshold value may be displayed on the display unit. At this time, the range satisfying the angle threshold may be highlighted and displayed on the angle distribution histogram.

実施形態13に係るロボットシミュレーション装置500を用いたピッキング動作シミュレーションは、上述した図67、図68と同様の方法で行われる。角度閾値の設定は、例えば図67のステップS6701のシミュレーション環境の設定時に行う。ここで、シミュレーション環境の設定手順を、図75のフローチャートに基づいて説明する。
(実施形態13に係るシミュレーション環境の設定手順)
The picking motion simulation using the robot simulation apparatus 500 according to the thirteenth embodiment is performed by the same method as that shown in FIGS. 67 and 68 described above. The angle threshold is set, for example, when setting the simulation environment in step S6701 of FIG. Here, the procedure for setting the simulation environment will be described based on the flowchart of FIG.
(Simulation Environment Setting Procedure According to Embodiment 13)

まずステップS7501において、バラ積み状態のワーク群の三次元形状をセンサ部で計測する。これによって、図76に示すような高さ情報を有する高さ画像が得られる。この例では、パターンプロジェクション方式で三次元計測を行っているが、他の方法、例えばステレオ計測やTOFなどを利用することもできる。   First, in step S7501, the sensor unit measures the three-dimensional shape of a group of workpieces in a stacked state. Thereby, a height image having height information as shown in FIG. 76 is obtained. In this example, three-dimensional measurement is performed by the pattern projection method, but other methods such as stereo measurement and TOF can also be used.

次にステップS7502において、撮像された三次元の高さ画像を構成する画素毎に、傾き情報を生成する。ここでは、高さ画像に対して微分処理を行うことで、法線マップを作成できる。この法線のZ成分から、各点の傾きを計算する。各点の傾きは、次式で表現できる。   Next, in step S7502, tilt information is generated for each pixel constituting the captured three-dimensional height image. Here, a normal map can be created by performing a differentiation process on the height image. The slope of each point is calculated from the Z component of this normal. The slope of each point can be expressed by the following equation.

θ=acosNz(Nz:法線のZ成分)   θ = acosNz (Nz: Z component of normal)

そしてステップS7503において、傾き情報の分布を示す角度分布を演算する。ここでは、選択した範囲内の傾き分布を作成する。ここで高さ画像中に含まれる床面を演算に含めると、傾き0の割合が増えてしまう。そこで、このような領域を排除するようマスク処理を行うことが好ましい。例えば、一定以下の高さは無視する。また、無効画素の近傍では、法線の情報が不安定になりやすいため、これも無視してもよい。   In step S7503, an angular distribution indicating the distribution of inclination information is calculated. Here, an inclination distribution within the selected range is created. Here, when the floor surface included in the height image is included in the calculation, the ratio of the inclination 0 increases. Therefore, it is preferable to perform mask processing so as to exclude such regions. For example, the height below a certain level is ignored. Also, normal information tends to be unstable in the vicinity of invalid pixels, and this may be ignored.

最後にステップS7504において、演算された角度分布から、ピッキング動作シミュレーションに用いる角度閾値を決定する。例えば、累積分布が80%以上になる角度を、計測できる角度の閾値とする。このようにして、ピッキング動作シミュレーションの環境設定の1つとして、角度閾値を決定できる。   Finally, in step S7504, an angle threshold value used for the picking motion simulation is determined from the calculated angle distribution. For example, an angle at which the cumulative distribution is 80% or more is set as a threshold of an angle that can be measured. In this way, the angle threshold can be determined as one of the environment settings for the picking motion simulation.

なお、以上の例ではバラ積みされたワーク群を1回撮像した結果から角度分布を作成しているが、本発明はこの構成に限られない。例えば、ワーク群を複数回撮像した結果から分布を作成してもよい。例えば複数回の撮像で得られた高さ画像の平均から、角度分布を作成することで、散発的なノイズの影響等を低減して安定度を向上させることができる。   In the above example, the angle distribution is created from the result of imaging the stacked workpiece group once, but the present invention is not limited to this configuration. For example, the distribution may be created from the result of imaging the work group multiple times. For example, by creating an angle distribution from an average of height images obtained by a plurality of times of imaging, it is possible to reduce the influence of sporadic noise and improve stability.

このように実施形態13によれば、バラ積みピッキングのシミュレーションを行う際に、ワークの位置及び姿勢を既知としてシミュレーションしない。これに代えて、センサ部での撮像を模した画像を作成し、この模擬画像に対して三次元サーチ処理を行って、ワークの位置及び姿勢を得る。これによって得られた位置及び姿勢を使ってシミュレーションを行う。これにより、仮想的に得たワークの位置及び姿勢でなく、実際のワークの位置及び姿勢に応じた、より実際に近いシミュレーション結果を得ることができる。   As described above, according to the thirteenth embodiment, when performing the simulation of bulk picking, the position and posture of the workpiece are not assumed to be known. Instead, an image imitating the imaging at the sensor unit is created, and a three-dimensional search process is performed on the simulated image to obtain the position and orientation of the workpiece. A simulation is performed using the position and orientation obtained in this way. Thereby, it is possible to obtain a simulation result closer to the actual according to the actual position and orientation of the workpiece, not the virtually obtained position and orientation of the workpiece.

なお、さらに実際に近い模擬画像を得るために、ワークの表面のすべてを三次元計測可能とせず、ワークの表面の角度によって計測可能か否かを判断し、計測できない場合は模擬画像からデータを削除してもよい。例えば上述した実施形態1のように、領域推定部でもって無効画素をバラ積みデータから除去する。具体的には、図71に示す計測データ記憶部52に記憶された複数のワークの三次元計測データを構成する各点の、センサ部2の測定軸に対する傾斜角度情報に基づいて、三次元計測の信頼性が低い点を無効画素として除去する。そして無効画素を除去したデータに基づいて、角度閾値決定部54で角度分布を演算する。   In addition, in order to obtain a simulated image that is closer to the actual situation, it is not possible to measure all of the workpiece surface in three dimensions, but whether or not measurement is possible depending on the angle of the workpiece surface. It may be deleted. For example, as in Embodiment 1 described above, invalid pixels are removed from the stacking data by the region estimation unit. Specifically, the three-dimensional measurement is performed based on the inclination angle information of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit 52 illustrated in FIG. 71 with respect to the measurement axis of the sensor unit 2. Are removed as invalid pixels. Then, the angle distribution is calculated by the angle threshold value determination unit 54 based on the data from which the invalid pixels are removed.

このようにして、実施形態13に係るロボットシミュレーション装置500によれば、撮像シミュレーションを行う際の最適な角度閾値を実測データに基づいて決定でき、より実際に近いバラ積みシミュレーションを行える。
(実施形態14)
As described above, according to the robot simulation apparatus 500 according to the thirteenth embodiment, the optimum angle threshold for performing the imaging simulation can be determined based on the actual measurement data, and a more realistic stacking simulation can be performed.
(Embodiment 14)

以上の例では、バラ積み状態のワーク群をセンサ部で実際に撮像した高さ画像のヒストグラム等に基づいて角度閾値を決定する例を説明した。さらに本発明は、実際に撮像した画像に対して三次元サーチを行い、このサーチ結果を用いて、計測できる角度範囲を決定することもできる。このような例を実施形態14として、図77A、図77Bに基づいて説明する。図77Aは、実際にバラ積み状態のワーク群を三次元計測して得られた点群データである三次元計測データのプロファイル、図77Bは、これにサーチ結果を重ね合わせた状態を、それぞれ示している。ここでは、三次元サーチ結果をもとに、サーチモデルとして用いたワークモデルの面上の各点を、図77Bに示すように計測データ上に配置する。そして各面上の点において、対応する計測データがあるかどうかをチェックし、計測できる角度範囲を決定する。図77Aでは、プロファイルの凸状部分が計測可能な領域、両側の平坦部分が計測不可能領域を示している。これに対して、同種のワークに対応するワークモデルでもって三次元サーチを行う。例えば円柱状のワークモデルで三次元サーチしたとすると、図77Bに示すように、合致した部分、図において左側の三点は計測可能と判定し、合致していない部分、図77Bにおいて右側の二点は、計測不可能と判定する。   In the above example, the example in which the angle threshold value is determined based on a histogram or the like of the height image obtained by actually capturing the workpieces in the stacked state with the sensor unit has been described. Furthermore, according to the present invention, a three-dimensional search can be performed on an actually captured image, and an angular range that can be measured can be determined using the search result. Such an example will be described as Embodiment 14 with reference to FIGS. 77A and 77B. FIG. 77A shows a profile of three-dimensional measurement data which is point cloud data obtained by three-dimensional measurement of a workpiece group actually in a stacked state, and FIG. 77B shows a state where search results are superimposed on this profile. ing. Here, based on the three-dimensional search result, each point on the surface of the work model used as the search model is arranged on the measurement data as shown in FIG. 77B. Then, at each point on the surface, it is checked whether there is corresponding measurement data, and an angular range that can be measured is determined. In FIG. 77A, the convex portion of the profile indicates a measurable region, and the flat portions on both sides indicate a non-measurable region. In contrast, a three-dimensional search is performed with a work model corresponding to the same kind of work. For example, if a three-dimensional search is performed with a cylindrical workpiece model, as shown in FIG. 77B, it is determined that the matched part, the three points on the left side in the figure, can be measured, and the non-matched part, two on the right side in FIG. A point is determined to be unmeasurable.

このような実施形態14に係るロボットシミュレーション装置を用いたピッキング動作シミュレーションの手順やバラ積み画像の生成手順は、上述した図66や図67と同様の手順が利用できるので、詳細説明を省略する。三次元サーチのサーチ結果を用いた角度閾値の設定は、例えば図67のステップS6701のシミュレーション環境の設定時に行う。ここで、シミュレーション環境の設定手順を、図78のフローチャートに基づいて説明する。   Since the procedure for picking motion simulation using the robot simulation apparatus according to the fourteenth embodiment and the procedure for generating the stacked images can use the same procedures as those in FIGS. 66 and 67 described above, detailed description thereof will be omitted. The angle threshold value setting using the search result of the three-dimensional search is performed, for example, when setting the simulation environment in step S6701 of FIG. Here, the procedure for setting the simulation environment will be described based on the flowchart of FIG.

まずステップS7801において、三次元サーチ用のサーチモデルの登録を行う。ここでサーチモデルは、上述の通りワークモデル、ここでは三次元のCADデータを用いて登録できる。あるいは、センサ部で実際に撮像した高さ画像を用いて登録してもよい。また登録時に、サーチモデル上の各点において面の傾きを示す法線情報を保存しておく。   First, in step S7801, a search model for a three-dimensional search is registered. Here, the search model can be registered using the work model, here, three-dimensional CAD data as described above. Or you may register using the height image actually imaged with the sensor part. At the time of registration, normal line information indicating the inclination of the surface at each point on the search model is stored.

次にステップS7802において、実際のワークのバラ積み状態を作り、三次元計測を行う。ここでは投影法で三次元計測を行い、点群データを取得しているが(図77A)、これに限らずステレオ計測やTOFなど、他の方法を用いてもよい。   Next, in step S7802, an actual workpiece stacking state is created and three-dimensional measurement is performed. Here, three-dimensional measurement is performed by the projection method and the point cloud data is acquired (FIG. 77A). However, the present invention is not limited to this, and other methods such as stereo measurement and TOF may be used.

次にステップS7803において、得られた点群データに対してサーチモデルを用いて三次元サーチを行い、各ワークの位置及び姿勢を決定する(図77B)。   Next, in step S7803, a three-dimensional search is performed on the obtained point cloud data using a search model to determine the position and orientation of each workpiece (FIG. 77B).

そしてステップS7804において、サーチモデルの各点において対応する計測点が存在するか否かを確認する。ここでは三次元サーチの結果、決定されたワークの位置及び姿勢を用いて、サーチモデル上の点を三次元空間に配置する。この配置した点の近傍に三次元計測データが存在する場合は、当該点は計測ができているものと判定する(図77B)。   In step S7804, it is confirmed whether or not a corresponding measurement point exists at each point of the search model. Here, as a result of the three-dimensional search, points on the search model are arranged in the three-dimensional space using the position and posture of the work determined. When the three-dimensional measurement data exists in the vicinity of the arranged point, it is determined that the point has been measured (FIG. 77B).

最後にステップS7805において、計測点が存在する点の傾き範囲に基づいて、角度閾値を決定する。ここでは三次元サーチで得られたサーチモデルの位置及び姿勢を用いて、計測できたワーク上の点の法線を、三次元空間に配置する。そして、この法線の傾きを計算する。このようにして計測できた点の法線角度範囲を集計することで、ワークが計測できる表面傾きの閾値を、角度閾値決定部でもって決定する。このようにして、三次元サーチの結果に基づいて、角度閾値を決定することができる。   Finally, in step S7805, an angle threshold is determined based on the inclination range of the point where the measurement point exists. Here, using the position and orientation of the search model obtained by the three-dimensional search, the normals of the points on the workpiece that can be measured are arranged in the three-dimensional space. Then, the slope of this normal is calculated. By summing up the normal angle ranges of the points that can be measured in this way, the threshold value of the surface inclination that can be measured by the workpiece is determined by the angle threshold value determination unit. In this way, the angle threshold value can be determined based on the result of the three-dimensional search.

なお、三次元サーチで用いるサーチモデルを構成する各点に法線情報を持たせることで、三次元サーチの結果位置及び姿勢が得られたサーチモデルと重ねたワークの実測値である点群データに傾き情報が得られていなくても、サーチモデル側の傾き情報を利用することができる。例えば図31Bにおいて、点で示す位置の傾き情報としてサーチモデル側の情報を利用することで、実測値が得られていない点(例えば計測不可とされた点)の情報を補うことが可能となる。この際、点群データの内、実測値が得られた点についても、サーチモデル側の傾き情報を利用してもよい。   In addition, by giving normal information to each point that constitutes the search model used in the 3D search, point cloud data that is the actual measurement value of the workpiece superimposed with the search model that obtained the position and orientation as a result of the 3D search Even if the tilt information is not obtained, the tilt information on the search model side can be used. For example, in FIG. 31B, by using the information on the search model side as the tilt information of the position indicated by the point, it is possible to supplement the information of the point where the actual measurement value is not obtained (for example, the point where measurement is impossible). . At this time, the inclination information on the search model side may be used for the point where the actual measurement value is obtained from the point cloud data.

本発明のロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器は、ロボットのバラ積みピッキングの動作を検証する用途に好適に利用できる。   The robot simulation apparatus, the robot simulation method, the robot simulation program, the computer-readable recording medium, and the recorded device of the present invention can be suitably used for the purpose of verifying the robot picking operation.

1000…ロボットシステム
100、200、300、400、500、600…ロボットシミュレーション装置
1…画像処理部
2…センサ部
3…表示部
4…操作部
5…ロボット本体
6…ロボットコントローラ
7…ロボット操作具
10…シミュレーション環境設定部
11…ワークモデル設定部
12…表面状態パラメータ設定部
13…角度閾値決定部
14…容器モデル設定部
15…センサモデル設定部
16…姿勢条件設定部
17…姿勢安定性パラメータ決定部
18…除外ワーク選択部
19…除外条件算出部
20…バラ積みデータ生成部
22…領域推定部
23…バラ積みデータ記憶部
24…原因解析部
29…シミュレーションパラメータ調整部
30、30B…ピッキング動作シミュレート部
31…バラ積み画像生成部
32…位置姿勢検出部
33…把持解算出部
40…シミュレーション用データ生成部
50…検出用設定部
52…計測データ記憶部
54…角度閾値決定部
60…物理シミュレーション部
110…姿勢条件設定画面
120…配置条件設定画面
EET、EET2、EET3…エンドエフェクタ
ARM…アーム
WK…ワーク
WK2…空洞を有するワーク
WK3…板状のワーク
WK4…樹脂製のワーク
WK5…金属製のワーク
WK6…表面と裏面の面積が異なるワーク
WK7…板状のワーク
WK8…円筒状のワーク
WM、WM6、WM7…ワークモデル
WM4…樹脂製ワークモデル
WM5…金属製ワークモデル
WMT…T字型のワークモデル
WMC…円筒形のワークモデル
PRJ…プロジェクタ
CME1、CME2、CME3、CME4…カメラ
CMM、CMM2、CMM3…カメラモデル
BX…収納容器
SL…中敷き
DIV…間仕切り
DSA…指定領域
WMF…ワイヤーフレーム状のワークモデル
DSP…指定頂点
WMD…ワークモデルの展開図
PM…プロジェクタモデル
DESCRIPTION OF SYMBOLS 1000 ... Robot system 100, 200, 300, 400, 500, 600 ... Robot simulation apparatus 1 ... Image processing part 2 ... Sensor part 3 ... Display part 4 ... Operation part 5 ... Robot main body 6 ... Robot controller 7 ... Robot operation tool 10 ... simulation environment setting unit 11 ... work model setting unit 12 ... surface condition parameter setting unit 13 ... angle threshold determination unit 14 ... container model setting unit 15 ... sensor model setting unit 16 ... attitude condition setting unit 17 ... attitude stability parameter determination unit DESCRIPTION OF SYMBOLS 18 ... Exclusion workpiece selection part 19 ... Exclusion condition calculation part 20 ... Bulk accumulation data generation part 22 ... Area estimation part 23 ... Bulk accumulation data storage part 24 ... Cause analysis part 29 ... Simulation parameter adjustment part 30, 30B ... Picking operation simulation Unit 31 ... Stacked image generation unit 32 ... Position and orientation detection unit 33 ... Achieving calculation unit 40 ... simulation data generation unit 50 ... detection setting unit 52 ... measurement data storage unit 54 ... angle threshold value determination unit 60 ... physical simulation unit 110 ... posture condition setting screen 120 ... arrangement condition setting screen EET, EET2, EET3 ... End effector ARM ... Arm WK ... Work WK2 ... Hollow work WK3 ... Plate-like work WK4 ... Resin work WK5 ... Metal work WK6 ... Work WK7 ... Plate-like work with different surface and back surface areas WK8: Cylindrical work WM, WM6, WM7 ... Work model WM4 ... Resin work model WM5 ... Metal work model WMT ... T-shaped work model WMC ... Cylindrical work model PRJ ... Projectors CME1, CME2, CME3, CME4 ... Camera CMM, CMM2, CMM3 ... Camera Del BX ... container SL ... insole DIV ... partition DSA ... designated area WMF ... wireframe shaped workpiece model DSP ... development view PM ... projector model specified vertices WMD ... workpiece model

Claims (11)

作業空間に積み上げられた複数のワークの三次元形状をセンサ部により測定し、ロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、
積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データを記憶するための計測データ記憶部と、
前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定するための角度閾値決定部と、
ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、
仮想的な作業空間である仮想作業空間内に複数の前記ワークモデルを積み上げた、仮想的なバラ積みデータを生成するためのバラ積みデータ生成部と、
前記バラ積みデータ生成部で生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記角度閾値決定部で決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定するための領域推定部と、
前記領域推定部により特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成するためのシミュレーション用データ生成部と、
前記シミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行するためのピッキング動作シミュレート部と
を備えてなるロボットシミュレーション装置。
A robot simulation device for simulating a bulk picking operation in which a three-dimensional shape of a plurality of workpieces stacked in a work space is measured by a sensor unit and sequentially taken out by a robot,
A measurement data storage unit for storing three-dimensional measurement data for each position, which is obtained by three-dimensionally measuring a plurality of stacked workpieces with a sensor unit, and having information on an inclination angle with respect to a measurement axis of the sensor unit for each position;
Angle threshold value that serves as a reference for determining whether or not three-dimensional measurement is possible based on the inclination angle information of each point constituting the three-dimensional measurement data of a plurality of workpieces stored in the measurement data storage unit with respect to the measurement axis of the sensor unit An angle threshold value determination unit for determining
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 virtual bulk data in which a plurality of the work models are stacked in a virtual work space that is a virtual work space;
The virtual inclination angle of each point constituting each work model in the bulk data generated by the bulk data generation unit is compared with the angle threshold determined by the angle threshold determination unit. An area estimation unit for identifying a point having a large virtual inclination angle as an estimation area estimated to be difficult to measure;
A data generation unit for simulation for generating, as data for simulation, unpacking data that does not include the data of the estimation region specified by the region estimation unit,
A robot simulation apparatus comprising: a picking motion simulating unit for executing a simulation for verifying a bulk picking motion of the work model in the work space using the simulation data.
請求項1に記載のロボットシミュレーション装置であって、さらに、
前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、各点の傾斜角度を累積した分布を示す角度分布ヒストグラムを表示可能な表示部を備えてなるロボットシミュレーション装置。
The robot simulation apparatus according to claim 1, further comprising:
An angle distribution indicating a distribution in which the inclination angles of the respective points constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit are accumulated based on the inclination angle information with respect to the measurement axis of the sensor unit. A robot simulation apparatus comprising a display unit capable of displaying a histogram.
請求項2に記載のロボットシミュレーション装置であって、
前記角度閾値決定部が、前記表示部上に表示された角度分布ヒストグラムを参照しながら、ユーザによる手動での角度閾値の設定を受け付けるよう構成されてなるロボットシミュレーション装置。
The robot simulation device according to claim 2,
A robot simulation apparatus configured such that the angle threshold value determination unit accepts a manual setting of an angle threshold value by referring to an angle distribution histogram displayed on the display unit.
請求項2又は3に記載のロボットシミュレーション装置であって、
前記表示部が、前記シミュレーション用データ生成部で生成されたシミュレーション用データを表示可能に構成してなるロボットシミュレーション装置。
The robot simulation device according to claim 2 or 3,
A robot simulation apparatus, wherein the display unit is configured to be able to display simulation data generated by the simulation data generation unit.
請求項1〜4のいずれか一項に記載のロボットシミュレーション装置であって、
前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の信頼性が低い点を無効画素として除去するよう構成してなるロボットシミュレーション装置。
The robot simulation device according to any one of claims 1 to 4,
Based on the inclination angle information of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit with respect to the measurement axis of the sensor unit, a point with low reliability of the three-dimensional measurement is set as an invalid pixel. A robot simulation device configured to be removed.
請求項1〜5のいずれか一項に記載のロボットシミュレーション装置であって、
前記角度閾値決定部が、前記計測データ記憶部に記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、各点の傾斜角度を累積した分布を示す角度分布ヒストグラムに基づいて、角度閾値を自動的に演算するよう構成されてなるロボットシミュレーション装置。
The robot simulation device according to any one of claims 1 to 5,
The angle threshold value determination unit determines the inclination angle of each point based on the inclination angle information with respect to the measurement axis of the sensor unit of each point constituting the three-dimensional measurement data of the plurality of workpieces stored in the measurement data storage unit. A robot simulation device configured to automatically calculate an angle threshold based on an angle distribution histogram indicating an accumulated distribution.
作業空間に積み上げられた複数のワークの三次元形状をセンサ部により測定し、ロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするためのロボットシミュレーション装置であって、
ワークの三次元形状をモデル化したワークモデルを設定するためのワークモデル設定部と、
仮想的な作業空間である仮想作業空間内に複数の前記ワークモデルを積み上げた、仮想的なバラ積みデータを生成するためのバラ積みデータ生成部と、
積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した三次元計測データを記憶するための計測データ記憶部と、
前記計測データ記憶部に記憶された複数のワークの三次元計測データに対して、前記ワークモデル設定部で設定されたワークモデルをサーチモデルとして三次元サーチを行い、該サーチモデルと三次元計測データが合致した点の位置及び姿勢に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定するための角度閾値決定部と、
前記バラ積みデータ生成部で生成されたバラ積みデータ内の各サーチモデルを構成する各点の仮想傾斜角度と、前記角度閾値決定部で決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定するための領域推定部と、
前記領域推定部により特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成するためのシミュレーション用データ生成部と、
前記シミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行するためのピッキング動作シミュレート部と
を備えてなるロボットシミュレーション装置。
A robot simulation device for simulating a bulk picking operation in which a three-dimensional shape of a plurality of workpieces stacked in a work space is measured by a sensor unit and 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 virtual bulk data in which a plurality of the work models are stacked in a virtual work space that is a virtual work space;
A measurement data storage unit for storing three-dimensional measurement data obtained by three-dimensionally measuring a plurality of stacked workpieces with different postures;
A three-dimensional search is performed on the three-dimensional measurement data of a plurality of workpieces stored in the measurement data storage unit using the workpiece model set in the workpiece model setting unit as a search model, and the search model and the three-dimensional measurement data An angle threshold value determination unit for determining an angle threshold value serving as a reference for determining whether or not three-dimensional measurement is possible based on the position and orientation of the point where
The virtual inclination angle of each point constituting each search model in the bulk data generated by the bulk data generation unit is compared with the angle threshold determined by the angle threshold determination unit. An area estimation unit for identifying a point having a large virtual inclination angle as an estimation area estimated to be difficult to measure;
A data generation unit for simulation for generating, as data for simulation, unpacking data that does not include the data of the estimation region specified by the region estimation unit,
A robot simulation apparatus comprising: a picking motion simulating unit for executing a simulation for verifying a bulk picking motion of the work model in the work space using the simulation data.
請求項7に記載のロボットシミュレーション装置であって、
前記角度閾値決定部が、三次元サーチの結果、該ワークモデルと三次元計測データが合致した点を計測可能と判定し、該計測可能な点の法線を、三次元空間に配置してその法線の傾きを演算し、該計測可能な点の法線角度範囲を集計することで、ワークが計測可能な表面傾きの閾値を決定するよう構成されてなるロボットシミュレーション装置。
The robot simulation device according to claim 7,
As a result of the three-dimensional search, the angle threshold determination unit determines that the point where the work model and the three-dimensional measurement data match can be measured, and arranges the normal of the measurable point in the three-dimensional space A robot simulation apparatus configured to calculate a normal inclination angle of a measurable point by calculating a normal inclination and totaling a normal angle range of the measurable points.
作業空間に積み上げられた複数のワークをロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするロボットシミュレーション方法であって、
積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データとして記憶する工程と、
前記記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定する工程と、
ワークの三次元形状をモデル化したワークモデルを設定する工程と、
前記設定された複数のワークモデルを、仮想的な作業空間である仮想作業空間内に積み上げた、仮想的なバラ積みデータを生成する工程と、
前記生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定する工程と、
前記特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成する工程と、
前記生成されたシミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行する工程と、
を含むロボットシミュレーション方法。
A robot simulation method for simulating a bulk picking operation in which a plurality of workpieces stacked in a work space are sequentially picked up by a robot,
A step of three-dimensionally measuring a plurality of stacked workpieces with different postures, storing the information of the tilt angle with respect to the measurement axis of the sensor unit as three-dimensional measurement data for each position;
Determining an angle threshold value serving as a reference for determining whether or not three-dimensional measurement is possible, based on inclination angle information of each point constituting the stored three-dimensional measurement data of the plurality of workpieces with respect to the measurement axis of the sensor unit; ,
A process of setting a work model obtained by modeling the three-dimensional shape of the work;
A step of generating virtual loose stacking data in which the plurality of set work models are stacked in a virtual work space which is a virtual work space;
It is difficult to measure a point having a virtual inclination angle larger than the angle threshold value by comparing the virtual inclination angle of each point constituting each work model in the generated stacking data with the determined angle threshold value. Identifying the estimated area as
A step of generating loose stacking data that does not include the data of the identified estimation region, as simulation data;
Using the generated simulation data to execute a simulation for verifying the bulk picking operation of the work model in the work space;
A robot simulation method including:
作業空間に積み上げられた複数のワークをロボットによって順次取り出すバラ積みピッキング動作をシミュレーションするロボットシミュレーションプログラムであって、
積み上げられた複数の異なる姿勢のワークを、センサ部により三次元計測した、センサ部の測定軸に対する傾斜角度の情報を各位置毎に有する三次元計測データとして記憶する機能と、
前記記憶された複数のワークの三次元計測データを構成する各点の、センサ部の測定軸に対する傾斜角度情報に基づいて、三次元計測の可否を判定する基準となる角度閾値を決定する機能と、
ワークの三次元形状をモデル化したワークモデルを設定する機能と、
前記設定された複数のワークモデルを、仮想的な作業空間である仮想作業空間内に積み上げた、仮想的なバラ積みデータを生成する機能と、
前記生成されたバラ積みデータ内の各ワークモデルを構成する各点の仮想傾斜角度と、前記決定された角度閾値とを比較し、該角度閾値よりも大きな仮想傾斜角度を有する点を、計測困難と推定される推定領域として特定する機能と、
前記特定された推定領域のデータを含まないバラ積みデータを、シミュレーション用データとして生成する機能と、
前記生成されたシミュレーション用データを用いて、前記作業空間内の前記ワークモデルのバラ積みピッキング動作を検証するシミュレーションを実行する機能と、
をコンピュータに実現させるためのロボットシミュレーションプログラム。
A robot simulation program 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 function of storing, as a three-dimensional measurement data having a tilt angle with respect to a measurement axis of the sensor unit for each position, three-dimensionally measuring a plurality of stacked workpieces with different positions,
A function of determining an angle threshold value serving as a reference for determining whether or not three-dimensional measurement is possible based on inclination angle information with respect to a measurement axis of a sensor unit of each point constituting the stored three-dimensional measurement data of a plurality of workpieces; ,
A function to set a work model that models the 3D shape of the work,
A function for generating virtual loose stacking data in which the plurality of set work models are stacked in a virtual work space that is a virtual work space;
It is difficult to measure a point having a virtual inclination angle larger than the angle threshold value by comparing the virtual inclination angle of each point constituting each work model in the generated stacking data with the determined angle threshold value. A function that is identified as an estimated area, and
A function of generating loose stacking data that does not include the data of the specified estimation area, as simulation data;
A function for executing a simulation for verifying a bulk picking operation of the work model in the work space, using the generated simulation data;
A robot simulation program for realizing a computer.
請求項10に記載のプログラムを記録したコンピュータで読み取り可能な記録媒体または記憶した機器。   The computer-readable recording medium which recorded the program of Claim 10, or the apparatus which memorize | stored.
JP2017040973A 2017-03-03 2017-03-03 Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device Pending JP2018144158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017040973A JP2018144158A (en) 2017-03-03 2017-03-03 Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017040973A JP2018144158A (en) 2017-03-03 2017-03-03 Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device

Publications (1)

Publication Number Publication Date
JP2018144158A true JP2018144158A (en) 2018-09-20

Family

ID=63590385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017040973A Pending JP2018144158A (en) 2017-03-03 2017-03-03 Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device

Country Status (1)

Country Link
JP (1) JP2018144158A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020165976A1 (en) * 2019-02-13 2020-08-20 三菱電機株式会社 Simulation device, simulation method, and simulation program
JP2020180919A (en) * 2019-04-26 2020-11-05 株式会社キーエンス Optical displacement meter
WO2021017080A1 (en) * 2019-07-27 2021-02-04 南京市晨枭软件技术有限公司 Modular robot self-repair simulation system and method
JP2021056542A (en) * 2019-08-21 2021-04-08 アセントロボティクス株式会社 Pose detection of object from image data
DE112019007961T5 (en) 2019-12-10 2022-09-22 Mitsubishi Electric Corporation MODEL GENERATOR AND RECORDING ROBOT
JP2023522179A (en) * 2020-04-14 2023-05-29 リアルタイム ロボティクス, インコーポレーテッド Configuring the robot operating environment, including sensor placement
JP2023116541A (en) * 2020-11-09 2023-08-22 共和機械株式会社 Storage device hand, storage device, and storage system
US11964393B2 (en) 2018-03-21 2024-04-23 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US11970161B2 (en) 2018-01-12 2024-04-30 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US12017364B2 (en) 2019-04-17 2024-06-25 Realtime Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
US12090668B2 (en) 2018-02-06 2024-09-17 Realtime Robotics, Inc. Motion planning of a robot storing a discretized environment on one or more processors and improved operation of same

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11970161B2 (en) 2018-01-12 2024-04-30 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US12090668B2 (en) 2018-02-06 2024-09-17 Realtime Robotics, Inc. Motion planning of a robot storing a discretized environment on one or more processors and improved operation of same
US11964393B2 (en) 2018-03-21 2024-04-23 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US12083682B2 (en) 2018-03-21 2024-09-10 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
CN113412500B (en) * 2019-02-13 2023-12-29 三菱电机株式会社 Simulation device and simulation method
JP7094400B2 (en) 2019-02-13 2022-07-01 三菱電機株式会社 Simulation equipment and simulation method
JPWO2020165976A1 (en) * 2019-02-13 2021-09-30 三菱電機株式会社 Simulation equipment and simulation method
WO2020165976A1 (en) * 2019-02-13 2020-08-20 三菱電機株式会社 Simulation device, simulation method, and simulation program
CN113412500A (en) * 2019-02-13 2021-09-17 三菱电机株式会社 Simulation device, simulation method, and simulation program
US12017364B2 (en) 2019-04-17 2024-06-25 Realtime Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
JP2020180919A (en) * 2019-04-26 2020-11-05 株式会社キーエンス Optical displacement meter
JP7306867B2 (en) 2019-04-26 2023-07-11 株式会社キーエンス Optical displacement meter
WO2021017080A1 (en) * 2019-07-27 2021-02-04 南京市晨枭软件技术有限公司 Modular robot self-repair simulation system and method
JP2021056542A (en) * 2019-08-21 2021-04-08 アセントロボティクス株式会社 Pose detection of object from image data
JP7129065B2 (en) 2019-08-21 2022-09-01 アセントロボティクス株式会社 Object pose detection from image data
DE112019007961T5 (en) 2019-12-10 2022-09-22 Mitsubishi Electric Corporation MODEL GENERATOR AND RECORDING ROBOT
JP7450297B2 (en) 2020-04-14 2024-03-15 リアルタイム ロボティクス, インコーポレーテッド Configuration of robot operating environment including sensor placement
JP2023522179A (en) * 2020-04-14 2023-05-29 リアルタイム ロボティクス, インコーポレーテッド Configuring the robot operating environment, including sensor placement
JP2023116541A (en) * 2020-11-09 2023-08-22 共和機械株式会社 Storage device hand, storage device, and storage system

Similar Documents

Publication Publication Date Title
JP6846949B2 (en) Robot simulation equipment, robot simulation methods, robot simulation programs, computer-readable recording media, and recording equipment
JP2018144155A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP6846950B2 (en) Robot simulation equipment, robot simulation methods, robot simulation programs, computer-readable recording media, and recording equipment
JP2018144158A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP6889574B2 (en) Robot setting device, robot setting method, robot setting program, computer-readable recording medium, and recording equipment
US10190873B1 (en) Shape measuring device and shape measuring method
US9616572B2 (en) Information processing apparatus for determining interference between peripheral objects and grasping unit, information processing method, and storage medium
US10279473B2 (en) Image processing device, image processing method, and computer program
CN108283021A (en) Locating a robot in an environment using detected edges of a camera image from a camera of the robot and detected edges derived from a three-dimensional model of the environment
JP6877192B2 (en) Image processing equipment, image processing methods, image processing programs, computer-readable recording media, and recording equipment
CN106808473A (en) Information processor and information processing method
US20130272578A1 (en) Information processing apparatus, information processing method, and program
CN108603936A (en) Laser scanning system, Laser Scanning, mobile laser scanning system and program
JP5030953B2 (en) Method and system for determining the relative position of a first object with respect to a second object, a corresponding computer program and a corresponding computer-readable recording medium
JP6785687B2 (en) Robot simulation equipment, robot simulation methods, robot simulation programs, computer-readable recording media, and recording equipment
JP7346133B2 (en) Robot setting device and robot setting method
US20190340317A1 (en) Computer vision through simulated hardware optimization
JP6919987B2 (en) Image processing device
JP2018144153A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
US20220343661A1 (en) Method and device for identifying presence of three-dimensional objects using images
JP2019028773A (en) Robot simulation device and robot simulation method
JP2018144157A (en) Robot simulation device, robot simulation method, robot simulation program, computer-readable recording medium and recording device
JP7233508B2 (en) Shape measuring device and shape measuring method
US20220318942A1 (en) Robot system, control method, image processing apparatus, image processing method, method of manufacturing products, and recording medium
JP6857052B2 (en) Robot setting device, robot setting method, robot setting program, computer-readable recording medium, and recording equipment