IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7438777制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法
<>
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図1
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図2
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図3
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図4
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図5
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図6
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図7
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図8
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図9
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図10
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図11
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図12
  • 特許-制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】制御方法、制御プログラム、記録媒体、ロボットシステム、および物品の製造方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240219BHJP
   G05B 19/42 20060101ALI20240219BHJP
【FI】
B25J9/22 A
G05B19/42 D
【請求項の数】 21
(21)【出願番号】P 2020020181
(22)【出願日】2020-02-07
(65)【公開番号】P2021122923
(43)【公開日】2021-08-30
【審査請求日】2023-02-03
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】徳永 泰明
【審査官】樋口 幸太郎
(56)【参考文献】
【文献】特開2012-232396(JP,A)
【文献】特開2019-084636(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
所定部位を移動させるロボットと、前記ロボットを制御する制御装置と、前記所定部位の位置に関する情報を検出する位置検出手段と、を備えたロボットシステムの制御方法において、
前記制御装置が、
前記所定部位の形状に関する第1形状情報と、前記所定部位によって作業を実行する対象となる対象物が配置された構造物の第2形状情報と、を取得し、
前記ロボットにより、前記所定部位を所定方向へ移動させ、前記所定部位と前記構造物とを接触させ、前記位置検出手段により、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第1位置情報を取得し、
前記ロボットにより、前記所定部位と前記構造物とを接触させた後に、前記所定方向とは異なる方向に移動させ、前記所定部位と前記構造物とを接触させ、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第2位置情報を取得し、
前記第1位置情報と、前記第2位置情報と、前記第1形状情報と、前記第2形状情報と、に基づき、前記構造物における前記対象物が配置された位置に関する情報である第3位置情報を取得し、前記ロボットにより、前記第3位置情報に基づき、前記所定部位を前記対象物に接触させる、
ことを特徴とする制御方法。
【請求項2】
請求項1に記載の制御方法において、
前記ロボットシステムは、前記所定部位と他の物体との接触を検出する接触検出手段をさらに備え、
前記制御装置が、前記接触検出手段により前記所定部位と前記構造物との接触を検出した場合の前記所定部位の位置情報に基づき、前記第1位置情報または前記第2位置情報を取得する
ことを特徴とする制御方法。
【請求項3】
請求項2に記載の制御方法において、
前記制御装置が、
前記接触検出手段により前記所定部位と前記構造物との接触を検出した場合の前記ロボットの位置姿勢に関する情報と、前記第2形状情報と、に基づき、前記構造物と前記所定部位との相対的な位置姿勢に関する情報を取得し、
取得した前記相対的な位置姿勢に関する情報に基づき、前記所定部位を前記対象物に接触させる、
ことを特徴とする制御方法。
【請求項4】
請求項3に記載の制御方法において、
前記位置検出手段は前記ロボットに配置された角度センサであり、
前記制御装置が、前記角度センサを用いて前記ロボットの位置姿勢に関する情報を取得する、
ことを特徴とする制御方法。
【請求項5】
請求項1から4のいずれか1項に記載の制御方法において、
前記制御装置が
前記第3位置情報に基づき、前記所定部位を前記対象物に接触させ、前記所定部位を、前記所定部位を前記対象物に接触させる方向を基準として回転させ、当該回転により前記所定部位と前記対象物とが触するまでの移動量に基づき、前記所定部位が、前記対象物に対する作業を実行する作業位置に位置しているか判定する、
ことを特徴とする制御方法。
【請求項6】
請求項に記載の制御方法において、
前記制御装置が、
前記所定部位が前記作業位置に位置していると判定した場合、前記所定部位を前記作業位置から離間させ、
離間させた場合の前記所定部位の位置に関する情報を教示データとして取得する、
ことを特徴とする制御方法。
【請求項7】
請求項に記載の制御方法において、
前記制御装置が、
離間させた場合の前記所定部位の位置に関する情報に基づく前記ロボットの位置姿勢に関する情報を取得し、
取得した前記ロボットの位置姿勢に関する情報も教示データとして取得する、
ことを特徴とする制御方法。
【請求項8】
請求項5から7のいずれか1項に記載の制御方法において、
前記作業位置は、前記対象物に設けられた溝の位置に関する情報である、
ことを特徴とする制御方法。
【請求項9】
請求項からのいずれか1項に記載の制御方法において、
前記制御装置が、
前記第1位置情報と、前記第2位置情報と、前記対象物が配置されている前記構造物の孔部の半径と、前記所定部位の半径と、に基づき、前記第3置情報を取得する、
ことを特徴とする制御方法。
【請求項10】
請求項に記載の制御方法において、
前記接触検出手段として、前記所定部位と前記所定部位と異なる物体とが接触する場合に生じる反力の方向を検出する反力検出手段を備え、
前記制御装置が、
前記反力の方向に関する情報に基づき、前記所定部位が、前記対象物が配置された孔部の中心に向かう方向を取得し、
前記第1位置情報と、前記中心に向かう方向と、前記対象物が配置されている前記構造物の孔部の半径と、前記所定部位の半径と、に基づき前記第3位置情報を取得する、
ことを特徴とする制御方法。
【請求項11】
請求項1に記載の制御方法において、
前記制御装置が、
前記所定部位を前記対象物に接触させ、前記所定部位を、前記所定部位を前記対象物に接触させる方向を基準として前記所定部位を回転させることで発生する反力に関する情報を前記反力検出手段により取得し、
取得した当該反力に基づき、前記所定部位と前記対象物との位相合わせを行う、
ことを特徴とする制御方法。
【請求項12】
請求項2に記載の制御方法において、前記接触検出手段が接触センサまたは力覚センサである、
ことを特徴とする制御方法。
【請求項13】
請求項10または11に記載の制御方法において、前記反力検出手段は力覚センサである、
ことを特徴とする制御方法。
【請求項14】
請求項1から1のいずれか1項に記載の制御方法において、
前記構造物の孔部に囲まれた空間に前記対象物が配置されている、
ことを特徴とする制御方法。
【請求項15】
請求項1から1のいずれか1項に記載の制御方法において、
前記構造物が、作業者の前記対象物に向かう視線を遮蔽する遮蔽部材として機能している、
ことを特徴とする制御方法。
【請求項16】
請求項1から1のいずれか1項に記載の制御方法において、
前記所定部位はドライバであり、前記対象物はネジである、
ことを特徴とする制御方法。
【請求項17】
請求項1から1のいずれか1項に記載の制御方法において、
前記ロボットシステムは、前記制御装置と接続される端末装置をさらに備え、
前記端末装置による作業者の指示により、前記制御装置が、前記第1形状情報と、前記対象物の形状に関する第3形状情報と、前記第2形状情報と、前記第1位置情報と、前記第2位置情報に基づき、前記所定部位を前記対象物に半自動的または自動的に接触させる、
ことを特徴とする制御方法。
【請求項18】
請求項1から1のいずれか1項に記載の制御方法をコンピュータに実行させる制御プログラム。
【請求項19】
請求項18に記載の制御プログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項20】
所定部位を移動させるロボットと、前記ロボットを制御する制御装置と、前記所定部位の位置に関する情報を検出する位置検出手段と、を備えたロボットシステムにおいて、
前記制御装置が、
前記所定部位の形状に関する第1形状情報と、前記所定部位によって作業を実行する対象となる対象物が配置された構造物の第2形状情報と、を取得し、
前記ロボットにより、前記所定部位を所定方向へ移動させ、前記所定部位と前記構造物とを接触させ、前記位置検出手段により、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第1位置情報を取得し、
前記ロボットにより、前記所定部位と前記構造物とを接触させた後に、前記所定方向とは異なる方向に移動させ、前記所定部位と前記構造物とを接触させ、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第2位置情報を取得し、
前記第1位置情報と、前記第2位置情報と、前記第1形状情報と、前記第2形状情報と、に基づき、前記構造物における前記対象物が配置された位置に関する情報である第3位置情報を取得し、前記ロボットにより、前記第3位置情報に基づき、前記所定部位を前記対象物に接触させる、
ことを特徴とするロボットシステム。
【請求項21】
請求項1から17のいずれか1項に記載の制御方法によって移動された前記所定部位によって前記対象物を操作して、前記対象物を含む物品を製造することを特徴とする物品の製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット教示作業などにおいて、ロボット装置により操作されるツールを目標位置に位置決めする制御方法、ロボット装置、ロボットシステム、および物品の製造方法に関する。
【背景技術】
【0002】
近年では、生産現場での自動化が進んでおり、旧来、作業者が行っていた作業工程へのロボット適用が盛んになってきている。産業用の多関節ロボットでは、ロボット動作をプログラミングする、いわゆる教示作業が行われる。この種のロボット装置の教示では、例えばティーチングペンダントのようなコントローラを用いてロボットアームを制御し、自動実行させるロボット動作を教示する。一連のロボット動作に相当する教示内容は、例えばロボット手先などの基準点の位置に相当する教示点のリスト、のような形式で生成される。
【0003】
教示作業は、ユーザはロボット動作を肉眼で視認しつつワークや手先の動きなどに問題がないか、確認しつつ行われる。ところが、ワークの形状や、周囲の物体の配置によっては、ユーザワークやロボット手先などを導きたい目標位置の周囲を目視することが困難になる状況が生じる。例えば、比較的、小径で深い座ぐり穴の奥などに存在する目標位置がそれである。例えば、このような座ぐり穴の奥にある、ねじやボルト頭などに、ロボットアーム手先のツールが正対するよう導く教示作業では、目標位置ないしその周囲の視認が困難である場合がある。また、ワークの比較的高い壁部の一方の側にしかユーザが立てず、しかもその壁部の他方の側に目標位置が存在するような場合も同様である。
【0004】
ここで、例えば、上記の、比較的小径で深い座ぐり穴の底部に位置するねじを締め込ませる動作をロボット装置に教示する場合を考える。この場合、ロボットが用いる締結用のツールは、ドライバ(捻子廻し)、ないしその種のツールである。例えばもし対象のねじがマイナスねじであれば、ツールのドライバにはマイナスドライバが用いられる。
【0005】
一般的な、ロボット教示では、作業者が目視でツールとねじとの位置関係を確認し、ロボット装置をゆっくり動かして、ツールをねじへ接近させて、ねじ頭の溝へツール先端が挿入可能な位置で教示作業を行う。ねじの挿入可能な位置とは、例えば、教示後にツール先端の位相とねじ頭の溝の位相を合わせて、ツールの軸方向へ直進してねじへ接近するだけで、ねじ頭の溝へツールが挿入できる状態となる位置である。
【0006】
一方、ねじが上記のような小径で深い座ぐり穴の奥に位置するような場合、目視ではツールがねじ頭の溝へ挿入可能な位置であるかどうかを確認できない場合がある。また、ツール先端がねじ頭の溝に対してずれた位置でロボットに教示されており、ツールのねじへの挿入ができない場合にも、ずれている方向(位相)を目視では確認できず、ツールをどちらへ動かせば正しい教示位置へ移動できるのか判然としないことがある。
【0007】
目視による確認が困難な位置決め対象箇所へ、ロボットを位置決めするためにガイド部材を用いる技術が提案されている(例えば特許文献1)。この技術では、ロボットのエンドエフェクタにガイドバーを、また、作業対象に、ガイドバーに対応するガイド穴を設け、力覚センサを用いてガイドバーとガイド穴の位置合わせを行う。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2017-24092号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
上記のガイドバー、およびガイド穴などを用いる技術では、加工誤差および組立誤差等の影響で、ツール先端の位置と作業対象位置との位置関係を必ずしも完全に再現できない場合が考えられる。また、ガイドバー、およびガイド穴など余計な部材や形状がワークや治具に必要であり、コスト増に繋がり、またデザインの制約などによってこのようなガイド構成が実施できない場合も考えられる。
【0010】
そこで、本発明の課題は、簡単安価な構成により、例えば、ツールを移動させたい位置付近が目視困難であるような場合において、ロボット装置のツール先端などを高精度かつ容易に移動できるようにすることにある。
【課題を解決するための手段】
【0011】
本発明の一つの態様は、所定部位を移動させるロボットと、前記ロボットを制御する制御装置と、前記所定部位の位置に関する情報を検出する位置検出手段と、を備えたロボットシステムの制御方法において、前記制御装置が、前記所定部位の形状に関する第1形状情報と、前記所定部位によって作業を実行する対象となる対象物が配置された構造物の第2形状情報と、を取得し、前記ロボットにより、前記所定部位を所定方向へ移動させ、前記所定部位と前記構造物とを接触させ、前記位置検出手段により、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第1位置情報を取得し、前記ロボットにより、前記所定部位と前記構造物とを接触させた後に、前記所定方向とは異なる方向に移動させ、前記所定部位と前記構造物とを接触させ、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第2位置情報を取得し、前記第1位置情報と、前記第2位置情報と、前記第1形状情報と、前記第2形状情報と、に基づき、前記構造物における前記対象物が配置された位置に関する情報である第3位置情報を取得し、前記ロボットにより、前記第3位置情報に基づき、前記所定部位を前記対象物に接触させる、ことを特徴とする制御方法である。
また、本発明の別の一つの態様は、所定部位を移動させるロボットと、前記ロボットを制御する制御装置と、前記所定部位の位置に関する情報を検出する位置検出手段と、を備えたロボットシステムにおいて、前記制御装置が、前記所定部位の形状に関する第1形状情報と、前記所定部位によって作業を実行する対象となる対象物が配置された構造物の第2形状情報と、を取得し、前記ロボットにより、前記所定部位を所定方向へ移動させ、前記所定部位と前記構造物とを接触させ、前記位置検出手段により、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第1位置情報を取得し、前記ロボットにより、前記所定部位と前記構造物とを接触させた後に、前記所定方向とは異なる方向に移動させ、前記所定部位と前記構造物とを接触させ、前記所定部位と前記構造物とを接触させた場合における前記所定部位の位置に関する情報である第2位置情報を取得し、前記第1位置情報と、前記第2位置情報と、前記第1形状情報と、前記第2形状情報と、に基づき、前記構造物における前記対象物が配置された位置に関する情報である第3位置情報を取得し、前記ロボットにより、前記第3位置情報に基づき、前記所定部位を前記対象物に接触させる、ことを特徴とするロボットシステムである。
【発明の効果】
【0012】
上記構成によれば、簡単安価な構成により、例えば、例えば、ツールを移動させたい位置付近が目視困難であるような場合において、ロボット装置のツール先端などを高精度かつ容易に移動することができる。
【図面の簡単な説明】
【0013】
図1】本発明の第1の実施形態に係るロボット装置の全体構成を示した図である。
図2】本発明で使用するロボット先端部のツールへの接触検知手段(力覚センサ等)の検知方向を示した図である。
図3】本発明の第1の実施形態に係るロボット装置の制御手順を示したフローチャート図である。
図4図1のロボットの先端に配置したツールを組み立て部品へ挿入している図である。
図5】本発明の第1の実施形態において、目標位置を導出する際の組み立て部品の穴とツールの位置関係を示した説明図である。
図6】本発明の第2の実施形態に係るロボット装置の制御手順を示したフローチャート図である。
図7】本発明の第2の実施形態において、作業対象に対するツールの位相の導出方法を説明する図である。
図8】本発明の第3の実施形態に係るロボット装置の制御手順を示したフローチャート図である。
図9】(a)、(b)は本発明の第3の実施形態において、目標位置を導出する際の組み立て部品の穴、ツール、作業対象のマイナスねじの位置関係を示した説明図である。
図10】本発明の第4の実施形態に係るロボット装置の全体構成を示した図である。
図11】本発明の第4の実施形態に係るロボット装置の制御手順を示したフローチャート図である。
図12】本発明の第4の実施形態において、目標位置を導出する際の組み立て部品の壁、ツール、作業対象の位置関係を示した説明図である。
図13】本発明の各実施形態において、ロボット制御装置を構成する制御系の構成の一例を示したブロック図である。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明を実施するための形態につき説明する。なお、以下に示す構成はあくまでも一例であり、例えば細部の構成については本発明の趣旨を逸脱しない範囲において当業者が適宜変更することができる。また、本実施形態で取り上げる数値は参考数値の例示に過ぎない。
【0015】
以下では、作業用のツール(例えば101)と、ツールと他の物体との接触状態を検出する検出手段と、を備えたロボット装置(100)と、ロボット装置の動作を制御する制御装置(制御部111)と、を備えたロボットシステムを例示する。このロボットシステムでは、制御装置がロボット装置の位置姿勢を制御して、構造物(組み立て部品201)とともに配置された対象物(作業対象200)を取り扱うための目標位置にツールを位置決め(移動)する。その場合、ロボット装置によりツールを動作させて、検出手段によりツールと構造物との接触を検出する。そしてこの接触を検出した時のロボット装置の位置姿勢と、予め記憶した構造物の形状情報と、あるいはさらに対象物の形状情報と、に基づき、ツールを目標位置に移動する。
【0016】
ツールを位置決めした際のロボット装置(100)の目標位置における位置姿勢、あるいは、その目標位置を基準として得られる位置姿勢は、前記ロボット装置を制御する教示データとして取得することができる。上記のように位置決めないし教示されたツールによって対象物(作業対象200)を操作して、対象物を含む物品を製造することができる。
【0017】
<実施形態1>
図1は本発明の実施形態における、装置の全体構成図である。ロボット装置100の各関節はそれぞれモータで駆動され、先端部の位置決め動作が可能なマニピュレータ装置として構成されている。図1ではロボット装置100は垂直多関節ロボットとして示してあるが、本発明の実施においては、スカラー型、XY直交型等、関節数や関節配置の形態を問わない。ロボット装置100の先端部にはツール101を備える。本実施形態では、ツール101は、例えばマイナスドライバであり、ツール先端部(図4の101b)が先端の正面投影形状が一文字型となっている。しかしながら、このツール先端部の形状はプラスドライバや六角形、星形など、任意である。
【0018】
本実施形態のツール101は軸形状であって、軸回りに回転可能となるようにツール101自体が回転機構を有している、あるいはロボット装置100の先端部の関節が回転可能となっているものとする。また、ロボット装置100のベース固定部100aからツール101の間に力覚センサ102を備える。本実施形態では、力覚センサ102はツール101と接続する位置に配置しているが、ツール101にかかる外力が検出可能であればどこでもよい。力覚センサ102は、ツール101と、構造物(組み立て部品201)や、作業対象200と、の接触を検出する検出手段として用いられる。
【0019】
また、力覚センサ102の力覚検出可能な方向は、少なくとも位置決めに必要な軸数だけ機能を有するものとする。一例として、この力覚センサ102は、図2に示すように直交するX、Y、Z方向、およびそれらの軸回りのtX、tY、tZ方向の計6方向が検出可能な力覚センサとする。また、ツール101に対する接触が検知できれば、必ずしも力の大きさを検知する必要はなく、接触を検出する検出手段としては、他の検出方式の接触センサなどを用いてもよい。
【0020】
ただし、力覚センサを用いる場合は、力の大きさ、方向などを検知してロボット装置100の動作方向に反映できるメリットがある。また、教示後の実際のロボット動作で、力覚センサをコンプライアンス制御など、力覚制御に利用することもできる。
【0021】
ロボット装置100の各関節部にはそれぞれ、ロータリーエンコーダ等の関節角度を検出可能な角度センサ(詳細不図示)を備える。この関節の角度センサの出力値は、ロボット制御装置109の制御部111によって、読み出され、記憶部110に格納することができる。この角度センサの出力値は、ロボット装置100の各関節角度に相当し、従って、記憶部110にはロボット装置100の位置姿勢を記憶することができる。この角度センサは、ロボットの各関節の出力軸側に配置しておけば高精度に測定、位置決めが可能である。ただし、ねじ等の作業対象200とロボット先端部のツール101の位置決めの必要精度が低いなどの場合は、前記角度センサはロボットの各関節の入力軸側に配置されていてもよい。
【0022】
また、記憶部110はツール101、後述の作業対象200、組み立て部品201、およびそれらの組み立て位置、姿勢などに係る形状情報を格納しているものとする。ロボット装置100の各関節を駆動するモータは、ロボット制御装置109の制御部111の指令に応じて駆動される。これによりロボット装置100の位置姿勢を所望に制御することができる。その際、関節の角度センサの値を読み取り、目標角度へ向かって動作させる制御等が可能である。
【0023】
作業対象200はロボット装置100で取り扱う作業対象となる構造物で、本実施形態では回転動作が可能なツール101で操作されるマイナス捻子(ねじ)である。従って、ロボット装置100は、ツール101を回転駆動するためのモータや減速機などから成る回転駆動部を備える。
【0024】
マイナス捻子の作業対象200は、組み立て部品201が有する穴201aの奥に位置しており、作業対象200を回転させるためにツール101を挿入した状態では、外部からの目視が困難である。ロボット装置100が動作してツール側面部101a(図4)が作業対象200や組み立て部品201に接触すると、力覚センサ102は接触力の変化を介してその「接触」の事象を検出することができる。
【0025】
ここで、図13図1のロボット制御装置109(後述の図10などにおけるロボット制御装置109も同様)を構成する制御系の具体的なハードウェア構成の一例を示しておく。図13の制御系は、ロボット制御装置109に相当する。図1の制御部111は、図13の制御系において、CPU1601により実現でき、また、図1の記憶部110は図13の制御系において、ROM1602、RAM1603、外部記憶装置1606(HDD)などの記憶領域により構成される。
【0026】
図13の制御系は、主制御手段としてのCPU1601、記憶装置としてのROM1602、およびRAM1603を備えた構成である。ROM1602には、本実施形態の制御処理手順を実現するためのCPU1601の制御プログラムや定数情報などを格納しておくことができる。また、RAM1603は、その制御手順を実行する時にCPU1601のワークエリアなどとして使用される。また、図13の制御系には、外部記憶装置1606が接続されている。外部記憶装置1606は、本発明の実施には必ずしも必要ではない場合があるが、HDDやSSD、ネットワークマウントされた他のシステムの外部記憶装置などから構成することができる。
【0027】
本実施形態の制御を実現するためのCPU1601の制御プログラムは、上記の外部記憶装置1606やROM1602(の例えばEEPROM領域)のような記憶部に格納しておく。その場合、本実施形態の制御手順を実現するためのCPU1601の制御プログラムは、ネットワークインターフェース1607を介して、上記の各記憶部に供給し、また新しい(別の)プログラムに更新することができる。あるいは、後述の制御手順を実現するためのCPU1601の制御プログラムは、各種の磁気ディスクや光ディスク、フラッシュメモリなどの記憶手段と、そのためのドライブ装置を経由して、上記の各記憶部に供給し、またその内容を更新することができる。本実施形態の制御手順を実現するためのCPU1601の制御プログラムを格納した状態における各種の記憶手段、記憶部、ないし記憶デバイスは、本発明の制御手順を格納したコンピュータ読み取り可能な記録媒体を構成することになる。
【0028】
ネットワークインターフェース1607は、例えばIEEE 802.3のような有線通信、IEEE 802.11、802.15のような無線通信による通信規格を用いて構成することができる。このネットワークインターフェース1607、およびネットワーク1608を介して、CPU1601は、他の装置1104と通信することができる。例えばロボット装置100がネットワーク接続されるものとすれば、この他の装置1104は、例えばロボット装置100に相当する。また、他の装置1104は、教示用のティーチングペンダントのような制御端末であってもよい。
【0029】
また、図13の制御系に、必要に応じてユーザインターフェース装置400(UI装置)を設けることができる。このユーザインターフェース装置400としては、例えばLCDディスプレイ、キーボード、ポインティングデバイス(マウス、ジョイスティック、ジョグダイヤルなど)などから成るGUI装置が考えられる。本実施形態では、ユーザインターフェース装置400は、例えば教示用のティーチングペンダントのような制御端末であるものとする。ティーチングペンダントを用いた教示作業では、キーボード、ポインティングデバイスなどを用いてロボット装置100を操作して、所望の位置姿勢に制御する。そして、ロボット装置100の手先の中心などの基準位置などが所望の位置姿勢を取った場合に、所定の操作をキーボード、ポインティングデバイスなどか行ない、その位置姿勢を教示データとして取得させる。この教示データは、例えば、教示点データである。教示点は、例えばロボット装置100の各関節軸の制御角度などによって表現される。このロボット装置100の各関節軸の制御角度は、ロボット装置100の手先中心などの基準位置の位置姿勢を規定することになる。
【0030】
また、本実施形態のツールの位置制御では、作業対象の視認が困難であるような状況において、半自動的ないし自動的に教示点を入力することができる。そのため、後述する半自動ないし自動教示動作を指令するスイッチやボタンなどの操作手段をユーザインターフェース装置400、ないしこれを構成するティーチングペンダントに配置しておくことができる。また、半自動的ないし自動的に教示位置を取得し、その位置にツールを移動させた後、例えばユーザインターフェース装置400、ないしこれを構成するティーチングペンダントによる特定操作に応じて教示点を決定し、入力することができる。
【0031】
本実施形態では、図3に示すような制御手順により、ツールを目標位置に位置決めし、また、その位置を基準として教示点を入力することができる。以下の制御の説明では、ステップ番号を必要に応じて参照する。
【0032】
本実施形態のツール位置決め制御では、まず、図1で示す状態のように外部から目視できる範囲でロボット装置100を移動操作してツール101を穴201aへ入れる(S500)。その後、図4に示すようにロボットを図の左右方向のいずれかの第一方向へ移動させて、穴201aの内側の側面にツール側面部101aが接触するまで操作する。この際、ロボット装置100、組み立て部品201が衝突で破損する前に力覚センサ102で接触を検知して停止できるように、十分ゆっくりとした速度で移動するものとする。力覚センサ102で接触力を検知すると、ロボット装置100は動作を停止し、その状態での各関節の角度を関節の角度センサで検出し、記憶部110で記憶する(S501)。その後、図4の左右方向の第一方向とは異なる第二方向へ、同じくツール側面部101aを穴201aの内側の側面へ接触するまで移動させて、ロボット装置100の各関節の角度を記憶する(S502)。その後、角度センサを介して得られる各関節の角度から、接触時のロボット装置100の位置姿勢を取得する。関節角度からの接触位置の導出は、一般的な運動学計算などにより可能である(S503)。
【0033】
なお、上記のロボット操作は、作業者は、ティーチングペンダントなどの作業端末を介して実行してもよく、あるいは記憶部110に組み立て部品201の3D形状に係る情報が用意されているのなら、制御部111の自動制御により行うこともできる。
【0034】
続いて、導出した接触位置から目標位置を導出する手順の一例を、図5により説明する。図5は穴201aの上端部での断面図で、穴201aおよびツール101の断面は円形とする。P800は第一方向へ移動した際に最初に接触を検出した位置で、その後に第二方向へ移動して接触を検知した位置がP801である。目標位置をP810とし、従って、作業対象200は穴201aの中心に位置しているものとする。
【0035】
ここで、P800、およびP801のそれぞれの点の座標をそれぞれ(X0、Y0)、(X1、Y1)とし、またP801、P800、P810のなす角をθとし、X、Yの各座標軸方向はそれぞれ図5で示した向きであるものとする。また、記憶部110は、穴201aの半径R、ツール101の半径rとして、それぞれの半径に関する形状データを保有している。この時、P810の座標(X10、Y10)は下式(1)~(3)で示すように取得できる。
【0036】
【数1】
【0037】
以上のような制御により目標位置P810を取得し、ツール101を目標位置であるP810(図5)へ移動させる(S504)ことができる。その後、教示までの手順(図3のS505、S506、S507a、S507b)は次のように行われる。
【0038】
まず、ツール101を穴201aの奥へ進入させて、作業対象200に接触して力覚センサ102で接触時の力が検知できるまで移動させる(S505)。力覚センサ102で接触を検知した位置でツール101を停止させる。この時、ツール101が作業対象200の溝に適切に挿入されて作業対象200が回転可能な状態になるか、作業対象200の上面に接触して停止するかで操作は異なったものとなる。例えば、ツール101が接触停止後に図4の左右方向へ動かす。そして、その際の左右方向に接触を検知して止まるまでの移動量が、作業対象200の溝とツール101の先端部の隙間幅であるか、ツール101と穴201aとの隙間幅であるか、の違いで挿入位置を判断することができる(S506)。
【0039】
その後、一定距離だけ、ツール101を移動、この場合は上昇させて教示位置(例えば以下ではP820として言及する)へ移動させる(S507aまたはS507b)。この際の上昇量は、ロボット装置100の位置決め精度、作業対象200および組み立て部品201の製造組み立て誤差等を勘案し、ロボット装置100の動作時に衝突しない十分安全な距離を確保できるよう決める。また、作業対象200をツール101で回転させる製造組み立ての実工程の際には、教示位置P820からツール101が作業対象200へゆっくりと接近するが、教示位置P820まではロボット装置100は高速で動く。
【0040】
このため、P820から作業対象200までの距離は、上記のように衝突や干渉に関し前記十分安全な距離を保ちつつ、なるべく近い位置とするのが望ましい(S507aまたはS507b)。この位置で教示を行う(S508)ことにより、本実施形態によれば、ロボット装置にガイドバーやガイド穴といった追加の部品を必要とすることなく、高精度にツール101により作業対象200を取り扱うための目標位置へ移動させることができる。そして、その目標位置を基準として教示情報(教示点、教示データ)を取得することができる。
【0041】
<実施形態2>
以上の実施形態では、少なくとも2回、ツールと構造物(組み立て部品)を接触させて、接触時の状態を基準としてツールの位置決めを行った。ただし、力覚センサを利用することにより、本実施形態のようにより少ない回数(たかだか1回)のツールと構造物(組み立て部品)の接触の状態を基準としてツールを位置決めすることができる。
【0042】
以下、図6図7を参照して本実施形態のツールの位置決め制御につき説明する。本実施形態における装置の全体構成は、図1の実施形態1と同じであるものとする。本実施形態の図6図7は、上述の実施形態1の図3図5にそれぞれ相当する図である。
【0043】
図6は、本実施形態のツールの位置決め制御手順を示している。まず、図1で示す状態のように外部から目視できる範囲でロボット装置100を移動操作してツール101を穴201aへ進入させる(S500)。その後、図4に示すようにロボットを図の左右方向のいずれかの方向へ移動させて、穴201aの内側の側面にツール側面部101aを接触させる。この際、ロボット装置100、組み立て部品201が衝突で破損する前に力覚センサ102で接触を検知して停止できるように、十分ゆっくりとした速度で移動するものとする。
【0044】
本実施形態の力覚センサ102は図2で示すように直交する6軸方向の力覚が検出可能なセンサであるものとする。力覚センサ102で接触力を検知すると、ロボット装置100は動作を停止し、その状態における各関節の角度をその関節の角度センサで検出し、記憶部110で記憶する(S501)。これにより、接触時のロボット装置100の位置姿勢が記憶部110に記憶される。
【0045】
さらに本実施形態では、上記の接触状態における力覚センサ102で検出した力覚値300を記憶部110に記憶させる。力覚値300は穴201aの断面が成す円形との接触で発生する力が、XY方向で検出可能であるため、力覚値のX成分とY成分の成す角度から、穴201aの中心を向く接触方向を取得することができる(S509)。
【0046】
ここで、図7を参照して、導出した接触位置と接触方向から目標位置を取得する方法を説明する。図6は穴201aの上端部の断面図で、穴201aおよびツール101の断面は円形とする。P800はツール101が穴201aの内側で移動した際に最初に接触を検出した位置である。目標位置をP810とし、穴201aの中心に位置しているものとする。P800の座標を(X0、Y0)とする。X、Y方向はそれぞれ図5で示した向きとする。
【0047】
記憶部110には、接触方向として、図7のようにXY平面上での角度方向が特定できる値が記録される。この場合、X軸と接触方向300のなす角θとして記録されているものとする。穴201aの半径R、ツール101の半径rとして、それぞれの半径に関する形状データを保有している。これらの形状データと、接触角度(θ)から、ツール101の組み立て部品201に対する接触位置を取得(推定)することができる(S503)。
【0048】
さらに、組み立て部品201に対する接触位置に基づき、P810の座標(X10、Y10)は下式(4)、(5)のようにして取得できる。
【0049】
【数2】
【0050】
以上のようにして、作業対象を取り扱うための目標位置P810を取得することができ、その目標位置P810にツール101を移動させる(S504)ことができる。
【0051】
その後、教示までの手順(図6のS505、S506、S507a、S507b)の詳細と、技術的意義については、実施形態1の図3で説明したのと同等であるから、ここでは重複した説明は省略する。
【0052】
以上のようにしてロボット装置にガイドバーやガイド穴といった追加の部品を必要とせず、高精度にツール101により作業対象200を取り扱うための目標位置ないし作業位置へ移動させることができる。また、その目標位置を基準として教示情報(教示点、教示データ)を取得することができる。特に本実施形態のように力覚センサを利用することにより、穴201aに対する接触動作が1度で済むため、第1の実施形態と比較して動作時間を短縮できる可能性がある。
【0053】
<実施形態3>
作業対象200が、初期位相が定まっている調整ネジなどである場合、本実施形態におけるように、その初期位相に合わせて教示を行うことが考えられる。初期位相に合わせて教示を行うことができれば、実際の作業工程におけるツール先端部101bの作業対象200への挿入がスムーズになるため、本実施形態では、作業対象200の回転位相に合わせて教示を行う場合の構成、制御につき説明する。
【0054】
以下、図8図9(a)、(b)を参照して本実施形態のツールの位置決め制御につき本実施形態における装置の全体構成は、図1の実施形態1と同じであるものとする。本実施形態の図8図9(a)は、上述の実施形態1の図3図4にそれぞれ相当する図である。図9(b)は、図9(a)のD方向矢視によって、作業対象200、ツール先端部101bと目標位置P810の関係を示している。
【0055】
図8のステップS500からS505は、図3の同じステップ番号のステップと同じであるため、以下では、その後のフローについて説明する。
【0056】
作業対象200への接触後、ツール101を時計回り、および反時計回りに回転させ、力覚センサ102(図9(a))を用いて接触の反力有無を計測する。この際、回転時のツール先端部101bと作業対象200の間で発生する摩擦力は、ツール先端部101bが作業対象200の溝にはまった際に発生する回転方向の反力と比較して十分小さく、両者の力は区別できるものとする(図8のS510)。ここで反力が小さく検出できない場合は、作業対象200の溝にツール先端部101bは挿入されていないと判断されて、フローはステップS512へ進む。ステップS512では、ロボット装置100はツール101を回転させながら挿入する動作を行う。
【0057】
その後、再度S510の動作を行い、力覚センサ102で回転方向の反力を検知した時点で挿入成功と判断し、ツール101の回転を停止してステップS511へ進む。そして、ツール101を時計回り、反時計回りに回転させた際の接触位置での関節の角度センサの値を記憶部110で記憶しておき、その中間の回転位相へ移動する(S511)。
【0058】
その後、ロボット装置100の位置決め精度、作業対象200および組み立て部品201の製造組み立て誤差等を勘案し、ロボット装置100の動作時に衝突しない十分安全な距離を確保するようツール101を上昇させる(S513)。そして、この時のロボット装置100の位置姿勢を教示データとして取得する(S508)。
【0059】
以上のようなツールの位置決め、および教示制御によって、本実施形態によれば、ロボット装置にガイドバーやガイド穴といった追加の部品を必要とすることなく、高精度にツール101を適切な位置へ移動させて教示を行うことができる。しかも、本実施形態によれば、ツール先端部101bの位相を作業対象200の対象部位の位相へ合わせた状態でロボット教示を行うことが可能である。
【0060】
<実施形態4>
次に、図10図11図12を参照して本発明の実施形態4について説明する。図10図12において、以上に説明した実施形態で説明済みの部材については同じ参照符号を付し、これまでの実施形態と同一ないし類似の構成として説明を省略する。図10は本実施形態のロボットシステムの全体構成を示し、図11は、上述の実施形態の図3図6などに相当し、本実施形態におけるツールの位置決めないし教示制御手順を示している。また、図12はその際のツールの位置決め手法を説明する図である。
【0061】
図10の構成では、作業対象200は、組み立て部品201上の周囲を覆われていない露出した位置に配置されており、外部から観察可能な位置にあって、おおまかな位置合わせは可能であるものとする。ただし、図10の例では、装置配置の都合上、近くで観察しながらロボット装置100を操作することができない、観察対象が微細である、などの理由で、作業者はツール101と作業対象200との位置関係を目視によって確認するのが困難であるものとする。このような目視確認困難な状況には、組み立て部品201の側壁201bによってツール101や作業対象200に向かう作業者の視線が遮蔽される場合も含む。
【0062】
本実施形態では、図10に示すように、組み立て部品201は、作業対象200から+X方向、-Y方向に離間した位置にL字型の側壁201bを備えている。この側壁201bの上面(以下、側壁上面201cとして言及する)は、作業対象200より高い位置にある。
【0063】
また、本実施形態においては、説明を容易にするため、組み立て部品201の側壁201bは、X軸、Y軸と直交しているものとする。ロボット制御装置109の記憶部110は、作業対象200と組み立て部品201の側壁201bの設計上の距離に関する情報を格納している。作業対象200と組み立て部品201の側壁201bのX方向の距離、Y方向の距離は、例えばそれぞれXd、Ydとする。
【0064】
本実施形態では、図11に示すような制御手順により、ツールを目標位置に位置決めし、また、その位置を基準として教示点を入力することができる。以下の制御の説明では、ステップ番号を必要に応じて参照する。
【0065】
本実施形態のツール位置決め制御では、まず、ロボット装置100を操作してツール101を移動させ、ツール101の先端が組み立て部品201の側壁上面201cより低い位置となるよう制御する(S514)。その後、図12に示すように組み立て部品201の側壁201bへ接近する第一の方向へ移動接触した位置P800を記憶部110に記憶させる(S515)。その後、組み立て部品201の側壁201bへ接近する、第一の方向とは異なる第二の方向へ移動させ、組み立て部品201の側壁201bへ接触した位置P801を記憶部110に記憶させる(S516)。なお、これらのロボット操作は、作業者は、ティーチングペンダントなどの操作端末を介して実行してもよく、あるいは記憶部110に組み立て部品201の3D形状に係る情報が用意されているのなら、制御部111の自動制御により行うこともできる。
【0066】
この段階で、制御部111は、ツール101のL字型の側壁201bに対する第一ないし第二の接触位置から、組み立て部品201に対するツール101の相対的な位置姿勢を認識できる。従って、制御部111は、作業対象200に対する挿入方向に対して直交するXY平面における目標位置を取得し、その目標位置にツール101を移動させる(S517)。この例では、組み立て部品201の側壁201bとの距離Xd、Ydからそれぞれツール101の半径rだけ減じた距離を移動すれば、目標位置P810(図12)に到達することができる。
【0067】
その後の教示までの手順(図11のS518、S519、S507a、S507b)は、図3図6で説明した手順(図3図6のS505、S506、S507a、S507b)と同等である。ここでは、図3図6で説明した手順と同様に一定量移動(上昇)させた位置を教示位置とし、その位置までツールを移動(上昇)させ、その位置を教示点(教示データ)として取得する。以上の制御手順によって、例えば組み立て部品201の側壁などが遮蔽部材となって視認が困難な位置にある作業対象200を取り扱うための目標位置にツール101を移動させ、教示データを取得することができる。このように、穴の奥などの作業対象200に限らず、作業対象200が露出した位置にあるが、位置関係の確認が困難である、といった場合でも、正確かつ確実にツールを位置決めすることができる。これにより、組み立て部品201(構造物、遮蔽部材)、作業対象200(対象物)に対してツールを正確かつ確実に位置決めし、教示を行うことができる。
【0068】
なお、以上では、組み立て部品201の側壁201bはX軸、Y軸と直交しているものとしたが、ある程度の角度をもって傾斜していても、座標の変換等を行って方向を導出する計算等を行うことで教示が可能である。また、以上では、組み立て部品201の側壁上面201cは作業対象200より高い位置にあるものとして説明した。しかしながら、上述よりも低い、あるいは側壁が上部に配置されていないような構成においても、組み立て部品201の側面に、外側からツール101を当てて接触位置を検知すれば、同様に位置を導出して教示が可能である。即ち、組み立て部品201(構造物、遮蔽部材)が、ツールの接触位置を検知可能である形状を有していれば本実施形態の位置決め制御は可能である。例えば、ツールの接触位置を検知するための形状は、その位置が判明しており、記憶部110に格納されているのであれば、小さな突起などであってもよい。そして、組み立て部品201(構造物、遮蔽部材)がそのような接触検知用の構造部材を有していれば、本実施形態の制御は実施できる。また、以上ではロボット装置として、垂直多関節のロボットアームを例示したが、ロボットの関節数や関節配置の形態は任意である。
【0069】
本発明は上述の実施例の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0070】
また上述した種々の実施形態は、ロボット装置に限らず、制御装置の記憶装置の情報に基づき、伸縮、屈伸、上下移動、左右移動もしくは旋回の動作、またはこれらの複合動作を自動的に行える種々の機械に適用可能である。
【符号の説明】
【0071】
100…ロボット装置、101…ツール、102…力覚センサ、109…ロボット制御装置、110…記憶部、111…制御部、200…作業対象、201…組み立て部品。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13