(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154872
(43)【公開日】2024-10-31
(54)【発明の名称】干渉検知装置および干渉検知方法
(51)【国際特許分類】
G08G 1/16 20060101AFI20241024BHJP
G05D 1/43 20240101ALI20241024BHJP
【FI】
G08G1/16 C
G05D1/02 S
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023069074
(22)【出願日】2023-04-20
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成31年度、国立研究開発法人新エネルギー・産業技術総合開発機構「次世代人工知能・ロボットの中核となるインテグレート技術開発/人工知能技術の社会実装に向けた研究開発・実証/機械学習による生産支援ロボットの現場導入期間削減と多能化」委託事業、産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000003458
【氏名又は名称】芝浦機械株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中村 陽一郎
【テーマコード(参考)】
5H181
5H301
【Fターム(参考)】
5H181AA01
5H181AA07
5H181AA26
5H181AA27
5H181CC03
5H181CC04
5H181LL01
5H181LL02
5H181LL09
5H301CC03
5H301CC04
5H301LL01
5H301LL02
5H301LL03
5H301LL06
5H301LL14
(57)【要約】
【課題】干渉有無を検知する干渉検知領域に少ないデータ量で多様な形状を与え、周囲に存在する物体と干渉検知領域との干渉有無と、同物体と同干渉検知領域との間の最短距離を、容易かつ短時間に求めることができる干渉検知の実現手段を提供する。
【解決手段】本実施形態に係る干渉検知装置は、計測した周辺物体との距離に基づき、設定した3次元または2次元領域と前記周辺物体との干渉の有無を検知する干渉検知装置であって、干渉有無を検知する干渉検知領域を、超2次関数形式で保持する干渉検知領域の形状表現手段と、を備えることを特徴とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
計測した周辺物体との距離に基づき、設定した3次元または2次元領域と前記周辺物体との干渉の有無を検知する干渉検知装置であって、
干渉有無を検知する干渉検知領域を、超2次関数形式で保持する干渉検知領域の形状表現手段と、
を備えることを特徴とする、干渉検知装置。
【請求項2】
干渉有無を検知する前記干渉検知領域を表す超2次関数曲面の少数の設定パラメータを記憶し、手動または外部からの信号または通信により設定または切り替える干渉検知領域形状の設定切替手段と、
を備えることを特徴とする請求項1に記載の干渉検知装置。
【請求項3】
前記干渉検知領域を表す超2次関数曲面上の点をサンプルすることにより、前記干渉検知装置の周囲に存在する周囲物体上の距離計測点と前記干渉検知領域との間の最短距離を算出する、干渉検知領域との最短距離算出手段と、
を備えることを特徴とする、請求項1または2に記載の干渉検知装置。
【請求項4】
前記干渉検知装置の周辺空間内に接近禁止領域に相当する前記超2次関数形式で表される干渉検知領域を設定し、
移動体の制御手段から与えられる前記移動体の移動軌道のサンプル点が前記干渉検知領域に干渉するかどうかを、前記干渉検知領域を表す超2次関数曲面に対する各軌道サンプル点の内外判定計算により判断する干渉検知手段と、
を備えることを特徴とする、請求項3に記載の干渉検知装置。
【請求項5】
前記干渉検知装置の周辺空間内に接近禁止領域に相当する前記超2次関数形式で表される干渉検知領域を設定し、
前記干渉検知装置を制御装置の一部として内蔵する移動体が所定の軌道に沿って移動する場合に、当該移動体の構成部分の一部または全体の形状を点群データで表すとともに、前記構成部分の一部または全体が前記干渉検知領域に干渉するかどうかを、前記干渉検知領域を表す超2次関数曲面に対する点群各点の内外判定計算により判断する干渉検知手段と、
を備えることを特徴とする、請求項3に記載の干渉検知装置。
【請求項6】
前記干渉検知領域は、前記干渉検知装置を制御装置の一部として内蔵する移動体のボディ概形状またはボディ形状を一定距離オフセットさせた形状を、一つ以上の超2次関数で表す、
請求項3に記載の干渉検知装置。
【請求項7】
計測した周辺物体との距離に基づき、設定した3次元または2次元領域と前記周辺物体との干渉の有無を検知する干渉検知方法であって、
干渉有無を検知する干渉検知領域を、超2次関数形式で保持するステップと、
を含むことを特徴とする、干渉検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自動車や建設や農業用の車輌、ドローンや無人搬送車を含む移動ロボット、多関節型ロボットの可動するマニピュレータ部分など、有人運転走行または無人自律走行のいずれをも問わない様々な移動体と、その周辺の物体との干渉検出や干渉回避の技術に関する干渉検知装置および干渉検知方法である。さらに本発明は、ロボットや、セイフティスキャナなどのセンサにおける、当該ロボットやセンサ周辺に設定された干渉検知領域への人や物体の侵入検知、およびロボットやセンサ自体の干渉検知領域への侵入検知の技術に関わる干渉検知装置および干渉検知方法である。
【背景技術】
【0002】
自動車分野では現在、周囲環境を認識するカメラや、LiDAR(Light Detectiоn and Ranging)を備え、人や他車との衝突を回避したり、自動的に駐車をしたり、さらに自動走行をする、自律または半自律走行機能を持つ自動車が実用化されてきている。建設車輌や農業車輌の分野においても同様に、それぞれ無人で施工や耕うんが可能な車輌も実現されている。
【0003】
また、ロボット分野では現在、工場や物流施設内で工作物や材料、各種製品等の搬送を行うロボットや無人搬送車、家庭内で活動する自走式の掃除ロボット、屋内外を飛行し撮像や物資を運搬するドローンなど、自律移動型のロボットの実用化が進んでいる。自律移動型ロボットの中には、走行移動部の上に多関節型のマニピュレータを搭載した、移動マニピュレータ型のロボットもある。基部を床面や設備上の台座に据付固定する多関節型のマニピュレータも、基部から先の腕に相当するリンク部分は、一種の移動体とみなせる。
【0004】
さらに、センサ分野では現在、セイフティスキャナと呼ばれる安全用のセンサがあり、多関節型マニピュレータを利用した設備を含む各種の自動化設備において、人や物流用車輌などの設備への接近を検知するために用いられている。セイフティスキャナは、固定された設備に設置されるほか、自律移動するロボットや無人搬送車に搭載されることもある。こうした様々な車輌やロボットなど移動体の移動中における障害物との衝突や干渉の検知と回避、あるいは自動化設備におけるセンサによる設備に接近する人や車輌との衝突や干渉の検知と回避は、重要な技術になっている。
【0005】
例えば、自動車では近年、道路上での自動運転だけではなく、より狭いスペースでの自動駐車も実現されている。また、移動ロボットや無人搬送車は、専用に設けられた走行レーンを走行移動する事例よりも、人と同じ通路を走行する事例が多くなってきている。このように、自動車や移動ロボット、農業や建設用の車輌等も含む移動体が、有人か無人にかかわらず、できるだけ止まらずにより狭い空間内でより緻密な移動と、移動を伴う作業をするようになると、移動体に搭載されたLiDAR等の距離計測手段が、進行方向の一定距離内に障害物を検知した場合に停止するといった粗い衝突回避では不十分で、移動を止めずに進行方向に対し直交方向にある障害物をすり抜けつつ、進行方向にある障害物にぎりぎりまで接近するといった、より緻密な衝突回避が必要になる。
【0006】
移動ロボットについては、走行部の上にマニピュレータを備えた形式のものも増加してきている。こうしたマニピュレータを備えた移動ロボットについては、人の腕に相当するマニピュレータ部分が作業中に作業対象以外の周囲の物体と衝突することを防ぐ必要があるほか、マニピュレータが移動ロボットのボディ自体に衝突することも防ぐ必要がある。後者の場合、マニピュレータの肘に相当する部分が、ボディのくびれにより、周長が小さい腰部分とは離れているものの、周長が大きい胸部分には接触しそうになっているような場合がある。
【0007】
また、移動ロボットがマニピュレータでドアノブを握ってドアを開け、ドアを通り抜けるような動作を行う場合、自らが開けているドアがボディの左前側から近づいているから、右後側へ少し後退するといった動作も必要になる。
【0008】
移動ロボットに含まれるドローンについては今後、行政機関や事業者が設けた接近禁止空域の情報をドローンの管理者が手動で、またはドローンの制御装置自体が自動で更新し、操縦者がそうした接近禁止空域にドローンを故意または誤って近づけようとした場合も、接近禁止空域には進入できないような制御がなされていくことも想定される。このような場合には接近禁止空域を、様々な形状の建物をおおまかに包絡するような形状や、鉄塔や煙突の周囲一定範囲を覆う円筒状や直方体状、ある地点を中心にした半球状など、多様に設定できることが望まれる。
【0009】
この場合、これら多様な接近禁止空域形状を同一の枠組みかつ少ないデータ量で表現できると、飛行の回避処理も同一の枠組み、かつ少ない計算資源で実行できるため、好ましい。ドローンについてはさらに、例えば特定の田畑のみに手動操作で農薬を散布するような場合、逆に散布対象の田畑上に干渉検知領域を設定しておき散布飛行させ、散布対象の田畑からドローンが外れると干渉検知装置の出力が干渉状態から非干渉状態に変わることを人またはドローンの制御装置が察知して、ドローンが再び対象田畑に入るよう逆方向にドローンを戻すというような使い方もできる。田畑が広く、地表の操作地点からではドローンが操作地点から離れた地点で対象田畑から外れたかどうかが把握しづらい場合に有用である。
【0010】
農業や建設用の車輌についても無人運転や無人施工の実用化が進んできているが、今後は無人化を前提に広くかつ単純な区画形状の圃場や、周囲の樹木等を伐採し整備したような工事現場だけでなく、現在人が巧妙かつ注意深く作業や施工を行っているような圃場や工事現場にも、無人化が求められていく。このような場合、単に地面上にある、他の車輌や人との衝突回避だけではなく、高い位置に突き出た、例えば、撤去を省いた樹木の枝やその他構造物との接触や衝突を避けるような必要も生じる。この場合には、同じ枝に対しても搭乗部とエンジンボンネット部では最短距離や最短距離方向が異なり、その結果接触の危険性も両者で異なるといったことも想定される。
【0011】
衝突や干渉を防止する安全センサについては、2次元平面内で物体を検出する形式に加え、3次元空間内で物体を検出する形式も実用化されている。したがって、3次元空間に多様な形状の干渉検知領域をできるだけ簡単に設定可能にすることが求められてくる。
【0012】
産業用の多関節型マニピュレータについては従来から、マニピュレータ周辺の空間に直方体状の領域を仮想的に設け、当該領域に手先が入った場合に制御装置から外部に信号を出力する機能が備えられていることが多い。この機能は当該領域への接近を禁止しその領域内の設備類を保護したり、他の協調するロボットや設備とのインタロックをとったりするような安全上の目的のほか、他の協調するロボットや設備に対し動作開始指令を出すように、干渉検知を積極的に制御に用いる目的でも使用されている。しかし、当該領域形状は、設定が容易な直方体形状程度に限られている。
【0013】
以上をまとめると、各分野における移動体やセンサの運用形態が高度化するにしたがい、移動体と周囲の物体との衝突の検知と回避、あるいはセンサが設定する干渉検知領域と物体や人との干渉を、移動体やセンサそれぞれが検知するには、単に移動体やセンサが備える距離計測手段と移動体周囲の物体との距離を把握するだけでは不十分である。それだけではなく、移動体のボディを含む多様な形状の干渉検知領域に対し、容易に人や物体との干渉の有無が確認できることに加え、移動体のボディを含む多様な形状の干渉検知領域各部と周囲の物体との距離を、できるだけ正確かつ短時間に把握することが必要になる。
【0014】
干渉検知領域の形状については、特に自動車や農機や建機、人型を含む移動ロボットなど、移動体のボディ形状自体が複雑になってきている。このため、こうした複雑なボディ形状をも扱うことができ、しかもできるだけ少ないデータ量で扱える干渉検知と干渉検知領域に対する距離算出の手段が求められる。
【0015】
移動体とセンサに関する衝突や干渉の検知と回避については、従来から様々な実現方法が提案されている。しかし、それらの仕様を上記に記した背景と要件に照らした場合、必ずしも十分とは言えない。
【0016】
特許文献1には、ロボットやその環境を3角形または4角形の多角形で構成される多面体でモデル化し、ポリゴンすなわち多角形を構成する稜線が相手側の多面体を構成する多角形と交差するかどうかで干渉を判断する方法が開示されている。しかし、用途はロボットの動作を事前に確認するシミュレータであり、ロボットの運転中にリアルタイムに干渉を検知または回避する技術ではない。シミュレーションにとどまっている大きな理由は、ロボットやその外環境を多面体でモデル化するため、多面体のデータ量とデータ処理量が膨大になることである。
【0017】
この干渉検知の計算処理量を具体的にみると、ロボット側の多面体と環境側の多面体との干渉を判定する場合、ロボット側の多面体上の多角形を構成する全稜線m本と、環境側の全多面体n個に対して、m×n回の稜線と多角形との交差判定が必要になる。
【0018】
また、一方の多面体上の多角形に対し、他方の多面体上のどの多角形が近接しているかを即時に逆算することが難しいため、処理プログラムに特別な工夫をしない限り、m×n回の組み合わせ全探索を避け、計算量を減らすことも困難である。また、ロボット側のみが移動するとしても、ロボット側または環境側いずれかの多面体については、多角形を構成する全頂点の座標値を、ロボットの移動量に応じて他方の座標系に座標変換する計算も加わる。干渉検知の精度が、多角形の分解能に依存することも問題である。精度を上げるために分解能を細かくすると、データ量と干渉検知の計算量がともに増大してしまうからである。このように、干渉検知領域の形状を多角形でモデル化することは、一般的な手法ではあるが、リアルタイムで干渉を検知する方法としては得策ではない。
【0019】
特許文献2には、主に道路状の走行路を進むような移動ロボットを対象に、障害物センサを備えた移動ロボットの制御装置が該進行方向に位置する障害物に対して移動速度を調整する形式の、衝突回避法が開示されている。しかし、センサ位置を基準とするセンサ座標系での障害物との距離に応じて衝突回避処理がなされ、直方体や円筒状などの単純形状とは限らないボディ各部と障害物との距離は、衝突回避処理に考慮されていない。このため、衝突回避の移動経路は障害物に対し大回りにならざるを得ず、狭い空間をすり抜けるような移動は難しい。
【0020】
特許文献3には、ロボットのボディと障害物それぞれの3Dモデルをもとに、ロボットのボディと障害物との間の最短距離を算出し、障害物を回避する技術が開示されている。このため、衝突回避の移動経路はロボットのボディや障害物の形状に応じた小回りがきき、狭い空間をすり抜けるような移動もできる。しかし、3Dモデルを凸多面体モデルに変換して最短距離計算がなされているためボディの凹部に対しては負値の距離誤差が発生する。
【0021】
したがって、腕としてマニピュレータを備えた人型に近いボディ形状の移動ロボットを想定し、この移動ロボットがテーブル上の奥にある物品を把持することを想定した場合、テーブルの天板とくびれた腰部との間にはまだ距離余裕があるのに、前記凸多面体変換に伴う最短距離誤差により腰部と天板が干渉状態を判別され、テーブル奥の物品に手先を近接させられない、というような状況も生じ得る。
【0022】
また、特許文献3には前記3Dモデルの具体的な形式は明記されていないが、前記凸多面体モデルを求めるには、少なくともロボットのボディや障害物の構成面上の点群データが必要になる。これは特許文献1同様、干渉検知手段が多くのデータ量を記憶する必要があることを意味する。また、2つの凸多面体の間の最短距離の計算法には一例としてGJKアルゴリズムが使われている。
【0023】
この方法は点と凸多面体を構成する多角形面との最短距離を計算する手法であり、特別な工夫をしない限りは一方の凸多面体上の頂点と、相手側多面体を構成する多角形との組み合わせ全探索が必要になる。最短距離の計算精度が凸多面体を構成する多角形の解像度に依存する点、ロボットの移動に伴いロボットボディもしくは障害物どちらかの点群データの座標変換が必要になる点も特許文献1と同じである。以上から3Dモデルの形式については、特許文献1とまったく同じ問題が生じる。
【0024】
特許文献4には、機械に対する接近体の接近を検出するためのセンサの検出条件設定方法に関する技術が開示されているが、センサそのものに関する技術ではない。特許文献4が想定しているセンサの干渉検知領域は2次元で、3次元ではない。センサを中心に干渉検知領域が設定されており、センサから離れた位置に干渉検知領域を設定することはできない。
【先行技術文献】
【特許文献】
【0025】
【特許文献1】特開平8-278990号公報
【特許文献2】特開2019-21202号公報
【特許文献3】特表2019-516146号公報
【特許文献4】特開2021-186946号公報
【発明の概要】
【発明が解決しようとする課題】
【0026】
以上の先行技術文献に対し、本発明が対応する干渉検知に関する要件は、次のような内容である。干渉を検知する領域は、ロボットやセンサを中心とした周囲の概円筒形や概部分円筒形の領域であったり、ロボットやセンサから離れた空間内に固定的に設けられた、概直方体状や球状の接近禁止領域であったり、自動車やロボットのボディそのものの概形状であったり、またはボディ概形状を一定距離オフセットした形状であったりする。
【0027】
このとき、同じ干渉検知の手順をとりながらも、干渉検知領域の形状は、前記のようにあるときは概円筒状、またあるときは概直方体状、さらにまたあるときは自動車やロボットのボディの概形状と、多様に形状を変えられると便利である。
【0028】
また、少ないデータ量でこうした多様な形状を表されることが望ましい。さらに、距離計測手段でその一部または全てを距離計測した周囲物体と、前記干渉検知領域との干渉が少ない計算量で容易に確認でき、干渉がない場合でも、一定時間後の干渉の可能性を予測したり、大回りしすぎないように周囲物体を避けたりするために、周囲物体上の距離計測点と前記干渉検知領域との間の最短距離を、容易かつ短時間に求めることができると望ましい。
【0029】
本発明は上記に鑑みてなされたものであって、干渉有無を検知する干渉検知領域に少ないデータ量で多様な形状を与え、周囲に存在する物体と干渉検知領域との干渉有無と、同物体と同干渉検知領域との間の最短距離を、容易かつ短時間に求めることができる干渉検知の実現手段を提供することを目的とする。
【課題を解決するための手段】
【0030】
本発明に係る干渉検知装置は、計測した周辺物体との距離に基づき、設定した3次元または2次元領域と物体との干渉の有無を検知する干渉検知装置であって、干渉有無を検知する干渉検知領域を、超2次関数形式で保持する干渉検知領域の形状表現手段と、を備える。
【発明の効果】
【0031】
本発明に係る干渉検知装置によれば、干渉有無を検知する干渉検知領域に少ないデータ量で多様な形状を与え、周囲に存在する物体と干渉検知領域との干渉有無と、同物体と同干渉検知領域との間の最短距離を、容易かつ短時間に求めることができる。
【図面の簡単な説明】
【0032】
【
図1】
図1は、本実施形態の干渉検知装置を移動体の制御装置に組み込んだ場合の構成とデータの受け渡し関係を表したブロック図である。
【
図2】
図2は、本実施形態の干渉検知装置をセンサに組み込む場合の構成とデータの受け渡し関係を表したブロック図である。
【
図3】
図3は、超2次関数形式で形状表現した球の一例を説明するための図である。
【
図4】
図4は、超2次関数形式で形状表現した直方体の一例を説明するための図である。
【
図5】
図5は、超2次関数形式で形状表現した円筒の一例を説明するための図である。
【
図6】
図6は、超2次関数形式で形状表現した直方体と楕円体の中間形状の一例を説明するための図である。
【
図7】
図7は、超2次関数形式で形状表現した上半分のみを図示した円錐体の一例を説明するための図である。
【
図10】
図10は、超2次関数形式で形状表現した移動体の一例を説明するための図である。
【
図11】
図11は、移動体の移動軌道と干渉検知領域との干渉検知の一例を説明するための図である。
【
図12】
図12は、マニピュレータを備えた移動ロボットにおけるマニピュレータおよびボディと周辺の接近禁止領域との干渉検知の一例を説明するための図である。
【
図13】
図13は、マニピュレータを備えた移動ロボットにおけるマニピュレータとボディの干渉検知の一例を説明するための図である。
【
図14】
図14は、センサによる距離計測点の干渉検知の一例を説明するための図である。
【
図15】
図15は、移動体のボディ上最近傍点の探索過程の一例を説明するための図である。
【
図16】
図16は、移動体のボディ外部の点とボディとの最短距離の算出過程の一例を説明するための図である。
【発明を実施するための形態】
【0033】
本実施形態では、干渉検知領域の3次元立体形状を簡潔でありながら多彩な形状表現性を有する超2次関数で表すことにより、その干渉検知領域の形状を、単純な概円筒形状からより複雑な自動車やロボットのボディ形状まで、少ないデータ量で表現可能とするとともに、容易かつ柔軟に変更可能とする。
【0034】
そして、超2次関数式に点(x,y,z)の座標値を代入すれば、計算値が1を超えるか否かで容易に超2次関数曲面に対する内外判定ができる特性を利用し、物体と干渉検知領域との干渉の有無を、簡単かつ短時間で判断可能にする。
【0035】
さらに、この超2次関数曲面の内外判定による干渉確認で干渉が生じていないと判断された場合であっても、将来の衝突の可能性を予測したり、本干渉検知装置を搭載した移動体が物体との衝突を回避する軌道を生成したりするために必要な物体と干渉検知領域境界との距離を、効率よく算出可能とする。
【0036】
この目的のために、超2次関数が与える曲面形状はX・Y・Zの直交3次元空間内で立体をなすにもかかわらず、曲面上の任意の点を方位角と仰角の2変数でサンプルする(=指し示す)ことができる特性を利用する。
【0037】
以下に、本開示に係る干渉検知装置および干渉検知方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。また、下記実施形態における構成要素には、当業者が置換可能、且つ、容易に想到できるもの、あるいは実質的に同一のものが含まれる。
【0038】
本実施形態に係る干渉検知装置は、計測した周辺物体との距離に基づき、設定した3次元または2次元領域と前記周辺物体との干渉の有無を検知する装置である。また、干渉検知装置は、自動車、ドローンや無人搬送車を含む移動ロボット、農機や建機等の移動体の制御系に組み込まれて機能する。また、それら移動体に搭載されて移動体の制御系を構成する、安全用センサに組み込まれて機能する。さらにまた、各種自動化設備など固定設備の制御系に組み込まれて機能する。
【0039】
図1は、本実施形態の干渉検知装置を移動体の移動体制御装置に組み込んだ場合の構成とデータの受け渡し関係を表したブロック図である。移動体1の移動体制御装置3において本実施形態の干渉検知装置4は、干渉検知の対象領域との干渉の有無を検出したり、当該干渉検知領域と距離計測点との最短距離を算出したりする。それらの結果は、移動体制御装置3を構成する実行制御手段に渡され同実行制御手段が移動体1の走行部駆動手段を停止させたり、衝突回避手段に渡され同衝突回避手段はそれらをもとに移動体1が障害物を回避するように走行部駆動手段を制御したりする。
【0040】
また、
図2は、本実施形態の干渉検知装置をセンサに組み込む場合の構成とデータの受け渡し関係を表したブロック図である。センサ2に組み込まれた場合に本実施形態の干渉検知装置4は、距離計測手段が距離を計測した周囲環境上の距離計測点が干渉検知領域に干渉しているかどうか、外部の、
図2では移動体制御装置3に、干渉検知結果を返す。外部の同じく移動体制御装置3から別途指令があった場合には、干渉検知領域と距離計測点との最短距離も移動体制御装置3に返す。
【0041】
図1および
図2において、干渉検知装置4の構成手段である、干渉検知領域の形状表現手段41、干渉検知手段42、干渉検知領域形状の設定切替手段43および干渉検知領域との最短距離算出手段44の、それぞれについて説明する。
【0042】
まず、干渉検知領域の形状表現手段41について説明する。干渉検知領域の形状表現手段41は、干渉有無を検知する干渉検知領域を、超2次関数形式で保持する。本実施形態の干渉検知装置4が対象とする干渉検知領域には、装置の利用形式に対応して3つの種類がある。まず1つめは、移動体1またはセンサ2の周辺環境上の座標系の任意の位置姿勢にあらかじめ設定され、移動体1またはセンサ2自体が能動的な接近を回避すべき領域である。
【0043】
次に2つめは、移動体1またはセンサ2の外部かつ移動体1またはセンサ2上の座標系の任意の位置姿勢に設定され、他の物体や人などの対象物の受動的な接近を回避すべき領域である。次に3つめは、移動体1のボディの全体または一部の近似形状に相当する干渉検知領域である。
【0044】
2つめの対象物の受動的な接近には、移動体1またはセンサ2の能動的な移動に伴い、対象物が新たに検知されてくることを含む。そして、以上の干渉検知領域の3次元形状を、次の式(1)に示す超2次関数で規定する。
【0045】
【0046】
ここで言う超2次関数は、英語表記でSuperquadricsと表される関数である。超2次関数は3次元形状をなすが、式(1)においてパラメータε1=ε2=1とした場合、a1とa2とa3をいずれも等しい値にすれば、その形状は球となり、a1とa2とa3をそれぞれ異なる値にすれば、楕円体になる。
【0047】
このように、a1、a2、a3は、超2次関数が与える3次元形状の、X、Y,Z各方向の大きさまたは広がりを規定する寸法パラメータである。一方、ε1とε2は、ともに形状の丸みを制御する形状パラメータである。本実施形態では、移動体1や障害物について、超2次関数を用いて3Dモデル化を行う。例えば、概円筒や概直方体、円錐台を含む概円錐体、球体を含む概楕円体、概トーラス、概ピラミッド型など、一般的な形状については、予めパラメータを設定したものを多数用意しておき、ユーザはその中から近い形状を選び、パラメータを微調整して、より実際の形状に近づける。複雑な形状については、移動体の製造元が形状を表す数式を与えたり、センサ2のユーザが数式中の前記パラメータを調整可能にしたりしておく。
【0048】
図3から
図7に、式(1)に示す基本形の超2次関数で与えられる3次元形状の点群メッシュを、設定数値とともに示す。
図3は、球の一例である。
図4は、直方体の一例である。
図5は、円筒の一例である。
図6は、直方体と楕円体の中間形状の一例である。
図7は、上半分のみを図示した円錐体の一例である。これらの図示には、超2次関数曲面上の点をサンプルすることが必要である。超2次関数の中心を基準とする超2次関数座標系(X
S,Y
S,Z
S)において、超2次関数曲面上の点P
S=(x
S,y
S,z
S)
Tは、楕円体座標と直交3次元座標との変換式を拡張した次の式(2)にしたがいサンプルされる。
【0049】
【0050】
sgn( )は符号関数である。式(2)に示す、ωは超2次関数座標系(XS,YS,ZS)の原点と点PSを結ぶベクトルがXS軸に対してなす角で地球では経度に相当し、本実施形態では方位角と呼ぶ。ηは前記ベクトルがXS-YS平面に対してなす角で地球では緯度に相当し、本実施形態では仰角と呼ぶ。
【0051】
なお、干渉検知領域は平面上の2次元領域にもできる。2次元領域は式(1)左辺の小括弧( )のzの項を0と置いた場合に等しく、式(2)では仰角ηを0とすればよい。このように2次元領域は3次元領域に包含されるため、以下では引き続き干渉検知領域を3次元領域として説明を進める。
【0052】
次に、超2次関数の形状表現性を高める方法を示す。超2次関数には、複数の拡張系がある。その一つはDeformable superquadricsと呼ばれ、次の式(3)に示すように式(1)内のx、y、zを単なる変数ではなく、変形関数と呼ばれる関数にする形式である。
【0053】
【0054】
式(3)中、fx
-1(y,z)、fy
-1(x,z)、fz
-1(x,y)はそれぞれ、変形関数fx(y,z)、fy(x,z)、fz(x,y)の逆関数である。
【0055】
変形関数については、文献1に述べられているように、Tapering、Bending、Cavity deformation等が提案されており、これらの合成変換も可能である。
【0056】
文献1: F. Solina, R. Bajcsy, Recovery of Parametric Models from Range Images: The Case for Superquadrics with Global Deformations, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp.131-146, Vol.12, No.2, (1990).
【0057】
図8は、
図5に示した円筒形状に、底面と上面の径を中央に対しそれぞれ30%増減させるTaperingと、20°の仰角で曲げるBendingを与えた円筒の変形例である。また、
図9は、円筒に180°の仰角で曲げるBendingを与え、円筒をトーラス状に変形した例である。基本的には任意に変形関数を定義できるが、式(3)への座標値の代入による座標点の内外判定を行う必要がある場合には、順方向変換とともに逆方向変換を定められなければならない。
【0058】
図10は、Tapering変形に加え、逆関数を持つシグモイド関数を用いた変形を施し、移動体(一例として、ミニバン自動車のボディ)を模した形状である。もし、式(3)への座標値の代入による内外判定が必要ない場合には、逆変換を考えずに回帰などの各種関数近似手法や曲線補間を用いて、より複雑な形状変形を施すこともできる。
【0059】
超2次関数曲面上の点のサンプルは、干渉検知手段42と、干渉検知領域との最短距離算出手段44でも用いられる。前者において対象形状を偏りなく干渉検知したり、後者において外部の点に対し最も近接した干渉検知領域上の点を正確に求めたりするには、
図3から
図10、
図12から
図13、
図15から
図16に示した曲面メッシュのように、干渉検知領域上の点をできるだけ一様にサンプルできることが望ましい。
【0060】
一様サンプルの方法は複数あり、文献2や文献3などに詳しいが、適用する方法と変形関数の形や近似したい曲面形状によっては、アレンジが必要な場合がある。
【0061】
文献2: E. Bardinet, L. D. Cohen, N. Ayache, A parametric deformable model to fit
unstructured 3D data, Computer Vision and Image Understanding, 71(1), pp.39-54, 1998.
【0062】
文献3: B. C. Vemuri, A. Radisavwevic, Multiresolution Stochastic Hybrid Shape Models with Fractal Priors, ACM Transactions on Graphics, Vol. 13, No. 2, pp.177-207, 1994.
【0063】
図3から
図10の例は文献1にしたがっており、その場合、式(2)は以下の式(4)ように変形される。
【0064】
【0065】
【0066】
式(2)と式(4)いずれにおいても重要なのは、超2次関数曲面は立体をなすにもかかわらず、方位角ωと仰角ηの角度2つのみを指定すれば、それら角度に対応する3次元の座標値点(xS,yS,zS)が、いつでもサンプルできる点である。そして、式(2)と式(4)に示したこれら2つの角度の定義範囲を、それぞれ任意の分解能で変化させることで、曲面全体から曲面上の点をサンプルすることができる。
【0067】
これは、超2次関数は幾何学的には球面と同じ2次元多様体であり、地球表面の位置が経度と緯度で定まるのと同じく、超2次関数曲面上の点が方位角と仰角で定まるからである。これにより、後述するように干渉検知と最短距離計算を効率的に実行することができる。
【0068】
この特性は、干渉検知領域を構成する点群データや多面体の頂点の3次元座標値(x,y,z)を特定の粗さの分解能で全て保持する必要があり、なおかつ領域の特定の部位にある点に検索手段なしで直接アクセスする手段を持たない従来技術の特性と、大きく異なる。
【0069】
なお、ここに述べた式(1)のx、y、zを変形関数にする拡張系のほかにも、式(1)においてパラメータε1とε2を関数にするExtended Superquadricsや、それをさらに一般化したHyperquadricsと称する形式、式(1)のa1、a2、a3を関数にする形式などもあるが、本実施形態はこれらの拡張系も総合して超2次関数と呼び、本発明の対象に含める。
【0070】
図3から
図10に示したような3次元形状の例のほか、これら拡張系を用いると、例えば、くさび状、バナナ状、帽子や灰皿状、靴状など、少数かつ有限個のパラメータで多様な3次元形状を表現することが可能である。逆に、最適化計算により様々な物体の形状計測データに超2次関数をあてはめることも可能で、飲料缶や菓子袋、心臓の心室等の形状に超2次関数を適合させている例がある。
【0071】
このように、大きさと形状を規定する式(1)の5つのパラメータと、各種の変形を規定する少数かつ有限個のパラメータで多様な3次元形状を表現することができる超2次関数は、干渉検知領域の形状表現手段41に好適である。
【0072】
次に、干渉検知手段42について説明する。超2次関数の座標系(XS,YS,ZS)において、ある点P(x,y,z)が超2次関数で表される曲面内に位置するか否かのいわゆる内外判定は、内外関数(inside-outside function)と呼ばれる式(1)または式(3)の左辺に(x,y,z)の座標値を代入するだけで、容易に判定できる。
【0073】
すなわち、式(1)の左辺をF(x,y,z)と表したとき、F(x,y,z)<1であれば、点Pは超2次関数で表される曲面内に位置し、F(x,y,z)=1であれば点Pは超2次関数曲面上に位置し、1<F(x,y,z)であれば点Pは超2次関数曲面の外側に位置する。式(3)でも同様である。この特性を用いて、本実施形態における干渉検知手段42は、以下の3種類を対象に干渉を検知する。
【0074】
まず、1つめに、移動体1の移動軌道からサンプルした移動軌道上の点が、超2次関数で表された干渉検知領域に干渉するか否かを判定する。
図11は、移動体1の移動軌道と干渉検知領域との干渉検知の一例を説明するための図である。
図11には、干渉検知領域111と、移動軌道112を示す。
図11に示す干渉検知領域111は、移動体1の外部周辺に設定した接近禁止領域に相当する場合と、移動体1のボディそのものの場合の両方がある。
【0075】
マニピュレータ手先やドローンなど移動体1の移動軌道112の上の点が移動体1を代表するとみなし、次に示す2つめの詳細な干渉検出よりも粗く干渉を検知しようとする処理であり、移動体1の動作前の実行、または動作中に軌道上の点を先読みして実動作よりも先に計算する形での実行を意図している。
【0076】
つまり、干渉検知手段42は、干渉検知装置4の周辺空間内に接近禁止領域に相当する超2次関数形式で表される干渉検知領域を設定し、移動体1の制御手段から与えられる移動体1の移動軌道のサンプル点が干渉検知領域に干渉するかどうかを、干渉検知領域を表す超2次関数曲面に対する各軌道サンプル点の内外判定計算により判断する。なお、干渉検知領域111は複数の超2次関数曲面を組み合わせ配置して構成してもよく、複数の超2次関数曲面は、それぞれ形状が異なっていてもよい。また、この処理に必要な軌道データは、移動体制御装置3の軌道記憶手段または軌道生成手段から干渉検知手段42に渡される。
【0077】
次に、2つめに、移動体1の全体形状、あるいは干渉を検出または回避したい一部の形状を近似した点群データが、超2次関数で表された干渉検知領域に干渉するか否かを判定する。本形状近似点群データは、移動体1のCAD(Computer Aided Design)データをもとに作成したデータを記憶する形式でもよいが、該当部分の形状を近似した超2次関数から式(2)や式(4)に基づき干渉検出時に適時データをサンプルするのが、データ記憶量削減の観点からは適当である。
【0078】
また、この場合の干渉検知領域も、移動体1の周辺に設定した接近禁止領域に相当する場合と、移動体1のボディそのものの場合の両方がある。
図12は、マニピュレータを備えた移動ロボットにおけるマニピュレータおよびボディと周辺の接近禁止領域との干渉検知の一例を説明するための図である。
図13は、マニピュレータを備えた移動ロボットにおけるマニピュレータとボディの干渉検知の一例を説明するための図である。
図12および
図13には、マニピュレータ121、移動ロボット122、干渉検知領域123および干渉発生地点124を示す。なお、
図12および
図13に示すボディ133とマニピュレータ121は、ともに、外形の点群メッシュは超2次関数をサンプルして生成している。
【0079】
マニピュレータ121を備えた移動ロボット122を考えた場合(
図12、
図13)、マニピュレータ部分を超2次関数で近似し、そこから粗くサンプルした点群が、移動ロボット122の外部の接近禁止領域に干渉しないかどうかを、上述した内外関数に基づく方法によって判断することができる(
図12)。同様に、干渉検知領域123を移動ロボット122のボディ133としておき、マニピュレータ121が動作時にボディ133と干渉しないかどうかを判断することもできる(
図13)。本検知処理も1つめと同様に、移動体1の動作前の実行または、動作中に軌道上の点を先読みする形での実行を意図している。
【0080】
つまり、干渉検知手段42は、干渉検知装置4の周辺空間内に接近禁止領域に相当する超2次関数形式で表される干渉検知領域123を設定し、干渉検知装置4を移動体制御装置3の一部として内蔵する移動体1(移動ロボット122)が所定の軌道に沿って移動する場合に、当該移動体1の構成部分の一部または全体の形状を点群データで表すとともに、構成部分の一部または全体が干渉検知領域123に干渉するかどうかを、干渉検知領域123を表す超2次関数曲面に対する点群各点の内外判定計算により判断する。
【0081】
次に、3つめに、移動体1またはセンサ2上に備えられた距離計測手段が計測した距離に対応する周囲の物体や環境上の距離計測点が、前記超2次関数で表された干渉検知領域に干渉するか否かを判定する。例えば、移動体1やセンサ2の周囲に接近禁止領域に相当する干渉検知領域を設定し、移動体1の進行方向の特定範囲への人や車輌の進入と障害物の接近、あるいは危険箇所近くに固定設置したセンサ2の監視エリアへの人や車輌の進入を検知するような場合に相当する。
図14はこの例である。
図14は、センサ2による距離計測点の干渉検知を示す。
図14には、超2次関数で表現した干渉検知領域141、センサ2の一例である距離センサ142および距離計測点(距離検出点)143を示す。
【0082】
なお、超2次関数は座標変換をすることで、3次元空間内の任意の位置に任意の姿勢で配置することができる。これにより、上記1つめの干渉検知において空間内に傾けて接近禁止領域に相当する干渉検知領域を設置したり、上記2つめの干渉検知においてマニピュレータ121のリンク形状を超2次関数で近似して(
図12、
図13)、6自由度で運動するそれらリンクが任意の座標系空間内に設置した接近禁止領域相当の干渉検知領域123に干渉するか否かを、判断したりすることができる(
図12)。このことを具体的に、最も基本的な座標変換の例で示す。
【0083】
超2次関数曲面がなす3次元形状の中心-これは超2次関数の基本形態である球または楕円体の中心に等しい-に原点を置いた超2次関数座標系(XS,YS,ZS)上の点pS=(xS,yS,zS)Tと、距離データを干渉検知装置4に提供する距離計測手段に設けた距離計測手段座標系(XM,YM,ZM)上の点pM=(xM,yM,zM)Tとの関係は、次の式(6)および式(7)で表される。1
【0084】
【0085】
【0086】
これらの式は、座標変換を表す一般式である。式(6)中の座標変換行列Tの構成要素のうち、dは距離計測手段の座標系(XM,YM,ZM)の原点から超2次関数座標系(XS,YS,ZS)の原点までの並進量を表すベクトル(3×1)、Rは(XM,YM,ZM)に対する(XS,YS,ZS)の回転を表す3×3の回転行列を表す。
【0087】
式(2)や式(4)でサンプルした超2次関数曲面上の点は、式(6)により、距離計測手段座標系上の任意の位置に任意の回転姿勢で配置できる。同様に、距離計測手段座標系から例えば距離計測手段を保持する移動体座標系、移動体座標系から移動体1が走行するワールド座標系へと、座標変換することも当然可能である。
【0088】
逆に、距離計測手段が計測した距離に対応する距離計測手段座標系上の距離計測点143を、式(7)にしたがい超2次関数座標系に座標変換することで、干渉検知手段42における内外関数による内外判定により、同距離計測点が超2次関数で表される干渉検知領域141内にあるか否かを判断することができる。
【0089】
なお、ロボット工学の一般知識により、マニピュレータを構成する各リンクのマニピュレータ運動中の位置と姿勢角は運動学の概念により算出でき、求められた位置と姿勢角はそれぞれ式(6)のdとRにあてはめられる。これにより、2つめの形式の干渉検知が可能になる。姿勢角の表現法にはオイラー角や角軸ベクトル等の表現があるが、いずれも式(6)の回転行列形式に変換できる。
【0090】
次に、干渉検知領域形状の設定切替手段43について説明する。干渉検知領域形状の設定切替手段43は、干渉有無を検知する干渉検知領域を表す超2次関数曲面の形状や場所に関するパラメータを複数記憶する。そして、干渉検知装置4が移動体に組み込まれる場合(
図1)、干渉検知装置4がセンサ2に組み込まれる場合に(
図2)、いずれにおいても干渉検知装置4の外部からの信号または通信または手動設定により、それらパラメータを設定または切り替えられるようにする。また、移動体1やセンサ2の外部からもユーザあるいは製造元により、外部インタフェースを通じて新しい干渉検知領域形状に対応した超2次関数のパラメータが追加されたり処理対象として設定されたりすることもある。
【0091】
例えば、干渉検知領域形状の設定切替手段43は、移動体制御装置3の実行制御手段から、移動体1の動作モードに応じた干渉検知領域の切り替え指令を受ける。例えば、切り替え指令は、所定軌道上を移動する移動体1の特定の周囲物体との干渉検知のために、移動体外部の干渉検知領域に指定番号の超2次関数のパラメータを切り替える、あるいは干渉検知領域を指定番号の移動体のボディ形状に切り替える、等である。
【0092】
本実施形態の干渉検知装置4が対象とする干渉検知領域には、装置の利用形式に対応して3つの種類がある。
【0093】
まず、1つめの種類は、移動体1またはセンサ2の周辺環境上の座標系の任意の位置姿勢にあらかじめ設定され、移動体1または移動体1に搭載されたセンサ2が、能動的な接近を回避すべき領域である。次に、2つめの種類は、移動体1またはセンサ2の外部かつ移動体1またはセンサ2上の座標系の任意の位置姿勢に設定され、他の物体や人などの対象物の受動的な接近を回避すべき領域である。なお、対象物の受動的な接近には、移動体1またはセンサ2の能動的な移動に伴い、対象物が新たに検知されてくることを含む。続いて、3つめの種類は、移動体1のボディの全体または一部の近似形状に相当する干渉検知領域である。
【0094】
上記3つの干渉検知領域の種類の違いに対応して、干渉検知領域形状の設定切替手段43は、移動体1やセンサ2の運用の変更時に干渉検知領域形状の手動設定を受け付けるとともに、移動体1の活動状況に応じて移動体制御装置3の実行制御手段から指令を受け、干渉検知領域を切り替える。これら両方のはたらきをする。
【0095】
はじめに、1つめおよび2つめの種類に対応した場合のはたらきについて述べる。概円筒や概直方体など一般的な代表的形状については、外部インタフェースからユーザが手動、または外部からの信号や通信などにより形状を選択可能としたうえ、超2次関数曲面が選択された形状になるように式(1)の丸みのパラメータε1とε2をあらかじめ与えておき、寸法パラメータa1とa2とa3をユーザが変えられるようにしておく。
【0096】
また、超2次関数曲面で与えられる干渉検知領域の設定位置と姿勢について、式(6)内の座標変換行列Tを構成する並進量dと回転行列Rを設定および保持できるようにしておく。その結果、
図3に示したような概円筒や概直方体、円錐台を含む概円錐体、球体を含む概楕円体、概トーラス、概ピラミッド型など、一般的な代表的形状については形状を選択可能としたうえ、超2次関数曲面が選択された形状になるようなパラメータをあらかじめ記憶しておき、寸法と配置位置を手動で変えられるようにしておくことで、ユーザは詳細設定の手間を省きつつ、多様な3次元形状を干渉検知領域に選ぶことができる。
【0097】
次に、3つめの種類の移動体1のボディ形状の指定と切り替えについて述べる。移動体1のボディ形状は複雑であるため、複数の超2次関数の組み合わせや、当該ボディ形状に特化した超2次関数の変形関数によって表現されると考えるのが妥当である。また、ボディ形状については通常、移動体1を運用するユーザが干渉検知装置4に変形関数を含む超2次関数のパラメータを設定することはない。干渉検知装置4を組み込む移動体1の製造元が、特定機種のボディに関する超2次関数のパラメータを干渉検知装置4に設定するのが、通常の運用形態であると想定される。
【0098】
この場合、移動体1のボディ形状が一般に複雑かつ機種固有であることや、干渉検知の処理時間を短縮したいことを考えると、複数の超2次関数の組み合わせや輪郭を近似した変形関数等を含むボディ形状を表す数式を、移動体1の製造元が干渉検知手段42の処理実行プログラムに直接記述するのが妥当である。そして、干渉検知領域形状の設定切替手段43が干渉検知装置4の外部からの指定を受けた場合にこの関数を呼び出したり、番号を通知して干渉検知手段42が処理を実行する関数を切り替えられるようにしたりしておく。
【0099】
個別の数式で定義される超2次関数の変形関数についても同様に、種別ごとに干渉検知手段42の処理実行プログラムに変形関数を実装しておく。そして、干渉検知領域形状の設定切替手段43が指定した形式の変形関数が干渉検知手段42の処理実行プログラムで呼び出される際、干渉検知領域形状の設定切替手段43は、超2次関数の形状や位置を定めるパラメータとともに、記憶していた当該変形関数のパラメータも干渉検知手段42に対して渡す。
【0100】
次に、干渉検知領域との最短距離算出手段44について説明する。干渉検知領域との最短距離算出手段44は、干渉検知領域を表す超2次関数曲面上の点をサンプルすることにより、干渉検知装置4の周囲に存在する周囲物体上の距離計測点と、干渉検知領域と、の間の最短距離を算出する。干渉検知領域に対し最短距離を算出する対象点は、干渉検知手段の干渉検知対象と同じく、以下の3つの種類である。
【0101】
まず、1つめの種類は、距離検出手段が計測した距離に対応する、移動体1やセンサ2周囲の物体上の距離計測点である。次に、2つめの種類は、移動体1の全体形状、あるいは干渉を検出または回避したい一部の形状を近似した点群データ各点である。続いて、3つめの種類は、移動体1の軌道上の点である。
【0102】
干渉検知手段42により干渉がないと判断された場合でも、衝突回避手段36が一定時間後の衝突の可能性を予測したり、大回りしすぎないように周囲物体を避けたりするために、周囲物体上の距離計測点、あるいは移動体1の軌道上の点と、干渉検知領域との間の最短距離を知ることは非常に有用である。
【0103】
そのため、式(2)または式(4)にしたがい方位角と仰角を変化させて超2次関数曲面上の点を繰り返しサンプルし、これら各点と対象点との距離を探索的に計算することで、対象点と干渉検知領域との最短距離を算出する。その手順の一例を具体的に示す。
【0104】
最初に、最短距離を算出する対象点の位置から、最短距離の探索計算を開始する方位角と仰角を逆算する。式(1)や式(3)に示した超2次関数で与えられる曲面は、球や楕円体の表面をパラメータε1とε2や変形関数でスケーリングした曲面、あるいは歪める形で変形した曲面ととらえられる。
【0105】
この認識に基づいて、球や楕円体を利用して逆算する方法が複数考えられる。超2次関数曲面の形によって、どの方法が最も真値に近い角度を与えるかは変わり得るが、ここでは簡単かつ広範に利用できる方法について一例を示す。
【0106】
この方法は、超2次関数曲面の広がりを規定するパラメータである式(1)のa1、a2、a3のみに着目し、これら3パラメータで決まる楕円体に対して、対象点に最も近接した楕円体上の点を与える方位角と仰角を求める。最短距離を算出すべき対象点(x,y,z)が与えられたとき、この点に対応する超2次関数への変形前、すなわちε1=ε2=1の楕円体上の点の方位角ωと仰角ηは、楕円体に関する一般的な幾何学的知識から、次式の式(8)により容易に計算できる。
【0107】
【0108】
続いて、このようにして得られる方位角と仰角の2つの角度値を探索初期値として、最短距離の探索を開始する。以下に、3次元空間内の1つの点Aが与えられた場合、点Aに対して超2次関数で与えられる干渉検知領域との最短距離および最短距離点を算出する全体の手順を以下に要約する。なお、干渉検知領域の形状が球でそれを表す超2次関数においてa1=a2=a3の場合、これら方位角と仰角が最短距離点を与える角度値であり、以下に述べる探索処理が必要ないことは言うまでもない。
【0109】
(最短距離点の算出手順)
手順1:例えば、式(8)にしたがい、干渉検知領域における点Aの方位角と仰角を求める。これら方位角と仰角を探索の初期角度とする。また、暫定最短距離値に大きな値をセットする。
手順2:手順1で求めた探索の初期角度近傍の一定角度範囲を対象に、最短距離を以下のように探索する。
手順2-1:方位角と仰角をそれぞれ探索初期角度の周辺で一定の角度増分を与え、変化させる。
手順2-2:変化させた方位角と仰角を式(4)に代入して超2次関数で与えられる曲面上の点をサンプルして、これを点Bとする。
手順2-3:点Aと点Bとの間の距離を求め、距離値が暫定最短距離値より小さければ、暫定最短距離値を当該距離値に更新する。同時に、点Bの座標を暫定最短距離点として記憶する。
手順3:方位角と仰角それぞれ所定角度範囲分探索が終了したら、その時点の暫定最短距離と暫定最短距離点を、それぞれ最終的な暫定最短距離と暫定最短距離点とする。
【0110】
手順3で最短距離点を与えた方位角と仰角を探索初期角度として、その近傍を手順2にしたがいさらに細かい角度増分で探索し、より正確な最短距離を算出することもできる。
【0111】
図15と
図16は、複雑な形状の干渉検知領域に対し、その外部の点に対し最短距離を上記の方法に基づいて算出する過程を示している。
図15は、ボディ上最近傍点の探索過程を示す。
図16は、ボディ外部の点とボディとの最短距離の算出例を示す。この例で干渉検知領域の対象としているのは、一例として、マニピュレータを備えた芝浦機械製の移動ロボットCONOID-3のボディ形状である。なお、CONOIDは登録商標である。式(3)の変形関数f
x、f
yに輪郭形状の近似式を設定し、ボディ形状を超2次関数で表している。
【0112】
図15に示す点151は最短距離の算出対象点である。また、点152は、式(8)に基づき求められた方位角と仰角の探索初期角度に対応するボディ上の探索初期点を示す。線153は、探索過程で探索初期角度の周辺に方位角と仰角を変化させて算出した、距離に対応するベクトルを示す。
【0113】
以上の探索過程の中から、最短距離とそれに対応する最短距離点を求める。ここで、超2次関数曲面はX・Y・Zの直交3次元空間内で立体をなすにもかかわらず、式(4)や式(2)に基づき、上述した干渉検知手段42に示したように、曲面上の任意の点(xS,yS,zS)を、方位角ωと仰角ηの2変数でサンプルすることができる。
【0114】
そのため、X・Y・Zの3方向を探索することなく、しかも式(8)のようにして絞り込んだ探索の初期角度近傍に限定して2つの角度を変化させて超2次関数曲面上の点をサンプルすることで、効率よく最短距離点と最短距離を算出できる。
【0115】
図16は、
図16に示す点161に対し、上述の探索過程により最短距離点と最短距離を算出した例である。点162は方位角と仰角の探索初期角度に対応する探索初期点である。線163は、点161に対し算出された最短距離に対応するベクトルである。
【0116】
このボディ形状の表現に必要なデータは、式(1)の5つのパラメータと、左右側面の輪郭形状を近似するf
yの関数式、および前面と後面の輪郭形状を近似する2つのf
xの関数式のみであり、形状の複雑さに比べて少ない。なお、
図12および
図13も同ロボットを示している。
【0117】
このようにボディを干渉検知領域とし、それに対し自身に備わるマニピュレータや周囲の物体上の代表点との最短距離と、最短距離を与えるボディ上の最短距離点がどこかを把握し、それら最短距離と最短距離点の情報を
図1に示す衝突回避手段36に伝えることで、ボディとマニピュレータ、またはボディと周囲の物体との衝突を回避させられる。
【0118】
以上説明したように、本実施形態の干渉検知装置4は、計測した周辺物体との距離に基づき、設定した3次元または2次元領域と物体との干渉の有無を検知し、干渉有無を検知する干渉検知領域を、超2次関数形式で保持する。
【0119】
例えば、周辺物体との干渉の有無を検知する干渉検知領域を、超2次関数を使用することが好適であることは、
図1に示した多様な3次元形状を簡単な式(1)により表現可能であることからも、明らかである。本実施形態の干渉検知装置4が干渉検知領域の形状を記憶するにあたり、既存技術のように干渉検知領域境界の全点群データや全多角形ポリゴンデータを保持する必要はなく、位置姿勢以外の形状情報に関しては超2次関数の大きさと形状を規定する5つのパラメータ、および形状変形を与える少数かつ有限個のパラメータのみ保持すればよい。
【0120】
また、本実施形態の干渉検知装置4は、移動体1の制御手段から与えられる移動体1の移動軌道のサンプル点が干渉検知領域に干渉するかどうかを、干渉検知領域を表す超2次関数曲面に対する各軌道サンプル点の内外判定計算により判断する。
【0121】
例えば、干渉検知領域に干渉するかどうかを、干渉の有無を判断したい物体上の点や軌道上の点の(x,y,z)座標値を超2次関数式に入力し、当該超2次関数式が1を超えるかどうかだけを確認すればよいので、ごく短時間で実行できる。したがって、例えば、ロボットの実機上で運転中リアルタイムに、もしくは運転中の動作直前に、干渉を検知することができる。
【0122】
具体的には、干渉検知領域に対し干渉を判断すべき点がn点ある場合、本実施形態における干渉判断の回数は、前記の単純な内外判定計算がn回でよい。これは、例えば、多角形多面体で構成される干渉検知領域がm個の稜線(多角形の)を有し、その多面体とn個の多角形で構成される別の多面体との干渉を判断する場合に、稜線と多角形とのm×n回の組み合わせ交差判定が必要になる従来手法とは、処理計算回数が大きく異なる。
【0123】
さらに、本実施形態の干渉検知装置4は、干渉有無を検知する干渉検知領域を表す超2次関数曲面の少数の設定パラメータを干渉検知領域形状の設定切替手段に記憶しておいて、それらを手動または外部からの信号または通信により設定または切り替える。
【0124】
例えば、干渉検知領域形状の設定切替について、超2次関数の特性を活かし多様な3次元形状を干渉検知領域として設定可能とするため、手動や外部からの通信または信号などにより、超2次関数を規定する少数のパラメータを、切り替えまたは調整可能とした。その結果、概円筒や概直方体など一般的な代表的形状については形状を選択可能としたうえ、超2次関数曲面が選択された形状になるようなパラメータをあらかじめ与えておき、寸法と配置位置を手動で変えられるようにしておくことで、ユーザは詳細設定の手間を省きつつ、多様な3次元形状を干渉検知領域に選ぶことができる。
【0125】
一方、マニピュレータを備えた移動ロボットで例示すると、マニピュレータを使用しない広域走行時は、移動ロボットの前方に走行速度によって自動的に大きさが変化する概直方体状の干渉検知領域を設け、走行路上の障害物を検知する。次に、局所でのマニピュレータを使った作業時には、自動で移動ロボットのボディを干渉検知領域に切り替え、周辺の物体の距離を計測した距離計測点や、ボディと同じく超2次関数で近似したマニピュレータの複数のリンクが、ボディに干渉しないかを監視する。それに加えて、移動ロボットの外部にも接近禁止領域相当の干渉検知領域を自動追加設定し、そこにマニピュレータ手先の軌道が干渉しないか判断する。以上のようなことが可能になる。
【0126】
また、人や物体の接近を検出するセンサを例にとると、あるときは3次元空間内にセンサを中心とする外円筒状の干渉検知領域をその直径と高さをユーザが変更したうえで設定し、別のあるときには手動で切り替えて、センサから離れた空間に概直方体状の接近禁止領域に相当する干渉検知領域を設ける、といったことが可能になる。
【0127】
また、本実施形態の干渉検知装置4は、干渉検知領域を表す超2次関数曲面上の点をサンプルすることにより、衝突回避処理に必要となる干渉検知装置4の周囲に存在する周囲物体上の距離計測点と、干渉検知領域と、の間の最短距離を算出する。
【0128】
例えば、干渉検知領域との最短距離算出について、一方の多面体上の多角形に対し、他方の多面体上のどの多角形が近接しているかを即時に逆算することが難しい従来技術と異なり、最短距離を算出する対象点に対して、それに対応する超2次関数の方位角と仰角を、干渉検知領域によっては近似ながら、即座に逆算できる。
【0129】
さらに、超2次関数が与える曲面形状はX・Y・Zの直交3次元空間内で立体をなすにもかかわらず、曲面上の任意の点(xS,yS,zS)を方位角と仰角の2変数でサンプルすることができるため、X・Y・Zの3方向を探索することなく、逆算した方位角と仰角を基準にその周辺に限定して2つの角度を変化させて超2次関数曲面上の点をサンプルし、その点と対象点との距離を探索的に計算することで、効率よく最短距離を算出できる。
【0130】
3次元形状を点群や多面体で近似する従来技術の場合、点群を構成する点や多面体を構成する多角形の頂点のデータはメモリ上に記憶されるが、隣接した点と点や隣接した頂点と頂点がメモリ上で隣接しているとは限らないため、ある部分に絞って最短距離を探索することも容易ではない。一方、超2次関数の場合は、逆算した最短距離近傍の方位角と仰角それぞれに対し、単純に、例えば、10°から+10°まで0.1°ずつ角度を変化させるだけで、それら角度の周辺を連続的に探索することができ、最短距離計算を効率よく実行できる。
【0131】
さらに、凹部がある3次元形状であっても、従来技術のように凸体近似をすることはないため、精度よく距離を求めることができる。また、距離精度を上げようとすると点群や多面体の分解能を細かくする必要があり、結果的に点群や多面体の記憶量が増大してしまう従来技術と異なり、最短距離を探索する際の方位角と仰角の変化の分解能を、干渉検知領域形状のパラメータ記憶量を変えることなく、粗くすることも細かくすることもできる。したがって、粗い分解能の探索で最短距離の点を与える方位角と仰角を絞り込んだ後に、細かい分解能の探索をすることで、距離算出時間を短縮しつつ距離の精度を上げることができる。
【0132】
なお、上述した実施形態は、干渉検知装置4が有する構成または機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
【0133】
(変形例1)
例えば、干渉検知領域の形状表現手段41は、超2次関数曲面上に一様分布する点群の生成が難しい、あるいは変形関数による輪郭の近似が著しく難しいなど、干渉検知領域の3次元形状を超2次関数による曲面に近似しづらいような場合、干渉検知領域の3次元形状を、各高さの断面を積層した形に近似してもよい。また、各断面では、断面の輪郭形状を、2次元の超2次関数で近似してもよい。
【0134】
(変形例2)
例えば、干渉検知手段42は、移動体1のボディ形状そのものではなく、ボディ形状を一定距離オフセットさせた形状を一つ以上の超2次関数で表し、干渉検知領域としてもよい。これにより、移動体1のボディに他の物体や移動ロボットのマニピュレータなどが干渉するおそれがあることを、オフセット量相当分だけ早期に、把握することができる。
【0135】
(変形例3)
例えば、干渉検知領域との最短距離算出手段44は、本実施形態においては、
図15と
図16に示すような、超2次関数の勾配計算が簡単ではない曲面形状に対して、勾配を使わずに外部の点との最短距離を効率よく算出する方法を与えている。ここではその算出法を具体的かつ直接的に説明するために、いわゆるグリッドサーチの手法を用いて説明した。しかしながら、手順2については、このようなグリッドサーチではなく、ネルダーミード法のような、評価関数の勾配を使わない非線形最適化法を使ってもよい。
【0136】
なお、上述した実施の形態における、上記処理を実行するためのプログラムは、上記各機能部を含むモジュール構成となっており、実際のハードウェアとしては、例えば、CPU(Central Processing Unit)がROM(Read Only Memory)、HDD(Hard Disk Drive)またはSSD(Solid State Drive)から処理プログラムを読み出して実行することにより、上述した各機能手段がRAM(Random Access Memory)上にロードされ、上述した各機能手段がRAM上に生成されるようになっている。なお、上述した各機能手段の一部または全部を、FPGA(Field-Programmable Gate Array)などの専用のハードウェアを用いて実現することも可能である。
【0137】
以上、本発明の実施形態について説明したが、上述した実施形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能である。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、この実施形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0138】
1 移動体
2 センサ
3 移動体制御装置
4 干渉検知装置
41 干渉検知領域の形状表現手段
42 干渉検知手段
43 干渉検知領域形状の設定切替手段
44 干渉検知領域との最短距離算出手段