(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023130034
(43)【公開日】2023-09-20
(54)【発明の名称】遠隔操縦用システム、および、遠隔操縦方法
(51)【国際特許分類】
G05D 1/02 20200101AFI20230912BHJP
【FI】
G05D1/02 K
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022034474
(22)【出願日】2022-03-07
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】酒井 貴大
(72)【発明者】
【氏名】長谷島 範安
(72)【発明者】
【氏名】室谷 和哉
(72)【発明者】
【氏名】山田 崇弘
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD06
5H301GG08
5H301GG09
5H301MM04
(57)【要約】
【課題】通信環境の悪い状況で移動体の周辺環境情報を絞り込みつつ、周辺環境情報で通知する移動体の位置情報の正誤を、操縦者に認識させること。
【解決手段】移動体10の周辺環境を点群データとして観測するLiDAR40と、周辺環境を画像データとして撮影するカメラ30とを備えた移動体10を遠隔操縦する遠隔操縦用システム100であって、移動体10は、抽出された画像IDと、推定された移動体10の位置姿勢と、検出された障害物の位置とを、現時点の周辺環境情報として遠隔操縦装置20へ送信し、描画画面生成部22は、移動体10から受信した現時点の周辺環境情報のうちの移動体10の位置姿勢と、障害物の位置とを地図点群データに配置した第1画面と、移動体10から受信した現時点の周辺環境情報のうちの画像IDに対応する記憶装置21内の過去画像データを提示する第2画面とを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動体の周辺環境を点群データとして観測するLiDARと、周辺環境を画像データとして撮影するカメラとを備えた前記移動体を遠隔操縦する遠隔操縦用システムであって、
前記移動体は、自己位置推定部と、障害物検知部と、同一画像抽出部とを有しており、過去に前記カメラが撮影した過去画像データから抽出された過去特徴点と、過去に前記LiDARが観測した地図点群データとを第1記憶装置に保存しており、
遠隔操縦装置は、描画画面生成部を有しており、画像IDごとの前記過去画像データと、前記地図点群データとを第2記憶装置に保存しており、
前記自己位置推定部は、現時点で前記LiDARが観測した現点群データに類似する前記第1記憶装置内の前記地図点群データ上での箇所をもとに、前記移動体の位置姿勢を推定し、
前記障害物検知部は、周辺環境において前記現点群データと前記地図点群データとの差分が存在する箇所をもとに、前記地図点群データには存在せず前記現点群データには存在する障害物の位置を検出し、
前記同一画像抽出部は、現時点で前記カメラが撮影した現画像データから抽出された現特徴点と、前記第1記憶装置内の前記過去特徴点とを照合することで、前記現特徴点に類似する前記過去特徴点の前記過去画像データを求め、その過去画像データに対応する画像IDを抽出し、
前記移動体は、抽出された画像IDと、推定された前記移動体の位置姿勢と、検出された障害物の位置とを、現時点の周辺環境情報として前記遠隔操縦装置へ送信し、
前記描画画面生成部は、
前記移動体から受信した前記現時点の周辺環境情報のうちの前記移動体の位置姿勢と、障害物の位置とを前記地図点群データに配置した第1画面と、
前記移動体から受信した前記現時点の周辺環境情報のうちの画像IDに対応する前記第2記憶装置内の前記過去画像データを提示する第2画面とを生成することを特徴とする
遠隔操縦用システム。
【請求項2】
前記障害物検知部は、障害物の位置に加えて、障害物の大きさ、障害物の形状、および、障害物の移動の有無を検出して、それらの検出結果を前記遠隔操縦装置に送信し、
前記描画画面生成部は、受信した検出結果を前記第1画面に描画することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項3】
前記障害物検知部は、障害物の位置に加えて、障害物の種類に応じた障害物IDを特定して、その特定結果を前記遠隔操縦装置に送信し、
前記描画画面生成部は、受信した障害物IDに対応する障害物を前記第1画面に描画することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項4】
前記第1記憶装置には、画像IDごとの前記過去画像データについて、さらに、前記過去画像データの撮影時の前記移動体の位置姿勢も対応付けて保存されており、
前記移動体は、さらに、位置再推定部を有しており、
前記位置再推定部は、前記第1画面および前記第2画面を閲覧したユーザから、前記第1画面内の前記移動体の位置姿勢が誤りである旨の入力を受け、前記第2画面に提示された前記過去画像データの画像IDから、対応する前記移動体の位置姿勢を求め、その求めた前記移動体の位置姿勢を前記第1画面に反映することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項5】
前記描画画面生成部は、前記移動体の位置姿勢に加えて、その位置姿勢からの前記カメラの撮影範囲を前記第1画面に配置することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項6】
前記描画画面生成部は、前記現時点の周辺環境情報の送受信時に記録したタイムスタンプを基に、送受信に使用された通信環境の不良状態と、前記LiDARまたは前記カメラの故障状態のうちの少なくとも1つを検出し、その検出結果の状態を警告として表示することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項7】
前記第1記憶装置には、画像IDごとの前記過去画像データについて、さらに、前記過去画像データの撮影時の前記移動体の位置姿勢も対応付けて保存されており、
前記移動体は、さらに、自己位置補正部を有しており、
前記自己位置補正部は、前記移動体から受信した前記現時点の周辺環境情報のうちの前記移動体の位置姿勢を、前記移動体から受信した前記現時点の周辺環境情報のうちの画像IDに対応する前記移動体の位置姿勢で補正した結果を、前記第1画面に反映することを特徴とする
請求項1に記載の遠隔操縦用システム。
【請求項8】
移動体の周辺環境を点群データとして観測するLiDARと、周辺環境を画像データとして撮影するカメラとを備えた前記移動体を遠隔操縦する遠隔操縦用システムが実行する遠隔操縦方法であって、
前記移動体は、自己位置推定部と、障害物検知部と、同一画像抽出部とを有しており、過去に前記カメラが撮影した過去画像データから抽出された過去特徴点と、過去に前記LiDARが観測した地図点群データとを第1記憶装置に保存しており、
遠隔操縦装置は、描画画面生成部を有しており、画像IDごとの前記過去画像データと、前記地図点群データとを第2記憶装置に保存しており、
前記自己位置推定部は、現時点で前記LiDARが観測した現点群データに類似する前記第1記憶装置内の前記地図点群データ上での箇所をもとに、前記移動体の位置姿勢を推定し、
前記障害物検知部は、周辺環境において前記現点群データと前記地図点群データとの差分が存在する箇所をもとに、前記地図点群データには存在せず前記現点群データには存在する障害物の位置を検出し、
前記同一画像抽出部は、現時点で前記カメラが撮影した現画像データから抽出された現特徴点と、前記第1記憶装置内の前記過去特徴点とを照合することで、前記現特徴点に類似する前記過去特徴点の前記過去画像データを求め、その過去画像データに対応する画像IDを抽出し、
前記移動体は、抽出された画像IDと、推定された前記移動体の位置姿勢と、検出された障害物の位置とを、現時点の周辺環境情報として前記遠隔操縦装置へ送信し、
前記描画画面生成部は、
前記移動体から受信した前記現時点の周辺環境情報のうちの前記移動体の位置姿勢と、障害物の位置とを前記地図点群データに配置した第1画面と、
前記移動体から受信した前記現時点の周辺環境情報のうちの画像IDに対応する前記第2記憶装置内の前記過去画像データを提示する第2画面とを生成することを特徴とする
遠隔操縦方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔操縦用システム、および、遠隔操縦方法に関する。
【背景技術】
【0002】
ロボットなどの移動体は、変電所などの社会インフラや建設現場を点検する用途などに活用される。移動体の移動経路を設定する方式として、移動体が移動経路を自律的に移動する方式と、操縦者が遠隔から操縦する方式とに分類される。操縦する方式では、きめ細かい移動制御ができるので効率が良い。
一方、移動体の筐体を直接目視できない設備内にある移動体を遠隔から操縦するためには、設備内の移動体の位置および移動体から見た周囲の周辺環境情報が必要となる。特に周辺環境情報は、障害物を回避するように移動体を操縦するためには必須となる。周辺環境情報は、例えば、移動体に搭載されるLiDAR(Light Detection And Ranging)やカメラなどの外界認識センサより取得した情報である。
【0003】
特許文献1には、プログラムされていない動作や異常事態に対応するために、移動体の自己位置推定を補助する機能を備えた方法が記載されている。この方法では、操縦者は移動体から送信された周辺環境情報へノイズ障害物の情報を付与して返信することで周辺環境情報を加工する。
この方法によれば、移動体側で取得した画像や点群といった周辺環境情報が操縦者側へ送信できる環境であれば、移動体とのインタラクションによって想定されていない状況を回避できる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、山奥の変電所などの通信設備の整備されていない環境では充分な通信速度を確保できないため、移動体の周辺環境情報を操縦者側に送信することができない。周辺環境情報が操縦者へ提示されない場合、操縦者は移動体の周囲にある障害物を避けることができず、衝突する可能性がある。
特許文献1などの従来の技術では、少量のデータ通信しかできないような通信環境の悪い場所での通信を想定していない。
【0006】
よって、移動体の外界認識センサより取得した情報から、操縦に必要な情報だけに周辺環境情報を絞り込んでから、その少量の周辺環境情報を操縦者に通知する方法を検討する。例えば、LiDARにより取得した3次元空間の点群データから推定した移動体の位置情報(緯度、経度、高さなど)だけを操縦者に通知する。これにより、操縦者の側でその位置情報と地図データとをもとに、操縦ができるかもしれない。
【0007】
しかし、推定した移動体の位置情報が実際の現在位置とは異なった位置であった場合、つまり、位置推定が失敗した場合には、操縦者は誤った位置情報を頼りに移動体に進行を指示してしまい、壁に激突するなどの恐れがある。
【0008】
そこで、本発明では、通信環境の悪い状況で移動体の周辺環境情報を絞り込みつつ、周辺環境情報で通知する移動体の位置情報の正誤を、操縦者に認識させることを主な課題とする。
【課題を解決するための手段】
【0009】
前記課題を解決するために、本発明の遠隔操縦用システムは、以下の特徴を有する。
本発明は、移動体の周辺環境を点群データとして観測するLiDARと、周辺環境を画像データとして撮影するカメラとを備えた前記移動体を遠隔操縦する遠隔操縦用システムであって、
前記移動体が、自己位置推定部と、障害物検知部と、同一画像抽出部とを有しており、過去に前記カメラが撮影した過去画像データから抽出された過去特徴点と、過去に前記LiDARが観測した地図点群データとを第1記憶装置に保存しており、
遠隔操縦装置が、描画画面生成部を有しており、画像IDごとの前記過去画像データと、前記地図点群データとを第2記憶装置に保存しており、
前記自己位置推定部が、現時点で前記LiDARが観測した現点群データに類似する前記第1記憶装置内の前記地図点群データ上での箇所をもとに、前記移動体の位置姿勢を推定し、
前記障害物検知部が、周辺環境において前記現点群データと前記地図点群データとの差分が存在する箇所をもとに、前記地図点群データには存在せず前記現点群データには存在する障害物の位置を検出し、
前記同一画像抽出部が、現時点で前記カメラが撮影した現画像データから抽出された現特徴点と、前記第1記憶装置内の前記過去特徴点とを照合することで、前記現特徴点に類似する前記過去特徴点の前記過去画像データを求め、その過去画像データに対応する画像IDを抽出し、
前記移動体が、抽出された画像IDと、推定された前記移動体の位置姿勢と、検出された障害物の位置とを、現時点の周辺環境情報として前記遠隔操縦装置へ送信し、
前記描画画面生成部が、
前記移動体から受信した前記現時点の周辺環境情報のうちの前記移動体の位置姿勢と、障害物の位置とを前記地図点群データに配置した第1画面と、
前記移動体から受信した前記現時点の周辺環境情報のうちの画像IDに対応する前記第2記憶装置内の前記過去画像データを提示する第2画面とを生成することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【0010】
本発明によれば、通信環境の悪い状況で移動体の周辺環境情報を絞り込みつつ、周辺環境情報で通知する移動体の位置情報の正誤を、操縦者に認識させることができる。
【図面の簡単な説明】
【0011】
【
図1】実施例1に関する遠隔操縦用システムの構成図である。
【
図2】実施例1に関する3次元地図の実環境の一例を示す図である。
【
図3】実施例1に関する
図2の実環境から生成される地図点群データを示す図である。
【
図4】実施例1に関する移動体が遠隔操縦装置へ送信する周辺環境情報である。
【
図5】実施例1に関する記憶装置に記録された画像情報を示す図である。
【
図6】実施例1に関する移動体で実行するメイン処理のフローチャートを示す。
【
図7】実施例1に関する自己位置推定部が移動体の位置を推定する処理の詳細を示すフローチャートである。
【
図8】実施例1に関する同一画像抽出部による同一画像抽出処理の詳細を示すフローチャートである。
【
図9】実施例1に関する障害物検知部による障害物検知処理の詳細を示すフローチャートである。
【
図10】実施例1に関する検出する障害物と描画される情報の一例を示す図である。
【
図11】実施例1に関する
図10の現場を俯瞰変換した地図点群データを示す図である。
【
図12】実施例1に関する描画画面生成部のフローチャートである。
【
図13】実施例1に関する
図10の現場を撮影するときの画像の撮影範囲を示す図である。
【
図14】実施例1に関する
図13の画像の撮影範囲を俯瞰変換した図である。
【
図15】実施例1に関する
図10の現場から取得した正しい周辺環境情報を、ユーザに提示する操縦画面の画面図である。
【
図16】実施例1に関する
図15と同じ現場であるが、誤った周辺環境情報を、ユーザに提示する操縦画面の画面図である。
【
図17】実施例2に関する遠隔操縦用システムの構成図である。
【
図18】実施例2に関する通信環境が良好と判定した場合、移動体が操縦者へ送信する情報である。
【
図19】実施例2に関する通信環境が良好な期間での遠隔操縦装置の表示画面図である。
【
図20】実施例2に関する通信環境が不良な期間での遠隔操縦装置の表示画面図である。
【
図21】実施例3に関する遠隔操縦用システムの構成図である。
【
図22】実施例3に関する自己位置補正部の処理を含むフローチャートである。
【
図23】実施例3に関する位置再推定部の処理を示すフローチャートである。
【
図24】実施例3に関する実施例3での描画画面のレイアウト例を示す図である。
【
図25】実施例3に関する遠隔操縦用システムの構成に含まれる移動体および遠隔操縦装置のハードウェア構成図である。
【発明を実施するための形態】
【0012】
以降、本発明を実施するための各実施例を、図等を参照しながら詳細に説明する。
【実施例0013】
図1は、遠隔操縦用システム100の構成図である。遠隔操縦用システム100は、移動体10と遠隔操縦装置20とが通信接続されて構成される。
移動体10は、外界を認識する外界認識センサとして、カメラ30やLiDAR40を備えており、これらの外界認識センサからはそれぞれ一定周期でデータが取得される。加えて、移動体10は遠隔操縦装置20から移動に関する制御情報を受け取っており、こちらも同様に一定周期で入力される。
遠隔操縦装置20は、操縦者が移動体10を制御する信号を入力するコントローラ50と、操縦者に移動体10の情報を閲覧させるディスプレイなどの外部端末60とが接続される。コントローラ50は、一定周期で制御信号を生成する。
【0014】
ここで、本実施形態で使用する用語について、以下のように定義する。
「地図点群データ」とは、LiDAR40で実環境(移動体10の周辺環境)を過去に観測した結果、実環境を示す3次元空間に点群が配置された地図データである。ここでの「過去に観測」とは、遠隔操縦装置20から移動体10を遠隔操縦する現時点よりも過去の時点である。例えば、
図2で後記する実環境からは、
図3で後記する地図点群データが観測される。
「現点群データ」とは、現時点において、LiDAR40で観測した結果の点群データである。
【0015】
「過去画像データ」とは、カメラ30で実環境を過去に撮影した結果の画像データである。例えば、
図15の第2画面558は、過去に撮影したので、現時点で存在する通行人などが写っていない。
「過去特徴点」とは、過去画像データから抽出される特徴点である。特徴点は、例えば、SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)、ORB(Oriented FAST and Rotated BRIEF)、FAST(Features from Accelerated Segment Test)、Harrisである。
【0016】
「現画像データ」とは、現時点において、カメラ30で実環境を撮影した結果の画像データである。例えば、
図19の第2画面561は、現時点で撮影したので、通行人である人間451などが写っている。
「現特徴点」とは、過去特徴点と同様に、現画像データから抽出される特徴点である。なお、過去画像データと現画像データとの類似画像の検索処理において、画像データそのものを処理対象とする代わりに、過去特徴点と現特徴点との類似関係を検索することで、処理時間や処理に要するデータ容量を削減できる。
【0017】
「画像ID」とは、画像データ内に写っている対象物(通行人など)の種類や個数に関係なく、カメラ30の撮影位置と、その撮影位置におけるカメラ30の姿勢(カメラ30の向き)で撮影した過去画像データについて、一意に付与されるIDである。
つまり、過去画像データの撮影時に、カメラ30の撮影位置と、カメラ30の姿勢とを画像IDに対応付けて記録しておくことで、画像IDからカメラ30の撮影位置と、カメラ30の姿勢とを求めることができる。
【0018】
「障害物」とは、移動体10を遠隔操縦する現時点において、その移動を阻害する物体である。本実施形態では、以下の手順で障害物を検出する。
(手順1)障害物が存在しない状態の過去の実環境を、あらかじめ地図点群データとして保存しておく。
(手順2)障害物が存在しうる状態の現時点での実環境を、現点群データとして観測する。
(手順3)地図点群データと現点群データとを比較し、手順1の地図点群データには存在せず、手順2の現点群データには存在する物体を、障害物として検出する。
移動体10は、移動体10の位置、障害物位置、画像IDが含まれた信号を、操縦者がリアルタイムに遠隔操縦するための情報として、遠隔操縦装置20に送信する。
【0019】
移動体10は、自己位置推定部11と、障害物検知部12と、同一画像抽出部13とを備えており、入力手段としてカメラ30およびLiDAR40を備えている。
遠隔操縦装置20は、描画画面生成部22を備えており、入力手段としてコントローラ50、出力手段として外部端末60を備えている。外部端末60は、遠隔操縦装置20が生成した描画画面を操縦者に提示する。
移動体10には、記憶装置14が備えられている。記憶装置14には、過去にカメラ30が撮影した過去画像データから抽出された過去特徴点およびその画像IDと、過去にLiDAR40が観測した地図点群データとが保存されている。
遠隔操縦装置20には、記憶装置21が備えられている。記憶装置21は、画像IDごとの過去画像データと、地図点群データとが保存されている。
【0020】
移動体10は、USB(Universal Serial Bus)やLAN(Local Area Network)を経由して、自身に取り付けられたセンサ(カメラ30、LiDAR40)からデータが入力される。
入力されるデータは、各種センサのデータ取得周期にしたがって取得される。ここで、カメラ30からは画像が、LiDAR40からは3次元の点群情報がそれぞれ取得され入力される。
【0021】
遠隔操縦装置20に取り付けられたコントローラ50は、例えばキーボードなどが想定され、十字キーの押下で移動方向を入力し、各種英字キーの押下で移動体10に備わった機能を起動する。外部端末60は結果を操縦者へ通知するもので、ディスプレイなどが想定される。また、遠隔操縦装置20はタブレット端末などでコントローラ50や外部端末60が一体になった状態で実現されてもよい。
【0022】
自己位置推定部11は、記憶装置14に予め記録された走行環境の地図点群データと、LiDAR40により新しく取得された現点群データとの位置合わせを行うことで、地図点群データ上での移動体10の位置を推定する。つまり、自己位置推定部11は、現時点でLiDAR40が観測した現点群データに類似する記憶装置14内の地図点群データ上での箇所をもとに、移動体10の位置姿勢を推定する。
【0023】
障害物検知部12は、自己位置推定部11の結果を利用して記憶装置14に予め記録された走行環境の地図点群データと、現点群データとの位置合わせ結果を基にした差分を抽出する。障害物検知部12は、差分がある場所から、走行環境に新しく出現した立体物および溝などの障害物を検出する。つまり、障害物検知部12は、周辺環境において現点群データと地図点群データとの差分が存在する箇所をもとに、地図点群データには存在せず現点群データには存在する障害物の位置を検出する。
加えて、障害物検知部12は、カメラ30より取得した画像から、あらかじめ登録しておいた検出対象を検出して、点群情報と組み合わせて3次元点群上での障害物の位置を算出する。
【0024】
同一画像抽出部13は、記憶装置14に記録された過去画像データの過去特徴点と、カメラ30より新たに取得した現画像データから抽出した現特徴点を比較する。同一画像抽出部13は、比較結果として、一致する特徴量が多い過去画像データを、現画像データに最も近い(同一の)画像データとして、その画像IDを抽出する。
つまり、同一画像抽出部13は、現時点でカメラ30が撮影した現画像データから抽出された現特徴点と、記憶装置14内の過去特徴点とを照合することで、現特徴点に類似する過去特徴点の過去画像データを求め、その過去画像データに対応する画像IDを抽出する。
移動体10は、抽出された画像IDと、推定された移動体10の位置姿勢と、検出された障害物の位置とを、現時点の周辺環境情報として遠隔操縦装置20へ送信する。
【0025】
描画画面生成部22は、
図15の第1画面551と第2画面558とを生成する。第1画面551は、移動体10から受信した現時点の周辺環境情報のうちの移動体10の位置姿勢と、障害物の位置とが地図点群データに配置された画面である。第2画面558は、移動体10から受信した現時点の周辺環境情報のうちの画像IDに対応する記憶装置21内の過去画像データを提示する画面である。
加えて、描画画面生成部22は、移動体10が送信した情報に含まれる各種センサでデータを最後に取得した時刻やロボットの状態から移動体10の異常の有無を描画して外部端末60へ描画する。外部端末60は、描画画面生成部22により生成された画面を表示して操縦者へ提示する。
【0026】
図2は、3次元地図の実環境の一例を示す図である。
移動体10は、搭載されたLiDAR40などの外界認識センサ(
図2の102)を利用して、
図2の実環境から3次元の点群情報を取得する。
【0027】
図3は、
図2の実環境から生成される地図点群データを示す図である。
移動体10は、
図2でデータを取得した際の移動体10(カメラ30)の位置情報および姿勢情報(以下「位置姿勢」)を基に、地図点群データの空間に配置することで、地図点群データを生成する。生成される地図点群データは、
図3の101へ示すように実環境と同じ大きさ・形状になるように点が位置する。地図点群データは、105に示すような点が大量に配置されることで、
図2の実環境の形状を再現している。
また、この地図点群データは
図3中の104に示すように地図中の任意の場所を原点とした座標系を有している。この時、
図2の103に示すようなLiDAR40の座標系と異なった位置を原点としてもよい。地図点群データについて以上のように定義したが、CADや2次元地図など位置情報を含み新たに取得したデータを用いて自己の位置を推定可能な情報により代替してもよい。
【0028】
図4は、移動体10が遠隔操縦装置20へ送信する周辺環境情報である。
周辺環境情報は送信時刻、移動体情報、画像情報、障害物情報、LiDAR40の情報に大きく分類される。
・送信時刻は移動体10が情報を送信した時刻が格納される。
・移動体情報は、移動体IDやバッテリ情報、移動体10の状態異常を示す情報と地図点群データ上の位置情報から構成される。
・画像情報は、移動体側で画像を撮影した時刻と、現画像データに最も類似していた過去画像データの画像IDと、その時の類似度とから構成される。障害物情報は、障害物の個数とそれぞれの障害物の種類を示すIDや地図点群データ上の位置および幅や高さなどのサイズを示す情報から構成される。
・LiDAR40の情報は移動体10に搭載されたLiDAR40が最後に点群を取得した時刻が格納される。なお、遠隔操縦装置20から移動体10に送信される情報は、前進後退と左右旋回の速度及び、各種機能を実行するトリガーとなるコマンドであり、一般的なモノを想定しているため特に定義しない。
【0029】
このように、操縦時にリアルタイムで送信される周辺環境情報には、データ量が大きい画像データそのものは含まれておらず、代わりにデータ量が小さい画像IDを含める。これにより、通信環境の悪い場合にも遠隔操縦可能な遠隔操縦画面を提示できる。
一方、実環境の点検作業には、画像データを目視する必要がある。単に障害物の有無などの操縦用の情報だけでなく、点検物がひび割れていないか、ケーブルが断線していないかなどの、点検者が実環境を詳細にチェックするためである。そのため、移動体10には、データ量の大きい現画像データについては、リアルタイムに遠隔操縦装置20に送信する代わりに、自身の記憶手段に録画し続ける。そして、実環境での操縦を終え、移動体10が点検者に回収された後、点検者が移動体10内に録画された現画像データを事後的に閲覧することで、点検を実行できる。
【0030】
図5は、記憶装置14に記録された画像情報を示す。画像情報は撮影日時、天候ID、地図点群データ上での位置姿勢、画像特徴量から構成される。画像情報は画像毎に構成される。ここで画像特徴量は、各画像からSIFTやSURFによって抽出した特徴量をBag-of-Visual-Wordsで用いられるVisual-Wordに分類して、Visual-Wordの数を次元数としたヒストグラムを指す。記憶装置内の画像情報は、移動体10が充電装置に帰還した際などに遠隔操縦装置20の画像とともに更新される。更新は、まず移動体10に保存された新たに取得された画像を遠隔操縦装置20へ転送して、遠隔操縦装置内に記録された画像全てで画像特徴量を再計算し、遠隔操縦装置20から移動体10へ画像情報を転送することで行われる。これにより、走行する毎に新たな日時・天候に応じた画像情報が取得される。
【0031】
図6は、移動体10で実行するメイン処理のフローチャートを示す。移動体10は、遠隔操縦装置20より送信される制御情報を受信する(S101)。移動体10は、自身を制御可能な情報、例えばモータ回転数などに変換して自身を制御する(S102)。
【0032】
移動体10は、S102で自身を制御した結果、位置姿勢に変化があったか否かを判定する(S103)。位置姿勢に変化があった場合(S103でYes)、移動体10は、LiDAR40から取得した情報を基に、地図点群データ上での移動体10の自己位置推定を行い(S104、詳細は
図7)、同一画像を抽出する(S105、詳細は
図8)。位置姿勢に変化がない場合(S103でNo)、S106へ遷移する。移動体10は、周辺環境情報(詳細は
図4)を遠隔操縦装置20へ送信する。
【0033】
図7は、自己位置推定部11が移動体10の位置を推定する処理(S104)の詳細を示すフローチャートである。
今回、自己位置推定は点群マッチング手法の一種であるICP(Iterative Closest Point)を想定して説明する。ICPは、入力した2組の点群から求めた最近傍点の誤差が最小となる剛体変換を推定する方法である。剛体変換は点群の形状を変形させず、回転・並進のみで点群を移動させる変換を指す。例えば、任意の点位置p、3×3の直行行列で表現される回転行列R、並進ベクトルをtとするとき、任意の点pからp'への変換は(数式1)となる。ここで、剛体変換の推定は回転行列Rと並進ベクトルtを推定することに相当する。
p→p'=pR+t …(数式1)
【0034】
今回は地図点群データを参照点群、LiDAR40により新たに取得した点群を入力点群として、LiDAR40により新たに取得した点群を地図点群データに合わせこむ変換を推定する。
まず、自己位置推定部11は、入力点群を最新の地図点群データ上の位置姿勢を基にして地図点群データの座標系に合うように変換する(S201)。
【0035】
自己位置推定部11は、S201で変換した入力点群から見た最近傍点となる参照点群に含まれる点を推定する(S202)。最近傍点の検出はk近傍法など、一般的なアルゴリズムを用いることで実現できる。
【0036】
自己位置推定部11は、対応付けられた最近傍点の距離を計算して一定距離以上、例えば1m以上離れている点を無効な対応として除去する(S203)。ICPは、点同士の距離を最小化する処理を繰り返すことで変換を推定する。よって、誤差の大きな点が含まれていると正しく収束しないため、自己位置推定部11は、S203の処理を実行する。
【0037】
自己位置推定部11は、変換を推定して誤差を計算する(S204)。誤差の計算はまず、自己位置推定部11は、S203の処理で残った入力点群および参照点群の対応点の重心を計算してそれぞれμa、μbとする。そして、自己位置推定部11は、それぞれの重心を利用して分散共分散行列Σabとする。重心の計算は(数式2)、分散共分散行列の計算は(数式3)にて行う。
【0038】
【0039】
ここでμは重心、piは点群中の1点、Σabは分散共分散行列、aiは参照点群の点、biは入力点群の点、μaは最近傍点の求められた参照点群の重心、μbは最近傍点の求められた入力点群の重心をそれぞれさしている。
次に、計算した分散共分散行列を特異値分解し、UおよびVを求める。そして、ここで求めたUおよびVから回転行列Rおよび並進ベクトルtを計算する。最後に、回転行列Rおよび並進ベクトルtを利用して対応した点群間の誤差を求める。ここで、特異値分解、回転行列、並進ベクトルおよび誤差の計算はそれぞれ(数式4)~(数式7)にて行う。
ここで、Rは回転行列、tは並進ベクトル、Eは誤差である。
【0040】
【0041】
自己位置推定部11は、収束判定を行う(S205)。今回の説明では収束条件は2つ設定する。一つは誤差の変化量があらかじめ設定した値以下となること、もう一つは反復回数が一定回数に達することである。誤差の変化量はひとつ前の反復時に算出した誤差の値を記憶しておき、変化量を計算する。自己位置推定部11は、収束条件を満たすまでS201~S205の処理を繰り返すことで、地図点群データ上の移動体位置を推定する。
【0042】
図8は、同一画像抽出部13による同一画像抽出処理(S105)の詳細を示すフローチャートである。
同一画像抽出部13は、新たに撮影した画像から画像特徴点を抽出して局所特徴量を記述する(S301)。
同一画像抽出部13は、抽出した局所特徴量がどのVisualWordの特徴クラスタに属するか求めて、その結果をもとにVisualWordの特徴ヒストグラムを生成する(S302)。VisualWordの特徴クラスタは記憶装置21に記録された画像を基に算出する。ここで説明しているBag-of-Visual-Wordは公知の手法であるため詳細は省略する。
【0043】
同一画像抽出部13は、S302で生成した特徴ヒストグラムと記憶装置14に記録されている画像特徴ヒストグラムを比較して類似度を計算する(S303)。類似度の計算は例えば2つのヒストグラムの重なっている部分を合計するHistogram Intersectionがある。
【0044】
同一画像抽出部13は、現画像データに最も近い(類似度が高い)過去画像データの画像IDを抽出する(S304)。この時、異なった日時や天候で走行して撮影した画像がある場合、類似度の高い画像IDの内、上位10個を抽出しておき、画像情報に保存された日時が近いもの、天候が一致しているもの、位置姿勢が近いものから画像を選択してもよい。また遠隔操縦を行う前に、事前に日時や天候の近い画像情報のみを選択して特徴クラスタおよび特徴クラスタのヒストグラムを作成して記憶装置14に記憶させておいてもよい。
つまり、記憶装置14には、画像IDごとの過去画像データについて、さらに、撮影時の天候および日時を含む撮影条件も対応付けて保存されている。そして、S304で、同一画像抽出部13は、現特徴点に類似する過去特徴点を照合する処理において、撮影条件も類似する過去画像データを求める。
これにより、同じ対象物を撮影する場合でも撮影条件(朝か夜か、晴れか雨かなど)によって画像データが大きく異なり、類似度の計算処理の精度劣化が発生してしまうことを予防できる。
【0045】
図9は、障害物検知部12による障害物検知処理(S106)の詳細を示すフローチャートである。
障害物検知部12は、S104で推定した移動体10の自己位置を用いて、地図点群データの座標系に合うように新たに取得した点群を変換する(S401)。
【0046】
障害物検知部12は、地図点群データと新たに取得した点群との差分を検出する(S402)。差分の検出は例えばKDTreeを用いて行う。まず地図点群データをKDTreeにより空間分割を行う。そして入力点群の各点に対して最近傍点の探索を行い、0.05m以内に地図点群データの点がある場合には差分無し、地図点群データの点が無い場合には差分として抽出する。次に、ここで抽出した差分の点群をクラスタリングして、地図点群データ上に新たに出現した障害物を検出する。
【0047】
図10は、検出する障害物と描画される情報の一例を示す図である。
S402の処理により、移動体453が人間451、三角コーン452の方向を向いている場合、人間451と三角コーン452の点群が差分(障害物)として抽出される。
障害物検知部12は、遠隔操縦中に検出したい対象(障害物)を現画像データから検出する(S403)。対象の検出は、事前に検出したい対象を学習させておいた識別器を用いることで対象を検出する、SVNや深層学習を用いればよい。これらの手法は公知であるため、説明は省略する。
【0048】
障害物検知部12は、S403で検出した巡視対象位置を算出する(S404)。巡視対象位置の算出は、例えば以下の手順である。
(手順1)LiDAR40で取得した点群をカメラ30で撮影した画像に投影する。
(手順2)巡視対象上に投影された点群の地図点群データの座標系上の値から計算した重心を、障害物の位置とする。
(手順3)最も高い位置にある点のZ軸方向の値を、障害物の高さとする。
(手順4)Y軸方向の差を、障害物の幅とする。
【0049】
(手順1)は、以下の(数式8)、(数式9)、(数式10)にて行う。
(数式8)はLiDAR40で取得した点群の座標系を画像の座標系へ変換する式である。
(数式9)、(数式10)は、(数式8)により変換された点群を理想的なピンホールモデルのカメラ30で撮影した画像を想定して投影する式である。
【0050】
【0051】
plは地図点群データの座標系にLiDAR40の点を示す。
pcはカメラ30から見た点位置を示す。
RlcはLiDAR40の座標系からとカメラ30の座標系へ変換するための回転行列を示す。
tlcはLiDAR40の座標系からとカメラ30の座標系へ変換するための並進移動量を示す。
xiおよびyiは画像上の座標を示す。
xl、yl、zlはカメラ30から見た座標系に変換されたLiDAR40の点群座標を示す。
fx、fyはカメラ30の焦点距離を示す。
cx、cyは画像の中心位置を示す。
ここで、S403で検出された障害物が画像中の検出対象上に投影された場合、障害物に検出対象のIDを付与する。そうでない場合、障害物には検出対象外を示すIDを付与する。
【0052】
障害物検知部12は、検出した物体の移動の有無と速度とを計算する(S405)。移動の有無の推定は一定時間前に検出した同一物体の位置との差を計算して、位置に変化がある場合に移動する障害物として分類して、差と時間から移動速度を計算する。障害物同士の対応付けは、例えばハンガリアンアルゴリズムやカルマンフィルタを用いればよい。これらの方法は公知であるため説明は省略する。
障害物検知部12は、障害物情報を記憶領域に時刻とともに保存する(S406)。
【0053】
図12は、描画画面生成部22のフローチャートである。
描画画面生成部22は、移動体10からS107で送信された信号を受信する(S501)。描画画面生成部22は、受信した情報の内、移動体情報を基に、位置姿勢を記憶装置21に記憶された地図点群データ上に描画する(S502)。
図11は、
図10の現場を俯瞰変換した地図点群データ454を示す図である。S502では、描画画面生成部22は、地図点群データ454上に、移動体10の方向および位置が確認できる形で移動体457を描画する。
【0054】
描画画面生成部22は、障害物情報を基に障害物を描画する(S503)。障害物は、ID毎に対応したモデルまたは記号を位置、高さおよび幅を基に地図点群データ上に障害物を描画する。加えて、移動している障害物は速度情報を基に矢印の方向で移動している向きを、長さで速度を表現するように描画する。例を
図11に示す。例えば
図10で検出した三角コーン452は
図11の456に示すように幅と高さを合わせた三角形で描画する。また、
図10で検出した人間451は、
図11に示すように楕円に加えて移動方向と速度を表現する矢印で描画する。
【0055】
図13は、
図10の現場を撮影するときの画像の撮影範囲を示す図である。
描画画面生成部22は、
図13に示すような画像の撮影範囲460を描画する(S504)。例えば移動体10に搭載されたカメラ30で撮影範囲460が撮影できる場合、撮影範囲460に含まれる地図点群データの点の色を、撮影範囲460に含まれない地図点群データの点の色から変更することで、操縦者に提示する。色を変更する点の検出は、次の手順で求める。
(手順1)(数式1)を用いて地図点群データを移動体10の位置を原点にした座標系に変換する。
(手順2)以下の(数式11)により抽出した点群を(数式8)~(数式10)の式を用いて画像に投影する。ここで、p
iは位置姿勢を原点とした地図点群データ中の点、||p
i||は各点の原点からの距離、γは0以下の数値である。
【0056】
【0057】
図14は、
図13の画像の撮影範囲460を俯瞰変換した図である。
S504の処理によって画像上に投影される点群は、カメラ30で撮影できる範囲にある点群であるため、この点群の色を変えればよい。これにより、描画画面生成部22は、
図13の撮影範囲460を
図14の撮影範囲461に対応させて描画できる。今回、点群の色を変えることで撮影範囲を描画したが、描画画面生成部22は、カメラ30の画角を基に、地図上に撮影範囲460の四角錘を描画するなどしてもよい。
【0058】
描画画面生成部22は、信号の時刻を基に通信状況を判定する(S505)。具体的には、描画画面生成部22は、周辺環境情報に記録された移動体10が情報を送信するときに記載したタイムスタンプと、遠隔操縦装置20が受信したときのタイムスタンプとを比較して通信にかかった時間を計算する。通信にかかった時間(遅延やコマ落ち)は画面に描画しユーザに通知する。また、描画画面生成部22は、システムが想定している通信時刻と比較して、想定よりも遅いかをアイコンで描画することでユーザに警告する。
【0059】
描画画面生成部22は、センサの取得時刻を基に故障を判定する(S506)。具体的には、描画画面生成部22は、周辺環境情報に記録されたセンサ(カメラ30、LiDAR40)のデータ取得時刻と、前回の取得時刻との差を比較してセンサが正常に動作していることを確認する。これは、例えばカメラ30が故障している場合に、カメラ内のメモリに記憶された古い画像を返すという誤動作を確認するためである。描画画面生成部22は、センサの故障についても、アイコンで描画することでユーザに警告する。
このように、描画画面生成部22は、現時点の周辺環境情報の送受信時に記録したタイムスタンプを基に、送受信に使用された通信環境の不良状態と、LiDAR40またはカメラ30の故障状態のうちの少なくとも1つを検出し、その検出結果の状態を警告として表示する。
【0060】
図15は、
図10の現場から取得した正しい周辺環境情報を、ユーザに提示する操縦画面の画面図である。
描画画面生成部22は、周辺環境情報に格納された画像IDに対応した画像を記憶装置21より読み込み、遠隔操縦画面550に描画する(S507)。遠隔操縦画面550は、左側に表示される第1画面551と、右側に表示される第2画面558と、下側に表示されるアイコン群とを有する。
アイコン群は、以下に列挙する各アイコンにより構成される。
・符号552は移動体10の状態を示す。
・符号553は移動体10のバッテリ残量を示す。
・符号554は通信遅延のありなし(程度)を示す。
・符号555は移動体10に搭載されたカメラ30の状態(正常か異常か)を示す。
・符号556は移動体10に搭載されたLiDAR40の状態(正常か異常か)を示す。
・符号557は移動体10やセンサなどに異常が発生していることを示す。
【0061】
なお、移動体10のセンサ類(カメラ30、LiDAR40)の異常は、例えば、最新データを取得した時刻の異常(データ取得異常)、センサへの接続可否(通信異常)である。移動体10の異常は、例えば、最新データを取得した時刻の異常(データ更新異常)、バッテリー状態の異常、モータの異常である。
また、今回、符号557に示すアイコンで異常を示したが、符号552に示した移動体10の異常個所の色を変えるなどして操縦者に提示してもよい。
【0062】
第1画面551には、周辺環境情報として受信した位置姿勢(
図15では上向きの姿勢)を示す移動体表示457が含まれる。また、第1画面551には、移動体表示457の位置を基準とした、
図14の撮影範囲461も含まれる。
さらに、第1画面551には、周辺環境情報として受信した各障害物についての表示も、以下のように含まれる。
(障害物の表示1)
図10の三角コーン452は、
図15の三角コーン表示456として表示される。この三角コーン表示456は、障害物検知部12が特定した障害物ID=三角コーンのIDをもとに、三角コーンを模した三角形の表示である。
このように、障害物検知部12は、障害物の位置に加えて、障害物の種類に応じた障害物IDを特定して、その特定結果を遠隔操縦装置20に送信する。そして、描画画面生成部22は、受信した障害物IDに対応する障害物を第1画面551に描画してもよい。
【0063】
(障害物の表示2)
図10の人間451は、
図15の人間表示455として表示される。この人間表示455は、障害物検知部12が特定した障害物の移動(右方向)をもとに、人間が右方向に移動中であることを示す右矢印も併せて表示している。
このように、障害物検知部12は、障害物の位置に加えて、障害物の大きさ、障害物の形状、および、障害物の移動の有無を検出して、それらの検出結果を遠隔操縦装置20に送信する。そして、描画画面生成部22は、受信した検出結果を第1画面551に描画してもよい。
【0064】
第2画面558には、周辺環境情報に格納された画像IDに対応した過去画像データが表示される。
ここで、操縦者は、LiDAR40の観測データに基づく第1画面551と、カメラ30の撮影データに基づく第2画面558とを見比べることにより、第1画面551内の移動体表示457の位置姿勢の正誤を認識できる。
例えば、操縦者は、第1画面551から、撮影範囲461の左端に部屋の角部551Cを確認する。次に、操縦者は、第2画面558から、過去画像データの左側に部屋の角部558Cを確認する。よって、操縦者は、撮影範囲461内の角部551Cの位置と、角部558Cの位置とが整合することにより、第1画面551内の移動体表示457の位置姿勢が正しいものと確認できる。
【0065】
図16は、
図15と同じ現場であるが、誤った周辺環境情報を、ユーザに提示する操縦画面の画面図である。
図15の正しい移動体表示457が、
図16の誤った移動体表示457Xに置き換わる。
図15の正しい撮影範囲461が、
図16の誤った撮影範囲461Xに置き換わる。
例えば、操縦者は、第1画面551から、撮影範囲461Xには部屋の角部551Cが含まれないことを確認する。次に、操縦者は、第2画面558から、過去画像データの左側に部屋の角部558Cを確認する。よって、操縦者は、撮影範囲461X外の角部551Cの位置と、角部558Cの位置とが不整合なので、第1画面551内の移動体表示457Xおよび撮影範囲461Xが誤ったものと確認できる。
通信遅延判定部23は、移動体10から遠隔操縦装置20への通信で要した時間を送信時と受信時のタイムスタンプから判定する。例えば、遠隔操縦をする場合の遅延の上限を50msと仮定したとき、タイムスタンプの差が50ms以上の場合には、通信環境判定部15は、5G環境であっても画像を送信しないように切り替えてもよい。
または、タイムスタンプの差が50ms以上の場合でも、通信環境判定部15は、周辺環境情報の容量と通信にかかった時間から大まかな通信速度を計算して、これに収まるように送信する画像サイズを縮小(1920×1080から640×480など)してから送信してもよい。