本発明の実施形態について、図面を参照しながら説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態におけるロボット1の正面斜視図である。図2は、ロボット1の背面斜視図である。本実施形態におけるロボット1は、主として、胴部10と、アーム11と、タッチパネルモニター12と、脚部13と、搬送用ハンドル14と、電子カメラ15と、信号灯16と、電源スイッチ17と、外部I/F部18と、昇降ハンドル19と、を備える。ロボット1は、人間型双腕ロボットであり、制御部20(図7参照)からの制御信号に従い処理を行う。このロボット1は、例えば腕時計のような精密機器等を製造する製造工程で用いることができるものである。なお、この製造作業は、通常、作業台(図示せず)上で行なわれる。
なお、以下では、説明の都合上、図1、図2中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図1の手前側を「正面側」または「正面」といい、図2の手前側を「背面側」または「背面」という。
胴部10は、肩領域10Aと、胴部本体10Bとを有する。胴部10は、本発明のロボット本体に相当する。肩領域10Aは、胴部本体10Bの上に設けられる。肩領域10Aの両側面の上端近傍には、アーム11(いわゆるマニピュレーター)が設けられる。
アーム11は、複数のアーム部材11Aがジョイント(図示せず)により連結されて構成される。ジョイントには、それらを動作させるためのアクチュエーター(図示せず)が設けられる。アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御部20によるロボット1のフィードバック制御に使用される。また、アクチュエーターには、回動軸を固定する電磁ブレーキが設けられる。
アーム11の先端には、図示しない力覚センサーが設けられている。力覚センサーは、ロボット1が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサーとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサーを用いることができる。なお、力覚センサーは、6軸に限らず、例えば3軸でもよい。
アーム11には、作業台の上に載置されたワーク等を撮影するハンドアイカメラ11Bが設けられる。
なお、ロボット1に設けられるのはアーム11に限られない。例えば、複数のジョイントとリンクとにより構成され、ジョイントを動かすことで全体が動くマニピュレーターであれば、どのような形態でもよい。
アーム11の先端には、ワークや操作対象の道具(ここでは、ハンドプレス機のレバーH、図3参照))を把持するハンド110(いわゆるエンドエフェクター)が設けられる。アーム11のエンドポイントの位置は、例えば、ハンド110の取付位置である。
図4、5は、ハンド110の詳細を示す図である。図4は、ハンド110を閉じた状態であり、図5は、ハンド110を開いた状態である。ハンド110は、いわゆる汎用の多指ハンドである。
ハンド110は、主として、本体部111と、本体部111の外側に設けられた4個の可動部112(112A、112B、112C、及び112D)と、可動部112A、112B、112C、112Dにそれぞれ設けられたフィンガー113(113A、113B、113C、及び113D)と、底板部114と、を有する。フィンガー113は、本発明の把持部に相当する。底板部114は、本発明の板部に相当する。
本体部111は、外形形状がほぼ直方体状をなし、その内部に可動部112A、112B、112C、112Dを駆動させる駆動機構(図示せず)が設けられる。
可動部112Aにはシャフト115Aが設けられ、可動部112Bにはシャフト115Bが設けられる。可動部112Cにはシャフト115Cが設けられ、可動部112Dにはシャフト115D(図4、5では図示せず)が設けられる。シャフト115A、115Bは、可動部112Eの内部に設けられた図示しない駆動部に連結され、シャフト115C、115Dは、可動部112Fの内部に設けられた図示しない駆動部に連結される。これらの駆動部は、本体部111内部の駆動機構に連結される。駆動部により2本のシャフト115A、115Bが異なる方向に移動され、かつ2本のシャフト115C、115Dが異なる方向に移動されることで、可動部112A及び可動部112Bと、可動部112C及び可動部112Dとが、すなわちフィンガー113A及びフィンガー113Bと、フィンガー113C及びフィンガー113Dとが、離れる方向又は近づく方向に同時に移動する。
また、可動部112Aにはシャフト115Eが設けられ、可動部112Cにはシャフト115Fが設けられる。可動部112Bにはシャフト115Gが設けられ、可動部112Dにはシャフト115H(図4、5では図示せず)が設けられる。シャフト115E、115Fは、可動部112Gの内部に設けられた図示しない駆動部に連結され、シャフト115G、115Hは、可動部112Hの内部に設けられた図示しない駆動部に連結される。これらの駆動部は、本体部111内部の駆動機構に連結される。駆動部により2本のシャフト115E、115Fが異なる方向に移動され、かつ2本のシャフト115G、115Hが異なる方向に移動されることで、可動部112A及び可動部112Cと、可動部112B及び可動部112Dとが、すなわちフィンガー113A及びフィンガー113Cと、フィンガー113B及びフィンガー113Dとが、離れる方向又は近づく方向に同時に移動する。
このように、フィンガー113A、113B、113C、113D同士を互いに接近させることにより、これらの間で部品等の把持対象物(ここでは、レバーH、図3参照)を把持することができる。また、駆動機構によりこの把持状態からフィンガー113A、113B、113C、113D同士を互いに離間させることにより、把持対象物を解放することができる。
なお、フィンガー113の先端は、略四角錐状に形成されている。また、フィンガー113は、本体部111の辺に対して略45度(45度に限らず、45度に対し数度程度の誤差を含む概念である)ずつ本体部111の内側に向けて傾いている。したがって、図4に示すように、ハンド110を閉じた状態では、フィンガー113A、113B、113C、113Dが先端近傍で接触する。ここで、略四角錐とは、四角錐に限らず、一部に曲線が含まれる等、四角錐と同一性を有する形状を含む概念である。
また、本体部111の下側(フィンガー113が設けられている側)には、板状の底板部114が設けられる。底板部114は、4本のフィンガー113の移動方向と水平な面を有する。底板部114には、シャフト116が設けられ、シャフト116は本体部111の内部に設けられた図示しない駆動機構に連結される。これにより、シャフト116、すなわち底板部114が上下(本体部111に対して遠ざかる又は近づく方向)に移動できる。
なお、本実施の形態では、エンドエフェクターとしてハンド110を用いたが、エンドエフェクターはハンド110に限られない。例えば、本実施の形態では、フィンガー113A、113B、113C、113Dが4本設けられるが、フィンガーは4本以上であればよく、4本に限られない。
肩領域10Aから上に突出する、頭部に当たる部分には、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を有する、電子カメラ15と、信号灯16とが設けられる。電子カメラ15は、例えば、作業台等を撮像することができる。信号灯16は、例えば、赤色の光、黄色の光、青色の光をそれぞれ発するLEDを有し、これらのLEDがロボット1の現在の状態に応じて適宜選択されて発光する。
胴部本体10Bは、脚部13のフレーム上に設けられる。なお、脚部13はロボットの基台であり、胴部10はロボットの胴体である。
胴部本体10Bの背面には、昇降ハンドル19が設けられる。昇降ハンドル19は、肩領域10Aを、胴部本体10Bに対して上下方向に移動させる。これにより、様々な高さの作業台に対応することができる。
また、胴部本体10Bの背面側には、ロボット1の背面側から視認可能なモニターを有するタッチパネルモニター12が配置されている。液晶モニターは、例えばロボット1の現在の状態を表示することができる。また、液晶モニターは、タッチパネル機能を有しており、ロボット1に対する動作の設定を行なう操作部としても用いられる。
脚部13の背面には、電源スイッチ17と、制御部20と外部のPC等を接続する外部接続端子である外部I/F部18とが設けられる。電源スイッチ17は、ロボット1の電源を投入する電源ONスイッチ17aと、ロボット1の電源を遮断する電源OFFスイッチ17bとを有する。
脚部13の内部には、ロボット1自身を制御する制御部20等が設けられる。脚部13の内部には、上方向に突出し、かつ胴部本体10Bの長手方向に沿って、回動軸が設けられ、この回動軸には肩領域10Aが設けられる。
また、脚部13の最下部には、図示しない複数のキャスターが水平方向に間隔をおいて設置されている。これにより、作業者が搬送用ハンドル14を押すこと等によりロボット1を移動搬送することができる。なお、胴部10及び脚部13を含めたものを、本発明のロボット本体に相当するとしてもよい。
次に、ロボット1の機能構成例について説明する。図6は、制御部20の機能ブロック図を示している。
制御部20は、主として、全体制御部200と、位置制御部201と、力制御部202と、ハンド制御部203と、を備える。
全体制御部200は、制御部20の全体を制御する処理を行う。
位置制御部201は、アクチュエーターのエンコーダー値に基づいて、あらかじめ定められた経路上をハンド110が移動するように、アーム11を駆動させる信号を出力する(位置制御)。この信号は、アーム駆動アンプ11bで増幅され、アーム駆動アクチュエーター11aに入力される。位置制御部201は、電子カメラ15で撮影した画像に基づいてレバーHの球部Haの位置を認識し、認識した位置にハンドを移動可能な経路を生成する。そして、位置制御部201は、生成した経路に基づいてアーム11のエンドポイントを移動させる。これにより、アーム11のエンドポイント(ハンド110)を球部Haの位置に移動させる。位置制御は、すでに一般的な技術であるため、詳細な説明を省略する。
なお、アーム11のエンドポイント(ハンド110)を球部Haの位置に移動させるのは、位置制御に限らず、電子カメラ15で撮影した画像に基づくビジュアルサーボにより行ってもよい。
力制御部202は、力覚センサー11cのセンサー値等に基づいてハンド110が移動するように、アーム11を駆動させる信号を出力する(力制御)。力制御は、すでに一般的な技術であるため、詳細な説明を省略する。
本実施の形態では、位置制御部201により位置制御でハンド110を移動させつつ、力制御部202によりハンド110を移動させることにより、レバーHを回動させる。このときに位置制御部201が用いる経路は、1又は複数の直線からなる。当該処理については、後に詳述する。
ハンド制御部203は、エンドポイントを目標位置に移動させると、ハンド110へ作業を行わせる(ここでは、レバーHの先端を把持する)ための信号を出力する。この信号は、ハンド駆動アンプ110bで増幅され、ハンド駆動アクチュエーター110aに入力される。ハンド制御部203が行う処理については、すでに一般的な技術であるため、詳細な説明を省略する。
なお、本実施の形態では、制御部20を脚部13の内部に設けたが、制御部20は、ロボット1の外部に設けてもよい。制御部20をロボット1の外部に設ける場合には、制御部20は、有線又は無線でロボット1と接続される。
図7は、制御部20の概略構成の一例を示すブロック図である。図示するように、例えばコンピューターなどで構成される制御部20は、演算装置であるCPU(Central Processing Unit)21と、揮発性の記憶装置であるRAM(Random Access Memory)や不揮発性の記憶装置であるROM(Read only Memory)からなるメモリー22と、外部記憶装置23と、ロボット1等の外部の装置と通信を行う通信装置24と、タッチパネルモニター等の入力装置を接続する入力装置インターフェイス(I/F)25と、タッチパネルモニター等の出力装置を接続する出力装置I/F26と、制御部20と他のユニットを接続するI/F27と、を備える。
上記の各機能部は、例えば、CPU21がメモリー22に格納された所定のプログラムをメモリー22に読み出して実行することにより実現される。なお、所定のプログラムは、例えば、予めメモリー22にインストールされてもよいし、通信装置24を介してネットワークからダウンロードされてインストール又は更新されてもよい。
以上のロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なロボットシステムが備える構成を排除するものではない。
次に、本実施形態における、上記構成からなるロボット1の特徴的な処理について説明する。図8は、ハンド110によりレバーHを把持して回動させる処理の流れを示すフローチャートである。図9は、図8に示す処理を説明する図である。図8に示す処理は、例えばタッチパネルモニター12を介して、制御部20に何等かの作業開始指示が入力されることにより、開始される。
全体制御部200は、制御部20に作業開始指示が入力されると、位置制御部201及びハンド制御部203に指示を出力する。図9に示すように、位置制御部201は、図9の位置1(レバーを操作していない初期状態における位置)にある球部Haの外周面に底板部114が当接する位置に、アーム11のエンドポイントをレバーHの先端上方に配置させる。そして、ハンド制御部203は、4本のフィンガー113を用いてレバーHの先端に設けられた球部Haを把持する(ステップS100)。
球部Haの把持方法について、詳細に説明する。図10は、ハンド110で球部Haを把持した状態を、フィンガー113と球部Haとの当接位置及び球部Haの中心を通る面で切断した図である。なお、図10においては、断面を示すハッチングを省略している。
図10に示すように、ハンド110は、底板部114と、フィンガー113A、113C(図示しないフィンガー113B、113Dを含む、図10の説明において以下同じ)とが球部Haに当接している。また、図9に示すように、球部Haの中心よりレバーHの接続部に近い位置(図10斜線部参照)でフィンガー113A、113Cと球部Haとが当接している。この位置でフィンガー113と球部Haとが当接することで、球部Haがハンド110から抜けることが防止される。
また、ハンド110は、フィンガー113A、113C及び底板部114に対して、球部Haが摺動できるように把持する。例えば、フィンガー113A、113Cの把持力を一定の閾値以下とすることで、フィンガー113A、113C及び底板部114と、球部Haとの摩擦力を一定以下となる。その結果、球部Haがフィンガー113A、113C及び底板部114に対して摺動可能となる。なお、ハンド110の把持力は、フィンガー113A、113Cを動かすモーター及びフィンガー113B、113Dを動かすモーター(1つのモーターでフィンガー113A、113C、フィンガー113B、113Dを動かす)のトルクから求めることができる。
なお、ハンド110が球部Haを把持するときには、ハンド110が下向き(フィンガー113が本体部111から下に突出する向き)である。これは、後に説明する処理において用いる力覚センサー11cの重力補正を不要とするためである。
図8の説明に戻る。全体制御部200は、ステップS100が終了したら、次の処理を開始するように位置制御部201及び力制御部202に指示を出力する。位置制御部201は、水平方向の直線にそってハンド110(アーム11のエンドポイントを含む、以下同じ)を手前(図3における下向き)に移動させるように、アーム11に指示を出力する(ステップS102)。ここで、手前とは、現在のハンド110の位置に対して、ハンド110をロボット1へ近づける側である。なお、水平とは、水平のみでなく、水平に対して数度の誤差を含む概念である。
図9は、レバーHの動作を説明しやすくするため、ロボット1が左側にある状態(図における左側が手前側)を示している。図9における矢印Aで示すように、位置制御部201により、経路として、図9左側に向かう水平方向の直線がアーム11に出力されている。矢印Aは、位置1から位置3までレバーHが移動可能な範囲の直線である。ここで、位置1は、レバーHが操作されていない初期状態であり、位置3は、レバーHが手前側略45度まで移動した位置である。略45度とは、45度に限定されず、45度に対して同一性を失わない範囲(例えば数度)の誤差を含む概念である。
本実施の形態では、手前にレバーHが回動可能なようにハンドプレス機が作業台Tに配設されているが、ハンドプレス機の配設方向はこれに限られない。ロボット1から見て右側にレバーHが回動可能なように、ハンドプレス機が作業台Tに配設される場合には、見水平方向かつ右側に移動させるように、アーム11に指示を出力する。
図8の説明に戻る。力制御部202は、ステップS102の処理が開始されると、力覚センサー11cの検出値に基づいてハンド110を移動させる力制御を開始する(ステップS104)。なお、図8においては、ステップS102の次にステップS104を記載しているが、ステップS102及びステップS104は同時に行われる。また、図8においては、ステップS104の処理は、ステップS102の開始の直後に開始しているが、ステップS102の処理とステップS104の処理とを同時に開始してもよい。
ステップS104の処理について説明する。図11は、力覚センサーが検出する力の向きを示す図である。力覚センサー11cは、水平方向の力Fx、Fyと、鉛直方向の力Fzとが検出可能である。力Fx、Fyの向きは略90度異なり、力Fxは手前及び奥側(図9における左右方向)であり、力Fyの向きは左右(図9、10における紙面に垂直な方向)である。ここで、鉛直とは、鉛直のみでなく、鉛直に対して同一性を失わない範囲(例えば数度)の誤差を含む概念である。また、略90度とは、90度のみでなく、90度に対して同一性を失わない範囲(例えば数度)の誤差を含む概念である。
ステップS104では、鉛直方向の力Fzを力覚センサー11cで検出し、力制御部202は、力覚センサー11cで検出された力の方向にハンド110を移動させる。
レバーHを回動させるとレバーHの先端の球部Haは円弧を描く。水平方向の直線に沿ってアーム11を動かそうとすると、レバーHが図9における位置1から位置2にある間では、ハンド110には鉛直上向きの力がかかる。その結果、力制御部202が行う力制御により、ハンド110が鉛直上向きに移動される。なお、位置2は、球部Haが、レバーHの他端に設けられた回動軸の鉛直上方に位置する状態である。
また、ハンド110が球部Haを把持しているため、水平方向の直線に沿ってアーム11を動かそうとすると、レバーHが図9における位置2から位置3にある間では、ハンド110には鉛直下向きの力がかかる。その結果、力制御部202が行う力制御により、ハンド110が鉛直下向きに移動される。
したがって、位置制御部201による移動方向(水平方向)と、力制御部202による移動方向(鉛直上向きまたは鉛直下向き)とを合成すると、ハンド110は、レバーHの先端の球部Haの円弧軌道を倣うように移動する。
ステップS104では、位置制御部201による経路である水平方向と球部Haの軌道との差異、すなわち力制御によりハンド110を移動させたい方向は鉛直方向であるため、力制御部202は、力覚センサー11cで検出された鉛直方向の力Fzを取得するが、力覚センサー11cで検出された水平方向の力Fx、Fy及び鉛直方向の力Fzを力制御部202が取得し、これに基づいて力制御を行うようにしてもよい。
なお、ステップS102、S104は、ハンド110が球部Haを把持していない状態でも行うことができる。ハンド110が球部Haを把持している場合には、ステップS104で力制御を加えることにより、ハンド110は円弧軌道を倣うように移動するが、ハンド110が球部Haを把持していない場合には、力制御が行われない(力覚センサー11cで力が検出されない)ため、ハンド110は、ステップS102で用いられた経路である水平方向の直線に沿って移動する。
全体制御部200は、位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わったか否かを判断する(ステップS106)。位置制御部201は、予め定められた水平方向の直線に沿ってハンド110を移動させ終わったときに、位置制御部201が全体制御部200に終了したことを示す信号を出力し、全体制御部200がこの信号を受信すると、位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わったと全体制御部200が判断する。
位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わっていない場合(ステップS106でNO)は、全体制御部200は処理をステップS102に戻し、位置制御部201及び力制御部がステップS102及びS104の処理を継続する。
位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わった場合(ステップS106でYES)は、全体制御部200は、次の処理を開始するように位置制御部201及び力制御部202に指示を出力する。位置制御部201は、鉛直下向きの直線にそってハンド110を手前に移動させるように、アーム11に指示を出力する(ステップS108)。
図9における矢印Bで示すように、位置制御部201により、経路として、図9下側に向かう鉛直下向きの直線がアーム11に出力されている。矢印Bは、位置3から位置4までレバーHが移動可能な範囲の直線である。
図8の説明に戻る。力制御部202は、ステップS102の処理が開始されると、力覚センサー11cの検出値に基づいてハンド110を移動させる力制御を開始する(ステップS110)。なお、図8においては、ステップS108の次にステップS110を記載しているが、ステップS108及びステップS110は同時に行われる。また、図8においては、ステップS110の処理は、ステップS108の処理の開始の直後に開始しているが、ステップS108の処理とステップS110の処理とを同時に開始してもよい。
ステップS110の処理について説明する。ステップS110では、水平方向の力Fx、Fyを力覚センサー11cで検出し、力制御部202は、力覚センサー11cで検出された力の方向にハンド110を移動させる。
すでに説明したように、レバーHを回動させるとレバーHの先端の球部Haは円弧を描く。鉛直方向の直線に沿ってアーム11を動かそうとすると、ハンド110には水平方向の力がかかる。図9に示す場合においては、レバーHを位置3から位置4へ移動させる時に、ハンド110には手前側又は奥側の力Fx(図9における左右方向)の力がかかる。その結果、力制御部202が行う力制御により、ハンド110が手前側又は奥側に移動される。また、レバーHの軸支部Hbのがたつき等により、ハンド110には左右方向の力Fy(図9における紙面に垂直な方向)の力がかかる。その結果、力制御部202が行う力制御により、ハンド110が左右方向に移動される。
したがって、位置制御部201による移動方向(鉛直下向き)と、力制御部202による移動方向(手前側又は奥側、左右方向)とを合成すると、ハンド110は、レバーHの先端の球部Haの円弧軌道を倣うように移動する。
なお、ステップS110では、手前側又は奥側の力Fx(図9における左右方向)の力のみを力覚センサー11cで検出してもよい。また、力覚センサー11cですべての方向の力(水平方向の力Fx、Fy及び鉛直方向の力Fz)を検出し、力制御部202がすべての方向の力に基づいて力制御を行うようにしてもよい。
なお、ステップS108、S110は、ハンド110が球部Haを把持していない状態でも行うことができる。ハンド110が球部Haを把持している場合には、ステップS110で力制御を加えることにより、ハンド110は円弧軌道を倣うように移動するが、ハンド110が球部Haを把持していない場合には、力制御が行われない(力覚センサー11cで力が検出されない)ため、ハンド110は、ステップS108で用いられた経路である鉛直下向きの直線に沿って移動する。
ステップS108、S110の処理を行っている間に、レバーHとハンド110との位置関係によっては、レバーHとフィンガー113とが当たってしまう場合がある。レバーHとフィンガー113とが当たると、フィンガー113の先端が略四角錐状であるため、力覚センサー11cにより、モーメントMzが検出される。なお、力覚センサー11cは、水平方向の力Fx、Fy及び鉛直方向の力Fzに加え、これら3方向についての回転方向のモーメントMx、My、Mzを検出できる。
このような場合には、力制御部202は、図9の位置4において図示するように、モーメントMzが検出された方向にハンド110を回転させるように、アーム11を制御する(ステップS112)。ステップS112の処理は、ステップS108、S110の処理と同時に行われる。なお、球部Haの大きさ等の条件によっては、レバーHとフィンガー113とが当たらない場合も考えられるが、このような場合にはステップS112は行われない。
全体制御部200は、位置制御部201が鉛直下向きの直線に沿ってハンド110を移動させ終わったか否か、すなわちレバーHの操作が終了したか否かを判断する(ステップS114)。位置制御部201は、予め定められた鉛直下向きの直線に沿ってハンド110を移動させ終わったときに、位置制御部201が全体制御部200に終了したことを示す信号を出力し、全体制御部200がこの信号を受信すると、位置制御部201が鉛直下向きの直線に沿ってハンド110を移動させ終わったと全体制御部200が判断する。
レバーHの操作が終了していない場合(ステップS114でNO)は、全体制御部200は処理をステップS108に戻し、位置制御部201及び力制御部がステップS108、S110及びS112の処理を継続する。
レバーHの操作が終了した場合(ステップS114でYES)は、全体制御部200は、図8に示す処理を終了する。
本実施の形態によれば、汎用のハンド110を用いてハンドプレス機のレバーHを把持したまま、レバーHを回動させることができる。ハンド100をハンドプレス機専用に占有しないため、必要なときのみハンドプレス機を操作でき、それ以外の時には別な組立作業(例えば、締結部品の給材、除材、圧入操作等)に従事できるため、多品種少量の組立システムが実現できる。また、人が作業現場で扱うハンドプレス機を、特別なアタッチメントを用意することなく使用できるため、装置コストを削減することができる。
また、本実施の形態によれば、直線からなる経路を用いて位置制御と力制御とにより回動動作を行うため、レバーHの球部Haが描く円弧状の経路をロボット言語で生成する必要がなく、経路生成を容易にすることができる。また、力制御を用いるため、操作方向に制約があっても、それに倣った操作をロボット1に行わせることができる。
なお、本実施の形態では、回動動作(回転動作の一部が含まれる)としてハンドプレス機のレバーHを押し下げる例を用いて説明したが、回動動作はこれに限られない。本発明は、蓋を開ける等の押し上げ動作にも適用可能である。この場合には、水平方向の直線と、その次の鉛直下向きの直線とからなる経路の代わりに、鉛直上向きの直線と、その次の水平方向の直線とからなる経路を用いればよい。そして、鉛直上向きの直線に沿ってアーム11を位置制御により移動させている場合には、鉛直下向きの場合(ステップS110)と同様、最低限手前側又は奥側の力Fxを力覚センサー11cで検出すればよい。また、この時、モーメントを検出してハンド110を回転させる処理(ステップS112)を同時に行ってもよい。
また、本実施の形態では、ハンドプレス機のレバーHの先端に球部Haが設けられた例を用いて説明したが、ハンドプレス機のレバーHの先端に設けられるのは球形の部材でなくてもよく、例えばレバーHの先端に立方体が設けられていてもよい。さらに、ハンドプレス機のレバーHの先端に、球状や立方体の部材が設けられていなくてもよい。
また、本実施の形態では、ハンド110が球部Haを把持するときのハンド110の姿勢が下向きであるが、ハンド110が球部Haを把持するときのハンド110の姿勢は下向きに限定されない。例えば、ハンド110の姿勢は横向き(フィンガー113が本体部111から横方向に突出する向き)でもよいし、斜め向きでもよい。また、本実施の形態では、ハンド110の姿勢を変えずに位置1〜位置4までレバーHを移動させたが、アーム11の姿勢等の条件によっては、レバーHを移動させる途中でハンド110の姿勢を変えるようにしてもよい。しかしながら、処理を容易にし、処理速度を早くするためには、ハンド110の姿勢が下向きであることが望ましいし、ハンド110の姿勢を変えずにレバーHを移動させることが望ましい。
<第2の実施形態>
本発明の第1の実施形態は、位置制御により、水平方向の直線と、その次の鉛直下向きの直線とからなる経路に沿ってアーム11のエンドポイントを移動させたが、直線からなる経路はこれに限られない。
本発明の第2の実施の形態は、水平方向の直線と、斜め方向の直線とからなる経路に沿ってアーム11のエンドポイントを移動させる形態である。以下、第2の実施の形態について説明する。第2の実施の形態に用いるロボット2は、第1の実施の形態に用いるロボット1と同一であるため、同一の符号を用い、説明を省略する。以下、ロボット2の特徴的な処理について説明する。
図12は、ハンド110によりレバーHを把持して回動させる処理の流れを示すフローチャートである。図13は、図12に示す処理を説明する図である。図12に示す処理は、例えばタッチパネルモニター12を介して制御部20に何等かの作業開始指示が入力されることにより、開始される。以下、図8と同一の部分については、同一の符号を付し、詳細な説明を省略する。
全体制御部200は、制御部20に作業開始指示が入力されると、位置制御部201及びハンド制御部203に指示を出力し、位置制御部201は、底板部114が球部Haの外周面に当接する位置に、アーム11のエンドポイントをレバーHの先端上方に配置させる。そして、ハンド制御部203は、4本のフィンガー113を用いてレバーHの先端に設けられた球部Haを把持する(ステップS100)。
全体制御部200は、ステップS100が終了したら、次の処理を開始するように位置制御部201及び力制御部202に指示を出力する。位置制御部201は、水平方向の直線にそってハンド110を手前に移動させるように、アーム11に指示を出力する(ステップS103)。ステップS102と、ステップS103との違いは、経路の一部である水平方向の直線の長さである。ステップS102では、図9に示す位置1から位置3までの長さの直線Aであったが、ステップS103では、図13に示す位置1から位置2までの長さの直線A1である。ここで、位置1、2については、図9と図13とで共通である。
なお、ステップS103における直線の長さは、位置1から位置2までの長さに限定されない。位置2の代わりに、位置1と位置3との間の任意の位置とすることができる。
力制御部202は、ステップS102の処理が開始されると、力覚センサー11cの検出値に基づいてハンド110を移動させる力制御を開始する(ステップS104)。
全体制御部200は、位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わったか否かを判断する(ステップS106)。
位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わっていない場合(ステップS106でNO)は、全体制御部200は処理をステップS102に戻し、位置制御部201及び力制御部がステップS102及びS104の処理を継続する。
位置制御部201が水平方向の直線に沿ってハンド110を移動させ終わった場合(ステップS106でYES)は、全体制御部200は、次の処理を開始するように位置制御部201及び力制御部202に指示を出力する。位置制御部201は、は、斜め下向きの直線にそってハンド110を手前に移動させるように、アーム11に指示を出力する(ステップS109)。
ステップS109について説明する。図13における矢印Cに示すように、経路として、斜め方向(ここでは、斜め下向き)の直線がアーム11に出力されている。矢印Cは、位置2から位置4までレバーHが移動可能な範囲の直線である。
斜めの方向は、レバーHの移動元の位置(ここでは、位置2)から、レバーHの移動先の位置(ここでは、位置4)の方向に向かう直線の方向を含む直線の方向である。本実施の形態では、位置2から位置4の方向に向かう直線の方向を、斜め下向きの方向とする。
力制御部202は、ステップS103の処理が開始されると、力覚センサー11cの検出値に基づいてハンド110を移動させる力制御を開始する(ステップS111)。なお、図12においては、ステップS109の次にステップS111を記載しているが、ステップS109及びステップS111は同時に行われる。また、図12においては、ステップS111の処理は、ステップS109の開始の直後に開始しているが、ステップS109の処理とステップS111の処理とを同時に開始してもよい。
ステップS110とステップS111は、力覚センサー11cで検出された力の方向のみが異なる。ステップS110では、水平方向の力Fx、Fyを検出したが、ステップS111では、すべての方向の力(水平方向の力Fx、Fy及び鉛直方向の力Fz)を検出し、力制御部202がすべての方向の力に基づいて力制御を行う。その他についてはステップS110と同じである。
なお、ステップS109、S111は、ハンド110が球部Haを把持していない状態でも行うことができる。ハンド110が球部Haを把持している場合には、ステップS111で力制御を加えることにより、ハンド110は円弧軌道を倣うように移動するが、ハンド110が球部Haを把持していない場合には、力制御が行われない(力覚センサー11cで力が検出されない)ため、ハンド110は、ステップS109で用いられた経路である斜め下方向の直線に沿って移動する。
また、力制御部202は、ステップS109、S111と同時に、モーメントMzが検出された方向にハンド110を回転させるように、アーム11を制御する(ステップS112)。
全体制御部200は、位置制御部201が斜め下向きの直線に沿ってハンド110を移動させ終わったか否か、すなわちレバーHの操作が終了したか否かを判断する(ステップS114)。位置制御部201は、予め定められた斜め下向きの直線に沿ってハンド110を移動させ終わったときに、位置制御部201が全体制御部200に終了したことを示す信号を出力し、全体制御部200がこの信号を受信すると、位置制御部201が斜め下向きの直線に沿ってハンド110を移動させ終わったと全体制御部200が判断する。
レバーHの操作が終了していない場合(ステップS114でNO)は、全体制御部200は処理をステップS109に戻し、位置制御部201及び力制御部がステップS109、S111及びS112の処理を継続する。
レバーHの操作が終了した場合(ステップS114でYES)は、全体制御部200は、図12に示す処理を終了する。
本実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。第1の実施の形態と、第2の実施の形態とを、回動動作の半径等の条件により使い分けることで、様々な状況に対応することができる。
なお、本実施の形態では、回動動作としてハンドプレス機のレバーHを押し下げる例を用いて説明したが、第1の実施の形態と同様、蓋を開ける等の押し上げ動作にも適用可能である。斜めの方向は、蓋の移動元の位置から、蓋の移動先の位置の方向に向かう直線であるため、蓋を上にあげて開く場合には斜め上向きの直線に沿ってハンド110を位置制御で移動させればよい。また、ステップS111では、全ての方向の力を力覚センサー11cで検出してもよい。
また、本実施の形態では、斜めの方向は、対象物の移動元の位置から、対象物の移動先の位置に向かう直線であるが、移動元の位置及び移動先の位置は、厳密に移動元の位置及び移動先の位置に限定されるものではない。また、斜めの方向は、対象物の移動元の位置から対象物の移動先の位置に向かう直線に限られない。例えば、図14に示すように、移動元の位置(ここでは位置2)を含む所定の領域内に頂点を設定し、移動元の位置から対象物の移動先の位置(ここでは位置4)に向かう直線を含む任意の大きさの扇型の領域を設定し、移動元の位置から移動先の位置である扇型の領域内の任意の位置に向かう直線としてもよい。なお、本発明では、移動元の位置とは、厳密な移動元の位置(ここでは位置2)を含む所定の領域内の任意の位置であり、移動先の位置とは、扇型の領域内の任意の位置である。
<第3の実施形態>
本発明の第1、2の実施形態は、位置制御により、水平方向の直線と、その次の鉛直下向き又は斜め向きの直線とからなる経路に沿ってアーム11のエンドポイントを移動させたが、直線からなる経路はこれに限られない。
本発明の第3の実施の形態は、1本の直線からなる経路に沿ってアーム11のエンドポイントを移動させる形態である。以下、第3の実施の形態について説明する。第3の実施の形態に用いるロボット3は、第1の実施の形態に用いるロボット1と同一であるため、同一の符号を用い、説明を省略する。以下、ロボット3の特徴的な処理について説明する。
図15は、ハンド110によりレバーHを把持して回動させる処理の流れを示すフローチャートである。図16は、図15に示す処理を説明する図である。図15に示す処理は、例えばタッチパネルモニター12を介して制御部20に何等かの作業開始指示が入力されることにより、開始される。以下、図8と同一の部分については、同一の符号を付し、詳細な説明を省略する。
全体制御部200は、制御部20に作業開始指示が入力されると、位置制御部201及びハンド制御部203に指示を出力し、位置制御部201は、底板部114が球部Haの外周面に当接する位置に、アーム11のエンドポイントをレバーHの先端上方に配置させる。そして、ハンド制御部203は、4本のフィンガー113を用いてレバーHの先端に設けられた球部Haを把持する(ステップS100)。
全体制御部200は、ステップS100が終了したら、全体制御部200は、次の処理を開始するように位置制御部201及び力制御部202に指示を出力する。位置制御部201は、は、斜め下向きの直線にそってハンド110を手前に移動させるように、アーム11に指示を出力する(ステップS107)。
ステップS107について説明する。図16に示す矢印Dに示すように、経路として、斜め方向(ここでは、斜め下向き)の直線がアーム11に出力されている。矢印Dは、位置1から位置4までレバーHが移動可能な範囲の直線である。
斜めの方向は、レバーHの移動元の位置(ここでは、位置1)から、レバーHの移動先の位置(ここでは、位置4)の方向に向かう直線の方向を含む直線の方向である。本実施の形態では、位置1から位置4の方向に向かう直線の方向を、斜め下向きの方向とする。
力制御部202は、ステップS107の処理が開始されると、力覚センサー11cの検出値に基づいてハンド110を移動させる力制御を開始する(ステップS111)。
なお、ステップS107、S111は、ハンド110が球部Haを把持していない状態でも行うことができる。ハンド110が球部Haを把持している場合には、ステップS111で力制御を加えることにより、ハンド110は円弧軌道を倣うように移動するが、ハンド110が球部Haを把持していない場合には、力制御が行われない(力覚センサー11cで力が検出されない)ため、ハンド110は、ステップS107で用いられた経路である斜め下方向の直線に沿って移動する。
また、力制御部202は、ステップS107、S111と同時に、モーメントMzが検出された方向にハンド110を回転させるように、アーム11を制御する(ステップS112)。
全体制御部200は、位置制御部201が斜め下向きの直線に沿ってハンド110を移動させ終わったか否か、すなわちレバーHの操作が終了したか否かを判断する(ステップS114)。位置制御部201は、予め定められた斜め下向きの直線に沿ってハンド110を移動させ終わったときに、位置制御部201が全体制御部200に終了したことを示す信号を出力し、全体制御部200がこの信号を受信すると、位置制御部201が斜め下向きの直線に沿ってハンド110を移動させ終わったと全体制御部200が判断する。
レバーHの操作が終了していない場合(ステップS114でNO)は、全体制御部200は処理をステップS107に戻し、位置制御部201及び力制御部がステップS107、S111及びS112の処理を継続する。
レバーHの操作が終了した場合(ステップS114でYES)は、全体制御部200は、図15に示す処理を終了する。
本実施の形態によれば、第1の実施の形態と同様の効果を得ることができる。また、本実施の形態によれば、位置制御の経路が1本の直線からなるため、より位置制御の指示の入力を簡単にすることができる。
なお、本実施の形態は、第2の実施の形態と同様、蓋を開ける等の押し上げ動作にも適用可能である。また、本実施の形態における斜めの方向を規定する対象物の移動元の位置及び移動先の位置は、第2の実施の形態と同様、厳密に移動元の位置及び移動先の位置に限定されるものではない。
なお、第1〜第3の実施の形態は、ハンドプレス機のレバーを斜め下方向へ押し下げる例を用いて説明したが、本発明はハンドプレス機に限定されるものではない。例えば、操作面の制約を受ける作業であれば、ドアの開閉、ジグのレバー操作、蓋の開け閉め、トルクレンチの操作など、一端が回動自在に軸支された部材を回動させる様々な操作に適用できる。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。特に、本発明は、ロボットと、制御部及び撮像部とが別に設けられたロボットシステムとして提供してもよいし、ロボットに制御部等が含まれたロボットとして提供してもよいし、制御部のみ、又は制御部及び撮像部からなるロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御するプログラムやプログラムを記憶した記憶媒体として提供することもできる。