JP2021016924A - ロボット制御システム、装置、方法及びプログラム - Google Patents

ロボット制御システム、装置、方法及びプログラム Download PDF

Info

Publication number
JP2021016924A
JP2021016924A JP2019134802A JP2019134802A JP2021016924A JP 2021016924 A JP2021016924 A JP 2021016924A JP 2019134802 A JP2019134802 A JP 2019134802A JP 2019134802 A JP2019134802 A JP 2019134802A JP 2021016924 A JP2021016924 A JP 2021016924A
Authority
JP
Japan
Prior art keywords
interference
link
robot
spatial region
joint angle
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.)
Granted
Application number
JP2019134802A
Other languages
English (en)
Other versions
JP7357902B2 (ja
Inventor
弘之 岡
Hiroyuki Oka
弘之 岡
佐藤 高志
Takashi Sato
高志 佐藤
義弘 坂本
Yoshihiro Sakamoto
義弘 坂本
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.)
Tokyo Robotics Inc
Original Assignee
Tokyo Robotics Inc
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 Tokyo Robotics Inc filed Critical Tokyo Robotics Inc
Priority to JP2019134802A priority Critical patent/JP7357902B2/ja
Publication of JP2021016924A publication Critical patent/JP2021016924A/ja
Application granted granted Critical
Publication of JP7357902B2 publication Critical patent/JP7357902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】自己衝突の危険を低減しつつも、運用コストが抑制されたロボット制御システム等を提供すること。【解決手段】一のリンクを包含する第1の空間領域が他のいずれかのリンク又はリンクに関する第1の空間領域に干渉するか否かを判定する第1干渉判定部と、干渉有りと判定される場合にはロボットの動作制御部へとフェールセーフ信号を提供するフェールセーフ信号提供部と、一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含する第2の空間領域が他のいずれかのリンク、リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する第2干渉判定部と、干渉無しと判定される場合にはユーザ姿勢に対応するスレーブロボットの各関節における目標関節角度を動作制御部へと提供し干渉有りと判定される場合には目標関節角度を動作制御部へと提供しない目標関節角度提供部とを備えたロボット制御システムが提供される。【選択図】図13

Description

この発明は、例えば、ロボットの制御システム等に関する。
近年、人間の姿勢や動作をセンサシステムにより検出し、その検出結果に基づいてロボットを遠隔地等から制御するマスタ・スレーブ制御システムについて研究開発がなされている(例えば、特許文献1)。
ところで、この種のシステムに利用されるロボットには、ロボット自身を構成する部材間での衝突や干渉が生じてロボットが破損や故障等することを防止する目的で、自己衝突防止機構が備えられている。
従来知られている自己衝突防止機構は、ロボットを構成する一の部材が、他の部材を包含する所定の空間領域へと干渉するか否かを監視し、それが干渉すると判定される場合には、ロボットの保護のため、フェールセーフ処理、すなわち、モータ電源をオフにしたり物理的にブレーキを駆動させる等してロボットの動作を停止させる処理を行っていた。
図18は、干渉判定に用いられる空間領域、すなわち従前の干渉禁止領域の概念図である。同図においては、ロボットの頭部、胴部、腕部等をおよそ包含するように干渉判定に用いられる空間領域が設定されている。これらの領域に他の部材が干渉するとロボットはフェールセーフ処理により停止する。
特許第6476358号公報
しかしながら、従来の自己衝突防止機構においては、追従対象となる動作が多様である場合や干渉判定に用いられる空間領域の設定が適切でない場合等には、自己衝突防止機構によるフェールセーフ処理が比較的容易に作動し、その処理発生頻度が高くなってしまうことがあった。
一旦フェールセーフ処理が行われると、所定の再起動処理を行わなければならず、復旧作業には工数を要し、特に、マスタ側のロボットのユーザが遠隔地に存在している場合等にはその工数は看過できないものであった。すなわち、ロボットの自己衝突防止機構により、マスタ・スレーブ制御システムの運用コストの増大がもたらされることがあった。
本発明は、上述の技術的課題を解決するためになされたものであり、その目的とするところは、マスタ・スレーブ制御システムにおけるロボットの自己衝突の危険を低減しつつも、運用コストが抑制されたロボット制御システム等を提供することにある。
上述の技術的課題は、以下の構成を有するロボット制御システム等により解決することができる。
すなわち、本発明に係るロボット制御システムは、マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御システムであって、前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定部と、前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供部と、前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定部と、前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供部と、を備えている。
このような構成によれば、フェールセーフ処理が行われる基準となる第1の空間領域と一致するか又は包含する第2の空間領域を用いて判定を行うので、スレーブロボットにおける自己衝突の危険を低減させることができると共にフェールセーフ処理が行われる頻度を低減させることができる。すなわち、マスタ・スレーブシステムにおけるロボットの自己衝突の危険を低減しつつも、運用コストが抑制されたロボット制御システムを提供することができる。
なお、本ロボット制御システムの第1干渉判定部、フェールセーフ信号提供部等の各構成は、同一の装置内に配置されることを要しない。
前記第2干渉判定部において干渉判定される、前記一のリンクに係る前記第2の空間領域、又は、前記他のいずれかのリンク、当該リンクに関する第1の空間領域若しくは第2の空間領域のいずれか一方は、目標関節角度に基づいて算出され、他方は、前記スレーブロボットの各前記関節における現在関節角度に基づいて算出される、ものであってもよい。
このような構成によれば、目標関節角度を用いるので、未然にスレーブロボットにおける自己衝突や意図しないフェールセーフ処理の適用を防止することができる。また、現在関節角度と目標関節角度とを併用することから、ユーザの動きにスレーブロボットが十分に追従できない場合であっても、違和感なく自己衝突の危険を低減させることができると共に、フェールセーフ処理が行われる頻度を低減させることができる。
前記第2干渉判定部において干渉判定される、前記一のリンクに係る前記第2の空間領域、又は、前記他のいずれかのリンク、当該リンクに関する第1の空間領域若しくは第2の空間領域のいずれも、前記目標関節角度に基づいて算出される、ものであってもよい。
このような構成によれば、目標関節角度を用いるので、未然にスレーブロボットにおける自己衝突や意図しないフェールセーフ処理の適用を防止することができる。また、目標関節角度のみを利用することから比較的に高速な判定処理を行うことができる。
前記ロボット制御システムは、さらに、現在の前記関節角度から前記目標関節角度へと至る過程の一又は複数の中間姿勢における中間姿勢関節角度を生成する、中間関節角度生成部を備え、前記第2干渉判定部は、さらに、前記中間姿勢関節角度のそれぞれに基づいて、前記リンクのうちの一のリンクに関する第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、中間姿勢判定部と、を備えるものであってもよい。
このような構成によれば、目標姿勢へと至る中間姿勢においても自己干渉の有無を判定するので、より確実に、スレーブロボットにおける自己衝突の危険を低減させることができると共にフェールセーフ処理が行われる頻度を低減させることができる。
前記第1干渉判定部における前記判定は、前記リンク又は前記リンクに関する第1の空間領域に対応する3次元モデル同士の干渉判定を行うことにより行われる、ものであってもよい。
前記第1干渉判定部は、さらに、判定対象となる前記リンク又は前記リンクに関する第1の空間領域に対応する境界ボリューム同士の干渉を判定する、第1境界ボリューム判定部と、前記第1境界ボリューム判定部において干渉有りと判断された場合に、前記リンク又は前記リンクに関する第1の空間領域の表面間の干渉を判定する、第1表面干渉判定部と、を備えるものであってもよい。
このような構成によれば、境界ボリュームを利用した大まかな判定処理により干渉しないと判定された場合には、それ以上の干渉判定を行わないので、処理の高速化や処理負荷の低減等を行うことができる。
前記第2干渉判定部における前記判定は、前記リンク、前記リンクに関する第1の空間領域又は第2の空間領域に対応する3次元モデル同士の干渉判定を行うことにより行われる、ものであってもよい。
前記第2干渉判定部は、判定対象となる前記リンク、前記リンクに関する第1の空間領域又は第2の空間領域に対応する境界ボリューム同士の干渉を判定する、第2境界ボリューム判定部と、前記第2境界ボリューム判定部において干渉有りと判断された場合に、前記リンク、前記リンクに関する第1の空間領域又は前記第2の空間領域の表面間の干渉を判定する、第2表面干渉判定部と、を備えるものであってもよい。
このような構成によれば、境界ボリュームを利用した大まかな判定処理により干渉しないと判定された場合には、それ以上の干渉判定を行わないので、処理の高速化や処理負荷の低減等を行うことができる。
前記第1境界ボリューム判定部又は前記第2境界ボリューム判定部における判定は、AABB法(Axis−Aligned Bounding Box法)により行われる、ものであってもよい。
前記ロボット制御システムは、さらに、前記ユーザ姿勢に関するセンサ情報を前記スレーブロボットの関節角度へと変換するための変換情報を記憶する変換情報記憶部と、前記変換情報と逆運動学に基づいて、前記ユーザ姿勢を、対応する前記スレーブロボットの各前記関節における目標関節角度へと変換する、変換部と、を備えるものであってもよい。
前記第1干渉判定部及び前記第2干渉判定部は、隣り合うリンクの間では干渉判定を行わない、ものであってもよい。
このような構成によれば、隣り合うリンクの間では干渉判定を行わないため、過度な干渉判定の防止や、処理の高速化、処理負荷の低減等を行うことができる。
本発明は、装置として観念することもできる。すなわち、本発明に係るロボット制御装置は、マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御装置であって、前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定部と、前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供部と、前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定部と、前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供部と、を備えている。
本発明は、方法として観念することもできる。すなわち、本発明に係るロボット制御方法は、マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御方法であって、前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定ステップと、前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供ステップと、前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定ステップと、前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供ステップと、を備えている。
本発明は、コンピュータプログラムとして観念することもできる。すなわち、本発明に係るロボット制御プログラムは、マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御プログラムであって、前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定ステップと、前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供ステップと、前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定ステップと、前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供ステップと、を備えている。
本発明によれば、マスタ・スレーブ制御システムにおけるロボットの自己衝突の危険を低減しつつも、運用コストが抑制されたロボット制御システムを提供することができる。
図1は、マスタ・スレーブ制御システムの全体構成図である。 図2は、モーションセンサに関する説明図である。 図3は、ロボットに関する説明図である。 図4は、マスタ・スレーブ制御システムの機能ブロック図である。 図5は、マスタ側情報処理装置の動作に関するフローチャートである。 図6は、関節角度監視部の動作に関するフローチャートである。 図7は、自己干渉判定処理の詳細フローチャート(その1)である。 図8は、第1の干渉禁止領域の算出処理に関する詳細フローチャートである。 図9は、リンク間の干渉判定処理の詳細フローチャート(その1)である。 図10は、スレーブ側情報処理装置の動作に関するフローチャートである。 図11は、マッピング処理の詳細フローチャートである。 図12は、自己干渉判定処理の詳細フローチャート(その2)である。 図13は、干渉禁止領域に関する説明図である。 図14は、第2の干渉禁止領域の算出処理に関する詳細フローチャートである。 図15は、リンク間の干渉判定処理の詳細フローチャート(その2)である。 図16は、スレーブ側情報処理装置の動作に関するフローチャートである(第2の実施形態)。 図17は、自己干渉判定処理の詳細フローチャートである(第2の実施形態)。 図18は、従前の干渉禁止領域の概念図である。 図19は、マスタ・スレーブ制御システムの機能ブロック図(第3の実施形態)である。
以下、本発明の好適な実施の形態について添付の図1〜図19を参照しつつ詳細に説明する。
(1.第1の実施形態)
(1.1 マスタ・スレーブ制御システムの構成)
図1〜図4を参照しつつ、本実施形態に係るマスタ・スレーブ制御システム100の構成について説明する。
図1は、マスタシステム1と、ロボット8を含むスレーブシステム4とをインターネット等のネットワークを介して接続して成るマスタ・スレーブ制御システム100の全体構成図である。
同図から明らかな通り、マスタシステム1は、モーションセンサ2と、マスタ側情報処理装置3とから構成される。モーションセンサ2は、図示しないユーザの身体の姿勢や動きを検出する。マスタ側情報処理装置3は、モーションセンサ2から得られるセンサ情報を処理してユーザの姿勢等を算出したり、スレーブシステム4との間の情報の授受等を行う。
スレーブシステム4は、スレーブ側情報処理装置5と、ロボットのコントローラユニット7と、ロボット8とから構成される。本実施形態において、ロボット8は、後述するように、頭部81、胴部82及び一対の腕部85(図3参照)とから成り、モータ等が内部に配置される関節と、関節間をつなぐリンクとから構成される。スレーブ側情報処理装置5は、ネットワークを介して受信したユーザ姿勢情報に基づいてユーザ姿勢をロボットの関節角度へとマッピングしたり、後述の干渉判定処理等を行う。コントローラユニット7は、スレーブ側情報処理装置からの目標関節角度等に基づいてロボット8の関節に備えられたモータへの電流を制御しロボット8の位置制御を行う。
図示しないものの、マスタ側情報処理装置3及びスレーブ側情報処理装置5は、いずれも、制御部、記憶部、通信部、I/O部、入力部、表示部等がバスを介して接続された構成を有する情報処理装置である。制御部は、例えば、CPU及びGPUであり、後述の各種のプログラムの実行、制御を行う。記憶部は、ROM、RAM、フラッシュメモリー、ハードディスク、ストレージ等で構成され、適宜、データやプログラムを記憶する。通信部は、無線通信ユニット又は有線通信ユニット等で構成され、所定の規格の下に外部機器との通信処理を行う。入力部は、例えば、キーボード等を介して入力された情報を検出及び処理する。表示部は、ディスプレイ等への表示制御を行う。
なお、システム又はシステムを構成する装置の構成は本実施形態のものに限定されない。従って、例えば、スレーブ側情報処理装置5とコントローラユニット7とを統合する等、所定の機能や装置について統合したり、或いは、分割したりしてもよい。また、マスタシステム1とスレーブシステム4との間は、インターネット等を介さずにローカルエリアネットワーク等により接続してもよい。さらに、マスタシステム1とスレーブシステム4との間をネットワークにより接続せずに単に有線接続してもよい。加えて、ユーザは、ロボット8を遠隔地から操作してもよいし、同一の空間内に配置してもよい。
図2は、モーションセンサ2に関する説明図である。本実施形態に係るモーションセンサ2は、加速度センサ、角速度センサ及び地磁気センサを組み合わせて3軸の加速度値、角速度値及び地磁気値を検出可能なIMUセンサ(慣性計測センサ)として構成し、IMUセンサをベルトにより身体の各部に装着するベルト装着型センサである。なお、IMUセンサの構成は本実施形態に係るものに限定されない。
図2(a)は、ユーザによるモーションセンサ2の装着例について示している。同図から明らかな通り、本実施形態においては、ユーザの額に頭部用IMUセンサ21、左右の上腕にそれぞれ右上腕用IMUセンサ23R、左上腕用IMUセンサ23L、左右の前腕にそれぞれ右前腕用IMUセンサ24R、左前腕用IMUセンサ24L、手の甲にそれぞれ右甲用IMUセンサ25R、左甲用IMUセンサ25Lが設けられている。また、ユーザの背中側の中央には、背面用IMUセンサ22(不図示)が設けられている。
図2(b)は、各センサの配置に関する正面図である。同図において、ユーザの身体は直線で描かれ簡略表示されている。同図から明らかな通り、ユーザには、頭部に1つのIMUセンサ21、胴部(背面側)に1つのIMUセンサ22、左右対称にそれぞれ3つずつのIMUセンサ23R〜25R、23L〜25Lが設けられることとなる。
なお、本実施形態においては、ユーザ姿勢の検出手段としてベルト装着型のIMUセンサを採用したが、本発明はこのような構成に限定されない。従って、他の装着型センサを用いてもよいし、装着を行わずにカメラ等を用いてユーザ姿勢を検出してもよい。
図3は、ロボット8に関する説明図である。図3(a)は、ロボット8に備えられたアクチュエータであるサーボモータ811〜857の配置斜視図であり回転駆動箇所が矢印で示されている。図3(b)は、アクチュエータ配置の正面図であり、ロボット8の身体は直線で描かれ簡略表示されている。
図3(a)及び図3(b)から明らかな通り、ロボット8は、略人型の形状を有しており、概して、頭部81と、頭部81から下方へと延びる胴部82と、胴部82の左右側面から延びる腕部85L、85Rとから構成されている。各関節にはそれぞれ回転駆動されるサーボモータが配置され、サーボモータ間は骨格を形成するリンクが設けられている。
頭部81は、胴部82と平行な水平回転軸を有し上下を仰ぎ視る動作を可能とする頭部第1関節駆動モータ811、鉛直方向の回転軸を有し首の左右への回転を可能とする頭部第2関節駆動モータ812とを備えている。
胴部82は、胴部82と平行な水平回転軸を有しロボット8が屈む動作を可能とする胴部第1関節駆動モータ821と、鉛直方向の回転軸を有し胴部82を捻るような回転を可能とする胴部第2関節駆動モータ822とを備えている。
腕部85L、85Rは、胴部82と平行な水平回転軸を有し腕部85L、85Rを前後に振る動作を可能とする腕部第1関節駆動モータ851L、851Rと、胴部82と垂直な水平回転軸を有し腕部85L、85Rを左右に開閉する動作を可能とする腕部第2関節駆動モータ852L、852Rとを備えている。
また、腕部85L、85Rは、鉛直方向の回転軸を有し上腕部において腕を捻るような動作を可能とする腕部第3関節駆動モータ853L、853Rと、胴部82と垂直な水平回転軸を有し肘の曲げ動作を可能とする腕部第4関節駆動モータ854L、854Rと、鉛直方向の回転軸を有し前腕部を捻るような動作を可能とする腕部第5関節駆動モータ855L、855Rとを備えている。
さらに、腕部85L、85Rは、胴部82と垂直な水平回転軸を有し手首の曲げ動作を可能とする腕部第6関節駆動モータ856L、856Rと、鉛直方向の回転軸を有し手先部を捻るような動作を可能とする腕部第7関節駆動モータ857L、857Rとを備えている。
なお、同図においては、モータの配置のみを例示したが、ロボット8には、他に、モータ制御のための各種基板やバッテリ等が別途備えられていてもよいことは勿論である。また、頭部81にカメラを付加する等、さらなる機能の付加のための構成を追加してもよい。
図4は、本実施形態に係るマスタ・スレーブ制御システム100の機能ブロック図である。同図から明らかな通り、同図においては、マスタ・スレーブ制御システム100のうち、特に、マスタ側情報処理装置3と、スレーブ側情報処理装置5と、ロボットコントローラ7の機能ブロックについて示している。
同図から明らかな通り、マスタ側情報処理装置3は、モーションセンサ2からのセンサ信号を受信してユーザ姿勢を検出するユーザ姿勢検出部31と、検出されたユーザ姿勢31をスレーブ側情報処理装置5へとネットワーク等を介して送信するユーザ姿勢送信部33を備えている。また、ロボット8のセンサで検出される各種の情報、例えば、ロボット8の現在関節角度等をロボットの状態信号として受信するロボット状態信号受信部37と、ロボットの状態信号を表示部や外部表示装置等に表示する制御を行う状態表示制御部35を備えている。
また、スレーブ側情報処理装置5は、ユーザ姿勢を受信しマッピング処理部52へと提供するユーザ姿勢受信部51を備えている。マッピング処理部52は、後述する手法にてユーザ姿勢をロボット8の関節角度へとマッピングして目標関節角度を生成し、指令値提供判定処理部53へと提供する処理を行う。目標関節角度を受信した指令値提供判定処理部53は、後述するように、第2の空間領域に基づく自己干渉の有無に関する所定の条件判定処理を行う。その結果、自己干渉が無いと判定される場合には、コントローラユニット7との間の通信処理を行う通信部54を介してコントローラユニット7へと目標関節角度の提供を行い、他方、自己干渉が有ると判定される場合には、コントローラユニット7へと目標関節角度を提供しない処理を行う。
また、スレーブ側情報処理装置5は、ロボット8の状態を監視してマスタ側情報処理装置3へと報告する機能を有している。スレーブ側情報処理装置5は、コントローラユニット7を介してロボット8のセンサから取得された現在の関節角度等の状態信号を取得するコントローラユニット通信部54を有する。コントローラユニット通信部54にて取得されたロボット8の現在状態に関する状態信号は、ロボット状態信号送信部57へと提供される。ロボット状態信号送信部57は、受信した状態信号をマスタ側情報処理装置3へと送信する。なお、この状態信号により、マスタ側での各種表示処理が行われる。
さらに、スレーブ側情報処理装置5は、ロボット8の関節角度を監視して所定の条件を満たす場合に、フェールセーフ指令を行う。スレーブ側情報処理装置5は、コントローラユニット7を介してロボット8のセンサから取得された現在の関節角度等の状態信号をコントローラユニット通信部54を介して取得する関節角度監視部56を有する。関節角度監視部56は、後述する処理により、ロボット8の現在関節角度を監視し、第1の空間領域に基づく自己干渉の有無について所定の条件判定を行う。その結果、関節角度監視部56は、自己干渉がないと判定される場合には、何らの処理も行うことなく再度監視処理を行い、自己干渉が有ると判定される場合には、サーボモータへの電流供給を停止したり物理的なブレーキをかけるための信号を生成する等して、フェールセーフ指令を行う。
ロボットコントローラ7は、通信部71を介して、スレーブ側情報処理装置5から目標関節角度を取得し、ロボット制御部72にて電流値等の指令値を生成し、ロボット8の関節に備えられた各モータへと提供する。また、ロボットコントローラ7は、ロボット8に備えられた関節角度等の各種センサ情報をロボット制御部72を用いて取り込み、スレーブ側情報処理装置5へと送信する。
(1.2 マスタ・スレーブ制御システムの動作)
次に、図5〜図18を参照しつつ、本実施形態に係るマスタ・スレーブ制御システム100の動作について、以下、詳細に説明する。
(1.2.1 マスタ側情報処理装置3の動作)
図5は、マスタ側情報処理装置3の動作に関するフローチャートである。同図から明らかな通り、処理が開始すると、ユーザ姿勢検出部31は、モーションセンサ2であるIMUセンサ(21〜25L、25R)において検出されたセンサ情報の取得処理を行う(S11)。ここで、センサ情報は、上述のIMUセンサのセンサ値であり、具体的には、加速度センサ、角速度センサ及び地磁気センサの3軸センサ値である。
センサ情報の取得処理が完了すると、ユーザ姿勢検出部31は、センサ情報に基づいてユーザ姿勢情報を生成する処理、すなわちユーザ姿勢の検出処理を行う(S12)。このユーザ姿勢情報を生成する手法として、公知の種々の手法を採用し得るが、本実施形態においては、加速度センサと角速度センサのデータに基づいてカルマンフィルタを用いて自己位置推定を行いユーザ姿勢データとする手法が採用される。なお、このとき、地磁気センサの値は、加速度センサと角速度センサのドリフトを防止するために用いられる。
その後、ユーザ姿勢送信部33は、生成されたユーザ姿勢情報をスレーブ側情報処理装置5へと送信する処理を行う(S13)。その後、これら一連の処理(S11〜S13)が繰り返される。
(1.2.2 スレーブ側情報処理装置の動作(第1の干渉禁止領域))
図6は、スレーブ側情報処理装置5の主に関節角度監視部56の動作に関するフローチャートである。同図から明らかな通り、処理が開始すると、関節角度監視部56は、コントローラユニット7からの送信情報、特に、ロボット8に備えられたセンサを介して得られたロボット8の現在の関節角度情報を取得する(S91)。なお、関節角度情報の取得周期は、本実施形態においては、100Hzである。関節角度情報を取得した後、当該関節角度情報が第1の干渉禁止領域と干渉するか否かの判定処理が行われる(S92)。
図7は、自己干渉判定処理(S92)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、自己干渉判定に必要なロボット機構情報の読出処理が行われる(S921)。ロボット機構情報とは、ロボット8の関節を一連に又は分岐を伴ってリンクでつないで構成されるグラフ構造や、各関節やリンクのハードウェア構造に関する情報(各リンクの寸法、各関節の回転中心の方向ベクトル、等)を含むものである。
次に、第1の干渉禁止領域の算出処理が行われる(S923)。ここで、第1の干渉禁止領域は、図18に示したものと同様であり、後述するように、第2の干渉禁止領域に包含されるものである。
図8は、第1の干渉禁止領域の算出処理(S53)に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、関節角度監視部56は、ロボット機構情報に基づいて最上位リンク(ルートリンクと呼ぶ)(M=0)を特定し、当該ルートリンクの一つ下の子リンク(M=1)を参照リンクとして設定する処理を行う(S9232)。
設定処理が完了すると、関節角度監視部56は、親リンク(M=0)の座標系原点に対して同次変換行列を掛け合わせ、参照リンク(M=1)の座標系原点の位置・姿勢を算出する処理を行う(S9233)。その後、当該参照リンクの回転中心の方向ベクトルと、目標関節角度から算出された回転角度に基づいて、参照リンクの座標系原点における姿勢を更新する(S9234)。
参照リンクにおける座標系原点での姿勢の更新が完了すると、参照リンクに対して、3次元的に第1の干渉禁止領域を付与する処理、すなわち、リンク表面から所定距離離れた位置に配置されるポリゴンメッシュを構成する三角形群の頂点座標を更新する処理が行われる(S9235)。なお、ポリゴンメッシュの形状は三角形に限定されず、例えば、四角形や凹凸のある形状であってもよい。また、3次元構造を表現する他の公知の手法を採用してもよい。
その後、Mが所定値であるか否かを判定する処理が行われる。Mが所定値に満たない場合(S9236NO)、Mを1だけインクリメント(S9238)して次のリンクを参照し、再度一連の処理(S9233〜S9236)を繰り返す。一方、Mが所定となった場合(S9236YES)、処理は終了する。すなわち、現在関節角度における第1の干渉禁止領域に相当するポリゴンメッシュが設定されることとなる。
図7に戻り、第1の干渉禁止領域の算出処理(S923)が行われると、算出された第1の干渉禁止領域に基づいて、リンク間の干渉判定処理が行われる(S925)。
図9は、リンク間の干渉判定処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、参照リンクに干渉があるか否かを示すすべての干渉フラグを、干渉がないことを示すOFF状態へとすべて初期化する処理が行われる(S9251)。その後、ルートリンクを参照リンクとして設定する処理が行われる(S9252)。
参照リンクが設定されると、当該参照リンクと他のリンクとの間において、境界ボリュームに基づく干渉判定処理が行われる(S9253)。境界ボリュームとは、対象3次元体表面を構成するポリゴンの各頂点をすべて含むように構成される所定の幾何学的形状を有する3次元オブジェクトを言う。所定形状には、例えば、球(Spehere)形状、軸に平行な箱型(Axis−alighed bounding box:AABB)形状、所定の方向性を有する箱型(Oriented bounding box:OBB)形状、及び凸包(Convex hull)形状等が含まれるが、本実施形態においては、軸に平行な箱型の境界ボリュームを利用して干渉判定を行う(AABB法)。
すなわち、参照リンクに関する第1の干渉禁止領域を含み所定軸と平行な箱型形状と、他のリンクに関する第1の干渉禁止領域を含み所定軸と平行な箱型形状との間における干渉判定処理が行われる。境界ボリュームを利用することで、対象3次元体を含むシンプルな形状同士の比較が行われるので、大まかな干渉判定を行うことができる。
この干渉判定処理(S9253)の結果、両者の間に干渉無しと判定された場合には(S9254NO)、未だ干渉判定を行っていない他のリンクが存在するかの判定処理が行われる(S9258)。一方、干渉判定処理(S9253)の結果、両者の間に干渉有りと判定された場合には(S9254YES)、第1の干渉禁止領域表面を構成するポリゴンメッシュに基づく干渉判定処理が行われる(S9255)。すなわち、実際のリンク形状に即して設定された干渉禁止領域の表面間において詳細に干渉判定処理が行われる。
この干渉判定処理(S9255)の結果、ポリゴンメッシュ間において干渉無しと判定された場合には(S9256NO)、未だ干渉判定を行っていない他のリンクが存在するかの判定処理が行われる(S9258)。一方、干渉判定処理(S9255)の結果、両者の間に干渉有りと判定された場合には(S9256YES)、当該参照リンク及び当該参照リンクと干渉するリンクについて干渉フラグをONにする(S9257)。
以上の処理(S9253〜S9257)が終了すると、未だ干渉判定を行っていない他のリンクが存在するか否かについて判定処理が行われ(S9258)、未だすべての干渉判定を行っていないと判定された場合には、参照リンクと比較されるリンクを変更する処理(S9260)が行われ、再度、一連の処理(S9253〜S9257)が行われる。
一方、参照リンクが他のすべてのリンクと干渉判定を行ったものと判定されると(S9258YES)、Mが所定値となったか、すなわち、すべてのリンクを参照リンクとしたか否かが判定される(S9259)。未だすべてのリンクを参照リンクとしていない場合(S9259NO)、Mを1だけインクリメントして(S9261)、再度一連の処理(S9253〜S9257)を行う。すべてのリンクを参照リンクとしたと判定された場合(S9259YES)、処理は終了する。
このような構成によれば、境界ボリュームを利用した大まかな判定処理により干渉しないと判定された場合には、それ以上の干渉判定を行わないので、処理の高速化や処理負荷の低減等を行うことができる。
なお、本実施形態においては、すべてのリンク(又はその干渉禁止領域含む)間で干渉判定を行う構成について説明を行ったが、本発明はこのような構成に限定されない。従って、例えば、一部のリンクについては干渉判定の対象から除外してもよい。例えば、隣り合うリンク間での判定処理を行わないように構成してもよい。このような構成によれば、元々干渉が生じやすい隣り合うリンク間で発生した干渉に基づく無用なフェールセーフ処理の発生等を防止することができる。
図6に戻り、現在関節角度の第1の自己干渉禁止領域との干渉判定処理(S92)が完了すると、干渉フラグがONとなっているリンクがあるか否かの判定、すなわち、干渉の有無に関する判定処理が行われ(S93)、干渉無しと判定される場合(S93NO)、再度一連の処理が行われる(S91〜S93)。一方、干渉有りと判定される場合、フェールセーフ指令が生成されてコントローラユニット7へと提供され(S94)、その後、処理は終了する。
コントローラユニット7は、提供されたフェールセーフ指令に基づいてロボット8に対してフェールセーフ処理を行う。フェールセーフ処理とは、ロボット8を停止させる処理であり、例えば、モータのサーボ電源をOFF(電流の供給を停止)にしたり、物理的にブレーキをかけたりする等する処理である。なお、本実施形態においては、サーボ電源をオフにすると共に物理的にブレーキをかける処理を採用している。
(1.2.3 スレーブ側情報処理装置の動作(第2の干渉禁止領域))
図10は、スレーブ側情報処理装置5の動作に関するフローチャートである。同図から明らかな通り、処理が開始すると、ユーザ姿勢受信部51は、ユーザ姿勢情報を取得する処理を行う(S3)。その後、マッピング処理部52は、ユーザ姿勢情報に基づいてロボット8の目標関節角度を算出すべく所定のマッピング処理を行う(S4)。
図11は、マッピング処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、マッピング処理部52は、逆運動学を解いてロボットにおける目標関節角度を算出するため、記憶部より、センサ構成とロボットの各関節との対応関係、当該対応関係にそれぞれ対応する変換数式のパラメータ等を含む変換テーブルを読み出す(S41)。その後、所定の整数値Nの初期化を行う(例えば、N=1)。
初期化処理の後、マッピング処理部52は、ユーザ姿勢情報と変換テーブルに基づいて、逆運動学を解くことにより、ユーザ姿勢情報に含まれるN個のセンサ情報の各々に基づいて、対応するロボット関節における目標関節角度を算出する。
本実施形態においては、例えば、上腕部に取り付けられ3自由度を有する右上腕用IMUセンサ23Rの値を用いて、逆運動学を解くことにより、右腕部第1関節駆動モータ851Rと、右腕部第2関節駆動モータ852Rと、右腕部第3関節駆動モータ853Rへと目標関節角度をマッピングする。また、前腕部に取り付けられ1自由度を有する右前腕用IMUセンサ24Rの値を用いて、逆運動学を解くことにより、右腕部第4関節駆動モータ854Rへと目標関節角度をマッピングする。さらに、手の甲に取り付けられ3自由度を有する右甲用IMUセンサ25Rの値を用いて、逆運動学を解くことにより、右腕部第5関節駆動モータ855R、右腕部第6関節駆動モータ856R、及び、右腕部第7関節駆動モータ857Rへと目標関節角度をマッピングする。他の関節においても同様の手法により目標関節角度を算出することができる。
第N番目のセンサ情報に基づく処理が終了すると、Nが所定の値(例えば、最大センサ数)となったかを判定する処理が行われる(S45)。その結果、Nが所定値未満である場合には(S45NO)、Nを1だけインクリメントして(S47)、再度、上述の処理が行われる(S43、S45)。一方、Nが所定値となった場合には(S45YES)、処理は終了する。
図10に戻り、マッピング処理(S4)が終了すると、自己干渉判定処理が行われる(S5)。
図12は、自己干渉判定処理(S5)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、自己干渉判定に必要なロボット機構情報の読出処理が行われる(S51)。ロボット機構情報とは、ロボット8の関節を一連に又は分岐を伴ってリンクでつないで構成されるグラフ構造や、各関節やリンクのハードウェア構造に関する情報(各リンクの寸法、各関節の回転中心の方向ベクトル、等)を含むものである。
次に、第2の干渉禁止領域の算出処理が行われる(S53)。ここで、第2の干渉禁止領域は、上述の第1の干渉禁止領域と一致するか又はそれを包含するものである。すなわち、干渉によりフェールセーフ処理が行われる第1の干渉禁止領域と同一か又はさらに空間的余裕を以て設定された干渉禁止領域である。
図13は、第1の干渉禁止領域300と第2の干渉禁止領域200の関係について示す説明図である。同図から明らかな通り、ロボット8の表面を覆うように所定間隔を空けて第1の干渉禁止領域300(破線)が設定されており、そのさらに外側に、第1の干渉禁止領域を包含するように第2の干渉禁止領域200(一点鎖線)が設定されている。
図14は、第2の干渉禁止領域の算出処理(S53)に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、指令値提供判定処理部53は、ロボット機構情報に基づいて最上位リンク(ルートリンクと呼ぶ)(M=0)を特定し、当該ルートリンクの一つ下の子リンク(M=1)を参照リンクとして設定する処理を行う(S532)。
設定処理が完了すると、指令値提供判定処理部53は、親リンク(M=0)の座標系原点に対して同次変換行列を掛け合わせ、参照リンク(M=1)の座標系原点の位置・姿勢を算出する処理を行う(S533)。その後、当該参照リンクの回転中心の方向ベクトルと、目標関節角度から算出された回転角度に基づいて、参照リンクの座標系原点における姿勢を更新する(S534)。
参照リンクにおける座標系原点での姿勢の更新が完了すると、参照リンクに対して、3次元的に第2の干渉禁止領域を付与する処理、すなわち、リンク表面から所定距離離れた位置に配置されるポリゴンメッシュを構成する三角形群の頂点座標を更新する処理が行われる(S535)。なお、ポリゴンメッシュの形状は三角形に限定されず、例えば、四角形や凹凸のある形状であってもよい。また、3次元構造を表現する他の公知の手法を採用してもよい。
その後、Mが所定値であるか否かを判定する処理が行われる。Mが所定値に満たない場合(S536NO)、Mを1だけインクリメント(S538)して次のリンクを参照し、再度一連の処理(S533〜S536)を繰り返す。一方、Mが所定となった場合(S536YES)、処理は終了する。すなわち、目標関節角度に基づいて、すべてのリンクに対して関節角度更新後の第2の干渉禁止領域に相当するポリゴンメッシュが設定されることとなる。
図12に戻り、第2の干渉禁止領域の算出処理(S53)が行われると、算出された第2の干渉禁止領域に基づいて、リンク間の干渉判定処理が行われる(S55)。
図15は、リンク間の干渉判定処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、参照リンクに干渉があるか否かを示すすべての干渉フラグを、干渉がないことを示すOFF状態へとすべて初期化する処理が行われる(S551)。その後、ルートリンクを参照リンクとして設定する処理が行われる(S552)。
参照リンクが設定されると、当該参照リンクと他のリンクとの間において、境界ボリュームに基づく干渉判定処理が行われる(S553)。本実施形態においては、軸に平行な箱型の境界ボリュームを利用して干渉判定を行う(AABB法)。
すなわち、参照リンクに関する第2の干渉禁止領域を含み所定軸と平行な箱型形状と、他のリンクに関する第2の干渉禁止領域を含み所定軸と平行な箱型形状との間における干渉判定処理が行われる。境界ボリュームを利用することで、対象3次元体を含むシンプルな形状同士の比較が行われるので、大まかな干渉判定を行うことができる。
この干渉判定処理(S553)の結果、両者の間に干渉無しと判定された場合には(S554NO)、未だ干渉判定を行っていない他のリンクが存在するかの判定処理が行われる(S558)。一方、干渉判定処理(S553)の結果、両者の間に干渉有りと判定された場合には(S554YES)、第2の干渉禁止領域表面を構成するポリゴンメッシュに基づく干渉判定処理が行われる(S555)。すなわち、実際のリンク形状に即して設定された干渉禁止領域の表面間において詳細に干渉判定処理が行われる。
この干渉判定処理(S555)の結果、ポリゴンメッシュ間において干渉無しと判定された場合には(S556NO)、未だ干渉判定を行っていない他のリンクが存在するかの判定処理が行われる(S558)。一方、干渉判定処理(S555)の結果、両者の間に干渉有りと判定された場合には(S556YES)、参照リンク及び当該参照リンクと干渉するリンクについて干渉フラグをONにする(S557)。
以上の処理(S553〜S557)が終了すると、未だ干渉判定を行っていない他のリンクが存在するか否かについて判定処理が行われ(S558)、未だすべての干渉判定を行っていないと判定された場合には、参照リンクと比較されるリンクを変更する処理(S560)が行われ、再度、一連の処理(S553〜S557)が行われる。
一方、参照リンクが他のすべてのリンクと干渉判定を行ったものと判定されると(S558YES)、Mが所定値となったか、すなわち、すべてのリンクを参照リンクとしたか否かが判定される(S559)。未だすべてのリンクを参照リンクとしていない場合(S559NO)、Mを1だけインクリメントして(S561)、再度一連の処理(S553〜S557)を行う。すべてのリンクを参照リンクとしたと判定された場合(S559YES)、処理は終了する。
このような構成によれば、境界ボリュームを利用した大まかな判定処理により干渉しないと判定された場合には、それ以上の干渉判定を行わないので、処理の高速化や処理負荷の低減等を行うことができる。
なお、本実施形態においては、すべてのリンク(又はその干渉禁止領域含む)間で干渉判定を行う構成について説明を行ったが、本発明はこのような構成に限定されない。従って、例えば、一部のリンクについては干渉判定の対象から除外してもよい。例えば、隣り合うリンク間での判定処理を行わないように構成してもよい。このような構成によれば、元々干渉が生じやすい隣り合うリンク間で発生した干渉に基づく無用なフェールセーフ処理の発生等を防止することができる。
このような構成によれば、フェールセーフ処理が行われる基準となる第1の干渉禁止領域と一致するか又はそれを包含する第2の干渉禁止領域への干渉を目標関節角度に基づいて判定するので、スレーブロボットにおける自己衝突の危険を低減させることができると共にフェールセーフ処理が行われる頻度を低減させることができる。すなわち、マスタ・スレーブ制御システムにおけるロボットの自己衝突の危険を低減しつつも、運用コストが抑制されたロボット制御システムを提供することができる。
また、従来のマスタ・スレーブ制御システム100においては、現在関節角度を例えば100Hz程度の周期で監視していたため、ロボット8に対して高速の追従動作等を要求した場合には、フェールセーフ処理が間に合わず、自己衝突が発生してしまうおそれがあった。しかしながら、本実施形態によるマスタ・スレーブ制御システム100によれば、目標関節角度を基準として、コントローラユニット7への目標関節角度の提供の要否が決定されるので、より自己衝突が発生しにくくなる。
(2.第2の実施形態)
第1の実施形態によれば、ロボット8における自己衝突の危険を低減させることができると共にフェールセーフ処理が行われる頻度を低減させることができる。しかしながら、同構成を以てしても現在関節角度から目標関節角度へと移行する中間姿勢において自己干渉が発生する可能性がある。本実施形態によれば、より確実にロボット8における自己衝突の危険を低減させ、フェールセーフ処理が行われる頻度を低減させることができる。
なお、第2の実施形態において、第1の実施形態と略同一のハードウェア構成を有しており、スレーブ側情報処理装置5においては、第1の実施形態と同様に、第1の干渉禁止領域に関して干渉判定を行うことにより、フェールセーフ処理が行われている。
図16は、本実施形態に係るスレーブ側情報処理装置5の動作に関するフローチャートである。同図において、処理が開始すると、ユーザ姿勢情報の取得処理(S3)とマッピング(S4)が行われる。なお、これらの処理は第1の実施形態の図6と同様であるので説明は省略する。
指令値提供判定処理部53は、マッピング処理(S4)終了後、現在関節角度と目標関節角度とに基づいて、中間姿勢を設定する処理を行う(S61)。本実施形態においては、ロボット8の関節空間において、ロボット8の現在姿勢から目標姿勢までを結んだ直線上の一又は複数の点を採用している。
なお、中間姿勢の設定方法は、本実施形態の手法に限定されず他の種々の手法を採用してもよい。例えば、ロボット8の関節空間において、ロボット8の現在姿勢から目標姿勢までを各関節の位置・速度・加速度の時系列変化が滑らかになるようにスプライン計算したときの当該軌道上の一又は複数の点であってもよい。また、ロボット8の関節空間ではなく物理的な作業空間において、ロボット8の現在姿勢から目標姿勢までを結ぶ直線上又はスプライン計算した軌道上の一又は複数の点であってもよい。
中間処理の設定処理の終了後、指令値提供判定処理部53は、自己干渉判定処理を行う(S62)。
図17は、自己干渉判定処理(S62)の詳細フローチャートである。同図から明らかな通り、処理が開始すると、ロボット機構情報の読出処理が行われる(S621)。その後、整数Lの初期化処理が行われる(S622)。なお、Lは中間姿勢について便宜上付与される番号であり、例えば、中間姿勢から最終姿勢まで各姿勢に対して順に付与される。
初期化処理の後、第L番目の中間姿勢における第2の干渉禁止領域の算出処理が行われる(S623)。この算出処理は、図12の第2の干渉禁止領域の算出処理(S53)と略同一であるので説明は省略する。
その後、第L番目の中間姿勢における第2の干渉禁止領域に基づくリンク間の干渉判定処理が行われる(S624)。この干渉判定処理は、図12の干渉判定処理(S55)と略同一であるので説明は省略する。
第L番目の中間姿勢につき、干渉判定処理(S624)が行われると、Lが所定値であるか否かを判定する処理が行われる(S625)。判定処理の結果、Lが所定値未満であると判定される場合には(S625NO)、Lを1だけインクリメントし、次の中間姿勢について一連の処理(S623〜S625)が行われる。一方、判定処理の結果、Lが所定値である場合(S625YES)、処理は終了する。
図16に戻り、自己干渉判定処理(S62)が終了すると、干渉フラグに基づき、いずれかの中間姿勢又は最終姿勢において干渉があるか否かの判定処理が行われる(S63)。いずれの中間姿勢又は最終姿勢においても干渉が無いと判定される場合(S63NO)、コントローラユニット7への目標関節角度の送信処理が行われる(S8)。一方、いずれかの中間姿勢又は最終姿勢において干渉が有ると判定される場合(S63YES)、コントローラユニット7への目標関節角度の送信処理は行われず処理は終了する。
本実施形態によれば、現在姿勢から目標姿勢へと移行する中間姿勢においても自己干渉の有無を判定するので、より確実に、ロボット8における自己衝突の危険を低減させることができると共にフェールセーフ処理が行われる頻度を低減させることができる。
(3.第3の実施形態)
第1の実施形態においては、各関節の目標関節角度に基づいて、干渉判定の対象となる第2の干渉禁止領域を算出したが、本実施形態では、干渉判定の対象となる第2の干渉禁止領域の一方を現在角度に基づいて算出する。
図19は、本実施形態に係るマスタ・スレーブ制御システム100の機能ブロック図である。なお、本実施形態に係るマスタ・スレーブ制御システム100の構成は、図19を除いては、第1の実施形態と略同一であるのでここでは説明を省略する(図1〜図4参照)。また、同一又は略同一の機能を果たすブロックには同一の符号が付されていることに留意されたい。
同図から明らかな通り、本実施形態は、第1の実施形態と略同一の構成を有するものの、コントローラユニット通信部54からの現在関節角度が、関節角度監視部56のみならず指令値提供判定処理部531へと提供されている点において相違する。
スレーブ側情報処理装置5の動作について説明する。本実施形態においても、図5〜図15に示したのと同様に、スレーブ側情報処理装置5において、第1の干渉禁止領域に基づく干渉判定、フェールセーフ処理、第2の干渉禁止領域に基づく干渉判定及び目標関節角度の送信処理が行われる。しかしながら、本実施形態においては、目標関節角度に基づく第2の干渉禁止領域の算出(S53)と合わせて、提供された現在関節角度に基づいて、第2の干渉禁止領域の算出が行われる。そして、目標関節角度に基づく第2の干渉禁止領域と現在関節角度に基づく第2の干渉禁止領域との間で干渉の有無が判定される。その結果、干渉無しと判定される場合には、目標関節角度のロボット8への送信処理が行われ、干渉有りと判定される場合には、目標関節角度のロボット8への送信処理は行われない。
このような構成によれば、目標関節角度を用いるので、未然にスレーブロボットにおける自己衝突や意図しないフェールセーフ処理の適用を防止することができる。また、現在関節角度と目標関節角度とを併用することから、素早いユーザの動きなどによりスレーブロボットが十分に追従できない場合であっても、違和感なく自己衝突の危険を低減させることができると共に、フェールセーフ処理が行われる頻度を低減させることができる。
(4.変形例)
上述の実施形態においては、第2の干渉禁止領域同士の干渉判定結果に基づいて、目標関節角度を送信するか否かを判定していたが、本発明はこのような構成に限定されない。従って、例えば、いずれかを一方を第2の干渉禁止領域とし、他方は、ロボットの筐体領域又は第1の干渉禁止領域としてもよい。
本発明は、少なくともマスタ・スレーブ制御システム等を製造する産業において利用可能である。
1 マスタシステム1
2 モーションセンサ
3 マスタ側情報処理装置
4 スレーブシステム
5 スレーブ側情報処理装置
7 コントローラユニット
8 ロボット
89 ロボット(従来図)
21 頭部用IMUセンサ
22 背面用IMUセンサ
23 上腕用IMUセンサ
24 前腕用IMUセンサ
25 甲用IMUセンサ
81 頭部
811 頭部第1関節駆動モータ
812 頭部第2関節駆動モータ
82 胴部
821 胴部第1関節駆動モータ
822 胴部第2関節駆動モータ
85 腕部
851 腕部第1関節駆動モータ
852 腕部第2関節駆動モータ
853 腕部第3関節駆動モータ
854 腕部第4関節駆動モータ
855 腕部第5関節駆動モータ
856 腕部第6関節駆動モータ
857 腕部第7関節駆動モータ
100 マスタ・スレーブ制御システム
200 第2の干渉禁止領域
300 第1の干渉禁止領域

Claims (14)

  1. マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御システムであって、
    前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定部と、
    前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供部と、
    前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定部と、
    前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供部と、
    を備えたロボット制御システム。
  2. 前記第2干渉判定部において干渉判定される、前記一のリンクに係る前記第2の空間領域、又は、前記他のいずれかのリンク、当該リンクに関する第1の空間領域若しくは第2の空間領域のいずれか一方は、目標関節角度に基づいて算出され、他方は、前記スレーブロボットの各前記関節における現在関節角度に基づいて算出される、請求項1に記載のロボット制御システム。
  3. 前記第2干渉判定部において干渉判定される、前記一のリンクに係る前記第2の空間領域、又は、前記他のいずれかのリンク、当該リンクに関する第1の空間領域若しくは第2の空間領域のいずれも、前記目標関節角度に基づいて算出される、請求項1に記載のロボット制御システム。
  4. 前記ロボット制御システムは、さらに、
    現在の前記関節角度から前記目標関節角度へと至る過程の一又は複数の中間姿勢における中間姿勢関節角度を生成する、中間関節角度生成部を備え、
    前記第2干渉判定部は、さらに、
    前記中間姿勢関節角度のそれぞれに基づいて、前記リンクのうちの一のリンクに関する第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、中間姿勢判定部と、を備える、請求項1に記載のロボット制御システム。
  5. 前記第1干渉判定部における前記判定は、前記リンク又は前記リンクに関する第1の空間領域に対応する3次元モデル同士の干渉判定を行うことにより行われる、請求項1に記載のロボット制御システム。
  6. 前記第1干渉判定部は、さらに、
    判定対象となる前記リンク又は前記リンクに関する第1の空間領域に対応する境界ボリューム同士の干渉を判定する、第1境界ボリューム判定部と、
    前記第1境界ボリューム判定部において干渉有りと判断された場合に、前記リンク又は前記リンクに関する第1の空間領域の表面間の干渉を判定する、第1表面干渉判定部と、
    を備える、請求項5に記載のロボット制御システム。
  7. 前記第2干渉判定部における前記判定は、前記リンク、前記リンクに関する第1の空間領域又は第2の空間領域に対応する3次元モデル同士の干渉判定を行うことにより行われる、請求項1に記載のロボット制御システム。
  8. 前記第2干渉判定部は、
    判定対象となる前記リンク、前記リンクに関する第1の空間領域又は第2の空間領域に対応する境界ボリューム同士の干渉を判定する、第2境界ボリューム判定部と、
    前記第2境界ボリューム判定部において干渉有りと判断された場合に、前記リンク、前記リンクに関する第1の空間領域又は前記第2の空間領域の表面間の干渉を判定する、第2表面干渉判定部と、を備える、請求項7に記載のロボット制御システム。
  9. 前記第1境界ボリューム判定部又は前記第2境界ボリューム判定部における判定は、AABB法(Axis−Aligned Bounding Box法)により行われる、請求項6又は8に記載のロボット制御システム。
  10. 前記ロボット制御システムは、さらに、
    前記ユーザ姿勢に関するセンサ情報を前記スレーブロボットの関節角度へと変換するための変換情報を記憶する変換情報記憶部と、
    前記変換情報と逆運動学に基づいて、前記ユーザ姿勢を、対応する前記スレーブロボットの各前記関節における目標関節角度へと変換する、変換部と、を備える請求項1に記載のロボット制御システム。
  11. 前記第1干渉判定部及び前記第2干渉判定部は、隣り合うリンクの間では干渉判定を行わない、請求項1に記載のロボット制御システム。
  12. マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御装置であって、
    前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定部と、
    前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供部と、
    前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定部と、
    前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供部と、
    を備えたロボット制御装置。
  13. マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御方法であって、
    前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定ステップと、
    前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供ステップと、
    前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定ステップと、
    前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供ステップと、
    を備えたロボット制御方法。
  14. マスタ装置を介して取得されたユーザ姿勢に追従し、かつ、1又は複数の関節と複数のリンクを備えたスレーブロボットを制御するロボット制御プログラムであって、
    前記スレーブロボットの前記リンクのうちの一のリンクを包含するように構成された第1の空間領域が、他のいずれかのリンク又は当該リンクに関する第1の空間領域に干渉するか否かを判定する、第1干渉判定ステップと、
    前記第1干渉判定部において干渉有りと判定される場合には、前記スレーブロボットの動作制御部へとフェールセーフ信号を提供する、フェールセーフ信号提供ステップと、
    前記リンクのうちの一のリンクを包含しかつ対応する第1の空間領域と一致するか又は包含するように構成された第2の空間領域が、他のいずれかのリンク、当該リンクに関する第1の空間領域又は第2の空間領域に干渉するか否かを判定する、第2干渉判定ステップと、
    前記第2干渉判定部において干渉無しと判定される場合には、前記ユーザ姿勢に対応する前記スレーブロボットの各前記関節における目標関節角度を前記スレーブロボットの前記動作制御部へと提供し、前記第2干渉判定部において干渉有りと判定される場合には、前記目標関節角度を前記スレーブロボットの前記動作制御部へと提供しない、目標関節角度提供ステップと、
    を備えたロボット制御プログラム。
JP2019134802A 2019-07-22 2019-07-22 ロボット制御システム、装置、方法及びプログラム Active JP7357902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019134802A JP7357902B2 (ja) 2019-07-22 2019-07-22 ロボット制御システム、装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019134802A JP7357902B2 (ja) 2019-07-22 2019-07-22 ロボット制御システム、装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2021016924A true JP2021016924A (ja) 2021-02-15
JP7357902B2 JP7357902B2 (ja) 2023-10-10

Family

ID=74565740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134802A Active JP7357902B2 (ja) 2019-07-22 2019-07-22 ロボット制御システム、装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7357902B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023119657A1 (ja) * 2021-12-24 2023-06-29 日本電信電話株式会社 接触対象推定装置、方法およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5973289A (ja) * 1982-10-15 1984-04-25 松下電器産業株式会社 多関節ロボツトの制御方法
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
WO2018148181A1 (en) * 2017-02-07 2018-08-16 Veo Robotics, Inc. Workspace safety monitoring and equipment control

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212226A1 (ja) 2017-05-17 2018-11-22 Telexistence株式会社 制御装置、ロボット制御方法及びロボット制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5973289A (ja) * 1982-10-15 1984-04-25 松下電器産業株式会社 多関節ロボツトの制御方法
JP2005046931A (ja) * 2003-07-30 2005-02-24 National Institute Of Information & Communication Technology ロボットアーム・ハンド操作制御方法、ロボットアーム・ハンド操作制御システム
WO2018148181A1 (en) * 2017-02-07 2018-08-16 Veo Robotics, Inc. Workspace safety monitoring and equipment control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023119657A1 (ja) * 2021-12-24 2023-06-29 日本電信電話株式会社 接触対象推定装置、方法およびプログラム

Also Published As

Publication number Publication date
JP7357902B2 (ja) 2023-10-10

Similar Documents

Publication Publication Date Title
CN106239516B (zh) 机器人控制装置、机器人以及机器人系统
US8977392B2 (en) Robot control device, robot control method, robot control program, and robot system
US11370105B2 (en) Robot system and method for operating same
JP5547626B2 (ja) 7軸多関節ロボットの制御装置および教示方法
EP2660013B1 (en) Method of controlling seven-shaft multi-joint robot, control program, and robot control device
CN108972568B (zh) 显示用于机器人的示教的信息的机器人系统
JP6746902B2 (ja) 作業者用頭部装着型ディスプレイの情報表示システム
JP2018008347A (ja) ロボットシステムおよび動作領域表示方法
JP5108032B2 (ja) 多関節構造体教示装置
JP5927270B2 (ja) ロボットシミュレーション装置
JP2021016924A (ja) ロボット制御システム、装置、方法及びプログラム
JP2015174184A (ja) 制御装置
JP7260405B2 (ja) オフラインプログラミング装置、ロボット制御装置および拡張現実システム
CN112894820A (zh) 柔性机械臂遥操作人机交互装置及系统
Gienger et al. Exploiting task intervals for whole body robot control
CN114683288B (zh) 机器人展示和控制方法、装置及电子设备
US20220101477A1 (en) Visual Interface And Communications Techniques For Use With Robots
CN112043396B (zh) 手术机器人及其图形化控制装置、图形化显示方法
WO2023203635A1 (ja) ロボット装置の動作状態を算出するシミュレーション装置
JP2024023104A (ja) ロボット制御システム、装置、方法及びプログラム
US20230001567A1 (en) Teaching Support Device
WO2023037550A1 (ja) ロボット、ロボットシステム、制御方法及びプログラム
JP7462046B2 (ja) ロボットシステム
KR102170592B1 (ko) 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법
CN214025709U (zh) 一种直观的工业机器人仿真系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230731

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230920

R150 Certificate of patent or registration of utility model

Ref document number: 7357902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150