誤差制御¶
プロジェクトの実施において、最も一般的に発生する問題の1つは、把持誤差です。把持誤差とは、ロボットを制御してワークを把持する過程で、ロボットが理想位置に到達していないが、一定の誤差があることを意味します。誤差の原因はさまざまです。以下では、外部パラメータ、ビジョン、ロボットから誤差を分析します。詳細な構造を 図1に示します。
外部パラメータの誤差¶
ロボット¶
零点¶
- 零点:
ロボットは、閉ループサーボシステムを介してロボットモーターの各軸の動きを制御し、コントローラのコマンドにより各モーターを制御します。モーターに取り付けられたパルスエンコーダーは、モーターの信号をロボットにフィードバックすることができます。ロボットの動作中、コントローラはエンコーダから返信された信号を継続的に受信して分析し、動作プロセルの全体でロボットを正しく制御できるようにします。コントローラは、各軸零点の位置に基づいてエンコーダから返信された情報を正確に分析するため、使用中にロボットの位置を変更することはできません。ロボットの通常動作中は、ロボットの零点位置と関節位置が保存され、コントローラの電源が正常にオフのときに内部バッテリーを使用して電力が維持されます。このデータは、ロボットが正常にシャットダウンするたびに保存されます。ロボットの電源がオンになるたびに、バックアップ内のデータが直接読み取られて認識され、電源がオフのときと同じ状態になります。ロボットの零点は、衝突、バッテリーの電力損失、または長期間使用されていないなどの条件下でオフセットまたは欠落する可能性があります。
ロボットが零点が欠落している状態で動作している場合、次のように表示されることがよくあります。
ロボットの各関節軸はソフト制限を超えて動作します (これは非常に危険です)。
ロボットは指定された位置に到達できません 。零点の位置が異なるため、同じ関節角度でロボットエンドの位置が異なります。
ロボットは、指定された方向に指定された長さを移動できません (例えば、1メートルを正しく移動できません)。
Mech-Visionを使用して外部パラメータをキャリブレーションする場合、キャリブレーションパラメーターに基づいて複数のロボットが到達する位置姿勢を計算します。ロボットの零点が欠落すると、位置姿勢を正確に到達できないことが多く、最終的に外部パラメータの計算結果に誤差が生じます。
ちなみに
ロボットの零点が欠落しているかどうかを検出する方法はたくさんあります。最も一般的に使用される2つの検出方法は以下のとおりです。
ティーチペンダントでロボットのすべての軸角度を「0°」に調整し、ロボットの各軸の銘板が位置合わせされているかどうかを確認します。位置合わせされていない場合、ロボットの零点が欠落することを示します。
ロボットを制御して指定された方向に沿って特定の距離を移動させます。ロボットの移動距離が理論上の距離と一致しているかどうかを確認します。
ロボットの零点は、上記の方法で確認できます。ロボット零点のキャリブレーションは、異なるロボット零点のキャリブレーション方法に従って実行できます。
制御アルゴリズム¶
新開発のロボットの中には、制御アルゴリズムに問題がある確率が低いものがあります。つまり、ロボットが指定された位置に移動できなく、偏差があります。ロボットが正確な位置に移動できない場合、ロボットは外部パラメータのキャリブレーションを実行できなくなります。
取り付け方式¶
ロボットの取り付け方式は、ロボットが長期間の動作中に安定性を維持できるかどうかを直接決定します。拡張ボルトや固定されていない大きなベースの使用などの弱い取り付け方式では、ロボットが安定した状態を維持したり、長期間の動作中に高速で動作し続けることを保証できません。ロボットが移動すると、実際にはロボットとカメラの位置関係が崩れ、ロボットが正確に把持できなくなります。このような状況は一般的ではなく、一度発生すると検出が困難になります。そのため、ロボットを取り付ける際には、ロボットの取り付け方式を確認する必要があります。
ちなみに
長期間の使用が必要な場合は、ケミカルボルトを使用して、ケミカルボルトをしっかりと固定してからロボット動作を行ってください。そうしないとボルトが緩んでしまいます。
展示会などの短期間の使用が必要な場合、ロボットは比較的安定した表面に固定できますが、ロボットの速度を特に高いレベルに調整することはできません。そうしないと、ロボットが緩む原因になります。
カメラ¶
内部パラメータ¶
カメラの内部パラメータによって引き起こされる外部パラメータの問題は、主にカメラ視野のエッジで、またはカメラの動作距離を超えたときに発生します。工場出荷時のデフォルトでは、使用するハードウェアに応じたカメラの適切な動作距離が設定されました。カメラが動作距離またはエッジを超えて動作している場合、カメラはこの位置で正確にキャリブレーションしていないため、生成された点群に偏差が発生し、最終的に計算された外部パラメータにも偏差が発生します。
ちなみに
カメラを使用するときは、カメラの動作距離と、カメラの内部パラメータが異常であるかどうかを確認することをお薦めします。最後にカメラの動作距離の範囲でキャリブレーショします。
その他の誤差¶
ロボットの初期適応の時に、ロボットの運動学的関係を取得するために、主要なロボットのウェブサイトまたはマニュアルで、対応するロボットの動作パラメータ(以下では、D-Hパラメータと呼ばれます)を見つける必要があります。ロボットの動作パラメータを取得すると、ロボットの関節軸間の関係を確立できます。実際のプロセスでは、ソフトウェアのD-Hパラメータがロボット実機のD-Hパラメータと一致しない場合があります。理由は2つあります。
ロボットサブモデルの数が多すぎるため、認識エラー、または取得したD-Hパラメータのは実際のロボットとの間に一定の誤差が発生します。
マニュアルと実際のロボットの間に違いがあります。
D-Hパラメータが不一致な場合、使用中にソフトウェア内のロボットエンドの位置がティーチペンダントと異なる可能性があるため、計算中に外部パラメータの偏差が発生します。
ちなみに
D-Hパラメータが一致しているかどうかを確認します。ロボットに接続した後、Mech-Vizソフトウェアで同じ関節角度の場合にロボットの6軸のエンドの姿勢がロボットエンドと一致しているかどうかを確認します。不一致な場合は、異常なD-Hパラメータが原因である可能性があります。
視覚結果の誤差¶
元のデータ¶
- 元のデータ:
「元」とは、処理のためにMech-Visionに入力された元のデータを指します。データには、主にRGB画像と深度画像が含まれます。
作業現場で照明(昼から夜など)が変更された場合、カメラの構成パラメータが時間内に更新されないため、以下が発生する可能性があります。
取得された点群のノイズが多すぎるか、ディテールが明確でないため、後続のマッチングアルゴリズムで続行できなくなり、または識別のエラーが発生します。
取得されたRGB画像の品質が変化し、暗い環境で取得された画像の輝度が不十分であるため、ディープランニングの結果がなく、または認識結果が良くないです。
ちなみに
上記の状況が発生した場合は、Mech-Eye Viewerソフトウェアでカメラのパラメータを更新し、2Dと3D露出をそれぞれ調整して、RGB画像と深度画像の結果を改善する必要があります。または、プロジェクトをデプロイするときに、適切な 照明制御 を使用します。
把持点¶
把持点 の誤差は、把持誤差の中で 一般的なエラーの1つ です。Mech-Visionで把持点を設定する方法は2つあります。1つは把持点をドラッグすること、もう1つはティーチング方法による把持点を設定することです。ロボットの精度が確保であるという条件では、ティーチング方法による把持点の誤差が小さいです。そのため、ここでは考慮せず、把持点をドラッグする方法を分析します。
把持点のドラッグはMech-Visionソフトウェアで実行する必要があり、把持点の位置はテンプレートに基づいて調整されます。把持点をドラッグすることは精度が不十分な方法であり、ロボットが到達する位置を正確に設定することができないため、実際の把持プロセスで理想的な位置に到達しない可能性があります。より精確な把持点が必要な場合は、ティーチング方法による把持点を取得する必要があります。
ちなみに
把持点に誤差がある場合は、Mech-Vizソフトウェアの点群の座標から、各ワークの把持点が理想的な位置にあるかどうかを確認できます。
アルゴリズム¶
Mech-Visionソフトウェアの出力結果に引き起こす偏差は、ここではまとめてアルゴリズム誤差と呼ばれます。視覚アルゴリズムのデプロイは、多くの場合、サイトで取得された元の画像に基づいて設定されます。照明や作業環境の変化により、元のパラメータが適用できなくなる可能性があります。Mech-Visionソフトウェアでそれらを確認でき、ユーザーマニュアルに従って調整できます。また、特殊なワークの認識は時折誤差を引き起こす可能性があります。つまり、長期間の使用では問題がなく、環境の変化、特に軸対称対象物によって引き起こされる時折の認識エラーは、局所的な最適解になりがちであるため、認識エラーになります。
注意
一部のサイトでは、テンプレートエラーが原因で誤差が発生する場合があります。つまり、STLファイルを介して取得したテンプレートが、実際の把持する対象物と誤差があるため、テンプレートマッチングを実行したときに最適な結果を得ることができません。理由は以下のとおりです。
STLファイルは完成品のファイルですが、把持するファイルはラフ素材のファイルです。生産プロセスでは、後続の工程を確保するために機械加工の余裕があるため、認識する必要のあるワークがテンプレートファイルよりも大きくなります。
このとき、テンプレートのスケーリングを適切に調整できます。
ロボットの誤差¶
TCP¶
ロボットのTCP誤差は、ロボットの実際のツールセンターと理論上のツールセンターの間の不一致として現れます。ほとんどの理由は、ロボットのTCPキャリブレーションが十分に正確でないことです。タッチポイントの移動、ロボットの姿勢変化が十分に大きくない、タッチポイントと一致しないなどの状況は、ロボットTCPの不正確さを引き起こす可能性があります。ソフトウェアの使用中に、Mech-Vizソフトウェアでツールを作成し、正確なTCP値を入力する必要があります。
ちなみに
TCPを確認するには、ロボットを使用してTCPをキャリブレーションし、キャリブレーションされた値をMech-Vizに入力して、ロボット側にバックアップを残すことをお薦めします。
ちなみに
高精度を必要としないプロジェクトの場合は、ソフトウェアでTCP値を調整して、把持の精度を向上させます。