本発明の一実施形態について、図面を参照しながら説明する。
図1は、本発明の一実施形態におけるロボット1の正面斜視図である。図2は、ロボット1の背面斜視図である。本実施形態におけるロボット1は、主として、胴部10と、アーム11と、タッチパネルモニター12と、脚部13と、搬送用ハンドル14と、電子カメラ15と、信号灯16と、電源スイッチ17と、外部I/F部18と、昇降ハンドル19と、を備える。ロボット1は、人間型双腕ロボットであり、制御部20(図6参照)からの制御信号に従い処理を行う。このロボット1は、例えば腕時計のような精密機器等を製造する製造工程で用いることができるものである。なお、この製造作業は、通常、作業台(図示せず)上で行なわれる。
なお、以下では、説明の都合上、図1、図2中の上側を「上」または「上方」、下側を「下」または「下方」と言う。また、図1の手前側を「正面側」または「正面」といい、図2の手前側を「背面側」または「背面」という。
胴部10の両側面の上端近傍には、それぞれアーム11(いわゆるマニピュレーター)が設けられる。
アーム11の先端には、ワークや道具を把持するハンド111(いわゆるエンドエフェクター)が設けられる。アーム11のエンドポイントの位置は、ハンド111の位置である。ハンド111の詳細については後述する。なお、エンドエフェクターはハンド111に限られない。
また、アーム11には、作業台の上に載置されたワーク等を撮影するハンドアイカメラ11Gが設けられる。
アーム11の詳細については、後に詳述する。なお、ロボット1に設けられるのはアーム11に限られない。例えば、複数のジョイントとリンクとにより構成され、ジョイントを動かすことで全体が動くマニピュレーターであれば、どのような形態でもよい。
胴部10は、脚部13のフレーム上に設けられる。なお、脚部13はロボットの基台であり、胴部10はロボットの胴体である。胴部10は、本発明のロボット本体に相当する。なお、胴部10のみでなく、脚部13を含めてロボット本体としてもよい。
脚部13の内部には、ロボット1自身を制御する制御部20等が設けられる。脚部13の内部には回転軸が設けられ、この回転軸には胴部10の肩領域10Aが設けられる。
脚部13の背面には、電源スイッチ17と、制御部20と外部のPC等を接続する外部接続端子である外部I/F部18とが設けられる。電源スイッチ17は、ロボット1の電源を投入する電源ONスイッチ17aと、ロボット1の電源を遮断する電源OFFスイッチ17bとを有する。
また、脚部13の最下部には、図示しない複数のキャスターが水平方向に間隔をおいて設置されている。これにより、作業者が搬送用ハンドル14を押すこと等によりロボット1を移動搬送することができる。
胴部10から上に突出する、頭部に当たる部分には、CCD(Charge Coupled Device)、CMOS(Complementary Metal Oxide Semiconductor)等を有する電子カメラ15と、信号灯16とが設けられる。電子カメラ15は、例えば、作業台等を撮像することができる。信号灯16は、例えば、赤色の光、黄色の光、青色の光をそれぞれ発するLEDを有し、これらのLEDがロボット1の現在の状態に応じて適宜選択されて発光する。
胴部10の背面には、昇降ハンドル19が設けられる。昇降ハンドル19は、胴部10の最上部にある肩領域10Aを、胴部本体10Bに対して上下方向に移動させる。これにより、様々な高さの作業台に対応することができる。
また、胴部10の背面側には、ロボット1の背面側から視認可能なモニターを有するタッチパネルモニター12が配置されている。液晶モニターは、例えばロボット1の現在の状態を表示することができる。また、液晶モニターは、タッチパネル機能を有しており、ロボット1に対する動作の設定を行なう操作部としても用いられる。
図3は、ハンド111の詳細を示す斜視図である。図3の(a)はフィンガー111Bの把持面111B−1(詳細は後述)同士を当接させたときの図であり、(b)は把持面111B−1を離れさせたときの図である。
ハンド111は、本体部111Aと、フィンガー111Bと、底板部111Cと、可動部111Dと、シャフト111Eとを含む。本体部111Aは、外形形状がほぼ直方体状をなし、その周囲には可動部111Dが配置されている。フィンガー111Bは、可動部111Dに設けられる。フィンガー111Bの先端はほぼ四角錐状に形成され、この四角錐状の側面のうち少なくとも1つが、対象物を把持するための把持面111B−1として形成される。1つのフィンガー111Bに設けられる把持面111B−1の数は特に限定しないが、ここでは2つであるものとして説明する。把持面111B−1の詳細については後述する。
フィンガー111Bの本数は、限定はしないが、例えば2本〜4本である。図3では、1つの可動部111Dに1つのフィンガー111Bが設けられているが、これに限るわけではなく、1つの可動部111Dに設けられるフィンガー111Bの数は任意である。フィンガー111Bの間に位置するように、本体部111Aには底板面111C−1を含む底板部111Cが設けられる。あるフィンガー111Bに形成される把持面111B−1は、他のフィンガー111Bに形成される把持面111B−1と互いに平行に設けられる。各把持面111B−1は底板面111C−1に対し垂直に設けられる。フィンガー111Bが本発明の指部に相当する。また、底板部111Cが本発明の受け部に相当し、底板面111C−1が本発明の受け部の面に相当する。
可動部111Dは駆動機構(図3では省略)による駆動により、シャフト111Eに沿って可動である。これにより、フィンガー111B間の距離を変更して、把持面111B−1の間で対象物を挟持することが可能である。この駆動の際、フィンガー111Bは、底板面111C−1に対し平行に移動するように構成される。なお、フィンガー111Bにより対象物を把持するためには、把持面111B−1の間で対象物を挟持するに限らない。ハンド111は、少なくとも1つのフィンガー111Bで対象物を把持可能であればよい。
なお、ここでいう水平、水平上向き、鉛直下向き、鉛直上向き、垂直は、厳密に水平、水平上向き、鉛直下向き、鉛直上向き、垂直の場合に限らず、数度程度の誤差を含む概念である。また、ここでいう直方体状、四角錐状は、厳密な直方体、四角錐の場合に限らず、数度程度、数単位長さ(例えばmm、cm、mなど)程度の誤差を含み、さらに、角に面取りが施されているものをも含む概念である。
ここで、ロボット1により嵌め込まれる止め輪、止め輪を供給する止め輪スタンド、止め輪の保持に用いる工具について説明する。図4の(a)は止め輪、(b)は止め輪スタンド、(c)は工具の斜視図である。図4では、公知の止め輪、止め輪スタンド、工具を示しているが、公知のものに限る必要はない。
止め輪Rは、例えばC形止め輪やE型止め輪であり、図4ではE型止め輪を示している。止め輪Rは一部が開口している環状である。止め輪Rは、開口の反対側から開口に向けて荷重をかけることにより、嵌め込み部I(図4では省略)に嵌め込み可能である。
なお、ここでいう環状は、上記記載及び図示から明らかなように、厳密な環の場合に限らず、数単位長さ(例えばmm、cm、mなど)程度の誤差を含む概念である。
工具Tは保持部Hを含む。保持部Hは、一般的には、止め輪Rを挟持して保持するように構成される。保持部Hを止め輪Rの位置Pに当接させて、方向Dbに荷重をかけることにより、保持部Hで止め輪Rを保持可能である。また、保持部Hで保持された止め輪Rは、方向Dbから荷重をかけることにより、嵌め込み部Iに嵌め込ませることができる。
止め輪スタンドRSは、嵌め輪Rの供給を容易とする。止め輪スタンドRSは、限定はしないが、供給部RS1を含む。供給部RS1は、止め輪Rを、工具Tにより保持可能なように積み上げ、最も下の止め輪Rから、方向Dcに引き出すことによって取り出し可能とするものである。
図5は、アーム11の詳細を示す図である。図5では、ハンド111により把持された工具Tにより止め輪Rが保持されており、この止め輪Rが嵌め込み部Iに嵌め込まれるときのアーム11の例を示している。この動作の詳細は後述する。
アーム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回りに独立して回動することができる。
アクチュエーターは、例えば、サーボモーターやエンコーダーなどを備える。エンコーダーが出力するエンコーダー値は、制御部20によるロボット1のフィードバック制御に使用される。また、アクチュエーターには、回転軸を固定する電磁ブレーキが設けられる。
アーム部材11Eの先端(アーム11の手首部分に相当)には、力覚センサー11c(図5では省略)が設けられている。力覚センサー11cは、ロボット1が出している力に対する反力として受けている力や、モーメントを検出するセンサーである。力覚センサー11cとしては、例えば、並進3軸方向の力成分と、回転3軸回りのモーメント成分の6成分を同時に検出することができる6軸力覚センサー11cを用いることができる。なお、力覚センサー11cは、6軸に限らず、例えば3軸でもよい。
また、アーム部材11Eの先端には、ハンド111を着脱可能に設けるための着脱部材112を介して、ハンド111が設けられる。
なお、ロボット1の構成は、本実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。一般的な把持ロボットが備える構成を排除するものではない。例えば、図1、2、5では7軸のアームが示されているが、軸数(ジョイント数)をさらに増加させてもよいし、減らしてもよい。アーム部材の数を増減させてもよい。また、アーム部材、ジョイント等の各種部材の形状、大きさ、配置、構造等も適宜変更してよい。
次に、ロボット1の機能構成例について説明する。図6は、制御部20の機能ブロック図を示している。
制御部20は、主として、ハンド制御部200と、アーム制御部201と、全体制御部202と、指示取得部203と、検出部204とを備える。
ハンド制御部200は、ハンド111へ制御電源及び駆動電源を投入し、又は遮断する。
また、ハンド制御部200は、エンドポイントを目標位置に移動させると、ハンド111へ作業を行わせるための信号を出力する。この信号は、ハンド駆動アンプ111bで増幅され、ハンド駆動アクチュエーター111aに入力される。これにより、ハンド111により作業を行うことができる。この処理は一般的な技術を用いることができるため、説明を省略する。
アーム制御部201は、アクチュエーターのエンコーダー値、力覚センサー11cのセンサー値等に基づいて、アーム11を駆動するための信号を出力する。この信号は、アーム駆動アンプ11bで増幅され、アーム駆動アクチュエーター11aに入力される。これにより、アーム11が制御される。
具体的には、アーム制御部201は、電子カメラ15で撮像された画像に基づいて、ハンド111で所定の作業を行わせるように、エンドポイントの位置を移動させる。この処理は一般的な技術を用いることができるため、説明を省略する。
全体制御部202は、制御部20の全体を制御する処理を行う。
指示取得部203は、タッチパネルモニター102を介して止め輪嵌め込み指示が入力されたときに、入力された止め輪嵌め込み指示を実行する。
検出部204は、底板部111Cへの工具Tの接触、工具TによるスタンドRSからの止め輪Rの引き抜き可能、及び、止め輪Rの嵌め込み部Iへの嵌め込みを検出すると、制御信号を出力する。
なお、本実施の形態では、制御部20を脚部13の内部に設けたが、制御部20はロボット1内の任意の部位に設けることが可能である。あるいは、制御部20は、ロボット1の外部に設けることも可能である。制御部20をロボット1の外部に設ける場合には、制御部20は、有線又は無線でロボット1と接続される。また、制御部20の各部を、複数の装置が分散して実現してもよい。
図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の動作例>
次に、上記構成からなるロボット1の特徴的な処理について、第1の動作例から説明する。図8は、ロボット1が、工具Tを挟持してから、その工具Tにより止め輪スタンドRSから止め輪Rを取り出し、止め輪Rが嵌め込み部Iに嵌められるまでの処理フローである。図8に示す処理は、タッチパネルモニター12を介して制御部20に何等かの入力が行われることにより開始される。図8の各処理の詳細は後述する。
まず、全体制御部202は、指示取得部203によりタッチパネルモニター12から入力された止め輪嵌め込み指示が取得されたか否かを判断する(ステップS80)。
指示取得部203によりにより止め輪嵌め込み指示が取得されなかった場合(ステップS80;NO)は、全体制御部202は、所定時間後に再度ステップS80を行う。
指示取得部203によりにより止め輪嵌め込み指示が取得された場合(ステップS80;YES)は、ロボット1は、工具Tをハンド111に当接させた後、その工具Tを把持する(ステップS81)。この動作は、本発明の当接(受け部への当接)、把持に相当する。
次に、ロボット1は、ハンド111が把持する工具Tにより止め輪Rを止め輪スタンドRSから取り出して保持する(ステップS82)。この動作は、本発明の保持(止め輪の工具への保持)に相当する。
次に、ロボット1は、工具Tにより保持されている止め輪Rを嵌め込み部Iに嵌め込む(ステップS83)。この動作は、本発明の嵌め込みに相当する。
次に、ロボット1は、ハンド111により把持されている工具Tをもとの場所に戻す(ステップS84)。
以上がロボット1による止め輪嵌め込みの一連の動作である。この動作を開始するタイミングは、タッチパネルモニター12から指示が入力された場合に限らず、任意である。また、ハンド111の把持する工具Tを元の位置に戻す処理(ステップS84)は、必ずしも行わなくてもよい。
図9は、ハンド111に工具Tを把持させる動作(ステップS81)のアーム11及びハンド111の動作を説明する図である。なお、図9(a)は、フィンガー111Bが工具Tを把持したときの図である。
工具Tは、工具スタンドTS上に配置されている。工具スタンドTSは、工具保持面TS1を含む。工具保持面TS1は、工具Tを保持するための構造(例えば図9の突出部TS2)を含む。
アーム11は、ハンド111が矢印D1−1の方向に向かって移動するように制御される。このとき、工具Tを把持可能とするために、例えば図3(b)のように、把持面111B−1は互いに離れた位置にされている。ハンド111は、底板面111C−1に工具Tの端(例えば図4の部位E)が当接すると、把持面111B−1間の距離を縮めて工具Tを把持する。
このとき、工具Tは、止め輪Rの嵌め込み部Iへの嵌め込みのための動作方向に対し、底板面111C−1が垂直となるように把持される。これは、限定はしないが、例えば以下のように実現する。図4に示す工具Tを用いて嵌め込む場合、嵌め込みのための動作方向は、工具Tの底板面111C−1への当接部(例えば図3の部位E)から、工具Tの止め輪Rの保持部(例えば図3の保持部H)への方向となる。この場合、工具Tに当接するための動作方向を、工具スタンドTS上に配置されている工具Tの部位Eから保持部Hまでの仮想的な線(例えば図9のL1)と略平行であり、且つ、ハンド111の底板面111C−1とが垂直となるようにすると、上記垂直な把持を実現できる。
さらに、図4に示す工具Tが互いに平行な面を含み、これらの面を挟持することにより把持可能な場合は、上記垂直な把持を以下で実現することが可能である。これを図9の(b)及び(c)を参照して説明する。
図9(b)は、工具Tの面P1と面P2とが略平行である場合の、把持面111B−1の位置関係を示す図である。図示するように、面P1に、フィンガー111Baの把持面111B−1bと、フィンガー111Bbの把持面111B−1bとを当接させる。面P2に、フィンガー111Bcの把持面111B−1bと、フィンガー111Bdの把持面111B−1bとを当接させる。このように把持面111B−1を当接させて、把持111B−1b同士で挟持することにより、上記垂直な把持を実現することが可能である。
このとき、把持面111B−1を、平行な面間の距離を等分する線又は面に対して対称となるように面に当接させてもよい。例えば、図9(b)の場合、平面CP1は、平面P1と平面P2との距離を等分する面である。フィンガー111Baの把持面111B−1bと、フィンガー111Bdの把持面111B−1bとは、平面CP1に対して対称な位置に当接される。このようにすると、フィンガー111Baからの力はフィンガー111Bdで垂直に受けることができ、フィンガー111Bdからの力はフィンガー111Baで垂直に受けることができる。フィンガー111Bbとフィンガー111Bcとの組みに対しても同じことが言える。このように把持することで、対向する把持面111B−1同士で力を受けることが可能となり、工具Tの把持が安定する。
図9(c)は、工具Tの面P1と面P2とが平行であり、面P3と面P4とが平行である場合の、把持面111B−1の位置関係を示す図である。図示するように、面P1にフィンガー111Baの把持面111B−1bを当接させ、面P2にフィンガー111Bcの把持面111B−1bを当接させる。面P3にフィンガー111Bbの把持面111B−1aを当接させ、面P4にフィンガー111Bdの把持面111B−1aを当接させる。このように把持面111B−1を当接させて、把持111B−1b同士で挟持することにより、上記垂直な把持を実現することが可能である。
図9(c)のように、工具Tが2組みの平行な面を含む場合であっても、図9の(b)と同じように、平行な面間の距離を等分する線又は面に対して対称となるように面に当接させてもよい。しかし、これに限らず、ある面に当接する把持面111B−1から、対向する面に当接する把持面111B−1への力が、工具Tの重心(例えば工具Tの軸中心)を通るようにしてもよい。例えば、図9(c)の場合、フィンガー111Baの把持面111B−1bから、フィンガー111Bcの把持面111B−1bへの力Fが、工具Tの重心Oを通るように、把持面111B−1を当接させてもよい。フィンガー111Bbとフィンガー111Bdとの組に対しても同じ位置関係で当接させる。このように把持することで、対向する把持面111B−1同士で力を受けることが可能となり、工具Tの把持が安定する。
ただし、上記垂直な把持は、上記のみによって実現されるとは限らず、例えば、工具Tの形状や構造、把持面111B−1の形状、底板面111C−1の形状、あるいはこれらの位置関係に応じて、条件を追加及び削除可能である。
なお、ここでいう垂直、平行は、厳密な垂直、平行の場合に限らず、数度程度の誤差を含む概念である。また、ここでいう対称、等分、重心、中心、同じとは、厳密な対称、等分、重心、中心、同じの場合に限らず、数度程度、数単位長さ(例えばmm、cm、mなど)程度の誤差を含む概念である。
フィンガー111Bにより工具Tを把持した後、アーム11は、工具Tを工具スタンドTSから取り出し可能な方向(例えば図9における上方向)に移動した後、矢印D1−2の方向に向かって移動する。ただし、工具Tを保持するための構造によっては、他の方向に向かって移動してもよく、複数の異なる方向への移動を組み合わせてもよい。
工具保持面TS1は、工具スタンドTSが配置されている作業台と角度α1を成す。この角度α1は、α1>0となる値(例えばα1=20°)である。角度α1の値は限定せず、例えば工具Tの構造、工具Tの寸法、工具保持面TS1の寸法、ハンド111の寸法のうち少なくとも1つによって定めることができる。即ち、角度α1は、工具スタンドTSに保持されている工具Tをハンド111に把持させるときに、ハンド111やその他ロボット1の構造部位が、作業台と干渉しないように定めることができる。
工具スタンドTSの工具保持面TS1を作業台に対し平行としないことで、工具保持面TS1を作業台に対し平行とするよりも、アーム11の可動範囲を大きくすることが可能となる。これにより、工具Tを把持するための所要時間を低減させることが可能となる。
図10は、図9で説明した動作の処理フローである。アーム11は、ハンド111が工具Tを把持可能な姿勢をとる(ステップS811)。そのために、アーム制御部201は、アーム11の各アーム駆動アクチュエーター11aの位置及び向きを調整する。この位置及び向きは、予めロボット1に入力されていてもよく、また、電子カメラ15により撮像された画像の画像処理技術やセンシング(sensing)の技術により特定されてもよい。
S811の間及びそれより前のうち少なくとも一方で、ハンド制御部200は、工具Tを把持可能なように、ハンド駆動アクチュエーター111aの位置及び向きを調整して、図3(b)に示すように、ハンド111の把持面111B−1を互いに離れた位置としておくとよい。
次に、アーム11は、動作方向(例えば図9の矢印D1−1の方向)に移動する(S812)。そのために、アーム制御部201は、アーム駆動アクチュエーター11aの位置及び向きを調整して、アーム11を動作方向に移動させる。このときの動作方向は、予めロボット1に入力されていてもよく、また、電子カメラ15により撮像された画像の画像処理やセンシングの技術により特定されてもよい。
検出部204は、底板面111C−1に工具Tが接触したか否か判定する(S813)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以上又は所定値より大きい力が、ステップS812の動作方向とは逆の方向に対して検出されたか否かにより判定してもよい。或いは、検出部204は、電子カメラ15により撮像された画像を画像処理して検出してもよい。
底板面111C−1に工具Tが接触しない場合(S813;NO)、ステップS812の処理に戻り、アーム11の移動動作を続ける。底板面111C−1に工具Tが接触した場合(S813;YES)、アーム11は移動を停止し、ハンド111は工具Tを把持する(S814)。そのために、アーム制御部201はアーム駆動アクチュエーター11aを調節してアーム11の移動を停止させる。アーム制御部201は、ハンド駆動アクチュエーター111aを調整して、ハンド111のフィンガー111B間の距離を互いに近づけることにより、把持面111B−1で工具Tを把持する。
次に、アーム11は、動作方向(例えば図9の矢印D1−2の方向)に移動する(S815)。この動作は、上記ステップS812の動作と、移動する方向のみが異なるので、詳細な説明は省略する。ステップS812、S813は本発明の当接(受け部への当接)に相当し、ステップS814は本発明の把持に相当する。ただし、本発明の当接(受け部への当接)及び把持は、当接動作及び把持動作そのものでもよいが、当接している状態及び把持している状態であってもよい。
以上が、ハンド111に工具Tを把持させる動作である。次に、工具Tにより止め輪Rを取り出す動作を説明する。
図11は、止め輪スタンドRSから工具Tにより止め輪Rを取り出す動作(S82)のアーム11及びハンド111の動作を説明する図である。
アーム11は、ハンド111が矢印D2−1の方向に向かうように移動する。工具Tにより止め輪Rが保持されると、アーム11は、ハンド111が矢印D2−2の方向に向かうように移動する。ただし、供給部RS1の構造によっては、他の方向に向かって移動するようにしてもよく、複数の異なる方向への移動を組み合わせてもよい。
止め輪スタンドRSはスタンド保持面RS2を含む。スタンド保持面RS2は、止め輪スタンドRSが配置されている作業台と角度α2を成す。この角度α2は、α2>0となる値である。角度α2の値は限定せず、例えば工具Tの構造、工具Tの寸法、スタンド保持面RS2の寸法、供給部RS1の構造、供給部RS1の寸法、ハンド111の寸法のうち少なくとも1つによって定めることができる。即ち、角度α2は、止め輪スタンドRSから止め輪Rを取り出すときに、ハンド111やその他ロボット1の構造部位が、作業台と干渉しないように定めることができる。この効果は、上記工具スタンドTSで説明したものと同じである。角度α2は、角度α1と同じであってもよく、異なっていてもよい。
矢印D2−1及び矢印D2−2の方向は、ハンド111に把持されている工具Tの底板面111C−1への当接部(部位E)から止め輪Rの保持部(保持部H)への方向(例えば図11のL2)と平行である。従って、アーム11を矢印D2−1の方向に移動させるだけで、ハンド11により把持された工具Tにより、止め輪Rを保持可能である。
図12は、図11で説明した動作の処理フローである。アーム11は、ハンド111が把持する工具Tにより、止め輪スタンドRSからから止め輪Rを取り出し可能な姿勢をとる(ステップS821)。この詳細は、位置及び姿勢が異なる点を除き、上記S811と同じであるので省略する。
次に、アーム11は、動作方向(例えば図11の矢印D2−1の方向)に移動する(S822)。この詳細は、動作方向や移動速度が異なる点を除き、上記S812と同じであるので省略する。
検出部204は、止め輪Rを止め輪スタンドRSから取り出し可能か否か判定する(S823)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以上又は所定値より大きい力が、ステップS822の動作方向とは逆の方向に対して検出されたか否かにより判定してもよい。保持部Hの保持構造によっては、検出部204は、電子カメラ15により撮像された画像を画像処理して検出してもよい。力覚センサー11cにより取得されたセンサー値により止め輪Rを取り出し可能か否か判定する場合、保持部Hの保持構造や供給部RS1の供給構造にもよるが、一般的にその閾値は、上述のステップS813の接触を検出するための閾値よりも大きな値となる。
止め輪Rが取り出し可能でない場合(S823;No)、ステップS822の処理に戻り、アーム11の移動動作を続ける。止め輪Rが取り出し可能である場合(S823;Yes)、アーム11は、動作方向(例えば図11の矢印D2−2の方向)に移動する(S824)。この動作は、ステップS815の動作と、移動方向や移動速度のみが異なるので、詳細な説明は省略する。
以上が、工具Tで止め輪スタンドRSから止め輪Rを取り出す動作である。次に、止め輪Rを嵌め込み部Iに嵌め込ませる動作を説明する。
図13は、止め輪Rを嵌め込み部に嵌め込ませる動作(ステップS83)のアーム11及びハンド111の動作を説明する図である。図13の(a)はハンド111を嵌め込み部Iにむけて移動させている図であり、(b)は止め輪Rを嵌め込んだ図である。なお、図13では、図面の簡略化のためにロボット1の構成部位を省略している。
アーム11は、ハンド111が矢印D3−1の方向に向かうように移動する。嵌め込み部Iへの止め輪Rの接触が検出されると、アーム11は、ハンド111が矢印D3−1の方向に向かうようにさらに移動する。止め輪Rが嵌め込み部Iに嵌め込まれたことが検出されると、アーム11は、ハンド111が矢印D3−2の方向に向かうように移動する。ただし、嵌め込み部I及びその近傍の構造によっては、他の方向に向かって移動するようにしてもよく、複数の異なる方向への移動を組み合わせてもよい。
図14は、図13で説明した動作の処理フローである。アーム11は、ハンド111が把持する工具Tにより、工具Tの保持する止め輪Rを嵌め込み部Iに嵌め込み可能な姿勢をとる(ステップS831)。この詳細は、位置及び姿勢が異なる点を除き、上記ステップS811、S821と同じであるので省略する。
次に、アーム11は、動作方向(例えば図13の矢印D3−1の方向)に移動する(S832)。この動作方向は、底板面111C−1と垂直である。換言すれば、動作方向は、ハンド111により把持されている工具Tの底板面111C−1への当接部(部位E)から、工具Tの止め輪Rの保持部(保持部H)への方向である。この詳細は、動作方向や移動速度が異なる点を除き、上記ステップS812、S822と同じであるので省略する。
検出部204は、止め輪Rが嵌め込み部Iに接触したか否か判定する(S833)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以上又は所定値より大きい力が、ステップS832の動作方向とは逆の方向に対して検出されたか否かにより判定してもよい。又は、検出部204は、電子カメラ15により撮像された画像を画像処理して検出してもよい。
止め輪Rが嵌め込み部に接触していない場合(S833;No)、ステップS832の処理に戻り、アーム11の移動動作を続ける。止め輪Rが嵌め込み部Iに接触している場合(S833;Yes)、アーム11は、動作方向(例えば図13の矢印D3−1の方向)への移動動作を続ける(S834)。この動作は、上記ステップS833の動作と同じなので詳細な説明は省略する。
検出部204は、止め輪Rが嵌め込み部Iに嵌め込まれたか否か判定する(S835)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以上又は所定値より大きい力が、ステップS832及びステップS833の動作方向とは逆の方向に対して検出されたか否かにより判定してもよい。または、検出部204は、電子カメラ15により撮像された画像の画像処理をさらに追加して、嵌め込まれたか否かを検出してもよい。力覚センサー11cにより取得されたセンサー値により止め輪Rが嵌め込まれたか否か判定する場合、一般的にその閾値は、上記ステップS823の止め輪スタンドRSからの止め輪取り出しを検出するための閾値や、上述のステップS833の接触を検出するための閾値よりも大きな値となる。
止め輪Rが嵌められていない場合(S835;No)、ステップS834の処理に戻り、アーム11の移動動作を続ける。止め輪Rが嵌められている場合(S835;Yes)、アーム11は、動作方向(例えば図13の矢印D3−2の方向)に移動する(S836)。この動作は、上記ステップS815、ステップS824の動作と、移動する方向のみが異なるので、詳細な説明は省略する。
ここで、図5を参照して、止め輪Rを嵌め込み部Iに嵌める動作の詳細を説明する。工具Tの第1の端(図5の部位E)は底板面111C−1に当接し、工具Tの他部位は相対する把持面111B−1により把持されている。工具Tの第2の端である保持部Hには止め輪Rが保持されている。このような状態でアーム11を移動方向D3−1に移動させることで、止め輪Rを嵌め込み部Iに嵌め込む。部位Eが本発明の第1の端に相当し、保持部Hが本発明の第2の端に相当する。
止め輪Rの嵌め込みに必要な力は、フィンガー111B(把持面111B−1)の把持により得られる力と、工具Tの底板面111C−1への当接により得られる力との和より小さい。即ち、フィンガー111B(把持面111B−1)による把持は、嵌め込む動作の際に発生する反力により、工具Tが、フィンガー111Bにより当初把持された位置と、底板面111C−1に当初当接された位置とからずれないように設定される。これにより、止め輪Rを、嵌め込み部Iからずれないように嵌め込むことが可能となる。
また、嵌め込みの動作方向は、工具Tの端が当接している底板面111C−1と垂直である。これにより、嵌め込むみのときに発生する反力を、底板面111C−1に対し垂直に受けることが可能となる。止め輪Rを嵌め込み部Iに嵌め込む際に必要な力は、止め輪Rの仕様にもよるが、呼び径5mmのものであれば、150N程度である。ロボット1は、嵌め込みのときに発生する反力を底板面111C−1に対し垂直に受けることが可能な構成を含むので、止め輪Rを、嵌め込み部Iからずれないように嵌め込むことができる。
なお、嵌め込みの動作方向は、図4に示す工具Tのように、工具Tの第1の端(部位E)から止め輪Rの保持部位(保持部H)までが直線上である場合には、部位Eから保持部Hへの方向である。しかし、工具Tが図4に示すように直線状のものではなく、湾曲又は折曲している場合はこれに限らない。嵌め込みの動作方向は、工具により保持された止め輪の移動経路が、止め輪単体での嵌め込み方向と平行となるように定めることができる。止め輪単体での嵌め込み方向とは、図4(a)で説明したように、止め輪Rの開口の反対側から開口に向かう方向である。湾曲又は折曲している工具Tであっても、嵌め込みの動作方向と、底板面111C−1とを垂直とすることで、上記の効果を得ることができる。
図8のステップS84の動作の詳細は、図9及び図10を参照して説明した動作を、逆に行うことにより実現可能であるので、説明は省略する。
第1の動作例によれば、止め輪Rを、止め輪Rを拡張させる機構無しで、嵌め込み部に嵌め込ませることが可能となる。嵌め込みそのものは、一方向への移動で行うことができるので、複雑な動作をする必要がなく、単純な動作のみで嵌め込みを実現できる。
また、第1の動作例によれば、ロボット1は、工具Tへの止め輪Rの保持を行うことができるので、嵌め込むまでの動作を効率化できる。止め輪Rが止め輪スタンドRSにより供給される場合は、工具Tへの止め輪Rの保持をさらに効率化することができる。
<第2の動作例>
次に、第2の動作例を説明する。第2の動作例と第1の動作例とは、止め輪Rの嵌め込み(ステップS83)のみが異なるので、既に説明した第1の動作例と同じ動作及び処理については同じ符号を付与して説明を省略する。以下では、止め輪Rの嵌め込みをステップS83aとして説明する。
第2の動作例は、ロボット1が、止め輪Rの嵌め込み部Iを検出する点が異なる。そのために、ロボット1は、工具Tに保持した止め輪Rを、構造物Sの面に接触させながらハンド111を移動させる。構造物Sは任意の形状及び構成を取りえるが、止め輪Rを接触させることのできる面(平面及び曲面のうち少なくとも一方)を含む。この面には、嵌め込み部Iそのもの、及び、嵌め込み部Iの位置を検出可能な部位のうち少なくとも一方が含まれる。嵌め込み部Iの位置を検出可能な部位とは、例えば、凹部、凸部、及びこれら両方である。嵌め込み部Iの位置を検出可能な部位が、本発明の、嵌め込み部を示す指示部に相当する。
図15は、止め輪Rの嵌め込み部の検出を説明するための図である。構造物Sは円筒状であり、円筒状の長さ方向に沿ってハンド111を移動させることで、凹部である嵌め込み部Iを検出する。図15の(a)は工具Tに保持した止め輪Rを構造物Sの面に接触させたときの図、(b)は嵌め込み図Iを検出したときの図、(c)は止め輪Rを嵌め込んだ図である。なお、図15では、図面の簡略化のためにロボット1の構成部位を省略している。
アーム11は、移動方向に移動して、工具Tに保持した止め輪Rを構造物Sの面に接触させる。次に、アーム11は、止め輪Rを、構造物Sの面に接触させたまま、移動方向D4−1に移動させる。このようにして嵌め込み部Iが検出されると、上記第1の動作例と同じ動作により、移動方向D4−2へアーム11を移動させて止め輪Rを嵌め込み部Iに嵌め込む。止め輪Rが嵌め込まれると、アーム11は、移動方向D4−3へ移動する。
図16は、ステップS83aの処理フローである。ステップS83aの処理は、図15で説明した動作を含む。まず、アーム11は、ハンド111が把持する工具Tにより、嵌め込み部Iを検出可能な姿勢をとる(ステップS1601)。この詳細は、位置及び姿勢が異なる点を除き、上記ステップS811、S821、S831と同じであるので省略する。
次に、アーム11は、動作方向に移動する(S1602)。この詳細は、動作方向や移動速度が異なる点を除き、上記ステップS812、S822、S832と同じであるので省略する。
検出部204は、止め輪Rが構造物Sに接触したか否か判定する(S1603)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以上又は所定値より大きい力が、ステップS1602の動作方向とは逆の方向に対して検出されたか否かにより判定してもよい。或いは、検出部204は、電子カメラ15により撮像された画像を画像処理して検出してもよい。
止め輪Rが構造物Sに接触していない場合(S1603;No)、ステップS1602の処理に戻り、アーム11の移動動作を続ける。止め輪Rが構造物Sに接触している場合(S1603;Yes)、アーム11は、動作方向(例えば図15の矢印D4−1の方向)へ、止め輪Rを構造物Sの面に接触させたまま移動する(S1604)。ステップS1604の動作方向は、ステップS1601の動作方向と同じでもよく、異なっていても良い。ステップS1604の動作方向は、構造物Sの形状やその他任意の条件に応じて定めることができる。
なお、S1604の移動は、力制御と位置制御とを組み合わせて行われる。即ち、位置制御によりアーム11を移動させる一方で、力制御により構造物Sの面位置を検出している。この検出は、工具Tにより保持した止め輪Rが接触する構造物Sの面からの反力をインプットとして行われる。具体的にどのようにして制御するかについては、公知の技術を用いることができるので説明は省略する。
検出部204は、嵌め込み部を検出したか否か判定する(S1605)。この判定は、例えば、検出部204が、力覚センサー11cにより、所定値以下又は所定値より小さい力が、ステップS1602の動作方向とは逆の方向又は他の方向に対して検出されたか否かにより判定してもよい。又は、検出部204は、電子カメラ15により撮像された画像を画像処理して検出してもよい。又は、これらの組み合わせでもよい。
力覚センサー11cのセンサー値により検出する場合、図15の構造物Sでは、ステップS1602の動作方向とは逆の方向への力が、所定値以下又は所定値より小さい値となった場合、その値となった止め輪Rの構造体Sへの接触位置が、嵌め込み部Iであると判定できる。即ち、接触している面からの反力が、それまでの反力よりも小さくなったときに、その場所が、嵌め込み部Iである凹部と判定することができる。これは、嵌め込み部Iそのものが凹部である場合だけでなく、嵌め込み部Iの位置を検出可能な部位が凹部の場合に対しても同じである。
また、嵌め込み部I又は嵌め込み部Iの位置を検出可能な部位を凸部で示す場合、上記とは逆に、接触している面からの反力が、それまでの反力よりも大きくなったときに、その場所が凸部と判定することができる。
嵌め込み部Iを検出しない場合(S1605;No)、ステップS1604の処理に戻り、アーム11の移動動作を続ける。このとき、アーム11は、姿勢及び位置を変更し、動作方向を変えて、構造体Sの面の他の部位に止め輪Rが接触するようにしてもよい。嵌め込み部Iを検出するための動作方向、アーム11の姿勢及び位置は、構造体Sの構造や形状、工具Tの構造や寸法、アーム11の可動範囲に応じて任意に定めることができる。
嵌め込み部Iを検出した場合(S1605;Yes)、以後の動作は、上記第1の動作例と同じであるので省略する。このとき、止め輪Rを嵌め込み部Iに嵌め込むために、アーム11の位置及び姿勢を再度調整してもよい。S1601−S1605の動作は、本発明の検出に相当する。
上記では、構造体Sが円筒状であり、円筒の周に凹部の嵌め込み部Iが設けられる場合を説明したが、構造体S及び嵌め込み部Iはこれに限らない。例えば、構造体Sの面上に貫通孔が設けられ、この貫通孔の内部に嵌め込み部Iが設けられていてもよい。この場合、ロボット1は、検出した貫通孔に応じた位置を嵌め込み部Iの位置とし、工具Tを貫通孔に貫通させて、嵌め込み部Iに止め輪Rを嵌め込んでもよい。
第2の動作例では、止め輪Rを嵌め込む嵌め込み部Iを検出することが可能となる。これにより、嵌め込みを効率化することができる。また、この動作例は、嵌め込み部Iの位置そのものや位置ばらつきが、ロットや個体によって大きく異なる場合に特に有効である。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。特に、本発明は、ロボットと、制御部とが別に設けられたロボットシステムとして提供してもよいし、ロボットに制御部等が含まれたロボットとして提供してもよいし、制御部のみ、又は制御部を含むロボット制御装置として提供してもよい。また、本発明は、ロボット等を制御するプログラムやプログラムを記憶した記憶媒体として提供することもできる。