IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本信号株式会社の特許一覧

特開2024-116861情報処理装置、ロボット、及びプログラム
<>
  • 特開-情報処理装置、ロボット、及びプログラム 図1
  • 特開-情報処理装置、ロボット、及びプログラム 図2
  • 特開-情報処理装置、ロボット、及びプログラム 図3
  • 特開-情報処理装置、ロボット、及びプログラム 図4
  • 特開-情報処理装置、ロボット、及びプログラム 図5
  • 特開-情報処理装置、ロボット、及びプログラム 図6
  • 特開-情報処理装置、ロボット、及びプログラム 図7
  • 特開-情報処理装置、ロボット、及びプログラム 図8
  • 特開-情報処理装置、ロボット、及びプログラム 図9
  • 特開-情報処理装置、ロボット、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116861
(43)【公開日】2024-08-28
(54)【発明の名称】情報処理装置、ロボット、及びプログラム
(51)【国際特許分類】
   G05D 1/43 20240101AFI20240821BHJP
   G09B 29/00 20060101ALI20240821BHJP
   G09B 29/10 20060101ALI20240821BHJP
   G08G 1/00 20060101ALI20240821BHJP
   G08G 1/16 20060101ALI20240821BHJP
【FI】
G05D1/02 L
G05D1/02 K
G09B29/00 A
G09B29/10 A
G08G1/00 A
G08G1/16 C
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023022688
(22)【出願日】2023-02-16
(71)【出願人】
【識別番号】000004651
【氏名又は名称】日本信号株式会社
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】夢川 凌央
【テーマコード(参考)】
2C032
5H181
5H301
【Fターム(参考)】
2C032HB11
5H181AA27
5H181BB04
5H181BB20
5H181CC03
5H181CC04
5H181CC14
5H181FF27
5H181FF33
5H181LL01
5H181LL09
5H181LL11
5H181MC19
5H181MC27
5H301GG08
5H301GG09
5H301GG24
5H301GG29
5H301LL01
5H301LL06
5H301LL11
(57)【要約】
【課題】ユーザにより行われる、地図データの領域を決めるための作業の負担を軽減するロボットを提供する。
【解決手段】移動するロボットがレーザスキャナで取得した第1地図データと、カメラで取得した画像に対するセマンティックセグメンテーションの実行結果と、カメラで取得した第2地図データとに基づいて、前記ロボットを移動させるエリアを決定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
移動するロボットがレーザスキャナで取得した第1地図データと、カメラで取得した画像に対するセマンティックセグメンテーションの実行結果と、カメラで取得した第2地図データとに基づいて、前記ロボットを移動させるエリアを決定する情報処理装置。
【請求項2】
前記実行結果は、前記第1地図データ及び前記第2地図データを取得する必要のないエリアを示す情報を含む
請求項1に記載の情報処理装置。
【請求項3】
前記第1地図データ及び前記第2地図データは、前記ロボットが移動可能なエリアを示す情報を含む
請求項1に記載の情報処理装置。
【請求項4】
レーザスキャナと、カメラと、を有し、請求項1から3のいずれか1項に記載の情報処理装置により決定されたエリアを移動するロボット。
【請求項5】
前記レーザスキャナは、2次元レーザスキャナ又は3次元レーザスキャナであり、
前記カメラは、単眼カメラ又はステレオカメラである
請求項4に記載のロボット。
【請求項6】
前記レーザスキャナ及び前記カメラを同時に起動させ、起動時における前記ロボットの位置を前記第1地図データ及び前記第2地図データの原点とする
請求項4に記載のロボット。
【請求項7】
コンピュータに、
移動するロボットがレーザスキャナで取得した第1地図データを取得するステップと、
前記ロボットがカメラで取得した画像を取得するステップと、
前記画像に対してセマンティックセグメンテーションを実行するステップと、
カメラで取得した第2地図データを取得するステップと、
前記第1地図データ及び前記第2地図データと、前記セマンティックセグメンテーションの実行結果と、に基づいて、前記ロボットを移動させるエリアを決定するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律走行を行うロボットの技術に関する。
【背景技術】
【0002】
ロボット自身に地図データを作成させる技術が知られている。例えば、特許文献1には、被作業面を撮像した撮像画像から被作業面上に存在するマーカを認識し、時系列に連続した撮像画像からマーカの移動軌跡を作成し、マーカの移動軌跡の内側を作業エリアに設定する自律走行作業装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-26429号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記技術は、ロボットが作成する地図データの領域を決めるために、ロボットに認識させるためのマーカを人手で配置する必要があった。
【0005】
これに対し、本発明は、ロボットの内部に地図データがない状態で、ユーザにより行われる地図データの領域をロボット自身が判断しながら自律走行を行い、地図データを作成(以下、「探査」という。)するシステムを提供する。
【課題を解決するための手段】
【0006】
本発明は、移動するロボットがレーザスキャナで取得した第1地図データと、カメラで取得した画像に対するセマンティックセグメンテーションの実行結果と、カメラで取得した第2地図データとに基づいて、前記ロボットを移動させるエリアを決定する情報処理装置、を第1の態様として提供する。第1の態様の情報処理装置によれば、ユーザは地図データの領域をロボットに認識させるためのマーカ等を配置する必要がない。
【0007】
第1の態様の情報処理装置において、前記実行結果は、第1地図データ及び前記第2地図データを取得する必要のないエリアを示す情報を含む、という構成が第2の態様として採用されてもよい。第2の態様の情報処理装置によれば、ロボットは地図データを取得する必要のないエリアを認識することができる。
【0008】
第1の態様の情報処理装置において、前記第1地図データ及び前記第2地図データは、前記ロボットが移動可能なエリアを示す情報を含む、という構成が第3の態様として採用されてもよい。第3の態様の情報処理装置によれば、ロボットは移動可能なエリアを認識することができる。
【0009】
本発明は、レーザスキャナと、カメラと、を有し、請求項1から3のいずれか1項に記載の情報処理装置により決定されたエリアを移動するロボット、を第4の態様として提供する。第4の態様のロボットによれば、ユーザにより行われる、地図データの領域を決めるための作業の負担が軽減される。
【0010】
第4の態様のロボットにおいて、前記レーザスキャナは、2次元レーザスキャナ又は3次元レーザスキャナであり、前記カメラは、単眼カメラ又はステレオカメラである、という構成が第5の態様として採用されてもよい。
【0011】
第4の態様のロボットにおいて、前記レーザスキャナ及び前記カメラを同時に起動させ、起動時における前記ロボットの位置を前記第1地図データ及び前記第2地図データの原点とする、という構成が第6の態様として採用されてもよい。
【0012】
本発明は、コンピュータに、移動するロボットがレーザスキャナで取得した第1地図データを取得するステップと、前記ロボットがカメラで取得した画像を取得するステップと、前記画像に対してセマンティックセグメンテーションを実行するステップと、カメラで取得した第2地図データを取得するステップと、前記第1地図データ及び前記第2地図データと、前記セマンティックセグメンテーションの実行結果と、に基づいて、前記ロボットを移動させるエリアを決定するステップと、を実行させるためのプログラム、を第7の態様として提供する。第7の態様のプログラムによれば、ユーザにより行われる、地図データの領域を決めるための作業の負担が軽減される。
【発明の効果】
【0013】
本発明によれば、ユーザにより行われる、地図データの領域を決めるための作業の負担を軽減することができる。
【図面の簡単な説明】
【0014】
図1】ロボット1の構成を示す図。
図2】ロボット1の外観を示す図。
図3】レーザスキャナ16の構成を示す図。
図4】ロボット1の動作の流れの例を示すフロー。
図5】LiDAR地図データの例を示す図。
図6】画像データの例を示す図。
図7】分類データの例を示す図。
図8】分類データの結果が反映された画像地図データの例を示す図。
図9】統合地図データの例を示す図。
図10】ロボット1の移動制御を示すフロー。
【発明を実施するための形態】
【0015】
[1]実施例
本実施例におけるロボット1は、主に建物内で使用されるロボットである。ロボット1は、例えば、建物内における地図データ等の各種のデータを取得するために使用される。ロボット1は、例えば、この取得されたデータを記憶し、建物内を自律走行しながら清掃する。
【0016】
図1は、ロボット1の構成を示す図である。図1に示すロボット1は、プロセッサ11、メモリ12、通信部13、操作部14、表示部15、レーザスキャナ16、カメラ17、画像処理部18、判定部19、及び移動部20を有する。これらの構成は、例えばバスで、互いに通信可能に接続されている。
【0017】
プロセッサ11は、メモリ12に記憶されているコンピュータプログラム(以下、単にプログラムという)を読み出して実行することによりロボット1の各部を制御する。プロセッサ11は、例えばCPU(Central Processing Unit)である。
【0018】
メモリ12は、プロセッサ11に読み込まれるオペレーティングシステム、各種のプログラム、データ等を記憶する。メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)を有する。なお、メモリ12は、ソリッドステートドライブ、ハードディスクドライブ等の記憶装置を有してもよい。
【0019】
また、メモリ12は、LiDAR(Light Detection AND Ranging)地図データ(以下、第1地図データともいう)、画像データ、分類データ、画像地図データ(以下、第2地図データともいう)、及び統合地図データを記憶する。LiDAR地図データとは、LiDARを用いたLiDAR SLAM(Simultaneous Localization and Mapping)技術によってサンプリングした二次元マップデータ、又は三次元マップデータである。画像データとは、ロボットが探査動作中、カメラを用いて撮影した画像を示すデータである。分類データとは、ロボットが画像データに対して、セマンティックセグメンテーションを実行することにより、その画像データの画素の各々に映し出されているものを分類したデータである。画像地図データとは、カメラを用いたVisual SLAM技術によってサンプリングした三次元マップデータである。統合地図データとは、LiDAR地図データと、画像地図データと、分類データとを統合した二次元マップ、又は三次元マップを示すデータである。
【0020】
通信部13は、有線又は無線によりロボット1を、他の装置に通信可能に接続する通信回路である。
【0021】
操作部14は、ユーザの操作に応じた信号をプロセッサ11に送信する。操作部14は、各種の指示を受け付けるための操作ボタン、タッチパネル等の操作子を有する。なお、ロボット1は、操作部14を有しなくてもよい。ロボット1は、通信部13を介して外部装置から操作されてもよい。
【0022】
表示部15は、プロセッサ11の制御の下、画像を表示する。表示部15は、液晶ディスプレイ等の表示画面を有する。この表示画面の上には、操作部14の透明のタッチパネルが重ねて配置されてもよい。なお、ロボット1は、表示部15を有しなくてもよい。ロボット1は、通信部13を介して外部装置に情報を提示してもよい。
【0023】
レーザスキャナ16は、LiDAR地図データを取得する2次元レーザスキャナ又は3次元レーザスキャナである。レーザスキャナ16は、発光素子、光学系、及び受光素子を有する。発光素子は、レーザ光を発生させる。発光素子が発生させるレーザ光は、例えば、近赤外波長帯域のパルスレーザである。光学系は、発生させたレーザ光の進行方向を変化させてこのレーザ光に対象物の存在する空間を走査させる。光学系は、例えば、電磁駆動方式のMEMS(Micro Electro Mechanical System)を含む。この光学系は、例えば、上下及び左右にレーザ光を周期的にリサージュ走査させる。受光素子は、空間を走査するレーザ光が対象物に反射して戻ってくる反射光を受光する受光素子を有する。受光素子は、例えばフォトダイオードである。
【0024】
なお、光学系の走査の態様は、リサージュ走査に限らない。光学系は、縦方向又は横方向に一次元走査して線に相当する情報を得た後に、走査点をその線に垂直な方向にずらしてさらに一次元走査することを繰り返す、いわゆるラスタ走査を行ってもよい。
【0025】
光学系は、分離光学系方式又は同軸光学方式のいずれの構造を有してもよいが、外乱光に対する耐性能の観点から同軸光学系方式を採用することが望ましい。
【0026】
レーザスキャナ16は、照射したレーザ光が対象物に反射して戻ってくるまでの往復時間から距離を計測する、いわゆる光パルス飛行時間計測法(ToF;Time-OF-flight)を用いる。このレーザスキャナ16は、リサージュ図形上の座標を通過する時刻と、その座標に応じた受光強度との組合せから、各座標における距離を計測し、距離画像を生成する。なお、レーザスキャナ16は、上述したToF方式ではなく、周波数変調連続波(FMCW:Frequency Modulated Continuous Wave)方式を用いて対象物までの距離を計測してもよい。
【0027】
カメラ17は、ロボット1の周囲の建物内を撮像して画像データを生成・取得、またVisual SLAM技術による三次元マップデータを取得する撮像機器である。カメラ17は、例えば、単眼カメラ又はステレオカメラである。なお、Visual SLAMはホイールオドメトリ等の技術と組み合わせることで単眼カメラでも実装可能である。
【0028】
画像処理部18は、画像データに対してセマンティックセグメンテーションを実行して分類データを生成する。また、画像処理部18は、画像データに基づいて画像地図データを生成する。セマンティックセグメンテーションとは、ディープラーニング(Deep Learning)におけるアルゴリズムの一種であり、画像のピクセル(画素)の各々に何が映し出されているかについてラベル又はカテゴリを関連付けて分類を行う技術である。画像地図データとは、障害物により走行不可な領域、セマンティックセグメンテーションにより走行不可とした領域、及び走行可能な領域を示すデータである。
【0029】
また、画像処理部18は、LiDAR地図データと、画像地図データと、分類データとを統合し、統合地図データを生成する。統合地図データとは、ロボット1の周囲の領域について、LiDAR SLAMにより得られた走行の可否の情報と、セマンティックセグメンテーションにより得られた「探査する必要のない領域」の情報とを、Visual SLAMにより得られた画像と地図との対応関係の情報を用いて統合したデータである。
【0030】
「探査する必要のない領域」とは、例えば、建物外、店舗内、階段、エスカレータ、エレベータ、立入禁止となっている区域等の領域である。この「探査する必要のない領域」は、LiDAR地図データ、画像地図データ、統合地図データ等の地図データを取得する必要のないエリアの例である。「探査する必要のある領域」(以下、未探査領域ともいう)とは、例えば、来客用通路等の領域である。未探査領域とは、レーザスキャナ16のレーザ光が走査されておらず、かつ、「探査する必要のない領域」でもない領域である。これらの領域は予め定義されている。
【0031】
判定部19は、統合地図データに基づき、探査する必要がある領域、すなわち未探査領域が存在するか否かを判定する。なお、プロセッサ11が判定部19として機能してもよい
【0032】
図2は、ロボット1の外観を示す図である。このロボット1は、照射したレーザ光の反射光を感知するロボットの例である。以下、図において、各構成が配置される空間をxyz右手系座標空間として表す。また、図に示す座標記号のうち、円の中に点を描いた記号は、紙面奥側から手前側に向かう矢印を表す。空間においてx軸に沿う方向をx軸方向という。また、x軸方向のうち、x成分が増加する方向を+x方向といい、x成分が減少する方向を-x方向という。y、z成分についても、上記の定義に沿ってy軸方向、+y方向、-y方向、z軸方向、+z方向、-z方向は定義される。
【0033】
移動部20は、ロボット1の底面に設けられているタイヤである。移動部20は、プロセッサ11の制御の下、ロボット1を移動させる。移動部20は、左右に一つずつ配置されたタイヤ、そのタイヤを回転可能に支える車軸、及び車軸を回転駆動させる図示しないモータ等の駆動装置を有する。移動部20は、これら左右に一つずつのタイヤに限らず、例えば、図2(c)に示す通り、後方(-x方向)側にもう一つのタイヤ(補助輪)を有してもよい。本実施形態において、移動部20は、タイヤであるから、ロボット1の「移動」は「走行」と同義である。なお、ロボット1は、走行以外の移動手段によって移動してもよい。例えば、ロボット1は、回転翼等により空中を飛行(移動)する無人航空機、飛翔体であってもよい。
【0034】
また、-z方向は重力のかかる方向、つまり下であり、+z方向は上である。+x方向は、ロボット1が前進するときの移動方向であり、-x方向は、ロボット1が後退するときの移動方向である。y軸方向は、ロボット1の移動方向に直交する方向、つまり、幅方向である。
【0035】
図2(a)、図2(b)、図2(c)には、ロボット1の平面図、正面図、側面図がそれぞれ示されている。図2(b)に示す通り、ロボット1の正面(+x方向の側)には、レーザスキャナ16、及びカメラ17が設けられている。
【0036】
レーザスキャナ16において、光学系は、例えばレーザ光の進行方向を水平方向のみに変化させ、垂直方向には変化させない。レーザスキャナ16において用いられる光学系は、例えば、z軸方向に平行な一つの軸を中心に回転するミラー等である。レーザスキャナ16は、発光素子で発生したレーザ光を回転するミラーにより反射させ、ロボット1の前方に広がる扇形等の決められた範囲に順次照射させる。レーザスキャナ16は、フォトダイオード等の受光素子で反射光を受光し、前方の所定高さでレーザ光を反射する物体を検知する。
【0037】
図3は、レーザスキャナ16の走査範囲を示す図である。図3(a)に示すレーザスキャナ16は、少なくともロボット1の自装置幅W1に相当する範囲を走査する。道幅W2は、ロボット1が通行している道の幅(道幅)を示している。図3(b)に示すレーザスキャナ16は、前方に向けた空間を走査する。レーザスキャナ16の走査範囲は、ロボット1よりも前方の空間であるため、レーザスキャナ16の直下の部分に死角があってもよい。
【0038】
図4は、ロボット1の動作の流れの例を示すフローである。ロボット1のプロセッサ11は、通信部13を介して外部装置から、又は操作部14から探査開始の入力を受付けたか否かを判定する(ステップS101)。プロセッサ11は、探査開始の入力を受付けていない、と判定する間(ステップS101:NO)、この判定を続ける。
【0039】
探査開始の入力を受付けた、と判定した場合(ステップS101:YES)、プロセッサ11は、レーザスキャナ16にLiDAR地図データを取得させる。また、プロセッサ11は、カメラ17に画像データを取得させる(ステップS102)。このステップS102は、移動するロボットがレーザスキャナで取得した地図データを取得するステップの例である。また、このステップS102は、移動するロボットがカメラで取得した画像を取得するステップの例である。プロセッサ11は、決められた時間にわたってロボット1を障害物に接触させないように移動又は回転させながらロボット1にLiDAR地図データ及び画像データを取得させる。
【0040】
図5は、LiDAR地図データの例を示す図である。図5の(a)は、探査開始時点の状態を示している。位置Oに所在しているロボット1は、レーザスキャナ16によって周囲をレーザ光で走査する。照射したレーザ光が反射してくることで、ロボット1は、壁やドア、看板等の障害物の有無を特定する。
【0041】
一方、レーザ光は遠くに進むほど減衰するので、ある程度遠くにある物体には届かないことがある。また、レーザ光は、遠くの物体に届いてもその反射光が減衰してしまい、検知可能な強度で照射位置まで戻ってこないこともある。ロボット1は、照射したレーザ光の反射光が戻ってこない方向には何があるのか特定できない。また、この段階でロボット1は、レーザ光を位置Oからしか照射していないため、特定した近接する2つの障害物が連続していない場合、それら2つの障害物の間に何があるのかも特定できない。
【0042】
つまり、ロボット1は、LiDARによる探査を行うことにより周囲の領域を、障害物がなく走行可能な領域(以下、走行可能領域501という)、壁などの障害物があって走行不可能な領域(以下、走行不可領域502という)、及び、そのいずれでもない、未だ探査がされていない領域(以下、未探査領域504という)、の3種類に区別して特定する。
【0043】
ただし、このLiDAR地図データは、レーザ光の届く範囲で周囲の障害物の有無を特定したものであり、周囲の物体が店舗なのか、エレベータなのか、といった探査の要否に関係づけられた種別までを示すものではない。そのため、ロボット1は、このLiDAR地図データのみから、探査の要否を判断することができない。つまり、この時点での未探査領域504、及び走行可能領域501は、上述した「探査する必要のある領域」だけではなく「探査する必要のない領域」を含んでいる可能性がある。
【0044】
図5の(b)は、位置Oにあるロボット1が探査を行って特定した領域を示している。この図5の(b)において、白色で示された部分は走行可能領域501であり、黒色で示された部分は走行不可領域502であり、斜線で示された部分は未探査領域504である。そして、この図に示す境界E1~E5は、走行可能領域501と未探査領域504との境界である。未探査領域504は、上述した通り、障害物が遠いために検知可能な強度の反射光が戻ってこなかった領域と、2つの連続していない障害物の間であって手前の障害物の死角になっているため、何があるかわからない領域とがある。例えば、この図に示す境界E3は前者であり、境界E1、E2、E4、E5は後者である。
【0045】
次に、特定した領域の中に未探査領域504がある場合、ロボット1は、移動してその未探査領域504の探査を試みる。すなわち、ロボット1は、移動して照射位置と照射角度を変えることにより、レーザ光が届かなかった障害物を新たに特定しようとする。このとき、移動できるのは走行可能領域501であるため、ロボット1は、走行可能領域501を未探査領域504に近づくように走行する。そこで、ロボット1は、図5の(b)に示す境界E1~E5を移動の目的地の候補として特定する。
【0046】
しかし、上述した通り、未探査領域504及び走行可能領域501の中には、上述した店舗内等の「探査する必要のない領域」が含まれている可能性がある。そこで、ロボット1は、カメラ17で撮影された周囲の画像に対するセマンティックセグメンテーションの結果を利用する。
【0047】
図6は、画像データの例を示す図である。画像データは、写真等の画像であるが、ここでは線図で説明する。図6に示す画像データは、カメラ17で撮影された周囲の画像を示すデータである。図6には、通路601a、601b、壁602a、602b、看板603a、603b、603c、店舗出入口604a、604b等の領域が映し出されている。
【0048】
図4に戻り、プロセッサ11は、取得した画像データを用いたVisual SLAMを画像処理部18に行わせる(ステップS103)。画像処理部18は、取得した画像データのそれぞれに示される周囲の画像から特異点を抽出し、その特異点の変化を利用して周囲の地図を作成し、その地図におけるロボット1自身の位置を推定する。これにより、画像処理部18は、上述した周囲の地図とロボット1自身の位置との各情報を含んだ画像地図データを生成する。
【0049】
また、プロセッサ11は、取得した画像データに対するセマンティックセグメンテーションを画像処理部18に実行させ、分類データを生成させる(ステップS104)。このステップS104は、取得した画像に対してセマンティックセグメンテーションを実行するステップの例である。セマンティックセグメンテーションには周知の技術が用いられる。図4に示す通り、このセマンティックセグメンテーションは、上述したVisual SLAMと並行して実行されてもよいが、前後して順次、実行されてもよい。
【0050】
図7は、分類データの例を示す図である。図7に示す図は、図6に示す画像データにセマンティックセグメンテーションが実行され、映し出された領域が分類された様子を示している。画像処理部18は、セマンティックセグメンテーションにより、画像データに映し出された領域を、通路、壁、看板、店舗出入口等、それぞれ人によって予め意味づけされた種別に分類する。この分類は、予め生成された学習済みモデルを用いて行われる。この学習済みモデルは、例えば、上述した様々な種別の物体を撮影した写真画像を教師データとしてコンピュータに機械学習させることで生成される。
【0051】
そして、上述した種別は、ロボット1による走行の可能・不可能によっても分類されている。例えば、通路はロボット1が走行可能な領域として、壁、看板はロボット1が走行不可能な領域としてそれぞれ分類されている。また、上述した種別は、探査する必要の有無によっても分類されている。例えば、建物外、階段、エスカレータ、エレベータ、立入禁止区域、店舗出入口等は、いずれも探査する必要がない領域としてそれぞれ分類されている。
【0052】
画像処理部18は、画像データに映し出された領域を、種別に分類し、さらに図7に示す走行可能領域701、走行不可領域702、及び走行不要領域703にそれぞれ分類する。走行可能領域701は、例えば、図6に示す通路601a等に対応する領域であり、ロボット1が走行可能な領域である。走行不可領域702は、例えば、図6に示す壁602a等に相当する領域であり、ロボット1が走行不可な領域である。走行不要領域703は、例えば、図6に示す店舗出入口604a等に相当する領域であり、ロボット1が走行する必要のない領域である。
【0053】
画像地図データと、分類データとは、上述した通り、共通の画像データから生成されているため、対応関係がある。画像処理部18は、この対応関係にもとづいて、画像地図データに、分類データの結果を反映する。
【0054】
図8は、分類データの結果が反映された画像地図データの例を示す図である。画像処理部18は、画像と地図との対応関係を画像地図データにより取得して、上述した分類結果を地図上に当てはめる。その結果、図7に示した走行可能領域701、走行不可領域702、及び走行不要領域703は、図8に示す画像地図データ800において、それぞれ位置が割り当てられ、走行可能領域801、走行不可領域802、及び走行不要領域803となる。
【0055】
そして、ロボット1において、レーザスキャナ16に対するカメラ17の位置関係は既知である。図4に戻り、画像処理部18は、この既知の位置関係を用いて、LiDAR地図データと、画像地図データと、分類データとを統合させ、統合地図データを生成する(ステップS105)。
【0056】
図9は、統合地図データの例を示す図である。統合地図データは、画像地図データを介して、LiDAR地図データに分類データの情報を反映させて生成される。ロボット1は、探査開始の入力を受け付けた時点から、LiDAR地図データ、及び画像データの取得を同時に開始している(ステップS101、ステップS102)。そのため、起動時にLiDAR地図データにおいて推定される自装置(ロボット1)の位置は、同時に取得された画像データの画像が撮影されたときの自装置の位置でもある。そして、上述した通り、レーザスキャナ16に対するカメラ17の位置関係が既知であるため、起動時の自装置の推定位置を共通の原点とすることで、LiDAR地図データと画像地図データは統合することが可能である。すなわち、このロボット1は、レーザスキャナ及びカメラを同時に起動させ、起動時におけるロボットの位置を地図データの原点とするロボットの例である。なお、ロボット1は、レーザスキャナ16とカメラ17とを同時に起動しなくてもよい。レーザスキャナ16とカメラ17とは、例えば、それぞれの異なるタイミングで起動しても、共通の原点が認識できればよい。例えば、レーザスキャナ16とカメラ17は、それぞれ異なるタイミングで起動し、ロボット1はそのタイミング間に移動しなければよい。画像地図データは三次元データ(縦・横・高さ)であるため、画像処理部18は、統合地図データを生成する際、カメラ17が取り付けられた高さで画像地図データを二次元データ(縦・横)に変換する。
【0057】
また、上述した通り、画像地図データと、分類データとは、共通の画像データから生成されているため、これらも対応付けることが可能である。つまり、画像地図データは、位置の情報、及び画像の情報により、LiDAR地図データと分類データとを対応付ける。なお、画像地図データのみによっても地図は得られるが、カメラの解像度、光学系の歪み等のため、一般にVisual SLAMで生成された画像地図データは、LiDAR SLAMで生成されたLiDAR地図データに比べて精度が劣る傾向がある。そのため、この実施形態におけるロボット1は、画像地図データをLiDAR地図データと統合することによって地図の精度を向上させている。
【0058】
図4に戻り、プロセッサ11は、画像処理部18が生成した統合地図データに基づき、未探査領域が存在するか否かを判定部19に判定させる(ステップS106)。この判定には、周知の技術、例えば、ROS(Robot Operating System)ライブラリのパッケージであるexplore liteが使用される。未探査領域が存在しない、と判定する場合(ステップS105:NO)、プロセッサ11は、処理を終了する。
【0059】
一方、未探査領域が存在する、と判定する場合(ステップS106;YES)、プロセッサ11は、例えば、ロボット1から最も近い未探査領域内の点、又は未探査領域の境界上の点を目的地に設定する(ステップS107)。このステップS107は、地図データと、セマンティックセグメンテーションの実行結果と、に基づいて、ロボットを移動させるエリアを決定するステップの例である。
【0060】
上述した統合により、例えば、図8における走行不要領域803は、図9に示す統合地図データにおいて走行不要領域503に位置付けられる。これにより、図5の(b)で示した境界E1、E2、E4、E5は、それぞれ走行不要領域503に含まれていたことがわかる。そのため、これらの境界は移動の目的地の候補から外され、ロボット1は境界E3のみを目的地の候補と認識する。
【0061】
なお、ロボット1が所在している走行可能領域501が全て、走行不可領域502、及び走行不要領域503のいずれかによって取り囲まれたとき、未探査領域504と走行可能領域501との境界は消滅する。このとき、ロボット1のプロセッサ11は、残っていた未探査領域504が全て走行不要領域503に変化したと判断する。
【0062】
目的地が設定されると、ロボット1は、その目的地まで移動する移動制御を開始する(ステップS200)。
【0063】
図10は、ロボット1の移動制御を示すフローである。ステップS200の移動制御を開始したプロセッサ11は、設定された目的地に到達したか否かを判定する(ステップS201)。目的地に到達した、と判定する場合(ステップS201;YES)、プロセッサ11は、図4に示す探査開始の入力受付に処理を戻す。その結果、プロセッサ11は、図4に示すステップS102を実行する。
【0064】
一方、目的地に到達していない、と判定する場合(ステップS201;NO)、プロセッサ11は、目的地に接近したか否かを判定する(ステップS202)。ここで目的地に接近するとは、目的地の道幅を計測可能な位置にまで到達したことをいう。目的地に接近していない、と判定する場合(ステップS202;NO)、プロセッサ11は、ロボット1の移動速度を落とさないで一定の時間にわたって移動する「高速度移動」を行い(ステップS203)、処理をステップS201に戻す。
【0065】
一方、目的地に接近した、と判定する場合(ステップS202;YES)、プロセッサ11は、ロボット1の移動速度を落とす「低速度移動」を行う(ステップS204)。
【0066】
そして、ロボット1が低速度移動で一定の時間にわたって移動したとき、プロセッサ11は、レーザスキャナ16に接近しつつある目的地の道幅W2を計測させ、道幅W2がロボット1の自装置幅W1より広いか否かを判定する(ステップS205)。
【0067】
プロセッサ11は、計測した道幅W2がロボット1の自装置幅W1より広い、と判定する場合(ステップS205:YES)、プロセッサ11は、処理をステップS201に戻す。
【0068】
一方、計測した道幅W2がロボット1の自装置幅W1より広くない、と判定する場合(ステップS205:NO)、プロセッサ11は、目的地を走行不要領域に分類し(ステップS206)、図4に示す探査開始の入力受付に処理を戻す。その結果、プロセッサ11は、図4に示すステップS102を実行する。
【0069】
これらの動作をすることにより、ロボット1は、レーザスキャナで取得した地図データの領域のそれぞれを、カメラで取得した画像に対するセマンティックセグメンテーションの実行結果によって分類する。そのため、このロボット1のユーザは、探査の要否を判断するために、現場にマーカを配置するというような、地図データの領域を決めるための作業をする必要がない。
【0070】
以上の実施形態で説明された構成、形状、大きさ及び配置関係については本発明が理解・実施できる程度に概略的に示したものにすぎない。したがって、本発明は、説明された実施形態に限定されるものではなく、特許請求の範囲に示される技術的思想の範囲を逸脱しない限り様々な形態に変更することができる。
【0071】
<変形例>
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の変形例は組み合わされてもよい。
【0072】
<1>
上述した実施形態において、プロセッサ11は、CPUであったが、他の構成であってもよい。例えば、プロセッサ11は、FPGA(Field Programmable Gate Array)であってもよいし、FPGAを含んでもよい。また、このプロセッサ11は、ASIC(Application Specific Integrated Circuit)、又は他のプログラマブル論理デバイスを有し、これらによって制御を行ってもよい。また、このプロセッサ11は、GPU(Graphics Processing Unit)を含んでもよい。
【0073】
<2>
上述したプロセッサ11によって実行されるプログラムは、磁気テープ及び磁気ディスク等の磁気記録媒体、光ディスク等の光記録媒体、光磁気記録媒体、半導体メモリ等の、コンピュータ装置が読取り可能な記録媒体に記憶された状態で提供し得る。また、このプログラムは、インターネット等の通信回線経由でダウンロードされてもよい。
【0074】
<3>
上述した実施形態において、ロボット1は、レーザスキャナ16及びカメラ17を有していたが、これに限らない。例えば、ロボット1は、レーザスキャナ16及びカメラ17の他にスキャナ等のセンサを有してもよい。また、レーザスキャナ16及びカメラ17、その他のセンサ、それぞれの数は実施例に示したものに限らない。
【0075】
<4>
上述した実施形態において、ロボット1は画像処理部18を有していたが、画像処理部18の機能はプロセッサ11によって実現されてもよい。また、ロボット1は、画像処理部18を有しなくてもよい。この場合、ロボット1は、通信部13を経由して図示しない外部の情報処理装置に接続し、この情報処理装置に上述した画像処理部18の機能を実行させてもよい。
【0076】
この場合、この情報処理装置は、プロセッサ11の指示に応じて、プロセッサ11から画像データを取得し、この画像データに対してセマンティックセグメンテーションを実行して分類データを生成する。また、この情報処理装置は、プロセッサ11の指示に応じて、取得した画像データに基づいて画像地図データを生成する。また、この情報処理装置は、プロセッサ11の指示に応じて、LiDAR地図データと、画像地図データと、分類データとを統合し、統合地図データを生成する。
【0077】
つまり、この情報処理装置は、移動するロボットがレーザスキャナで取得した地図データと、カメラで取得した画像に対するセマンティックセグメンテーションの実行結果とに基づいて、ロボットを移動させるエリアを決定する情報処理装置の例である。
【符号の説明】
【0078】
1…ロボット、11…プロセッサ、12…メモリ、13…通信部、14…操作部、15…表示部、16…レーザスキャナ、17…カメラ、18…画像処理部、19…判定部、20…移動部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10