JP2017154221A - ロボット、ロボットの制御装置及びロボットの制御方法 - Google Patents

ロボット、ロボットの制御装置及びロボットの制御方法 Download PDF

Info

Publication number
JP2017154221A
JP2017154221A JP2016040773A JP2016040773A JP2017154221A JP 2017154221 A JP2017154221 A JP 2017154221A JP 2016040773 A JP2016040773 A JP 2016040773A JP 2016040773 A JP2016040773 A JP 2016040773A JP 2017154221 A JP2017154221 A JP 2017154221A
Authority
JP
Japan
Prior art keywords
arm
vibration
robot
sensor
end effector
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
Application number
JP2016040773A
Other languages
English (en)
Inventor
幸治 珎道
Koji Chindo
幸治 珎道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016040773A priority Critical patent/JP2017154221A/ja
Publication of JP2017154221A publication Critical patent/JP2017154221A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

【課題】 状況に応じて、振動による影響を抑止した高精度での制御を行うロボット、ロボットの制御装置及びロボットの制御方法等を提供すること。
【解決手段】 ロボット100は、エンドエフェクター120が設けられるアーム110と、アーム110の振動を検出するセンサー130と、アーム110の制御を行う制御部140を含み、制御部140は、アーム110に第1の工程を行わせ、センサー130からのセンサー情報に基づいて、アーム110の振動が所与の閾値以下であるか否かを判定し、振動が閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる。
【選択図】 図1

Description

本発明は、ロボット、ロボットの制御装置及びロボットの制御方法等に関する。
従来、アームを有するロボットに種々の動作を行わせる手法が知られている。ロボットに所望の動作を行わせるためには、アームを狙った位置に精度よく移動させる必要がある。例えば、アームに設けられるハンドにより第1のワークを把持し、把持した第1のワークを第2のワークに組み付ける作業を行う場合であれば、第1のワークを第2のワークの組み付け位置まで正確に移動させる必要がある。そのためには、第1のワークを把持するハンドを、精度よく移動させなくてはならない。
しかし、ハンドが所望の位置姿勢となることが期待されるアームの制御(例えば各関節角の制御)を行ったとしても、ハンドが当該所望の位置姿勢で安定しない場合がある。例えば、アームに振動が生じた場合、ハンドの位置姿勢は一定とならず、変動してしまう。振動によりハンドの位置がぶれてしまうと、組み付けのような高い精度が要求される作業を実行することは困難である。
これに対して、特許文献1では、ブレ(振動)を検出し、ブレが大きかった場合にはフィードバック制御を行うことでブレを停止させる手法が開示されている。また、特許文献2には、地震等の振動を検出し、振動が大きい場合にはロボットを停止させる手法が開示されている。
特開2003−71767号公報 特開2014−226766号公報
上述したように、振動が大きいことが問題となるのは、高い精度が要求される作業を実行する場合である。逆に言えば、精度がさほど必要でない作業を行うのであれば、振動している状況であっても当該作業を実行してしまって問題ない。すなわち、振動の抑制を図るか否かは、ロボットにより実行する工程(動作、作業)に依存する。
しかし、特許文献1はブレの大きさに応じて制振を行う手法を開示するのみであり、ロボットにより実行する工程、作業内容を考慮していない。また、特許文献2は地震等の異常発生時に動作を停止する手法であり、動作を実行(継続)するための振動検出手法とは根本的に異なる。
本発明の幾つかの態様によれば、状況に応じて、振動による影響を抑止した高精度での制御を行うロボット、ロボットの制御装置及びロボットの制御方法等を提供できる。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または態様として実現することが可能である。
本発明の一態様は、エンドエフェクターが設けられるアームと、前記アームの振動を検出するセンサーと、前記アームの制御を行う制御部と、を含み、前記制御部は、前記アームに第1の工程を行わせ、前記センサーからのセンサー情報に基づいて、前記アームの前記振動が所与の閾値以下であるか否かを判定し、前記振動が前記閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行うロボットに関係する。
本発明の一態様では、複数の工程から構成される動作を実行する場合に、制御部は、アームの振動が閾値以下と判定されたことを条件に第2の工程を実行する。これにより、第2の工程における振動の影響を抑止することができ、所望の工程を精度よく実行すること等が可能になる。
また、本発明の一態様では、前記制御部は、前記第1の工程を終了し、前記アームを動作させるアクチュエーターを停止させた後に、前記センサー情報に基づいて、前記アームの前記振動が前記閾値以下であるか否かを判定し、前記振動が前記閾値以下であると判定されたことを条件に、前記アームに前記第2の工程を行わせる制御を行ってもよい。
これにより、第1の工程の完了後に、振動が閾値以下であるかの判定を行うことが可能になる。
また、本発明の一態様では、前記制御部は、前記第1の工程の終了判定期間において、前記アームを動作させるアクチュエーターの制御量を、前記終了判定期間以前の前記制御量に比べて小さくするとともに、前記センサー情報に基づいて、前記アームの前記振動が前記閾値以下であるか否かを判定し、前記振動が前記閾値以下であると判定されたことを条件に、前記アームに前記第2の工程を行わせる制御を行ってもよい。
これにより、第1の工程内の終了判定期間に、振動が閾値以下であるかの判定を行うことが可能になる。
また、本発明の一態様では、前記アームは、固定部により他の部材と固定され、前記制御部は、前記エンドエフェクターと前記固定部との距離に基づいて、前記閾値を変更してもよい。
これにより、アームの振動しやすさに応じて適切な閾値を設定することが可能になる。
また、本発明の一態様では、前記アームは、固定部により他の部材と固定され、前記制御部は、前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記アームのうち、前記固定部よりも前記エンドエフェクター側の所与の位置を、固定物に接触させる制御を行ってもよい。
これにより、アームの振動を抑制し、アームの高精度での動作が可能になる。
また、本発明の一態様では、第2のエンドエフェクターが設けられる第2のアームをさらに含み、前記アームは、固定部により他の部材と固定され、前記制御部は、前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記アームのうち、前記固定部よりも前記エンドエフェクター側の所与の位置を、前記第2のアームにより保持させる制御を行ってもよい。
これにより、アームの振動を抑制し、アームの高精度での動作が可能になる。
また、本発明の一態様では、前記第2のアームは、第2の固定部により他の部材と固定され、前記制御部は、前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記第2のアームのうち、前記第2の固定部よりも前記第2のエンドエフェクター側の所与の位置を、固定物に接触させる制御を行ってもよい。
これにより、第2のアームの振動も抑制されるため、アームの振動の抑制効果を高めることが可能になる。
また、本発明の一態様では、第2のアームをさらに含み、前記制御部は、前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記第2のアーム又は前記第2のアームに設けられる第2のエンドエフェクターの所与の位置を、固定物に接触させる制御を行ってもよい。
これにより、アームの振動を抑制し、アームの高精度での動作が可能になる。
また、本発明の一態様では、第2のアームをさらに含み、前記制御部は、前記センサー情報に基づいて、前記アームの前記振動として、前記第2のアームの第2の振動との相対的な振動を表す差分情報を求め、前記差分情報が所与の閾値以下であると判定されたことを条件に、前記第2の工程を行わせる制御を行ってもよい。
これにより、複数のアームを用いて第1の工程、第2の工程を実行する場合に、相対的な振動が閾値以下と判定されたことを条件に、第2の工程を実行することが可能になる。
また、本発明の一態様では、前記第2の工程は、前記第1の工程に比べて、前記アームに設けられる前記エンドエフェクターの移動速度が小さい工程であってもよい。
これにより、第2の工程を精度よく実行すること等が可能になる。
また、本発明の一態様では、前記第2の工程は、対象物に対する作業を行う工程であり、前記第1の工程は、前記アームを前記作業の開始位置姿勢に移動させる工程であってもよい。
これにより、対象物に対する作業を行う工程を、開始位置姿勢までの移動工程に比べて高い精度で実行することが可能になる。
また、本発明の一態様では、前記作業は、組み付け作業であってもよい。
これにより、組み付け作業を高い精度で実行することが可能になる。
また、本発明の一態様では、前記センサーは、前記振動の情報として角速度情報を検出するジャイロセンサーであってもよい。
これにより、角速度情報を検出するジャイロセンサーにより、アームの振動を判定することが可能になる。
また、本発明の一態様では、前記振動の情報は、前記角速度情報に基づく前記振動の振幅を含んでもよい。
これにより、アームの振動の判定を、ジャイロセンサーからの角速度情報に基づく振動の振幅を用いて行うことが可能になる。
本発明の他の態様は、第1のアームと、第2のアームと、前記第1のアーム及び前記第2のアームの振動を検出するセンサーと、前記第1のアーム及び前記第2のアームの制御を行う制御部と、を含み、前記制御部は、前記第1のアーム及び前記第2のアームにより協調作業を行う場合において、前記センサーにより検出された前記第1のアームの第1の振動と、前記第2のアームの第2の振動との差分情報を求め、前記差分情報が所与の閾値以下であると判定されたことを条件に、前記協調作業を行わせる制御を行うロボットに関係する。
本発明の他の態様では、制御部は、複数のアームにより協調作業を行う場合において、各アームの振動の差分情報が閾値以下であると判定されたことを条件に協調作業を実行する。これにより、協調作業に影響を与える振動の状態を考慮して、協調作業を高い精度で実行すること等が可能になる。
本発明の他の態様は、ロボットのアームの振動を検出するセンサーからのセンサー情報を取得するセンサー情報取得部と、前記アームの制御を行う制御部と、を含み、前記制御部は、前記アームに第1の工程を行わせ、前記センサーからのセンサー情報に基づいて、前記振動が所与の閾値以下であるか否かを判定し、前記振動が前記所与の閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行うロボットの制御装置に関係する。
本発明の他の態様は、アームを有するロボットの制御方法であって、前記アームに第1の工程を行わせ、前記アームの振動を検出するセンサーからのセンサー情報を取得し、前記センサー情報に基づいて、前記アームの前記振動が所与の閾値以下であるか否かを判定し、前記振動が前記所与の閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行うロボットの制御方法に関係する。
本実施形態に係るロボットのシステム構成例。 第1の工程の説明図。 第2の工程の説明図。 本実施形態に係るロボットの構造の例。 本実施形態に係るロボットの他の構造の例。 第1の工程から第2の工程への移行を説明する図。 第1の工程から第2の工程への移行を説明する他の図。 整流波形に基づいて閾値判定を行う変形例の説明図。 固定部とエンドエフェクターとの距離が遠い場合の例。 固定部とエンドエフェクターとの距離が近い場合の例。 アームの一部を固定物に接触させる手法の説明図。 アームの一部を第2のアームにより保持する手法の説明図。 アームの一部を第2のアームにより保持し、且つ、第2のアームの所与の位置を固定物に接触させる手法の説明図 第2のアームの所与の位置を固定物に接触させる手法の説明図。 アームと第2のアームを用いた協調作業の例。 アームと第2のアームを用いた協調作業の他の例。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施形態の手法
まず本実施形態の手法について説明する。近年、ロボットに精密な作業を行わせる場面が増えている。例えば、電子部品の組み立てを行う場合、基板に設けられたミリメートル単位、或いはそれよりも小さい穴に、棒状のパーツを差し込む作業をロボットに行わせる。この場合、穴の位置とパーツの位置のずれが大きいと組み付けに失敗するため、パーツを規定の位置まで適切に移動する制御をロボットに実行させなくてはならない。
例えば、アームの先端(エンドポイント)にハンド(広義にはエンドエフェクター)が設けられるロボットの場合、ハンドによりパーツを把持し、基板の穴に差し込む作業を行う。つまりハンドを狙った位置に適切に移動させることが重要となる。
アームが複数の関節を有する場合、各関節の角度を設定すれば、ハンドの位置はフォワードキネマティクスにより一意に決定される。例えば、複数のフレームが関節を介して接続される7自由度のアームの場合、7つの関節角の組(θ1,θ2,θ3,θ4,θ5,θ6,θ7)が決定されれば、関節の位置やフレーム長に基づいて、ハンドの位置姿勢(x,y,z,u,v,w)を一意に決定できる。なお、xyzはX軸、Y軸、Z軸による直交座標系における各座標値であり、uvwは各軸回りの回転角を表す。制御の手順としては、例えば所望のハンド位置姿勢を決定し、インバースキネマティクスにより当該ハンド位置姿勢を実現するための関節角の値の組を求め、各関節が求められた角度となるような信号を、各関節を動作させるアクチュエーターに出力することで、ハンドを所望の位置姿勢に移動させればよい。
しかし、実際のロボットは種々の力を受けるため、所望の関節角を実現するための制御を実行したとしても、ハンドは所望の位置姿勢で安定するとは限らない。なぜなら、アーム(アームを構成する複数のフレーム)自体や、アームに設けられるエンドエフェクターは質量を有するため、ハンドの位置姿勢は、重力による影響を受ける。また、アームの移動には加速(減速)を伴うため、ハンドの位置姿勢は、慣性力による影響も受ける。結果として、関節に所与の角度となるような制御信号を出力したはずなのに、当該所与の角度にならなかったり、フレームがたわんでしまったりすることで、ハンドの位置姿勢にずれが生じる。具体的には、ハンドが所望の位置姿勢の周辺で振動してしまう。関節角のずれやフレームの変形が生じないような剛性の高い構成とすることで振動を抑制できるが、コストが増大するし、振動の完全な抑制は現実的には困難である。
これに対して、特許文献1では、ブレに応じたフィードバック制御を行うことで、ブレを抑制する手法が開示されている。しかし特許文献1は振動が大きいときに振動を抑制する手法を開示しているに過ぎず、ロボットの動作、作業内容を考慮していない。
ロボットに対して一連の動作を行わせる場合、高精度での制御が必要な場面もあれば、比較的低精度でも問題が生じにくい場面もある。上記の基板にパーツを差し込む例の場合、パレット上に配置されていたパーツをハンドで把持した後、ハンドを穴の位置まで直接的に移動させることは一般的ではない。この場合、まずハンドをある程度基板に近いアプローチ開始位置(例えば穴のほぼ真上)まで移動させ、そこから穴に向かってアプローチを行う。このようにすれば、実際にパーツを穴に差し込む作業では、ハンドをほぼ真下方向に移動させればよく、実現が容易となるためである。
以上の例であれば、ハンドをアプローチ開始位置まで移動させている間は、穴のような非常に狭い領域がゴールとなるわけではないため、振動がある程度生じていても問題とならない。一方、アプローチ開始位置から穴に向かってアプローチを行っている間は、振動を小さく抑えなければ、パーツが穴に入らないおそれが出てくる。
また、基板をロボットの作業エリアに持ってくる給材作業では、位置決め治具を用いればハンドが振動していても基板を所望位置に精度よく配置できる。或いはパーツ差し込み後の完成基板を作業エリアから除く除材作業では、除材用パレットの任意の位置に完成基板を置けばよいことも多く、その場合、多少の振動は問題とならない。ただし、給材作業、除材作業においても、位置決め治具を使用できなかったり、決められた位置に高精度で配置しないとそれ以降の作業に支障を来す場合には、振動の抑止が必要となる。
以上のように、ロボットの動作では状況に応じて振動が問題となる場合、ならない場合がある。特許文献1の手法を常時実行した場合、振動があってもよい場面で振動抑制用の制御が実行されるため、不要な処理により作業時間が増大したり、消費電力が増大してしまう。特に、特許文献1はフィードバック制御により振動と逆方向の移動をするようにアクチュエーターを制御するため、部品の磨耗が激しく、不要な場面での振動抑制は好ましくない。
そこで本出願人は、ロボットの動作状況を考慮した振動検出を行う手法を提案する。本実施形態に係るロボット100は、図1に示したように、エンドエフェクター120が設けられるアーム110と、アーム110の振動を検出するセンサー(センサー部、センサーユニット)130と、アーム110の制御を行う制御部140を含む。そして制御部140は、アーム110に第1の工程と第1の工程の次の第2の工程を行わせる場合に、センサー130からのセンサー情報に基づいて、アーム110の振動が所与の閾値以下であるか否かを判定し、振動が閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる制御を行う。
ここで、第1の工程及び第2の工程とは、ロボット100がアーム110を用いて実行する動作の一部を表す。すなわちロボット100の一連の動作は複数の工程により構成され、当該複数の工程を所定の順序で実行することで、上記一連の動作が実現される。
また、ここでの振動とは、第1の工程に伴って発生する種々の振動を含む。例えば移動による加速減速に伴う振動や、アクチュエーターを可動することによる機械的な振動、アーム110等が何らかの物体に衝突することによる振動等を含む。また、ここでの振動は第1の工程に伴う振動に限定されるものではなく、例えば地震により発生するロボット100全体の振動であってもよい。
このようにすれば、少なくとも第2の工程を開始するタイミングにおいて、振動の大きさが閾値よりも小さくなることが保証される。つまり、第2の工程として精度の高い作業を行う場合にも、振動の影響を抑止し、所望の作業を適切に実現することが可能になる。なお、後述するように第2の工程でのアーム110(具体的にはアーム110に設けられるエンドエフェクター120)の移動速度は、第1の工程に比べて小さいことが想定される。そのため、第2の工程での移動に伴い発生する振動は、第1の工程での移動に伴い発生する振動に比べて小さい。つまり、第2の工程の開始時点で振動が閾値以下となっていれば、それ以降のアーム110の移動に伴い発生する振動は問題にならない程度に小さいと考えてよい。
また、第2の工程以外の工程であって、高い精度が求められない工程については、振動が閾値以下であることを開始条件としないことも可能である。つまり、不要な振動判定の実行を抑止することも可能である。
具体的には、本実施形態における第2の工程は、対象物(被作業物、ワーク)に対する作業を行う工程であり、第1の工程は、アーム110を前記作業の開始位置姿勢に移動させる工程であってもよい。そして、第2の工程における作業は、組み付け作業であってもよい。
対象物に対する作業は比較的高い精度が求められる。特に組み付け作業では2以上の部品を組み合わせて1つの完成品を構成する。完成状態での各部品の相対的な位置関係が決定されているため、組み付け作業では当該位置関係を実現する必要があり、高精度の制御が必要となる。特に、穴に棒状部材を差し込む場合、挿入方向が限定されるように、組み付け方向、組み付け角度等が制限される場合も多く、精度が低いと組み付け作業は失敗する可能性が高い。例えば上述した部品の差し込みの例であれば、アーム110が振動している場合には部品を所望の位置に差し込むことができない。或いは、ハンドによりドライバーを把持したり、ドライバー型のエンドエフェクターを用いてネジ締めを行う場合、ドライバーの先端がネジ山の位置となるように制御しなければネジを回転させることができない。それに対して、作業を開始する位置姿勢までの移動においては、多少ずれが生じても影響が少ない。
図2は第1の工程でのロボット100の動きの例を示す図であり、図3は第2の工程でのロボット100の動きの例を示す図である。実行したいロボット100の動作は、図3に示したように、第1の対象物OB1の第2の対象物OB2への組み付けである。この場合、ロボット100の動作は、第1の対象物OB1を把持して、第2の対象物OB2の近傍まで移動させる第1の工程(図2)と、図2の完了時の位置から、第1の対象物OB1を第2の対象物OB2に近づけていき、組付けを行う第2の工程(図3)により実現される。この2つの工程を比較した場合、第2の工程は第2の対象物OB2に対する第1の対象物OB1の相対位置を精度よく決定しなくてはならないが、第1の工程は比較的精度が必要ない。
また別観点から捉えると、本実施形態に係る第2の工程は、第1の工程に比べて、アーム110に設けられるエンドエフェクター120の移動速度が小さい工程であると考えることもできる。
第2の工程においてもアーム110を動かすことになるため、第2の工程でのロボット100の動きに起因して、振動が発生する。この振動は、エンドエフェクター120の移動速度が大きいほど大きいと考えられる。つまり、精度が求められる工程では、エンドエフェクター120の移動速度は相対的に小さくする必要がある。逆に、精度が求められない工程では、エンドエフェクター120の移動速度を相対的に大きくすることで、工程完了までの時間を短縮することが可能になる。このように、振動が閾値以下であることを、エンドエフェクター120の移動速度が小さい工程の開始条件にすることで、高い精度が必要な工程に対する振動の影響を抑止することが可能になる。
以下、本実施形態に係るロボット100等のシステム構成例を説明した後、第1の工程から第2の工程への具体的な移行例を説明する。さらに、振動の判定に用いる閾値を可変に設定する手法を説明し、最後にロボットとして双腕ロボット(より広義には多腕ロボット)を用いる場合の変形例について説明する。
2.システム構成例
ロボット100の構成例は図1に示したとおりであり、ロボット100は、エンドエフェクター120が設けられるアーム110と、センサー130と、制御部140と、センサー情報取得部150を含む。アーム110やエンドエフェクター120の具体例については図4や図5を用いて後述する。
センサー130は、少なくともアーム110の振動を検出する振動センサー(モーションセンサー)を含む。センサー130は、アーム110の振動の情報として角速度情報を検出するセンサーであってもよい。具体的には、センサー130は、角速度情報を検出するジャイロセンサーを含む。アーム110或いはエンドエフェクター120の振動は、角速度情報の時系列的な変化に現れる。よって角速度情報の値の大きさから振動の振幅がわかる。すなわち、ジャイロセンサーが検出する振動の情報とは、角速度情報に基づく振動の振幅を含む情報である。また制御部140は、時系列的に取得される角速度情報に対して、周波数解析を行うことで振動の周波数を求めることも可能である。ただし、振動を検出するセンサーはジャイロセンサーに限定されるものではなく、加速度センサー等を用いてもよいし、撮像センサーを用いて画像から振動を検出してもよいし、複数のセンサーを組み合わせてもよい。
また、振動センサーはアーム110を用いた動作に最も影響を与える振動を検出することが望ましいことを考えれば、アーム110のエンドエフェクター120に近い位置に設けるとよい。本実施形態では、図2に示すように、振動センサーを含むセンサー130は、アーム110のエンドエフェクター120に最も近いフレームの配置されている。より詳細には、エンドエフェクター120に最も近いフレームの先端側(エンドエフェクター120側)に配置されている。これに限らず、振動センサーを他のフレームに配置してもよいし、エンドエフェクター120に配置してもよい。また、1つのアーム110に対して複数の振動センサーを設けたり、ロボット100の複数の位置に振動センサーを設ける等の変形実施も可能である。一例としては、図5のようなアーム110と胴体部230を有するロボット100の場合、アーム110及び胴体部230にそれぞれ振動センサーを設けてもよい。このようにすれば、検出された振動がアーム110の移動に起因するアーム110の振動であるか、地震等によるロボット100全体の振動であるかを区別することも可能になる。
センサー情報取得部150は、センサー130からのセンサー情報を取得する。センサー情報取得部150は、例えばセンサー130の出力であるアナログ信号に対して、増幅処理を行う増幅器や、A/D変換処理を行うA/D変換器等のハードウェアとして実現される。或いは、センサー情報取得部150は、センサー130からの情報を通信により受信する受信処理部(通信部)として実現されてもよい。
制御部140は、アーム110やエンドエフェクター120等、ロボット100の各部の制御を行う。具体的には、アーム110やエンドエフェクター120の移動経路の生成や、当該移動経路に沿った移動を行うための制御信号の出力等を行う。移動経路の生成は、例えば周囲環境のセンシング結果やユーザーからの入力に基づいて行う。また、移動のための制御信号とは、アーム110やエンドエフェクター120を駆動するアクチュエーター(図1には不図示)を動作させるための信号である。また、アーム110やエンドエフェクター120には不図示のエンコーダーが設けられ、制御部140はエンコーダーの情報に基づいて、アーム110やエンドエフェクター120の状態(角度、位置姿勢)を認識できる。
また、制御部140は、具体的な移動経路の生成のために、ロボット100の一連の動作を工程分けして管理する。各工程は、「組み付け作業開始位置までの移動」、「組み付け作業」等、当該工程で実行すべき内容が規定されている。各工程を実現するための具体的な移動経路については、あらかじめ作り込まれていてもよいし、センシング結果等を用いて逐次生成してもよい。そして、制御部140では上述したように、第2の工程の開始条件として、アーム110の振動が閾値以下であるかの判定を行う。
図4は、本実施形態に係るロボット100の構造例である。ロボット100は、ロボット本体200と、制御装置300を含み、ロボット本体200と制御装置300とは、例えばケーブル10により接続される。ただし、ロボット本体200と制御装置300との接続は有線に限定されず、無線接続でもよい。或いは、ロボット本体200と制御装置300は、ネットワークを介して接続してもよく、ネットワークはWAN(Wide Area Network)、LAN((Local Area Network)、近距離無線通信等、種々のネットワークを利用可能である。図1に示した制御部140及びセンサー情報取得部150は、制御装置300に設けられる。
ロボット本体200は、アーム110と、エンドエフェクター120と、台座部210とを含む。台座部210は床面、壁面、天井、作業台等に設置され、台座部210に対してアーム110が接続され、アーム110にエンドエフェクター120が設けられる。
図5は、本実施形態に係るロボット100の他の構造例である。ロボット100は、ロボット本体200と、ベースユニット部400を含んでもよい。ロボット本体200は双腕ロボットであってもよく、頭部220、胴体部230、第1のアーム110、第2のアーム110−2を含む。図5では第1のアーム110は、関節111,112,113と、関節の間に設けられるフレーム114,115から構成され、第2のアーム110−2についても同様のものとしたがこれに限定されない。
ベースユニット部400は、ロボット本体200の下部に設けられ、ロボット本体200を支持する。図5の例では、ベースユニット部400には車輪等が設けられ、ロボット100全体が移動可能な構成となっている。ただし、ベースユニット部400が車輪等を持たず、床面等に固定される構成であってもよい。図5のロボットでは、ベースユニット部400に制御装置300が格納されることで、ロボット本体200と制御装置300とが一体として構成される。
なお、図4では1本のアーム110を有する単腕ロボットの例を示し、図5では2本のアーム(110、110−2)を有する双腕ロボットの例を示したが、本実施形態のロボットは3本以上のアームを有してもよい。また、図4の制御装置300に対して、図4に示したロボット本体200を複数接続することで、複数のアームを有するロボット100を実現してもよい。その他、本実施形態に係るロボット100の具体的な構造は種々の変形実施が可能である。
また、本実施形態の手法はロボット100に適用するものには限定されず、ロボット100の制御装置300に適用してもよい。ロボット100の制御装置300は、ロボット100のアーム110の振動を検出するセンサー130からのセンサー情報を取得するセンサー情報取得部150と、アーム110の制御を行う制御部140を含む。そして、制御部140は、アーム110に第1の工程を行わせ、センサー130からのセンサー情報に基づいて、振動が所与の閾値以下であるか否かを判定し、振動が所与の閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる制御を行う。
本実施形態に係る制御装置300は、ロボット本体200の近傍に設けられてもよいし、距離的に離れた位置に設けられてもよい。例えば、制御装置300は、1又は複数のロボット本体200とネットワークを介して通信を行うサーバーシステムとして実現されてもよく、その場合、ロボット本体200と制御装置300との位置関係は限定されない。また、図4では単腕ロボットに接続される制御装置300を示したが、本実施形態に係る制御装置300は複数のアームを有するロボット100を制御する制御装置であってもよい。
なお、本実施形態の制御装置300は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置300が実現される。具体的には、非一時的な情報記憶装置に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶装置(コンピュータにより読み取り可能な装置)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶装置に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶装置には、本実施形態の各部としてコンピューター(センサー情報取得部、制御部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
また、本実施形態の制御装置300は、情報(例えばプログラムや各種のデータ)を記憶するメモリーと、メモリーに記憶された情報に基づいて動作するプロセッサーと、を含む。プロセッサーは、ロボット100のアーム110の振動を検出するセンサー130からのセンサー情報を取得する処理と、アーム110の制御を行う。特にプロセッサは、アーム110に第1の工程と第1の工程の次の第2の工程を行わせる場合に、センサー130からのセンサー情報に基づいて、振動が所与の閾値以下であるか否かを判定し、振動が所与の閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる制御を行う。
プロセッサーは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。プロセッサーは、例えばCPU(Central Processing Unit)であってもよい。ただしプロセッサーはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサーを用いることが可能である。またプロセッサーはASIC(Application Specific Integrated Circuit)によるハードウェア回路でもよい。メモリーは、例えばSRAM、DRAMなどの半導体メモリであってもよいし、レジスターであってもよいし、ハードディスク装置等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリーはコンピューターにより読み取り可能な命令を格納しており、当該命令がプロセッサーにより実行されることで、制御装置300の各部の機能が実現されることになる。ここでの命令は、プログラムを構成する命令セットの命令でもよいし、プロセッサーのハードウェア回路に対して動作を指示する命令であってもよい。
本実施形態の動作は例えば以下のように実現される。プロセッサーは、センサー130からのセンサー情報を取得し、メモリーに記憶する。また、プロセッサーはメモリーからセンサー情報を読み出し、アームの振動が閾値以下であるかの判定を行い判定結果をメモリーに記憶する。さらにプロセッサーは、第2の工程の実行前に判定結果を読み出し、振動が閾値以下であるという判定結果が得られている場合に、第2の工程を実行する。
また、本実施形態の制御装置300の各部は、プロセッサ上で動作するプログラムのモジュールとして実現される。例えば、センサー情報取得部150は、ロボット100のアーム110の振動を検出するセンサー130からのセンサー情報を取得するセンサー情報取得モジュールとして実現される。制御部140は、アーム110の制御を行う制御モジュールとして実現され、制御モジュールは、アーム110に第1の工程と第1の工程の次の第2の工程を行わせる場合に、センサー130からのセンサー情報に基づいて、振動が所与の閾値以下であるか否かを判定し、振動が所与の閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる制御を行う。
3.第1の工程から第2の工程への移行例
第1の工程から第2の工程へ移行する際の具体的な制御手順について2つの手法を説明する。ここでは図2、図3を用いて上述したように、第1の工程が作業開始位置まで移動する工程、第2の工程が作業開始位置から実際に対象物への作業を行う工程であるものとして説明する。
まず第1の手法としては、制御部140は、第1の工程を終了し、アーム110を動作させるアクチュエーターを停止させた後に、センサー情報に基づいて、アーム110の振動が閾値以下であるか否かを判定する。そして制御部140は、振動が閾値以下であると判定されたことを条件に、アーム110に第2の工程を行わせる制御を行う。
つまり、第1の手法では、第1の工程実行中には振動が閾値以下となるか否かは問わず、アーム110、エンドエフェクター120の作業開始位置までの移動、及び作業開始位置での停止を実行する。この場合、第1の工程の終了時には、それまで移動していたアーム110、エンドエフェクター120が停止するため、減速度が生じ、慣性により振動が発生する。そのため、第1の手法では第1の工程の終了後、即座に第2の工程を実行するのではなく待機期間を設ける。制御部140は、待機期間においてセンサー情報を用いて振動の監視を行う。待機期間ではアーム110、エンドエフェクター120の駆動を行わないため、振動は減衰していくことになり、時間経過により振動が閾値以下になることが期待される。制御部140は、待機期間において振動が閾値以下になったと判定された場合に、第2の工程を実行すればよい。
図6は、第1の手法におけるセンサー出力の時間変化例である。図6の横軸は時間を表し、縦軸はセンサー情報の値を表す。センサー130としてジャイロセンサーを用いる場合、縦軸は角加速度、或いは角加速度から求められる角速度等の情報である。また、ジャイロセンサーが多軸(例えば3軸)のジャイロセンサーである場合、閾値との判定は各軸ごとに行ってもよいし、1つの合成信号(例えば自乗和の平方根)を用いて行ってもよい。
図6のA1の範囲が第1の工程の実行期間に対応する。第1の工程では、アーム110、エンドエフェクター120の移動によりアーム110は大きく振動する。特に、第1の工程は精度よりも作業時間の短縮が重視される工程であるため、エンドエフェクター120の移動速度が相対的に大きく、振動は大きくなりやすい。
図6のA2がアーム110、エンドエフェクター120の作業開始位置への移動が完了し、第1の工程が終了したタイミングである。このタイミングで、制御部140は、アーム110やエンドエフェクター120を駆動するアクチュエーターを停止する。
図6のA3が待機期間に対応し、A3の期間では、A2での停止の減速度で生じた振動が、時間とともに減衰していく。ここでは、正の値であるTh1と、負の値であるTh2(狭義にはTh2=−Th1)を閾値としている。よって制御部140は、センサー情報の値がTh2以上、Th1以下の範囲に収まっている場合に、振動が閾値以下であると判定する。具体的な判定手法は種々考えられるが、例えば制御部140は、センサー情報の波形のエンベロープ(包絡線)を求め、当該包絡線での値が、Th1以下或いはTh2以上となった場合に、振動が閾値以下と判定すればよい。包絡線は、ソフトウェア処理により求めてもよいし、広く知られた包絡線検波回路を用いて求めてもよい。
図6の例では、A4のタイミングで振動が閾値以下となったため、制御部140は待機期間を終了し、A4以降のA5の期間で第2の工程を実行する制御を行う。上述したように、高い精度が求められる第2の工程では、エンドエフェクター120の移動速度を小さく設定するため、移動による振動の発生は小さく抑えられる。
ただし、上記第1の手法では、第1の工程の完了時に移動していたアーム110、エンドエフェクター120を急停止することになる。そのため、図6のA2に示したように、第1の工程完了時にはある程度大きい振動が発生し、振動が閾値以下となるまでに時間を要するおそれがある。
第2の手法では、制御部140は、第1の工程の終了判定期間において、アーム110を動作させるアクチュエーターの制御量を、終了判定期間以前の制御量に比べて小さくするとともに、センサー情報に基づいて、アームの振動が前記閾値以下であるか否かを判定する。そして制御部140は、振動が閾値以下であると判定されたことを条件に、アームに第2の工程を行わせる制御を行う。
つまり第2の手法では、制御部140は、第1の工程完了後に振動の大きさを判定するのではなく、第1の工程内でアーム110、エンドエフェクター120の制御量を小さくしながら振動判定を行う。アクチュエーターの制御量とは、関節角の変化量に対応し、例えばアクチュエーターに対して出力される電流、電圧の大きさである。アクチュエーターの制御量を小さくすることで、エンドエフェクター120の移動速度が小さくなるため、第1の工程での作業開始位置までの移動においても、振動の大きさが小さくなっていくことが期待される。本実施形態では、アクチュエーターの制御量をそれ以前に比べて小さくし、且つ、センサー情報に基づく振動の判定を行う期間を終了判定期間を表記する。上述したように、終了判定期間は第1の工程の実行期間の一部である。そして、終了判定期間において振動が閾値以下になったと判定された場合に、第1の工程を終了するとともに、第2の工程を実行すればよい。
図7は、第2の手法におけるセンサー出力の時間変化例である。図6と同様に、図7の横軸は時間を表し、縦軸はセンサー情報の値を表す。
図7のB1の範囲が第1の工程の実行期間に対応し、そのうちのB12が終了判定期間であり、B11は終了判定期間以外の期間である。第1の工程のうちのB11の期間では、アーム110、エンドエフェクター120の移動速度が大きいため、アーム110は大きく振動する。ただし、移動速度を大きくできる分、作業開始位置に短時間で近づくことが可能である。
第1の工程の終了判定期間(B12)では、B11の期間に比べてエンドエフェクター120の移動速度が小さくなるため、振動の度合いがB11に比べて小さくなる。具体的な制御は種々考えられるが、例えば制御部140は、終了判定期間において時間とともにアクチュエーターの制御量を小さくしていってもよい。アクチュエーターの制御量が充分小さくなることで、アーム110の振動が閾値以下という条件を満たすことになると考えられる。
図7の例では、制御部140は、B2のタイミングで振動が閾値以下であると判定している。よって、B2のタイミングで第2の工程の実行が可能になる。ただし、第2の手法では振動が閾値以下となるタイミングB2では、アーム110、エンドエフェクター120が本来の目標位置(本来の作業開始位置)に到達していない可能性がある。
例えば制御部140は、タイミングB2でのアーム110、エンドエフェクター120の位置を、新たな作業開始位置として設定し、B2のタイミングで第1の工程の終了、及び第2の工程の開始を行う。つまり第2の工程を「作業開始位置から作業完了位置までを低速度で精度よく移動する作業」とし、作業開始位置を変更可能なプログラムにより実現しておく。この場合、B2のタイミングでのアーム110、エンドエフェクター120の位置を第2の工程における作業開始位置として入力することで、制御部140は第2の工程を実現するための具体的な移動経路の生成と、当該移動経路に沿った移動制御を実行することになる。図7はこの場合の例であり、B2のタイミングで第1の工程を終了し、第2の工程を開始している。第2の工程はB3に示した期間で実行される。
或いは、タイミングB2で第1の工程を終了せず、本来の作業開始位置までのアーム110、エンドエフェクター120の移動を行ってもよい。B2のタイミングにおいて振動が閾値以下となっているため、B2の時点での速度、或いはそれよりも小さい速度をエンドエフェクター120の移動速度とすれば、振動が閾値以下の状態を保ったまま、本来の作業開始位置までの移動が可能と考えられる。そして、本来の作業開始位置までエンドエフェクター120が移動できたタイミングで、第1の工程を終了し、第2の工程を開始すればよい。この場合、第2の工程は、本来の作業開始位置から作業完了位置までの移動を実現できればよく、動的な移動経路生成を行わなくてもよい。
なお、図6及び図7では、センサー情報の値と2つの閾値Th1,Th2の比較処理を行ったがこれには限定されない。例えば、図8に示したように、制御部140は、センサー情報を整流した整流波形を取得し、整流波形の包絡線と、閾値Th3との比較を行ってもよい。制御部140は、包絡線の値がTh3以下の場合に振動が閾値以下と判定する。
4.閾値の設定例
以上では、閾値を用いて振動の大小を判定する手法を説明した。ただし、この閾値は一定の値を用いるものには限定されず、状況に応じて値を可変としてもよい。閾値が相対的に小さい場合、振動が充分小さくならなければ振動が閾値以下という条件を満たさなくなる。よって、第2の工程を行う際に、より振動の影響を抑止した精度のよい制御が可能になるが、場合によっては第2の工程を開始するまでに時間がかかってしまうし、最悪の場合、第2の工程をいつまでも開始できないおそれがある。逆に、閾値が相対的に大きい場合、第2の工程開始時にある程度の振動を許容することになるため、精度は低下するが、第2の工程の開始は容易である。
本実施形態では、このような閾値による特性の違いを考慮し、状況に応じた閾値設定を行う。具体的には、アーム110の安定度合いに基づいて閾値を設定する。アーム110が安定しており、振動が発生しにくい状況では、閾値を相対的に小さくする。このようにすれば、第2の工程の精度を高くできるし、振動が発生しにくい以上、第2の工程を実行できない可能性も低い。つまり、制御部140では精度を重視した制御を行う。
一方、アーム110が不安定であり、振動が発生しやすい状況では、閾値を相対的に大きくする。このようにすれば、第2の工程を適切に実行でき、ロボット100の動作時間の短縮化が可能になる。つまり、制御部140では作業速度を重視した制御を行う。
さらに具体的には、アーム110は、固定部160により他の部材と固定され、制御部140は、エンドエフェクター120と固定部160との距離に基づいて、閾値を変更する制御を行う。
具体例を図9、図10に示す。図9、図10は、図4に示した単腕ロボットを簡略化した図であり、アーム110と、エンドエフェクター120と、台座部210とを含む。図9、図10では、アーム110は、台座部210と接続され固定される。よって、固定部160とは、狭義には、アーム110のうちの台座部210との接続部分C1となる。
ただし、振動の要因としてアーム110のフレームの変形と、関節等の可動部の動きとが考えられるが、振動の主たる発生要因は可動部に起因するものである。つまり、アーム110のうち、最も接続部分C1に近い関節C4よりも接続部分側の構成(図9のC2)については、それ以外の構成(図9のC3)に比べて振動は充分小さいと考えてよい。よって本実施形態に係る固定部160とは、アーム110と他の部材の接続部分に限定せず、接続部分と当該接続部分に最も近い関節までの構成を含んでもよい。この場合、接続部分に最も近い関節の回転軸は、他の部材に対して固定された軸と捉えることができる。図9の例であれば、固定部160は、C1であってもよいし、C2であってもよい。
ここでの他の部材とは、図4の台座部210や、図5の胴体部230であり、台座部210や胴体部230は、壁面、床面、天井、作業台等、アーム110に比べて振動の発生度合いが充分小さい部材と直接的又は間接的に接続される。或いは、アーム110が台座部210等を介さずに壁面等の振動発生度合いが小さい部材と接続される。いずれにせよ、アーム110のうちの固定部160についても、アーム110の他の部分に比べて振動が発生しにくい安定した部分と考えられる。
そのため、アーム110の振動とは、固定部160を固定軸(回転軸)とする回転運動と捉えることが可能であり、固定部160とエンドエフェクター120の距離は、モーメントの大きさを決定するパラメーターとなる。つまり、固定部160とエンドエフェクター120の距離が大きいほど、アーム110、エンドエフェクター120は振動が発生しやすく、距離が小さいほど振動が発生しにくい。
図9は固定部160とエンドエフェクター120の距離(L1)が相対的に大きい例であり、図10は固定部160とエンドエフェクター120の距離(L2)が相対的に小さい例である。なお、図9、図10では固定部160(固定軸)を関節C4の中心としたが、異なる変形実施が可能な点は上述したとおりである。
図9の場合、固定部160とエンドエフェクター120の距離L1が比較的大きいため、閾値を大きくする。このようにしなければ、振動が閾値以下という条件を迅速に満たすことができず、作業時間が増大するおそれがある。図10の場合、固定部160とエンドエフェクター120の距離L2が比較的小さいため、閾値を小さくする。このようにすれば、第2の工程の開始条件をより厳しくできるため、第2の工程の作業精度を高くできる。
なお、ロボット100の一連の動作を計画(プログラミング)する段階では、上記を考慮するとよい。すなわち、高い精度が求められる工程は、エンドエフェクター120と固定部160との距離を近くし、精度が低くてもよい工程は、エンドエフェクター120と固定部160との距離を問わない。ロボット100は、多数のワークやツールを対象とするし、作業台やその近傍には、種々の治具や他のロボット100等が配置される。理想的には、ロボット100の全工程で、エンドエフェクター120と固定部160との距離を近くすればよいが、現実的には実現が困難な場面も多い。その場合、高い精度が必要か否かという観点から各工程でのロボット100の位置姿勢を決定することで、状況に応じた適切な制御(適切な閾値設定)が可能になる。なお、固定部160は、他の部材に対してネジ止めやロック機構を用いて固定されることが想定され、その位置を柔軟に変更することは難しいことに鑑みれば、エンドエフェクター120の位置姿勢を状況に応じて決定することが望ましい。また、エンドエフェクター120と固定部160との距離を可変にするためには、固定部160に設けられる関節(図5の例では関節C4)とは異なる関節(図5の例では関節C5や関節C6)が必要となる。
ただし、固定部160ほどの厳密な固定を行わなくても、簡易的にアーム110を固定してアーム110の安定度合いを高められる。具体的には、制御部140は図11に示したように、アーム110のうち、固定部160よりもエンドエフェクター120側の所与の位置を、固定物OBF1に接触させる制御を行う。
ここで、固定物OBF1とは、作業台であってもよいし、作業台上に配置される固定用治具であってもよいし、壁面、床面、天井面等であってもよく、アーム110に比べて振動しにくい種々の部材を用いることが可能である。
このようにすれば、アーム110のうち、固定物OBF1との接触点CP1は固定部160と同様に、振動が充分小さい部分と考えることができる。つまり、本来の固定部160でない接触点CP1(及びCP1を含むフレームFR1)の振動を抑制することで、アーム110の振動を抑制することが可能になる。なお、接触させる位置を固定部160よりもエンドエフェクター120側に限定しているのは、固定部160や、固定部160よりもエンドエフェクター120と反対側の位置はそもそも振動を考慮する必要がなく、そのような位置を接触させても、アーム110の安定化への寄与が低いためである。
なお、接触させるタイミング、期間については種々の手法が考えられ、制御部140は、第1の工程の開始後、第2の工程の終了前の少なくとも一部の期間において、アーム110のうち、固定部160よりもエンドエフェクター120側の所与の位置を、固定物OBF1に接触させる制御を行う。
閾値を小さくし、第2の工程の開始条件を厳しくすることで精度を向上させるという観点からすれば、図6の待機期間A3や、図7の終了判定期間B12において、アーム110を固定物OBF1に接触させるとよい。言い換えれば、制御部140は、第1の工程の終了後であって第2の工程の開始前の期間(待機期間)、又は、第1の工程の終了判定期間において、アーム110のうち、固定部160よりもエンドエフェクター120側の所与の位置を、固定物OBF1に接触させる制御を行うとともに、接触させない場合に比べて閾値を小さくする制御を行う。
或いは、高い精度が求められる第2の工程における振動軽減を図るという観点からすれば、第2の工程の実行期間(図6のA5、図7のB3)において、アーム110を固定物OBF1に接触させるとよい。或いは、第1の工程を安定させることで待機期間や終了判定期間開始時の振動を軽減するという観点からすれば、図6のA1や図7のB11の期間において、アーム110を固定物OBF1に接触させるとよい。つまり、アーム110の一部を固定物OBF1に接触させる期間は、種々の変形実施が可能である。
5.双腕ロボットによるアームの安定化
また、図11では単腕ロボットを例にとって、接触によりアーム110を安定させる手法を説明した。ただし、これらの手法は単腕ロボットに適用するものに限定されず、2本以上のアームを有するロボット100に適用できる。
例えば、複数のアームのうち、第1の工程及び第2の工程を実行するアーム110を、図11に示したように固定物OBF1に接触させればよい。この場合、複数のアームのうちの第1の工程及び第2の工程を実行しないアームについては、任意の動きが可能である。
或いは、第1の工程及び第2の工程を実行しないアーム(以下、第2のアーム110−2とする)を用いて、第1の工程及び第2の工程を実行するアーム110の安定化を図ってもよい。具体的な手法を図12〜図14を用いて説明する。
例えば制御部140は、図12に示したように、アーム110のうち、固定部160よりもエンドエフェクター120側の所与の位置を、第2のアーム110−2により保持させる制御を行う。
このようにすれば、アーム110のうち、第2のアーム110−2により保持される点CP2(及びCP2を含むフレームFR2)は、CP2よりもエンドエフェクター120側の部分(例えばフレームFR3)に比べて振動しにくい状態となる。つまり、図11の例と同様に、アーム110の振動を抑制することが可能になる。
なお、図12では第2のエンドエフェクター120−2であるハンドにより、アーム110を把持する例を示したが、第2のアーム110−2によるアーム110の保持手法はこれに限定されない。例えば、第2のアーム110−2の一部を接触させてもよいし、第2のエンドエフェクター120−2としてハンド以外の構造を用いてもよい。第2のアーム110−2或いは第2のエンドエフェクター120−2がアーム110に接触していれば、少なくとも接触していない場合に比べてアーム110の振動抑制が可能である。
ただし、図12の手法では、第2のアーム110−2の振動が大きい場合、アーム110の振動抑制効果が充分でないことがある。よって、アーム110を把持する第2のアーム110−2についても、振動を抑制してもよい。
例えば、第2のアーム110−2が、第2の固定部160−2により他の部材と固定される場合に、制御部140は、図13に示したように、第2のアーム110−2のうち、第2の固定部160−2よりも第2のエンドエフェクター120−2側の所与の位置を、固定物OBF2に接触させる制御を行う。
図13の例では、第2のアーム110−2は、第2のエンドエフェクター120−2によりアーム110のCP2の位置を把持するとともに、所与の位置CP3を固定物OBF2に接触させている。固定物OBF2は、図11の固定物OBF1と同様に、作業台、作業台上に配置される固定用治具、壁面、床面、天井面等の部材により実現できる。これにより、第2のアーム110−2は、固定物OBF2と接触しない場合に比べて振動が抑制される。そのため、第2のアーム110−2により保持されるアーム110の振動の抑制効果を高くすることが可能である。
なお、6自由度のアームの場合、エンドエフェクターが所望の位置姿勢となる場合のアームの姿勢(6つの関節角の組)が限定されてしまう。そのため、第2のエンドエフェクター120−2によりアーム110のCP2の位置を把持しつつ、位置CP3を固定物OBF2に接触させることができない場合も出てきてしまう。その点から、エンドエフェクターに所望の位置姿勢を取らせつつ、アームの姿勢に柔軟性を持たせられる7自由度のアームを、第2のアーム110−2として用いてもよい。
或いは、ロボット100(ロボット本体200)全体の振動を抑制するという観点から、異なる手法を用いてもよい。例えば、制御部140は、図14に示したように、第2のアーム110−2又は第2のエンドエフェクター120−2の所与の位置を固定物OBF3に接触させる制御を行う。
ここでの固定物OBF3も、図11の固定物OBF1、図13の固定物OBF2と同様に、作業台、作業台上に配置される固定用治具、壁面、床面、天井面等の部材により実現できる。図14では固定物OBF3が作業台(特に作業台の端部)である例を示している。
図14では、図13の例と異なり、第2のアーム110−2はアーム110を保持しない。そのため、図14の手法は、第2のアーム110−2により、直接的にアーム110の振動を抑制するものではない。しかし、第2のアーム110−2と固定物OBF3とを接触させることで、ロボット100全体の振動が抑制されることになり、結果としてアーム110の振動抑制が可能になる。図12や図13の手法では、第2のアーム110−2によりアーム110を保持する必要があるため、場合によっては第2のアーム110−2がアーム110の動作(第1の工程、第2の工程の実行)を阻害してしまうおそれがある。しかし図14の手法であれば、制御部140は第2のアーム110−2をアーム110に近づけなくてもよく、作業スペースに余裕がない場合等でも容易に実行が可能である。なお、図14では、ハンドである第2のエンドエフェクター120−2により作業台の端部を把持する例を示したが、接触させるのは異なる形状のエンドエフェクターでもよいし、第2のアーム110−2でもよい。
なお、図12〜図14に示した第2のアーム110−2を用いたアーム110の安定化手法、すなわち(1)アーム110のうち、固定部160よりもエンドエフェクター120側の所与の位置CP2を、第2のアーム110−2により保持させる制御、(2)第2のアーム110−2のうち、第2の固定部160−2よりも第2のエンドエフェクター120−2側の所与の位置を、固定物OBF2に接触させる制御を上記(1)とともに行う制御、(3)第2のアーム110−2又は第2のエンドエフェクター120−2の所与の位置を固定物OBF3に接触させる制御、のいずれかは、図11の手法と同様に、アーム110による第1の工程の開始後、第2の工程の終了前の少なくとも一部の期間において実行される。
つまり、上記(1)〜(3)の制御は、図6の待機期間A3や、図7の終了判定期間B12において行われてもよい。この場合、制御部140は、第1の工程の終了後であって第2の工程の開始前の期間(待機期間)、又は、第1の工程の終了判定期間において、(1)〜(3)のいずれかの制御を行うとともに、当該制御を行わない場合に比べて閾値を小さくする制御を行うとよい。
或いは、上記(1)〜(3)のいずれかの制御は、第2の工程の実行期間において実行してもよいし、図6のA1や図7のB11の期間において、実行してもよい。
6.双腕ロボットの複数のアームによる協調作業
以上では、第1の工程及び第2の工程を1つのアーム(アーム110)により行う実施形態を説明した。しかし本実施形態の手法では、複数のアームにより協調して第1の工程及び第2の工程が実行されてもよい。
図15、図16に、複数のアームによる協調作業の例を示す。図15に示したように、協調作業とは対象物OB3を、アーム110と第2のアーム110−2の一方のアームから他方のアームへと受け渡す(持ち替える)作業であってもよい。以下、アーム110から第2のアーム110−2へと対象物OB3を受け渡す例について説明する。
例えば、対象物OB3を給材エリアから除材エリアまで移動させる作業を行う場合であって、給材エリアがアーム110のエンドエフェクター120は到達可能であるが第2のアーム110−2の第2のエンドエフェクター120−2では到達不可であり、且つ、除材エリアが第2のエンドエフェクター120−2は到達可能であるがエンドエフェクター120では到達不可である場合を考える。この場合、エンドエフェクター120を用いて給材エリアの対象物OB3を把持し、対象物OB3をエンドエフェクター120から第2のエンドエフェクター120−2に持ち替え、第2のエンドエフェクター120−2を用いて対象物OB3を除材エリアに配置する、という動作が必要になり、アーム間での受け渡し作業が発生する。
或いは、対象物OB3が所定面を下にして作業台に配置されているが、次の作業のためには、第2のエンドエフェクター120−2により上記所定面側から対象物OB3を把持しなくてはならない、といった場面も考えられる。その場合、対象物OB3の所定面が露出するような状態にしなければ、所望の方向からの把持を実現できない。このような要求を満たすための1つの例としては、まずアーム110のエンドエフェクター120により対象物OB3を把持して所定面を露出させ、露出した所定面側から第2のアーム110−2の第2のエンドエフェクター120−2を近づけて受け渡しを行う、という作業を実行すればよい。
その他、アーム間での対象物の受け渡しが必要な場面は多く、図15に示した作業を精度よく行うことによる利点は大きい。受け渡しの際にアーム110の振動が大きいと、受け渡しに失敗して対象物OB3が脱落し、対象物OB3の損傷や、脱落先に配置されていたワークやツールの損傷につながるためである。
図15に示すアーム110と第2のアーム110−2の協調作業を行う場合、第2の工程とは、アーム110から第2のアーム110−2への対象物OB3の受け渡し実行工程である。第2の工程は、具体的には、第2のエンドエフェクター120−2により対象物OB3を把持可能な位置関係となるようにアーム110と第2のアーム110−2とを近づける工程2−1、第2のエンドエフェクター120−2により対象物OB3を把持する工程2−2、エンドエフェクター120により対象物OB3を開放する工程2−3、を順次実行することで実現できる。また、第1の工程とは、第2の工程(狭義には工程2−1)の作業開始位置まで、アーム110及び第2のアーム110−2を移動させる工程である。
この場合、第2の工程を開始する条件を、アーム110と、第2のアーム110−2とで独立に判定してもよい。具体的には、アーム110の振動と閾値との比較処理、及び第2のアーム110−2の振動と閾値の比較処理をそれぞれ行い、アーム110の振動が閾値以下、且つ、第2のアーム110−2の振動が閾値以下であることを条件に、第2の工程を実行する。
ただし、図15に示した協調作業で問題となる振動は、アーム110と第2のアーム110−2の相対的な振動、狭義にはエンドエフェクター120と第2のエンドエフェクター120−2の相対的な振動である。仮に、エンドエフェクター120と第2のエンドエフェクター120−2とが、同じ振幅、同じ周期、同じ位相での振動をしている場合、それぞれのエンドエフェクター単体を見ると振動しているかもしれないが、相対的には位置関係が変化しない。つまりこの場合、相対的に停止している2つのエンドエフェクターにより作業を行うため、作業精度を高くすることが可能である。
よって1つの変形例としては、各アーム単体の振動ではなく、複数のアームの相対的な振動を用いた制御を行ってもよい。制御部140は、センサー情報に基づいて、アーム110の振動として、第2のアーム110−2の第2の振動との相対的な振動を表す差分情報を求め、差分情報が所与の閾値以下であると判定されたことを条件に、第2の工程を行わせる制御を行う。
ここでの差分情報とは、アーム110の振動を検出するセンサーからのセンサー情報と、第2のアーム110−2の振動を検出するセンサーからのセンサー情報の単純な差分であってもよい。或いは、エンドエフェクター120と第2のエンドエフェクター120−2の姿勢を考慮した変換を行い、変換結果の差分を用いてもよい。一例としては、各センサー情報に対して重力方向を基準として座標変換処理を行ってから差分情報を求めてもよい。
このようにすれば、アーム間の相対的な振動を対象として制御を行うことが可能になる。すなわち、本質的に精度に影響を与える振動を用いた第2の工程の開始判定が可能になるため、第2の工程を高精度で実行することが可能になる。
なお、図15では対象物OB3の受け渡し作業について説明したが、複数のアームによる協調作業はこれに限定されない。例えば、図16に示すように、対象物OB4と対象物OB5との組み付け作業を複数のアームの協調作業として実行してもよい。図2、図3を用いて上述した組み付け作業では、一方の対象物OB1をアーム110で把持し、他方の対象物OB2を安定した作業台上に配置していた。これに対して図16では、一方の対象物OB4をアーム110のエンドエフェクター120で把持するとともに、他方の対象物OB5を第2のアーム110−2の第2のエンドエフェクター120−2で把持する。図16の手法を用いた場合、図2、図3の手法と比較して、両方の対象物の位置姿勢を柔軟に変更できる、或いは作業台に対象物を配置しなくてよいためスペースに余裕がない場合にも実行できるといった利点がある。
この場合、第2の工程は対象物OB4と対象物OB5の組み付け作業を行う工程であり、第1の工程は組み付け作業の作業開始位置までの移動を行う工程である。組み付け作業は、上述したように高い精度が求められるため、第2の工程の開始時には振動が収まっていることを条件にするとよい。図16の場合も、図15の例と同様に、アーム110の振動として、第2のアーム110−2との相対的な振動を用いることが可能である。
また、本実施形態の手法は、第1のアーム(アーム110)と、第2のアーム110−2と、第1のアーム110及び第2のアーム110−2の振動を検出するセンサー130と、第1のアーム110及び第2のアーム110−2の制御を行う制御部140を含み、制御部140は、第1のアーム110及び第2のアーム110−2により協調作業を行う場合において、センサー130により検出された第1のアーム110の第1の振動と、第2のアーム110−2の第2の振動との差分情報を求め、差分情報が所与の閾値以下であると判定されたことを条件に、協調作業を行わせる制御を行うロボットに適用できる。
このようにすれば、協調作業において本質的に精度に影響を与える振動である相対的な振動を差分情報から求めることができる。そして差分情報に基づき振動を判定することで、相対的な振動が小さいことを条件に協調作業を実行できるため、協調作業の作業精度を高くすることが可能になる。
以上、本発明を適用した実施形態およびその変形例について説明したが、本発明は、各実施形態やその変形例そのままに限定されるものではなく、実施段階では、発明の要旨を逸脱しない範囲内で構成要素を変形して具体化することができる。また、上記した各実施形態や変形例に開示されている複数の構成要素を適宜組み合わせることによって、種々の発明を形成することができる。例えば、各実施形態や変形例に記載した全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態や変形例で説明した構成要素を適宜組み合わせてもよい。また、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。このように、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能である。
10…ケーブル、100…ロボット、110…アーム、110−2…第2のアーム、
111,112,113…関節、114,115…フレーム、
120…エンドエフェクター、120−2…第2のエンドエフェクター、
130…センサー、140…制御部、150…センサー情報取得部、
160,160−2…固定部、200…ロボット本体、210…台座部、
220…頭部、230…胴体部、300…制御装置、400…ベースユニット、
OB1〜OB6…対象物、OBF1〜OBF3…固定物

Claims (17)

  1. エンドエフェクターが設けられるアームと、
    前記アームの振動を検出するセンサーと、
    前記アームの制御を行う制御部と、
    を含み、
    前記制御部は、
    前記アームに第1の工程を行わせ、前記センサーからのセンサー情報に基づいて、前記アームの前記振動が所与の閾値以下であるか否かを判定し、前記振動が前記閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行うことを特徴とするロボット。
  2. 請求項1に記載のロボットにおいて、
    前記制御部は、
    前記第1の工程を終了し、前記アームを動作させるアクチュエーターを停止させた後に、前記センサー情報に基づいて、前記アームの前記振動が前記閾値以下であるか否かを判定し、
    前記振動が前記閾値以下であると判定されたことを条件に、前記アームに前記第2の工程を行わせる制御を行うことを特徴とするロボット。
  3. 請求項1に記載のロボットにおいて、
    前記制御部は、
    前記第1の工程の終了判定期間において、前記アームを動作させるアクチュエーターの制御量を、前記終了判定期間以前の前記制御量に比べて小さくするとともに、前記センサー情報に基づいて、前記アームの前記振動が前記閾値以下であるか否かを判定し、
    前記振動が前記閾値以下であると判定されたことを条件に、前記アームに前記第2の工程を行わせる制御を行うことを特徴とするロボット。
  4. 請求項1乃至3のいずれか一項に記載のロボットにおいて、
    前記アームは、固定部により他の部材と固定され、
    前記制御部は、
    前記エンドエフェクターと前記固定部との距離に基づいて、前記閾値を変更する制御を行うことを特徴とするロボット。
  5. 請求項1乃至3のいずれか一項に記載のロボットにおいて、
    前記アームは、固定部により他の部材と固定され、
    前記制御部は、
    前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記アームのうち、前記固定部よりも前記エンドエフェクター側の所与の位置を、固定物に接触させる制御を行うことを特徴とするロボット。
  6. 請求項1乃至3のいずれか一項に記載のロボットにおいて、
    第2のエンドエフェクターが設けられる第2のアームをさらに含み、
    前記アームは、固定部により他の部材と固定され、
    前記制御部は、
    前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記アームのうち、前記固定部よりも前記エンドエフェクター側の所与の位置を、前記第2のアームにより保持させる制御を行うことを特徴とするロボット。
  7. 請求項6に記載のロボットにおいて、
    前記第2のアームは、第2の固定部により他の部材と固定され、
    前記制御部は、
    前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記第2のアームのうち、前記第2の固定部よりも前記第2のエンドエフェクター側の所与の位置を、固定物に接触させる制御を行うことを特徴とするロボット。
  8. 請求項1乃至3のいずれか一項に記載のロボットにおいて、
    第2のアームをさらに含み、
    前記制御部は、
    前記第1の工程の開始後、前記第2の工程の終了前の少なくとも一部の期間において、前記第2のアーム又は前記第2のアームに設けられる第2のエンドエフェクターの所与の位置を、固定物に接触させる制御を行うことを特徴とするロボット。
  9. 請求項1乃至3のいずれか一項に記載のロボットにおいて、
    第2のアームをさらに含み、
    前記制御部は、
    前記センサー情報に基づいて、前記アームの前記振動として、前記第2のアームの第2の振動との相対的な振動を表す差分情報を求め、前記差分情報が所与の閾値以下であると判定されたことを条件に、前記第2の工程を行わせる制御を行うことを特徴とするロボット。
  10. 請求項1乃至9のいずれか一項に記載のロボットにおいて、
    前記第2の工程は、前記第1の工程に比べて、前記アームに設けられる前記エンドエフェクターの移動速度が小さい工程であることを特徴とするロボット。
  11. 請求項1乃至9のいずれか一項に記載のロボットにおいて、
    前記第2の工程は、対象物に対する作業を行う工程であり、
    前記第1の工程は、前記アームを前記作業の開始位置姿勢に移動させる工程であることを特徴とするロボット。
  12. 請求項11に記載のロボットにおいて、
    前記作業は、組み付け作業であることを特徴とするロボット。
  13. 請求項1乃至12のいずれか一項に記載のロボットにおいて、
    前記センサーは、前記振動の情報として角速度情報を検出するジャイロセンサーであることを特徴とするロボット。
  14. 請求項13に記載のロボットにおいて、
    前記振動の情報は、前記角速度情報に基づく前記振動の振幅を含むことを特徴とするロボット。
  15. 第1のアームと、
    第2のアームと、
    前記第1のアーム及び前記第2のアームの振動を検出するセンサーと、
    前記第1のアーム及び前記第2のアームの制御を行う制御部と、
    を含み、
    前記制御部は、
    前記第1のアーム及び前記第2のアームにより協調作業を行う場合において、前記センサーにより検出された前記第1のアームの第1の振動と、前記第2のアームの第2の振動との差分情報を求め、前記差分情報が所与の閾値以下であると判定されたことを条件に、前記協調作業を行わせる制御を行うことを特徴とするロボット。
  16. ロボットのアームの振動を検出するセンサーからのセンサー情報を取得するセンサー情報取得部と、
    前記アームの制御を行う制御部と、
    を含み、
    前記制御部は、
    前記アームに第1の工程を行わせ、前記センサーからのセンサー情報に基づいて、前記振動が所与の閾値以下であるか否かを判定し、前記振動が前記所与の閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行うことを特徴とするロボットの制御装置。
  17. アームを有するロボットの制御方法であって、
    前記アームに第1の工程を行わせ、
    前記アームの振動を検出するセンサーからのセンサー情報を取得し、
    前記センサー情報に基づいて、前記アームの前記振動が所与の閾値以下であるか否かを判定し、
    前記振動が前記所与の閾値以下であると判定されたことを条件に、前記アームに第2の工程を行わせる制御を行う、
    ことを特徴とするロボットの制御方法。
JP2016040773A 2016-03-03 2016-03-03 ロボット、ロボットの制御装置及びロボットの制御方法 Pending JP2017154221A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016040773A JP2017154221A (ja) 2016-03-03 2016-03-03 ロボット、ロボットの制御装置及びロボットの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016040773A JP2017154221A (ja) 2016-03-03 2016-03-03 ロボット、ロボットの制御装置及びロボットの制御方法

Publications (1)

Publication Number Publication Date
JP2017154221A true JP2017154221A (ja) 2017-09-07

Family

ID=59807567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016040773A Pending JP2017154221A (ja) 2016-03-03 2016-03-03 ロボット、ロボットの制御装置及びロボットの制御方法

Country Status (1)

Country Link
JP (1) JP2017154221A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020146794A (ja) * 2019-03-13 2020-09-17 セイコーエプソン株式会社 ロボットシステム、制御装置、および制御方法
CN111819042A (zh) * 2018-02-28 2020-10-23 日产自动车株式会社 异常检测装置及异常检测方法
US11281906B2 (en) 2019-06-21 2022-03-22 Fanuc Corporation Monitor device provided with camera for capturing motion image of motion of robot device
US11458632B2 (en) * 2017-08-23 2022-10-04 Sony Corporation Robot having reduced vibration generation in in arm portion

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11458632B2 (en) * 2017-08-23 2022-10-04 Sony Corporation Robot having reduced vibration generation in in arm portion
CN111819042A (zh) * 2018-02-28 2020-10-23 日产自动车株式会社 异常检测装置及异常检测方法
JP2020146794A (ja) * 2019-03-13 2020-09-17 セイコーエプソン株式会社 ロボットシステム、制御装置、および制御方法
JP7404627B2 (ja) 2019-03-13 2023-12-26 セイコーエプソン株式会社 ロボットシステム、制御装置、および制御方法
US11281906B2 (en) 2019-06-21 2022-03-22 Fanuc Corporation Monitor device provided with camera for capturing motion image of motion of robot device

Similar Documents

Publication Publication Date Title
US10486309B2 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP6733239B2 (ja) 制御装置及びロボットシステム
US10532461B2 (en) Robot and robot system
JP5929854B2 (ja) ロボットシステムおよび被加工物の製造方法
JP2017154221A (ja) ロボット、ロボットの制御装置及びロボットの制御方法
US20150127141A1 (en) Robot, control device, robot system and robot control method
JP2009255191A (ja) ロボットマニピュレータ
US20120215350A1 (en) Work picking system
JP6746990B2 (ja) ロボット制御装置及びロボットシステム
JP2018075672A (ja) 制御装置、ロボットおよびロボットシステム
JP2016083713A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法
JP2007098501A (ja) ロボットシステム
US10906175B2 (en) Apparatus and method for estimating position of the center of gravity of robot
JP2015000455A (ja) ロボット装置及びロボット装置の制御方法
JP6652310B2 (ja) ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法
JP6003312B2 (ja) ロボットシステム
JP6479101B2 (ja) ロボット装置、ロボット制御方法、物品の製造方法、プログラム及び記録媒体
JP6387599B2 (ja) ロボット、ロボットシステム、制御装置及び制御方法
JP2018015854A (ja) ロボット、ロボット制御装置、ロボットシステムおよび制御方法
JPWO2017175340A1 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
He et al. A strategy for large workpiece assembly based on hybrid impedance control
JP2017127932A (ja) ロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体
JP2015085492A (ja) ロボット、ロボットシステム、制御装置及び制御方法
JP6896824B2 (ja) ロボット装置、ロボットシステム、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、情報処理装置、情報処理方法、制御プログラム及び記録媒体
JP2016209936A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180906

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181116