本発明の実施形態について、図面を参照しながら説明する。
図1は、本発明の実施形態に係るロボットの一例を示す正面斜視図である。図2は、ロボットの一例を示す背面斜視図である。
なお、説明の都合上、図1、図2中の上側を「上」または「上方」、下側を「下」または「下方」という。また、図1の手前側を「正面側」または「正面」または「前方」といい、図2の手前側を「背面側」または「背面」または「後方」という。
ロボット1は、胴部10と、アーム11と、タッチパネルモニター12と、脚部13と、搬送用ハンドル14と、カメラ(「撮像部」ともいう。)15と、信号灯16と、電源スイッチ17と、外部インターフェイス(I/F)部18と、昇降ハンドル19と、を備える。ロボット1は、人間型双腕ロボットであり、制御部20(図5参照)の制御に従って動作する。このロボット1は、例えばプリンターのような精密機器等を組み立てる製造工程で用いることができるものである。なお、この製造作業は、通常、作業台T(図4参照)上で行なわれる。
胴部10は、脚部13のフレーム上に設けられる。なお、脚部13はロボット1の基台であり、胴部10はロボット1の胴体である。胴部10は、ロボット本体と呼ぶこともできる。なお、胴部10のみでなく、脚部13を含めてロボット本体としてもよい。
胴部10は、上側の肩領域10Aと、下側の胴部本体10Bとを有する。肩領域10Aには、その両側面に、それぞれ正面側に突出したアーム11(「マニピュレーター」ともいう。)が設けられる。
アーム11の先端には、作業の対象物(「ワーク」ともいう。)や道具を把持するハンド111(「エンドエフェクター」ともいう。)が設けられる。また、アーム11には、作業台の上に載置されたワーク等を撮影するハンドアイカメラ11Gが設けられる。アーム11及びハンド111の詳細については、後に詳述する。
胴部10の肩領域10Aから正面側に斜め上方向突出する、ロボット1の頭部に当たる部分には、2台のカメラ15と、信号灯16とが設けられる。
カメラ15は、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を有し、作業台等を撮像することができる。信号灯16は、例えば、赤色の光、黄色の光、青色の光をそれぞれ発するLEDを有し、ロボット1の現在の状態に応じて適宜選択されたLEDを発光させる。
脚部13の内部には、ロボット1自身を制御する制御部20等が設けられる。脚部13及び胴部本体10Bの内部にはロボット1に対して上下方向に伸びる回転軸が設けられ、この回転軸には胴部10の肩領域10Aが設けられる。肩領域10Aは、回転軸周りに回転移動させることができる。すなわち、胴部本体10Bより上側の部材は、回転軸周りに一体的に任意の方向に向けることが可能である。
脚部13の背面には、電源スイッチ17と、制御部20と外部のPC等を接続する外部接続端子である外部I/F部18とが設けられる。電源スイッチ17は、ロボット1の電源を投入する電源ONスイッチ17aと、ロボット1の電源を遮断する電源OFFスイッチ17bとを有する。
また、脚部13の最下部には、図示しない複数のキャスターが水平方向に間隔をおいて設置されている。これにより、作業者が搬送用ハンドル14を押すこと等によりロボット1を移動搬送することができる。
胴部10の背面には、昇降ハンドル19が設けられる。昇降ハンドル19は、胴部10の上部にある肩領域10Aを、胴部本体10Bに対して上下方向に移動させる。これにより、様々な高さの作業台に対応することができる。
また、胴部10の背面側には、ロボット1の背面側から視認可能なタッチパネルモニター12が配置されている。モニターは、例えば、液晶ディスプレイなどであり、ロボット1の現在の状態などを表示することができる。また、タッチパネルは、例えば静電式や圧電式のタッチパネルであり、ロボット1に対する動作の設定などを行うユーザーインターフェイス部として用いられる。
図3は、アーム及びハンドの詳細を示す図である。
アーム11は、胴部10側から順に、アーム部材(「マニピュレーター部材」ともいう。)11A、11B、11C、11D、11Eがジョイント(図示せず)により連結されて構成される。ジョイントには、それらを動作させるためのアクチュエーター(図示せず)が設けられる。
アーム11は、7個の回動軸を有する7軸アームである。7個の回動軸J1、J2、J3、J4、J5、J6、J7は、それぞれ、ジョイントに設けられたアクチュエーターの回転軸である。アーム部材11A、11B、11C、11D、11E及びハンド111は、回動軸J1、J2、J3、J4、J5、J6、J7回りに独立して回動することができる。
アクチュエーターは、例えば、サーボモーターやエンコーダー(図5参照)などを備える。エンコーダーが出力するエンコーダー値は、制御部20によるロボット1のフィードバック制御などに使用される。また、アクチュエーターには、回転軸を固定する電磁ブレーキが設けられる。
各回転軸を連動させることにより、アーム11の先端部などに設定された注目位置(「エンドポイント」ともいう。)を、所定の可動範囲内で自在に移動させたり自由な方向へ向けたりすることができる。なお、エンドポイントの位置は、アームの先端部に限定されず、例えば、エンドエフェクターの先端部などに設定されてもよい。
アーム部材11Eの先端(アーム11の手首部分に相当)には、力覚センサー(図1〜図3では図示せず。図5参照。「力検出部」ともいう。)が設けられている。力覚センサーは、ロボット1が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサーとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサーは、6軸に限らず、例えば3軸でもよい。力覚センサーにより、ハンド等にかかる力やモーメントを検出することができる。
なお、ハンド等に加わる力やモーメントを検出する方法は力覚センサーを用いるものに限られない。例えば、アーム11の各軸トルク値からハンドに及ぼす外力を推定することもできる。したがって、直接または間接的にハンドに加わる力やモーメントを取得する手段を、アーム11が有していればよい。
また、アーム部材11Eの先端には、ハンド111を着脱自在に設けるための着脱部材112を介して、ハンド111が設けられる。
ハンド111は、本体部111Aと、本体部111Aの先端側に配置された複数本(例えば、2本〜4本の任意の数)のフィンガー111Bとを有する。本体部111Aは、外形形状がほぼ直方体状をなし、その内部に各フィンガー111Bを駆動させる駆動機構(図示せず)が設けられる。駆動機構によりフィンガー111B同士を互いに接近させることにより、これらの間で部品等の対象物を挟持することができる。また、駆動機構によりこの挟持状態からフィンガー111B同士を互いに離間させることにより、対象物を解放することができる。
なお、アーム11は、マニピュレーターの一種ということができる。マニピュレーターは、エンドポイントの位置を移動させる機構であり、アームに限られず様々な形態をとることができる。例えば、一以上のジョイントとリンクとにより構成され、ジョイントを動かすことで全体が動くマニピュレーターであれば、どのような形態でもよい。また、ロボット1に設けられるマニピュレーターの数も2本に限られず、1本あるいは3本以上であってもよい。
なお、ハンド111は、エンドエフェクターの一種ということができる。エンドエフェクターは、対象物を把持したり、押し付けたり、持ち上げたり、吊り上げたり、吸着したり、ワークを加工したりするための部材である。エンドエフェクターは、ハンド、フック、吸盤など、様々な形態をとることができる。また、エンドエフェクターは、一本のアームに対して複数設けるようにしてもよい。
上記のような構成を有することにより、ロボット1は、制御部20の制御の下、例えば、ハンド111でワークを把持したり、ハンド111をワークに接触させたりすることができる。また、ロボット1は、例えば、ハンド111で、ワークに対して様々な方向の力を加えて押し付けたり、ワークに対して様々なモーメントを加えたりすることができる。
上記のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、図示した構成例に限られない。また、一般的なロボットが備える構成を排除するものではない。例えば、ジョイントの数(「軸数」ともいう。)やリンクの数を増減させてもよい。また、ジョイント、リンク、ハンド等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
また、例えば、制御部20は、当該制御部20の機能を実現するロボット制御装置としてロボット1の外部に設けるようにしてもよい。この場合、当該ロボット制御装置は、通信I/Fなどを介してロボット1に接続される。ロボット制御装置とロボットを備えるシステムを、ロボットシステムと呼ぶこともできる。
図4は、ロボットと作業台の関係の一例を示す平面図である。なお、ハンド111は簡略化して示している。
なお、説明の都合上、図4中の上側を「正面側」または「正面」または「前方」、下側を「背面側」または「背面」または「後方」と言う。また、図4の手前側を「上」または「上方」といい、図4の奥側を「下」または「下方」という。
作業台Tは、ロボット1の正面側に配置される。ロボット1は、アーム11を動かすとともにハンド111を使って、作業台T上の所定の作業領域(図示せず)内で所定の作業を行うことができる。所定の作業領域内では、ロボット1は、例えば、複数の部品を組み合わせて製品を組み立てる作業を行う。
なお、作業領域は、例えば、3次元(XYZ方向の長さを有する)の直方体の空間とすることができる。作業領域の範囲は、例えば、エンドポイントの可動範囲内に定めることができる。また、作業領域の範囲は、ロボット1の作業内容や当該作業内容に求められる動作精度などを考慮して定めることもできる。
図5は、ロボットの機能構成の一例を示す図である。
制御部20は、入出力制御部21と、カメラ制御部22と、エンコーダー制御部23と、力覚センサー制御部24と、軌道生成部25と、アーム制御部26と、ハンド制御部27と、を備える。アーム11は、エンコーダー11aと、力覚センサー11bと、を備える。
入出力制御部21は、タッチパネルモニター12への出力、タッチパネルモニター12からの入力を制御する。例えば、入出力制御部21は、ロボット1の状態、カメラ15で撮像された画像などを、タッチパネルモニター12に表示させる。また、例えば、入出力制御部21は、タッチパネルモニター12に対するユーザーの操作を受け付ける。
カメラ制御部22は、カメラ15やハンドアイカメラ11Gを制御して撮像を行うとともに、撮像した画像を取得する。また、カメラ制御部22は、取得した画像からワークを抽出する等の画像処理を行う。
エンコーダー制御部23は、エンコーダー11aからエンコーダーの角度等の情報を取得し、アーム制御部26等に出力する。
力覚センサー制御部24は、力覚センサー11bで計測された値、例えば力の方向、力の大きさ、モーメントの方向、モーメントの大きさ等の情報を取得する。
軌道生成部25は、エンドポイントの軌道を生成する。例えば、軌道生成部25は、カメラ制御部22が取得した撮像画像に基づいて、エンドポイントの軌道を生成する。具体的には、軌道生成部25は、カメラ制御部22が取得した画像からワークの位置を認識し、ワークの位置をロボット座標に置き換える。そして、軌道生成部25は、現在のエンドポイントのロボット座標を、ワークのロボット座標まで移動させる軌道を生成する。もちろん、ユーザーにより設定された軌道を用いるようにしてもよい。なお、軌道を生成する処理は、一般的な技術を採用することができるため、詳細な説明を省略する。
アーム制御部26は、軌道生成部25が生成した軌道と、エンコーダー制御部23が取得したエンコーダー11aの情報と、に基づいてアーム11を制御する(位置制御)。例えば、アーム制御部26は、ジョイントの回転角度を示す移動指令をアクチュエーターに出力し、アクチュエーターを駆動する。
また、アーム制御部26は、力覚センサー制御部24が取得した力覚センサー11bの情報に基づいてアーム11を制御する(インピーダンス制御などの力制御)。例えば、アーム制御部26は、力覚センサー11bにより検出される特定方向の力の大きさが、目標の大きさとなるようにエンドポイントの位置や姿勢を調整する。また、例えば、アーム制御部26は、力覚センサー11bにより検出される特定のモーメントの大きさが、目標の大きさとなるようにエンドポイントの位置や姿勢を調整する。これにより、ハンド111をワークに押し付けるロボット1の動作が実現できる。なお、位置制御や力制御などの処理は、一般的な技術を採用することができるため、詳細な説明を省略する。アーム制御部26は、位置制御の代わりに、ビジュアルサーボ等を用いてエンドポイントの位置を移動させてもよい。
後に具体例を用いて詳述するが、本実施形態では、例えば、ロボット1は、ある部品に止め輪を嵌める組み付け作業を行う場合に、当該部品を、作業台の上又は位置決め部が設けられたジグ(又は他の部品)の上に載置する。そして、ロボット1は、当該部品を、組み付け作業時に力を加える方向(止め輪を嵌める方向)と反対の方向に押し付ける。また、ロボット1は、当該部品を、作業台等の方向に押し付ける。さらに、ロボット1は、当該部品に対して、組み付け作業時に当該部品に生じるモーメントを打ち消す又は減らすような反対のモーメントをかける。これにより、より確実に部品が動かないようにする。
ハンド制御部27は、ハンド111を制御する。例えば、ハンド制御部27は、エンドポイントがワークを把持可能な目標位置に到達した場合に、各フィンガーを互いに接近させる指令値を生成し、ハンド111の駆動機構に出力する。
上記の制御部20は、例えば、CPU(Central Processing Unit)等の演算装置と、RAM(Random Access Memory)などの主記憶装置と、HDD(Hard Disk Drive)等の補助記憶装置と、有線又は無線により通信ネットワークと接続するための通信インターフェイス(I/F)と、タッチパネルなどの入力装置と接続する入力I/Fと、表示装置と接続する出力I/Fと、持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置と、を備えるコンピューターで実現することができる。ロボット専用のASIC(Application Specific Integrated Circuit)により実現されてもよい。また、制御部20は、例えば、演算装置、記憶装置、処理回路、駆動回路などを備えるコントローラー基板等により実現されてもよい。
例えば、制御部20の各機能は、補助記憶装置などから主記憶装置にロードされた所定のプログラムを演算装置が実行することで実現される。上記の所定のプログラムは、例えば、読み書き装置により読み取られた記憶媒体からインストールされてもよいし、通信I/Fを介してネットワークからインストールされてもよい。
上述したロボット1の機能構成は、ロボット1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ロボット1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、制御部20と他の構成(アームやハンドなど)との機能及び処理の分担は、図示した例に限られない。例えば、制御部20の少なくとも一部の機能は、他の構成により実現されてもよい。また、例えば、他の構成の少なくとも一部の機能は、制御部20により実現されてもよい。
次に、上記のロボット1により実現される特徴的な動作について、図6〜図15を参照しながら説明する。なお、以下では、「略」、「状」という言葉を用いることがあるが、対象の長さ、角度、方向、形状等が厳密に同一である場合以外に、実質的に同一な場合(すなわち、本実施形態の効果を発揮できる場合)を含む概念である。もちろん、「略」、「状」という言葉を用いない場合でも、実質的に同一な場合は含まれる。
図6は、ロボットが行う第一の作業例を説明する図である。第一の作業例は、ワークA10の棒状の軸部A15に、止め輪A20を嵌める(組み付ける)ものである。
ワークA10は、直方体状の本体部A11と、本体部A11の一の面に略垂直に設けられた棒状の軸部A15とを有する。軸部A15の外周(側面)には、止め輪A20が嵌め込まれる溝が形成されている(図示せず)。
止め輪A20は、Z方向からみた場合に、環状であり、その環の一部が空いた形状である。止め輪A20は、軸部A15の外周に形成された溝(図示せず)に、軸部A15の長手方向に対して略垂直方向から嵌め込まれる。なお、止め輪A20は、例えば、スナップリング、ストップリングなどとも呼ばれる。より具体的には、例えば、Eリング、Cリングなどがある。
止め輪A20の組み付けは、例えば、人間が使用する工具A30を、ロボット1が用いることにより行われる。工具A30は、止め輪A20を受け止める受止部A35を有する。受止部A35には、止め輪A20の一部が挿入される溝が形成されている。従って、受止部A35の溝に止め輪A20をセットした状態で、止め輪A20を移動させることができる。
図7は、第一の作業例におけるロボットの押付動作の第一例を説明する図である。図7は、ワークA10を軸部A15の先端が上(Z方向)を向くように作業台T上に置いて、止め輪A20の組み付け作業を行う場合を示す。なお、図7(A)、(B)、(C)において、アーム11及びハンド111は、簡略化又は省略している。また、図7(B)、(C)において、止め輪A20、工具A30等は、省略している。
準備段階において、例えば、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、作業台T上にワークA10の本体部A11の底面が接するように載置する。また、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、ハンド111に工具A30を把持させ、ハンド111を移動させ、受止部A35に止め輪A20をセットする(図7(A)参照)。
作業段階において、制御部20は、一方のアーム11及び当該アームのハンド111(工具A30を把持している方)を制御することにより、止め輪A20を軸部A15に対して、F10の方向に押し付ける。方向F10は、組み付け作業時に力を加える方向であり、作業台Tと略平行であり、かつ軸部A15の長手方向に略直交する。
ここで、軸部A15を方向F10に押し付けると、ワークA10全体に、モーメントM10が生じる。モーメントM10は、方向F10に略直交する軸と略平行であり、かつ作業台Tに略平行な軸MJ10について、ワークA10をY方向に見て左回りのモーメントである。このモーメントM10は、本体部A11の作業台Tに接する底面のうち、方向F10側の一辺を支点として、本体部A11が作業台Tから浮くように作用する。そこで、制御部20は、一方のハンド111で止め輪A20を押し付けるのと同時に、他方のハンド111でワークA10の位置及び姿勢を維持するようにワークA10を支える。
具体的には、制御部20は、他方のアーム11及び当該アームのハンド111を制御することにより、ハンド111をワークA10の本体部A11上の所定の位置で把持させる。把持の仕方は、例えば、一又は複数の面でハンド111がワークに当接するように把持すればよい。説明の便宜上、ワークA10を支える動作により力が加わる代表位置を作用点Pとして説明する。ワークA10のような形状の場合、作用点Pの位置は、例えば、軸部A15の長手方向と略垂直であり、かつ、方向F10の本体部A11上の線分上、又は、当該線分の近傍に位置するのが好ましい。なお、把持位置が、軸MJ10から方向F10へ遠くに離れるほど、後述するモーメントM1の大きさを小さくすることができる。
そして、制御部20は、他方のアーム11を制御することにより、組み付け作業の方向F10と反対の方向F1に、ハンド111を押し付ける。また、制御部20は、他方のアーム11を制御することにより、作業台Tと略直交する方向F2に、ハンド111を押し付ける。方向F2は、方向F1と略垂直である。また、制御部20は、モーメントM10と反対(反対の回転方向)のモーメントM1を生じさせるように、ハンド111を動作させる。例えば、制御部20は、方向F1に略直交する軸と略平行であり、かつ作業台Tに略平行な軸MJ1(図示せず)を設定し、当該軸回り(図では、ワークA10をY方向に見て右回り。)のモーメントM1を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ1と軸MJ10は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、作業台Tに対して、作用点Pを原点として方向F1及び方向F2を合成した方向F12に押し付けられるとともに、モーメントM1の回転方向に押し付けられる。
なお、図7の場合、方向F2の押し付け動作は必須ではない。これは、ワークA10にモーメントM1を加えることで、ワークA10の底面が作業台Tに対してF2方向に押し付けられる作用が生じるためである。
図8は、第一の作業例におけるロボットの押付動作の第二例を説明する図である。図8は、ワークA10を軸部A15の先端が横(Yの反対方向)を向くように作業台T上に置いて、止め輪A20の組み付け作業を行う場合を示す。なお、図8(A)、(B)、(C)において、アーム11及びハンド111は、簡略化又は省略している。また、図8(B)、(C)において、止め輪A20、工具A30等は、省略している。
準備段階において、例えば、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、作業台T上にワークA10の本体部A11の側面が接するように載置する。また、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、ハンド111に工具A30を把持させ、ハンド111を移動させ、受止部A35に止め輪A20をセットする(図8(A)参照)。
作業段階において、制御部20は、一方のアーム11及び当該アームのハンド111(工具A30を把持している方)を制御することにより、止め輪A20を軸部A15に対して、F10の方向に押し付ける。方向F10は、組み付け作業時に力を加える方向であり、作業台Tと略平行であり、かつ軸部A15の長手方向に略直交する。
ここで、軸部A15を方向F10に押し付けると、ワークA10全体に、モーメントM20が生じる。モーメントM20は、方向F10に略直交する軸と略平行であり、かつ作業台Tに略垂直な軸MJ20について、ワークA10をZ方向側から見て右回りのモーメントである。このモーメントM20は、本体部A11の作業台Tに接する側面が、作業台Tに対して滑るように作用する。そこで、制御部20は、一方のハンド111で止め輪A20を押し付けるのと同時に、他方のハンド111でワークA10の位置及び姿勢を維持するようにワークA10を支える。
具体的には、制御部20は、他方のアーム11及びハンド111を制御することにより、ハンド111をワークA10の本体部A11上の所定の位置で把持させる。把持の仕方は、例えば、一又は複数の面でハンド111がワークに当接するように把持すればよい。説明の便宜上、ワークA10を支える動作により力が加わる代表位置を作用点Pとして説明する。ワークA10のような形状の場合、作用点Pの位置は、例えば、軸部A15の長手方向と略垂直であり、かつ、方向F10の本体部A11上の線分上、又は、当該線分の近傍に位置するのが好ましい。なお、把持位置が、軸MJ20から方向F10へ遠くに離れるほど、後述するモーメントM2の大きさを小さくすることができる。
そして、制御部20は、他方のアーム11を制御することにより、組み付け作業の方向F10と反対の方向F1に、ハンド111を押し付ける。また、制御部20は、他方のアーム11を制御することにより、作業台Tと略直交する方向F2に、ハンド111を押し付ける。方向F2は、方向F1と略垂直である。また、制御部20は、モーメントM20と反対(反対の回転方向)のモーメントM2を生じさせるように、ハンド111を動作させる。例えば、制御部20は、方向F1と略直交する軸と略平行であり、かつ作業台Tに略直交する軸MJ2(図示せず)を設定し、当該軸回り(図では、ワークA10をZ方向側から見て左回り。)のモーメントM2を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ2と軸MJ20は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、作業台Tに対して、作用点Pを原点として方向F1及び方向F2を合成した方向F12に押し付けられるとともに、モーメントM2の回転方向に押し付けられる。
図9は、第一の作業例におけるロボットの押付動作の第三例を説明する図である。以下、図8と異なる点を中心に説明する。
ワークA10の置き方は、図8と同様である。また、止め輪A20を軸部A15に対して押し付ける方向F10は、図8と同様である。一方、作用点Pの位置は、図8と異なる。図9では、作用点Pの位置は、例えば、軸部A15の長手方向と略垂直であり、かつ、作業台Tに略垂直な方向(Z方向)の本体部A11上の線分上、又は、当該線分の近傍に位置するのが好ましい。
図9に示すような作用点Pの場合も、制御部20は、図8の場合と同様に、他方のアーム11を制御する。すなわち、制御部20は、他方のアーム11を制御することにより、方向F1及び方向F2に、ハンド111を押し付ける。また、制御部20は、軸MJ2(図示せず)を設定し、当該軸回り(図では、ワークA10をZ方向側から見て左回り。)のモーメントM2を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ2と軸MJ20は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、作業台Tに対して、作用点Pを原点として方向F1及び方向F2を合成した方向F12に押し付けられるとともに、モーメントM2の回転方向に押し付けられる。
図10は、第一の作業例におけるロボットの押付動作の第四例を説明する図である。以下、図8及び図9と異なる点を中心に説明する。
ワークA10の置き方は、図8と同様である。また、作用点Pの位置は、図9と同様である。一方、F10の方向は、図8及び図9とは異なる。図10では、方向F10は、組み付け作業時に力を加える方向であり、作業台Tに対して略垂直であり、かつ軸部A15の長手方向に略直交する。
ここで、軸部A15を方向F10に押し付けると、ワークA10全体に、モーメントM30が生じる。モーメントM30は、方向F10と軸部A15の長手方向との両方に略直交する軸と略平行な軸MJ30について、ワークA10を方向X側から見て右回りのモーメントである。このモーメントM30は、本体部A11の作業台Tに接する側面のうち、軸部A15に近い側(方向Yの反対方向)の一辺を支点として、本体部A11が作業台Tから浮くように作用する。そこで、制御部20は、一方のハンド111で止め輪A20を押し付けるのと同時に、他方のハンド111でワークA10の位置及び姿勢を維持するようにワークA10を支える。
すなわち、制御部20は、他方のアーム11を制御することにより、作業台Tと略直交する方向F2に、ハンド111を押し付ける。方向F2は、方向F10と略平行である。また、制御部20は、モーメントM30と反対(反対の回転方向)のモーメントM3を生じさせるように、ハンド111を動作させる。例えば、制御部20は、方向F2に略直交する軸と略平行であり、かつ本体部A11の底面に略平行な軸MJ3(図示せず)を設定し、当該軸回り(図では、ワークA10を方向X側から見て左回り。)のモーメントM3を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ3と軸MJ30は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、作業台Tに対して、作用点Pを原点として方向F2に押し付けられるとともに、モーメントM3の回転方向に押し付けられる。
なお、図10の場合、方向F2の押し付け動作は必須ではない。これは、ワークA10に方向F10の力が加わることで、ワークA10の側面が作業台Tに対してF2方向に押し付けられる作用が生じるためである。
以上のような方向とモーメントにより、ハンド111でワークを押し付けて支えることで、組み付け作業中にワークが動いたり浮いたりしないように、より確実にワークを固定することができる。なお、この押しつけ方向とモーメントは、ベースとなるワーク上に載せたワークA10に対して組み付け作業を行う場合にも適用できる。
図11は、第一の作業例におけるロボットの押付動作の第五例を説明する図である。図11では、ジグB10を用いて、第一の作業例を行う場合を示している。また、図11は、ワークA10を軸部A15の先端が上(Z方向)を向くようにジグB10上に置いて、止め輪A20の組み付け作業を行う場合を示す。なお、図11(A)、(B)、(C)において、アーム11及びハンド111は、簡略化又は省略している。また、図11(B)、(C)において、止め輪A20、工具A30等は、省略している。
ジグB10は、例えば、図12(ジグの構成例を示す図)に示すように構成される。ジグB10は、直方体状であり、ワークが置かれる平面状の面B11と、面B11に略垂直な面B12とを備える。面B11及び面B12は、ワークA10を位置決めする位置決め部として機能する。
図11の説明に戻る。準備段階において、例えば、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、面B11上にワークA10を載置する。また、制御部20は、一方のアーム11及び当該アームのハンド111を制御することにより、ハンド111に工具A30を把持させ、ハンド111を移動させ、受止部A35に止め輪A20をセットする(図11(A)参照)。
作業段階において、制御部20は、一方のアーム11及び当該アームのハンド111(工具A30を把持している方)を制御することにより、止め輪A20を軸部A15に対して、F10の方向に押し付ける。方向F10は、組み付け作業時に力を加える方向であり、面B11と略平行であり、かつ軸部A15の長手方向に略直交する。
ここで、軸部A15を方向F10に押し付けると、ワークA10全体に、モーメントM10が生じる。モーメントM10は、方向F10に略直交する軸と略平行であり、かつ面B11に略平行な軸MJ10について、ワークA10をY方向に見て左回りのモーメントである。このモーメントM10は、本体部A11の面B11に接する底面のうち、方向F10側の一辺を支点として、本体部A11が面B11から浮くように作用する。そこで、制御部20は、一方のハンド111で止め輪A20を押し付けるのと同時に、他方のハンド111でワークA10の位置及び姿勢を維持するようにワークA10を支える。
具体的には、制御部20は、他方のアーム11及びハンド111を制御することにより、ハンド111をワークA10の本体部A11上の所定の位置で把持させる。把持の仕方や作用点Pの位置は、図7の場合と同様である。
そして、制御部20は、他方のアーム11を制御することにより、組み付け作業の方向F10と反対の方向F1に、ハンド111を押し付ける。また、制御部20は、他方のアーム11を制御することにより、面B11と略直交する方向F2に、ハンド111を押し付ける。方向F2は、方向F1と略垂直である。さらに、制御部20は、他方のアーム11を制御することにより、面B11と略平行な方向であり、かつ、面B12の方向F3に、ハンド111を押し付ける。方向F3は、面B12を含むXZ平面と略垂直である。また、制御部20は、モーメントM10と反対(反対の回転方向)のモーメントM1を生じさせるように、ハンド111を動作させる。例えば、制御部20は、方向F1に略直交する軸と略平行であり、かつ面B11に略平行な軸MJ1(図示せず)を設定し、当該軸回り(図では、ワークA10をY方向に見て右回り。)のモーメントM1を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ1と軸MJ10は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、ジグB10に対して、作用点Pを原点として方向F1、F2、及び方向F3を合成した方向F123に押し付けられるとともに、モーメントM1の回転方向に押し付けられる。
なお、図11の場合、方向F2の押し付け動作は必須ではない。これは、ワークA10にモーメントM1を加えることで、ワークA10の底面が面B11に対してF2方向に押し付けられる作用が生じるためである。
図13は、第一の作業例におけるロボットの押付動作の第六例を説明する図である。以下、図11と異なる点を中心に説明する。
ワークA10の置き方は、図11と同様である。また、止め輪A20を軸部A15に対して押し付ける方向F10は、図11と同様である。一方、作用点Pの位置は、図11と異なる。図13では、作用点Pの位置は、例えば、軸部A15の長手方向と略直交し、かつ、面B12を含むXZ平面と略直交する本体部A11上の線分上、又は、当該線分の近傍に位置するのが好ましい。
図13に示すような作用点Pの場合も、制御部20は、図11の場合と同様に、他方のアーム11を制御する。すなわち、制御部20は、他方のアーム11を制御することにより、方向F1、方向F2、及び方向F3に、ハンド111を押し付ける。また、制御部20は、軸MJ1(図示せず)を設定し、当該軸回り(図では、ワークA10をY方向に見て右回り。)のモーメントM1を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ1と軸MJ10は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、ジグB10に対して、作用点Pを原点として方向F1、F2、及び方向F3を合成した方向F123に押し付けられるとともに、モーメントM1の回転方向に押し付けられる。
なお、図13の場合も、図11と同様に、方向F2の押し付け動作は必須ではない。これは、ワークA10にモーメントM1を加えることで、ワークA10の底面が面B11に対してF2方向に押し付けられる作用が生じるためである。
図14は、第一の作業例におけるロボットの押付動作の第七例を説明する図である。以下、図13と異なる点を中心に説明する。
図14では、ジグB20を用いる。ジグB20は、例えば、図15(ジグの構成例を示す図)に示すように構成される。ジグB20は、直方体状であり、ワークが置かれる平面状の面B21と、面B21に略垂直な面B22と、面B21及び面B22に略垂直な面B23とを備える。面B21、面B22、及び面B23は、ワークA10を位置決めする位置決め部として機能する。
図14の説明に戻る。ワークA10の置き方は、ワークA10を軸部A15の先端が上(Z方向)を向くようにジグB20の面B21上に置く。止め輪A20を軸部A15に対して押し付ける方向F10は、図13と同様である。また、作用点Pの位置は、図13と同様である。一方、ワークA10を押し付ける方向は、図13と異なる。
すなわち、制御部20は、他方のアーム11を制御することにより、他方のアーム11を制御することにより、面B21と略直交する方向F2に、ハンド111を押し付ける。また、制御部20は、他方のアーム11を制御することにより、面B21及び面B23の両方と略平行な方向であり、かつ、面B22の方向F3に、ハンド111を押し付ける。方向F3は、面B22を含むXZ平面と略垂直である。さらに、制御部20は、方向F2及び方向F3の両方に略垂直な方向であり、面B23の方向F4に、ハンド111を押し付ける。方向F4は、面B23を含むYZ平面と略垂直である。また、制御部20は、軸MJ1(図示せず)を設定し、当該軸回り(図では、ワークA10をY方向に見て右回り。)のモーメントM1を生じさせるように、アーム11の姿勢を変化させてハンド111を押し付ける。なお、軸MJ1と軸MJ10は、同じ位置であってもよいし、異なる位置であってもよい。これにより、ワークA10が、ジグB20に対して、作用点Pを原点として方向F2、F3、及び方向F4を合成した方向F234に押し付けられるとともに、モーメントM1の回転方向に押し付けられる。
なお、図14の場合も、図13と同様に、方向F2の押し付け動作は必須ではない。これは、ワークA10にモーメントM1を加えることで、ワークA10の底面が面B21に対してF2方向に押し付けられる作用が生じるためである。また、図14の場合、方向F4の押し付け動作は必須ではない。これは、ワークA10に方向F10の力が加わることで、ワークA10の側面が面B23に対してF4方向に押し付けられる作用が生じるためである。
以上のような方向とモーメントにより、ハンド111でワークを押し付けて支えることで、組み付け作業中にワークが動いたり浮いたりしないように、より確実にワークを固定することができる。また、以上のような方向とモーメントにより、ハンド111でワークをジグの位置決め部に対して押し付けることで、より確実にワークを位置決めすることができる。
なお、ワークA10を軸部A15の先端が横(Yの反対方向)を向くようにジグB10上に置いて、止め輪A20の組み付け作業を行う場合は、図8に示したようなF1、F2、F3、及びM2で、ワークA10をジグB10に対して押し付けるようにすればよい。
以上、本発明の一実施形態について説明した。本実施形態によれば、ロボットによる作業において、より確実に、部品などの作業対象物が動かないようにすることができる。
なお、部品の構成は、図示した構成に限られるものではない。すなわち、ワークには、組み付け作業時にある方向に力を加えた場合に、当該ワークが動いたり浮いたりするモーメントが生じる。これに対して、ロボット1は、当該ワークを、組み付け作業時に力を加える方向(止め輪を組み付ける方向)と反対方向と、作業台の方向とに押し付けるとともに、組み付け作業時に発生するモーメントを打ち消す又は減らすような反対のモーメントで押し付ければよい。
また、上記の実施形態では、止め輪の組み付け作業を例に挙げたが、作業の内容はこれに限られない。例えば、ネジ、ピン等の部材をワークに挿入する作業や、ステープル(針)等の部材をワークに打ち込む作業、等であってもよい。これらの場合も、作業時に力を加える方向は、止め輪を組み付ける方向と同様になる。また、組み付け作業時に発生するモーメントも同様になる。
また、上記の実施形態では、ワークとジグ、ワークとワーク、又は、ロボットとワークが、互いに面で接触するように記載しているが、点や線による接触の場合も、物理的には一定の面積を有するため、面接触と同様に考えることができる。
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。本発明は、ロボットと制御装置(制御部)とを別個に有するロボットシステムとして提供してもよいし、当該ロボットシステムのロボット及び制御装置として提供してもよい。また、本発明は、ロボット等を制御する方法、ロボット等を制御するプログラム、当該プログラムを記憶した記憶媒体として提供することもできる。