(57)【要約】  ロボット装置は、衝突回避スキームを実行し、第１ロボットマニピュレータと、第１の予め計画された実際の経路に沿った移動のために第１ロボットマニピュレータを制御する第１制御器とを有する。第２制御器は、第２の予め計画された意図された経路に沿った移動のために、第２ロボットマニピュレータの移動を制御し、第１ロボットマニピュレータとの可能性のある衝突の決定に基づいて且つ第１の予め計画された実際の経路についての予めの知識を伴わずに、の第１の予め計画された実際の経路から離れた回避経路に移動するように、第２の予め計画された意図された経路から外す。
2013504447.tif 000002
【特許請求の範囲】
【請求項１】
衝突回避スキームを実行するロボット装置であって：
第１ロボットマニピュレータ；
第１の予め計画された実際の経路に沿った移動のために前記第１ロボットマニピュレータを制御する第１制御器；
第２ロボットマニピュレータ；及び
第２の予め計画された意図された経路に沿った移動のために前記第２ロボットマニピュレータの移動を制御し、前記第１ロボットマニピュレータとの可能性のある衝突の決定に基づいて且つ前記の第１の予め計画された実際の経路についての予めの知識を伴わずに、前記の第１の予め計画された実際の経路から離れた回避経路に移動するように、前記の第２の予め計画された意図された経路から外す、第２制御器；
を有するロボット装置。
【請求項２】
請求項１に記載のロボット装置であって、前記第１ロボットマニピュレータは、少なくとも１つの関節と、前記少なくとも１つの関節の位置決めを実行するために前記少なくとも１つの関節及び前記第１制御器と協働する関節センサと、を有し、前記第２制御器は、前記少なくとも１つの関節の前記位置決めに基づいて前記可能性のある衝突を決定する、ロボット装置。
【請求項３】
請求項１に記載のロボット装置であって、前記第２制御器は、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を決定し、可能性のある衝突を決定するように前記距離を少なくとも１つの閾値距離と比較する、ロボット装置。
【請求項４】
請求項１に記載のロボット装置であって：
前記第２制御器は、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を反復的に決定し、前記距離に基づいて、前記第１ロボットマニピュレータとの可能性のある衝突を決定し；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータの幾何モデルを記憶し；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータの前記幾何モデルに基づいて、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を決定する；
ロボット装置。
【請求項５】
請求項４に記載のロボット装置であって：
各々の幾何モデルは、それぞれのロボットマニピュレータを囲む一連のバッファゾーンを有し；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータのそれぞれのバッファゾーン間の重なりに基づいて、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の可能性のある衝突を決定する；
ロボット装置。
【請求項６】
請求項５に記載のロボット装置であって、前記第２制御器は、どのバッファゾーンが重なり合っているかに基づいて、異なる速度で前記第２ロボットマニピュレータを移動させる、ロボット装置。
【請求項７】
請求項３に記載のロボット装置であって：
前記第２制御器は、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の接近速度を反復的に決定し；
前記第２制御器は、前記接近速度に基づいて、前記可能性のある衝突を決定する；
ロボット装置。
【請求項８】
請求項３に記載のロボット装置であって：
前記第２制御器は、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の接近速度を反復的に決定し；
前記第２制御器は、前記接近速度に基づいて、前記可能性のある衝突を決定する；
ロボット装置。
【請求項９】
請求項１に記載のロボット装置であって；
前記第２の予め計画された意図された経路は所望の速度のシーケンスに基づき；
前記第２制御器は、前記可能性のある衝突を回避するように、回避速度のシーケンスに基づいて、前記回避経路に沿って前記第２ロボットマニピュレータを移動させる一方、前記第２の予め計画された意図された経路の前記の所望の速度のシーケンスに緊密に従う；  ロボット装置。
【請求項１０】
請求項９に記載のロボット装置であって；
前記第２ロボットマニピュレータは少なくとも１つの関節を有し；
前記第２制御器は、前記少なくとも１つの関節における力に基づいて、前記の回避速度のシーケンスを決定する；
ロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はロボットの分野に関し、特に、ロボットマニピュレータのための衝突回避及びその関連する方法に関する。
【背景技術】
【０００２】
ロボットシステムは、製造等の分野で一般的である。実際、製造プラントは典型的には、種々のタスクを実行する多くのロボットマニピュレータを含むロボットシステムを採用している。ロボットマニピュレータへの損傷を回避するように、衝突回避スキームに従ってロボットマニピュレータを制御することは有用である。故に、ロボットシステムのための種々の衝突回避スキームが開発されてきている。
【０００３】
一部の衝突回避スキームは、予め計画された衝突のない経路に各々のロボットマニピュレータを制約することにより機能する。例えば、１つのそのような衝突回避スキームについては、Ｏｔｅｒａ等による米国特許第５，２０４，９４２号明細書に開示されている。そのような衝突回避スキームは典型的には、ロボットマニピュレータの予め計画された経路に各々の及びすべての変化を適応させるリプログラミングを必要とする。日常的に変更され、更新される製造工程においては、Ｏｔｅｒａ等の衝突回避システムは、そのシステムの必要な繰り返されるリプログラミングのために不利である。
【０００４】
他の衝突回避スキームは、作用空間をモデル化し、その作用空間を複数のゾーンに分割することが可能である。あるロボットマニピュレータは、あるゾーンに入ることを禁止されることが可能である、又は、１つのロボットマニピュレータのみが、ある時間に所与のゾーンに入ることを許可されることが可能である。Ｐｏｌｌａｃｋ等による米国特許第５，１５０，４５２号明細書においては、そのようなロボットシステムについての衝突回避スキームが開示されている。そのロボットシステムは、占有格子に分割される作用空間のモデルを記憶する制御器を有する。その制御器は、１つのロボットマニピュレータのみが所与の時間に占有格子のセルを占めることが可能であるように、ロボットシステムのロボットマニピュレータを制御する。特に、種々の異なるサイズのロボットマニピュレータが存在し、占有格子のセルサイズが最大のロボットマニピュレータに伴ってサイズ決めされる場合には、この衝突回避システムは製造プラントの効率を低下させる。更に、このロボットシステムは、作用空間のモデルに基づいて作動するために、作用空間に対する何れの変化においても、そのモデルの更新を必要とし、そのことは時間を要する。
【０００５】
ロボットシステムについての衝突回避スキームにおける他の試みには、ロボットマニピュレータ間の可能性のある衝突を能動的に探す制御器がある。例えば、Ｓｔａｒｋによる米国特許第４，５７８，７５７号明細書においては、複数の重なり合う球としてシステムの各々のロボットマニピュレータをモデル化する、ロボットシステムのための衝突回避スキームについて開示されている。ロボットマニピュレータは予め計画された経路に沿って移動するため、隣接するロボットマニピュレータの各々の球の間の距離は、制御器により演算される。それらの演算された距離は、２つの隣接するロボットマニピュレータ間の衝突のリスクを示す。衝突のリスクが閾値量を上回る場合、ロボットマニピュレータの少なくとも１つは、予め計画された経路に沿って進むにつれて、減速される、又は完全に停止されることさえ可能である。しかしながら、そのような衝突回避スキームは、ロボットマニピュレータの停止及び製造工程における関連する遅延のために、ロボットシステムを用いている製造プラントの効率を低下させ得る。
【０００６】
上記のように、それらの従来の方法は、それぞれのロボットシステムを用いる製造工程を非効率にし得る。更に、それらの従来の方法を用いるロボットシステムは、新しいアプリケーションに又は追加するロボットマニピュレータの追加に適応することが困難である及び／又は費用の掛かることである。故に、衝突回避スキームの分野における更なる進展が要望されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
故に、上記の背景に鑑み、本発明の目的は、ロボット装置のためのより高い効率の衝突回避スキームを提供することである。
【課題を解決するための手段】
【０００８】
本発明に従った上記の及び他の目的、特徴及び有利点は、他のロボットマニピュレータとの可能性のある衝突を検出し、可能性のある衝突の検出に基づいて回避経路に移動するロボットマニピュレータにより提供される。特に、ロボット装置は、第１ロボットマニピュレータと、第１の予め計画された実際の経路に沿った移動のために第１ロボットマニピュレータを制御する第１制御器とを有することが可能である。更に、そのロボット装置は、第２ロボットマニピュレータと、第２の予め計画された意図された経路に沿った移動のために第２ロボットマニピュレータを制御する第２制御器とを有することが可能である。第２ロボットマニピュレータは、それから外れて、第１ロボットマニピュレータとの可能性のある衝突の決定に基づいて、及び第１の予め計画された経路についての予めの知識を伴わずに、第１の予め計画された実際の経路から離れた回避経路に移動することができる。
【０００９】
この衝突回避スキームは、第１ロボットマニピュレータの第１の予め計画された経路が、第２の予め計画された意図された経路のリプログラミングを必要とせずに、リプログラミングされることを有利に可能にする。これは、ロボット装置を新しいアプリケーションに適応させるために要する時間を短縮することができる。
【００１０】
第１制御器は、第１ロボットマニピュレータのための第１駆動信号を生成することが可能であり、第２制御器は、第１駆動信号に基づいて、可能性のある衝突を決定することが可能である。更に又は付加的に、第１ロボットマニピュレータは少なくとも１つの関節を有することが可能であり、関節センサは、少なくとも１つの関節と、その少なくとも１つの関節の位置決めを実行する第１制御器と協働する。第２制御器は、第１ロボット装置の少なくとも１つの関節の位置決めに基づいて、可能性のある衝突を決定することが可能である。これは、より正確に、且つ画像センサの使用に比べて少ない処理電力で、可能性のある衝突の決定を可能にする。勿論、第２制御器も、一部の実施形態においては、画像センサ又は関節位置センサに基づいて、可能性のある衝突を決定することが可能である。
【００１１】
第２制御器は、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の距離を反復的に決定することが可能であり、故に、その距離を可能性のある衝突を決定する閾値距離と比較することが可能である。更に、第２制御器はまた、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の接近速度を反復的に決定することが可能であり、第２制御器はまた、その接近距離に基づいて、可能性のある衝突を決定することが可能である。
【００１２】
更に、第２制御器はまた、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の接近速度を反復的に決定することが可能であり、第２制御器はまた、その接近距離に基づいて、可能性のある衝突を決定することが可能である。第２制御器は、その接近速度に基づいて、異なる速度で第２ロボットマニピュレータを移動させることが可能である。第２制御器はまた、第１ロボットマニピュレータの加速度を反復的に決定することが可能であり、第２制御器はまた、その加速度に基づいて、可能性のある衝突を決定することが可能である。
【００１３】
更に、第２制御器は、第１ロボットマニピュレータ及び第２ロボットマニピュレータの幾何モデルを記憶することが可能であり、第２制御器は、その幾何モデルに基づいて、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の距離を決定することが可能である。複数の幾何モデルを使用することにより、可能性のある衝突の決定において消費される処理電力をかなり低減することが可能である。
【００１４】
各々の幾何モデルは、それぞれのロボットマニピュレータの周囲の一連のバッファゾーンを有することが可能である。第２制御器は、それらのバッファゾーン間の重なりに基づいて、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の可能性のある衝突を決定することが可能である。更に、第２制御器は、どのそれぞれのバッファゾーンが重なり合うかに基づいて、異なる速度で第２ロボットマニピュレータを移動させることが可能である。
【００１５】
第２ロボットマニピュレータは、少なくとも１つの関節を有することが可能であり、第２制御器は、その少なくとも１つの関節における力に基づいて、回避速度のシーケンスを決定することが可能である。更に又は付加的に、第２制御器はまた、第２ロボットマニピュレータの運動エネルギーに基づいて、回避速度のシーケンスを決定することが可能である。少なくとも１つの関節の力又はトルクに基づく又は第２ロボットマニピュレータの運動エネルギーに基づく回避速度のシーケンスの決定は、ハードウェアに損傷を与える可能性のある回避速度で又は経路に沿って進まないように、第２ロボットマニピュレータを有利に制約する。
【００１６】
回避速度のシーケンスは、複数の物理的方向の各々において少なくとも１つの速度を有することが可能である。第２制御器は、複数の許容可能な速度の凸集合に基づいて、回避速度のシーケンスを決定することが可能である。
【００１７】
方法の特徴は、第１の予め計画された実際の経路に沿った移動のために第１制御器により制御される第１ロボットマニピュレータとの衝突を回避するように、衝突回避スキームに従ってロボット装置を作動させる方法に導く。その方法は、第２の予め計画された意図された経路に沿った移動のために第２制御器により第２ロボットマニピュレータを制御するステップを有することが可能である。その方法は、第１ロボットマニピュレータとの可能性のある衝突の決定に基づいて、且つ第１の予め計画された実際の経路についての予めの知識を伴わずに、第１の予め計画された実際の経路から離れた回避経路における移動のための第２制御器により第２ロボットマニピュレータを制御するステップを更に有することが可能である。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に従った、衝突回避スキームを実行するロボット装置の模式図である。
【図２】図１のロボット装置の斜視図である。
【図３】本発明の実施形態に従った、衝突回避スキームを実行するロボット装置の他の実施形態の模式的なブロック図である。
【図４】図３のロボット装置による回避速度の選択を示すグラフである。
【図５】本発明の実施形態に従った、衝突回避スキームを実行するロボット装置の他の実施形態の模式的なブロック図である。
【図６】図５のロボット装置の斜視図である。
【図７】本発明の実施形態に従った、一連のバッファゾーンにより囲まれたロボットマニピュレータの模式的な側面図である。
【図８】本発明の実施形態に従った、衝突回避スキームによりロボット装置を作動させる方法のフローチャートである。
【図９Ａ】第１ロボットマニピュレータ及び第２ロボットマニピュレータの模式的な側面図である。
【図９Ｂ】回避経路の決定で用いられるベクトルを有する第１ロボットマニピュレータ及び第２ロボットマニピュレータの模式的な側面図である。
【図９Ｃ】回避経路の決定で用いられるベクトルを有する第１ロボットマニピュレータ及び第２ロボットマニピュレータの模式的な側面図である。
【図１０】回避経路の決定で用いられる接近速度の演算を示す図である。
【発明を実施するための形態】
【００１９】
本発明について、以下に、本発明の好適な実施形態について示す添付図を参照して、詳述する。しかしながら、本発明は、複数の異なる態様で具現化されることが可能であり、本明細書に記載している実施形態に限定されるとして理解されるべきではない。むしろ、それらの実施形態は、本開示が綿密な且つ完全なものとなり、本発明の範囲について当業者に十分に伝えるように、提供される。本明細書全体に亘って同様の参照番号は同様の要素を表し、主要表記法（ｐｒｉｍｅ  ｎｏｔａｔｉｏｎ）を用い、代替としての実施形態において同様の要素を示す。
【００２０】
はじめに図１及び２を参照するに、衝突回避スキームを実施するロボット装置９について説明する。ロボット装置９は、第１ロボットマニピュレータ１０と、予め計画された実際の経路１１ａ、１１ｂに沿った移動のための第１ロボットマニピュレータを制御する第１制御器１５とを有する。更に、第２ロボットマニピュレータ１２及び第２制御器２０が存在する。第２制御器２０は、第２の予め計画された意図された経路１３に沿った移動のための第２ロボットマニピュレータ１２の移動を制御する。第２制御器２０は、第１の予め計画された実際の経路１１ａ、１１ｂの事前知識を伴わずに、第２ロボットマニピュレータ１２が、第２ロボットマニピュレータとの可能性のある衝突の決定に基づいて、第１の予め計画された実際の経路から、故に第１ロボットマニピュレータから遠い回避経路１４ａ、１４ｂに移動するように第２の予め計画された意図された経路から外れるようにする。
【００２１】
当業者は、ロボット装置９が任意の数のロボットマニピュレータを有することが可能であり、第１ロボットマニピュレータ１０及び第２ロボットマニピュレータ１２が、何れかの適切なロボットマニピュレータ、例えば、オブジェクト及び／又はツールをハンドリングするためのロボット溶接アーム又はロボット爪であることが可能である。勿論、第１ロボットマニピュレータ１０及び第２ロボットマニピュレータ１２は、異なる種類のロボットマニピュレータであることが可能であり、大きさが異なることが可能である。
【００２２】
他の実施形態においては、第１の予め計画された実際の経路１１ａ、１１ｂは、任意の方向への連続的な又は不連続的な移動を有することが可能であり、第１ロボットマニピュレータ１０の関節２６の移動を有することが可能である。同様に、他の実施形態においては、第２の予め計画された意図された経路１３は、任意の方向への連続的な又は不連続的な移動を有することが可能であり、第２ロボットマニピュレータ１２の関節２７の移動を有することが可能である。図１に示す実施形態においては、それらの経路は、説明を明確にするために、線形移動に簡略化されている。
【００２３】
時間経過に伴う３つの別個の時間における、この衝突回避スキームの適用について、図１に示している。ここでは、第１ロボットマニピュレータ１０は、第１時間（Ｔ１）から開始する第１セグメント１１ａを有し、第２時間（Ｔ２）において第２セグメント１１ｂに沿って続き、第３時間（Ｔ３）において終了する第１の予め計画された実際の経路１１に沿った移動のための第１制御器１５（図２）により制御される。
【００２４】
第２制御器２０（図２）は、第２の予め計画された意図された経路１３に沿った試みの移動のために第２ロボットマニピュレータ１２を制御している。しかしながら、Ｔ１においては、第２制御器２０は、第２ロボットマニピュレータ１２が第１ロボットマニピュレータ１０と衝突することを検出する。従って、第２制御器２０は、第２ロボットマニピュレータ１２が、それに代えて、回避経路を、即ち、セグメント１４ａ、１４ｂを辿るようにし、故に、Ｔ２及びＴ３において、第２ロボットマニピュレータは第１ロボットマニピュレータと衝突しない。回避経路１４ａ、１４ｂは、第２ロボットマニピュレータが第１ロボットマニピュレータ１０と衝突する危険性をなくすばかりでなく、第２の予め計画された意図された経路１３を、できるだけ近くを有利に辿ることが可能である。図示している実施例においては、第２の予め計画された経路１３を辿った場合にそうであるように、第２ロボットマニピュレータ１２は例示として、Ｔ３において同じ位置に最終的には戻る。
【００２５】
当業者は、第２制御器２０が、第１ロボットマニピュレータ１０との可能性のある衝突を繰り返して探索することが可能であり、それに基づいて、例えば、２ｍｓｅｃ毎に回避経路１３を繰り返して調整することが可能である。
【００２６】
ロボット装置９’の更なる実施形態について、ここで図３を参照して説明する。ここでは、第１制御器１５’は、第１の予め計画された実際の経路に沿った移動のための第１ロボットマニピュレータ１０’を制御するプロセッサ１６’と協働するメモリ１７’を有する。プロセッサ１６’は、第１駆動信号を順に生成し、第１ロボットマニピュレータ１０’にそれらの駆動命令を送信する駆動信号生成器１８’に、駆動命令を送信する。第１ロボットマニピュレータ１０’は、第１駆動信号に基づいて、第１の予め計画された実際の経路に沿って移動する。
【００２７】
第２制御器２０’は、第２の予め計画された意図された経路に沿った第２ロボットマニピュレータ１２’の移動を制御するために協働するプロセッサ２１’及びメモリ２２’を有する。ここで、第２の予め計画された意図された経路は所望の速度のシーケンスに基づく。プロセッサ２１’は、第２駆動信号を順に生成し、第２ロボットマニピュレータ１２’にそれらの信号を送信する駆動信号生成器２３’に駆動命令を送信する。第２ロボットマニピュレータ１２’は、第２駆動信号に基づいて、第２の予め計画された意図された経路に沿って移動する。
【００２８】
プロセッサ２１’は、第１の予め計画された実際の経路の事前知識なしに、第１ロボットマニピュレータ１０’との可能性のある衝突を決定する。この決定を達成するように、第２制御器２０’の通信インタフェース２４’は、第１駆動信号を読み出すように第１制御器１５’の通信インタフェース１９’に結合される。プロセッサ２１’は通信インタフェース２４’と協働して、それにより、第１駆動信号に基づいて、可能性のある衝突を決定する。これは、第１ロボットマニピュレータ１０’の、故に、第１の予め計画された実際の経路の、各々の部分の速度の迅速な且つ正確な決定を有利に可能にする。
【００２９】
プロセッサ２１’が、第２ロボットマニピュレータ１２’及び第１ロボットマニピュレータ１０’の可能性のある衝突を決定するとき、プロセッサ２１’は、第２ロボットマニピュレータを第２の予め計画された経路から外し、代わりに、回避速度のシーケンスに基づいて回避経路（第１の予め計画された実際の経路から、故に、第１ロボットマニピュレータから離れた）を移動する。
【００３０】
プロセッサ２１’は、可能性のある回避速度の集合からの回避速度のシーケンスの各々を選択することが可能である。そのような可能性のある回避速度の集合は、図５の二次元グラフに示されている。図５のクロスハッチ領域は、第２ロボットマニピュレータ１２’が続く場合に、第１ロボットマニピュレータ１０’との衝突をもたらす速度を示している。図５の多角形の非クロスハッチ領域は衝突のない回避速度の集合を示している。第２の予め計画された意図された経路は、所望の速度のシーケンスに基づくことが可能であり、回避速度のシーケンスの各々の選択においては、プロセッサ２１’は、略所望の速度である回避速度を選択することが可能である。図４には、選択された速度ＳＶは、意図された速度ＩＶに隣接して示されている。
【００３１】
回避速度はまた、因子の中では特に、第２ロボットマニピュレータ１２’の関節におけるトルク及び／又は第２ロボットマニピュレータの運動エネルギーに基づく（又は、所望の速度を選択するための、ロボットに対処するある目的関数、即ち、ある運動学的な、動力学的な又は他の規則、に基づき、しかしながら、ロボットシステムについて最適に規定される）ことが可能である。例えば、第２ロボットマニピュレータ１２’の特定の関節はトルク制限を有し、それらの関節がそのトルク制限を上回る速度でロボットマニピュレータを移動させることは好ましくない。回避速度が関節のトルク又は第２ロボットマニピュレータの運動エネルギーに基づいて、第２回避マニピュレータ１２’は、回避速度のシーケンスに従った移動中に損傷しないことを、又は、第２ロボットマニピュレータが搬送するオブジェクトが回避速度に従った移動中に損傷しないことを有利に確実にすることが可能である。それらの回避速度の決定については、下で詳述する。
【００３２】
更に図５を参照するに、衝突回避スキームを実施するロボット装置９”の他の実施形態について、ここで説明する。第１ロボットマニピュレータ１０”及び第１制御器１５”は、構造及び機能が上記の第１ロボットマニピュレータ１０’及び第１制御器１５’に類似しているので、それらの更なる説明の必要はない。
【００３３】
第２制御器２０”は、プロセッサ２１”と、メモリ２２”と、駆動信号生成器２３”と、第２制御器２０’を参照して説明している通信インタフェース２４”とを有する。しかしながら、ここでは、メモリ２２”は、第１ロボットマニピュレータ及び第２ロボットマニピュレータの幾何モデルを記憶する。第２制御器２０”のプロセッサ２１”はそれらの幾何モデルを生成することが可能であり、又はこのデータは、第２制御器に通信されて、メモリ２２”に記憶されることが可能である。
【００３４】
幾何モデルを生成するように、各々のロボットマニピュレータ１０”、１２”は先ず、幾何プリミティブの集合として表される。幾何プリミティブは、点、線分及び矩形を有する。幾何モデルを仕上げるように、第１ロボットマニピュレータ及び第２ロボットマニピュレータはその場合、掃引球体として表される。それらの掃引球体は、それぞれの幾何プリミティブから特定の距離／半径にある点の集合を有する。掃引プリミティブが点である場合、結果として得られる本体は球である。掃引プリミティブが線分である場合、本体は、円筒球（ｃｙｌｉｓｐｈｅｒｅ）とも呼ばれる、球状エンドキャップを有する円筒である。掃引プリミティブが矩形である場合、本体は、丸みを帯びたエッジを有するボックスである。読み易くするように、それらの本体は、以下では、“円筒球シェル”と呼ぶが、それらは、上記のように、他の形状をとることが可能であることが理解される必要がある。
【００３５】
図６に示すように、幾何学的に複雑なオブジェクトの集合（ここでは、ロボットマニピュレータ）は、円筒球シェルの集合により近似することが可能である。個別の円筒球シェルをより明確に示すように、各々のシェルについての幾何プリミティブが、そのシェルにおいて重ねられる。図６における各々のロボットマニピュレータ１０”、１２”は８つの円筒球シェルにより近似される（各々のロボットマニピュレータについて８つの線分により理解することができるように）。その結果、ある瞬間のロボットマニピュレータ１０”、１２”及びそれらの周囲の完全な幾何モデルは、本体のリスト、それぞれの本体の種類（即ち、点、線分又は面）、各々の本体における角／端点の位置、及び各々の本体に関連する半径により表すことが可能である。
【００３６】
ロボット装置のロボットマニピュレータを近似するそのような方法を用いる主な有利点は、ロボットマニピュレータ間の距離の演算における簡単さである。オブジェクトｊとオブジェクトｋとの間の距離ｄ（ｊ、ｋ）は単に、
ｄ（ｊ、ｋ）＝ｄｐ（ｊ、ｋ）−ｒｊ−ｒｋ                          （１）
であり、ここで、ｄｐ（ｊ、ｋ）はオブジェクトｊ及びオブジェクトｋのプリミティブ間の距離であり、ｒｊ及びｒｋはオブジェクトｊ及びオブジェクトｋのそれぞれの半径である。プリミティブ（点、線分、矩形）間の距離の演算は、一部の場合には比較的簡単な閉形式解（ｃｌｏｓｅｄ−ｆｏｒｍ  ｓｏｌｕｔｉｏｎ）を有する。
【００３７】
ロボットマニピュレータ毎に用いられる円筒球シェルの数を増加させることにより、幾何モデルの正確度を改善することが可能であるが、演算時間が増加することになる。当業者は、このことが、ロボット装置の幾何モデルを簡単化する唯一の有効な方法でないことを理解するであろう。幾何演算が迅速に実行されることを可能にするロボット装置の任意の表現が代替として可能である。
【００３８】
回避速度のシーケンスの演算に関連して下で説明するように、この衝突回避スキームの制限生成部分は、第１ロボットマニピュレータ１０”との衝突にどれ位近いかに基づいて、第２ロボットマニピュレータ１２”の動きに関する制限を生成する。これは、各々の幾何プリミティブについて３つのバッファ領域２６”、２７”、２８”の集合を生成することにより達成される。これについては、図７に示していて、第２マニピュレータ１２”の１つのリンクの幾何がモデル化されている。選択された幾何プリミティブは線分（図示せず）である。３つの異なる半径を有する円筒球シェルは、その場合、この単独の幾何プリミティブから構築される。
【００３９】
図５のロボット装置に対するこの衝突回避スキームの適用においては、バッファ領域２６”、２７”、２８”は、例えば、幾何モデルと同じ形状であることが可能であり、プロセッサ２１”は、第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”のバッファ領域間の重なり合いの検出に基づいて、回避経路を変えることが可能である。
【００４０】
図７を更に参照するに、バッファ領域は、反応バッファ領域２６”、平衡バッファ領域２７”及びオブジェクトバッファ領域２８”を有する。反応バッファ領域２６”及び平衡バッファ領域２７”は、第１ロボットマニピュレータ１０”に近づくにつれて、第２ロボットマニピュレータ１２”の動きに対する変化を次第に適用するように用いられる。オブジェクトバッファ領域２８”は、第２ロボットマニピュレータ１２”が第１ロボットマニピュレータ１０”に対してどれ位近くにあることが許される必要があるかに関する下限である。特に、第２ロボットマニピュレータ１２”のオブジェクトバッファ領域２８”は、第１ロボットマニピュレータのオブジェクトバッファ領域と接触することが許される必要がある、又は衝突がもたらされることが可能である。
【００４１】
図５を再び参照するに、プロセッサ２１”は、上記のように、駆動信号生成器２３”を介して第２の予め計画された意図された経路に沿った移動のための第２ロボットマニピュレータの移動を制御する。１つ又はそれ以上の視覚センサ、例示としての視覚センサ２５”（任意の種類のセンサ、即ち、位置センサ、動きセンサ等であることが可能である）は通信インタフェース２４”に結合される。当業者は、画像センサ（視覚センサ２５”）が、カメラ等の任意の適切な画像センサであることが可能であり、複数のそのようなセンサが存在してもよいことを理解することができる。更に又は代替として、他の用途において、他の種類のセンサ、例えば、ラダー又はソナーが存在してもよい。
【００４２】
プロセッサ２１”は、第１ロボットマニピュレータ１０”と第２ロボットマニピュレータ１２”との間の可能性のある衝突を検出するように、視覚センサ２５”に基づいて、第２ロボットマニピュレータ１２”のシェルと第１ロボットマニピュレータ１０”のシェルとの間の距離を決定する。可能性のある衝突は、第１ロボットマニピュレータ１０”のバッファ領域に重なる第２ロボットマニピュレータ１２”のバッファ領域に基づいて検出されることが可能である。
【００４３】
可能性のある衝突に応答して、プロセッサ２１”は、第１ロボットマニピュレータ１０”との衝突を回避するように、回避経路における移動のために第２ロボットマニピュレータ１２”を制御する。回避経路は、第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”のどのバッファ領域が互いに重なるかに依存する。例えば、第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”の反応バッファ領域２６”が重なる場合、回避経路は、第１ロボットマニピュレータ１０”から離れている第２ロボットマニピュレータ１２”をとることが可能であるが、その速度は接近速度より遅い。反応バッファ領域２６”は、それぞれのロボットマニピュレータの幾何モデルに比べて相対的に大きくなるように画定されることが可能であるため、第２ロボットマニピュレータ１２”は、第１ロボットマニピュレータ１０”の接近速度より高い又はその速度と等しい速度で移動する必要はまったくない。回避経路に沿ったそのような低い速度での移動は電力を節約することが可能であり、又は、第２ロボットマニピュレータ１２”における損傷を低減することが可能である。
【００４４】
第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”の平衡バッファ領域２７”が互いに重なる場合、回避経路は、接近速度で第１ロボットマニピュレータ１０”から遠い第２ロボットマニピュレータ１２”をとることが可能である。これは、第２ロボットマニピュレータ１２”がより低い速度で移動する場合に、避けられない衝突を回避する助けとなり得る。第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”のオブジェクトバッファ領域２８”が互いに接する場合、回避経路において緊急停止を有することが可能である。更に、第１ロボットマニピュレータ１０”及び第２ロボットマニピュレータ１２”のオブジェクトバッファ領域２８”が互いに接する場合、第２制御器２０”はロボット装置９”を停止させることが可能である。
【００４５】
簡潔には、各々の幾何プリミティブ及びそれに関連する３つのシェルのことを集合的に、ｂで表される“本体”という。それらの本体の集合は２つの集合に分割されることが可能である。“ロボットマニピュレータ”本体の集合Ｒは、第２ロボットマニピュレータの一部である本体である。“オブジェクト”本体の集合Ｏは他の本体（第１ロボットマニピュレータを含む）である。
【００４６】
各々のロボットマニピュレータ本体ｂｊ∈Ｒについては、それと衝突する可能性がある本体の集合ｂｊ∈（Ｒ∪Ｏ）をその場合に決定することは有用である。これは、３つのステップで行われる。第１ステップは、衝突回避スキームを実行する前にオフラインで実行され、可能性のある衝突のリストから可能性のある衝突の対（ｂｊ，ｂｋ）を手作業で取り除くことを含む。このステップにおいて取り除かれる可能性のある衝突の対は、衝突回避スキームにおける何れかの点で調べられない可能性がある。これは主に、衝突としてフラグ付けされることなく、隣接する本体が互いに重なり合うことを可能にするように用いられる。
【００４７】
例えば、図６においては、ロボットマニピュレータ本体の一部は互いに重なり合う。この場合、隣接する本体間の重なり合いを無視することは好ましいことである。しかしながら、これは、ロボット本体のすべての対についてはそうではない。例えば、特定の本体とロボットマニピュレータの底部との間の衝突を回避することは好ましいことであり、それらのロボット本体についての衝突対は、可能な衝突のリストから削除されない。
【００４８】
第２ステップが、衝突回避スキームの実行の開始後に、実行される。このステップの目的は、可能性のある衝突対（ｂｊ，ｂｋ）が十分遠く離れていて、この時点で無視することが可能であるかどうかを迅速に調べることである。このステップを実行するために、境界ボックスが作用空間内の本体の周囲に構築されている。各々の可能性のある衝突対（ｂｊ，ｂｋ）の境界ボックスが比較され、それらの境界ボックスが重なり合わない場合、衝突対（ｂｊ，ｂｋ）は、可能性のある衝突の本体のリストから削除される。このステップは迅速であり、即座に可能性のある衝突を考慮から外す。
【００４９】
第３ステップにおいては、本体間の実際の距離が、はじめの２つのステップで削除されていない対（ｂｊ，ｂｋ）に基づいて演算される。特に、それらの本体に関連する幾何プリミティブ間の距離が演算される。選択される簡単な幾何プリミティブのために、この距離はかなり迅速に演算されることが可能である。このステップの出力は、それらの幾何プリミティブ間の最小距離ｄｐ（ｊ，ｋ）であり、それらの幾何プリミティブの各々における点はこの最小距離に対応している。考慮される（ｂｊ，ｂｋ）のｉ番目の対について、この距離はｄｐｉと表され、それらの点はｃｐｉ（“衝突点”）及びｉｐｉ（“妨害点”）と表され、ここで、ｃｐｉは本体ｂｊに関するものであり、ｉｐｉは本体ｂｋに関するものである。
【００５０】
異なる幾何モデル方法が用いられる場合に、上記の衝突及び距離を調べる方法を改善することが有用であることは、注目すべきことである。
【００５１】
ロボット装置（幾何モデルにより表される）及び可能性のある衝突の集合の現在についての状態が与えられる場合、それらの衝突を回避するように、ロボットの許容されている動きに関して制約を設けることは有用である。衝突を回避すること（第１ロボットマニピュレータとの及びロボット自体との）に加えて、第２ロボットマニピュレータの動きが関節の角度限界又は関節の速度限界を超えないようにすることは有用である。
【００５２】
これを有効にするように、第１ロボットマニピュレータの命令された速度に関する線形不等式制約の集合が生成される。便宜上、それらの制限は、本明細書の実施形態におけるエンドエフェクタ（タスク空間）で策定される。タスク空間速度に対する関節速度のヤコビアン（Ｊａｃｏｂｉａｎ）マッピングは線形であるために、それらの制約は関節空間又はタスク空間において表されることが可能であり、それらは尚も線形である。その結果、この実施例におけるロボットの許容速度の集合は凸集合を構成する。この構造は、凸最適化としての速度選択問題の策定を可能にするため、有利である。この最適化は、かなり効率的に演算することが可能であり、衝突のない動きがリアルタイムに演算されることを可能にする。
【００５３】
凸最適化問題の形式は次のようであり、
ｆｉ（ｘ）≦０  （ｉ＝１，．．．，κ）を条件として、ｆ０（ｘ）を最小化する  （２）ここでは、ｋ個の同時の不等式制約が存在する。目的関数ｆ０（ｘ）は、最小化するときに、好ましい又は“最適な”挙動を得る任意の関数であることが可能である。実際のエンドエフェクタ線形及び角速度（νＴ
ωＴ）Ｔｅｅと所望のエンドエフェクタ線形及び角速度（νＴ
ωＴ）Ｔｅｅ，ｄとの間のエラーを最小化することは好ましいことである。従って、次の関数が選択された。
ｆ０（ｘ）＝（（ｘ−ｘｄ）Ｔ（ｘ−ｘｄ））１／２            （３）
ここで、
【数１】
2013504447.tif 000003
であり、Ｗは、ｘの要素のすべてが同じ単位
【数２】
2013504447.tif 000004
を有するように、適切な単位期間を有する重み行列である。例えば、有効な選択は、α＝１＊（ｍ／ｒａｄ）である。他の場合には、目的関数に含まれる付加的な基準を有することが好ましい。例えば、結果的に得られるｆ０（ｘ）が２回微分可能凸関数である場合に、冗長マニピュレータにより、付加的な期間が、ロボットの自己の動きの最適な使用を表すように、目的関数に付加されることが可能である。目的関数が与えられる場合、制約関数ｆｉ（ｘ）を規定することは有用である。関節角限界及び関節速度限界による制約が得られる。
【００５４】
関節限界の２つの異なる場合が、すなわち、関節角限界及び関節速度限界が存在する。上記のように、回避速度をそれらの限界に基づかせることは好ましく、故に、関節速度の上限及び下限の１つのセットで両方の場合に適応することは有用である。このために、この実施例において複数の許容可能な関節速度に関する複数の上限のすべてを含むベクトルは次式
【数３】
2013504447.tif 000005
のようであり、ここで、各々の
【数４】
2013504447.tif 000006
の値は、関節ｉの現在の角度、即ち
【数５】
2013504447.tif 000007
に依存する。
【００５５】
即ち、関節ｉは、ユーザ指定の速度限界（典型的には、評価された関節の速度限界）により名目上境界付けられるが、関節ｉがその関節限界を上回り始める場合、その上限速度限界は０であり、その角度が更に増加することは許容されない。許容可能な関節速度に関する、同様の下限のベクトルは、次のようである。
【００５６】
【数６】
2013504447.tif 000008
ここで、
【数７】
2013504447.tif 000009
である。
【００５７】
式（７）及び（９）において関節の上限及び下限についての値が与えられる場合、
【数８】
2013504447.tif 000010
に関する瞬間限界は、
【数９】
2013504447.tif 000011
のように表される。式（１０）は、
【数１０】
2013504447.tif 000012
のように、式（６）及び（８）を用いて再び表現され、ここで、
【数１１】
2013504447.tif 000013
は、ｉ番目の関節に対応する期間を選択するベクトル
【数１２】
2013504447.tif 000014
である。
【００５８】
【数１３】
2013504447.tif 000015
の表記法が、ベクトルが単位ベクトルであることを表すように用いられることに留意する必要がある。式（１１）の右側部分に対応する制約関数ｆｉ（ｘ）（即ち、上限）は、シリアルマニピュレータについてヤコビアン（Ｊａｃｏｂｉａｎ）関係
【数１４】
2013504447.tif 000016
を用いて、及び第２ロボットマニピュレータが一重化構成にあると仮定して
【数１５】
2013504447.tif 000017
であり、Ｊは反転され、式（１４）を式（１３）に代入することが可能であり、次式
【数１６】
2013504447.tif 000018
のようになる。
【００５９】
【数１７】
2013504447.tif 000019
のようであり、ここで、
【数１８】
2013504447.tif 000020
である。式（１７）の大きさで除算することにより、次式
【数１９】
2013504447.tif 000021
が得られる。故に、関節ｉにおける関節上限は、次式
【数２０】
2013504447.tif 000022
のように減少される。
【００６０】
式（１１）の左側部分に対応する制約関数ｆｉ（ｘ）（即ち、下限）はその場合、同様に減少されることが可能であり、次のようになる。
【００６１】
【数２１】
2013504447.tif 000023
【数２２】
2013504447.tif 000024
【数２３】
2013504447.tif 000025
【数２４】
2013504447.tif 000026
すべてのｎ個の関節について、式（１９）及び（２４）を結合することにより、次式
【数２５】
2013504447.tif 000027
【数２６】
2013504447.tif 000028
が得られる。
【００６２】
その場合、関節限界のための２ｎ個の制約の集合は、次式
Ａｉ≦ｂｉ                                      （２６）
のように簡単化され、ここで、
【数２７】
2013504447.tif 000029
である。
【００６３】
上記のように、衝突及び距離を調べることにより、可能性のある衝突点の対、即ち、衝突点ｃｐｉ及び干渉点ｉｐｉが得られる。各々の可能性のある衝突については、ｃｐｉの速度をｉｐｉの速度に制約することは好ましいことである。これについては、図９にグラフィックに示している。図９ａにおいては、ロボットマニピュレータ及びそのロボットマニピュレータに近接する対象物は、それぞれの幾何プリミティブ（この場合は、線分）で表されている。図９ｂ及び９ｃにおいては、可能性のある衝突点の２つの対の間の波線が存在する。図９ｂは、外部の対象物とロボットマニピュレータとの間の可能性のある衝突について示し、図９ｃは、ロボットマニピュレータとそのロボットマニピュレータ自身との間の可能性のある衝突について示している。各々の場合、衝突方向（ｃｐｉからｉｐｉの方に向いている）における単位ベクトル
【数２８】
2013504447.tif 000030
が構築される。更に、ベクトルｃｐｉはνｃｐｉと表され、ベクトルｉｐｉはνｉｐｉと表される。
【００６４】
ｃｐｉからｉｐｉの方への動きに関する限界は、次式
【数２９】
2013504447.tif 000031
のように表されることが可能であり、ここで、νｓｉはｃｐｉからｉｐｉへの最大許容“接近速度”である。νｓｉが指定される方法は、好ましい衝突回避挙動に依存して変更可能である。上記の実施形態においては、複数のシェル（反応、平衡及び安全性）が、平滑化接近速度νｓｉを得るように、各々の本体について構築され、その平滑化接近速度νｓｉは次式
【数３０】
2013504447.tif 000032
のように表され、ここで、ｄｐｉはｃｐｉとνｃｐｉとの間の距離であり、ｒｒｉは２つの本体の反応半径の和であり、ｒｅｉは２つの対象物の平衡半径の合計であり、νｈａｌｆｉは、ｄｐｉがｒｒｉとｒｅｉとの間の途中であるときに許容される最大接近速度である。その結果として得られる最大許容接近速度が、離間距離の関数として、図１０にプロットされている。その式は、ｒｒｉ＞ｄｉ＞０のとき、有効である（故に、用いられる）ことに留意する必要がある。
【００６５】
それらの対象物がそれらの平衡半径の和だけ正確に離間しているとき、回避速度は、それらが何ら接近しないことを保証するように、衝突方向に沿った干渉点の速度に等しい必要がある。離間距離が反応半径の合計まで増加するにつれて、回避速度は無限大まで増加し、効果的に制約を無視する。それらの対象物において、それらの平衡半径の合計より小さいとき、回避速度は、それらを離すように、低くされる。ｄｐｉがｒｓｉ（２つの本体の安全性半径の合計）より小さくなる場合、ロボット装置の緊急停止がトリガされることが可能である。式（２９）において選択されたルールは任意の同等の関数と置き換えられることが可能である。
【００６６】
νａｉが与えられる場合、式（２８）の左側が、ロボット関節速度について、速度ｃｐｉを表すように展開される必要がある。これは、まるでロボット装置のエンドエフェクタであるかのようにｃｐｉを処理し、この点についての“ヤコビアン（Ｊａｃｏｂｉａｎ）部分行列”（Ｊｃｐｉ）を生成することにより、達成される。換言すれば、ロボットは、ｃｐｉにおいて仮想的に切断され、ｃｐｉとロボットの底部との間の効果が考慮される。シリアルマニピュレータについてのヤコビアン関係を用いることは、次式
【数３１】
2013504447.tif 000033
のように表される。
【００６７】
可能性のある衝突がロボットと他の対象物との間にある、図９ｂに示している場合、Ｊｃｐｉは次式
【数３２】
2013504447.tif 000034
で表され、ここでは、ｃｐｉと地面との間にμ個の関節が存在する。ロボットマニピュレータとそのロボットマニピュレータ自身との間の可能性のある衝突の場合は、図９ｃに示すように、ｉｐｉの下の関節の動きは、ｃｐｉとｉｐｉとの間の距離に影響しない。
【００６８】
従って、それらの関節の効果は無視され、Ｊｃｐｉは次式のように策定され、
【数３３】
2013504447.tif 000035
ここでは、ｉｐｉと地面との間に（η−１）個の関節が存在する。式（３０）を式（２８）に代入することにより、次式
【数３４】
2013504447.tif 000036
が得られる。式（１４）を用いて、次式
【数３５】
2013504447.tif 000037
に代入することにより、次式
【数３６】
2013504447.tif 000038
が得られ、式（１６）と同じ方法を用いて、Ｗ−１Ｗが挿入されることにより、次式のように、項がグループ化され、
【数３７】
2013504447.tif 000039
ここで、
【数３８】
2013504447.tif 000040
である。式（３５）は、故に、次式
【数３９】
2013504447.tif 000041
のように低減される。
【００６９】
式（３６）の大きさで除算することにより、次式
【数４０】
2013504447.tif 000042
が得られる。従って、ｉ番目の可能性のある衝突による限界は、次式
【数４１】
2013504447.tif 000043
のように低減される。ｍ個の可能性のある衝突について、式（３９）の係数を組み合わせると、次式
【数４２】
2013504447.tif 000044
のようになり、
【数４３】
2013504447.tif 000045
は、式（２６）と組み合わされて、次式
【数４４】
2013504447.tif 000046
のようになり、故に、関節角限界、関節速度限界、他の対象物との可能性のある衝突、及びそれ自身との可能性のある衝突によるマニピュレータの速度に関する制約は、単一の次式の集合
Ａｘ≦ｂ                                          （４１）
で表される。
【００７０】
それらの制約の好ましい形態を得るように、次式（４２）のように再整理され、
Ａｘ−ｂ≦                                        （４２）
ここで、各々のｆｉ（ｘ）は、下の式（４３）の左側のｉ番目の列で表される。故に、制約の全数はκ＝２ｎ＋ｍである。
【００７１】
続けて説明する前に、本方法が失敗する特別の場合について説明する。先ず、ロボットマニピュレータが非一重化構成にあることは有用である。これは典型的には、一重化構成を回避するように関節限界の適切な選択により、又は、一重化を介してロボットマニピュレータを移行させるように付加的なソフトウェアを使用し、次いで衝突回避アルゴリズムを再開して、達成される。また、Ｊｃｐｉの範囲空間（即ち、ｃｐｉのすべての有効な速度の集合）が
【数４５】
2013504447.tif 000047
に対して直交している場合には、式（３３）の左側は、
【数４６】
2013504447.tif 000048
の選択にも拘わらず、０に等しい。この場合、ロボットマニピュレータは、この瞬間、ｉｐｉから離れるようにｃｐｉを移動させることはできない。このシナリオはまれであるが、ｃｐｉを移動させるようにロボットマニピュレータに命令する追加論理を追加することにより克服することが可能であり、故に、直交性条件は変わり、衝突回避アルゴリズムを再開することが可能である。
【００７２】
式（２）を再開すると、衝突回避アルゴリズムは、次のような形の制約された最適化に低減された。
ｆｉ（ｘ）≦０  （ｉ＝１，．．．，ｋ）を条件として、ｆ０（ｘ）を最小化する（４３）  目的関数ｆ０（ｘ）及び制約関数ｆ１（ｘ），．．．，ｆｎ（ｘ）は、式（３）及び（４２）のそれぞれに詳しく示されている。更に、ｆ０，．．．，ｆκ：Ｒｎ→Ｒは凸状且つ２回連続微分可能である。故に、凸最適化技術が適用可能である。
【００７３】
凸最適化は、数学における広範囲の研究の主題である。本明細書においては、凸最適化を解く内点法が選択されている。特に、対数バリア法（ｌｏｇａｒｉｔｈｍｉｃ  ｂａｒｒｉｅｒ  ｍｅｔｈｏｄ）が用いられる。この方法は、かなり高速であるために、適切であり、任意のかなり多い数の不等式の制約を扱うことが可能であり、結果の正確度（エラーの境界付け）を数学的に証明することが可能である。
【００７４】
要約すると、その最適化については、図４に示され、その図においては、各々の制約ｆｉ（ｘ）は許容されない速度の集合を生成する。すべてのκ個の制約が組み合わされるとき、残りの許容可能な速度の集合は凸である。対数バリア法の基本的アプローチは、ｘがｆｉ（ｘ）＝０のバリアに近づくにつれて、無限に大きくなる対数ペナルティ関数として、各々の不等式制約をモデル化することである。それらのペナルティ関数は目的関数ｆ０（ｘ）に追加され、ｘの非制約最適化が、反復降下法（代表的には、ニュートン法）により実行される。このｘの値はその場合、ペナルティ関数の大きさをスケーリングし、再び、降下法によりｘを最適化することにより、精緻化される。この処理は、ｘｏｐｔ、即ち、ｘの最適値を求めるために反復される。次いで、式（４）及び（１４）を用いて、最適な関節速度
【数４７】
2013504447.tif 000049
は
【数４８】
2013504447.tif 000050
になる。
【００７５】
それらの関節速度はロボットマニピュレータに命令される。それらの速度が、特定の時間間隔の間、実行された後、そのアルゴリズムは繰り返される。
【００７６】
図８のフローチャート３０に関して、衝突回避スキームに従ってロボット装置を作動する方法についてここで、説明する。開始（ブロック３１）後、ブロック３２において、第１ロボットマニピュレータが、第１の予め計画された実際の経路に沿って移動される。ブロック３３において、第２ロボットマニピュレータが、第２の予め計画された意図された経路に沿って移動される。
【００７７】
ブロック３４において、第２ロボットマニピュレータと第１ロボットマニピュレータとの間の距離が決定され、可能性のある衝突を決定するように閾値の距離と比較される。ブロック３５において、判定が行われる。可能性のある衝突がない場合、ブロック３６において、第２の予め計画された意図された経路に沿った第２ロボットマニピュレータの移動が継続される、可能性のある衝突がない場合、ブロック３７において、第２ロボットマニピュレータの第２の移動が、第２の予め計画された意図された経路から外れて、第１の予め計画された実際の経路から離れた回避経路内に移動する。ブロック３８は、その方法の終了を示している。
【図１】
2013504447.tif 000051
【図２】
2013504447.tif 000052
【図３】
2013504447.tif 000053
【図４】
2013504447.tif 000054
【図５】
2013504447.tif 000055
【図６】
2013504447.tif 000056
【図７】
2013504447.tif 000057
【図８】
2013504447.tif 000058
【図９Ａ】
2013504447.tif 000059
【図９Ｂ】
2013504447.tif 000060
【図９Ｃ】
2013504447.tif 000061
【図１０】
2013504447.tif 000062
【手続補正書】
【提出日】平成23年11月21日(2011.11.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
衝突回避スキームを実行するロボット装置であって：
第１ロボットマニピュレータ；
第１駆動信号により第１の予め計画された実際の経路に沿った移動のために前記第１ロボットマニピュレータを制御する第１制御器；
第２ロボットマニピュレータ；及び
第２駆動信号により第２の予め計画された意図された経路に沿った移動のために前記第２ロボットマニピュレータの移動を制御し、前記第１ロボットマニピュレータとの可能性のある衝突の決定に基づいて且つ前記の第１の予め計画された実際の経路についての予めの知識を伴わずに、前記の第１の予め計画された実際の経路から離れた回避経路に移動するように、前記の第２の予め計画された意図された経路から外す、第２制御器；
を有するロボット装置であり、
前記第１制御器及び前記第２制御器は、前記第２制御器が前記第１駆動信号に基づいて可能性のある衝突を決定するように、第１通信インタフェース及び第２通信インタフェースを介して互いに通信するように構成され；
前記第２の予め計画された意図された経路は所望の速度のシーケンスに基づき；
前記第２制御器は、回避速度のシーケンスに基づいて前記回避経路に沿って前記第２ロボットマニピュレータを移動させる一方、前記の所望の速度のシーケンスに最も近い速度を選択し；
前記回避速度は、少なくとも複数の許容可能な速度の凸集合、前記第２ロボットマニピュレータの運動エネルギー及び／又は前記第２ロボットマニピュレータの少なくとも１つの関節における力に基づく；
ロボット装置。
【請求項２】
請求項１に記載のロボット装置であって：
前記第１ロボットマニピュレータは、少なくとも１つの関節と、前記少なくとも１つの関節の位置決めを実行するために前記少なくとも１つの関節及び前記第１制御器と協働する関節センサと、を有し；
前記第２制御器は、前記少なくとも１つの関節の前記位置決めに基づいて前記可能性のある衝突を決定するように構成される；
ロボット装置。
【請求項３】
請求項１に記載のロボット装置であって、前記第２制御器は、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を決定し、可能性のある衝突を決定するように前記距離を少なくとも１つの閾値距離と比較するように構成される、ロボット装置。
【請求項４】
請求項１に記載のロボット装置であって：
前記第２制御器は、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を反復的に決定し、前記距離に基づいて、前記第１ロボットマニピュレータとの可能性のある衝突を決定するように構成され；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータの幾何モデルを記憶するように構成され；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータの前記幾何モデルに基づいて、前記第２ロボットマニピュレータと前記第１ロボットマニピュレータとの間の距離を決定するように構成される；
ロボット装置。
【請求項５】
請求項４に記載のロボット装置であって：
各々の幾何モデルは、それぞれのロボットマニピュレータを囲む一連のバッファゾーンを有し；
前記第２制御器は、前記第１ロボットマニピュレータ及び前記第２ロボットマニピュレータのそれぞれのバッファゾーン間の重なりに基づいて、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の可能性のある衝突を決定するように構成される；
ロボット装置。
【請求項６】
請求項５に記載のロボット装置であって、前記第２制御器は、どのバッファゾーンが重なり合っているかに基づいて、異なる速度で前記第２ロボットマニピュレータを移動させるように構成される、ロボット装置。
【請求項７】
請求項３に記載のロボット装置であって：
前記第２制御器は、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の接近速度を反復的に決定するように構成され；
前記第２制御器は、前記接近速度に基づいて、前記可能性のある衝突を決定するように構成される；
ロボット装置。
【請求項８】
請求項３に記載のロボット装置であって：
前記第２制御器は、前記第１ロボットマニピュレータと前記第２ロボットマニピュレータとの間の接近速度を反復的に決定するように構成され；
前記第２制御器は、前記接近速度に基づいて、前記可能性のある衝突を決定するように構成される；
ロボット装置。
【請求項９】
請求項１に記載のロボット装置であって；
前記第２ロボットマニピュレータは少なくとも１つの関節を有し；
前記第２制御器は、前記少なくとも１つの関節における力に基づいて、前記の回避速度のシーケンスを決定するように構成される；
ロボット装置。
【国際調査報告】
2013504447.tif 000063
2013504447.tif 000064
2013504447.tif 000065