JP2018051634A - ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 - Google Patents
ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 Download PDFInfo
- Publication number
- JP2018051634A JP2018051634A JP2016186596A JP2016186596A JP2018051634A JP 2018051634 A JP2018051634 A JP 2018051634A JP 2016186596 A JP2016186596 A JP 2016186596A JP 2016186596 A JP2016186596 A JP 2016186596A JP 2018051634 A JP2018051634 A JP 2018051634A
- Authority
- JP
- Japan
- Prior art keywords
- robot
- camera
- posture
- coordinate system
- axis
- 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
Links
Images
Abstract
【課題】簡易な座標系の定義によってビジュアルサーボを実施する。
【解決手段】仮想空間内で定義されたロボットに対するカメラの姿勢に基づいて、実空間における前記ロボットに対する前記カメラの姿勢を取得し、前記カメラによって対象物を撮影した画像データと、前記カメラの姿勢とに基づいて、前記対象物と前記ロボットとの位置関係を制御するビジュアルサーボを行う、ロボット制御装置が構成される。
【選択図】図7
【解決手段】仮想空間内で定義されたロボットに対するカメラの姿勢に基づいて、実空間における前記ロボットに対する前記カメラの姿勢を取得し、前記カメラによって対象物を撮影した画像データと、前記カメラの姿勢とに基づいて、前記対象物と前記ロボットとの位置関係を制御するビジュアルサーボを行う、ロボット制御装置が構成される。
【選択図】図7
Description
本発明は、ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置に関する。
カメラで撮影された画像に基づいてロボットの位置や姿勢等を制御するビジュアルサーボを行うためには、ロボットに固定されたロボット座標系とカメラに固定されたカメラ座標系との関係を特定する必要がある。ビジュアルサーボの結果として期待される制御は、ロボットと対象物との位置関係に関する高精度な制御であることが多く、従来、ロボット座標系とカメラ座標系との間の位置関係を正確に特定する試みが行われていた(例えば、特許文献1参照)。
ビジュアルサーボによる制御は高精度に行われる必要があるが、当該高精度な制御のために必要な座標系同士の関係は必ずしも高精度である必要はない。例えば、カメラで撮影された対象物の位置を目標位置に近づけるためにフィードバック制御を行うのであれば、ロボットに対するカメラの姿勢が判明していれば良く、カメラの位置は不定であって良い。また、カメラの姿勢が不正確であっても、フィードバック制御の過程で対象物の位置を目標位置に正確に合わせ込むことが可能である。従って、従来のように、ロボット座標系とカメラ座標系との間の位置関係を正確に特定する試みは、ビジュアルサーボを行うための構成においては、不必要な精度を追求することになり、過度に煩雑な作業を要することになっていた。
上記課題の少なくとも一つを解決するために、本発明のロボット制御装置は、仮想空間内で定義されたロボットに対するカメラの姿勢に基づいて、実空間におけるロボットに対するカメラの姿勢を取得し、カメラによって対象物を撮影した画像データと、カメラの姿勢とに基づいて、対象物とロボットとの位置関係を制御するビジュアルサーボを行う。
この構成によれば、仮想空間内で定義されたロボットに対するカメラの姿勢を、実空間におけるロボットに対するカメラの姿勢と見なしてビジュアルサーボを行うことが可能になる。従って、実際に、カメラでロボットを撮影して実空間上でのロボットとカメラとの関係を特定するなどの、難度の高いキャリブレーション作業を経ることなく、実空間でのロボットに対するカメラの姿勢を特定してビジュアルサーボを行うことができる。
さらに、実空間におけるロボットとカメラの関係を参照することなく仮想空間内でロボットに対するカメラの姿勢が定義された場合、実空間においてロボットに対するカメラの姿勢が正確に反映された状態でカメラの姿勢を定義することは極めて難しい。しかし、実空間におけるロボットとカメラの関係が不正確であったとしても、ロボットに対するカメラの姿勢に極めて大きな誤差(例えば、カメラの向きが逆方向であるなど)が発生していなければ、フィードバック制御によってビジュアルサーボを高精度に機能させることができる。従って、実空間におけるロボットとカメラの正確な関係をキャリブレーションによって特定せず、誤差が含まれ得る仮想空間内で定義されたロボットに対するカメラの姿勢を実空間における姿勢であるとみなしたとしても、高精度にビジュアルサーボを機能させることができる。
さらに、カメラの姿勢は、ロボット座標系に対する、カメラ座標系の向きである構成が採用されてもよい。この構成によれば、簡易にロボットに対するカメラの姿勢を定義することができる。
さらに、対象物の位置を目標位置に近づけるためのロボットの目標位置をカメラの姿勢に基づいて取得し、ロボットを目標位置に移動させる制御を繰り返す構成が採用されてもよい。このような制御は、実空間におけるロボットとカメラの関係が正確に定義されていなくてもビジュアルサーボを機能させることが可能である。
さらに、仮想空間内におけるロボットの3次元モデルとカメラの3次元モデルとを表示部に表示させ、カメラの姿勢に関するパラメーターの入力を受け付け、入力されたパラメーターに基づいて、表示部に表示されたカメラの3次元モデルの姿勢を変化させ、表示部に表示されたカメラの3次元モデルの姿勢に基づいて、ロボットに対するカメラの姿勢を取得する姿勢特定装置が構成されても良い。この構成によれば、ロボットに対するカメラの姿勢を容易に定義することが可能になる。
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)ロボットの構成:
(2)ロボット制御装置の構成:
(3)ビジュアルサーボ処理:
(4)姿勢特定装置:
(5)他の実施形態:
(1)ロボットの構成:
(2)ロボット制御装置の構成:
(3)ビジュアルサーボ処理:
(4)姿勢特定装置:
(5)他の実施形態:
(1)ロボットの構成:
図1は本発明の一実施形態にかかるロボット1の斜視図である。図1に示すように、ロボット1は、アーム10とエンドエフェクター20とを備える。アーム10は、3個の曲げ関節B1〜B3と3個のねじり関節R1〜R3とを有する6軸アームである。曲げ関節B1〜B3とは、アーム10を構成する部材同士が、アーム10の長さ方向に直交する軸を中心に回転する関節である。ねじり関節R1〜R3とは、アーム10を構成する部材同士が、アーム10の長さ方向の軸を中心に回転する関節である。アーム10は、曲げ関節B1〜B3とねじり関節R1〜R3とを動作させるための駆動部としてのモーター(不図示)を備えている。
図1は本発明の一実施形態にかかるロボット1の斜視図である。図1に示すように、ロボット1は、アーム10とエンドエフェクター20とを備える。アーム10は、3個の曲げ関節B1〜B3と3個のねじり関節R1〜R3とを有する6軸アームである。曲げ関節B1〜B3とは、アーム10を構成する部材同士が、アーム10の長さ方向に直交する軸を中心に回転する関節である。ねじり関節R1〜R3とは、アーム10を構成する部材同士が、アーム10の長さ方向の軸を中心に回転する関節である。アーム10は、曲げ関節B1〜B3とねじり関節R1〜R3とを動作させるための駆動部としてのモーター(不図示)を備えている。
エンドエフェクター20は、アーム10の先端に装着されている。ロボット1は、6軸のアーム10を駆動させることによって、可動範囲内においてエンドエフェクター20を任意の位置に配置し、任意の姿勢(角度)とすることができる。エンドエフェクター20には力覚センサーPとグリッパー21が備えられている。力覚センサーPは、エンドエフェクター20に作用する3軸の並進力と、当該3軸まわりに作用する回転力(トルク)を計測するセンサーである。
ロボット1は、ティーチングを行うことにより各種作業が可能となる汎用ロボットである。本実施形態においては、部品W1を部品W2に挿入する組立作業を行うためのティーチングが行われ、当該組立作業が行われる場合を例として説明する。すなわち、ロボット1は、グリッパー21を部品W1のストック位置に移動させ、グリッパー21によって部品W1をピックアップし、部品W2の上空まで運ぶ。そして、ロボット1は、当該部品W2の凹部に対して部品W1を挿入する作業を行う。
本実施形態において、ロボット1は、ロボット制御装置40に接続されており、当該ロボット制御装置40によって制御される。従って、ロボット1とロボット制御装置40とでロボットシステムを構成する。ロボット制御装置40は、カメラ30を利用したビジュアルサーボを実行することができる。すなわち、本実施形態においては、部品W1を部品W2に挿入する作業が行われる作業エリアが視野に含まれるようにカメラ30の視野が調整され、図示しない支持部に固定されている。ロボット制御装置40は、当該カメラ30によって撮影された画像データに基づいて、ロボット1の位置および姿勢を調整することで、部品W2の凹部に対して部品W1を挿入する作業を行う。
(2)ロボット制御装置の構成:
ロボット制御装置40は、図示しないプログラムの実行部(CPU,RAM,ROM等)を備えている。ロボット制御装置40は、図示しないインタフェースを介して信号の入出力を行うことが可能であり、ロボット1のエンドエフェクターに装着された力覚センサーPの出力を取得し、アーム10が備える各モーターを制御するための制御信号を出力することが可能である。また、ロボット制御装置40は、図示しないインタフェースを介してカメラ30が出力する画像データを取得することが可能である。
ロボット制御装置40は、図示しないプログラムの実行部(CPU,RAM,ROM等)を備えている。ロボット制御装置40は、図示しないインタフェースを介して信号の入出力を行うことが可能であり、ロボット1のエンドエフェクターに装着された力覚センサーPの出力を取得し、アーム10が備える各モーターを制御するための制御信号を出力することが可能である。また、ロボット制御装置40は、図示しないインタフェースを介してカメラ30が出力する画像データを取得することが可能である。
本実施形態において、ロボット制御装置40は、力覚センサーPからの出力に基づいて、TCP(Tool Center Point:グリッパー21とともに移動する基準部位)に作用する力を特定し、当該力が目標力となるように、アーム10の各関節を制御することができる。すなわち、力覚センサーPにおいては、予め決められたTCPに固定された局所座標系(図示せず)の3軸方向の力と3軸周りのトルクとを検出可能である。局所座標系は種々の定義が可能であるが、例えば、グリッパー21が延びる方向と開く方向のそれぞれに平行な2軸と当該2軸に垂直な1軸とによって定義可能である。ロボット制御装置40は、力覚センサーPの出力を取得してグリッパー21に把持された物体を介してTCPに作用する力を局所座標系にて検出する。
一方、ロボット1のアーム10やエンドエフェクター20、グリッパー21、TCPの位置はロボット座標系(図1に示す直交xyz座標系)によって定義され、ロボット座標系と局所座標系との関係も予め特定されている。そこで、ロボット制御装置40は、力覚センサーPによって検出された力が目標力ではない場合、当該目標力が検出される状態を実現するために必要なアーム10の駆動量(モーターの制御量)を座標系の関係に基づいて取得する。
そして、ロボット制御装置40が、モーターに対して制御信号を出力することにより、モーターを制御量に従って動作させ、目標力を実現するためにロボット1のアーム10の位置を変化させる。当該モーターの制御量は、種々の手法によって決定されて良く、例えば、インピーダンス制御によって制御量が決められる構成等が採用可能である。むろん、ロボット制御装置40は、力覚センサーPから出力されるトルクを目標トルクにするように、アーム10を制御しても良い。
さらに、ロボット制御装置40は、TCPの位置が目標位置となり、TCPを有する部位の姿勢が目標姿勢となるように、アーム10の各関節を制御することができる。すなわち、TCPの位置はロボット座標系、TCPを有する部位の姿勢は局所座標系における軸の方向に基づいて決定される。可動範囲内でTCPがロボット座標系において任意の座標に位置し、TCPが任意の姿勢になるために必要な各アーム10の動作は予め特定されている。ロボット制御装置40は、ロボット座標系におけるTCPの目標位置および目標姿勢が特定されると、当該目標位置および目標姿勢に基づいてアーム10の駆動量(モーターの制御量)を取得する。そして、ロボット制御装置40は、モーターに対して制御信号を出力することにより、モーターを制御量に従って動作させる。むろん、当該制御においては、PID(Proportional-Integral-Derivative)制御等のフィードバック制御によってモーターの制御量が取得されても良い。
以上の構成に加え、本実施形態においてロボット制御装置40は、カメラ30が出力する画像データに基づいてビジュアルサーボを行うことができる。当該ビジュアルサーボを行うため、ロボット制御装置40は、図2に示す機能を実行することができる。すなわち、ロボット制御装置40は、予め決められたプログラムを実行することによって、姿勢取得部41,画像データ取得部42,視覚制御部43として機能する。
姿勢取得部41は、仮想空間内で定義されたロボット1に対するカメラ30の姿勢を、実空間におけるロボット1に対するカメラ30の姿勢として取得する機能である。本実施形態においては、各種の制御において参照される座標系同士の関係が予め定義され、図示しない記録媒体に座標系情報Icとして記録されている。ロボット制御装置40は、姿勢取得部41の機能により、当該座標系情報Icを参照し、ロボット1に対するカメラ30の姿勢を取得する。
なお、本実施形態において、ロボット1に対するカメラ30の姿勢はロボット座標系に対するカメラ座標系の向きによって規定されている。具体的には、カメラ30は、複数の画素を備えるラインが複数個並べられたエリアセンサーを備えている。本実施形態においては、当該エリアセンサーのライン方向およびラインが並ぶ方向のそれぞれ平行な2軸と、エリアセンサーに光を導く光学系の光軸方向に平行な1軸とによって、直交座標系が形成され、カメラ座標系とされている。図1においては、当該カメラ座標系の各軸をi軸、j軸、k軸として示している。
当該カメラ座標系は、カメラ30に対して固定されており、カメラ30の位置および姿勢の変化に応じて原点および軸の向きが変化する。そして、カメラ座標系の向きは、ロボット座標系の各軸(x軸、y軸、z軸)に対するカメラ座標系の各軸(i軸、j軸、k軸)の向きによって規定されている。具体的には、x軸、y軸、z軸のそれぞれとi軸、j軸、k軸のそれぞれとが平行である状態を基準とし、カメラ座標系がz軸に対して回転している角度uと、カメラ座標系がy軸に対して回転している角度vと、カメラ座標系がx軸に対して回転している角度wとによってカメラ座標系の姿勢が特定されることで、ロボット1に対するカメラ30の向きが定義されている。
なお、本実施形態においては、ロボット1からみたカメラ30の位置も規定されている。すなわち、カメラ座標系の原点の位置がロボット座標系における座標として規定されている。ただし、ビジュアルサーボにおいて当該ロボット1からみたカメラ30の位置は考慮されないため、ビジュアルサーボにおいてロボット1からみたカメラ30の位置が規定されていることは必須ではない。
以上のように、本実施形態においてロボット制御装置40は、座標系情報Icを参照することによって実空間におけるロボット1に対するカメラ30の姿勢を取得するが、当該カメラの姿勢は、仮想空間において定義された姿勢であり、実空間におけるキャリブレーションを経て定義された姿勢ではない(詳細は後述)。
画像データ取得部42は、部品W1,部品W2をカメラ30によって撮影した画像データを取得する機能である。すなわち、ビジュアルサーボは部品W1,部品W2の位置関係を制御するため、本実施形態においては、当該制御の対象となる部品W1,部品W2がカメラ30によって撮影され、ロボット制御装置40は、当該部品W1,部品W2が撮影された画像を示す画像データをカメラ30から取得する。
視覚制御部43は、画像データとカメラ30の姿勢とに基づいて、対象物とロボット1との位置関係を制御するビジュアルサーボを行う機能である。すなわち、視覚制御部43は、特徴量抽出やパターンマッチング等によって画像データを解析することにより、画像内で部品W1,部品W2の像を特定することができる。当該画像を撮影したカメラ30の姿勢が判明していると、当該画像内の対象物を所望の方向に移動させるために必要なロボット1の動作(移動および姿勢変化)を特定することができる。そこで、対象物とロボット1との位置関係として目標とすべき位置関係がある場合、当該位置関係になるようにロボット1の動作を特定し、動作させればビジュアルサーボを行うことができる。ロボット制御装置40は、視覚制御部43の機能により、当該ビジュアルサーボを行うことにより、部品W2の凹部に対して部品W1を挿入する作業を行う。
以上の構成において、実空間におけるロボット1とカメラ30の関係を特定するキャリブレーション作業は行われず、仮想空間内で定義されたロボット1に対するカメラ30の姿勢に基づいてビジュアルサーボが行われる。そして、実空間におけるロボット1とカメラ30の関係を特定するキャリブレーション作業が行われなかった場合、実空間におけるロボット1に対するカメラ30の姿勢が正確に反映された状態でビジュアルサーボを行うことは不可能である。
しかし、実空間におけるロボット1とカメラ30の関係が不正確であったとしても、ロボット1に対するカメラ30の姿勢に極めて大きな誤差(例えば、カメラ30の向きが逆方向であるなど)が発生していなければ、フィードバック制御によってビジュアルサーボを高精度に機能させることができる。
(3)ビジュアルサーボ処理:
次に、ビジュアルサーボ処理を詳細に説明しながら、実空間におけるロボット1とカメラ30の関係が正確に定義されていなくてもビジュアルサーボが機能する様子を説明する。図3は、ビジュアルサーボ処理のフローチャートである。本実施形態においては、部品W1を部品W2に挿入する工程の開始位置がロボット1に教示されており、当該教示された開始位置にロボット1のアーム10が配置されると、カメラ30の視野に部品W1および部品W2が含まれる状態になる。
次に、ビジュアルサーボ処理を詳細に説明しながら、実空間におけるロボット1とカメラ30の関係が正確に定義されていなくてもビジュアルサーボが機能する様子を説明する。図3は、ビジュアルサーボ処理のフローチャートである。本実施形態においては、部品W1を部品W2に挿入する工程の開始位置がロボット1に教示されており、当該教示された開始位置にロボット1のアーム10が配置されると、カメラ30の視野に部品W1および部品W2が含まれる状態になる。
この状態においてロボット制御装置40は、図3に示すビジュアルサーボ処理を開始する。ビジュアルサーボ処理が開始されると、ロボット制御装置40は、カメラの画像を取得し、対象物(部品W1)の位置および姿勢を取得する(ステップS100)。すなわち、ロボット制御装置40は、画像データ取得部42の機能により、カメラ30が出力する画像データを取得する。
また、ロボット制御装置40は、画像データが示す画像内での部品W1の像を特定する。そして、ロボット制御装置40は、視覚制御部43の機能により、当該像に対して特徴量抽出やパターンマッチング等の解析を行い、部品W1の位置および姿勢を特定する。この結果、カメラ座標系における部品W1の位置および姿勢が特定された状態になる。図4は、カメラ30で撮影された画像30aを模式的に示す図であり、ステップS100が行われると、部品W1の位置としてTCPの位置P1が特定される。
この例においては、直方体である部品W1の稜がカメラ座標系に平行である例を示している。カメラ30に対する部品W1,部品W2の姿勢はこの姿勢に限られず、斜視状態であるなど種々の姿勢が想定可能であり、姿勢が異なっていても後述する制御に本質的な差はない、ここでは、簡単のため、図4に示す姿勢であって奥行きに関する情報をほぼ無視できる例を説明する。従って、この例であれば、ステップS100において、直方体である部品W1の一面がik平面に平行な姿勢であることが特定される。
次に、ロボット制御装置40は、視覚制御部43の機能により、挿入完了位置および姿勢と、現在の位置および姿勢との差分を取得する(ステップS105)。すなわち、ロボット制御装置40は、画像データが示す画像内での部品W2の像を特定する。そして、ロボット制御装置40は、当該像に対して特徴量抽出やパターンマッチング等の解析を行い、部品W2の位置および姿勢を特定する。この結果、カメラ座標系における部品W2の位置および姿勢が特定された状態になる。
さらに、ロボット制御装置40は、部品W2の位置および姿勢に基づいて、部品W1を部品W2に挿入した状態における部品W1の位置を挿入完了位置として取得し、この際の姿勢を特定する。ロボット制御装置40は、当該挿入完了位置および姿勢と、ステップS100で取得された位置および姿勢との差分(変位量および変移角度)を算出する。図4においては、部品W1を部品W2に挿入した状態における部品W1の位置および姿勢を破線によって示しており(符号W11)、挿入完了位置はTCPの予定位置Pdである。この例においては、姿勢の差分は0(すなわち、姿勢を変化させる必要がない)であり、位置の差分がベクトルdPである。以下、この例について説明するが姿勢の差分が有限であっても制御に本質的な差は無い。
次に、ロボット制御装置40は、視覚制御部43の機能により、ステップS105で取得された差分が0であるか否かを判定し(ステップS110)、差分が0であると判定された場合、挿入作業を終了する。一方、ステップS110において、差分が0であると判定されない場合、ロボット制御装置40は、ステップS105で取得された差分をカメラ座標系での表現からロボット座標系での表現に変換する(ステップS115)。すなわち、本実施形態においては、ロボット座標系に対するカメラ座標系の向きによってロボット1に対するカメラ30の姿勢が規定され、座標系情報Icによって定義されている。そこで、ロボット制御装置40は、姿勢取得部41の機能により、座標系情報Icを参照してロボット座標系に対するカメラ座標系の向きを取得する。
ロボット座標系に対するカメラ座標系の向きは、カメラ座標系に対するロボット座標系の向きと等価であるため、ロボット制御装置40は、視覚制御部43の機能により、当該座標系の関係に基づいて、ロボット座標系での差分に変換する。図4に示す例であれば、カメラ座標系での差分であるベクトルdPに相当する位置変化がロボット座標系(図1に示すxyz座標系)において特定される。
次にロボット制御装置40は、ステップS115で取得された差分にゲインをかけて移動量を取得する(ステップS120)。すなわち、本実施形態においては、微小移動を繰り返すことによって徐々にTCPを目標位置に向けて移動させる制御を繰り返す構成が採用されている。このため、差分に対してゲイン(<1)をかけることにより、ロボット1が徐々に差分を解消し、部品W2の凹部に対して部品W1を挿入する作業を行うように構成されている。
ゲインを乗じることによって移動量が取得されると、ロボット制御装置40は、視覚制御部43の機能により、当該移動量だけロボット1を移動させる(ステップS125)。すなわち、ロボット制御装置40は、当該移動量だけ移動した後のTCPの位置をロボット座標系で特定し、当該TCPの位置を目標位置とした位置制御を行う。移動が行われると、ロボット制御装置40は、ステップS100以降の処理を繰り返す。この結果、部品W1が部品W2の凹部に対して徐々に近づき、最終的に部品W1が部品W2の凹部に挿入される。
以上のように、本実施形態においては、部品W1を徐々に部品W2の凹部に近づけることでフィードバック制御を行っているが、当該制御によるロボット座標系の位置および姿勢は、カメラ30の位置(カメラ座標系の原点)に依存しない。従って、カメラ座標系が実空間内で並進方向に誤差のある位置に定義されていたとしても、制御の正確性に影響はない。図4においては、実線で示す画像30aを撮影したカメラ30と同一の姿勢であるが、i軸、k軸方向に位置がずれているカメラ30の視野を破線によって示している。
ここで、実際のカメラ30の視野が破線の位置である状態において、カメラ30の視野が実線であるかのように誤ってカメラ座標系が定義されている場合(カメラ座標系の原点がi軸、k軸方向に誤差を有している場合)を想定する。この場合、両者においてはカメラ30の姿勢が同一であるため、両者においてステップS105で取得される差分は同一の情報として取得され、ロボット座標系での差分に変換された場合の結果も同一である。従って、カメラ30の位置が並進方向に不正確であってもビジュアルサーボ処理に影響を与えない。
さらに、カメラ30の姿勢が不正確であったとしても、本実施形態のように、ロボット1によって対象物の位置を目標位置に少しずつ近づける制御を行えば、最終的に対象物を目標位置まで移動させることができる。図5は、ロボット座標系のx−z平面に平行な面内にTCPの初期位置P1とTCPの予定位置Pdとが存在する例を示している。この例においては、z軸方向に平行な方向にTCPを移動させることにより、部品W1を部品W2に挿入可能である。
この例において、図5において直線の矢印で示すように、ロボット座標系のz軸およびx軸にカメラ座標系のk軸およびi軸が平行である例を想定する。この例において座標系情報Icにより、ロボット座標系のz軸およびx軸にカメラ座標系のk軸およびi軸が平行であると定義されていると、ロボット1に対するカメラ30の向きが正しく定義されていることになる。この場合、カメラ30が出力した画像データに基づいてステップS115、S120によって移動量が取得されて移動が行われると、図5に示すベクトルdP1のようにTCPの初期位置P1からTCPの予定位置Pdに向けた移動が実現される。
一方、カメラ座標系の軸の方向に誤差があり、実際のカメラ30の向きに対してk軸およびi軸が反時計回りに角度αだけ回転したk0軸およびi0軸が座標系情報Icとして定義されている例を想定する。当該回転の誤差がある状況のカメラ30から出力される画像に基づいて解析が行われると、TCPの初期位置P1からTCPの予定位置Pdに向けた方向は、図5に示すdP1の方向に対して角度αずれた状態となる。従って、ステップS115、S120によって移動量が取得されて移動が行われると、図5に破線で示すベクトルdP10のようにTCPの初期位置P1からTCPの予定位置Pdに向けた方向に対して角度αずれた方向への移動が行われ、TCPが位置P2となる。
この後、ステップS100以後のループが繰り返されると、TCPの位置P2からTCPの予定位置Pdに向けた方向dP2へ向けた移動が行われるが、座標系が角度αだけずれていることに起因し、TCPの位置は破線のように移動し、位置P3となる。以後、ステップS100以後のループが繰り返されると、TCPは位置P4、位置P5と順次移動する。この際、TCPの位置から予定位置Pdに向けた直線の方向(実線矢印の方向)とは、角度αだけずれた方向(破線矢印の方向)に移動していくが、本実施形態においては、移動量にゲインがかけられ、移動量が徐々に短くなっていく。従って、位置が予定位置Pdに近づくと、TCPの位置から予定位置Pdに向けた直線の方向と角度αずれた方向との差異は大きな意味を持たず、最終的には、位置が予定位置Pdに収束していく。
以上のように、本実施形態においては、カメラ座標系が実空間内で並進方向に誤差のある位置に定義されていたとしても、制御の正確性に影響はない。さらに、カメラ座標系の軸の方向がロボット座標系の軸の方向に対して誤差があったとしても、最終的に対象物を目標位置まで移動させることができる。従って、ビジュアルサーボを適正に機能させる点に着目すると、座標系情報Icにおいて、カメラ座標系とロボット座標系の対応関係が正確に定義されている(キャリブレーションが行われている)必要はない。
そこで、本実施形態において、ロボット1に対するカメラ30の姿勢は、仮想空間内で予め定義される。当該仮想空間は実空間と異なり、コンピューター等によって規定される仮想的な3次元空間であり、当該仮想空間においてカメラの姿勢を特定する際に、実空間におけるロボットとカメラとの正確な関係が反映されなければ、仮想空間内でロボット1に対するカメラ30の姿勢を正確に定義することはできない。
そして、本実施形態においては、実空間内でロボット1に対するカメラ30の姿勢を特定するキャリブレーションが行われないため、仮想空間内でロボット1に対するカメラ30の姿勢は正確に定義されない。しかし、上述のように、カメラ30の姿勢が正確に定義されていなくても、ビジュアルサーボを正確に機能させることができるため、本実施形態においては、仮想空間内で簡易に定義されたカメラ30の姿勢を座標系情報Icとして定義することにより、実空間におけるカメラ30の姿勢と見なしている。
(4)姿勢特定装置:
本実施形態において利用者は、姿勢特定装置を利用して仮想空間内でロボット1に対するカメラ30の姿勢を定義することができる。図6は姿勢特性装置の構成例を示す図であり、姿勢特定装置はCPU,RAM,ROM等を備えるコンピューターによって姿勢特定プログラムが実行されることによって実現される。コンピューターの態様は任意の態様であってよく、例えば、可搬型のコンピューター等によって構成可能である。姿勢特定プログラムが実行されると、コンピューターは3次元モデル表示部51、パラメーター入力部52、表示姿勢制御部53、カメラ姿勢取得部54として機能する。
本実施形態において利用者は、姿勢特定装置を利用して仮想空間内でロボット1に対するカメラ30の姿勢を定義することができる。図6は姿勢特性装置の構成例を示す図であり、姿勢特定装置はCPU,RAM,ROM等を備えるコンピューターによって姿勢特定プログラムが実行されることによって実現される。コンピューターの態様は任意の態様であってよく、例えば、可搬型のコンピューター等によって構成可能である。姿勢特定プログラムが実行されると、コンピューターは3次元モデル表示部51、パラメーター入力部52、表示姿勢制御部53、カメラ姿勢取得部54として機能する。
なお、姿勢特定装置50には表示部55、入力部56およびロボット制御装置40が接続される。表示部55は、姿勢特定装置50が出力する制御信号に基づいて、任意の画像を表示可能なディスプレイである。入力部56は、キーボードやマウスなどの操作入力装置であり、姿勢特定装置50は、当該入力部56に対する利用者の操作によって各種の入力を受け付ける。姿勢特定装置50は、ロボット制御装置40に接続された状態で使用され、ロボット1に対するカメラ30の姿勢が定義されると、当該姿勢を示す座標系情報Icがロボット制御装置40に対して送信される。
3次元モデル表示部51は、仮想空間内におけるロボット1の3次元モデルとカメラ30の3次元モデルとを表示部55に表示させる機能である。本実施形態においては、実空間のロボット1及びカメラ30と同等の3次元モデルがCADデータ等によって予め構築され、図示しない記録媒体に記録されている。姿勢特定装置50は、3次元モデル表示部51の機能により、当該3次元モデルに基づいて、表示部55にロボット1とカメラ30とを表示する。
すなわち、ロボット1の3次元モデルは、仮想的に構成されたロボット座標系において描画可能であり、カメラ30の3次元モデルは、仮想的に構成されたカメラ座標系において描画可能である。姿勢特定装置50は、仮想的な直交座標系によって構成される仮想空間内に、原点および軸の向きをロボット座標系用のデフォルト値に設定して仮想的なロボット座標系を配置する。
そして、姿勢特定装置50は、当該仮想的なロボット座標系と仮想空間を規定する仮想的な直交座標系との関係に基づいて、仮想空間内でロボット1の3次元モデルを描画する。また、姿勢特定装置50は、仮想空間内に、原点および軸の向きをカメラ座標系用のデフォルト値に設定して仮想的なカメラ座標系を配置する。そして、姿勢特定装置50は、当該仮想的なカメラ座標系と仮想空間を規定する仮想的な直交座標系との関係に基づいて、仮想空間内でカメラ30の3次元モデルを描画する。3次元モデルの描画は種々の手法によって実施可能であり、例えば、姿勢特定装置50は、3次元形状をフレームやポリゴンによって描画し、3次元形状の外面にテクスチャを貼り付け、仮想的な視点から眺めた状態で視認されるテクスチャを表示部上に描画するなどの処理を実施する。なお、仮想空間を規定する直交座標系と仮想的なロボット座標系は一致していても良いし、異なっていてもよい。
図7は、当該3次元モデルの表示例を示す図であり、表示部55上のモデル表示部55aに、図1に示す実空間のロボット1の仮想空間内での3次元モデル100および実空間のカメラ30の仮想空間内での3次元モデル300が表示されている例を示している。なお、本実施形態においては、ロボット1の3次元モデル100に対して仮想的なロボット座標系の軸(x軸、y軸、z軸)が併記され、カメラ30の3次元モデル300に対して仮想的なカメラ座標系の軸(i軸、j軸、k軸)が併記されている。なお、仮想的なロボット座標系とロボット1の3次元モデル100との関係は、実空間におけるロボット座標系とロボット1との関係と一致する。仮想的なカメラ座標系とカメラ30の3次元モデル300との関係は、実空間におけるカメラ座標系とカメラ30との関係と一致する。
このように、本実施形態においては表示部55に、実空間のロボット1およびカメラ30を模した3次元モデルが表示され、利用者に対してカメラ30の姿勢を仮想的に特定するためのガイドを提供することができる。むろん、モデル表示部55aでの表示態様は種々の態様が採用されてよく、軸や軸に併記される文字(x、y等)が省略されても良いし、部品等が表示されても良い。さらに、実空間のロボット1の動作に連動してモデル表示部55aにおける3次元モデル100が変化し、実空間のロボット1の姿勢と同等の姿勢で3次元モデルが表示されても良い。
パラメーター入力部52は、カメラ30の姿勢に関するパラメーターの入力を受け付ける機能である。本実施形態において、姿勢特定装置50は、パラメーター入力部52の機能により、表示部55にカメラ30の姿勢を特定するためのパラメーター入力UI55bを表示させる。そして、姿勢特定装置50は、入力部56に対する利用者の操作を受け付け、パラメーター入力UI55bに対する数値の入力を受け付ける。
具体的には、パラメーター入力UI55bには、パラメーターの属性として位置X,Y,Zと姿勢U,V,Wの数値を入力可能である。位置X,Y,Zは、仮想的なロボット座標系(モデル表示部55a上のxyz座標系)の原点から仮想的なカメラ座標系(モデル表示部55a上のijk座標系)の原点への並進量をx,y,z軸方向のそれぞれについて示す値である。
姿勢U,V,Wは、仮想的なロボット座標系の各軸に対する仮想的なカメラ座標系の各軸の向きを示す値である。すなわち、仮想的なx軸,y軸,z軸のそれぞれと仮想的なi軸,j軸,k軸のそれぞれとが平行である状態を基準とし、カメラ座標系がz軸に対して回転している角度が姿勢Uであり、カメラ座標系がy軸に対して回転している角度が姿勢Vであり、カメラ座標系がx軸に対して回転している角度が姿勢Wである。なお、図7に示す位置や姿勢の数値は、モデル表示部55a上のカメラ座標系の位置および姿勢と必ずしも整合していない。
表示姿勢制御部53は、入力されたパラメーターに基づいて、表示部55に表示されたカメラ30の3次元モデルの姿勢を変化させる機能である。表示姿勢制御部53は、パラメーター入力UI55bに対して数値が入力されると、仮想的なロボット座標系の原点から位置X,Y,Zだけx,y,z軸方向に並進した位置に仮想的なカメラ座標系の原点を設定する。また、表示姿勢制御部53は、姿勢Uだけ軸i,j,kをz軸に対して回転させ、姿勢Vだけ軸i,j,kをy軸に対して回転させ、姿勢Wだけ軸i,j,kをx軸に対して回転させた向きに軸i,j,kの向きを設定する。
そして、姿勢特定装置50は、当該設定後の軸i,j,kの位置および向きに合わせて仮想空間内でカメラ30の3次元モデルを描画する(設定後の軸i,j,kがカメラ30の3次元モデルの軸となるようにカメラ30の3次元モデル300を描画する)。この結果、利用者はパラメーターの入力を繰り返すことにより、表示部55上でのカメラ30の姿勢を所望の姿勢になるように調整することができる。
カメラ姿勢取得部54は、表示部55に表示されたカメラ30の3次元モデルの姿勢に基づいて、ロボット1に対するカメラ30の姿勢を取得する機能である。入力部56によって、利用者が表示部に表示されたボタン55cを指示すると、姿勢特定装置50は、ボタン55cが指示された段階でパラメーター入力UI55bに入力されている位置X,Y,Zおよび姿勢U,V,Wを取得し、座標系情報Icを生成する。すなわち、実空間におけるロボット座標系の原点に対する各軸方向への並進量をX,Y,Zとし、実空間におけるロボット座標系の各軸に対するカメラ座標系の各軸の回転量をU,V,Wとした座標系情報Icを生成し、ロボット制御装置40に対して送信する。この結果、ロボット制御装置40においては、仮想空間内で定義されたロボット1に対するカメラ30の姿勢に基づいて、実空間内でのロボット1に対するカメラ30の姿勢を取得することになる。
以上の構成において、利用者は、ロボット制御装置40に接続された姿勢特定装置50を用いてロボット1に対するカメラの姿勢を定義することが可能である。従って、利用者は、ロボット制御装置40に接続された実空間のロボット1およびカメラ30と、表示部55上のロボット1およびカメラ30の3次元モデルとを比較しながらカメラ30の姿勢を調整することができる。そして、実空間におけるカメラ30の姿勢と仮想空間におけるカメラ30の姿勢とが、類似した姿勢になった段階で当該姿勢を採用することで、実空間のロボット1に対するカメラ30の姿勢を定義することができる。従って、実空間におけるキャリブレーションを行うことなくロボット1に対するカメラ30の姿勢を簡易に定義することができる。
(5)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、ロボット制御装置は、ロボットに内蔵されていても良いし、ロボットの設置場所と異なる場所、例えば外部のサーバ等に備えられていても良い。さらに、ロボット制御装置が複数のロボットを制御するように構成されていても良い。ロボット制御装置が複数の装置に分散して配置されていても良い。例えば、ロボット制御装置の一部がロボットに内蔵され、他の一部がロボットの外部のサーバ等に配置されていても良い。さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、ロボット制御装置は、ロボットに内蔵されていても良いし、ロボットの設置場所と異なる場所、例えば外部のサーバ等に備えられていても良い。さらに、ロボット制御装置が複数のロボットを制御するように構成されていても良い。ロボット制御装置が複数の装置に分散して配置されていても良い。例えば、ロボット制御装置の一部がロボットに内蔵され、他の一部がロボットの外部のサーバ等に配置されていても良い。さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。
ビジュアルサーボの例も上述の例に限定されず、種々の例を採用可能である。例えば、上述の例においては、2個の部品をカメラ30で撮影し、一方を他方に挿入する作業が行われたが、部品の挿入位置および姿勢が既知であれば、挿入位置がカメラ30で撮影されなくてもよい。また、カメラ30は一台であったが、複数台であっても良い。複数であれば、3軸方向の位置および姿勢をより正確に特定することが可能になる。
カメラの姿勢は、ビジュアルサーボにおいて対象物とロボットとの位置関係を制御できるように定義されていれば良く、少なくとも、ロボット座標系に対するカメラ座標系の向きによってカメラの姿勢が定義されている構成等を採用可能である。むろん、カメラ座標系の位置が定義されていても良いし、ロボット座標系とカメラ座標系との関係が間接的に規定されていても良い。なお、ロボット座標系は、例えば、ロボットに固定された座標系、カメラ座標系はカメラに固定された標系等によって構成可能であり、3軸直交座標系の他、極座標系や円筒座標系であっても良い。
ロボットは、ビジュアルサーボを行うことができればよく、任意の態様の可動部で対象物に関する作業を実施できれば良い。対象物は、ロボットの可動部の動作に連動して動作する物体であれば良く、エンドエフェクターによって把持された物体であっても良いし、エンドエフェクターが備えるツールの一部(TCP等)であっても良く、種々の物体が対象物となり得る。
可動部は、ロボットの設置位置に対して相対的に移動し、姿勢が変化するように構成されていれば良く、その自由度(可動軸の数等)は任意である。ロボットの態様は、種々の態様であって良く、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であって良い。むろん、軸の数やアームの数、エンドエフェクターの態様等は種々の態様を採用可能である。
カメラは、実空間において、カメラはロボットの一部や対象物を撮影できれば良く、固定的に配置されていても良いし、可動であっても良い。可動である場合、カメラの姿勢は変化し得るため、どのように変化し得るのか特定される。例えば、カメラがロボットのアームに取り付けられる場合、例えば、ロボット座標系に対するカメラ座標系の姿勢が特定されるなどして、ロボットのアームの位置や姿勢の変化に伴ってカメラの姿勢がどのように変化するのか特定される。むろん、この場合においてもロボットから見たカメラの姿勢に誤差が含まれていてもビジュアルサーボは高精度に実施可能である。
1…ロボット、10…アーム、20…エンドエフェクター、21…グリッパー、30…カメラ、30a…画像、40…ロボット制御装置、41…姿勢取得部、42…画像データ取得部、43…視覚制御部、50…姿勢特定装置、51…3次元モデル表示部、52…パラメーター入力部、53…表示姿勢制御部、54…カメラ姿勢取得部、55…表示部、55a…モデル表示部、55b…パラメーター入力UI、55c…ボタン、56…入力部
Claims (6)
- 仮想空間内で定義されたロボットに対するカメラの姿勢に基づいて、実空間における前記ロボットに対する前記カメラの姿勢を取得し、
前記カメラによって対象物を撮影した画像データと、前記カメラの姿勢とに基づいて、前記対象物と前記ロボットとの位置関係を制御するビジュアルサーボを行う、
ロボット制御装置。 - 前記カメラの姿勢は、
ロボット座標系に対する、カメラ座標系の向きである、
請求項1に記載のロボット制御装置。 - 前記対象物の位置を目標位置に近づけるための前記ロボットの目標位置を前記カメラの姿勢に基づいて取得し、前記ロボットを目標位置に移動させる制御を繰り返す、
請求項1または請求項2のいずれかに記載のロボット制御装置。 - 請求項1〜請求項3のいずれかに記載されたロボット制御装置によって制御されるロボット。
- 請求項1〜請求項3のいずれかに記載されたロボット制御装置と、前記ロボット制御装置によって制御される前記ロボットとを備えるロボットシステム。
- 仮想空間内におけるロボットの3次元モデルとカメラの3次元モデルとを表示部に表示させ、
前記カメラの姿勢に関するパラメーターの入力を受け付け、
入力された前記パラメーターに基づいて、前記表示部に表示された前記カメラの3次元モデルの姿勢を変化させ、
前記表示部に表示された前記カメラの3次元モデルの姿勢に基づいて、前記ロボットに対する前記カメラの姿勢を取得する、
姿勢特定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016186596A JP2018051634A (ja) | 2016-09-26 | 2016-09-26 | ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016186596A JP2018051634A (ja) | 2016-09-26 | 2016-09-26 | ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018051634A true JP2018051634A (ja) | 2018-04-05 |
Family
ID=61833341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016186596A Pending JP2018051634A (ja) | 2016-09-26 | 2016-09-26 | ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018051634A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108858202A (zh) * | 2018-08-16 | 2018-11-23 | 中国科学院自动化研究所 | 基于“对准-趋近-抓取”的零件抓取装置的控制方法 |
CN109129485A (zh) * | 2018-09-18 | 2019-01-04 | 灵动科技(北京)有限公司 | 机械手臂目标获取装置和操作方法 |
CN110259067A (zh) * | 2019-06-11 | 2019-09-20 | 清华大学 | 机器人的瓷砖铺设位置识别方法和系统 |
CN111899629A (zh) * | 2020-08-04 | 2020-11-06 | 菲尼克斯(南京)智能制造技术工程有限公司 | 柔性机器人教学系统和方法 |
JP2021010994A (ja) * | 2019-07-09 | 2021-02-04 | 株式会社日立製作所 | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 |
-
2016
- 2016-09-26 JP JP2016186596A patent/JP2018051634A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108858202A (zh) * | 2018-08-16 | 2018-11-23 | 中国科学院自动化研究所 | 基于“对准-趋近-抓取”的零件抓取装置的控制方法 |
CN108858202B (zh) * | 2018-08-16 | 2020-11-10 | 中国科学院自动化研究所 | 基于“对准-趋近-抓取”的零件抓取装置的控制方法 |
CN109129485A (zh) * | 2018-09-18 | 2019-01-04 | 灵动科技(北京)有限公司 | 机械手臂目标获取装置和操作方法 |
CN110259067A (zh) * | 2019-06-11 | 2019-09-20 | 清华大学 | 机器人的瓷砖铺设位置识别方法和系统 |
JP2021010994A (ja) * | 2019-07-09 | 2021-02-04 | 株式会社日立製作所 | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 |
JP7249221B2 (ja) | 2019-07-09 | 2023-03-30 | 株式会社日立製作所 | センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法 |
CN111899629A (zh) * | 2020-08-04 | 2020-11-06 | 菲尼克斯(南京)智能制造技术工程有限公司 | 柔性机器人教学系统和方法 |
CN111899629B (zh) * | 2020-08-04 | 2022-06-10 | 菲尼克斯(南京)智能制造技术工程有限公司 | 柔性机器人教学系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108453701B (zh) | 控制机器人的方法、示教机器人的方法和机器人系统 | |
US11247340B2 (en) | Method and apparatus of non-contact tool center point calibration for a mechanical arm, and a mechanical arm system with said calibration function | |
JP2018051634A (ja) | ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置 | |
US9517563B2 (en) | Robot system using visual feedback | |
JP3946711B2 (ja) | ロボットシステム | |
JP6180086B2 (ja) | 情報処理装置及び情報処理方法 | |
JP4021413B2 (ja) | 計測装置 | |
JP6429473B2 (ja) | ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体 | |
JP4167954B2 (ja) | ロボット及びロボット移動方法 | |
US9884425B2 (en) | Robot, robot control device, and robotic system | |
JP5471355B2 (ja) | 3次元視覚センサ | |
JP5670416B2 (ja) | ロボットシステム表示装置 | |
JP2018167334A (ja) | 教示装置および教示方法 | |
JP2005300230A (ja) | 計測装置 | |
JP2009269110A (ja) | 組立装置 | |
JP2016000442A (ja) | ロボット、ロボットシステム及び制御装置 | |
JP6885856B2 (ja) | ロボットシステムおよびキャリブレーション方法 | |
JP2019069493A (ja) | ロボットシステム | |
EP3315269A2 (en) | Force control coordinate axis setting device, robot, and force control coordinate axis setting method | |
JP2006026790A (ja) | 教示モデル生成装置 | |
Nandikolla et al. | Teleoperation robot control of a hybrid eeg-based bci arm manipulator using ros | |
JP2019077026A (ja) | 制御装置、ロボットシステム、制御装置の動作方法及びプログラム | |
WO2022092168A1 (ja) | ロボット制御装置及びロボットシステム | |
CN115397634A (zh) | 取得机器人的控制坐标系中的视觉传感器的位置的装置、机器人系统、方法以及计算机程序 | |
Niu et al. | Eye-in-hand manipulation for remote handling: Experimental setup |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20180907 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181120 |