(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036707
(43)【公開日】2024-03-18
(54)【発明の名称】ロボット制御装置、ロボット制御システム及びロボット制御方法
(51)【国際特許分類】
B25J 13/08 20060101AFI20240311BHJP
【FI】
B25J13/08 Z
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022141101
(22)【出願日】2022-09-06
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】山中 將暢
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS12
3C707CT05
3C707CV08
3C707CW08
3C707HS27
3C707KS03
3C707KS07
3C707KS33
3C707KT01
3C707KT06
3C707KV01
3C707KW03
3C707KX10
(57)【要約】
【課題】操作者がロボットを移動操作する際の操作性を向上させることができるロボット制御装置、ロボット制御システム及びロボット制御方法を提供する。
【解決手段】ロボット制御装置400は、ロボット100が作業対象B1に対して作業を行う作業部E1を操作者が移動操作する際に、操作者が作業部E1を移動操作する方向を示す操作方向の情報を取得する操作方向取得部411と、作業対象B1の位置を示す情報を取得する位置情報取得部413と、作業部E1の基点から作業対象B1の位置を示す物体方向と操作方向とのなす角度が所定角度θ
1以下である場合、作業部E1が、操作方向よりも物体方向に近い方向に移動するように、ロボット100を制御する制御部414と、を備えた。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットが作業対象に対して作業を行う作業部を操作者が移動操作する際に、前記操作者が前記作業部を移動操作する方向を示す操作方向の情報を取得する操作方向取得部と、
前記作業対象の位置を示す情報を取得する位置情報取得部と、
前記作業部の基点から前記作業対象の位置を示す物体方向と前記操作方向とのなす角度が所定角度以下である場合、前記作業部が、前記操作方向よりも前記物体方向に近い方向に移動するように、前記ロボットを制御する制御部と、を備えた
ことを特徴とするロボット制御装置。
【請求項2】
前記制御部は、前記物体方向と前記操作方向とのなす角度が前記所定角度以下である場合、前記作業部が、前記物体方向に移動するように、前記ロボットを制御する
ことを特徴とする請求項1記載のロボット制御装置。
【請求項3】
前記制御部は、前記物体方向と前記操作方向とのなす角度が前記所定角度よりも大きい場合、前記作業部が前記操作方向に移動するように前記ロボットを制御する
ことを特徴とする請求項1記載のロボット制御装置。
【請求項4】
前記位置情報取得部は、前記作業対象の形状に関する情報を取得し、前記作業対象の形状に関する情報に基づいて、前記作業対象の位置を推定する
ことを特徴とする請求項1記載のロボット制御装置。
【請求項5】
前記制御部は、前記物体方向と前記操作方向とのなす角度が、前記所定角度よりも大きく第1角度偏差以下である場合、前記物体方向と前記操作方向とのなす角度が、前記第1角度偏差よりも大きい第2角度偏差である場合よりも、前記作業部が、前記物体方向に近い方向に移動するように前記ロボットを制御する
ことを特徴とする請求項4記載のロボット制御装置。
【請求項6】
請求項1記載のロボット制御装置と、
前記ロボットと、
前記作業対象を撮像して、前記作業対象の位置に関する情報を出力する作業対象情報出力部と、を備え、
前記ロボットは、前記ロボット制御装置によって制御され、前記ロボットを駆動する駆動部と、を有し、
前記位置情報取得部は、前記作業対象情報出力部が取得した情報に基づいて、前記作業対象の位置を示す情報を取得する
ことを特徴とするロボット制御システム。
【請求項7】
前記作業対象情報出力部は、前記作業対象の形状に関する情報を取得する形状情報取得部と、前記形状情報取得部が取得した情報に基づいて、前記作業対象の位置を推定して出力する作業対象位置推定部と、を有する
ことを特徴とする請求項6記載のロボット制御システム。
【請求項8】
操作方向取得部と、位置情報取得部と、制御部と、を備えた装置が行うロボット制御方法であって、
前記操作方向取得部が、ロボットが作業対象に対して作業を行う作業部を操作者が移動操作する際に、前記操作者が前記作業部を移動操作する方向を示す操作方向の情報を取得するステップと、
前記位置情報取得部が、前記作業対象の位置を示す情報を取得するステップと、
前記制御部が、前記作業部の基点から前記作業対象の位置を示す物体方向と前記操作方向とのなす角度が所定角度以下である場合、前記作業部が、前記操作方向よりも前記物体方向に近い方向に移動するように、前記ロボットを制御するステップと、を備えた
ことを特徴とするロボット制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御装置、ロボット制御システム及びロボット制御方法に関する。
【背景技術】
【0002】
従来、ロボットに取り付けられた力覚センサによってロボットに加わる力を検出することで、操作者がロボットに対して移動させたい方向に直接力を加えて移動操作できる直接教示方式のロボットが開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、操作者がロボットを目標となる作業対象へ向けて移動操作する際に、操作者がロボットを正確に移動操作することは難しく、操作性の改善が求められている。
【0005】
本開示は、上記課題を解決するものであって、操作者がロボットを移動操作する際の操作性を向上させることができるロボット制御装置、ロボット制御システム及びロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示に係るロボット制御装置は、ロボットが作業対象に対して作業を行う作業部を操作者が移動操作する際に、操作者が作業部を移動操作する方向を示す操作方向の情報を取得する操作方向取得部と、作業対象の位置を示す情報を取得する位置情報取得部と、作業部の基点から作業対象の位置を示す物体方向と操作方向とのなす角度が所定角度以下である場合、作業部が、操作方向よりも物体方向に近い方向に移動するように、ロボットを制御する制御部と、を備えたことを特徴とする。
【発明の効果】
【0007】
本開示によれば、ロボットの作業部の基点から作業対象の位置を示す物体方向と、操作者が作業部を移動操作する方向を示す操作方向と、のなす角度が所定角度以下である場合、制御部が、作業部から操作方向よりも物体方向に近い方向に移動するようにロボットを制御するので、操作者がロボットの作業部を作業対象に向けて移動操作する際の操作性を向上させることができる。
【図面の簡単な説明】
【0008】
【
図1】実施の形態1に係るロボット制御システムの概略構成を示す側方から視た模式図。
【
図2】実施の形態1に係るロボット制御システムの構成を示すブロック図。
【
図3】実施の形態1に係るロボット制御装置のハードウェア構成の例を示すブロック図。
【
図4】実施の形態1に係るロボット制御装置のハードウェア構成の例を示すブロック図。
【
図5】実施の形態1に係るロボット制御装置が行う従動処理を示すフローチャート。
【
図6】実施の形態1に係る手先部と物体との位置関係を示す側方から視た模式図。
【
図7】
図7Aは、実施の形態1に係る従動制御模擬演算部が、力センサからの情報に基づいて行う処理を示す図、
図7Bは、実施の形態1に係る従動制御模擬演算部が、トルクセンサからの情報に基づいて行う処理を示す図。
【
図8】実施の形態2に係るロボット制御システムの概略構成を示す側方から視た模式図。
【
図9】実施の形態2に係る物体情報出力部の構成を示すブロック図。
【
図10】実施の形態3に係るロボット制御装置が行う従動処理を示すフローチャート。
【
図11】実施の形態3に係る手先部と物体との位置関係を示す側方から視た模式図。
【
図12】
図12Aは、実施の形態1において、移動指示演算部の処理を切換える物体方向と操作方向とのなす角度の範囲を示す図であり、
図12Bは、実施の形態3において、移動指示演算部の処理を切換える物体方向と操作方向とのなす角度の範囲を示す図。
【発明を実施するための形態】
【0009】
以下、本開示に係る実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
まず、
図1を参照して、実施の形態1に係るロボット制御システム1の概略構成について説明する。
図1は、実施の形態1に係るロボット制御システム1の概略構成を示す側方から視た模式図である。
図1に示すように、ロボット制御システム1は、ロボット100、力覚検知部200(
図2参照)、物体情報出力部300及びロボット制御装置400を備えている。
【0010】
ロボット100は、複数のリンクと、複数のリンクが互いに相対移動するように複数のリンクを駆動するモータ110と、を有している。例えば、ロボット100は、第1リンクL1、第2リンクL2、第3リンクL3、第4リンクL4,第5リンクL5,第6リンクL6,第7リンクとしての手先部E1、モータ110及びエンコーダ120を有し、第1リンクL1~第6リンクL6及び手先部E1が互いに連結されたアーム状に形成されている。なお、モータ110は、実施の形態1において、駆動部を構成する。
【0011】
第1リンクL1は、基準面G1に保持されている。例えば、基準面G1は、ロボット100を保持する床面、台の上面等である。第1リンクL1は、第1リンクL1に対して移動可能になるように、第2リンクL2を支持している。例えば、第1リンクL1は、第1リンクL1に対して関節J1を中心に回転移動可能になるように第2リンクL2を支持している。
【0012】
第2リンクL2は、関節J1を介して第1リンクL1に連結されており、第2リンクL2に対して移動可能になるように第3リンクL3を支持している。例えば、第2リンクL2は、第2リンクL2に対して回転移動可能に第3リンクL3を支持している。第3リンクL3は、関節J2を介して第2リンクL2に連結されており、第3リンクL3に対して移動可能になるように第4リンクL4を支持している。例えば、第3リンクL3は、第3リンクL3に対して回転移動可能に第4リンクL4を支持している。第4リンクL4は、関節J3を介して第3リンクL3に連結されており、第4リンクL4に対して移動可能になるように第5リンクL5を支持している。例えば、第4リンクL4は、第4リンクL4に対して回転移動可能に第5リンクL5を支持している。第5リンクL5は、関節J4を介して第4リンクL4に連結されており、第5リンクL5に対して移動可能になるように第6リンクL6を支持している。例えば、第5リンクL5は、第5リンクL5に対して回転移動可能に第6リンクL6を支持している。第6リンクL6は、関節J5を介して第5リンクL5に連結されており、第6リンクL6に対して移動可能になるように手先部E1を支持している。例えば、第6リンクL6は、第6リンクL6に対して回転移動可能に手先部E1を支持している。手先部E1は、関節J6を介して第6リンクL6に連結されており、ロボット100による作業空間内に配置されている作業対象としての物体B1に対して作業を行う。例えば、手先部E1は、アーム状のロボット100の先端に配置され、物体B1に対して掴む、掬う、移動させる、変形させる、ねじを締める、溶接する、検査する、塗装する、刻印をする等の作業を行うエンドエフェクタとして機能する。なお、実施の形態1において、手先部E1は、作業対象に対して作業を行う作業部を構成する。このように、ロボット100は、第1リンクL1~第6リンクL6及び手先部E1が互いに相対移動可能な6軸のロボットアームを構成している。
【0013】
モータ110は、電力の供給を受けて動作し、第1リンクL1~第6リンクL6及び手先部E1が互いに相対移動するように、各リンクを駆動する。例えば、モータ110は、関節J1~関節J6のそれぞれに配置され、第1リンクL1~第6リンクL6及び手先部E1が互いに相対移動するように、各リンクを駆動する。なお、ロボット100は、モータ110が、詳細は後述するロボット制御装置400から電力の供給を受けるように構成されていてもよいし、図示しない電源装置から電力の供給を受けるように構成されていてもよい。
【0014】
エンコーダ120は、第1リンクL1~第6リンクL6及び手先部E1が互いに相対移動した移動量に応じた信号を出力する。例えば、エンコーダ120は、関節J1~関節J3のそれぞれに配置され、第1リンクL1~第6リンクL6及び手先部E1が互いに相対移動した移動量に応じた信号を、各リンクのそれぞれについて個別に出力する。なお、エンコーダ120は、各リンクの相対的な移動量に応じて電気抵抗が変化することによって移動量に応じた信号を出力するものであってもよいし、各リンクの相対的な移動量に応じて磁界が変化することによって移動量に応じた信号を出力するものであってもよいし、リンクの回転軸に取り付けられた回転体と、回転体に形成されたスリットに向けて光を出射する光源と、を有して、スリットを光が通過した回数に応じた信号を出力するものであってもよいし、他の構成によって各リンクが互いに相対移動した移動量に応じた信号を出力するものであってもよい。また、エンコーダ120は、モータ110の軸の回転量に応じた信号を出力するものであってもよい。
【0015】
力覚検知部200は、ロボット100に与えられた外力に応じた信号を出力する。例えば、力覚検知部200は、手先部E1に配置された力センサによって構成され、手先部E1に与えられた外力に応じた信号を出力する。また、例えば、力覚検知部200は、各関節に配置されたトルクセンサによって構成され、各関節に生じたトルク(モーメント)に応じた信号を出力する。なお、力覚検知部200は、ひずみに応じて電気抵抗が変化することによって力に応じた信号を出力するものであってもよいし、力を電圧に変換する圧電素子によって力に応じた信号を出力するものであってもよいし、他の構成によって力に応じた信号を出力するものであってもよい。
【0016】
物体情報出力部300は、所定の座標系における物体B1の位置に関する情報を出力する。物体情報出力部は、物体の位置情報を出力するものであればよく、例えば、物体B1を撮像し、取得した画像を解析して位置を推定し、情報を出力するものであってもよいし、物体B1にレーザ光を照射して物体で反射したレーザ光に基づいて物体の形状を計測し、計測データを解析して位置を推定し、情報を出力するものであってもよいし、物体B1にむけて音波を出力して物体で反射した音波に基づいて物体の形状を計測し、計測データを解析して位置を推定し、情報を出力するものであってもよいし、物体B1を含む作業環境のCADデータ、図面データ等の三次元データから、通信網等を介して電子的手段によって位置に関する情報を取得して出力するものであってもよい。なお、物体情報出力部300は、実施の形態1において、作業対象情報出力部を構成する。
【0017】
ロボット制御装置400は、ロボット100、力覚検知部200及び物体情報出力部300と電気的に接続されており、ロボット100、力覚検知部200及び物体情報出力部300から取得した情報に基づいてロボット100の動作を制御する。
例えば、ロボット制御装置400は、操作者によってロボット100の手先部E1が移動操作される際に、操作者(ユーザ)によって手先部E1に加えられた力に従動して手先部E1が移動するようにロボット100の動作を制御する従動制御を行う。ロボット制御装置400の詳細は、後述する。
【0018】
次に、
図2を参照して、実施の形態1に係るロボット制御装置400について説明する。
図2は、実施の形態1に係るロボット制御システム1の構成を示すブロック図である。
図2に示すように、ロボット制御装置400は、演算部410及び記憶部420を有している。
【0019】
記憶部420は、ロボット制御装置400がロボット100の動作を制御するために使用する各種情報を記憶している。例えば、記憶部420は、ロボット100の制御パラメータ、ロボット100及び物体B1が配置されている座標系に関する情報等の情報を記憶している。
【0020】
演算部410は、ロボット100、力覚検知部200及び物体情報出力部300から取得した情報並びに記憶部420に記憶されている情報に基づいて、モータ110を駆動するための駆動信号を出力することで、ロボット100を制御する。演算部410は、力検知情報取得部411、従動制御模擬演算部412、位置情報取得部413及び移動指示演算部414を有している。
【0021】
力検知情報取得部411は、力覚検知部200からの入力信号を力検知情報として取得する。例えば、力検知情報取得部411が取得する力検知情報は、ロボット100を操作者がロボットに加えた力の向き(力指示方向)及び大きさ(力指示値)を示す力指示ベクトル、または各関節に与えられた外力トルクの向きや大きさを表現できる外力トルクベクトルに関する情報を含む。なお、実施の形態1において、力検知情報取得部411は、操作方向取得部を構成する。
【0022】
従動制御模擬演算部412は、力検知情報取得部411から取得した力検知情報に基づいて、仮想移動方向を演算する。仮想移動方向は、力検知情報に基づいてロボット100の従動制御を行った場合の、ロボット100の仮想の移動量及び方向を示すベクトルである。例えば、従動制御模擬演算部412は、操作者が手先部E1に力を加えた際、手先部E1が力指示方向に力指示値に応じた移動量で力指示値に応じた方向に移動するようにロボット100の従動制御を行った場合の、手先部E1の仮想移動方向を演算する。なお、実施の形態1において、仮想移動方向を操作方向ともいう。
【0023】
位置情報取得部413は、物体情報出力部300からの情報に基づいて、物体B1の位置情報を取得する。例えば、位置情報取得部413は、物体情報出力部300からの情報に基づいて、ロボット座標系における物体B1の基準点BOの位置情報を取得する。なお、位置情報取得部413は、物体情報出力部300から、ロボット座標系における物体B1の位置情報を直接取得するように構成されていてもよい。
【0024】
移動指示演算部414は、手先部E1の基点と、位置情報取得部413から取得した物体B1の位置情報と、従動制御模擬演算部412が演算した仮想移動方向と、に基づいて、移動指示値を算出する。移動指示値は、ロボットの先端であるフランジ面F1の中心FO(
図6参照)を原点として設定される、メカニカルインターフェース座標系上に定義された手先部E1の位置及び姿勢制御の基点となるツール中心点(Tool Center Point、以下「TCP」という。
図6参照)の移動量と方向を示す制御量である。移動指示演算部414は、算出した移動指示値に基づいてモータを駆動する駆動信号を出力することにより、ロボット100の動作を制御する。なお、実施の形態1において、移動指示演算部414は、ロボット100を制御する制御部を構成する。
【0025】
例えば、手先部E1の基点は、TCPに設定される。なお、手先部E1の基点は、TCPに限らず、メカニカルインターフェース座標系上に予め位置が定義された所定の点であればよいが、以下、手先部E1の基点をTCPとした場合を例に説明する。
【0026】
次に、
図3及び
図4を参照して、実施の形態1に係るロボット制御装置400のハードウェア構成について説明する。
図3は、実施の形態1に係るロボット制御装置400のハードウェア構成の例を示すブロック図であり、
図3は、実施の形態1に係るロボット制御装置400のハードウェア構成の
図3とは異なる例を示すブロック図である。例えば、
図3に示すように、ロボット制御装置400は、プロセッサ400a、メモリ400b及びI/Oポート400cを有しており、メモリ400bに格納されているプログラムをプロセッサ400aが読み出して実行するように構成されている。
【0027】
また、例えば、
図4に示すように、ロボット制御装置400は、専用のハードウェアである処理回路400d及びI/Oポート400cを有している。処理回路400dは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらの組み合わせによって構成される。ロボット制御装置400の各機能は、これらプロセッサ400a又は専用のハードウェアである処理回路400dがソフトウェアであるプログラムを実行することによって実現される。
【0028】
次に、
図5乃至
図7を参照して、操作者がロボット100の教示操作を行う際に、ロボット制御装置400が従動制御を行う従動処理について説明する。
図5は、実施の形態1に係るロボット制御装置400が行う従動処理を示すフローチャートであり、
図6は、実施の形態1に係る手先部E1と物体B1との位置関係を示す側方から視た模式図である。
【0029】
従動処理は、ロボット制御装置400が、手先部E1と物体B1との位置関係、及び操作者が手先部E1を移動操作する操作方向に基づいて、ロボット100の動作を制御する処理である。ロボット制御装置400は、処理を開始すると、まず、演算部410の物体方向Wに関する条件設定を行う(ステップST01)。物体方向Wは、手先部E1の基点から物体B1の基準点BOの位置を示す方向である。言い換えると、物体方向Wは、TCPから物体B1への方向である。例えば、物体方向Wは、TCPを基点とするベクトルによって表される。
【0030】
また、例えば、ステップST01の処理において、物体方向Wの基点の位置、すなわちメカニカルインターフェース座標系の原点に対する相対位置[X
rel,Y
rel,Z
rel]の設定、及び所定角度θ
1の設定が行われる。
図6に示すように、所定角度θ
1は、物体方向Wに対して設定される所定の角度である。例えば、所定角度θ
1は、0°以上180°以下の角度として予め設定されている。また、例えば、所定角度θ
1は、0°以上90°以下の角度として予め設定されている。また、例えば、ステップST01の処理において、ロボット制御装置400は、操作者が図示しない入力装置に入力した条件設定に係る情報を入力装置から取得し、取得した情報を記憶部420に記憶させることによって、条件設定を行う。なお、この処理において、ロボット制御装置400は、予め条件設定に係る情報を記憶している図示しない外部の装置から条件設定に係る情報を取得してもよいし、予め条件設定に係る情報として記憶部420に記憶されている情報を設定された情報として用いてもよい。なお、所定角度θ
1は、実施の形態1において、第1所定角度を構成する。
【0031】
ステップST01の処理を行うと、ロボット制御装置400は、物体情報出力部300が出力した情報に基づいて、物体B1の位置情報を取得する(ステップST03)。例えば、この処理において、位置情報取得部413は、ロボット座標系における物体B1の基準点BOの位置情報を取得する。なお、物体情報出力部300による物体B1の位置に関する情報の出力は、操作者が教示操作を行っている間、継続して行われてもよい。
【0032】
ステップST03の処理を行うと、ロボット制御装置400は、物体方向Wを示す情報を取得する(ステップST04)。この処理において、従動制御模擬演算部412は、手先部E1の基点から物体B1の位置を示す方向である物体方向Wを示す情報を取得する。
【0033】
【0034】
また、以下の数式(2)に示すように、手先部E1の姿勢は、姿勢行列Rとして表現される。また、以下の数式(3)に示すように、ロボット座標系におけるTCPの位置であるP[Xtcp,Ytcp,Ztcp]は、ロボットの各関節の動作角度と、記憶部420に記憶されたリンクパラメータと、に基づいて、順運動学の計算によって求まる行列Tによって取得することができる。
【0035】
【0036】
ステップST04の処理を行うと、ロボット制御装置400は、操作者が手先部E1を移動操作する際の操作方向(仮想移動方向)を示す情報を取得する(ステップST05)。例えば、この処理において、従動制御模擬演算部412は、力検知情報取得部411が取得した力検知情報に基づいて仮想移動方向を算出する。
【0037】
図7Aは、力覚検知部200が手先部E1に与えられた外力に応じた信号を出力する力センサである場合において、実施の形態1に係る従動制御模擬演算部412が、力センサからの情報に基づいて行う処理を示す図であり、
図7Bは、力覚検知部200が各関節に配置されて各関節に生じたトルクに応じた信号を出力するトルクセンサである場合において、実施の形態1に係る従動制御模擬演算部412が、トルクセンサからの情報に基づいて行う処理を示す図である。
【0038】
【0039】
【0040】
【0041】
また、ステップST06の処理において、移動指示演算部414は、算出した角度θmと所定角度θ1とを比較して、角度θmが所定角度θ1以下であるか否かを判定している。なお、所定角度θ1は、ステップST01においてロボット制御装置400が条件設定に係る処理を行った際に、予め設定されている。
【0042】
また、例えば、ステップST03において、位置情報取得部413が複数の物体の位置情報を取得し、ステップST04において、従動制御模擬演算部412が複数の物体のそれぞれに対応する複数の物体方向を取得している場合、ステップST06の処理において、移動指示演算部414は、複数の物体方向のうち仮想移動方向とのなす角度が最も小さい物体方向を選択し、選択した物体方向に基づいて、物体方向と操作方向とのなす角度θmが、予め設定されている所定の角度θ1以下であるか否かを判定する
【0043】
ステップST06の処理において、物体方向と操作方向とのなす角度θmが、予め設定されている所定の角度θ1以下である場合(ステップST06のYES、θm≦θ1)、ロボット制御装置400は、手先部E1が物体方向に移動するように、ロボット100を制御する(ステップST07)。言い換えると、ロボット制御装置400は、仮想移動方向と物体方向とのなす角度θmが、条件設定における所定角度θ1以下である場合、手先部E1が物体方向以外の方向に移動できないように、移動指示演算部414が移動指示値を算出する。
【0044】
【0045】
ステップST06の処理において、物体方向と操作方向とのなす角度が、条件設定において予め設定されている所定の角度θ1以下でない場合(ステップST06のNO、180°≧θm>θ1)、ロボット制御装置400は、手先部E1が操作方向に移動するように、ロボット100を制御する(ステップST08)。言い換えると、ロボット制御装置400は、仮想移動方向と物体方向とのなす角度θmが、条件設定における角度θ1よりも大きい場合、手先部E1が仮想移動方向に移動するように、移動指示演算部414が移動指示値を算出する。このように、条件設定に係る処理で設定された所定角度θ1は、ロボット制御装置400がロボット100の動作を制御する際に、移動指示演算部414が移動指示値を算出する処理の内容が切換えられる境界の角度である。
【0046】
以上、実施の形態1に係るロボット制御装置400は、ロボット100が物体B1に対して作業を行う手先部E1を操作者が移動操作する際に、ロボットに加えられた外力を検知する力検知情報取得部411と、物体B1の位置情報を取得する位置情報取得部413と、操作者が手先部E1を移動操作する操作方向を示す情報を算出する従動制御模擬演算部412と、物体方向と操作方向とのなす角度θmが所定角度θ1以下である場合、手先部E1が物体方向に移動するように、ロボット100を制御する移動指示演算部414と、を備えている。
【0047】
例えば、ロボットに対する直接教示を行う際において、本来操作者が所望する経路に沿って正確に操作者がロボットを移動操作することは難しい。例えば、ロボットに対する直接教示を行う際において、本来操作者が所望する経路とずれた経路に沿って操作者がロボットを移動操作した場合、ロボットが周囲の他の設備等に接触して、ロボットの移動操作が正常に行われない場合も考えられる。
【0048】
実施の形態1に係るロボット制御装置400は、上述したように構成されているので、操作者が手先部E1を物体方向Wに移動操作をしようとした際、操作方向と物体方向Wとがずれている場合であっても、操作方向と物体方向Wとのなす角度θmが所定角度θ1以下である場合、言い換えると、操作者が手先部E1を物体方向Wに移動させようとしていることが予測される場合、手先部E1が物体方向Wへ移動するように、移動指示演算部414がロボット100を制御する。このため、操作者は、手先部E1を物体方向Wに移動させようとする際、手先部E1を物体方向Wに正確に移動操作しなくても、手先部E1を物体方向Wに移動させることができるので、操作者がロボット100を移動操作する際の操作性を向上させることができる。
【0049】
なお、実施の形態1において、移動指示演算部414は、手先部E1の基点から物体B1の位置を示す方向と操作方向とのなす角度θmが所定角度θ1以下である場合、手先部E1が物体方向Wに移動するように、ロボット100を制御するが、これに限定されない。移動指示演算部は、手先部E1の基点から物体B1の位置を示す方向と操作方向とのなす角度θmが所定角度θ1以下である場合、手先部E1が、操作方向よりも物体方向Wに近い方向に移動するように、ロボットを制御するものであればよく、例えば、移動指示演算部は、手先部E1の基点から物体B1の位置を示す方向と操作方向とのなす角度θmが所定角度θ1以下である場合、手先部E1の移動方向が、物体方向Wと操作方向とのなす角度が小さいほど物体方向Wに近い方向に移動するように、ロボット100を制御するものであってもよい。
【0050】
また、実施の形態1において、基準座標系がロボット座標系である例に基づいて、ロボット制御装置400が行う処理について説明したが、これに限定されない。統一された座標系に基づいて各処理を行うことが可能であれば、基準座標系は、任意に設定されたロボット座標系以外の座標系であってもよい。
【0051】
また、実施の形態1において、ロボット100は、手先部E1が物体B1に対して作業を行うように構成されているが、これに限定されない。ロボットは、作業部が作業対象に対して何らかの作業を行うものであればよく、例えば、作業部は、ロボットの先端に配置されていなくてもよいし、作業対象は、人体、動物、植物等の生物であってもよいし、物体に形成された模様、マーク、印刷物等の平面状のものであってもよいし、治具、製品、部品、食品、食材等であってもよく、形状を有する多様な物が該当する。
【0052】
また、実施の形態1において、ロボット制御装置400は、力覚検知部200から取得した情報に基づいてロボット100を従動制御するように構成されているが、これに限定されない。ロボット制御装置は、作業者によるロボットの移動操作に基づいて従動制御するように構成されていればよく、例えば、力覚検知部200から取得した情報の代わりに、ロボット制御装置400に接続されているティーチングペンダントからの入力情報に基づいてロボット100を従動制御するように構成されていてもよい。
【0053】
実施の形態2.
次に、
図8及び
図9を参照して、実施の形態2に係るロボット制御システム2について説明する。実施の形態2に係るロボット制御システム2は、実施の形態1に係るロボット制御システム1と比較して、物体情報出力部に係る構成が異なるが、他の構成については同様であり、実施の形態1と同様の構成については、同一の符号を付して説明を省略する。
【0054】
図8は、実施の形態2に係るロボット制御システム2の概略構成を示す側方から視た模式図である。
図9は、実施の形態2に係る物体情報出力部500の構成を示すブロック図である。物体情報出力部500は、物体計測部501及び物体位置推定部502を有している。物体計測部501は、物体B1及びその周辺環境を含む情報を計測データとして取得する。例えば、物体計測部501は、物体B1及び物体B1の周囲の設備等を含む計測データとしての画像情報を取得することによって、物体B1を計測する。例えば、物体計測部501は、物体B1及び物体B1の周囲を撮像することができるカメラによって構成されており、物体B1の形状及び物体B1の周囲の設備等の形状を計測する。なお、物体情報出力部500は、実施の形態2において、作業対象情報出力部を構成し、物体計測部501は、実施の形態2において、形状情報取得部を構成する。
【0055】
物体計測部501が取得する画像情報は、物体B1の位置や姿勢の情報を取得するために用いられる情報であり、画像情報としては、多様な情報が該当する。例えば、物体計測部501が取得する画像情報は、人間の視覚で認識可能な可視画像(カラー/モノクロ)であってもよいし、マルチスペクトル画像、近赤外画像のような特殊な画像であってもよい。また、画像情報を深度情報として使用する場合、物体計測部501が取得する画像情報は、距離画像であってもよい。また、物体計測部501が取得する計測データは、ステレオカメラ等で計測した点群データ等の3次元情報であってもよい。また、物体計測部501は、物体B1及び物体B1の周囲を含む計測データを取得することができる位置に配置されていればよく、例えば、手先部E1に配置されていてもよいし、ロボット100とは独立して配置されていてもよい。また、ロボットに対するカメラの位置及び姿勢は既知であり、記憶部420に記憶されている。例えば、物体計測部501が手先部E1に配置されている場合、物体計測部501としてのカメラを基準に設定された座標系(カメラ座標系)は、TCPを原点に設定された座標系(ツール座標系)との関係が、予め定義されて記憶部420に記憶されている。
【0056】
物体位置推定部502は、物体計測部501が取得した計測データをもとに、物体B1の位置を推定する。例えば、物体位置推定部502は、物体B1及び物体B1の周囲を撮像した画像情報と物体B1の形状等の情報に基づいて解析することにより、画像情報中における物体B1の位置や姿勢を推定する。なお、物体位置推定部502は、実施の形態2において、作業対象位置推定部を構成する。
【0057】
次に、物体情報出力部500が物体B1の位置に関する情報を取得する具体的な手順の例について説明する。物体B1の位置に関する情報を取得するため、まず、操作者は、物体計測部501が物体B1を計測できる位置へ、ロボット100を移動させる。物体計測部501が計測可能な範囲内に物体B1が配置された状態で、物体計測部501が物体B1を計測し、計測データを物体位置推定部で解析することによって物体B1の位置を推定する。例えば、物体位置推定部502が物体B1の位置を推定する技術については、Iterative Closest Point等の公知の技術を採用することができる。
【0058】
例えば、物体位置推定部502が推定した物体B1の位置は、カメラ座標系を基準とした物体座標系の位置[cameraXwork,cameraYwork,cameraZwork]である。実施の形態2において,物体位置推定部502が手先部E1に配置されている場合、TCPを基点とした物体位置推定部502の位置及び姿勢は、既知の情報として、記憶部420に記憶されている。すなわち、ツール座標系におけるカメラ座標系の同次座標変換行列toolTcameraが規定されている。ロボット座標系におけるツール座標系の同次座標変換行列robotTtoolは、上述の順運動学の計算で求まる行列と等しい。よって、ロボット座標系における物品座標系の位置[robotXwork,robotYwork,robotZwork]は以下の数式(7)によって求められる。
【0059】
以上のように、実施の形態2に係るロボット制御システム2は、物体計測部501が物体B1を計測することで、物体位置推定部502が物体計測部501の計測結果に基づいて物体B1の位置を推定し、位置情報取得部413に出力することで、移動指示演算部414が移動指示値を算出するための演算を行い、直接教示を行うことができる。これにより、実施の形態2に係るロボット制御システム2は、物体B1の位置情報を事前に得られない場合でも、物体B1を計測することによって物体方向Wを算出し、直接教示を行うことができるという効果が得られる。なお、実施の形態2において、物体計測部501は、撮像装置であるカメラを用いた例で説明したが、これに限るものではない。物体計測部は、レーザや超音波などによって物体を計測するように構成されていてもよい。
【0060】
実施の形態3.
次に、
図10乃至
図12を参照して、実施の形態3に係るロボット制御システム3について説明する。実施の形態3に係るロボット制御システム3は、実施の形態1に係るロボット制御システム1と比較して、ロボット制御装置が行う従動処理の一部の内容が異なるが、他の構成については同様であり、実施の形態1と同様の構成及び処理については、同一の符号を付して説明を省略する。
【0061】
図10は、実施の形態3に係るロボット制御装置が行う従動処理を示すフローチャートであり、
図11は、実施の形態3に係る手先部E1と物体B1との位置関係を示す側方から視た模式図である。実施の形態3に係るロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θ
mが、予め設定されている複数の角度を境界とする複数の範囲のいずれに含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容が変化するように構成されている。例えば、ロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θ
mが小さいほど、手先部E1が物体方向に近い方向に移動するように、ロボット100を制御するように構成されていてもよいし、両者を組み合せてロボット100を制御するように構成されていてもよい。
【0062】
まず、条件設定において、物体方向Wと仮想移動方向とのなす角度θmが含まれる範囲として互いに異なる2つの角度を境界とする3つの範囲を設定した場合の、移動指示演算部414による移動指示値の演算方法について説明する。ステップST06の処理において、物体方向Wと操作方向とのなす角度θmが、条件設定において予め設定されている所定の角度θ1以下でない場合(ステップST06のNO、θm>θ1)、ロボット制御装置400は、物体方向Wと操作方向とのなす角度θmが、条件設定において予め設定されている所定の角度θ1よりも大きい所定角度θ2以下であるか否かを判定する(ステップST09)。
【0063】
ステップST09の処理において、物体方向Wと操作方向とのなす角度θmが、所定角度θ2以下である場合(ステップST09のYES、θ1<θm≦θ2)、ロボット制御装置400は、手先部E1が物体方向Wと仮想移動方向とのなす角度θmが小さいほど、手先部E1が物体方向に近い方向に移動するように、ロボット100を制御する(ステップST10)。ステップST09の処理において、物体方向Wと操作方向とのなす角度θmが、条件設定において予め設定されている所定の角度θ2以下でない場合(ステップST06のNO、180°≧θm>θ2)、ロボット制御装置400は、手先部E1が操作方向に移動するように、ロボット100を制御する(ステップST08)。なお、所定角度θ2は、実施の形態1において第2所定角度を構成する。
【0064】
このように、実施の形態3に係るロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θmが、予め設定されている所定角度θ1及び所定角度θ1よりも大きい所定角度θ2の2つの角度を境界とする3つの範囲のいずれの範囲に含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容を切換えるように構成されている。
【0065】
このように構成されて、移動指示演算部414は、物体方向と操作方向とのなす角度θ
mが、所定角度θ
1よりも大きくかつ所定角度θ
2以下の第1角度偏差である場合、物体方向と操作方向とのなす角度θ
mが、第1角度偏差よりも大きくかつ所定角度θ
2よりも大きくかつ所定角度θ
2以下の第2角度偏差である場合よりも、手先部E1の移動方向が物体方向に近い方向となるようにロボット100を制御する。
【0066】
なお、ロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θmが、予め設定されている2つの角度を境界とする3つの範囲のいずれの範囲に含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容を切換えるように構成されているものに限定されない。ロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θmが、予め設定されている4つ以上の範囲のいずれの範囲に含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容を切換えるように構成されていてもよい。
【0067】
例えば、ロボット制御装置400は、物体方向Wと仮想移動方向とのなす角度θmが、予め設定されているn個(例えば、nは4以上の自然数)の範囲のいずれの範囲に含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容を切換えるように構成されていてもよい。
【0068】
図12Aは、実施の形態1において、移動指示演算部414の処理を切換える物体方向Wと仮想移動方向とのなす角度θ
mの範囲を示す図であり、
図12Bは、実施の形態3において、移動指示演算部414の処理を切換える物体方向Wと仮想移動方向とのなす角度θ
mの範囲を示す図である。
【0069】
具体的には、ロボット制御装置400は、予めn個の範囲のそれぞれに対応して、物体方向Wに近い範囲であるほど、物体方向に近い移動指示値を算出する際の補正係数cn(例えば、cn-1<cn≦1、かつc1=0、かつcN=1)を設定している。これらの補正係数は、記憶部420に記憶されている。
【0070】
以上のように、実施の形態3に係るロボット制御システム3は、物体方向Wと仮想移動方向とのなす角度θ
mが、予め設定されている複数の角度を境界とする複数の範囲のいずれに含まれるかによって、移動指示演算部414が移動指示値を算出する処理の内容を変化させて、直接教示を行うことができる。これにより、実施の形態3に係るロボット制御システム3は、仮想移動方向が角度の境界をまたぐ操作を行った場合でも、滑らかな操作で直接教示を行うことができるという効果が得られる。
【0071】
なお、本開示は、各実施の形態の自由な組合せ、あるいは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0072】
1,2,3 :ロボット制御システム
100 :ロボット
110 :モータ(駆動部)
120 :エンコーダ
200 :力覚検知部
300 :物体情報出力部
400 :ロボット制御装置
410 :演算部
411 :力検知情報取得部
412 :従動制御模擬演算部
413 :位置情報取得部
414 :移動指示演算部
420 :記憶部
500 :物体情報出力部
501 :物体計測部
502 :物体位置推定部
B1 :物体(作業対象)
BO :基準点
E1 :手先部
F1 :フランジ面
FO :中心
G1 :基準面
J1,J2,J3,J4,J5,J6:関節
L1,L2,L3,L4,L5,L6:リンク