JP2023152472A - 3次元モデルの生成システム、生成方法、及びプログラム - Google Patents

3次元モデルの生成システム、生成方法、及びプログラム Download PDF

Info

Publication number
JP2023152472A
JP2023152472A JP2022062507A JP2022062507A JP2023152472A JP 2023152472 A JP2023152472 A JP 2023152472A JP 2022062507 A JP2022062507 A JP 2022062507A JP 2022062507 A JP2022062507 A JP 2022062507A JP 2023152472 A JP2023152472 A JP 2023152472A
Authority
JP
Japan
Prior art keywords
end effector
coordinate system
axis
shape
gripping
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
JP2022062507A
Other languages
English (en)
Inventor
拓也 池田
Takuya Ikeda
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2022062507A priority Critical patent/JP2023152472A/ja
Priority to US18/183,238 priority patent/US20230311307A1/en
Priority to CN202310344075.0A priority patent/CN116894928A/zh
Publication of JP2023152472A publication Critical patent/JP2023152472A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/08Gripping heads and other end effectors having finger members
    • B25J15/12Gripping heads and other end effectors having finger members with flexible finger members
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/16Measuring arrangements characterised by the use of optical techniques for measuring the deformation in a solid, e.g. optical strain gauge
    • G01B11/165Measuring arrangements characterised by the use of optical techniques for measuring the deformation in a solid, e.g. optical strain gauge by means of a grating deformed by the object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/20Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring contours or curvatures, e.g. determining profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/68Analysis of geometric attributes of symmetry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40564Recognize shape, contour of object, extract position and orientation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Abstract

Figure 2023152472000001
【課題】3次元モデルの生成システム、生成方法、及びプログラムを提供する。
【解決手段】本実施形態に係る3次元モデルの生成システムは、物体を把持する柔軟な把持部を有するエンドエフェクタ300と、物体を把持した状態の前記把持部の変形形状を検出する変形センサ316と、物体の表面形状データから物体の表面の法線方向を算出する算出部102と、法線方向に基づいて、エンドエフェクタ300による物体の把持位置を決定する決定部と、把持部314の変形形状に応じて、基準座標系を設定する座標系設定部120と、を備えている。
【選択図】図1

Description

本開示は、3次元モデルの生成システム、生成方法、及びプログラムに関する。
特許文献1には、物体の位置姿勢を算出する情報処理装置が開示されている。特許文献1の情報処理装置は、物体の距離点群情報から3次元形状モデル(エッジ情報、点群情報)を取得し、第1軸周りの回転対称性を判定する。そして、情報処理装置は、第1の軸とは異なる第2の軸に周りにおける反転対称性を判定する。
特開2021-85781号公報
https://arxiv.org/abs/1706.09911
特許文献1では、第1軸の周りの回転対称性と第2軸周りの反転対称性とを判定している。従って、人間が座標軸の設定を行う必要があり、座標軸を自動で設定することが困難である。よって、様々な物体の3次元モデルを効率良く生成することが困難である。このように物体の対称性を考慮した基準座標系で3次元モデルを作成することができる。
3次元形状モデルの生成において、例えば、物体の対称性を考慮した座標軸を設定することで、適切な情報をアノテーションすることができる。従って、物体の位置姿勢に関する位置姿勢情報を付加した学習用データを生成することができる。物体の位置姿勢情報を正解ラベル(教師データ)とする教師有り学習で物体の推定器を生成することができる。
本開示は、このような問題を解決するためになされたものであり、適切な座標系における3次元モデルを効率良く生成することができる3次元モデルの生成システム、生成方法、プログラムを提供するものである。
本実施の形態における3次元モデルの生成システムは、物体を把持する柔軟な把持部を有するエンドエフェクタと、前記物体を把持した状態の前記把持部の変形形状を検出する変形センサと、前記物体の表面形状データから前記物体の表面の法線方向を算出する算出部と、前記法線方向に基づいて、前記エンドエフェクタによる前記物体の把持位置を決定する決定部と、前記把持部の変形形状に応じて、基準座標系を設定する座標系設定部と、を備えている。
上記の3次元モデルの生成システムにおいて、前記物体をスキャンすることで、前記物体の3次元形状を計測する3次元形状計測器と、前記エンドエフェクタが前記3次元形状計測器のスキャン範囲に前記物体を置くように、前記エンドエフェクタを駆動する駆動制御部と、を備えていてもよい。
上記の3次元モデルの生成システムにおいて、前記3次元形状計測器が、前記物体までの距離を測定するデプスセンサを備え、前記基準座標系の軸周りに、前記デプスセンサに対する前記物体の姿勢を変化させるようにしてもよい。
上記の3次元モデルの生成システムにおいて、前記3次元形状計測器が、載置された前記物体を回転するテーブルをさらに備え、前記テーブルの回転軸と前記基準座標系の軸が一致するように、前記エンドエフェクタが前記物体を載置するようにしてもよい。
上記の3次元モデルの生成システムにおいて、前記エンドエフェクタが物体を把持する前に、前記物体の表面形状データを測定する表面形状センサをさらに備え、前記表面形状データにおいて、断面が最も円形に近似した箇所を前記エンドエフェクタの把持位置として選択するようにしてもよい。
上記の3次元モデルの生成システムにおいて、前記基準座標系の各軸に対して,前記物体の対称性を判定し、前記対称性の判定結果に応じて、前記基準座標系の軸を修正するようにしてもよい。
本実施の形態における3次元モデルの生成方法は、物体の表面形状データに応じて、前記物体の表面の法線方向を算出し、前記法線方向に基づいて、前記物体の把持位置を設定し、柔軟な把持部を有するエンドエフェクタが、前記把持位置で物体を把持し、前記物体を把持したときの前記把持部の変形形状を検出し、前記把持部の変形形状に応じて、基準座標系を設定する。
上記の3次元モデルの生成方法において、前記エンドエフェクタが3次元形状計測器のスキャン範囲に前記物体を置くように、前記エンドエフェクタを駆動し、前記3次元形状計測器が前記物体をスキャンすることで、前記物体の3次元形状を計測するようにしてもよい。
上記の3次元モデルの生成方法において、前記3次元形状計測器が、前記物体までの距離を測定するデプスセンサを備え、前記基準座標系の軸周りに、前記デプスセンサに対する前記物体の姿勢を変化させるようにしてもよい。
上記の3次元モデルの生成方法において、前記3次元形状計測器が、載置された前記物体を回転するテーブルをさらに備え、前記テーブルの回転軸と前記基準座標系の軸が一致するように、前記エンドエフェクタが前記物体を載置するようにしてもよい。
上記の3次元モデルの生成方法において、前記エンドエフェクタが物体を把持する前に、表面形状センサが前記物体の表面形状データを測定し、
前記表面形状データにおいて、断面が最も円形に近似した箇所を前記エンドエフェクタの把持位置として選択するようにしてもよい。
上記の3次元モデルの生成方法において、前記基準座標系の各軸に対する前記物体の対称性を判定し、前記対称性の判定結果に応じて、前記軸を修正するようにしてもよい。
本実施の形態におけるプログラムは、コンピュータに対して、物体の表面形状データに応じて、前記物体の表面の法線方向を算出するステップと、前記法線方向に基づいて、前記物体の把持位置を設定するステップと、柔軟な把持部を有するエンドエフェクタが、前記把持位置で物体を把持するように、前記エンドエフェクタを制御するステップと、前記物体を把持したときの前記把持部の変形形状を検出した変形形状データを取得するステップと、前記把持部の変形形状データに応じて、基準座標系を設定するステップと、を実行させる。
本開示により、適切な座標系における3次元モデルを効率良く生成することができる3次元モデルの生成システム、生成方法、プログラムを提供することができる。
システム構成を示す模式図である。 エンドエフェクタの構成を模式的に示す上面図である。 処理装置の構成を示すブロック図である。 本実施の形態にかかる3次元モデルの生成方法を示すフローチャートである。 本実施の形態にかかる3次元モデルの生成方法を示すフローチャートである。 回転対称性の判定処理を示すフローチャートである。 物体の凸包の断面形状Scとr(θ)を説明するための図である。 r’(θ)とそのフーリエ変換を示すグラフである。 r(θ)とr(θ+ωmax)との差分を示すグラフである。 面対称性の判定処理を示すフローチャートである。 面対称性の判定処理を示すフローチャートである。 面対称性の判定処理での断面形状を示す図である。 面対称性の判定処理での軸を修正する処理を説明するための図である。 処理装置100のハードウェア構成の一例を示すブロック図である。
以下、発明の実施の形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
近年、物体の位置姿勢を推定する推定器として、機械学習モデルが用いられている。このような推定器を機械学習により生成するためには、多数の学習用データを収集する必要がある。学習用データには、カメラが撮像した画像だけでなく、シミュレーションにより生成された合成画像が用いられることもある。
レンダラやシミュレータは、物体の3次元形状を示す3次元モデル(3次元形状モデル、又は3Dモデルとも言う)から、合成画像を生成する。シミュレータなどを用いることで、物体の位置姿勢を変えた大量の合成画像を簡便に生成することができる。さらに、シミュレータ等は、位置姿勢等のラベルを合成画像にアノテーションすることができる。
3次元モデルの作成には、ステレオカメラやデプスセンサなどのセンサが用いられる。例えば、デプスデプスが物体の点群データを計測する。点群データは、例えばXYZ3次元直交座標系における各点の位置座標の情報を含んでいる。また、点群データをエッジデータ、メッシュデータ、又はサーフィスデータ等に変換することで、3次元モデルを形成することができる。
本実施の形態にかかる3次元モデルの生成システム、及び生成方法について、図を参照して説明する。図1は、システム1の構成を示すブロック図である。システム1は、処理装置100と、3次元形状計測器200と、エンドエフェクタ300と、アーム機構400と、測距センサ500と、を備えている。システム1は、物体Oの3次元形状を示す3次元モデルを生成する。また、処理装置100は、物体Oの対称性を判定するための処理を行ってもよい。
エンドエフェクタ300は、物体を把持する把持機構(ロボットハンド)である。エンドエフェクタ300は、把持している物体を開放することができる。エンドエフェクタ300は柔軟な把持部を有する.具体的には、エンドエフェクタ300において、物体Oと接触する部分が柔軟な弾性体などにより形成されている。エンドエフェクタ300の構成については後述する。エンドエフェクタ300は、アーム機構400の先端に取り付けられている。
アーム機構400はエンドエフェクタ300を駆動する駆動機構である。アーム機構400は、複数の関節を有するロボットアームである。アーム機構400は、エンドエフェクタ300によって把持されている物体Oの位置姿勢を変えることができる。例えば、アーム機構400は、エンドエフェクタ300の位置姿勢を変えることで、物体Oの位置姿勢を変える。アーム機構400は、エンドエフェクタ300を物体0の把持位置まで移動させることができる。また、エンドエフェクタ300が物体Oを把持すると、アーム機構400は、物体Oを所望の位置まで移動させることができる。アーム機構400と後述する3次元形状計測器200の位置関係は既知となっている。
例えば、アーム機構400とエンドエフェクタ300は物体Oをテーブル210の上に載せることができる。エンドエフェクタ300が物体Oを把持した後、アーム機構400がエンドエフェクタ300を移動させる。これにより、物体Oがテーブル210の上に移動する。物体Oをテーブル210の載置面と接触した状態で、エンドエフェクタ300が把持を開放する。これにより、アーム機構400とエンドエフェクタ300が物体Oをテーブル210の上に移動させることができる。
エンドエフェクタ300は、柔軟な把持部を有している。そして、エンドエフェクタ300が物体Oを把持したとき、把持部が変形する。エンドエフェクタ300は把持部の変形形状を測定するためのセンサが内蔵されている。エンドエフェクタ300としては、例えば、以下の非特許文献1に記載されたものを用いることが可能である。
https://arxiv.org/abs/1706.09911
図2は、エンドエフェクタ300の一例を示す模式図である。エンドエフェクタ300は、本体部311と、ベース部313と、把持部314と、爪部315と、変形センサ316と、アクチュエータ317と、を備えている。
本体部311には、一対の爪部315が回転可能に設けられている。爪部315は、物体Oを把持するために駆動するグリッパ機構である。ここで、エンドエフェクタ300は、2本の爪部315を有する2フィンガータイプとなっている。もちろん、エンドエフェクタ300には、3本以上のフィンガーが設けられていてもよい。エンドエフェクタ300は、フィンガーを有するグリッパ機構に限られるものではない。
2本の爪部315の先端部分には、把持部314がそれぞれ取り付けられている。把持部314はベース部313を介して、爪部315に固定されている。一対の把持部314は、物体Oを両側から挟むように配置されている。2つの把持部314の間に物体Oが配置される。例えば、図2において、一方の把持部314が物体Oの右側に配置され、他方の把持部314が物体0の左側に配置されている。把持部314は、樹脂製のフィルムやシートにより形成されている。よって、把持部314は、把持位置における物体Oの形状に沿って変形する。つまり、把持部314は、物体Oと接触箇所における物体Oの形状にしたがって変形する。
本体部311は、図1で示したアーム機構400に取り付けられている。本体部311には、2本の爪部315を駆動するためのアクチュエータ317が設けられている。アクチュエータ317は、2本の爪部315の先端側が近づけたり、遠ざけたりするように、爪部315を矢印の方向に駆動する。アクチュエータ317が2本の爪部315が物体Oを挟んだ状態で把持する。エンドエフェクタ300が物体Oを把持する把持動作を行う場合、一対の爪部315が近づくように、アクチュエータ317が爪部315を駆動する。これにより、把持部314が物体Oと接触して、物体Oを挟み込むことができる。物体Oの把持を解除する解除動作を行う場合、一対の爪部315が離れるように、アクチュエータ317が爪部315を駆動する。これにより、把持部314が物体Oから離れるため、物体Oを開放することができる。
また、ベース部313には、変形センサ316が取り付けられている。変形センサ316が把持部314の変形形状を検出する。変形センサ316は、把持部314とベース部313との間に内蔵されている。例えば、把持部314は柔軟な膜で形成されている。把持部314は、空間を隔てて、ベース部313に取り付けられている。ベース部313と把持部314との間の空間が中空となっており、その中空空間に変形センサ316が設けられている。
変形センサ316は、カメラなどの光学センサである。把持部314のベース部313側の面には、変形センサ316で検出可能な模様などが設けられている。例えば、把持部314には、2次元に配列された点群模様が形成されている。
変形センサ316は、把持部314に設けられた点群模様を撮像する。把持部314の変形によって、撮像画像における各点の位置関係が変化する。つまり、把持部314の変形量に応じて、撮像画像における各点の位置が変化する。したがって、把持部314の点群模様を撮像することで、把持部314の変形形状を検出することができる。把持部314は、物体Oと接触している接触箇所の外形を検出する。変形センサ316は物体Oの接触箇所のみの形状、つまり、部分的な形状を測定することができる。
図1の説明に戻る。3次元形状計測器200は、物体Oの3次元形状を計測するための計測器である。3次元形状計測器200は、例えば、3次元スキャナである。3次元形状計測器200は、テーブル210とデプスセンサ220とを備えている。テーブル210は、水平面と平行な載置面を有している。ユーザ又はロボットは、テーブル210の上に計測対象となる物体Oを載置する。
デプスセンサ220はテーブル210の上の物体Oまでの距離(深度)を計測する。例えば、デプスセンサ220は、例えば、ライダ(LiDAR)、ステレオカメラ、デプスカメラであり、デプス画像を撮像する。テーブル210は物体Oを鉛直方向と平行な回転軸周りに回転させる。そして、テーブル210が物体Oを回転させている間、デプスセンサ220が物体Oの表面まで距離を測定する。
これにより、3次元形状計測器200は、物体Oの全周の3次元形状を示す計測データを測定することができる。計測データは、デプスセンサ220から物体Oまで距離を示す測距データを複数有している。テーブル210の回転中に物体Oを計測することができるため、任意の方向からの物体Oの表面まで距離を測定することができる。さらに、物体Oの底面や上面の形状を測定するため、テーブル210上の物体Oの向きを変えて、3次元形状計測器200が計測を行ってもよい。
デプスセンサ220の検出結果によって、物体の3次元形状データが得られる。つまり、デプスセンサ220は、物体の表面までの距離を検出することで、3次元形状データを取得する。3次元形状データは、物体Oの表面形状、つまり、物体Oと空間の境界を示すデプス画像である。
3次元形状計測器200で計測された計測データは、例えば、複数の点を有する点群データである。各点は、3次元形状計測器200のセンサ座標系における3次元座標の情報を含む。また、計測データはメッシュデータであってもよい。メッシュデータは、隣接する3点を結ぶ三角メッシュ(トライメッシュ)や隣接する4点を結ぶ四角メッシュ(クアッドメッシュ)で構成されている。3次元形状計測器200は計測データを処理装置100に出力する。
測距センサ500は、物体Oの表面形状を測定するために、物体Oまでの距離を測定する。測距センサ500は、ライダ、レーザレンジファインダ、デプスカメラ、超音波センサ、ステレオカメラなどである。測距センサ500で測定されたデータを表面形状データとする。測距センサ500は、物体Oの少なくとも一部分の表面形状を示す表面形状データを測定する。表面形状データは、物体Oの全体の表面形状を示すデータに限らず、一部分の表面形状を示すデータであればよい。CADデータ等がない物体Oの表面形状を測定することができる。
処理装置100は、パーソナルコンピュータの情報処理装置である。例えば、処理装置100は、メモリ、プロセッサ、各種インタフェース、入力デバイス、出力デバイス、モニタなどを備えている。処理装置100のプロセッサがメモリに格納されたプログラムを実行することで、後述する処理が行われる。さらに、処理装置100は、無線又は有線で通信可能な情報処理装置である。
処理装置100は、測距センサ500からの表面形状データを取得する。処理装置100は、3次元形状計測器200からの3次元形状データを取得する。そして、処理装置100は、3次元形状データに座標系を設定して、3次元モデルを作成する。さらに、処理装置100は、アーム機構400,及びエンドエフェクタ300を制御する。
処理装置100について、図3を用いて詳細に説明する。図3は、処理装置100の構成を示す制御ブロック図である。処理装置100は、表面形状データ取得部101と、算出部102と、把持位置設定部103と、駆動制御部105と、を備えている。処理装置100は、さらに、計測データ取得部110と、座標系設定部120と、第1判定部130と、第2判定部140と、第3判定部150と、修正部160と、を備えている。
(3次元形状データの取得)
まず、物体Oの3次元形状データを取得するための処理について説明する。表面形状データ取得部101は、測距センサ500で測定された表面形状データを取得する。表面形状データは、物体Oの部分的な形状を示すデータである。表面形状データは、測距センサ50から物体0の複数の点までの距離を示すデータを含んでいる。表面形状データは、例えば、点群データやメッシュデータとなっている。
算出部102は、表面形状データから物体Oの表面の法線方向を算出する。そして、算出部102は、物体Oの表面の法線方向の分布を求める。つまり、算出部102は、物体Oの各点における法線を算出する。表面形状データは、例えば、点群データやメッシュデータである。算出部102は、点群データやメッシュデータから法線方向を求めることができる。法線は物体Oの表面と直交する方向である。法線方向は物体Oの位置に応じて異なる方向となる。
把持位置設定部103は、法線方向に基づいて、エンドエフェクタ300による物体Oの把持位置を設定する。把持位置設定部103は、法線方向の分布に基づいて、最適な把持位置を探索する。
エンドエフェクタ300が把持位置で物体Oを把持するように、駆動制御部105はエンドエフェクタ300とアーム機構400を制御する。駆動制御部105は、エンドエフェクタ300,及びアーム機構400の各モータに対して、指令値などを出力する。このようにすることで、エンドエフェクタ300が、把持位置設定部103で設定された把持位置で、物体Oを把持することができる。物体Oの把持位置で、爪部315が駆動して、把持部314が物体Oを挟み込む。
例えば、把持位置設定部103は、法線方向の分布に基づいて、物体Oの把持位置となる断面(把持断面ともいう)を求める。物体Oにおける把持位置は、物体Oの断面の外形(輪郭)が最も円形に近くなる位置とすることができる。つまり、把持位置設定部103や、物体Oにおいて、最も円形に近くなる断面を把持位置(把持断面)と設定する。
具体的には、非特許文献1に示すように、把持位置設定部103は、物体Oの対蹠点を探索して、把持姿勢の候補を出力する。対蹠点とは、物体Oのある1点から物体Oの中心を通り、物体Oの反対側にある点である。把持位置設定部103は、物体Oと任意の点とその対蹠点を対として、その法線方向を求める。それぞれの候補に対して、平面上の点群法線を計算して、円に最もフィッティングできる箇所を把持位置姿勢として選択する。断面が円形である場合、対となる2点の法線方向が平行になる。したがって、対となる2点の法線方向のずれ量を求めることで,円形に近い断面を探索することができる。把持位置設定部103は、表面形状データに基づいて、物体Oの把持位置を設定する。
駆動制御部115は、エンドエフェクタ300が把持位置に移動するようにアーム機構400を駆動する。例えば、駆動制御部115は、アーム機構400の各関節を駆動するモータに制御指令値を出力する。これにより、エンドエフェクタ300が把持断面を通る平面上に移動する。把持断面において、物体Oの両側に把持部314が配置される。そして、駆動制御部105はエンドエフェクタのアクチュエータ317を駆動する。これにより、図2に示すように、把持部314が物体Oと接触して、物体Oが把持される。把持部314は、把持断面において、物体Oと接触する。
このように、最も円形に近い断面を把持位置として、図2に示す把持部314が物体Oを挟み込む。エンドエフェクタ300が、安定して物体Oを把持することができる。エンドエフェクタ300が、安定した位置姿勢で物体Oを把持することができる。
座標系設定部120は、物体Oの3次元モデルに対する初期基準座標系を設定する。座標系設定部120は、XYZ3次元直交座標系を初期基準座標系として、設定する。座標系設定部120は3次元モデルについて原点と、X軸、Y軸、Z軸の方向を設定する。X軸、Y軸、及びZ軸は互いに直交する方向となる。
座標系設定部120は、変形センサ316からの変形形状データに基づいて、初期基準座標系を設定する。座標系の1つの軸は把持断面に直交する。把持断面において、2つの把持部314の中心を通る。
把持部314の変形形状から物体Oの把持断面における形状が求められている。把持断面において、物体Oは、円形に近い形状となっている。座標系設定部120は、初期基準座標系の軸が物体Oの中心又は重心を通るように初期基準座標系を設定する。つまり、初期基準座標系の中心(原点)を把持断面の中心(重心)と一致させる。例えば、物体Oが回転対称である場合、物体Oの対称軸を初期基準座標系の軸に一致させることができる。
そして、駆動制御部105が、3次元形状計測器200のスキャン範囲に物体Oを置くように、アーム機構400及びエンドエフェクタ300を制御する。駆動制御部105による制御によって、アーム機構400及びエンドエフェクタ300が物体Oをテーブル210に載置する。具体的には、アーム機構400は、初期基準座標系の軸をスキャン範囲の中心に揃えるように、物体Oを移動する。例えば、図1に示すように、初期基準座標系の軸は物体Oの中心又は重心を通る中心軸となっている。よって、中心軸がテーブルの回転軸と一致するように駆動制御部105がアーム機構400とエンドエフェクタ300を制御する。そして、3次元形状計測器200がテーブル210を回転させて、物体Oの3次元形状を計測する。
把持時の姿勢とできる限り近くなるような姿勢で、物体Oの中心位置をスキャン範囲の中心と揃えることができる。3次元形状計測器200による3次元スキャンのための物体Oの置き直し回数を減らすことができる。例えば、テーブル210の任意のスキャン角度(回転角度)において、物体Oの一部がスキャン範囲からはみ出すことを防ぐことができる。また、3次元形状計測器200が、安定的かつ効率良く3次元計測を行うことができうる。適切な座標系での3次元モデルを生成することができる。
計測データ取得部110は、3次元形状計測器200で計測された計測データを取得する。上記の通り、計測データは物体の3次元形状を示す点群データやメッシュデータとなっている。つまり、処理装置100は、3次元形状を示す3次元モデルのデータ(3次元データ)を取得する。さらに、座標系設定部120で設定された座標系で、計測データが取得される。つまり、座標系設定部120で設定された初期基準座標系のXYZ軸上の位置座標(XYZ座標)で、計測データが示されている。
以下、計測データ取得部110が、3次元形状を示すメッシュモデルを取得するものとして説明する。もちろん、計測データ取得部110は、3次元形状計測器200から点群データを取得して、処理装置100が点群データからメッシュデータを生成しても良い。3次元形状計測器200と配置ポイントの相対位置関係は既知となっている。これにより物体Oの3次元モデルとエンドエフェクタ300から導出された軸との対応付が可能となる。
(対称性の判定)
さらに、処理装置100は、オプションとして、3次元モデルの対称性を判定してもよい。具体的には、処理装置100は、基準座標系の各軸に対する対称性を判定する。そして、処理装置100は、対称性の判定結果に応じて、基準座標系の軸を修正している。
ここで、物体の3次元形状を示す3次元モデルでは、座標系の座標軸を適切に設定することが望まれる。例えば、物体が回転対称の場合、回転軸と一致する座標軸を設定することで、物体の位置姿勢を適切に変えることができる。物体の対称性を適切に判定することが望まれる。本実施の形態にかかる方法では、物体の対称性を適切に判定することができる。このようにすることで、推定器での6軸位置姿勢の推定の有用な座標系を設定することが可能となる。以下、対称性の判定に関する構成について説明する。
第1判定部130は、物体Oの回転対称性を判定する。第1判定部130は、3軸のそれぞれについて、回転対称であるか否かを判定する。例えば、X軸について、物体Oが回転対称形状である場合、X軸が回転対称軸となる。したがって、物体をX軸周りにある角度回転させると、物体の形状が一致する。
第2判定部140は、物体Oが角度周期を有する回転対称であるか否かを判定する。回転対称な軸がある場合、第2判定部140は、その軸についての回転対称性が角度周期を有するか否かを判定する。例えば、X軸が回転対称軸である場合、第2判定部140は、X軸について、角度周期を有する回転対称な形状であるか否かを判定する。
角度周期を有する回転対称な形状の一例は、軸と直交する断面において、正多角形である。具体的には、断面が正四角形の場合、物体は4回対称の回転対称形状となる。角度周期を有しない回転対称な形状の一例は、例えば、軸と直交する断面において、円形である。
第3判定部150は、面対称性を判定する。物体形状が面対称性を有する場合、平面に対して反転対称な形状となる。軸を含む平面に対して、反転対称である場合、第3判定部150は、物体が面対称であると判定する。
修正部160は基準座標系を修正する。第2判定部140において、角度周期を有する回転対称であると判定された場合、修正部160が基準座標系を修正する。これにより、初期基準座標系と異なる基準座標系が設定される。具体的には、修正部160は、回転対称軸ではない軸の向きを修正する。例えば、X軸が回転対称軸である場合、修正部160は、Y軸とZ軸の向きを変える。修正部160は、Y軸とZ軸をX軸周りに回転する。
また、修正部160は、第3判定部150において、物体Oが面対称性を有すると判定された場合、修正部160は、基準座標系を修正する。つまり、軸が対称面内に含まれるように基準座標系の軸方向を変化させる。このようにすることで、対称面と平行な2軸を座標軸とする基準座標系を設定することができる。
図4を用いて本実施の形態にかかる3次元モデルの生成方法について説明する。図4は、本実施の形態にかかる3次元モデルの生成方法を示すフローチャートである。
まず、表面形状データ取得部101が物体Oの表面形状データを取得する(S11)。これにより、測距センサ500で測定された表面形状データが取得される。ここで、表面形状データは、物体Oの表面を示す点群データやメッシュデータである。ここでは、目酒データであるとして説明する。
次に、算出部102が、表面形状データに基づいて、物体Oの表面の法線方向を算出する(S12)。これにより、物体Oの表面の法線方向分布が求められる。把持位置設定部103が法線方向に基づいて、把持位置を設定する(S13)。ここでは、算出部102は、上記のように、^円形に近い断面を物体Oの把持位置として設定する。
エンドエフェクタ300が把持位置で物体Oを把持する(S14)。つまり、アーム機構400がエンドエフェクタ300は把持位置に移動させた後、エンドエフェクタ300が物体0を把持する。
ここでは、柔軟な把持部314が物体Oを把持している。従って、物体Oの外形に応じて、把持部314が変形する。そして、変形センサ316が把持部314の変形形状を検出する(S15)。
座標系設定部120が、把持部314の変形形状に応じて、初期基準座標系を設定する(S16)。上記のように、把持部314は柔軟な材料により形成しているため、把持している物体Oに沿って変形する。したがって、座標系設定部120は、把持部314の変形形状に応じて初期基準座標系の軸方向を設定することができる。
エンドエフェクタ300及びアーム機構400が物体Oをテーブル210に載置する(S17)。ここでは、物体Oが3次元形状計測器200のスキャン範囲に置かれるように、アーム機構400が物体Oを移動させる。より詳細には、初期基準座標系の軸方向がスキャン軸と一致するように、物体Oが3次元形状計測器200に設置される。
3次元形状計測器200が物体Oをスキャンする(S18)。3次元形状計測器200が物体Oの全周をスキャンして、計測を行う。計測データ取得部110が、初期基準座標系での計測データを取得する(S19)。つまり、把持部314の変形形状に応じた設定されたXYZ3次元直交座標系における物体Oの3次元形状モデルが得られる。
図5を用いて、3次元モデルの対称性を判定する処理について説明する。図5は、対称性を判定する処理の一例を説明するためのフローチャートである。以下の説明では、ステップS15で導出された初期基準座標系の各軸に対する対称性を判定する。これにより、ステップS18で計測された計測データに対応する3次元モデルの対称性が判定される。
第1判定部130が初期基準座標系における軸(x,y,z)を選択する(S103)。つまり、第1判定部130がx軸、y軸、z軸から1つの軸を選択する。第1判定部130は、選択された軸(以下、選択軸ともいう)について、物体0が回転対称か否かを判定する(S104)。回転対称は、選択軸周りに回転させた時の形状が元の形状と一致する形状である。
物体Oが回転対称な場合(S104のYES)、第2判定部140は、回転対称性が角度周期を有するか否かを判定する(S105)。つまり、第3判定部150は、物体Oが角度周期を有する回転対称な形状か否かを判定する。角度周期を有する回転対称は、選択軸周りに所定の角度(0°より大きく360より小さい角度)だけ回転させた時の形状が元の形状と一致する形状である。換言すると、角度周期の示す角度以外の角度だけ軸周りに回転させた時の形状が、元の形状と一致しない。
回転対称性が角度周期を有する場合(S105のYES)、修正部160が基準座標系を修正する(S106)。修正部160は、初期基準座標系において、選択軸以外の2軸の方向を変える。これにより、選択軸と直交する平面における2軸の方向が決定する。そして、処理がステップS109に移行する。回転対称性が角度周期を有していない場合(S105のNO)、処理がステップS109に移行する。
物体Oが回転対称でない場合(S104のNO)、第3判定部150は、物体Oが面対称か否かを判定する(S107)。面対称性は、選択軸を含む平面において、物体Oを反転させた時の形状が、元の形状と一致する形状である。物体Oが面対称な場合(S107のYES)、修正部160が基準座標系を修正する(S108)。修正部160は、初期基準座標系において、選択軸以外の2軸の方向を変える。具体的には、選択軸以外の1軸を対称面(反転面)と平行な方向にする。そして、処理がS109に移行する。
物体Oが面対称でない場合(S107のNO)、処理がS109に移行する。そして、第1判定部130が、全軸について処理が終了したか否かを判定する(S109)。全軸について処理が終了していない場合(S109のNO),ステップS103に戻り、第1判定部130が軸を選択する。つまり、対称性が判定されていない軸について、処理装置100が上記の処理を行う。例えば、z軸、y軸、x軸の順番でS104~S108の処理が行われる。全軸について処理が終了していない場合(S109のYES),処理を終了する。
図6は、第1判定部130と第2判定部140における判定処理の一例を説明するためのフローチャートである。ここで、図のステップS103に選択された軸をaとして説明する。つまり、軸aは、初期基準座標系におけるx軸、y軸、z軸のいずれか一つである。以下の説明では、軸aがz軸として、軸aと直交する平面Pがxy平面であるとして説明する。
第1判定部130が、軸aと直交する平面Pにおいて、物体モデルとその凸包(convex hull)の断面形状So、Scを作成する(S301)。断面形状So及び断面形状Scは、平面Pと物体モデルの交差から求められる。物体の断面形状Soは、平面Pにおける物体の輪郭を示す形状となる。凸包は平面Pにおいて、物体(つまり、断面形状So)を包含する最小の多角形となる。第1判定部130は、軸a上の位置を変えていき、断面形状So、Scを生成する。したがって、1つの物体Oについて、第1判定部130は、複数の断面形状So及び複数の断面形状Scを生成する。
第1判定部130は、平面Pにおいて、直線lと断面形状Sc(もしくはSoでも可)との最も外側の交点と原点Poとの距離rを求める(S302)。図7を用いて、断面形状Scとそのrを説明する。図7は、平面Pを示している。ここで、直線lは、図7に示すように、平面Pと平行で、平面Pの原点Poを通る直線である。また、直線lは原点P0を始点としている。平面Pにおいて直線lとx軸の成す角度はθとなっている。直線l上において、距離rは、原点Poと断面形状Scの外形までの距離を示す。なお、直線lと断面形状Scとの交点が2つ以上ある場合、最も外側の交点と原点Poとの距離をrとする。
上記の通り、第1判定部130は、断面形状Scの代わりに、物体モデルの断面形状Soを用いてもよい。よって、以下のフローにおいて、断面形状Scを断面形状Soと置き換えることも可能である。断面形状Soを用いる場合、直線l上において、原点Poから断面形状Soの外形までの距離を距離rとする。以下の説明では、断面形状Scについての処理を行う例について説明する。このため、図7に示すように、原点Poから、直線lと断面形状Scとの交点までの距離を距離rとして説明する。
さらに、第1判定部130は、θを変えていき、距離rを求めていく。つまり、第1判定部130は、平面Pにおいて、原点Poを中心とする円の全周に渡って、rを算出する。第1判定部130は、例えば、θをδθ間隔で変化させて、rを求める。これにより、第1判定部130は、離散的な関数r(θ)を求めることができる。例えば、θは0°~360°の離散的な値を取る。r(θ)は、断面形状Scの極座標表現となる。つまり、r(θ)は、断面形状Scを極座標変換した関数に対応する。さらに、第1判定部130は、軸a上の位置(ここではz位置)を変えて生成された複数の断面形状Scについて、それぞれr(θ)を算出する。
第1判定部130は、r(θ)を正規化する(S303)。例えば、第1判定部130は、r(θ)の最大値が1となるように、一定の係数をr(θ)に乗じる。これにより、r(θ)が0以上1以下の範囲となる。第1判定部130は、r(θ)の値が一定であるか否かを判定する(S304)。つまり、第1判定部130は、断面形状Scが円形であるか否かを判定する。より、詳細には、第1判定部130は、断面形状Scの外形が円形となるか否かを判定する。
r(θ)が一定である場合(S304のYES)、第1判定部130は、物体が円形(回転対称)であると判定する(S305)。円形であると判定されると、第1判定部130,及び第2判定部140の処理が終了する。つまり、図2のステップS105において、NOと判定される。断面形状が円形となる3次元物体の例としては、球、円柱、円錐、ラグビーボールなどがある。また、軸aの位置に応じて、直径が変わるビン、ボトルなどがある。これらの形状は、中心軸に対して、回転対称となる。
r(θ)が一定でない場合(S304のNO)、第1判定部130は、物体が円形ではない判定する(S306)。次に、第2判定部140が角度周期を有する回転対称性か否かを判定する。つまり、図2のステップS105における判定処理が施される。
第2判定部140は、r’(θ)について離散フーリエ変換を行う(S307)。ここで、r’(θ)はr(θ)とrの平均値raveとから算出される。具体的には、r’(θ)=r(θ)-raveで求めることができる。平均値raveはrのDC成分に対応する。また、離散フーリエ変換により得られたフーリエ級数(振幅スペクトル)R(ω)を図8に示す。図8の左側のグラフはr’(θ)を示し、右側のグラフはR(ω)を示す。なお、図7に示すように断面形状Scが正六角形となる場合、図8に示すR(w)では60°毎にピークが存在する。また、図8では、実関数をフーリエ変換しているため、正負対称となっている。
第2判定部140は、R(ω)から振幅Rが最大となる角度周期ωmaxを求める(S308)。ここで、ωmaxは0°以上180°以下とする。図8では、R(60°)に最大となるピークが表れているため、ωmaxは60°(=π/3[rad))となる。
第2判定部140は差(r(θ)―r(θ+ωmax))の絶対値の面積Eを求める(S309)。ここで、差とは、関数r(θ)と、関数r(θ)を角度周期ωmax分だけシフトさせた関数r(θ+ωmax)との差分値を示す。絶対値の面積Eは以下の式(1)で算出することができる。
Figure 2023152472000002
絶対値をθについて0°~360°までの範囲で積分することで、面積Eが求められる。なお、式(1)において、θが離散的な値を取るため、θが0~360°の範囲における絶対値の総和が面積Eとなる。第2判定部140は面積Eがしきい値未満であるか否かを判定する(S310)。つまり、第3判定部150は面積Eを予め設定されているしきい値と比較する。
しきい値未満である場合(S310のYES)、第2判定部140は、角度周期ωmaxを持つ回転対称(線対称)形状であると判定する(S311)。つまり、角度周期ωmaxだけシフトした時の関数の差が小さいため、第2判定部140は角度周期を有する回転対称(線対称形状)と判定する。しきい値未満でない場合(S310のNO)、第2判定部140は、角度周期を持つ回転対称(線対称形状)でないと判定する(S312)。
図9に、r(θ)とr(θ+ωmax)を示す。図9では、左側に回転対称形状でないグラフが示され、右側に回転対称な場合のグラフが示されている。回転対称ではない場合、r(θ)とr(θ+ωmax)の差が0とならないため、式(1)で求められる面積Eが大きくなる。角度周期のある回転対称形状の場合、r(θ)とr(θ+ωmax)とがほぼ一致する関数となる。よって、いずれのθにおいても、r(θ)とr(θ+ωmax)との差がほぼ0となり、面積Eがほぼ0となる。よって、第2判定部140が、面積Eを予め設定されたしきい値と比較することで、角度周期のある回転対称か否かを判定することができる。
なお、軸a上の位置を変えていくことで、複数の断面形状Scが生成されている。回転対称性の判定は、断面形状Scのそれぞれについて判定される。よって、全ての断面形状Scについて、r(θ)の値が一定である場合、角度周期を有しない回転対称であると判定される。1つ以上の断面形状Scについて、面積Eがしきい値未満でない場合、回転対称ではないと判定される。一部の断面形状Scについて、面積Eがしきい値未満で有り、残りの全ての断面形状でr(θ)が一定である場合、角度周期を有する回転対称であると判定される。
また、全ての断面形状Scについて、面積Eがしきい値未満である場合であっても、角度周期ωmaxが異なる場合、角度周期を有する回転対称とはならないこともある。具体的には、全ての断面形状Scにおける角度周期ωmaxがずれていて、重ならない場合、角度周期を有する回転対称とはならない。例えば、ある断面形状において角度周期ωmaxが60°で、残りの断面形状において、角度周期ωmaxが72°の場合、角度周期を有する回転対称とならない。反対に、ある断面形状において角度周期ωmaxが60°で、残りの断面形状において、角度周期ωmaxが30°の場合、角度周期を有する回転対称となる。つまり、6回の回転対称となる。
なお、物体が角度周期を有する回転対称性を有する場合(S311)、図2のステップS106のように、修正部160が初期基準座標系を修正する。修正部160は、ピーク面に基づいて初期基準座標系の軸方向を修正してもよい。例えば、r(θ)が最大となる角度θmaxの方向が軸方向となるように、修正部160が基準座標系を設定する。修正部160は、rが最大となるθmaxを特定する。ここで、ωmaxは0°以上360°未満とする。
r(θmax)となる断面形状Sc又は断面形状Soの位置がピーク位置となる。修正部160は、x軸から角度θmaxだけ傾いた直線を軸bとする。図7ではθmaxが0°となっている。軸bは原点とピーク位置を通る直線となる。選択軸(軸a)と軸bとを含む平面がピーク面となる。なお、r(θ)が最大となる角度θが複数ある場合、その一つのピーク位置に基づいて、軸bを設定すればよい。
ステップS312の後、ステップS107のように、第3判定部150が面対称性の判定を行う。面対称性の判定の一例について、図10~図12を用いて説明する。図10,図11は、判定処理の一例を示すフローチャートである。図12は、面対称な断面形状を示す図である。また、以下の説明では、凸包の断面形状Scについて、処理を行うが、物体の断面形状Soについて処理を行うことも可能である。よって、以下のフローにおいて、断面形状Scを断面形状Soと置き換えることも可能である。
第3判定部150は、平面Pの原点Pを通る直線L(φ)を一定の角度間隔δφで引く(S401)。したがって、平面Pにおいて、複数の直線L(φ)が設定される。ここで、直線L(φ)は図12に示すように、平面P上において、原点Poを通り、x軸から角度φとなる直線である。つまり、角度φは、平面Pにおいて、x軸と直線L(φ)との成す角度である。また、φは0°以上180°未満の範囲とする。直線L(φ)は、断面形状Scを横切るように設定される。
第3判定部150は、直線L(φ)上に、一定間隔δm毎にサンプル点Qmを取る(S402)。これにより、直線(φ)上の複数点をサンプリングすることができる。第3判定部150は、各サンプル点Qmのxy座標を記録する。図12には、直線L(φ)と、直線L(φ)上のサンプル点Qmの一部が示されている。ここでは、1本の直線L(φ)上に置かれた3点のサンプル点のみが示されている。また、第3判定部150は、角度φを変えることで複数の直線L(φ)を引く。第3判定部150は、それぞれの直線L(φ)上で、複数のサンプル点Qmを求める。以下の、処理では特に言及しない限り、それぞれの断面形状について、同様の処理を行う。
第3判定部150は、全てのサンプル点Qmについて、Qmを通り直線L(φ)と直交する直交直線K(Qm)を引く(S403)。第3判定部150は、K(Qm)と断面形状Scとの交点Qmu、Qmlを求める(S404)。ここで、図12に示すように、K(Qm)は凸包の断面形状Scを横切る直線であるため、K(Qm)は断面形状Scと2箇所で交わる。よって、図11に示すように、K(Qm)と断面形状Scとの正側の交点をQmuとし、負側の交点をQmlとする。また、K(Qm)は断面形状Scと3箇所以上で交わる場合、正側において最も外側の交点をQmu、負側において最も外側の交点をQmlとする。
第3判定部150は、サンプル点Qmから交点Qmu、Qmlの距離du、dlを求める(S405)。第3判定部150は、図12に示すように、サンプル点Qmと交点Qmuとの距離をduとし、サンプル点Qmと交点Qmlとの距離をdlとする。
次に、第3判定部150は、符号付き距離差分d=du-dlを計算する(S406)。第3判定部150は、dの平均値daveを算出する(S407)。第3判定部150は、1つの直線L(φ)上の複数のサンプル点Qmについて、dの総和を求め、総和をサンプル点数で除することで、平均値daveを求める。第3判定部150はdとdaveの差の絶対値の総和dsumを算出する(S408)。総和dsumは以下の式(2)で求めることが可能である。
Figure 2023152472000003
第3判定部150は、総和dsumが最小となる角度φminを求める(S409)。上記のように、符号付き距離差分d、平均値dave、総和dsumのそれぞれは、角度φ毎に求められる。つまり、直線L(φ)のそれぞれについて、第3判定部150が、上記の処理を行うことで、符号付き距離差分d、平均値dave、総和dsumを算出する。第3判定部は、複数の総和dsumを比較して、最小となる総和dsumを求め、その時の直線L(φ)の角度φを求める。断面形状Scが直線L(φ)について最も線対称(反転対称)に近くなる角度φが角度φminとして設定される。
第3判定部150は、角度φminの時の符号付き距離差分dの平均値dave_minと総和dsum_minを求める(S410)。総和dsum_minがしきい値未満か否かを判定する(S411)。第3判定部150は総和dsum_minを予め設定されているしきい値と比較する。
総和dsum_minがしきい値未満でない場合(S411のNO)、第3判定部150は、対称形状ではないと判定する(S412)。つまり、軸aについて、断面形状Sc(又は断面形状So)が回転対称でもなく、面対称でもない。よって、物体は軸aについて、何の対称性も有していない。
総和dsum_minがしきい値未満である場合(S411のYES)、修正部160は、φminとdave_minとに基づいて、軸bを設定する(S413)。具体的には、軸bは、x軸に対して角度φの傾きを持ち、かつ、原点Poからのdave_minだけ離れた直線である。図13に、z軸に直交する平面Pにおける軸bを示す。軸bは直線L(φmin)を直線と直交する方向にdave_minだけ平行移動した直線に相当する。また、原点Poの位置も同様に平行移動している。軸bと直交し、かつ軸aと直交する方向が残りの軸cとなる。第3判定部150は、軸aと軸bを含む平面(反転面)に対して、面対称であると判定する(S414)。このように、物体Oが面対称性を有する場合、修正部160は、反転面に沿った軸を有するように、初期基準座標系の軸方向を修正する。
なお、図10、図11に示した面対称性の判定処理は、それぞれの断面形状Scについて行われる。そして、全ての断面形状Scについて、総和dsum_minがしきい値未満であり、かつ、軸bが共通である場合、面対称として判定される。なお、図3~図11に示した処理は、判定処理の一例であり、本実施の形態は上記の処理に限定されるものではない。
システム1は、上記の判定処理を初期基準座標系の3軸のそれぞれについて行う。つまり、3軸のそれぞれについての対称性が判定される。2軸以上で角度周期を持たない回転対称形状と判定された場合、球体形状と判定される。1軸で回転対称、かつ、他の1軸で面対称の場合、円柱やラグビーボール形状などの2つの対称性を持つ物体となる。1軸について回転対称である場合、角度周期を持つ対称性(離散対称性)か、角度周期を持つ対称性かを判別することができる。離散対称な断面形状としては正多角形や星形形状などがある。上記のアルゴリズムにより、様々な対称性を判定することができる。
以上まとめると、システム1は、エンドエフェクタ300と、変形センサ316と、算出部102と、把持位置設定部103と、座標系設定部120とを有している。エンドエフェクタ300は、物体9を把持する柔軟な把持部314を有する。変形センサ316は物体を把持した状態の把持部の変形形状を検出する。算出部102は、物体の表面形状データから物体の表面の法線方向を算出する。把持位置設定部103は、法線方向に基づいて、エンドエフェクタ300による物体Oの把持位置を決定する。座標系設定部120は、把持部314の変形形状に応じて、基準座標系を設定する。
また、3次元モデルの生成方法は、以下の処理を行う。
(A)算出部102が、物体の表面形状データに応じて、前記物体の表面の法線方向を算出する。
(B)把持位置設定部103が、法線方向に基づいて、物体Oの把持位置を設定する。
(C)柔軟な把持部314を有するエンドエフェクタ300が、把持位置で物体を把持する。
(D)物体を把持したときの物体の変形形状を変形センサ316が、検出する。
(E)把持部314の変形形状に応じて、基準座標系を設定する。
このようにすることで、適切な座標系での3次元モデルを簡便に生成することができる。
また、処理装置100は、以下の処理(1)~(6)を実行してもよい。
(1)基準座標系における物体の3次元形状を示す計測データを取得し、
(2)前記初期基準座標系の軸を選択し、
(3)前記軸に対する回転対称性の有無を判定し、
(4)前記軸に対して、角度周期を有する回転対称性か否かを判定し、
(5)前記回転対称性がない場合、前記軸に対する面対称性を判定し、
(6)前記(2)において選択される軸を変えることで、前記(3)~(5)の処理を前記初期基準座標系の3軸それぞれについて行う。
このようにすることで、適切な座標系を設定することができる。そして、上記のように設定された3次元座標系を用いて、物体の3次元モデルを表現する。つまり、物体の3次元形状を示す3次元モデルが、適切な座標系で表される。例えば、3次元モデルを示す点群やメッシュの位置座標が適切な座標系で示される。様々な対称性に関する情報をアノテーションすることができる。対称性を考慮した座標軸で3次元形状モデルを作成することができる。もちろん、(1)~(6)の処理は省略しても良い。
処理装置100は、3次元モデルから初期基準座標を導出する。そして、処理装置100は、各軸における回転対称性、及び面対称性を順に探索することで、効率良く、計算を行うことができる。物体の3次元形状モデルに対する座標系設定と対称性に関する情報をアノテーションすることができる。適切な座標系における3次元モデルを効率良く生成することができる。
対称性を有する物体の場合、座標系の軸が対称軸や対称面(反転面)を規定している。記角度周期を有する回転対称性がある場合、又は、面対称性を有している場合、修正部160が、初期基準座標系を修正する。修正された座標系の軸を用いることで、物体の位置姿勢を適切に変えることができる。学習用データの作成を簡便かつ適切に行うことができる。さらに、学習用データに位置姿勢を示す位置姿勢情報などを適切かつ簡便にアノテーションすることができる。推定器での6軸位置姿勢の推定の有用な座標系を設定することが可能となる。
3次元形状を示すメッシュモデルの各メッシュに対する法線の方向に基づいて、座標系設定部120が初期基準座標を導出するようにしてもよい。これにより、適切な初期基準座標系を簡便に決定することができる。
座標系設定部120は、物体Oを包含する直方体を3次元バウンディングボックスとしている。そして、座標系設定部120は、直方体の中心を原点とし、直方体の各辺方向をxyz軸とする初期基準座標系を導出している。
物体が面対称性を有する場合、修正部160は、反転面に沿った軸を有するように、初期基準座標系の軸方向を修正する。
物体が角度周期を有する回転対称性を有する場合、修正部160は、ピーク面に基づいて初期基準座標系の軸方向を修正する。
上記の処理方法はコンピュータプログラムやハードウェアで実施可能である。つまり、処理装置100が所定のプログラムを実行することで、生成装置又は生成システムとして機能する。図14に処理装置100のハードウェア構成の一例を示す。処理装置100はプロセッサ10,メモリ20、及びインタフェース30等を備えている。メモリ20は、プログラムや各種パラメータ、計測データなどを格納する。プロセッサ10は。メモリ20に格納されたプログラムを実行する。インタフェース30が3次元形状計測器200、エンドエフェクタ300、アーム機構400、測距センサ500等に対してデータを送信する。また、インタフェース30は、3次元形状計測器200、エンドエフェクタ300、アーム機構400、測距センサ500等からのデータを受信する。
処理装置100のプロセッサ10がプログラムを実行することで、本実施の形態にかかる方法を実行することができる。処理装置100は、少なくとも一つのプロセッサ10を有していればよい。そして、1つ以上のプロセッサ10がメモリに格納されたプログラムを実行することで、上記の処理が実施される。処理装置100は、物理的に単一な装置に限らず、複数の装置に分散されていてもよい。つまり、複数の装置が分散処理を行うことで、上記の方法を実行してもよい。
上記処理のうちの一部又は全部は、コンピュータプログラムによって実行されてもよい。つまり、処理装置100を構成する制御コンピュータがプログラムを実行することで、上記の処理装置100の制御が実行される。上述したプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記実施の形態に限られたものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
1 システム
10 プロセッサ
20 メモリ
30 インタフェース
100 処理装置
101 表面形状データ取得部
102 算出部
103 把持位置設定部
105 駆動制御部
110 計測データ取得部
120 座標系設定部
130 第1判定部
140 第2判定部
150 第3判定部
160 修正部
200 3次元形状計測器
210 テーブル
220 デプスセンサ
300 エンドエフェクタ
311 本体部
313 ベース部
314 把持部
315 爪部
316 変形センサ
317 アクチュエータ
400 アーム機構
500 測距センサ

Claims (13)

  1. 物体を把持する柔軟な把持部を有するエンドエフェクタと、
    前記物体を把持した状態の前記把持部の変形形状を検出する変形センサと、
    前記物体の表面形状データから前記物体の表面の法線方向を算出する算出部と、
    前記法線方向に基づいて、前記エンドエフェクタによる前記物体の把持位置を決定する決定部と、
    前記把持部の変形形状に応じて、基準座標系を設定する座標系設定部と、を備えた3次元モデルの生成システム。
  2. 前記物体をスキャンすることで、前記物体の3次元形状を計測する3次元形状計測器と、
    前記エンドエフェクタが前記3次元形状計測器のスキャン範囲に前記物体を置くように、前記エンドエフェクタを駆動する駆動制御部と、を備えた請求項1に記載の3次元モデルの生成システム。
  3. 前記3次元形状計測器が、前記物体までの距離を測定するデプスセンサを備え、
    前記基準座標系の軸周りに、前記デプスセンサに対する前記物体の姿勢を変化させる請求項2に記載の3次元モデルの生成システム。
  4. 前記3次元形状計測器が、載置された前記物体を回転するテーブルをさらに備え、
    前記テーブルの回転軸と前記基準座標系の軸が一致するように、前記エンドエフェクタが前記物体を載置する請求項3に記載の3次元モデルの生成システム。
  5. 前記エンドエフェクタが物体を把持する前に、前記物体の表面形状データを測定する表面形状センサをさらに備え、
    前記表面形状データにおいて、断面が最も円形に近似した箇所を前記エンドエフェクタの把持位置として選択する請求項1~4のいずれか1項に記載の3次元モデルの生成システム。
  6. 前記基準座標系の各軸に対して,前記物体の対称性を判定し、
    前記対称性の判定結果に応じて、前記基準座標系の軸を修正する請求項1~4のいずれか1項に記載の3次元モデルの生成システム。
  7. 物体の表面形状データに応じて、前記物体の表面の法線方向を算出し、
    前記法線方向に基づいて、前記物体の把持位置を設定し、
    柔軟な把持部を有するエンドエフェクタが、前記把持位置で物体を把持し、
    前記物体を把持したときの前記把持部の変形形状を検出し、
    前記把持部の変形形状に応じて、基準座標系を設定する、3次元モデルの生成方法。
  8. 前記エンドエフェクタが3次元形状計測器のスキャン範囲に前記物体を置くように、前記エンドエフェクタを駆動し、
    前記3次元形状計測器が前記物体をスキャンすることで、前記物体の3次元形状を計測する請求項7に記載の3次元モデルの生成方法。
  9. 前記3次元形状計測器が、前記物体までの距離を測定するデプスセンサを備え、
    前記基準座標系の軸周りに、前記デプスセンサに対する前記物体の姿勢を変化させる請求項8に記載の3次元モデルの生成方法。
  10. 前記3次元形状計測器が、載置された前記物体を回転するテーブルをさらに備え、
    前記テーブルの回転軸と前記基準座標系の軸が一致するように、前記エンドエフェクタが前記物体を載置する請求項9に記載の3次元モデルの生成方法。
  11. 前記エンドエフェクタが物体を把持する前に、表面形状センサが前記物体の表面形状データを測定し、
    前記表面形状データにおいて、断面が最も円形に近似した箇所を前記エンドエフェクタの把持位置として選択する請求項7~10のいずれか1項に記載の3次元モデルの生成方法。
  12. 前記基準座標系の各軸に対する前記物体の対称性を判定し、
    前記対称性の判定結果に応じて、前記軸を修正する請求項7~10のいずれか1項に記載の3次元モデルの生成方法。
  13. 少なくとも一つのコンピュータに対して、
    物体の表面形状データに応じて、前記物体の表面の法線方向を算出するステップと、
    前記法線方向に基づいて、前記物体の把持位置を設定するステップと、
    柔軟な把持部を有するエンドエフェクタが、前記把持位置で物体を把持するように、前記エンドエフェクタを制御するステップと、
    前記物体を把持したときの前記把持部の変形形状を検出した変形形状データを取得するステップと、
    前記把持部の変形形状に応じて、基準座標系を設定するステップと、を実行させるプログラム。
JP2022062507A 2022-04-04 2022-04-04 3次元モデルの生成システム、生成方法、及びプログラム Pending JP2023152472A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2022062507A JP2023152472A (ja) 2022-04-04 2022-04-04 3次元モデルの生成システム、生成方法、及びプログラム
US18/183,238 US20230311307A1 (en) 2022-04-04 2023-03-14 System, method, and program for generating three-dimension model
CN202310344075.0A CN116894928A (zh) 2022-04-04 2023-04-03 三维模型的生成系统、生成方法及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022062507A JP2023152472A (ja) 2022-04-04 2022-04-04 3次元モデルの生成システム、生成方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2023152472A true JP2023152472A (ja) 2023-10-17

Family

ID=88195267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022062507A Pending JP2023152472A (ja) 2022-04-04 2022-04-04 3次元モデルの生成システム、生成方法、及びプログラム

Country Status (3)

Country Link
US (1) US20230311307A1 (ja)
JP (1) JP2023152472A (ja)
CN (1) CN116894928A (ja)

Also Published As

Publication number Publication date
US20230311307A1 (en) 2023-10-05
CN116894928A (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
US11511421B2 (en) Object recognition processing apparatus and method, and object picking apparatus and method
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
JP6180087B2 (ja) 情報処理装置及び情報処理方法
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
JP6222898B2 (ja) 3次元計測装置及びロボット装置
US20190184570A1 (en) Intelligent robots
JP6324025B2 (ja) 情報処理装置、情報処理方法
JP6594129B2 (ja) 情報処理装置、情報処理方法、プログラム
JP6598814B2 (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
JP2013184279A (ja) 情報処理装置、情報処理方法
JP2015199155A (ja) 情報処理装置および情報処理方法、プログラム
JP2012101320A (ja) 画像生成装置、画像生成方法、およびプログラム
JP2018144144A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2011112400A (ja) 3次元視覚センサ
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2015085475A (ja) 情報処理装置、情報処理方法
EA038279B1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
JP2018136896A (ja) 情報処理装置、システム、情報処理方法、および物品の製造方法
CN112276936A (zh) 三维数据生成装置以及机器人控制系统
JP2018169660A (ja) オブジェクト姿勢検出装置、制御装置、ロボットおよびロボットシステム
JP2008168372A (ja) ロボット装置及び形状認識方法
JP2019077026A (ja) 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
JP2015007639A (ja) 情報処理装置、情報処理方法およびプログラム
JP2023152472A (ja) 3次元モデルの生成システム、生成方法、及びプログラム
JP6265784B2 (ja) 姿勢推定システム、プログラムおよび姿勢推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231129