(57)【要約】【課題】グリッパハンドとカメラとの位置関係を維持し、障害物付近の作業性の低い領域でもカメラと障害物との衝突を回避して作業することができるロボットアームの制御方法を提供する。【解決手段】各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２の動作でグリッパハンド２が移動する予定のハンド移動予定位置と、各リンク及びグリッパハンド２の動作でカメラ３が移動する予定のカメラ移動予定位置とを計算する。次に、作業台７の平面と平行な平面を基準面とし、カメラ移動予定位置が基準面を境に作業台７が配置されている側の空間領域に含まれるか否かを判断する。カメラ移動予定位置が上記空間領域に含まれると判断された場合、カメラ移動予定位置が上記空間領域から外れるようにグリッパハンド２の回転方向とは反対方向に３６０／Ｎ度単位でカメラ３の回転角度を設定することでカメラ移動予定位置を変更する。【選択図】図１
2011056646.tif 000002
【特許請求の範囲】
【請求項１】
揺動可能に連結された複数のリンクと、前記複数のリンクのうち、先端に配設された先端リンクに回転可能に設けられ、Ｎ回（Ｎは２以上の整数）の回転対称性を有するＮ本の把持指で把持対象物を把持するグリッパハンドと、を備え、前記グリッパハンドの回転中心線と同心の回転中心線を中心に回転可能な回転体から径方向に突出する支持体に前記グリッパハンドを撮像するカメラが支持され、前記グリッパハンドを回転駆動することにより前記カメラを前記グリッパハンドと一体に回転させると共に、前記回転体を回転駆動することにより前記カメラを前記グリッパハンドと独立して回転させるロボットアームの制御方法において、
前記各リンクの動作で前記グリッパハンドが移動する予定のハンド移動予定位置と、前記各リンク及び前記グリッパハンドの動作で前記カメラが移動する予定のカメラ移動予定位置とを計算する予定位置計算工程と、
障害物の平面と平行な平面を基準面とし、前記カメラ移動予定位置が前記基準面を境に前記障害物が配置されている側の空間領域に含まれるか否かを判断する判断工程と、
前記判断工程により前記カメラ移動予定位置が前記空間領域に含まれると判断された場合、前記カメラ移動予定位置が前記空間領域から外れるように前記グリッパハンドの回転方向とは反対方向に３６０／Ｎ度単位で前記カメラの回転角度を設定することで前記カメラ移動予定位置を変更する変更工程と、
を備えたことを特徴とするロボットアームの制御方法。
【請求項２】
前記基準面は、前記ハンド移動予定位置に移動したとする前記グリッパハンドの回転中心線上の所定の一点を含む平面であることを特徴とする請求項１に記載のロボットアームの制御方法。
【請求項３】
前記グリッパハンドを前記ハンド移動予定位置に移動させると共に、前記カメラを前記カメラ移動予定位置に移動させる移動工程を備え、
前記移動工程では、前記グリッパハンドの回転動作と前記カメラの回転動作とを並行して実施することを特徴とする請求項１又は２に記載のロボットアームの制御方法。
【請求項４】
前記移動工程では、前記グリッパハンドの回転動作と前記カメラの回転動作との終了タイミングが同時となるように、開始タイミングを調整することを特徴とする請求項３に記載のロボットアームの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラとグリッパハンドとの相対的な位置関係を一定に維持するロボットアームの制御方法に関するものである。
【背景技術】
【０００２】
産業用に用いられるロボットアームにおいては、作業台上の作業平面内で位置決めされずに置かれている部品などを把持する際に、カメラ及び画像処理装置を用いて、ロボットアームの先端リンクに設けられたグリッパハンドの位置補正が行われている。そして、グリッパハンドにカメラを固定して、カメラがグリッパハンドに対して相対的に移動しないようにすることが知られている（特許文献１参照）。グリッパハンドとカメラの位置関係を一定とすることで、グリッパハンドの把持中心位置がカメラで撮像された画像上で一定となり、画像上の把持対象物の位置から、位置補正の補正量を簡易に求めることができる。
【０００３】
この種のロボットアームに設けられるグリッパハンドは、Ｎ回（Ｎは２以上の整数）の回転対称性を有するＮ本の把持指を備えたものが知られている。特許文献１に記載のグリッパハンドは、１８０度回転すると同一形状となる２回の回転対称性を持つ。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６１−１８２７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のロボットアームのグリッパハンドは、カメラに比べて大きかったため、ロボットアームを作業台付近などの作業性の低い領域で動作させたとき、作業台等の障害物にグリッパハンドが衝突する可能性はあったが、カメラの衝突が問題となることはなかった。
【０００６】
しかし、グリッパハンドの小型化が進んだ結果、ロボットアームの太さよりも細いグリッパハンドが用いられるようになったため、カメラが先端リンクから突出することとなり、カメラと障害物との衝突が問題となっていた。特に最近では、カメラの視野角を確保するために、カメラがグリッパハンドから離れて取り付けられており、その結果、先端リンクの太さと同程度の距離でカメラが先端リンクから突出しているものもあった。
【０００７】
そこで、本発明は、カメラが障害物に衝突するのを回避して作業をすることができるロボットアームの制御方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、揺動可能に連結された複数のリンクと、前記複数のリンクのうち、先端に配設された先端リンクに回転可能に設けられ、Ｎ回（Ｎは２以上の整数）の回転対称性を有するＮ本の把持指で把持対象物を把持するグリッパハンドと、を備え、前記グリッパハンドの回転中心線と同心の回転中心線を中心に回転可能な回転体から径方向に突出する支持体に前記グリッパハンドを撮像するカメラが支持され、前記グリッパハンドを回転駆動することにより前記カメラを前記グリッパハンドと一体に回転させると共に、前記回転体を回転駆動することにより前記カメラを前記グリッパハンドと独立して回転させるロボットアームの制御方法において、前記各リンクの動作で前記グリッパハンドが移動する予定のハンド移動予定位置と、前記各リンク及び前記グリッパハンドの動作で前記カメラが移動する予定のカメラ移動予定位置とを計算する予定位置計算工程と、障害物の平面と平行な平面を基準面とし、前記カメラ移動予定位置が前記基準面を境に前記障害物が配置されている側の空間領域に含まれるか否かを判断する判断工程と、前記判断工程により前記カメラ移動予定位置が前記空間領域に含まれると判断された場合、前記カメラ移動予定位置が前記空間領域から外れるように前記グリッパハンドの回転方向とは反対方向に３６０／Ｎ度単位で前記カメラの回転角度を設定することで前記カメラ移動予定位置を変更する変更工程と、を備えたことを特徴とするものである。
【発明の効果】
【０００９】
本発明によれば、基準面を挟んで障害物側の空間領域とは反対側の空間領域にカメラが移動するので、カメラが障害物に衝突するのを回避することができる。また、カメラは、Ｎ回の回転対称性を持つグリッパハンドに対して３６０／Ｎ度単位で回転するので、カメラで撮像されるグリッパハンドの位置が同一とみなすことができる位置に移動することとなり、グリッパハンドとの位置関係を維持することができる。したがって、障害物付近の作業性の低い領域でもカメラが障害物に衝突するのを回避して作業をすることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態に係るロボットアームの概略構成を示す説明図であり、（ａ）は、ロボットアームの斜視図、（ｂ）は、ロボットアームの概要図である。
【図２】本発明の第１実施形態の制御装置によるロボットアームの各モータの制御動作を示すフローチャートである。
【図３】カメラ移動予定位置に移動したとするカメラの状態を示す説明図であり、（ａ）は、カメラ移動予定位置を変更しない場合の図、（ｂ）は、カメラ移動予定位置を変更した場合の図である。
【図４】本発明の第２実施形態に係るロボットアームの概略構成を示す説明図である。
【図５】カメラ移動予定位置に移動したとするカメラの状態を示す説明図であり、（ａ）は、カメラ移動予定位置を変更しない場合の図、（ｂ）は、カメラ移動予定位置を変更した場合の図である。
【図６】本発明の第３実施形態に係るロボットアームの概略構成を示す説明図である。
【図７】本発明の第３実施形態の制御装置によるロボットアームの各モータの制御動作を示すフローチャートである。
【図８】カメラ移動予定位置に移動したとするカメラの状態を示す説明図であり、（ａ）は、カメラ移動予定位置を変更しない場合の図、（ｂ）は、カメラ移動予定位置を変更した場合の図である。
【図９】本発明の第５実施形態の制御装置によるロボットアームの各モータの制御動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
［第１実施形態］
以下、本発明を実施するための形態を図面を参照しながら詳細に説明する。図１（ａ）に示すように、ロボットアーム１は、障害物となる作業台７に固定されたベース１１Ａを備えている。作業台７は、水平面とする作業平面７ａを有する。ロボットアーム１は、ベース１１Ａに揺動及び旋回可能に支持された第１の軸間リンク１１Ｂと、第１の軸間リンク１１Ｂに揺動可能に支持された第２の軸間リンク１１Ｃと、を備えている。また、ロボットアーム１は、第２の軸間リンク１１Ｃに旋回可能に支持された第３の軸間リンク１１Ｄと、第３の軸間リンク１１Ｄに揺動可能に支持された先端リンク１２と、を備えている。先端リンク１２は、複数のリンクのうち、先端に配設されたリンクである。これら複数のリンク１１Ｂ，１１Ｃ，１１Ｄ，１２が関節部１ａで連結されている。
【００１２】
ロボットアーム１は、Ｎ回（Ｎは２以上の整数）の回転対称性を有するＮ本の把持指で把持対象物４を把持するグリッパハンド２を備えている。本第１実施形態では、グリッパハンド２は、２回の回転対称性を有する２本の把持指２ａ，２ｂと、把持指２ａ，２ｂが取り付けられた把持指取り付け面２ｃと、を有している。先端リンク１２には、グリッパハンド２が先端リンク１２に対して回転可能に設けられている。グリッパハンド２は、不図示のハンド開閉モータによって把持指２ａ，２ｂが平行に接離動作して作業台７上に置かれた物体である把持対象物４を把持する。
【００１３】
また、ロボットアーム１は、グリッパハンド２を撮像するカメラ３を備えている。ロボットアーム１は、先端リンク１２とグリッパハンド２の間に配置され、グリッパハンド２の回転中心線と同心の回転中心線を中心に回転可能な回転体としてのカメラ軸回転体３ｂを備えている。そして、カメラ軸回転体３ｂには、カメラ軸回転体３ｂから回転中心線に直交する径方向に突出する支持体としてのブラケット３ａが設けられ、カメラ３は、ブラケット３ａに取り付けられて支持されている。つまり、カメラ３は、先端リンク１２において、回転中心線と直交する径方向に突出して設けられているので、光軸がグリッパハンド２の把持位置の中央を通るように配置され、カメラ３の視野角が確保され、グリッパハンド２を良好に撮像することができる。なお、カメラ３は、グリッパハンド２にカメラ軸回転体３ｂを介さずに取り付けられている。
【００１４】
また、ロボットアーム１は、図１（ｂ）に示すように、グリッパハンド２を回転駆動するハンド回転駆動モータ１２ａと、カメラ軸回転体３ｂを回転駆動してカメラ３を回転させるカメラ回転駆動モータ３ｃと、を備えている。さらに、ロボットアーム１は、各関節部１ａ等に設けられ、各軸間リンクを駆動する複数のモータ１ｂを備えている。先端リンク１２には、ハンド回転駆動モータ１２ａ及びカメラ回転駆動モータ３ｃが内蔵されており、ハンド回転駆動モータ１２ａから延びるハンド回転軸１２ｂに、グリッパハンド２が連結されている。
【００１５】
グリッパハンド２は、ハンド回転駆動モータ１２ａの駆動により、回転中心軸を中心として回転（自転）する。これに対し、カメラ３は、ハンド回転駆動モータ１２ａの駆動により、グリッパハンド２の回転中心線を中心にグリッパハンド２と一体に回転されるので、グリッパハンド２に対して相対的に回転しない。そして、カメラ３は、ブラケット３ａを介してカメラ軸回転体３ｂに接続され、先端リンク１２から突出しているので、ハンド回転駆動モータ１２ａの駆動により回転中心線を中心にグリッパハンド２と一体に回転（公転）する。このように、ハンド回転駆動モータ１２ａを動作させることで、グリッパハンド２、カメラ軸回転体３ｂ、ブラケット３ａ及びカメラ３が一体となって同時に回転する。したがって、グリッパハンド２とカメラ３との位置関係が一定となるので、グリッパハンド２の把持位置がカメラ３で撮像した画像上で一定となる。
【００１６】
一方、カメラ回転駆動モータ３ｃは、カメラ軸回転体３ｂに連結され、カメラ軸回転体３ｂを回転駆動してカメラ３を回転させるが、グリッパハンド２には連結されていない。したがって、カメラ回転駆動モータ３ｃを動作させると、カメラ３はグリッパハンド２と独立してグリッパハンド２に対して相対的にグリッパハンド２の周囲を回転（公転）する。
【００１７】
次に、カメラ３は、不図示のレンズ及びＣＣＤ等のセンサを有し、撮像した画像データを画像処理装置５に出力するものである。このカメラ３には、画像処理装置５がロボットアーム１の内部に配設された信号線で接続されている。また、画像処理装置５には、制御装置６が信号線で接続されている。
【００１８】
画像処理装置５は、ロボットアーム１の内部を通る信号線を介してカメラ３で撮像された画像を取得する。そして、画像処理装置５は、内部のメモリに保持された処理手順を示す処理プログラムに従って画像処理を行い、ロボットアーム１の位置補正量を求める。このとき、グリッパハンド２とカメラ３とをハンド回転駆動モータ１２ａにより一体に回転させることで、グリッパハンド２の把持位置がカメラ３で撮像した画像上で一定となり、画像上の把持対象物４の位置から、位置補正の補正量を簡易に求めることができる。そして、このようにして求めた位置補正量のデータを制御装置６に信号線を通して送信する。
【００１９】
制御装置６は、内部のメモリに保持された制御プログラムに従い、メモリに保持された動作手順列（複数の動作手順）と取得した位置補正量に基づいてロボットアーム１のハンド回転駆動モータ１２ａ及びカメラ回転駆動モータ３ｃを含む各モータの制御を行う。一つの動作手順は、教示操作の際に指定したロボットアーム１のある第一の時点の姿勢（移動目標位置）から、第二の時点の姿勢に対応する。第一の時点と第二の時点の間の姿勢は制御装置６によって自動的に決定される。複数の動作手順を連続して処理することで、ロボットアーム１を動作させる。また、動作手順には、画像処理装置５による移動目標位置を補正するか否かを示す補正有無フラグと、補正ありの場合の画像処理装置５に対する指令パラメータが含まれている。
【００２０】
図２は、制御装置６によるロボットアーム１の各モータの制御動作を示すフローチャートである。制御装置６は、一連の移動処理を開始する（ステップＳ１）が、まず、メモリに保持された複数の動作手順から一つの動作手順を読み出す（ステップＳ２）。
【００２１】
次に、制御装置６は、読み出した動作手順に対応するグリッパハンド２の移動目標位置に基づき、カメラ回転駆動モータ３ｃ以外の各モータの目標とする回転角度を計算する（ステップＳ３）。ここで、各関節軸の角度とリンク長からグリッパハンド２の座標や、途中のリンクの位置・姿勢を求める計算方法を順運動学という。また、その逆にある位置・姿勢にグリッパハンド２を合わせるための各関節軸の角度を求める計算方法のことを逆運動学という。本第１実施形態では、ステップＳ３において、カメラ回転駆動モータ３ｃによるカメラ３の回転角度を０度とした状態で逆運動学の計算を行う。
【００２２】
次に、制御装置６は、読み出した動作手順に含まれている補正有無フラグにより、補正有り無しを判断する（ステップＳ４）。すなわち、グリッパハンド２の目標移動位置を補正するか否かを判断する。
【００２３】
次に、制御装置６は、動作手順の補正有無フラグが補正有りを示している場合（ステップＳ４：Ｙｅｓ）、画像処理結果を取得する（ステップＳ５）。すなわち、制御装置６は、位置補正量のデータの送信を要求する指令パラメータを画像処理装置５に送信して画像処理装置５から位置補正量のデータを取得する。制御装置６は、受信した位置補正量のデータに基づき、ステップＳ３で求めた各モータの目標とする回転角度を補正し、新たな回転角度に設定する（ステップＳ６）。
【００２４】
制御装置６は、動作手順に従う各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２の動作でグリッパハンド２が移動する予定のハンド移動予定位置を計算する。また、制御装置６は、動作手順に従う各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２及びグリッパハンド２の動作でカメラ３が移動する予定のカメラ移動予定位置を計算する（ステップＳ７：予定位置計算工程）。
【００２５】
各モータを回転動作させた後に移動する予定のグリッパハンド２のハンド移動予定位置は順運動学により計算することができる。また、カメラ３のカメラ移動予定位置についても、ロボットアームの関節数が一つ多くなったものとして順運動学を適用することにより計算することができる。この際、カメラ３は、計算の簡略化のため、カメラ３の形状全てではなく、１点の代表点の座標についてのみ計算する。本第１実施形態では、カメラ３の不図示のレンズの光軸と不図示のセンサのセンサ面の交わる１点を代表点とする。
【００２６】
次に、制御装置６は、グリッパハンド２のハンド移動予定位置及びカメラ３のカメラ移動予定位置に基づき、カメラ３が作業台７に衝突する可能性があるか否かを判断する（ステップＳ８：判断工程）。このステップＳ８について詳細に説明する。まず、制御装置６は、図３（ａ），（ｂ）に示すように、ハンド移動予定位置に移動したとするグリッパハンド２の回転中心線上の所定の一点Ｐを含み、作業台７の作業平面７ａに対して平行な平面を基準面Ｈに設定する。具体的には、ハンド移動予定位置に移動したとするグリッパハンド２の回転中心線に対して、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑから垂直に下ろした点Ｐを含み、作業台７の作業平面７ａに対して平行な平面を基準面Ｈに設定する。つまり、制御装置６は、基準面Ｈの座標を演算により求める。ここで、基準面Ｈで分割される２つの空間領域Ｒ１，Ｒ２のうち、作業台７は必ず一方の空間領域Ｒ１だけに含まれる。したがって、制御装置６は、ステップＳ８として、基準面Ｈを境に分割された２つの空間領域Ｒ１，Ｒ２のうち、作業台７が配置されている側の一方の空間領域Ｒ１に、カメラ３（代表点Ｑ）のカメラ移動予定位置が含まれるか否かを判断する。
【００２７】
なお、基準面Ｈは、ハンド移動予定位置に移動したとするグリッパハンド２の回転中心線上の一点Ｐに対応して設定されるので、グリッパハンド２が作業台７から十分に離間している場合もある。このような場合、カメラ３は実際には作業台７に衝突しないこともあるが、次の動作手順でグリッパハンド２を作業台７に近づけるとすると、カメラ３が作業台７に衝突することもあり得る。したがって、本第１実施形態では、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑが空間領域Ｒ１にある場合には、カメラ３が作業台７に衝突する可能性があると判断する。ここで、２つの空間領域Ｒ１，Ｒ２の境界にカメラ３の代表点Ｑがある場合には、カメラ移動予定位置が空間領域Ｒ１に含まれない、つまり、カメラ３が作業台７に衝突する可能性がないと判断する。
【００２８】
制御装置６は、カメラ３が作業台７に衝突する可能性があると判断した場合（ステップＳ８：Ｙｅｓ）、グリッパハンド２の回転方向と反対方向にカメラ３が回転して、カメラ移動予定位置が空間領域Ｒ２に移るように変更する（ステップＳ９：変更工程）。つまり、制御装置６は、カメラ移動予定位置が空間領域Ｒ１から外れるようにグリッパハンド２の回転方向とは反対方向に３６０／Ｎ度単位でカメラ３の回転角度を設定することでカメラ移動予定位置を変更する。ここで、カメラ移動予定位置が空間領域Ｒ１から外れるとは、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑが空間領域Ｒ１から外れることを意味する。本第１実施形態では、グリッパハンド２が２回の回転対称性を持ち、Ｎ＝２であるので、カメラ３の回転角度を１８０度に設定する。これにより、図３（ｂ）に示すように、カメラ３が作業台７の作業平面７ａに衝突する可能性のある破線で示すカメラ移動予定位置から、カメラ３の回転角度を１８０度とした実線で示すカメラ移動予定位置に変更される。
【００２９】
次に、制御装置６は、ステップＳ３からステップＳ９で決定した各モータの回転角度に基づいて各モータの回転速度及び回転動作の開始タイミングを決定し、実際に各モータを動作させる。（ステップＳ１０：移動工程）。つまり、制御装置６は、各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２を動作させてグリッパハンド２をハンド移動予定位置に移動させると共に、カメラ３をカメラ移動予定位置に移動させる。ここで、制御装置６は、各モータ１ｂ，１２を動作させた後、つまり、グリッパハンド２をハンド移動予定位置に移動させて回転動作させた後、カメラ回転駆動モータ３ｃを動作させ、カメラ３をカメラ移動予定位置に移動させる。
【００３０】
なお、制御装置６は、ステップＳ８において、カメラ３が作業台７に衝突する可能性がないと判断した場合（ステップＳ８：Ｎｏ）、つまり、図３（ａ）に示すように、空間領域Ｒ２にカメラ移動予定位置が含まれる場合、ステップＳ１０の処理に移行する。
【００３１】
以上、本第１実施形態では、ステップＳ９においてカメラ移動予定位置が空間領域Ｒ２に移動するように変更されるので、カメラ３が作業台７に衝突するのを回避することができる。また、基準面Ｈを、ハンド移動予定位置に移動したとするグリッパハンド２の回転中心線上の所定の一点Ｐを含む平面としたので、基準面Ｈは、グリッパハンド２のハンド移動予定位置に応じて異なる座標となる。そして、作業台７とグリッパハンド２とが十分に離れている場合、カメラ移動予定位置が空間領域Ｒ１に含まれていても、実際には、カメラ３が作業台７に衝突しない場合もあるが、次の移動手順でグリッパハンド２を作業台７に近づける動作を行うこともある。このような場合、上記制御動作により、カメラ３は既に空間領域Ｒ２に移動しているので、カメラ３が作業台７に衝突するのを回避することができる。
【００３２】
また、カメラ３は、２回対称の回転対称性を持つグリッパハンド２に対して１８０度で回転するので、カメラ３で撮像されるグリッパハンド２の位置が同一とみなすことができる位置に移動することとなり、グリッパハンド２との位置関係を維持することができる。したがって、作業台７付近の作業性の低い領域でもカメラ３が作業台７に衝突するのを回避して作業をすることができる。
【００３３】
［第２実施形態］
上記第１実施形態では、ロボットアーム１が２本の把持指２ａ，２ｂを有するグリッパハンド２を備える場合について説明したが、本第２実施形態では、グリッパハンドが３本の把持指を有する場合について説明する。図４に、第２実施形態のロボットアームの概略構成を示しているが、上記第１実施形態と同様の構成については、同一符号を付して説明を省略する。本第２実施形態のロボットアーム１Ａのベース１１Ａは、垂直な壁面Ｗに固定されている。把持対象物２１は、障害物となる作業台２２の側面に、一部が外部に突出状態で格納されている。この場合、作業台２２の側面が、衝突を考慮する作業平面２２ａである。本第２実施形態のロボットアーム１Ａは、グリッパハンド２０を備えている。先端リンク１２には、グリッパハンド２０が先端リンク１２に対して回転可能に設けられている。本第２実施形態では、グリッパハンド２０は、３回の回転対称性を有する３本の把持指２０ａ，２０ｂ，２０ｃと、把持指２０ａ，２０ｂ，２０ｃが取り付けられた把持指取り付け面２０ｄと、を有している。
【００３４】
ところで、図５には、ハンド移動予定位置に移動したとするグリッパハンド２０と、カメラ移動予定位置に移動したとするカメラ３とが図示されているが、図５（ａ）では、カメラ３の代表点Ｑが空間領域Ｒ１と空間領域Ｒ２との境界にある。したがって、本第２実施形態でも、カメラ移動予定位置が空間領域Ｒ１に含まれない、つまり、カメラ３が作業台２２に衝突する可能性がないと判断する。
【００３５】
これに対し、グリッパハンド２０を反時計方向に６０度回転させた図５（ｂ）のカメラ移動予定位置ではカメラ３と作業台２２が衝突する可能性がある。図５（ｂ）の状態では、カメラ３は作業台２２に衝突しないが、次の移動手順でグリッパハンド２０を作業台２２に近づける可能性がある。したがって、実際に衝突しない場合であっても、制御装置６は、カメラ移動予定位置が空間領域Ｒ１に含まれる場合は、カメラ移動予定位置を変更する。
【００３６】
ここで、制御装置６の処理は、上記第１実施形態と略同様であるが、図２中、ステップＳ９の処理が異なる。制御装置６は、カメラ移動予定位置が空間領域Ｒ１から外れるようにグリッパハンド２０の回転方向とは反対方向に３６０／Ｎ度単位でカメラ３の回転角度を設定することでカメラ移動予定位置を変更する。ここで、カメラ移動予定位置が空間領域Ｒ１から外れるとは、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑが空間領域Ｒ１から外れることを意味する。本第２実施形態では、グリッパハンド２０が３回の回転対称性を持ち、Ｎ＝３であるので、カメラ３の回転角度を１２０度に設定する。これにより、図５（ｂ）に示すように、カメラ３が作業台２２の作業平面２２ａに衝突する可能性のある破線で示すカメラ移動予定位置から、カメラ３の回転角度を１２０度とした実線で示すカメラ移動予定位置に変更される。
【００３７】
以上、本第２実施形態では、ステップＳ９においてカメラ移動予定位置が空間領域Ｒ２に移動するように変更されるので、カメラ３は空間領域Ｒ２に移動するよう制御されることとなるので、カメラ３が作業台２２に衝突するのを回避することができる。
【００３８】
また、基準面Ｈを、ハンド移動予定位置に移動したとするグリッパハンド２０の回転中心線上の所定の一点Ｐを含む平面としたので、基準面Ｈは、グリッパハンド２０のハンド移動予定位置に応じて異なる座標となる。そして、カメラ移動予定位置が空間領域Ｒ１に含まれていても、実際には、カメラ３が作業台２２に衝突しない場合もあるが、次の移動手順でグリッパハンド２０を作業台２２に近づける動作を行うこともある。このような場合、上記制御動作により、カメラ３は既に空間領域Ｒ２に移動しているので、カメラ３が作業台２２に衝突するのを回避することができる。
【００３９】
また、カメラ３は３回の回転対称性を持つグリッパハンド２０に対して１２０度で回転するので、カメラ３で撮像されるグリッパハンド２０の位置が同一とみなすことができる位置に移動することとなり、グリッパハンド２０との位置関係を維持することができる。したがって、作業台２２付近の作業性の低い領域でもカメラ３が作業台２２に衝突するのを回避して作業をすることができる。
【００４０】
［第３実施形態］
本第３実施形態では、グリッパハンドが５本の把持指を有する場合について説明する。なお、上記第１，第２実施形態と同様の構成については、同一符号を付して説明を省略する。図６に示すように、本第３実施形態のロボットアーム１Ｂは、グリッパハンド２３を備えている。先端リンク１２には、グリッパハンド２３が先端リンク１２に対して回転可能に設けられている。本第３実施形態では、グリッパハンド２３は、５回の回転対称性を有する５本の把持指２３ａ，２３ｂ，２３ｃ，２３ｄ，２３ｅと、把持指が取り付けられた把持指取り付け面２３ｆと、を有している。
【００４１】
本第３実施形態では、ロボットアーム１Ｂのベース１１Ａは、第１の障害物となる作業台７に固定され、グリッパハンド２３で把持対象物２５を把持するものである。把持対象物２５の近傍には、カメラ３が衝突し得る距離に第２の障害物となる障害物２４が作業台７の上面である作業平面７ａに取り付けられている。そして、障害物２４は、作業平面７ａに対して垂直な平面２４ａを有する。そのため、本第３実施形態では、作業台７と障害物２４の両方を対象としてカメラ３との衝突可能性の判定を行う必要がある。
【００４２】
図７は制御装置６によるロボットアーム１Ｂの各モータの制御動作を示すフローチャートである。以下に示すステップＳ３１〜Ｓ３６の処理は、上記第１実施形態の図２のステップＳ１〜Ｓ６と略同様であるので、以下、ステップＳ３１〜Ｓ３６については、簡略して説明する。制御装置６は、一連の移動処理を開始する（ステップＳ３１）が、まず、メモリに保持された複数の動作手順から一つの動作手順を読み出す（ステップＳ３２）。次に、制御装置６は、読み出した動作手順に対応するグリッパハンド２３の移動目標位置に基づき、カメラ回転駆動モータ３ｃ以外の各モータの目標とする回転角度を計算する（ステップＳ３３）。次に、制御装置６は、読み出した動作手順の補正有無フラグにより、補正有り無しを判断する（ステップＳ３４）。次に、制御装置６は、補正有無フラグが補正有りを示している場合（ステップＳ３４：Ｙｅｓ）、画像処理結果を取得する（ステップＳ３５）。すなわち、制御装置６は、位置補正量のデータの送信を要求する指令パラメータを画像処理装置５に送信して画像処理装置５から位置補正量のデータを取得する。制御装置６は、受信した位置補正量のデータに基づき、ステップＳ３３で求めた各モータの目標とする回転角度を補正し、新たな回転角度に設定する（ステップＳ３６）。
【００４３】
次に、制御装置６は、動作手順に従う各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２の動作でグリッパハンド２３が移動する予定のハンド移動予定位置を計算する。また、制御装置６は、動作手順に従う各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２及びグリッパハンド２３の動作でカメラ３が移動する予定のカメラ移動予定位置を計算する（ステップＳ３７：予定位置計算工程）。
【００４４】
各モータを回転動作させた後に移動する予定のグリッパハンド２３のハンド移動予定位置は順運動学により計算することができる。また、カメラ３のカメラ移動予定位置についても、ロボットアームの関節数が一つ多くなったものとして順運動学を適用することにより計算することができる。この際、カメラ３は、計算の簡略化のため、カメラ３の形状全てではなく、１点の代表点の座標についてのみ計算する。本第３実施形態では、カメラ３の不図示のレンズの光軸と不図示のセンサのセンサ面の交わる１点を代表点とする。
【００４５】
次に、制御装置６は、グリッパハンド２３のハンド移動予定位置及びカメラ３のカメラ移動予定位置に基づき、カメラ３が作業台７又は障害物２４に衝突する可能性があるか否かを判断する（ステップＳ３８：判断工程）。このステップＳ３８について詳細に説明する。まず、制御装置６は、図８（ａ），（ｂ）に示すように、ハンド移動予定位置に移動したとするグリッパハンド２３の回転中心線上の所定の一点Ｐを含み、作業台７の作業平面７ａに対して平行な平面を基準面Ｈ１に設定する。同様に、制御装置６は、ハンド移動予定位置に移動したとするグリッパハンド２３の回転中心線上の所定の一点Ｐを含み、障害物２４の平面２４ａに対して平行な平面を基準面Ｈ２に設定する。具体的には、ハンド移動予定位置に移動したとするグリッパハンド２３の回転中心線に対して、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑから垂直に下ろした点Ｐを含み、平面７ａ，２４ａに対して平行な平面を基準面Ｈ１，Ｈ２に設定する。つまり、制御装置６は、基準面Ｈ１及び基準面Ｈ２の座標を演算により求める。
【００４６】
ここで、基準面Ｈ１で２つの空間領域Ｒ１１，Ｒ２１に分割されるが、作業台７は、基準面Ｈ１で分割された一方の空間領域Ｒ１１に含まれる。また、基準面Ｈ２で２つの空間領域Ｒ１２、Ｒ２２に分割されるが、障害物２４は、基準面Ｈ２で分割された一方の空間領域Ｒ１２に含まれる。したがって、制御装置６は、ステップＳ３８として、基準面Ｈ１を境に分割された２つの空間領域Ｒ１１，Ｒ２１のうち、作業台７が配置されている側の一方の空間領域Ｒ１１に、カメラ３（代表点Ｑ）のカメラ移動予定位置が含まれるか否かを判断する。更に、制御装置６は、ステップＳ３８として、基準面Ｈ２を境に分割された２つの空間領域Ｒ１２，Ｒ２２のうち、障害物２４が配置されている側の一方の空間領域Ｒ１２に、カメラ３（代表点Ｑ）のカメラ移動予定位置が含まれるか否かを判断する。すなわち、カメラ移動予定位置が空間領域Ｒ１１、Ｒ１２の少なくとも一方に含まれる場合は、作業台７又は障害物２４に衝突する可能性があると判断する。一方、カメラ移動予定位置が空間領域Ｒ１１、Ｒ１２のいずれにも含まれない場合は、作業台７及び障害物２４に衝突する可能性がないと判断する。
【００４７】
なお、基準面Ｈ１，Ｈ２は、ハンド移動予定位置に移動したとするグリッパハンド２３の回転中心線上の一点Ｐに対応して設定されるので、グリッパハンド２３が作業台７や障害物２４から十分に離間している場合もある。このような場合、カメラ３は実際には作業台７や障害物２４に衝突しないこともあるが、次の動作手順でカメラ３が作業台７や障害物２４に衝突することもあり得る。
【００４８】
したがって、本第３実施形態では、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑが空間領域Ｒ１１又はＲ１２にある場合には、カメラ３が作業台７又は障害物２４に衝突する可能性があると判断する。ここで、２つの空間領域Ｒ１１，Ｒ２１の境界にカメラ３の代表点Ｑがある場合には、カメラ移動予定位置が空間領域Ｒ１１に含まれない、つまり、カメラ３が作業台７に衝突する可能性がないと判断する。また、２つの空間領域Ｒ１２，Ｒ２２の境界にカメラ３の代表点Ｑがある場合には、カメラ移動予定位置が空間領域Ｒ１２に含まれない、つまり、カメラ３が障害物２４に衝突する可能性がないと判断する。なお、制御装置６は、カメラ３（代表点Ｑ）のカメラ移動予定位置が図８（ａ）に示すような場合、つまり、カメラ３が作業台７及び障害物２４に衝突する可能性がないと判断した場合（ステップＳ３８：Ｎｏ）、後述するステップＳ４０の処理に移行する。
【００４９】
制御装置６は、カメラ３が作業台７又は障害物２４に衝突する可能性があると判断した場合（ステップＳ３８：Ｙｅｓ）、カメラ移動予定位置が空間領域Ｒ２１及び空間領域Ｒ２２の重なる空間領域に移るように変更する（ステップＳ３９：変更工程）。
【００５０】
つまり、制御装置６は、カメラ移動予定位置が空間領域Ｒ１１及びＲ１２から外れるようにグリッパハンド２の回転方向とは反対方向に７２（＝３６０／５）度単位でカメラ３の回転角度を設定することでカメラ移動予定位置を変更する。ここで、カメラ移動予定位置が空間領域Ｒ１１及びＲ１２から外れるとは、カメラ移動予定位置に移動したとするカメラ３の代表点Ｑが空間領域Ｒ１１及びＲ１２から外れることを意味する。
【００５１】
ここで、７２度回転させただけでは、カメラ３が衝突する可能性があるので、ステップＳ３９の後、再度ステップＳ３７の処理に戻り、移動後のグリッパハンド・カメラ位置の計算を行う。これにより、図８（ｂ）に示すように、カメラ３が作業台７の作業平面７ａに衝突する可能性のある破線で示すカメラ移動予定位置から、カメラ３の回転角度を７２度単位で増加させて１４４度とした実線で示すカメラ移動予定位置に変更される。
【００５２】
次に、制御装置６は、ステップＳ３３からステップＳ３９で決定した各モータの回転角度に基づいて各モータの回転速度及び回転動作の開始タイミングを決定し、実際に各モータを動作させる。（ステップＳ４０：移動工程）。つまり、制御装置６は、各リンク１１Ｂ，１１Ｃ，１１Ｄ，１２を動作させてグリッパハンド２３をハンド移動予定位置に移動させると共に、カメラ３をカメラ移動予定位置に移動させる。ここで、制御装置６は、各モータ１ｂ，１２を動作させた後、つまり、グリッパハンド２３をハンド移動予定位置に移動させて回転動作させた後、カメラ回転駆動モータ３ｃを動作させ、カメラ３をカメラ移動予定位置に移動させる。
【００５３】
以上、本第３実施形態では、ステップＳ３９においてカメラ移動予定位置が空間領域Ｒ１１及びＲ１２から外れるように変更されるので、カメラ３が作業台７及び障害物２４に衝突するのを回避することができる。また、カメラ３は５回の回転対称性を持つグリッパハンド２３に対して７２度単位で回転するので、カメラ３で撮像されるグリッパハンド２３の位置が同一とみなすことができる位置に移動することとなり、グリッパハンド２３との位置関係を維持することができる。したがって、作業台７や障害物２４付近の作業性の低い領域でもカメラ３が作業台７や障害物２４に衝突するのを回避して作業をすることができる。
【００５４】
［第４実施形態］
本第４実施形態では、制御装置の制御動作が上記第１〜３実施形態と異なるものである。具体的に説明すると、図２中ステップＳ１０、図７中ステップＳ４０の移動工程の処理動作が異なるものである。なお、ロボットアームの構成は、上記第１〜３実施形態のいずれの構成でもよいが、図１を参照しながら説明する。本第４実施形態では、グリッパハンド２の回転動作とカメラ３の回転動作とを並行して実施する。つまり、制御装置６は、ロボットアーム１の各モータ１ｂ，３ｃ，１２ａを動作させる場合において、カメラ回転駆動モータ３ｃとハンド回転駆動モータ１２ａを並行して動作させる。これにより、各モータ３ｃ，１２ａを順次動作したときに比べて短い時間で動作を完了し、次の動作手順を開始することできる。
【００５５】
［第５実施形態］
本第５実施形態では、制御装置の制御動作が上記第１実施形態と異なるものである。図９は、制御装置によるロボットアームの各モータの制御動作を示すフローチャートであるが、ロボットアームの構成は、上記第１実施形態の図１を参照しながら説明する。なお、ステップＳ１〜ステップＳ９については、上記第１実施形態と同様の処理動作を行う。本第５実施形態では、ステップＳ１０’の処理動作が上記第１実施形態と異なる。以下、ステップＳ１０’におけるモータの回転動作をさらに細かく分割して説明する。
【００５６】
まず、制御装置６は、カメラ回転駆動モータ３ｃによるカメラ３の回転角度と、ハンド回転駆動モータ１２ａによるグリッパハンド２の回転角度とを比較し、どちらの回転角度が大きいかを判断する（ステップＳ１０−１）。具体的には、カメラ３の回転角度がグリッパハンド２の回転角度よりも大きいか否かを判断する。
【００５７】
制御装置６は、カメラ３の回転角度の方が大きいと判断した場合（ステップＳ１０−１：Ｙｅｓ）、カメラ回転駆動モータ３ｃの回転動作を開始する（ステップＳ１０−２）。続いて、制御装置６は、カメラ回転駆動モータ３ｃとハンド回転駆動モータ１２ａとが同時に動作終了するようなタイミングで、ハンド回転駆動モータ１２ａの回転を開始する（ステップＳ１０−３）。
【００５８】
また、制御装置６は、ステップＳ１０−１で、グリッパハンド２の回転角度の方が大きいと判断した場合（ステップＳ１０−１：Ｎｏ）、ハンド回転駆動モータ１２ａの回転動作を開始する（ステップＳ１０−４）。続いて、制御装置６は、カメラ回転駆動モータ３ｃとハンド回転駆動モータ１２ａとが同時に動作終了するようなタイミングで、カメラ回転駆動モータ３ｃの回転を開始する（ステップＳ１０−５）。
【００５９】
ステップＳ１０−３及びステップＳ１０−５のいずれの場合も、ステップＳ１０−６で回転動作を終了する。なお、ステップＳ１０−１〜Ｓ１０−６の一連の動作と並行して、カメラ回転駆動モータ３ｃ及びハンド回転駆動モータ１２ａ以外のロボットアーム１の各モータ１ｂを回転動作させる。
【００６０】
以上、本第５実施形態のステップＳ１０’では、グリッパハンド２の回転動作とカメラ３の回転動作との終了タイミングが同時となるように、グリッパハンド２の回転動作とカメラ３の回転動作との開始タイミングを調整している。したがって、このステップＳ１０’の動作により、カメラ３が早い時間に最終的な目標位置へ到達し、動作終了までその位置を維持することとなる。その結果、カメラ３の振動が収まることから、カメラ３でぶれの少ない画像を撮像できるという効果を奏する。
【符号の説明】
【００６１】
１  ロボットアーム
２  グリッパハンド
２ａ，２ｂ  把持指
３  カメラ
３ａ  ブラケット（支持体）
３ｂ  カメラ軸回転体（回転体）
３ｃ  カメラ回転駆動モータ
４  把持対象物
６  制御装置
７  作業台（障害物）
７ａ  作業平面（平面）
１２  先端リンク
１２ａ  ハンド回転駆動モータ
Ｈ  基準面
Ｒ１  空間領域
【図１】
2011056646.tif 000003
【図２】
2011056646.tif 000004
【図３】
2011056646.tif 000005
【図４】
2011056646.tif 000006
【図５】
2011056646.tif 000007
【図６】
2011056646.tif 000008
【図７】
2011056646.tif 000009
【図８】
2011056646.tif 000010
【図９】
2011056646.tif 000011