説明

ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム

【課題】汎用性の高いねじ締めを行えるロボット、ロボット制御装置、ロボット制御方法、ロボット制御プログラムを提供する。
【解決手段】ドライバービット51の先端の係合部52が磁化されているドライバー50を把持するアーム部20と、アーム部20を制御する制御部100とを備え、制御部100は、ドライバー50の係合部52を磁力により係合可能な頭部を有するねじ211の頭部頂面の溝に押しつけた状態で、ドライバー50の係合部52にねじ211の頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、ドライバーの係合部52にねじ211の頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力がねじ211に作用する第1の所定の加速度で、ねじ211が吸着されたドライバー50を移動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット、ロボット制御装置、ロボット制御方法およびロボット制御プログラムに関する。
【背景技術】
【0002】
近年、製造現場等では、スカラロボットや多軸ロボット等が製品の組み立てや検査等に用いられている。製品の組み立てや検査を行うときに物体を運搬する場合、ロボットは、物体を吸着したり、アームにより把持したりする。
【0003】
このような産業用ロボットにおいては、自動組立その他の作業工程において、不特定で多様な姿勢をとる対象物を所定の姿勢で効率的に掴み取ることが要求されている。このような産業用ロボットは、ロボットのエンドエフェクターにドライバーを取り付け、人間に代わって、産業用ロボットがねじ締めを自動的に行っている。
【0004】
特許文献1に記載のねじ締め機は、複数のドライバーユニットが上下に昇降するドライバー台に設置され、さらに、複数のドライバーユニットの複数のドライバービットをドライバー台と一体に昇降する案内台に配置されている。そして、特許文献1に記載の発明は、この案内台を水平方向に振動させることで、ドライバーユニットから延びるねじ締め工具を振動させる。この案内台の振動により、特許文献1に記載の発明は、ねじの頭部とドライバービットとが係合するようにしていた。
【0005】
また、特許文献2に記載の発明は、ねじ締め機構にねじ供給機構からねじを供給する。そして、ねじ締め機構の制御部は、ねじ締め機能に加えるトルクを制御して、ねじを仮締めした後に本締めを行わせていた。そして、特許文献2に記載の発明は、このように制御されるねじ締め機構をロボットのエンドエフェクターに設けることで、各種のねじに対応していた。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−71867号公報
【特許文献2】特開昭64−11740号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の発明では、複数のドライバーユニットを、ねじを締め付ける対象に合わせて予めドライバー台に設置し、複数のドライバービットを、ねじを締め付ける対象に合わせて予め案内台に設置していた。このため、ねじを締め付ける対象に合わせて、特許文献1に記載のねじ締め機を導入する必要があり、汎用性に欠ける。また、ドライバー台や案内台が、ねじとねじを締め付ける対象に合わせて専用に作られているため、汎用的なドライバーを使用することができない。
【0008】
また、特許文献2に記載の発明では、ねじ締め付け機構がねじ供給機構を備え、さらにめじ締め機構も専用であるため、汎用性に欠ける。また、ねじ締め機構をエンドエフェクターに取り付けた場合、エンドエフェクターごと取替えなければ、他の作業に対応することが出来ないため、作業を変更するのに時間を要し、更には取替えに関わる煩雑な作業が必要となってしまう。
【0009】
本発明は、上記の課題に鑑みてなされたものであって、汎用的なドライバーを用いた場合でも締め付け不良の発生を防ぐロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明のロボットは、ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部と、前記アーム部を制御する制御部と、を備え、前記制御部は、前記ドライバーの磁化されている前記係合部を、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、前記アーム部を第1の所定の加速度で移動させる。
【0011】
本発明によれば、ドライバービットの先端の係合部が磁化されているドライバーを、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、アーム部を第1の所定の加速度で移動させる。このため、ドライバーの磁化されている係合部をねじの頭部頂面の溝に押しつけで正しく嵌合しなかった場合でも、第1の所定の加速度で移動させることにより、ねじがドライバーの係合部の形状とねじの頭部頂面の溝の形状とが嵌合する位置に誘導され、正しく嵌合する。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0012】
上記目的を達成するため、本発明のロボットにおいて、前記制御部は、前記アーム部を第1の加速度で加速して移動させ、前記アーム部を第2の加速度で減速して停止させるようにしてもよい。
【0013】
本発明によれば、アーム部を第1の所定の加速度で移動させ、アーム部を第2の所定の加速度で移動させる。このため、第1の加速度で移動させてもドライバーの係合部とねじの頭部頂面の溝とが嵌合していない場合でも、第2の加速度で移動させることにより、ねじがドライバーの係合部の形状とねじの頭部頂面の溝の形状とが嵌合する位置に誘導され、正しく嵌合する。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0014】
上記目的を達成するため、本発明のロボットにおいて、前記第1の加速度は、前記ドライバーユニットの移動方向に対する正の加速度であり、前記第2の加速度は、前記ドライバーユニットの移動方向に対する負の加速度であるようしてもよい。
【0015】
本発明によれば、第1の加速度は、ドライバーの移動方向に対する正の加速であり、第2の加速度は、ドライバーの移動方向に対して負の加速度であるので、ドライバーの係合部をねじの頭部頂面の溝に押しつけで正しく嵌合しなかった場合でも、これらの正の加速度による加速または負の加速度による減速により、ねじがドライバーの係合部の形状とねじの頭部頂面の溝の形状とが嵌合する位置に誘導され、正しく嵌合する。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0016】
上記目的を達成するため、本発明のロボットにおいて、前記制御部は、前記ねじが吸着された前記ドライバーを所定の角度に傾けて、前記ねじが吸着された前記ドライバーを撮像し、撮像した画像を用いて前記ドライバーの前記係合部と前記ねじの頭部頂面の溝との嵌合の状態を判別し、前記判別結果が前記ドライバーの前記係合部と前記ねじの頭部頂面の溝とが正しく嵌合している場合、前記ねじが吸着された前記ドライバーを、ねじ締めを行う対象物のねじ溝に向けて移動させてねじ締めを行うようにしてもよい。
【0017】
本発明によれば、ねじが吸着されたドライバーを所定の角度に傾けて、ねじが吸着されたドライバーを撮像し、撮像した画像を用いてドライバーの係合部とねじの頭部頂面の溝との嵌合の状態を判別する。判別の結果、ドライバーの係合部とねじの頭部頂面の溝とが嵌合している場合、ねじ締めを行うようにしたので、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0018】
上記目的を達成するため、本発明のロボットにおいて、前記所定の角度は、前記ねじを、取り付ける対象物のねじ溝の角度であるようにしてもよい。
【0019】
本発明によれば、ねじを取り付ける対象物のねじ溝の角度に基づく角度に傾けて、ドライバーの係合部とねじの頭部頂面の溝との嵌合の状態を判別するようにしたので、実際のねじ締めを行う角度で嵌合の状態を判別できる。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合されているか否かを判別することができる。また、判別後に、そのままねじ締めを行える。
【0020】
上記目的を達成するため、本発明のロボットにおいて、撮像装置を備え、前記制御部は、前記撮像装置が撮像した前記アーム部を所定の角度に傾けた場合の画像と、テンプレート画像データとの類似度に基づき、前記ドライバーの前記係合部と前記ねじの頭部頂面の溝との嵌合の状態を判別するようにしてもよい。
【0021】
本発明によれば、撮像装置が撮像したアーム部を所定の角度に傾けた場合の画像と、テンプレート画像データとの類似度に基づき、ドライバーの磁化されている係合部とねじの頭部頂面の溝との嵌合の状態を判別するようにしたので、ドライバーの磁化されている係合部とねじの頭部頂面の溝との嵌合の状態を明確に判別できる。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0022】
上記目的を達成するため、本発明のロボットにおいて、前記制御部は、前記ドライバーを把持している前記アーム部を前記所定の速度で回転させた状態で、前記ドライバービットの先端の係合部を前記ねじの頭部頂面の溝に押しつけるようにしてもよい。
【0023】
本発明によれば、ドライバーを把持しているアーム部を所定の速度で回転させた状態で、ドライバービットの先端の係合部をねじの頭部頂面の溝に押しつけるようにしたので、ドライバーの係合部とねじの頭部頂面の溝とを嵌合させることができる。また、この処理でドライバーの係合部とねじの頭部頂面の溝とが、正しく嵌合しなかった場合でも、ドライバーを第1の所定の加速度で移動させるか、または、ドライバーを第2の所定の加速度で移動させることで、ドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0024】
上記目的を達成するため、本発明のロボットにおいて、前記ドライバーは電動ドライバーであるようにしてもよい。
【0025】
本発明によれば、電動ドライバーを用いるため、汎用的なドライバーを用いてドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができる。
【0026】
上記目的を達成するため、本発明のロボット制御装置は、ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部と、前記アーム部を制御する制御部と、を備え、前記制御部は、前記ドライバーの前記係合部を磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる。
【0027】
上記目的を達成するため、本発明のロボット制御方法は、ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部を制御する制御部が、前記ドライバーの前記係合部を、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつける工程と、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる工程と、を有する。
【0028】
上記目的を達成するため、本発明のロボット制御プログラムは、ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部を制御する制御部が、前記ドライバーの磁化されている前記係合部を、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつける工程と、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる工程と、を実行させる。
【0029】
本発明によれば、ドライバービットの先端の係合部が磁化されているドライバーを、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、アーム部を第1の所定の加速度で移動させる。このため、ドライバーの磁化されている係合部をねじの頭部頂面の溝に押しつけで正しく嵌合しなかった場合でも、第1の所定の加速度で移動させることにより、ねじがドライバーの係合部の形状とねじの頭部頂面の溝の形状とが嵌合する位置に誘導され、正しく嵌合する。このため、汎用的なドライバーを用いてもドライバーの係合部とねじの頭部頂面の溝とを正しく嵌合させることができるロボット制御装置、ロボット制御方法、およびロボット制御プログラムを提供できる。
【図面の簡単な説明】
【0030】
【図1】第1実施形態に係るロボット1の概略構成を示す斜視図である。
【図2】同実施形態に係るアーム部20と力センサー30の概念図である。
【図3】同実施形態に係る制御部100のブロック図である。
【図4】同実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。
【図5】同実施形態に係るドライバーユニット50の先端にねじ211を嵌合させる動作を説明する図である。
【図6】同実施形態に係るねじ211をねじ自動供給機の取り出し部のレール201から引き抜く動作を説明する図である。
【図7】同実施形態に係るねじ211を引き抜いた方向と同方向にねじ締めを行う対象部301まで移動させる動作を説明する図である。
【図8】同実施形態に係るねじ211を引き抜いた方向と逆方向にねじ締めを行う対象部301まで移動させる動作を説明する図である。
【図9】同実施形態に係るドライバーユニット50の係合部52にねじ211が嵌合しているか否かを説明する図である。
【図10】同実施形態に係るねじ211の締め付け動作を説明する図である。
【図11】同実施形態に係るドライバーユニット50の移動中の速度の一例を説明する図である。
【図12】同実施形態に係るドライバーユニット50の係合部52にねじ211が正しく嵌合している一例を説明する図である。
【図13】同実施形態に係るドライバーユニット50の係合部52にねじ211が正しく嵌合していない一例を説明する図である。
【図14】第2実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。
【図15】同実施形態に係るねじ締め付け対象物301が傾いている場合のねじ211の締め付け動作を説明する図である。
【図16】第3実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。
【図17】第4実施形態に係るロボット1aの概略構成を示す斜視図である。
【図18】同実施形態に係るロボット1aの動作のフローチャートである。
【発明を実施するための形態】
【0031】
以下、本発明の実施形態について図面を参照して詳細に説明する。なお、本発明は斯かる実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。また、以下の図面においては、各構成をわかりやすくするために、実際の構造と各構造における縮尺や数等が異なっている。
【0032】
[第1実施形態]
図1は、本実施形態に係るロボット1の概略構成を示す斜視図である。図1に示すように、ロボット1は、1本のアーム2を備えている。アーム2は、固定部10、アーム部20、力センサー30、及びエンドエフェクター40を備える。また、ロボット1は、制御部100の制御により動作する。また、制御部100には、撮像装置60が接続されている。
【0033】
ここでは、対象物としてねじ211を例示して説明する。なお、ねじの頭部形状は、例えば、なべ、皿、丸皿、トラス、バインド、低頭などである。また、ねじの溝または非貫通の溝の形状は、例えば、すわり(マイナス)、十字穴(プラス)、S形、プラスマイナス、六角穴、四角穴である。
また、ねじ211は、ねじ自動供給機の取り出し部のレール201上に予め配置されている。なお、ねじ自動供給機は、公知の技術(例えば、WO2003/106307参照)により取り出し部のレール201上にねじ211を配置する。もしくは、予めレールにねじ211が配置されたマガジンを用いてもよい。
【0034】
固定部10は、例えば床、壁、天井、移動可能な台車の上などに固定される。固定部10は、内部に、制御部100(破線にて図示)を備える。
制御部100は、アーム部20、エンドエフェクター40及びエンドエフェクターに取り付けられているドライバーユニット50を制御する。制御部100の詳細は後述する。なお、制御部100は、固定部10の内部ではなく、固定部10の外部に設けるようにしてもよい。
【0035】
アーム部20は、第1フレーム21、第2フレーム22、第3フレーム23、第4フレーム24および第5フレーム25から構成されている。第1フレーム21は、回転屈折軸を介して、固定部10に回転可能または屈折可能に接続されている。第2フレーム22は、回転屈折軸を介して、第1フレーム21および第3フレーム23に接続されている。第3フレーム23は、回転屈折軸を介して、第2フレーム22および第4フレーム24に接続されている。第4フレーム24は、回転屈折軸を介して、第3フレーム23および第5フレーム25に接続されている。第5フレーム25は、回転屈折軸を介して、第4フレーム24に接続されている。アーム部20は、制御部100の制御によって、各フレーム21〜25が各回転屈折軸を中心に複合的に回転または屈折し、動く。
【0036】
アーム部20の第5フレーム25のうち第4フレーム24が設けられた他方には、エンドエフェクター40が設けられている。エンドエフェクター40は、直接的に、ドライバーユニット50を把持する。なお、エンドエフェクター40は、例えば、複数のフレームを有し、ドライバーユニット50を把持できる構造である。
【0037】
アーム部20の第5フレーム25とエンドエフェクター40の間には、力センサー30が介挿されている。力センサー30は、アーム2のエンドエフェクター40に加わる力の各空間成分(力成分という)とトルクの各空間成分(トルク成分という)を検出する。力センサー30は、検出したアーム2のエンドエフェクター40に加わる力成分とトルク成分を含む情報を制御部100に出力する。
【0038】
ドライバーユニット50(ドライバーともいう)は、電動ドライバーである。ドライバーユニット50は、ドライバービット51を備え、ドライバービット51の係合部52(以下、ドライバーユニット50の係合部52という)は、磁化されている。
【0039】
撮像装置60は、ロボット1と同様に、床に対して水平に設置されている。撮像装置60は、例えばCCD(Charge Coupled Device)カメラである。撮像装置60は、ドライバーユニット50の係合部52に吸着されたねじ211を撮影し、撮影したアナログ値の画像データを制御装置100に出力する。
【0040】
制御部100は、ロボット1のアーム部2、エンドエフェクター40を後述するように制御する。また、制御部100は、撮像装置60が出力した画像データに基づき、後述するようにドライバーユニット50の係合部52に吸着されたねじ211が正しく嵌合しているか否かを判別する。制御部100は、判別結果に基づき、ドライバーユニット50の係合部52に吸着されたねじ211が正しく嵌合している場合、ねじ211を、ねじ締めを行う対象物のねじ穴に締め付けるようにドライバーユニット50を制御する。
【0041】
図2は、本実施形態に係るアーム部20と力センサー30の概念図である。
図2に示すように、アーム2のアーム部20は、回転部82、83及び85と、屈折部81、84及び86とを有している。そして、アーム2のアーム部20は、エンドエフェクター40との間に力センサー30を有している。
【0042】
屈折部81は、固定部10と第1フレーム21との間に設けられている。回転部82は、第1フレーム21と第2フレーム22との間に設けられている。回転部83は、第2フレーム22と第3フレーム23との間に設けられている。屈折部84は、第3フレーム23と第4フレーム24との間に設けられている。回転部85は、第4フレーム24と第5フレーム25との間に設けられている。屈折部86は、第5フレーム25のうち第4フレーム24が設けられた他方に設けられている。
【0043】
図2に示すように、アーム部20は、6自由度を有する6軸アームである。すなわち、アーム部20の先端のエンドエフェクター40は、これらの各軸の回転部と屈折部の動作により、移動する。そして、エンドエフェクター40がドライバーユニット50を把持している場合、力センサー30が検出した外力には、このような各軸の回転部と屈折部の動作による成分が含まれている。このため、アーム部20が6軸アームであるため、6つの変数で制御することが可能であり、例えば、位置(x、y、z)の3つの変数(成分)、姿勢を表す角度(α、β、γ)の3つの成分(変数)に対応して制御することができる。
【0044】
図3は、本実施形態に係る制御部100のブロック図である。
図3に示すように、制御部100は、画像取得部101、ねじ姿勢判別部102、センサー出力取得部103、アーム制御部104、駆動部105、記憶部106を備えている。
【0045】
画像取得部101は、撮像装置60が出力する画像データを取得し、取得した画像データをデジタルデータに変換する。画像取得部101は、変換した画像データを、ねじ姿勢判別部102に出力する。なお、撮像装置60が出力する画像データがデジタル値の場合、画像取得部101は、取得した画像データを変換せずにそのままねじ姿勢判別部102に出力する。
【0046】
ねじ姿勢判別部102は、記憶部106に記憶されているテンプレートマッチングを行うための画像データを読み出す。ねじ姿勢判別部102は、画像取得部101が出力した画像データと、記憶部106から読み出したテンプレートマッチングを行うための画像データとを用いて、公知のテンプレートマッチングを行う。ねじ姿勢判別部102は、テンプレートマッチングにより、ドライバーユニット50の先端52に、ねじ211が正しい姿勢で取り付けられているか否かを判別する。ねじ姿勢判別部102は、判別結果をアーム制御部104に出力する。なお、ドライバーユニット50の先端52に、ねじ211が正しい姿勢で取り付けられているとは、後述するように、ドライバーユニット50の係合部52とねじ211が、かみ合っている(嵌合している)状態である。
【0047】
センサー出力取得部103は、力センサー30が出力するアーム2のエンドエフェクター40に加わる力成分とトルク成分を含む情報を取得し、取得した情報から力成分とトルク成分を抽出する。センサー出力取得部103は、抽出した力成分とトルク成分を示す情報をアーム制御部104に出力する。
【0048】
アーム制御部104には、ねじ姿勢判別部102が出力する判別結果と、センサー出力取得部103が出力する力成分とトルク成分を示す情報とが入力される。アーム制御部104は、記憶部106に予め記憶されている制御情報を読み出す。アーム制御部104は、記憶部106から読み出した制御情報と、ねじ姿勢判別部102が出力する判別結果と、センサー出力取得部103が出力する力成分とトルク成分を示す情報とに基づき、後述するようにアーム部20を制御する駆動信号を生成する。アーム制御部104は、生成した駆動信号を駆動部105に出力する。
【0049】
駆動部105は、アーム制御部104が出力する駆動信号に応じて、ロボット1のアーム部20を駆動する。
【0050】
記憶部106には、テンプレートマッチングを行うための画像データと、ロボット1の制御情報とが予め記憶されている。また、記憶部106に記憶されているテンプレートマッチングを行うための画像データは、例えば、ねじ211の長さや重さ毎に、予め記憶しておくようにしてもよい。記憶部106に記憶されているテンプレートマッチングを行うための画像データは、後述するように、ドライバーユニット50を所定の角度で傾けた場合のドライバーユニット50の係合部52とねじ211が正しく嵌合している状態の画像データである。あるいは、記憶部106に記憶されているテンプレートマッチングを行うための画像データは、ドライバーユニット50を所定の角度で傾けた場合のドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とが正しく嵌合していない状態の画像データである。
【0051】
次に、ドライバーユニット50の係合部52にねじ211を取り付け、ねじ締めを行うまでの動作を、図4〜図10を用いて説明する。
図4は、本実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。
図5は、本実施形態に係るドライバーユニット50の先端にねじ211を嵌合させる動作を説明する図である。図5(a)は、ドライバーユニットがy軸の高さhの初期状態にある場合を説明する図である。図5(b)は、ドライバーユニットがy軸の高さhにある場合を説明する図である。図5(c)は、ドライバーユニットがy軸の高さhにある場合を説明する図である。
【0052】
図6は、本実施形態に係るねじ211をねじ自動供給機の取り出し部のレール201から引き抜く動作を説明する図である。図7は、本実施形態に係るねじ211を引き抜いた方向と同方向にねじ締めを行う対象部301まで移動させる動作を説明する図である。また、図7において、一点破線で示したエンドエフェクター40、ドライバーユニット50、ドライバーユニット50の係合部52、および、ねじ211は、各位置−x、−xのドライバーユニット50の係合部52とねじ211の嵌合状態を表している。また、位置−xは位置−xより負方向であり、位置−xは位置−xより負方向である。
図8は、本実施形態に係るねじ211を引き抜いた方向と逆方向にねじ締めを行う対象部301まで移動させる動作を説明する図である。また、図8において、一点破線で示したエンドエフェクター40、ドライバーユニット50、ドライバーユニット50の係合部52、および、ねじ211は、各位置x11、x12、x13のドライバーユニット50の係合部52とねじ211の嵌合状態を表している。また、位置x11は位置−xより正方向であり、位置x12は位置x11より正方向であり、位置x13は位置x12より正方向である。
【0053】
(ステップS101)
制御部100のアーム制御部104は、記憶部106に予め記憶されているねじ締めの制御情報を読み出す。アーム制御部104は、読み出したねじ締めの制御情報に基づき、ドライバーユニット50の駆動信号を生成し、生成した駆動信号を駆動部105に出力する。駆動部105は、アーム制御部104が出力する駆動信号に基づき、ドライバーユニット50を、図5(a)〜図5(b)のように、高さhからhに降下させる。すなわち、制御部100は、ドライバーユニット50の係合部52を、ねじ自動供給機の取り出し部のレール201に向けて、y軸負方向に移動させる。
以下、記憶部106から読み出したねじ締めの制御情報に基づき、アーム制御部104がドライバーユニット50の駆動信号を生成し、生成した駆動信号を駆動部105に出力し、駆動部105が駆動信号に基づき、ドライバーユニット50を駆動させる一連の動作を制御部100が制御するとして説明する。ステップS101終了後、ステップS102に進む。
【0054】
(ステップS102)
次に、制御部100は、図5(c)のように、アーム部20を所定の回転数で回転させながら、ドライバーユニット50の係合部52をねじ自動供給機の取り出し部のレール201上に配置されたねじ211の先端に押し付けるように制御する。この場合、制御部100は、係合部52をねじ211の先端に押し付けた場合に、ドライバーユニット50のドライバービット51を回転させないトルクで押しつける。ドライバービット51を回転させないトルクは、予め実験により、あるいはドライバーユニット50の仕様に基づき算出する。あるいは、御部100は、ドライバーユニット50を回転させずに降下させ、係合部52をねじ211の先端に押し付けた場合に、ドライバーユニット50のドライバービット51を回転させるトルクで押しつけるようにしてもよい。ドライバービット51を回転させるトルクは、予め実験により、あるいはドライバーユニット50の仕様に基づき算出する。
アーム部20を回転させながら、ねじ211の先端に押しつけるように降下させる理由は、ドライバーユニット50の先端の凸部の形状と、ねじの凹部の形状とが嵌合し、正しく取り付けが行われるようにするためである。
この場合、制御部100のセンサー出力取得部103は、力センサー40が出力する力に関する情報を取得し、取得した力に関する情報をアーム制御部104に出力する。アーム制御部104は、センサー出力取得部103が出力する力に関する情報に基づき、ドライバーユニット50の先端凸部を、ねじ211の凹部に押しつけるように駆動するための駆動信号を生成する。
この結果、制御部100が、アーム部20の先端に発生する力を制御し、ドライバーユニット50の先端部を一定以上の力でねじに押し付ける。このように、ドライバーユニット50の先端部を回転させることで、ドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合し、正しく取り付けが行われる。ステップS101終了後、ステップS102に進む。
【0055】
(ステップS103)
次に、制御部100は、駆動信号がねじ自動供給機の取り出し部のレール201からねじ211を引く抜く方向と、ねじ211を取り付ける対象までの移動方向が同じ方向に駆動する信号であるか否かを判別する。
ねじ自動供給機の取り出し部のレール201からねじ211を引く抜く方向と、ねじ211を取り付ける対象までの移動方向が同じ方向に駆動する信号である場合(ステップS103;Yes)、ステップS104に進む。ねじ自動供給機の取り出し部のレール201からねじ211を引く抜く方向と、ねじ211を取り付ける対象までの移動方向が同じ方向に駆動する信号でない場合(ステップS103;No)、ステップS107に進む。
【0056】
(ステップS104)
ステップS104〜S106について、図6と図7を用いて説明する。
次に、図6のように、制御部100は、アーム部20を制御して、位置xから位置−xへ、x軸負方向にねじ211をねじ自動供給機の取り出し部のレール201から引き抜く。この動作により、ねじ211は、ねじ自動供給機の取り出し部のレール201から抜けて自由な状態になる。
次に、図7のように、位置−xにおいて、制御部100は、アーム部20を制御して、ドライバーユニット50を、ねじを引き抜いた方向と同方向のx軸負方向に所定の加速度で加速(第1の所定の加速度)して、ドライバーユニット50のねじ締めを行うx軸負方向の位置への移動を開始させる。ステップS104終了後、ステップS105に進む。
【0057】
また、ドライバーユニット50の係合部52が鉛直下向きであることが望ましく、慣性力f1に加えて、ねじ211にはたらく重力により、ねじ211はドライバーユニット50の係合部52に誘導され、正しく嵌合する。
また、ドライバーユニット50が加速されるため、ねじ211に対してドライバーユニット50の移動とは反対方向に慣性力f1が働く。この時ドライバーユニット50の先端とねじ211との間には互いに引き付けあう磁力が働いていているため、ねじ211が運動しようとする方向と反対方向に、ドライバーユニット50とねじ211との間の摩擦力f2がはたらく。
なお、ステップS102において、ねじ211がドライバーユニット50の係合部52に正しく嵌合されていた場合、ドライバーユニット50の係合部52の凸部の形状とねじ211の凹部の形状とが嵌合していている。このため、磁力による摩擦力f2に加えて、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とによる摩擦力が加わるので、この場合の摩擦力は摩擦力f2より大きくなる。この結果、上述の慣性力f1が摩擦力f2より大きくならず、ねじ211がドライバーユニット50に対して運動しないため、その位置が変わらない。
【0058】
(ステップS105)
次に、位置−xにおいて、制御部100は、アーム部20を制御して、ドライバーユニット50の係合部52を等速でx軸負方向に移動させ、ドライバーユニット50を、ねじ締めを行う位置へ近づける。
なお、ドライバーユニット50の等速は、ねじ211の長さ、大きさ、重さ、ねじ211の頭部頂面の溝または穴の凹部の形状、ねじ211の頭部頂面の溝または穴の凹部の深さなどに応じて、予め実験により求めるようにしてもよい。なお、等速は、例えば、ねじ211が、M3の長さ10[mm]の場合、0.8[m/sec]である。ステップS105終了後、ステップS106に進む。
【0059】
(ステップS106)
次に、位置−xにおいて、制御部100は、アーム部20を制御して、ドライバーユニット50の係合部52を急減速させて、ドライバーユニット50を、ねじ締めを行う位置で、所定の加速度で急減速(第2の所定の加速度)して停止させる。
また、ドライバーユニット50が急減速されるため、位置−xにおいて、ねじ211に対してドライバーユニット50の移動とは同じ方向に慣性力f3が働く。
また、ドライバーユニット50の係合部52とねじ211との間には互いに引き付けあう磁力がはたらいているため、ねじ211が運動しようとする方向と反対方向に、ドライバーユニット50とねじ211との間の摩擦力f4がはたらく。
従って、上述の慣性力f3が摩擦力f4よりも大きくなるようにドライバーユニット50を急減速させることで、ねじ211がドライバーユニット50に対して運動する。
ステップS102において、ねじ211がドライバーユニット50の係合部52に正しく取り付けられていなかった場合でも、急減速により、ねじ211が、位置x1の状態から位置x4の状態のように、ドライバーユニット50の係合部52の凸部の形状とねじの頭部頂面の溝または穴の凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。
【0060】
また、ドライバーユニット50の係合部52が鉛直下向きであることが望ましく、慣性力f3に加えて、ねじ211に働く重力により、ねじ211はドライバーユニット50の下端に誘導され、正しく嵌合する。
なお、ステップ102において、ねじ211がドライバーユニット50の係合部52に正しく嵌合していた場合、ドライバーユニット50の係合部52の凸部の形状と、ねじ211の頭部頂面の溝または穴の凹部の形状とが嵌合している。このため、磁力による摩擦力f4に加えて、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とによる摩擦力が加わるので、この場合の摩擦力は摩擦力f4より大きくなる。この結果、上述の慣性力f3が摩擦力f4より大きくならず、ねじ211がドライバーユニット50に対して運動しないため、その位置が変わらない(ずれない)。
【0061】
なお、ドライバーユニット50を急減速させる際の加速度は、ドライバーユニット50にねじ211を正しく取り付けて減速させた時にねじ211が運動せず、ねじ211を正しく取り付けていない時にねじ211が運動する値を、ロボット1の設計者かロボット1の制御情報の設計者が予め実験的に求める。または、ドライバーユニット50を急減速させる際の加速度は、ドライバーユニット50とねじ211の間にはたらく磁力及びそれらの間の摩擦係数、ねじ211の質量などから理論的に求めても良い。なお、急加速させる場合の加速度とは、例えば、ねじ211が、M3の長さ10[mm]の場合、11[m/sec]である。ステップS106終了後、ステップS110に進む。
【0062】
(ステップS107)
ステップS107〜S109について、図6と図8を用いて説明する。
次に、図6のように、制御部100は、アーム部20を制御して、位置xから位置−xへ、x軸負方向にねじ211をねじ自動供給機の取り出し部のレール201から引き抜く。この動作により、ねじ211は、ねじ自動供給機の取り出し部のレール201から抜けて自由な状態になる。
次に、図8のように、位置−xにおいて、制御部100は、アーム部20を制御して、ドライバーユニット50を、高さhからhに上昇させる。すなわち、制御部100は、ドライバーユニット50の係合部52を、ねじ211がねじ自動供給機の取り出し部のレール201にぶつからないように、x軸正方向に移動させる。
上昇後、位置−xにおいて、制御部100は、アーム部20を制御して、ドライバーユニット50を、ねじを引き抜いた方向と逆方向のx軸正方向に所定の加速度で急加速(第1の所定の加速度)して、ドライバーユニット50のねじ締めを行うx軸正方向の位置への移動を開始させる。図8において、位置x11の図は、急加速により、ねじ211の姿勢が変化した後の図である。ステップS107終了後、ステップS108に進む。
【0063】
また、ドライバーユニット50が急加速されるため、ねじ211に対してドライバーユニット50の移動とは反対方向に慣性力f5が働く。また、この時ドライバーユニット50の先端とねじ211との間には互いに引き付けあう磁力が働いていているため、ねじ211が運動しようとする方向と反対方向に、ドライバーユニット50とねじ211との間の摩擦力f6がはたらく。
従って、制御部100は、上述の慣性力f5が摩擦力f6よりも大きくなるようにドライバーユニット50を急加速させることで、ねじ211がドライバーユニット50に対して運動する。
【0064】
なお、ドライバーユニット50を急加速させる際の加速度は、ドライバーユニット50にねじ211を正しく嵌合させ、急加速させた場合にねじ211が運動せず、ねじ211を正しく嵌合されていない時にねじ211が運動する値を、ロボット1の設計者かロボット1の制御情報の設計者が実験的に求める。または、ドライバーユニット50とねじ211の間に働く磁力及びそれらの間の摩擦係数、ねじの質量などから理論的に求めても良い。なお、急加速させる場合の加速度とは、例えば、ねじ211が、M3の長さ10[mm]の場合、11[m/sec]である。
【0065】
また、ステップS102において、ねじ211がドライバーユニット50の係合部52に正しく嵌合されていた場合、ドライバーユニット50の係合部52の凸部の形状とねじ211の凹部の形状とが嵌合していている。このため、磁力による摩擦力f6に加えて、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とによる摩擦力が加わるので、この場合の摩擦力は摩擦力f6より大きくなる。この結果、上述の慣性力f5が摩擦力f6より大きくならず、ねじ211がドライバーユニット50に対して運動しないため、その位置が変わらない。
【0066】
(ステップS108)
次に、位置x12において、制御部100は、アーム部20を制御して、ドライバーユニット50の係合部52を等速で移動させ、ドライバーユニット50を、ねじ締めを行う位置へ近づける。
なお、ドライバーユニット50の等速は、ねじ211の長さ、大きさ、重さ、ねじ211の頭部頂面の溝または穴の凹部の形状、ねじ211の頭部頂面の溝または穴の凹部の深さなどに応じて、予め実験により求めるようにしてもよい。なお、等速は、例えば、ねじ211が、M3の長さ10[mm]の場合、0.8[m/sec]である。ステップS108終了後、ステップS109に進む。
【0067】
(ステップS109)
次に、位置x13において、制御部100は、アーム部20を制御して、ドライバーユニット50の係合部52を減速させて、ドライバーユニット50を、ねじ締めを行う位置で、所定の加速度で減速(第2の所定の加速度)して停止させる。
【0068】
位置x13において、ドライバーユニット50が減速され、ねじ211に対してドライバーユニット50の移動とは同じ方向に慣性力f7が働く。
また、ドライバーユニット50の係合部52とねじ211との間には互いに引き付けあう磁力がはたらいているため、ねじ211が運動しようとする方向と反対方向に、ドライバーユニット50とねじ211との間の摩擦力f8がはたらく。
ステップ102において、ねじ211がドライバーユニット50の係合部52に正しく嵌合していた場合、ドライバーユニット50の係合部52の凸部の形状と、ねじ211の頭部頂面の溝または穴の凹部の形状とが嵌合している。このため、磁力による摩擦力f8に加えて、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とによる摩擦力が加わるので、この場合の摩擦力は摩擦力f8より大きくなる。この結果、上述の慣性力f7が摩擦力f8より大きくならず、ねじ211がドライバーユニット50に対して運動しないため、その位置が変わらない(ずれない)。ステップS109終了後、ステップS110に進む。
【0069】
(ステップS110)
ねじ締めを行う位置上でドライバーユニット50が停止した後、制御部100は、ドライバーユニット50をxy平面で、図9(b)、図9(c)のように所定の角度θに傾ける。なお、所定の角度θとは、例えば、30度や45度であり、ねじ211が、ドライバーユニット50の係合部52に正しく嵌合してない場合に、ドライバーユニット50を傾けることにより、ねじ11の頭部頂面の溝または穴がドライバーユニット50の係合部52からずれる角度である。
図9は、本実施形態に係るドライバーユニット50の係合部52にねじ211が嵌合しているか否かを説明する図である。図9(a)は、ねじ締めを行う位置で停止させた場合のドライバーユニット50の係合部52とねじ211の嵌合状態を説明する図である。図9(b)は、ドライバーユニット50を角度θで傾けた場合、ねじ211が嵌合している状態を説明する図である。図9(c)は、ドライバーユニット50を角度θで傾けた場合、ねじ211が嵌合していない状態を説明する図である。
【0070】
このように、ドライバーユニット50を、姿勢を鉛直下向きではなく傾ける理由について説明する。ステップS102〜S105により、ねじ211がドライバーユニット50の係合部52に正しく取り付けられていた場合、ドライバーユニット50を傾けることで、ドライバーユニット50の係合部52の凸部の形状とねじ211の頭部頂面の溝または穴の凹部の形状とが嵌合していて摩擦力f9が大きくなる。この場合、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とに働く摩擦力f9は、ドライバーユニットの係合部52による磁力に応じた摩擦力と、ドライバーユニット50の係合部52とねじ211の頭部頂面の溝または穴とに働く摩擦力との合力である。
この結果、ねじ211に作用する重力Gが摩擦力f9より大きくならず、ねじ211がドライバーユニット50の係合部52に対して運動せず(ずれない)、図9(b)のように、嵌合された位置が変わらない。すなわち、ドライバーユニット50をy軸に対して角度θ傾けた場合、ねじ211もy軸に対して角度θで傾く。
【0071】
一方、ねじ211がドライバーユニット50の係合部52に正しく取り付けられていない場合、ドライバーユニット50の係合部52と、ねじ211との間には磁力に応じた摩擦力f10のみが働く。この結果、ねじ211に生じる重力Gが摩擦力f10より大きくなり、ねじ211がドライバーユニット50に対して運動し(ずれる)、図9(c)のように嵌合された位置が、ねじ211の傾き角度θから、ねじ211’の角度θ以下、例えば0度に変化する。
図9(b)と図9(c)に示したように、y軸に対して角度θで傾けることで、ねじ211が嵌合しているか否かが、画像データにおいて明確に分離する。このため、ステップS207で行う、ねじ姿勢判別のしきい値が設定しやすくなる効果がある。ステップS110終了後、ステップS111に進む。
【0072】
(ステップS111)
制御部100の画像取得部101は、撮像装置60が出力した画像データを取得し、取得した画像データをデジタルデータに変換する。画像取得部101は、変換した画像データを、ねじ姿勢判別部102に出力する。
ねじ姿勢判別部102は、画像取得部101が出力する画像データから、公知のテンプレートマッチングなどにより、ドライバーユニット50の係合部52に、ねじ211が正しい姿勢で取り付けられているか否かを判別する。ねじ211が正しい姿勢で取り付けられている場合(ステップS111;Yes)、ステップS112に進む。ねじ211が正しい姿勢で取り付けられていない場合(ステップS111;No)、ステップS114に進む。
【0073】
例えば、予めドライバーユニット50の係合部52にねじ211を正しく取り付けて撮影した画像データをテンプレート画像データとして、ロボット1の設計者かロボット1の制御情報の設計者が、予め記憶部106に記憶させておく。そして、ねじ姿勢判別部102は、テンプレートマッチング法により、記憶されているテンプレート画像データと、画像取得部101が出力した画像データとの類似度を算出する。ねじ姿勢判別部102は、算出した類似度の値の大小に応じて、ドライバーユニット50の係合部52に、ねじ211が正しい姿勢で嵌合しているか否かを判別する。
ねじ姿勢判別部102は、ドライバーユニット50の係合部52とねじ211とのずれ量が、ねじ締めにおいて許容される程度のずれである場合の類似度を予め実験的に求めて、その値をしきい値として設定しておく。そして、ねじ姿勢判別部102は、算出した類似度が、予め設定されているしきい値以上である場合は良、それ未満である場合は否と判別する。
【0074】
このように、ドライバーユニット50の係合部52に嵌合しているねじ211を、撮像装置60で撮影する場合、ドライバーユニット50の姿勢を傾けることで、テンプレートとの類似度が二極化される。この結果、ねじ姿勢判別部102は良否判別を明確に行うことが可能となる。
なお、嵌合の良否判定は上述の方法に限られるものではなく、例えばエッジ抽出法などを用いてドライバーユニット50の係合部52とねじ211との関係を幾何学的に表し、それを用いて良否判定を行っても良い。この場合も、ドライバーユニット50の係合部52に嵌合されているねじ211を撮像装置60で撮影する際に、ドライバーユニット50の姿勢を傾けることで、これらの幾何学的な関係が二極化され、良否判別を明確に行うことが可能となる。
【0075】
(ステップS112)
次に、制御部100は、ドライバーユニット50をy軸に対して傾きの無い状態(図10(a))に戻す。ステップS112終了後、ステップS113に進む。
図10は、本実施形態に係るねじ211の締め付け動作を説明する図である。図10(a)は、急減速後にドライバーユニット50を元の傾きに戻す動作を説明する図である。
図10(b)は、ねじ211を、ねじ締めを行う対象物301のねじ穴311に押しつける動作を説明する図である。
【0076】
(ステップS113)
次に、制御部100は、アーム部20が把持するドライバーユニット50をy軸負方向に移動させて、ねじ211を、ねじ締めを行う対象物301のねじ穴311に押し付ける。押しつけることで、電動ドライバーには、ドライバーユニット50の係合部52を回転させるトルクが発生する。このため、制御部100は、ドライバーユニット50の係合部52に嵌合しているねじ211をねじ穴311に押しつけることで、ねじ締めを行う。
【0077】
(ステップS114)
ステップS111でねじ211がドライバーユニット50の係合部52と正しく嵌合していない場合、制御部100は、ドライバーユニット50の係合部52よりも大きな磁力を発生させる物体に吸着されているねじ211を近づけて、ねじ211を取り外す。ねじ211を取り外した後、ステップS101に戻る。
また、ねじ211を取り外す方法は上述の方法に限られるものではなく、例えばアーム部20の先端を急加速又は急減速させて、ねじ211にはたらく慣性力が、ねじ211とドライバーユニット50との間にはたらく摩擦力よりも大きくすることで、ねじ211を取り外してもよい。あるいは、制御部100は、ステップS102〜S109の間、ドライバーユニット50の係合部52を磁化し、ステップS110のとき、ドライバーユニット50の係合部52を消磁することで、ねじ211を取り外すようにしてもよい。
【0078】
図11は、本実施形態に係るドライバーユニット50の移動中の速度と加速度の一例を説明する図である。図11(a)は、ドライバーユニット50の移動中の速度の一例を説明する図である。図11(b)は、ドライバーユニット50の移動中の加速度の一例を説明する図である。図11(a)において、横軸は時間、縦軸は速度であり、符号g101は、時間に対する速度の変化である。また、図11(b)において、横軸は時間、縦軸は加速度、符号g102−1は、時刻t2〜t3における加速度を表し、符号g102−2は、時刻t4〜t5における加速度を表している。
図11(a)と図11(b)に示すように、時刻t1〜t2の期間、ドライバーユニット50の速度は0である。この状態は、図5(a)〜図5(c)に示した動作中であり、x軸方向の速度が0である(図4のステップS101〜S102)。
図11(a)に示すように、時刻t2〜t3の期間、ドライバーユニット50の速度は、速度0から速度V1に向けて緩やかに増加する。(図4のステップS104)。そして、図11(b)に示すように、時刻t2〜t3の期間、加速度は、符号g102−1のように正の加速度である。
図11(a)と図11(b)に示すように、時刻t3〜t4の期間、ドライバーユニット50の速度は、速度V1の等速である(図4のステップS105)。
図11(a)に示すように、時刻t4〜t5の期間、ドライバーユニット50の速度は、速度V1から速度0に向けて急激に減少する(図4のステップS106)。そして、図11(b)に示すように、時刻t4〜t5の期間、加速度は、符号g102−2のように負の加速度である。
【0079】
図12は、本実施形態に係るドライバーユニット50の係合部52にねじ211が正しく嵌合している一例を説明する図である。図13は、本実施形態に係るドライバーユニット50の係合部52にねじ211が正しく嵌合していない一例を説明する図である。
図12に示すように、ドライバーユニット50の係合部52と、ねじ211が正しく嵌合している場合、ドライバーユニット50をy軸に対して角度θ傾けると、ねじ211もy軸に対して角度θ傾く。
一方、図13に示すように、ドライバーユニット50の係合部52と、ねじ211が正しく嵌合していない場合、ドライバーユニット50をy軸に対して角度θ傾けると、ねじ211は、重力によりy軸負方向へ垂れたがる。例えば、図13に示すように、ねじ211は、y軸に対して角度−θ211傾く、この場合、ねじ211は、図13に示すように、ドライバーユニット50の係合部52と磁力によりくっついていて、ねじ211の傾き角度は、ドライバーユニット50の係合部52のどこに接触しているかに左右される。
このように、ねじ211が、ドライバーユニット50の係合部52に正しく嵌合しているか否かを、ドライバーユニット50を傾けることで、明確に分離することができる。なお、ねじ211が、ドライバーユニット50の係合部52に正しく嵌合しているか否かの判別を行う角度は、予めねじ締めを行うドライバーユニット50と、ねじ211を用いて実測により設定するようにしてもよい。
【0080】
以上のように、制御部100は、ドライバー50の磁化されている係合部52を、ねじ211の頭部頂面の穴に押しつける。その後、制御部100は、ドライバーユニット50を、ドライバーユニット50の移動とは反対方向に働く慣性力が、ドライバーユニット50とねじ211との間に働く摩擦力f2よりも大きくなるようにドライバーユニット50を急加速して移動させる。このため、ドライバー50の係合部52をねじ211の頭部頂面の穴に押しつけで正しく嵌合しなかった場合でも、急加速により、ねじ211がドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。この結果、汎用的なドライバーを用いてもドライバー50の係合部52とねじ211の頭部頂面の溝または穴とを正しく嵌合させることができる。
さらに、アーム部20を急加速して移動させても、ドライバー50の係合部52とねじ211の頭部頂面の穴とが正しく嵌合しなかった場合でも、アーム部20を急減速により、ねじ211がドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。この結果、汎用的なドライバーを用いてもドライバー50の係合部52とねじ211の頭部頂面の溝または穴とを正しく嵌合させることができる。
【0081】
なお、本実施形態では、ドライバーユニット50をy軸に対して角度θ傾けて、ドライバーユニット50の係合部52とねじ211とが正しく嵌合しているか否かを判別する例を説明した。しかしながら、用途に応じて、例えば、ねじ211の頭部の嵌合部の深さが浅い場合、ドライバーユニット50をy軸に対して角度θ傾けずに、ドライバーユニット50の係合部52とねじ211とが正しく嵌合しているか否かを判別するようにしてもよい。この場合、記憶部106には、テンプレートマッチングを行うための画像データは、ドライバーユニット50を傾けていない場合のドライバーユニット50の係合部52とねじ211が正しく嵌合している状態の画像データを記憶しておくようにしてもよい。あるいは、記憶部106には、テンプレートマッチングを行うための画像データは、ドライバーユニット50を所定の角度で傾けていない場合のドライバーユニット50の係合部52とねじ211が正しく嵌合していない状態の画像データを記憶しておくようにしてもよい。
【0082】
また、本実施形態では、図7、図8および図11に示したように、ドライバーユニット50を急加速した後に等速で移動させ、その後、急減速する例を説明したが、等速の移動は行わなくてもよい。あるいは、ドライバーユニット50を急加速した後に等速で移動させるようにしてもよい。あるいは、ドライバーユニット50を等速で移動させた後、急減速するようにして、急加速を行わないようにしてもよい。すなわち、ドライバーユニット50を急加速か急減速のいずれか1つを行うようにしてもよい。
【0083】
また、本実施形態では、ドライバーユニット50を急加速した後に等速で移動させ、その後、急減速した後、画像データにより、ねじ姿勢の判別を行う例を説明した。しかしながら、ねじ姿勢の判別を行った後に、ドライバーユニット50の係合部52とねじ211が正しく嵌合していない場合に、制御部100は、ドライバーユニット50を再度、等速で移動させた後、急減速を行うようにしてもよい。この場合、ねじ姿勢の判別を行う位置は、ねじ211を締め付ける対象物301のねじ穴311の真上ではなく、その手前、もしくは、ねじ穴311より先の位置で行うようにしてもよい。または、ねじ姿勢の判別を行う位置は、ねじ211を締め付ける対象物301のねじ穴311の真上で、ねじ姿勢の判別を行う。判別後、ドライバーユニット50の係合部52とねじ211が正しく嵌合していない場合のみ、制御部100は、ドライバーユニット50を所定の距離だけ等速で移動させ、その後、ねじ211を締め付ける対象物301のねじ穴311の真上に戻すように制御し、戻すときに急減速を行うようにしてもよい。
【0084】
また、本実施形態では、ドライバーユニット50としてプラスドライバー、ねじ211としてプラス形状の穴を持つねじを例に説明したが、他のねじでも同様の効果が得られる。例えば、すりわり(マイナス)の溝を有するねじの場合、制御部100のアーム制御部104は、撮像装置60が撮像した画像データを用いて、ねじ自動供給機の取り出し部のレール201上のねじ211のねじ頭部頂面のすりわりの角度を抽出する。そして、アーム制御部104は、抽出したねじ211のねじ頭部頂面のすりわりの角度に基づき、ドライバーユニット50の係合部52の角度をねじ211のねじ頭部頂面のすりわりの角度に合わせるような回転速度に制御する駆動信号を生成する。このようにして、ドライバーユニット50の係合部52の角度をねじ211のねじ頭部頂面のすりわりの角度に合わせるように制御するようにしてもよい。また、ドライバーユニット50の係合部52の角度をねじ211のねじ頭部頂面のすりわりの角度に合わせる回転速度は、例えば実測により算出するようにしてもよい。
また、六角穴を有するねじの場合、ドライバーユニット50のドライバービット51に六角棒スパナを用いる。この場合においても、制御部100は、ドライバーユニット50の係合部52の六角形をねじ211のねじ頭部頂面の六角形の形状に合わせるように制御するようにしてもよい。
【0085】
[第2実施形態]
第1実施形態では、ねじ締め対象物301のねじ穴311が、y軸の下方(負方向)にあり、ねじ穴311がx軸に対して垂直である例を説明した。ねじ211の取り付け方向は下方に限られるものではなく、任意の方向への取り付けが可能である。なお、任意の方向とは、例えば、図15(b)に示すように、y軸に対して角度θ1傾いた状態である。
図14は、本実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。本実施形態に係る制御部100のブロックは、第1実施形態で示した図3と同じである。
【0086】
図15は、本実施形態に係るねじ締め付け対象物301が傾いている場合のねじ211の締め付け動作を説明する図である。図15(a)は、急減速後にドライバーユニット50を元の傾きに戻す動作を説明する図である。図15(b)は、ねじ211を、ねじ締めを行う対象物301のねじ穴311に押しつける動作を説明する図である。
図14に示すように、ステップS201〜S209、およびS213は、第1実施形態のステップS101〜S109、およびS114と同じため、説明を省略する。
【0087】
(ステップS210)
ねじ締めを行う位置上でドライバーユニット50が停止した後、制御部100は、ドライバーユニット50をxy平面で、図15(a)に示すように所定の角度θ1に傾ける。なお、所定の角度θ1とは、ねじ締めを行う対象物301のねじ穴311の傾きの角度θ1である。ステップS210終了後、ステップS211に進む。
【0088】
(ステップS211)
制御部100の画像取得部101は、撮像装置60が出力した画像データを取得し、取得した画像データをデジタルデータに変換する。画像取得部101は、変換した画像データを、ねじ姿勢判別部102に出力する。
ねじ姿勢判別部102は、画像取得部101が出力した画像データから、公知のテンプレートマッチングなどにより、ドライバーユニット50の係合部52に、ねじ211が正しい姿勢で取り付けられているか否かを判別する。ねじ211が正しい姿勢で取り付けられている場合(ステップS211;Yes)、ステップS212に進む。ねじ211が正しい姿勢で取り付けられていない場合(ステップS211;No)、ステップS213に進む。
【0089】
(ステップS212)
次に制御部100は、ドライバーユニット50をy軸方向のマイナス方向に移動させて、ねじ211を、ねじ締めを行う対象物301のねじ穴311に押し付ける。押しつけることで、電動ドライバーは、ドライバーユニット50の係合部52を回転させるトルクが発生する。このため、制御部100は、ドライバーユニット50の係合部52に嵌合しているねじ211をねじ穴311に押しつけることで、ねじ締めを行う。
【0090】
なお、ドライバーユニット50の先端を角度θ1で傾けても、ねじ211が磁力による吸着力で、ずれない場合、この角度θ1より大きな角度に傾けて、ねじ211とドライバーユニット50の係合部52が正しく嵌合しているか否かを判別するようにしてもよい。そして、ねじ姿勢判別後、ドライバーユニット50の傾きを角度θ1に戻すようにしてもよい。
【0091】
以上のように、ドライバー50の係合部52とねじ211の頭部頂面の穴とが正しく嵌合しているか否かの判別を、ねじ211を取り付ける対象物301のねじ穴311の傾きの角度に傾けて行う。この結果、ねじ211を取り付ける対象物301のねじ穴311の実際の傾き角度で、ドライバーユニット50の係合部52とねじ211の頭部頂面の穴とが正しく嵌合しているかを確認できる効果がある。また、判別の結果、ドライバーユニット50の係合部52とねじ211の頭部頂面の穴とが正しく嵌合している場合、傾けたドライバーユニット50の傾きを戻さずに、そのまま、ねじ211を、ねじを取り付ける対象物310のねじ穴311に締め付けることができる効果もある。
また、第1実施形態と同様に、ドライバーユニット50の係合部52にねじ211の頭部頂面を押しつけた後、ドライバーユニット50を急加速、急減速により、ねじ211がドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。この結果、汎用的なドライバーを用いてもドライバー50の係合部52とねじ211の頭部頂面の溝または穴とを正しく嵌合させることができる。
【0092】
[第3実施形態]
第1実施形態と第2実施形態では、ドライバーユニット50として電動ドライバーを用いる例を説明したが、本実施形態では、ドライバーユニット50としてドライバーを用いる例を説明する。
ロボット1の構成図は、図1と同じであり、ドライバーユニット50は、ドライバーである。ドライバーユニット50の係合部52は、磁化されている。
【0093】
図16は、本実施形態に係るドライバーユニット50の先端にねじ211を取り付け、ねじ締めを行うまでの動作のフローチャートである。
ステップS301〜S312、およびS315は、第1実施形態のステップS101〜S112、およびS114と同様に処理を行う。
【0094】
(ステップS313)
制御部100は、ドライバーユニット50の係合部52を、ねじ211を締め付ける回転方向に回転させながら、y軸負方向に移動させる。ステップS313終了後、ステップS314に進む。
(ステップS314)
制御部100のアーム制御部104は、ねじ211を、ねじ締めを行う対象物301のねじ穴311にねじ締めを行うように、ドライバーユニット50をy軸負方向に移動且つxz平面で回転させる。また、制御部100は、力センサー30が出力するアーム2のエンドエフェクター40に加わる力成分とトルク成分を含む情報に基づき、ねじ211がねじ穴311にねじ締めが完了したか否かを判別する。ねじ締めが完了したと判別されるまで、アーム制御部104は、ねじ締めを行う駆動信号を生成し、生成した駆動信号を駆動部105に出力する。
【0095】
なお、本実施形態では、第1実施形態と同様に、ねじ締め付け対象物301のねじ穴311が、x軸に対して垂直な場合の例を説明したが、ねじ穴311が斜めの場合、ステップS301からS311までは、第2実施形態のステップS201〜S211と同様に行う。そして、ステップS312を行わずに、ステップS313を行うようにしてもよい。
【0096】
以上のように、ドライバーユニット50としてドライバーを使用した場合でも、第1実施形態と同様に、ドライバーユニット50の係合部52にねじ211の頭部頂面を押しつけた後、ドライバーユニット50を急加速、急減速するようにしている。このため、ドライバー50の係合部52とねじ211の頭部頂面の穴とが正しく嵌合しなかった場合でも、アーム部20を急加速または急減速により、ねじ211がドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。この結果、汎用的なドライバーを用いてもドライバー50の係合部52とねじ211の頭部頂面の溝または穴とを正しく嵌合させることができる。また、ドライバーユニット50を傾けて、ドライバーユニット50の係合部52とねじ211の頭部頂面とが正しく嵌合しているか否かを判別しているので、ドライバー50の係合部52とねじ211の頭部頂面の穴とを正しく嵌合させることができる。
【0097】
[第4実施形態]
第1実施形態と第2実施形態では、ドライバーユニット50として電動ドライバーを用いる例、第3実施形態では、ドライバーユニット50としてドライバーを用いる例を説明したが、ドライバーユニット50は、用途に応じて、ロボット1が持ち替えるようにしてもよい。
図17は、本実施形態に係るロボット1aの概略構成を示す斜視図である。
図17に示すように、ドライバーユニット50a〜50cは、ドライバーユニット置台80にセットされている。
ドライバーユニット50a〜50cは、ドライバービット51の形状が異なる電動ドライバーまたはドライバーである。
また、制御部100の記憶部106には、ドライバーユニット50a〜50cごとのテンプレートマッチングを行うための画像データが予め記憶されている。
【0098】
図18は、本実施形態に係るロボット1aの動作のフローチャートである。
(ステップS401)
制御部100は、記憶部106に記憶されている制御情報に基づき、アーム部20の先端を、ドライバーユニット置台80へ移動する。
【0099】
(ステップS402)
制御部100は、記憶部106に記憶されている制御情報に基づき、ねじ締めを行う対象物のねじ穴に合わせたドライバーユニット50a〜50cのうち1つを選択して把持する。
【0100】
(ステップS403)
制御部100のねじ姿勢判別部102は、把持したドライバーユニット50a〜50cに応じたテンプレートマッチングを行うための画像データを読み出す。
以下、ステップS404〜S417は、第1実施形態のステップS101〜S114と同様である。
【0101】
なお、本実施形態では、第1実施形態と同様に、ねじ締め付け対象物301のねじ穴311が、x軸に対して垂直な場合の例を説明したが、ねじ穴311が斜めの場合、ステップS404〜S414は、第2実施形態のステップS201〜S211と同様に行う。そして、ステップS415を行わずに、ステップS416を行うようにしてもよい。
【0102】
以上のように、ドライバーユニット50としてドライバーをねじ211に応じて持ち替えたでも、第1実施形態と同様に、ドライバーユニット50の係合部52にねじ211の頭部頂面を押しつけた後、ドライバーユニット50を急加速、急減速により、ねじ211がドライバーユニット50の先端の凸部の形状とねじの凹部の形状とが嵌合する位置に誘導され、正しく嵌合する。この結果、汎用的なドライバーを用いてもドライバー50の係合部52とねじ211の頭部頂面の溝または穴とを正しく嵌合させることができる。また、ドライバーユニット50を傾けて、ドライバーユニット50の係合部52とねじ211の頭部頂面とが正しく嵌合しているか否かを判別しているので、ドライバー50の係合部52とねじ211の頭部頂面の穴とを正しく嵌合させることができる。
【0103】
なお、実施形態の図3の制御部の各部の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、USB(Universal Serial Bus) I/F(インタフェース)を介して接続されるUSBメモリー、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、サーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【0104】
1、1a・・・ロボット 2・・・アーム 10・・・固定部 20・・・アーム部
30・・・力センサー 40・・・エンドエフェクター
50・・・ドライバーユニット 51・・・ドライバービット
52・・・係合部 60・・・撮像装置
80・・・ドライバーユニット基台
82、83、85・・・回転部
81、84、86・・・屈折部
100・・・制御部 101・・・画像取得部 102・・・ねじ姿勢判別部
103・・・センサー出力取得部 104・・・アーム制御部
105・・・駆動部 106・・・記憶部
201・・・ねじ 201・・・ねじ自動供給機の取り出し部のレール
301・・・対象部 311・・・ねじ穴
θ、θ1・・・ドライバーユニットの傾け角度

【特許請求の範囲】
【請求項1】
ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部と、
前記アーム部を制御する制御部と、
を備え、
前記制御部は、
前記ドライバーの前記係合部を磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる
ことを特徴とするロボット。
【請求項2】
前記制御部は、
前記アーム部を第1の加速度で加速して移動させ、前記アーム部を第2の加速度で減速して停止させる
ことを特徴とする請求項1に記載のロボット。
【請求項3】
前記第1の加速度は、前記ドライバーユニットの移動方向に対する正の加速度であり、
前記第2の加速度は、前記ドライバーユニットの移動方向に対する負の加速度である
ことを特徴とする請求項2に記載のロボット。
【請求項4】
前記制御部は、
前記ねじが吸着された前記ドライバーを所定の角度に傾けて、前記ねじが吸着された前記ドライバーを撮像し、撮像した画像を用いて前記ドライバーの前記係合部と前記ねじの頭部頂面の溝との嵌合の状態を判別し、
前記判別結果が前記ドライバーの前記係合部と前記ねじの頭部頂面の溝とが正しく嵌合している場合、前記ねじが吸着された前記ドライバーを、ねじ締めを行う対象物のねじ溝に向けて移動させてねじ締めを行う
ことを特徴とする請求項1から請求項3のいずれか1項に記載のロボット。
【請求項5】
前記所定の角度は、
前記ねじを、取り付ける対象物のねじ溝の角度である
ことを特徴とする請求項4項に記載のロボット。
【請求項6】
撮像装置を備え、
前記制御部は、
前記撮像装置が撮像した前記アーム部を所定の角度に傾けた場合の画像と、テンプレート画像データとの類似度に基づき、前記ドライバーの前記係合部と前記ねじの頭部頂面の溝との嵌合の状態を判別する
ことを特徴とする請求項1から請求項4のいずれか1項に記載のロボット。
【請求項7】
前記制御部は、
前記ドライバーを把持している前記アーム部を前記所定の速度で回転させた状態で、前記ドライバービットの先端の係合部を前記ねじの頭部頂面の溝に押しつける
ことを特徴とする請求項1から請求項6のいずれか1項に記載のロボット。
【請求項8】
前記ドライバーは電動ドライバーである
ことを特徴とする請求項1から請求項7のいずれか1項に記載のロボット。
【請求項9】
ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部と、
前記アーム部を制御する制御部と、
を備え、
前記制御部は、
前記ドライバーの前記係合部を磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつけた状態で、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる
ことを特徴とするロボット制御装置。
【請求項10】
ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部を制御する制御部が、
前記ドライバーの前記係合部を、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつける工程と、
前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる工程と、
を有することを特徴とするロボット制御方法。
【請求項11】
ドライバービットの先端の係合部が磁化されているドライバーを把持するアーム部を制御する処理をコンピューターに実行させるためのプログラムであり、
前記ドライバーの磁化されている前記係合部を、磁力により係合可能な頭部を有するねじの頭部頂面の溝に押しつける手順と、
前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が嵌合した状態で磁力により生じる吸着力よりも小さく、前記ドライバーの前記係合部に前記ねじの頭部頂面の溝が当接した状態で磁力により生じる吸着力よりも大きい慣性力が前記ねじに作用する第1の所定の加速度で、前記ねじが吸着された前記ドライバーを移動させる手順と、
を実行させるためのロボット制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2012−161860(P2012−161860A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−22757(P2011−22757)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】