JP5250858B2 - 複数ロボットの衝突検知方法及びロボット装置 - Google Patents

複数ロボットの衝突検知方法及びロボット装置 Download PDF

Info

Publication number
JP5250858B2
JP5250858B2 JP2007123612A JP2007123612A JP5250858B2 JP 5250858 B2 JP5250858 B2 JP 5250858B2 JP 2007123612 A JP2007123612 A JP 2007123612A JP 2007123612 A JP2007123612 A JP 2007123612A JP 5250858 B2 JP5250858 B2 JP 5250858B2
Authority
JP
Japan
Prior art keywords
sphere
spheres
link
links
robot
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.)
Active
Application number
JP2007123612A
Other languages
English (en)
Other versions
JP2008279524A (ja
Inventor
正和 藤井
弘記 村上
一弘 小菅
文美 瀬戸
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.)
Tohoku University NUC
IHI Corp
Original Assignee
Tohoku University NUC
IHI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tohoku University NUC, IHI Corp filed Critical Tohoku University NUC
Priority to JP2007123612A priority Critical patent/JP5250858B2/ja
Publication of JP2008279524A publication Critical patent/JP2008279524A/ja
Application granted granted Critical
Publication of JP5250858B2 publication Critical patent/JP5250858B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、互いの動作領域内で動作する複数のロボットマニピュレータ間の衝突を事前に検出するための複数ロボットの衝突検知方法に関し、また、複数のロボットマニピュレータを有しこれらロボットマニピュレータ間の衝突を事前に検出するようになされたロボット装置に関する。
従来、互いの動作領域内で動作する複数のロボットマニピュレータを制御するにあたっては、各ロボットマニピュレータ間の衝突や障害物への衝突を防止するため、各ロボットマニピュレータが他のロボットマニピュレータや障害物に衝突しないように、一のロボットマニピュレータの動作中には、他のロボットマニピュレータがその動作領域に入らないように教示したり、あるいは、衝突しないような教示を行っている。
また、特許文献1には、1台のロボットマニピュレータが障害物と衝突するかどうかを調べるため、ロボットマニピュレータの各リンクを直方体、円筒、または、球体で近似し、これら近似形状と障害物とが接触するかどうかの計算を行う方法が記載されている。
そして、特許文献2には、2台のロボットマニピュレータが互いに衝突するかどうかを調べるため、ロボットマニピュレータの各リンクを三次元サーフェスモデル(複数の平面で囲まれた多面体)で近似し、面同士の距離を計算・保持して接触判定を行う方法が記載されている。
さらに、特許文献3には、人間の腕の形状に構成された2台のロボットマニピュレータが互いに衝突するかどうかを調べるため、上腕部及び下腕部をそれぞれ円筒で近似し、手先を球体で近似して、1台のロボットマニピュレータをこれら3つの形状で近似し、3×3=9通りのそれぞれについて距離計算を行い、接触の有無を判定する条件を求める方法が記載されている。
特開平1−224811号公報 特開平6−315886号公報 特開平6−226666号公報
ところで、複数ロボットマニピュレータを互いの動作領域内に配置する場合には、これら各ロボットマニピュレータが協調して動作することが予定されている場合が多い。したがって、従来のロボットマニピュレータの制御のように、各ロボットマニピュレータを互いに干渉しない範囲で動作させるのでは、予定した動作が実行できないことになる。また、各ロボットマニピュレータが互いに衝突しないように教示をすることは困難であり、教示中の操作ミスによって衝突してしまう虞もある。
特許文献1に記載された技術は、1台のロボットマニピュレータを制御するための技術であり、また、各リンクを直方体(面)や円筒などによって近似することは、各形状の方向を考慮する必要があるため、距離計算のための演算量が多く、迅速な判断が行えない。
特許文献2に記載された技術は、2台のロボットマニピュレータを制御するための技術であるが、多数の面同士の距離計算を行わなければならず、面の方向も考慮する必要があるため、距離計算のための演算量が多く、迅速な判断が行えない。さらに、容量の大きな記憶装置が必要となり、サーフェスの定義が難しいという問題もある。
特許文献3に記載された技術は、適用対象を人型ロボットなど人間の両腕を模したロボットマニピュレータに限定した技術であるため、リンクの形状が大きな凹凸やオフセットを含むものであって人間の腕の形状からはずれた形状である場合には、不必要に大きな円筒で覆った状態に近似せざるを得ないため保守的になりすぎ、また、近傍に障害物がある場合や、ロボットマニピュレータの台数やリンク数が増えた場合への適用は困難である。さらに、円筒同士の距離計算は、円筒の方向を考慮する必要があるため、演算量が多く、迅速な判断が行えない。
そこで、本発明は、前記の実情に鑑みてなされたものであり、その目的は、ロボットマニピュレータの台数やリンク数に拘わらず、また、リンクの形状に拘わらず、容易、かつ、迅速な演算によってリンク同士及び障害物との衝突の有無を事前に検出でき、各ロボットマニピュレータの協調した動作を実現することができる複数ロボットの衝突検知方法及びロボット装置を提供することにある。
前述の課題を解決し、前記目的を達成するため、本発明に係る複数ロボットの衝突検知方法は、以下の構成のいずれか一を有するものである。
〔構成1〕
それぞれが複数のリンクにより構成された複数のロボットマニピュレータを制御するにあたり、各リンクについて、外形を包絡する複数の球体を設定し、各リンクの動作に応じて、各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出し、ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、ロボットマニピュレータがワークを把持していないときには、手先位置の球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士が衝突するか否かの判断を行い、ロボットマニピュレータがワークを把持したときには、手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体によりワークの外形を包絡させ、この球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士及びワークが衝突するか否かの判断を行うことを特徴とするものである。
〔構成
構成1を有する複数ロボットの衝突検知方法において、ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、各球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士、ワーク及び障害物が衝突するか否かの判断を行うことを特徴とするものである。
また、本発明に係るロボット装置は、以下の構成のいずれか一を有するものである。
〔構成3〕
それぞれが複数のリンクにより構成された複数のロボットマニピュレータと、各ロボットマニピュレータを制御する制御手段とを備え、制御手段は、各リンクを動作させるとともに、各リンクについて外形を包絡する複数の球体を設定し、各リンクの動作に応じて各リンクについて設定された各球体の中心間距離の変化を計算し、ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、ロボットマニピュレータがワークを把持させていないときには、手先位置の球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士が衝突するか否かの判断を行い、ロボットマニピュレータにワークを把持させたときには、手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体によりワークの外形を包絡させ、この球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士及びワークが衝突するか否かの判断を行うことを特徴とするものである。
〔構成
構成を有するロボット装置において、制御手段は、ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、各球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士、ワーク及び障害物が衝突するか否かの判断を行うことを特徴とするものである。
本発明に係る複数ロボットの衝突検知方法においては、構成1を有することにより、それぞれが複数のリンクにより構成された複数のロボットマニピュレータを制御するにあたり、各リンクについて、外形を包絡する複数の球体を設定し、各リンクの動作に応じて、各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出し、ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、ロボットマニピュレータがワークを把持していないときには、手先位置の球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士が衝突するか否かの判断を行い、ロボットマニピュレータがワークを把持したときには、手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体によりワークの外形を包絡させ、この球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士及びワークが衝突するか否かの判断を行うので、ロボットマニピュレータの台数やリンク数に拘わらず、また、リンクの形状に拘わらず、容易、かつ、迅速な演算によってリンク同士の衝突の有無を事前に検出でき、各ロボットマニピュレータの協調した動作を実現することができ、また、容易、かつ、迅速な演算によって、リンク同士及びワークとの衝突の有無を事前に検出することができる。
本発明に係る複数ロボットの衝突検知方法においては、構成を有することにより、ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、各球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士、ワーク及び障害物が衝突するか否かの判断を行うので、容易、かつ、迅速な演算によって、リンク同士、ワーク及び障害物との衝突の有無を事前に検出することができる。
本発明に係るロボット装置においては、構成3を有することにより、制御手段は、各リンクを動作させるとともに、各リンクについて外形を包絡する複数の球体を設定し、各リンクの動作に応じて各リンクについて設定された各球体の中心間距離の変化を計算し、ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、ロボットマニピュレータがワークを把持させていないときには、手先位置の球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士が衝突するか否かの判断を行い、ロボットマニピュレータにワークを把持させたときには、手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体によりワークの外形を包絡させ、この球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士及びワークが衝突するか否かの判断を行うので、容易、かつ、迅速な演算によって、リンク同士及びワークとの衝突の有無を事前に検出することができる。
本発明に係るロボット装置においては、構成を有することにより、制御手段は、ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、各球体及び各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士、ワーク及び障害物が衝突するか否かの判断を行うので、容易、かつ、迅速な演算によって、リンク同士、ワーク及び障害物との衝突の有無を事前に検出することができる。
すなわち、本発明は、ロボットマニピュレータの台数やリンク数に拘わらず、また、リンクの形状に拘わらず、容易、かつ、迅速な演算によってリンク同士及び障害物との衝突の有無を事前に検出でき、各ロボットマニピュレータの協調した動作を実現することができる複数ロボットの衝突検知方法及びロボット装置を提供することができるものである。
以下、本発明を実施するための最良の形態について図面を参照して説明する。
〔ロボット装置の構成〕
図1は、本発明に係るロボット装置の構成を示す模式的な斜視図である。
本発明に係るロボット装置は、図1に示すように、複数のロボットマニピュレータ1,2を有し、これらロボットマニピュレータ1,2が互いの動作領域内に干渉して配置することが可能となされているものである。
各ロボットマニピュレータ1,2は、それぞれ、複数のアクチュエータ(駆動装置)とリンク(剛体の構造物)とによって構成されている。各リンク間は、回動(屈曲)可能、または、伸縮(並進)可能な関節、あるいは、旋回可能な関節3を介して接続されており、それぞれアクチュエータによって相対駆動されるようになっている。各アクチュエータは、制御手段によって制御される。
各ロボットマニピュレータ1,2において、第1のリンク(基端部のリンク)1a,2aは、作業台101上に固定されており、この第1のリンク1a,2aに、第2のリンク1b,2bが接続されている。第2のリンク1b,2bには第3のリンク1c,2cが接続され、第3のリンク1c,2cには第4のリンク1d,2dが接続され、このようにして、順次、各リンクが接続されている。先端部のリンクの先端側(以下、「手先」という。)には、ワーク102を把持する把持機構4が設けられている。この把持機構4も、制御手段によって制御される。
これらロボットマニピュレータ1,2においては、第1のリンク1a,2aに対する第2のリンク1b,2bの位置、第2のリンク1b,2bに対する第3のリンク1c,2cの位置、第3のリンク1c,2cに対する第4のリンク1d,2dの位置と、順次先端側のリンクの位置を制御してゆくことにより、手先の位置を制御することができ、この手先において把持機構4によって把持したワークの位置を制御することができる。
図2は、ロボットマニピュレータを構成する各リンクについて設定された外形を包絡する複数の球体を示す側面図である。
そして、このロボット装置においては、本発明に係る複数ロボットの衝突検知方法が実施される。すなわち、このロボット装置においては、図2に示すように、制御手段により、ロボットマニピュレータ1,2を構成する各リンク1a,2a,1b,2b・・・について、外形を包絡する複数の球体5a,5b,5c・・・5nが設定される。このように球体5a,5b,5c・・・5nを設定することにより、各リンク1a,2a,1b,2b・・・の動作に応じて各リンクについて設定した各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク1a,2a,1b,2b・・・同士が衝突するか否かの判断を行うことができる。
球体5a,5b,5c・・・5nの数、位置及び半径等は、これら球体によってどの程度正確にリンク1a,2a,1b,2b・・・の形状を近似するか、また、安全余裕をどの程度にするかに応じて決定する。図2中の(b)に示すように、1つのリンクに対して球体の数を増やすほど、図2中の(a)に示す球体の数が少ない場合に比較して、正確にリンクの形状を近似することができる。ただし、球体の数を増やすほど、各球体の中心間距離を求めるための計算量は増加する。
図3は、6自由度のロボットマニピュレータの構成及び各リンクについて設定された外形を包絡する複数の球体を示す側面図である。
例えば、このロボット装置のロボットマニピュレータが、図3中の(a)に示すように、6自由度のロボットマニピュレータである場合には、図3中の(b)に示すように、このロボットマニピュレータの各リンクa,b,c,d,e,f,gについて、前述のように複数の球体5を設定することによって、ロボットマニピュレータの全体について、複数の球体5によって近似することができる。
このロボット装置においては、各ロボットマニピュレータ1,2についてこのような球体の設定を行うとともに、ロボット装置の近傍に存在する障害物についても、球体の設定を行うようにしてもよい。すなわち、ロボット装置の近傍に位置する障害物について、各種センサによる検出結果や予め与えられた情報に基づいて位置情報を得て、この障害物の外形を包絡する複数の球体を設定する。
そして、ロボットマニピュレータの各リンクの動作に応じて各リンクについて設定した各球体及び障害物について設定した各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、各リンク同士及び各リンクと障害物とが衝突するか否かの判断を行うことができる。
すなわち、ロボットマニピュレータの制御中に、リアルタイムで各球体の中心間の距離を計算し、この距離が2つの球体の半径の和を下回った場合には、球体同士が干渉しリンク同士、または、リンクと障害物とが接触したと判断する。各球体は、ロボットマニピュレータの各リンク及び障害物の外形を覆うとともに、ある程度の余裕量を持つように、位置及び大きさが設定されているので、球体同士が干渉しなければ、リンク同士及びリンクと障害物とは、衝突していないと判断することができる。
図4は、設定された球体の中心間の距離の求め方を説明する図である。
設定された球体の中心間の距離を求めるにあたり、例えば、図4に示すように、半径r1の球体S1及び半径r2の球体S2について、S1の中心位置を(px1、py1、pz1)、S2の中心位置を(px2、py2、pz2)とし、これら2つの球体の中心間の距離をRとする。この場合、以下の(式1)が成立する。
=(px1−px2)+(py1−py2)+(pz1−pz2)・・(式1)
したがって、これら2つの球体が干渉しているかどうかは、以下の(式2)が満足されるかどうかによって確認することができる。
<(r1+r2) ・・・(式2)
この処理をすべての球体の組合せについて行うことによって、各球体間の干渉の有無を判断することができる。このようにロボットマニピュレータの各リンクについて球体を設定することによって、球体の中心間距離の計算のみによって、球体同士の干渉の有無により、各リンクの衝突の有無の判断を行うことができる。すなわち、各リンクを円筒や平面を用いて表現した場合に比較して、方向(法線)や端点処理が不要となり、簡単な計算によって判断することができる。
ただし、同一のリンクについて設定された球体同士は、それぞれの半径を下回って配置されていても、接触と判断すべきではない。そこで、以下の方策に従い、衝突確認を行う必要がない球体の組を決定しておくことにより、必要な計算量を減らすことができる。
図5は、ロボットマニピュレータの所定のリンクの構成を示す側面図である。
このロボット装置においては、図5に示すように、セグメントを定義する。このセグメントは、一の屈曲(回転)または並進関節から、ロボットマニピュレータの先端側への次の屈曲(回転)または並進関節までの間の部分をいう。一の屈曲(回転)または並進関節は、次の屈曲(回転)または並進関節の位置を変化させる機能を有する。ここで、セグメントの定義においては、旋回関節(次の関節をその場で回転させるだけで次の関節の位置を変えない関節)は、除外して考える。すなわち、旋回関節で接続された複数のリンクは、同一のセグメントとなる。
したがって、図5に示すように、屈曲関節q1から屈曲関節q3までのリンクL1及びリンクL2が、同一のセグメントSG1と定義される。リンクL1及びリンクL2は、旋回関節q2によって接続されている。
このロボット装置において、各リンクについて設定される球体は、そのリンクが属するセグメント上に設定されていることになる。なお、障害物についても、1つ、または、2つ以上のセグメントとして定義し、球体を設定する。同一のセグメント上では、球体同士が干渉していても衝突が生じているわけではないので、同一のセグメント上の球体同士では、干渉が生じているかどうかの判別を行う必要がない。
また、このロボット装置においては、衝突が生じ得ない2つのセグメント上に設定された球体同士は、干渉が生じているかどうかの判別を行う必要がない。
図6は、接触が生じ得ないセグメントを示す側面図である。
このロボット装置において、接触が生じ得ないセグメントとは、図6に示すように、屈曲(回転)または並進関節qを介して隣り合ったセグメントである。すなわち、図6における「セグメント1」及び「セグメント2」、「セグメント2」及び「セグメント3」、そして、「セグメント4」及び「セグメント5」は、屈曲(回転)または並進関節qによって接続されているため、屈曲(回転)または並進関節qの可動範囲を制限したり制御することによって互いの接触を回避することができ、これら2つのセグメント上に設定された球体同士について干渉が生じているかどうかの判別を行う必要がない。
また、物理的に距離が離れており、互いの可動範囲内にないセグメント、すなわち、図6における「セグメント2」及び「セグメント4」は、可動範囲内でどのように駆動されても接触が生じ得ないので、これら2つのセグメント上に設定された球体同士について干渉が生じているかどうかの判別を行う必要がない。
さらに、作業台101上に固定された2つのセグメント、すなわち、図6における「セグメント1」及び「セグメント4」は、移動されることがなく接触が生じ得ないので、これら2つのセグメント上に設定された球体同士について干渉が生じているかどうかの判別を行う必要がない。
ところで、セグメント上に設定された複数の球体の位置を算出するには、一般的なロボットマニピュレータの制御中に得られる順運動学の結果を用いることができる。ある関節の基準座標に対する位置及び姿勢は、一般的な順運動学により、以下の(式3)、すなわち、4×4の同次変換行列によって表現することができる。
Figure 0005250858
・・・(式3)
ここで、(x、y、z)は、その関節における座標系を表す互いに直交した単位3次元ベクトルであり、その関節の姿勢を表す。pは、基準座標におけるその関節の位置を表す3次元ベクトルである。これらの値は、順運動学により、手先の位置及び姿勢を計算する過程で得られるものである。この関節から、この関節における座標系の(x、y、z)軸方向にそれぞれ(lx、ly、lz)移動した点の座標p′は、以下の(式4)で示すことができる。
p′=p+lx・x+ly・y+lz・z ・・・(式4)
再び、図5に示した例を考えると、屈曲関節q1の中心位置をp1、p1における座標、すなわち、リンクL1の姿勢を(x1、y1、z1)とし、旋回関節q2の中心位置をp2、p2における座標、すなわち、リンクL2の姿勢を(x2、y2、z2)とすると、これらの値は、順運動学を計算する過程で求められる。
屈曲関節q1からリンクL1の長手方向、すなわち、z1方向に長さl1z離れた位置に球体の中心S1がある場合には、S1の位置は、以下の(式5)によって示される。
S1=p1+l1z・z1 ・・・(式5)
同様に、旋回関節q2からリンクL2の長手方向、すなわち、z2方向に長さl2z離れ、y2方向に長さl2y離れた位置に球体の中心S2がある場合には、S2の位置は、以下の(式6)によって示される。
S2=p2+l2z・z2+l2y・y2 ・・・(式6)
このように、このロボット装置においては、一般的なロボットマニピュレータの制御の途中で計算されている結果を用いて球体の位置を求めることができるので、球体の位置計算のために生ずる計算量の増加は、微小なものである。
図7は、ワークの取り扱いを示す側面図である。
このロボット装置において、図7に示すように、ロボットマニピュレータの把持機構4がワーク102を把持するときに、図7中(a)に示すように、ワーク102を把持する前には衝突が生じなかった動作でも、図7中(b)に示すように、ワーク102を把持した後には、衝突が生じることがある。このような場合には、ワーク102についても球体を設定しておくことにより、ワーク102も含めた接触検知を行うことができる。
この場合、把持機構4がワーク102を把持した状態に応じて、セグメントに対する球体の設定の追加及び除去を動的に行ってもよいが、把持機構4の位置に半径ゼロ、または、負の値の半径の球体WSを予め設定しておき、把持機構4がワーク102を把持したときには、把持機構4の位置の球体WSの半径を拡大させつつ位置を移動することで、この球体WSによりワーク102の外形を包絡させるようにしてもよい。このような扱いとすることにより、処理が容易になる。
図7中(a)に示すように、把持機構4の位置の球体WSの半径をゼロ、または、負の値としておくことにより、他の任意の球体との干渉の有無の判定を行っても、干渉が検知されることはない。ワーク102を把持したときには、図7中(b)に示すように、球体WSの半径をrwに拡大させるとともに、オフセットLOwを与えて球体WSを移動させることにより、ワーク102の外形を包絡させる。この状態において、球体WSに干渉する可能性がある他の球体との干渉の有無の判別を行うことができる。把持機構4がワーク102を解放したときには、再び、球体WSの半径をゼロ、または、負の値にし、位置を手先位置などの基準位置に戻す。
なお、球体WSの半径rw及びオフセットLOwは、ワーク102の形状及び大きさに応じて予め設定しておき、動作情報などに基づいて、取得するようにすることができる。
本発明に係るロボット装置においては、各セグメント上、または、ワーク102上に設定される各球体の半径は、各リンクの動作速度に応じて、動的に変化させるようにしてもよい。例えば、リンクの動作速度が速い場合には、このリンクが属するセグメント上に設定される各球体の半径を拡大することにより、このリンクが他のリンクに衝突することをより確実に防止することができる。また、リンクの動作速度が遅い場合には、このリンクが属するセグメント上に設定される各球体の半径を縮小することにより、このリンクが他のリンクに衝突することを防止しつつ、このリンクの可動範囲を広くすることができる。
図8は、本発明に係るロボット装置の制御フローチャートである。
このロボット装置においては、図8に示すように、事前の処理、設計として、ステップst1でロボットマニピュレータの各リンクについて球体を設定し(リンクの近似)、ステップst2で障害物について球体を設定し(障害物の近似)、ステップst3でワークについて球体を設定し(ワークの近似)、ワークの形状及び大きさに応じた球体の半径及びオフセットも設定しておく。さらに、ステップst4で、セグメントの設定(分類)を行っておく。
そして、ロボット装置の動作が開始されると、オンライン制御中の処理に入り、ステップst5で任意の2つのセグメントを選択し、ステップst6で、これらセグメントが接触する可能性があるかを判別する。接触する可能性がなければ、ステップst5に戻り、他の2つのセグメントを選択して、ステップst6に進む。ステップst6で、2つのセグメントが接触する可能性があれば、ステップst7に進み、接触する可能性のある2つのセグメント上に設定された球体から、各1つの球体を選択し、ステップst8に進む。
ステップst8では、接触する可能性のある2つのセグメント上に設定された球体の全てについて干渉の有無が判別されたかを判断し、全ての球体について判別されていれば、ステップst5に戻り、全ての球体について判別されていなければ、ステップst9に進む。
ステップst9では、選択された2つの球体について、中心間の距離を計算し、ステップst10に進み、球体の中心間距離がこれら球体の半径の合計よりも小さいかどうかを判別する。球体の中心間距離が半径の合計よりも大きければ、ステップst7に戻り、球体の中心間距離が半径の合計よりも小さければ、ステップst11に進む。ステップst11では、ステップst10で選択されていた2つの球体に対応するリンク同士、リンクと障害物、または、ワークと障害物の衝突が生ずることを判別して、ロボットマニピュレータの動作を停止させるなどの所定の処理を行う。
本発明に係るロボット装置の構成を示す模式的な斜視図である。 本発明に係るロボット装置においてロボットマニピュレータを構成する各リンクについて設定された外形を包絡する複数の球体を示す側面図である。 本発明に係るロボット装置におけるロボットマニピュレータの例である6自由度のロボットマニピュレータの構成及び各リンクについて設定された外形を包絡する複数の球体を示す側面図である。 本発明に係るロボット装置における設定された各球体の中心間の距離の求め方を説明する図である。 本発明に係るロボット装置におけるロボットマニピュレータの所定のリンクの構成を示す側面図である。 本発明に係るロボット装置において接触が生じ得ないセグメントを示す側面図である。 本発明に係るロボット装置におけるワークの取り扱いを示す側面図である。 本発明に係るロボット装置の制御フローチャートである。
符号の説明
1,2 ロボットマニピュレータ
3 関節
4 把持部
5 球体
101 作業台
102 ワーク

Claims (4)

  1. それぞれが複数のリンクにより構成された複数のロボットマニピュレータを制御するにあたり、
    前記各リンクについて、外形を包絡する複数の球体を設定し、
    前記各リンクの動作に応じて、前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出し、
    前記ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、前記ロボットマニピュレータがワークを把持していないときには、前記手先位置の球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士が衝突するか否かの判断を行い、前記ロボットマニピュレータがワークを把持したときには、前記手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体により前記ワークの外形を包絡させ、この球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士及び前記ワークが衝突するか否かの判断を行う
    ことを特徴とする複数ロボットの衝突検知方法。
  2. 前記ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、
    前記各球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士、前記ワーク及び前記障害物が衝突するか否かの判断を行う
    ことを特徴とする請求項1記載の複数ロボットの衝突検知方法。
  3. それぞれが複数のリンクにより構成された複数のロボットマニピュレータと、
    前記各ロボットマニピュレータを制御する制御手段と
    を備え、
    前記制御手段は、前記各リンクを動作させるとともに、前記各リンクについて外形を包絡する複数の球体を設定し、前記各リンクの動作に応じて各リンクについて設定された各球体の中心間距離の変化を計算し、前記ロボットマニピュレータの手先位置に半径ゼロの球体を予め設定しておき、前記ロボットマニピュレータがワークを把持させていないときには、前記手先位置の球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士が衝突するか否かの判断を行い、前記ロボットマニピュレータにワークを把持させたときには、前記手先位置の球体の半径を拡大させ、または位置の変更と半径の拡大の両方を行うことによって、この球体により前記ワークの外形を包絡させ、この球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士及び前記ワークが衝突するか否かの判断を行う
    ことを特徴とするロボット装置。
  4. 前記ロボットマニピュレータの近傍の障害物の位置情報を得て、この障害物の外形を包絡する複数の球体を設定し、
    前記各球体及び前記各リンクについて設定された各球体の中心間距離の変化を計算し、各球体同士の干渉を検出することによって、前記各リンク同士、前記ワーク及び前記障害物が衝突するか否かの判断を行う
    ことを特徴とする請求項3記載のロボット装置。
JP2007123612A 2007-05-08 2007-05-08 複数ロボットの衝突検知方法及びロボット装置 Active JP5250858B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007123612A JP5250858B2 (ja) 2007-05-08 2007-05-08 複数ロボットの衝突検知方法及びロボット装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007123612A JP5250858B2 (ja) 2007-05-08 2007-05-08 複数ロボットの衝突検知方法及びロボット装置

Publications (2)

Publication Number Publication Date
JP2008279524A JP2008279524A (ja) 2008-11-20
JP5250858B2 true JP5250858B2 (ja) 2013-07-31

Family

ID=40140785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007123612A Active JP5250858B2 (ja) 2007-05-08 2007-05-08 複数ロボットの衝突検知方法及びロボット装置

Country Status (1)

Country Link
JP (1) JP5250858B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5343641B2 (ja) * 2009-03-12 2013-11-13 株式会社Ihi ロボット装置の制御装置及びロボット装置の制御方法
JP5275967B2 (ja) * 2009-12-22 2013-08-28 本田技研工業株式会社 干渉チェック装置
JP5653073B2 (ja) * 2010-05-19 2015-01-14 キヤノン株式会社 ロボットセル装置及び生産システム
JP6766339B2 (ja) * 2015-11-02 2020-10-14 セイコーエプソン株式会社 ロボットおよびロボットシステム
JP7013766B2 (ja) * 2017-09-22 2022-02-01 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及び制御方法
CN110682286B (zh) * 2019-05-28 2020-07-28 广东省智能制造研究所 一种协作机器人实时避障方法
WO2021065196A1 (en) * 2019-10-03 2021-04-08 Mitsubishi Electric Corporation Method and system for trajectory optimization for nonlinear robotic systems with geometric constraints
CN111546378B (zh) * 2020-04-22 2022-05-17 哈尔滨工业大学 一种空间机械臂快速碰撞检测方法
CN111546377A (zh) * 2020-04-22 2020-08-18 哈尔滨工业大学 一种空间机械臂的快速自碰撞检测方法
TW202221433A (zh) * 2020-11-18 2022-06-01 日商發那科股份有限公司 自干擾判定裝置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2196763A (en) * 1986-10-29 1988-05-05 Philips Electronic Associated Solid modeling
JPH1133958A (ja) * 1997-07-18 1999-02-09 Ube Ind Ltd 金型スプレイロボットの簡易干渉チェック方法
JP3065579B2 (ja) * 1998-03-11 2000-07-17 川崎重工業株式会社 ロボットの干渉チェック方法
JP3975341B2 (ja) * 2002-05-15 2007-09-12 株式会社安川電機 ロボットの干渉チェック方法

Also Published As

Publication number Publication date
JP2008279524A (ja) 2008-11-20

Similar Documents

Publication Publication Date Title
JP5250858B2 (ja) 複数ロボットの衝突検知方法及びロボット装置
JP5553373B2 (ja) ロボット装置の制御方法及びロボット装置
JP7410270B2 (ja) ロボット動作計画方法、経路計画方法、把持方法及びその装置
US8948904B2 (en) Work picking system
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
KR101633357B1 (ko) 매니퓰레이터 및 그 제어방법
US9043030B2 (en) Manipulator and path generation method thereof
JP5580850B2 (ja) シリアルロボットのための迅速な把持接触計算
EP2660013B1 (en) Method of controlling seven-shaft multi-joint robot, control program, and robot control device
US10377043B2 (en) Robot control apparatus, robot, and robot system
JP2019177436A (ja) ロボット制御装置、ロボットの関節の角度を求める方法、プログラム
JP5223407B2 (ja) 冗長ロボットの教示方法
JP2014240106A (ja) ロボット、ロボット制御装置およびロボットの駆動方法
JP7144754B2 (ja) 多関節ロボットおよび多関節ロボットシステム
JP7358747B2 (ja) ロボットシステム
JPH0438553B2 (ja)
US20140365007A1 (en) Visual Datum Reference Tool
JP4745921B2 (ja) 溶接ロボットの制御方法
CN108858162B (zh) 四轴机械臂的位置确定方法和装置
JP2597979B2 (ja) ロボツト制御データの干渉チェック方法
KR101968751B1 (ko) 충돌 감지 장치, 그를 갖는 엔드 이펙터, 로봇 및 그를 이용한 충돌 감지 방법
JP2567834B2 (ja) ロボツト制御デ−タの作成方法
JP5754138B2 (ja) ロボットシステム及びロボット
US11712803B2 (en) Teaching method
Deng et al. Inverse Kinematics of a Humanoid Robotic Arm With Fixed Joint Method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130326

R150 Certificate of patent or registration of utility model

Ref document number: 5250858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250