(57)【特許請求の範囲】
【請求項１】
曲面の走行面をロボットが自律走行するために、走行可能領域を確認する方法であって、
ａ）多数の曲面に分割された前記走行面の幾何モデルを生成するステップと、
ｂ）前記幾何モデルを用いて前記多数の曲面を多数の三角形に分割するステップと、
ｃ）前記多数の三角形それぞれと前記多数の三角形と隣り合う三角形との間の角度を計算するステップと、
ｄ）前記角度が前記ロボットの走行許容範囲内であるか否かを判断するステップと、
ｅ）前記角度が前記ロボットの走行許容範囲内である場合、該当する三角形は走行可能領域であると規定する１次走行可能領域確認ステップと、
を含み、
前記ステップｂ）において、一つの前記曲面内において隣り合う三角形間にエッジ及び頂点を共有するように多数の三角形に分割し、
前記ステップｃ）において、エッジまたは頂点を共有して隣り合う三角形間に、それぞれの三角形が形成する面の間になす角度を計算することを含むことを特徴とするロボットの走行面走行可能領域確認方法。
【請求項２】
前記ステップｃ）において、隣り合う両曲面の境界に隣り合っており、かつ互いに異なる曲面に位置している三角形については、エッジとエッジ、エッジと頂点、または頂点と頂点が遭遇する三角形間の角度を計算することを特徴とする請求項１に記載のロボットの走行面走行可能領域確認方法。
【請求項３】
前記ステップｃ）において、前記角度は、隣り合う三角形の法線ベクトル間の角度から計算されることを特徴とする請求項１に記載のロボットの走行面走行可能領域確認方法。
【請求項４】
前記ステップｅ）後に、
前記ロボットを所定の大きさを有するものと設定し、前記走行可能領域に前記ロボットを走行させて、前記ロボットが前記走行面と交差されない領域を走行可能領域であると規定する２次走行可能領域確認ステップをさらに含むことを特徴とする請求項１に記載のロボットの走行面走行可能領域確認方法。
【請求項５】
請求項１〜４のいずれか一項に記載のロボットの走行面走行可能領域確認方法を実行するためのプログラムが内蔵されているか、あるいは、前記プログラムが内蔵されている外部装置によって制御されて走行面を走行するロボット。
【請求項６】
請求項１〜４のいずれか一項に記載のロボットの走行面走行可能領域確認方法を実行するためのプログラムが記録されてコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの走行面走行可能領域確認方法、ロボット及び記録媒体に関する。
【背景技術】
【０００２】
船舶の船体面の検査、掃除などを行うことを目的に船体面の上においてロボットを走行させるとき、走行面の形状特性を把握することなくロボットを走行させる場合に様々な問題が生じることがある。例えば、ロボットが走行する間に走行面の特定の部位にぶつかって走行面に損傷を与えることがあり、うねりが激しい部分においてはロボットが走行面から落下して離脱することがある。なお、走行面の窪みに閉じ込められて抜け出られない場合が生じることもある。
【０００３】
既存には、このような問題を回避するために、作業者がカメラを用いて走行面の形状を確認したり、センサー情報を用いて障害物を確認しながらロボットを走行させたりしていた。この方法においては、ロボットが走行する間には作業者がロボットの動きを観察し続けることを余儀なくされる。
【０００４】
また、ロボットが自律走行を通じて計画的に走行面上を移動するためには、予めロボットが走行可能な領域を把握せねばならない。最も一般的に考えられる方法としては、走行面の幾何モデルを用いて曲率を分析することにより、曲率が大きな部分に対してはロボットが走行できないようにする方法が挙げられる。
【０００５】
しかしながら、走行面、例えば、船体面の幾何モデルは、図２ａに示すように、多数のトリム曲面から構成されているため、曲率分析のためには曲面間に曲率連続性（Ｃ２連続）が保障されなければならないが、ほとんどの設計形状がこれを保障できず、しかも、設計形状の処理のために設計形状をロードする過程でＣ２連続が破壊されてしまう。なお、曲面上の１個所に対して曲率は方向に応じて値が変わるため、走行可能領域を判断する基準として使用するのには不向きである。
【０００６】
なお、曲率のみを考慮することは、ロボットの大きさが考慮されていないため、ロボットが実際に走行する場合には曲率が小さくても走行できない場合もある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、走行面を走行するロボットの走行可能領域を確認する方法、ロボット及び記録媒体を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、曲面の走行面をロボットが自律走行するために、走行可能領域を確認する方法であって、ａ）多数の曲面に分割された前記走行面の幾何モデルを生成するステップと、ｂ）前記幾何モデルを用いて前記多数の曲面を多数の三角形に分割するステップと、ｃ）前記多数の三角形それぞれと前記多数の三角形と隣り合う三角形との間の角度を計算するステップと、ｄ）前記角度が所定の範囲内であるか否かを判断するステップと、を含むことを特徴とするロボットの走行面走行可能領域確認方法が提供される。
【０００９】
このとき、前記ステップｂ）において、前記多数の三角形のそれぞれは、実質的に平面であってもよい。
【００１０】
このとき、前記ステップｂ）は、前記一つの曲面内において隣り合う三角形とエッジ及び頂点を共有するように多数の三角形に分割してもよい。
【００１１】
このとき、前記ステップｃ）において、エッジまたは頂点を共有して隣り合う三角形間の角度を計算してもよい。
【００１２】
このとき、前記ステップｃ）において、隣り合う両曲面の境界に隣り合っており、かつ互いに異なる曲面に位置している三角形については、エッジとエッジ、エッジと頂点、または頂点と頂点が遭遇する三角形間の角度を計算してもよい。
【００１３】
このとき、前記ステップｄ）後に、ｅ）前記角度が所定の範囲内である場合、走行可能領域であると規定する１次走行可能領域確認ステップをさらに含んでいてもよい。
【００１４】
このとき、前記ステップｃ）において、前記角度は、隣り合う三角形の法線ベクトル間の角度から計算されてもよい。
【００１５】
このとき、前記ステップｅ）後に、前記ロボットを所定の大きさを有するものとして設定し、前記走行可能領域に前記ロボットを走行させて、前記ロボットが前記走行面と交差されない領域を走行可能領域であると規定する２次走行可能領域確認ステップをさらに含んでいてもよい。
【００１６】
本発明の他の側面によれば、前記ロボットの走行面走行可能領域確認方法を実行するためのプログラムが内蔵されているか、あるいは、前記プログラムが内蔵されている外部装置によって制御されて走行面を走行するロボットが提供される。
【００１７】
本発明のさらに他の側面によれば、前記ロボットの走行面走行可能領域確認方法を実行するためのプログラムが記録されてコンピュータにて読み取り可能な記録媒体が提供される。
【発明の効果】
【００１８】
本発明の一実施形態によれば、ロボットの走行面走行可能領域を容易に確認することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態によるロボットの走行面走行可能領域確認方法の手順図である。
【図２ａ】船体の一部の面に形成された幾何モデルを示す図である。
【図２ｂ】図２ａの幾何モデルを三角化させて生成した三角メッシュを示す図である。
【図３ａ】図２ａの幾何モデルにおいて、曲面と曲面との間の境界エッジ部を示す部分拡大図である。
【図３ｂ】図３ａの曲面を三角化させて三角メッシュを生成した状態の図である。
【図４】三角メッシュが生成された状態で隣り合う三角メッシュ間の角度を測定する方法を説明するための図である。
【図５】三角メッシュの内部にある三角形を示す図である。
【図６】三角メッシュの境界にある三角形を示す図である。
【発明を実施するための形態】
【００２０】
以下、添付図面に基づき、本発明の実施形態によるロボットの走行面走行可能領域確認方法、ロボット及び記録媒体について本発明が属する技術分野において通常の知識を有する者が容易に実施できるように詳しく説明する。本発明は様々な異なる形態にて実現可能であり、ここで説明する実施形態に何ら限定されない。図中、本発明を明確に説明するために説明とは無関係な部分の説明は省略し、明細書全体にわたって同じまたは類似の構成要素に対しては同じ図面符号を附した。
【００２１】
図１は、本発明の一実施形態によるロボットの走行面走行可能領域確認方法の手順図である。
【００２２】
図１を参照すると、本発明の一実施形態によるロボットの走行面走行可能領域確認方法は、幾何モデル生成ステップ（Ｓ１０１）と、メッシュ生成ステップ（Ｓ１０２）と、隣り合う三角形間の角度を計算するステップ（Ｓ１０３）と、１次走行可能領域を確認するステップ（Ｓ１０４）と、ロボットと走行面との交差を検査するステップ（Ｓ１０５）及び２次走行可能領域を確認するステップ（Ｓ１０６）を含んでいてもよい。
【００２３】
本発明の一実施形態によるロボットの走行面走行可能領域確認方法においては、先ず、３ＤＣＡＤなどのプログラムを用いて船体曲面の幾何モデルを生成する（Ｓ１０１）。図２ａには、ＣＡＤプログラムによって生成された船体の一部の曲面の幾何モデル２が示されている。
【００２４】
本発明の一実施形態による走行面走行可能領域確認方法においては、このようにして生成された船体曲面の幾何モデル２を用いて船体の曲面のそれぞれを三角化させることにより船体曲面に対する三角メッシュを生成する。図２ｂには、図２ａに示す幾何モデル２を三角化させて船体曲面に対する三角メッシュ４を生成したことが示されている。このように船体の曲面のそれぞれに対して三角メッシュを生成すると、それぞれの曲面に対する三角メッシュはそれぞれのエッジ及び頂点に関する位置情報と隣接関係を知っている複数の三角形を含むこととなる。
【００２５】
このとき、船体の曲面を三角化させる過程で船体の幾何モデルが曲面間に隣接情報を有している場合には、船体モデル全体を一つの三角メッシュに変換することができる。この場合には、船体を形成する曲面間の区別がなくなり、船体に対して一つの三角メッシュのみが形成されたものと仮定することができる。
【００２６】
一方、船体の幾何モデルが隣り合う曲面間に隣接情報を有していない場合には、曲面ごとに一つの三角メッシュが生成され、隣り合う三角メッシュ間に頂点とエッジが共有されない。
【００２７】
図３ａは、幾何モデルが形成する曲面のエッジの一部が示されており、図３ｂには、図３ａを三角化させてそれぞれの曲面に対して三角メッシュが形成された状態が示されている。
【００２８】
図３ａには、船体の幾何モデルの一つのエッジ１３０が示されているが、図３ａを参照すると、このようなエッジ１３０を中心として左側曲面１１０と右側曲面１２０が遭遇するように形成される場合であっても、エッジ１３０に関する情報を有していない場合、このような左側曲面１１０及び右側曲面１２０を用いて三角メッシュを形成すると、図３ｂに示すように、各曲面に対応する三角メッシュ内の三角形は、当該エッジ１３０において頂点が共有されない三角形を形成することになる。
【００２９】
例えば、左側曲面１１０に対応して形成された三角メッシュ内の三角形のうちエッジ１３０の上に頂点１１２ａが位置する三角形１１２と、右側曲面に対応して形成された三角メッシュ内の三角形のうちエッジ１３０の上に頂点１２２ａが位置する三角形１２２は、隣接情報、すなわち、エッジ１３０の情報が共有される場合には共通の頂点を有するが、エッジ１３０の情報が共有されなければ、図３ｂに示すように、異なる頂点を有するように形成される。
【００３０】
本発明の一実施形態による走行面走行可能領域確認方法においては、このように隣り合う曲面間にエッジの隣接情報を共有する場合、幾何モデルを用いて三角メッシュを形成すると、異なる曲面が一つのメッシュを形成するため、このような一つのメッシュ内の三角形間の関係を用いて走行面走行可能領域を計算する。そして、隣り合う曲面間にエッジの隣接情報を共有しない場合には、それぞれの曲面が三角メッシュを形成するため、複数の三角メッシュそれぞれの内部の三角形間の関係及び隣り合う三角メッシュ間の三角形間の関係を考慮して走行面走行可能領域を計算する。
【００３１】
より具体的に、本発明の一実施形態によれば、幾何モデルを用いて三角メッシュを形成した後、三角メッシュ内に位置する複数の三角形のそれぞれに対して隣り合う三角形全部と角度を計算（Ｓ１０３）し、これに基づいて、走行面走行可能領域を１次的に確認する（Ｓ１０４）。
【００３２】
このとき、三角形間の角度とは、隣り合う三角形の間に互いに共有するエッジまたは頂点を基準として一つの三角形が形成する面と隣り合う三角形が形成する面とがなす角度のことをいう。
【００３３】
このような三角形間の角度は、一つの三角形と隣り合う三角形の法線ベクトルを用いて計算することができる。
【００３４】
このような三角形の法線ベクトルを用いて隣り合う三角形間の面と面が一つのエッジを挟んで遭遇する角度は、公知の方法によって容易に計算することができ、その計算方法は当業者に既に周知であるため、これについての詳細な説明は省く。
【００３５】
一方、３次元空間の上に位置する三角形の中心に形成された法線ベクトルを用いて隣り合う三角形間の角度を計算した後、隣り合う三角形のうちいずれか一つとの角度がロボットの走行許容範囲から外れている場合に、当該三角形は走行不可領域であると規定され得る。
【００３６】
例えば、図４には、第１三角形１０を基準として隣り合う３つの第２乃至第４三角形２０、３０、４０及びそれぞれの三角形の法線ベクトル１１、２１、３１、４１が示されている。このとき、第１三角形１０と第２乃至第４三角形２０、３０、４０がなす角度がそれぞれ１９０°、１８５°、１２０°であるとしたとき、ロボットの走行可能な許容範囲が１３５〜２２５°であれば、第１三角形１０は第４三角形４０との角度が走行許容範囲から外れている。このため、第１三角形１０は、ロボットが走行できない走行不可領域となる。
【００３７】
一方、このように１次的にロボットが走行可能であるか否かを判断する過程において、三角メッシュ内に位置する三角形は、２種類の場合、すなわち、メッシュの内部にある三角形とメッシュ境界にある三角形とに区別され得る。
【００３８】
このとき、メッシュの内部にある三角形は、必ず隣り合う３つの三角形と隣接関係を形成する。図５には、メッシュの内部に位置する複数の三角形５０１、５０２、５０３、５０４が示されている。
【００３９】
このとき、三角形内部の点線５１１、５２１、５３１は、それぞれの三角形の中心５０１ｃ、５０２ｃ、５０３ｃ、５０４ｃ同士を結んだ仮想の線である。
【００４０】
このとき、三角メッシュの内部にある三角形の中心を互いにエッジを共有しながら隣り合う三角形の中心と結んだ場合、三角メッシュの内部にある三角形の中心は、いずれも３本の線分が遭遇する頂点となる。
【００４１】
すなわち、図５において、三角形５０１の中心５０１ｃは、３つの三角形５０２、５０３、５０４の中心５０２ｃ、５０３ｃ、５０４ｃと結んだ線分５１１、５２１、５３１が遭遇する頂点となる。
【００４２】
このようにメッシュの内部にある三角形の場合、隣り合う三角形と隣接関係がメッシュを生成する三角化過程において計算され、三角化後に、図５に示す隣接関係情報が三角メッシュに保存される。
【００４３】
これにより、三角形の角度の計算に際して、このような隣接関係情報を用いて隣接三角形を直ちに探すことができ、隣り合う三角形間の角度も容易に計算され得る。
【００４４】
これとは異なる、図６を参照すると、三角メッシュの境界にある三角形６０１は、同じメッシュ内にある２つの三角形６０２、６０３と隣接関係を形成する。すなわち、図６における三角メッシュの境界８００にある三角形６０１の中心６０１ｃを同じメッシュの内部にある三角形６０２、６０３の中心と結ぶ場合、２本の線分６２１、６３１のみを有することになる。
【００４５】
このとき、三角メッシュの境界８００にある三角形６０１は、隣り合うメッシュにある三角形とは複数の三角形７０１、７０２と隣接関係を形成することができる。
【００４６】
しかしながら、一つのメッシュには隣り合うメッシュにある三角形との隣接関係情報は保存されていない。
【００４７】
このような場合には、三角メッシュの境界にある三角形と隣り合う三角メッシュの境界にある三角形との間の距離を計算して、二つの三角形が隣り合っているか否かを判断する。
【００４８】
より具体的に、一つのメッシュの内部にある三角形の、その位置に関する情報、例えば、頂点及び３辺の位置情報と、隣り合う三角メッシュの内部にある他の三角形の情報、例えば、頂点及び３辺の位置情報を用いて、両三角形間の距離を計算することができる。
【００４９】
このとき、いずれか一つのエッジにおいて両三角形間の距離が０になると、両三角形は当該エッジにおいて互いに接しているものと計算され得る。
【００５０】
このように三角メッシュの境界にある三角形は、三角形間の距離を計算して互いに隣り合っている三角形であるか否かを判断した後、互いに角度がロボットの走行許容範囲から外れている場合に当該三角形は走行不可領域であると規定するものとする。
【００５１】
このような方式により全ての三角メッシュ内の三角形に対して走行可能及び走行不可領域を判断することにより、１次的にロボット走行可能領域を計算する。
【００５２】
このように１次的にロボット走行可能領域を計算した後、ロボットの大きさを考慮した走行可能領域を探すためにロボットと走行面との間の交差検査を行う（Ｓ１０５）。
【００５３】
より具体的に、走行面が走行可能なロボットを、例えば、横、縦及び高さが１ｍ×１ｍ×１ｍである箱状に単純化させた後、三角メッシュで表わされた船体曲面上において１次的にロボット走行可能領域として計算された三角形の上を移動させながら箱状のロボットが走行面と交差する個所はないか否かを検査する。
【００５４】
このとき、ロボットが走行面と交差する場合は、ロボットが走行面上で移動するとき、船体面とぶつかる場合であると判断することができる。これにより、ロボットと走行面との間の交差検査に際して、このようにロボットが走行面と交差すると判断されるとき、ロボットが位置する三角形は走行可能領域から除外するものとする。
【００５５】
本発明の一実施形態によれば、このようにロボットが走行面と交差する領域を検査することにより、２次的にロボットの走行可能領域を確認する（Ｓ１０６）。
【００５６】
このように２次的にロボットの走行可能領域が計算されると、最終的にロボットが走行面上において走行可能な領域の確認が完了する。
【００５７】
本発明の一実施形態によるロボットの走行面走行可能領域確認方法は、走行面の幾何モデルを用いて三角メッシュを形成した後、三角メッシュの内部の三角形間の角度関係を計算して１次的にロボットが走行可能な領域を確認し、このようにして計算されたロボットの走行可能領域のうちロボットと走行面との交差検査を行ってロボットが走行面と交差しない領域を最終的にロボットの走行可能領域であると判断することにより、走行面上においてロボットが移動可能な走行可能領域を正確に確認することができる。
【００５８】
本発明の一実施形態によるロボットの走行面走行可能領域確認方法においては、ロボットが船舶の船体面を走行する場合を例示しているが、ロボットが走行する走行面はこれに何ら制限されるものではなく、ロボットが走行可能な面であれば、いかなる面でも本発明の一実施形態によるロボットの走行可能領域確認方法を用いて走行可能領域を確認することができる筈である。
【００５９】
以上、本発明の一実施形態について説明したが、本発明の思想は本明細書に提示される実施形態に制限されるものではなく、本発明の思想を理解する当業者であれば、同じ思想の範囲内において、構成要素の付加、変更、削除、追加などによって他の実施形態を容易に提案することができる筈であるが、これもまた本発明の思想範囲内にあるといえる。
【産業上の利用可能性】
【００６０】
本発明の一実施形態によれば、ロボットの走行面走行可能領域を容易に確認することができる。
【図１】
0005885003.tif 000002
【図４】
0005885003.tif 000003
【図２ａ】
0005885003.tif 000004
【図２ｂ】
0005885003.tif 000005
【図３ａ】
0005885003.tif 000006
【図３ｂ】
0005885003.tif 000007
【図５】
0005885003.tif 000008
【図６】
0005885003.tif 000009