JP2019125354A - 情報処理装置、システム、方法、およびプログラム - Google Patents

情報処理装置、システム、方法、およびプログラム Download PDF

Info

Publication number
JP2019125354A
JP2019125354A JP2018223149A JP2018223149A JP2019125354A JP 2019125354 A JP2019125354 A JP 2019125354A JP 2018223149 A JP2018223149 A JP 2018223149A JP 2018223149 A JP2018223149 A JP 2018223149A JP 2019125354 A JP2019125354 A JP 2019125354A
Authority
JP
Japan
Prior art keywords
information
processing
moving
unit
orientation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018223149A
Other languages
English (en)
Other versions
JP7353747B2 (ja
Inventor
鈴木 雅博
Masahiro Suzuki
雅博 鈴木
誠 冨岡
Makoto Tomioka
誠 冨岡
小林 俊広
Toshihiro Kobayashi
俊広 小林
片山 昭宏
Akihiro Katayama
昭宏 片山
藤木 真和
Masakazu Fujiki
真和 藤木
小林 一彦
Kazuhiko Kobayashi
一彦 小林
小竹 大輔
Daisuke Kotake
大輔 小竹
修一 三瓶
Shuichi Sanpei
修一 三瓶
智行 上野
Satoyuki Ueno
智行 上野
知弥子 中島
Chiyako NAKAJIMA
知弥子 中島
聡美 永島
Satomi NAGASHIMA
聡美 永島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2019125354A publication Critical patent/JP2019125354A/ja
Application granted granted Critical
Publication of JP7353747B2 publication Critical patent/JP7353747B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0234Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】 移動体の位置を安定的に得る。【解決手段】 上記の目的を達成する本発明に係る情報処理装置は、移動体の位置を決定する情報処理装置であって、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする。【選択図】 図1

Description

本発明は、移動体の位置を取得する技術に関する。
搬送車両(例えばAGV(Automated Guided Vehicle))といった移動体を、工場や物流倉庫といった環境内で自動運転させる技術が提案されている。自動運転とは、人間が運転操作をしなくても目的地まで自動的に移動し得る技術を指す。特許文献1では、周囲との距離を測るセンサを搭載した移動体がセンサ計測値を用いて移動体自身の位置を推定する方法が提案されている。
特開2013−45298号公報
K.Tateno,et.al.CNN−SLAM:Real−time dense monocular SLAM with learned depth prediction,IEEE Computer Society Conference CVPR,2017
しかし、特許文献1の方法では、移動体の移動距離が大きくなると推定の精度が低下するという推定方法の欠点があるため、安定的に移動体の位置を取得できない。
本発明は、上記の課題に鑑みてなされたものであり、移動体の位置を安定的に得ることを目的とする。
上記の目的を達成する本発明に係る情報処理装置は、移動体の位置を決定する情報処理装置であって、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を計測した結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする。
本発明によれば、移動体の位置を安定的に得ることが出来る。
システム構成を説明する図 情報処理システムの機能構成を説明するブロック図 情報処理装置の処理手順を説明するフローチャート 情報処理装置の処理手順を説明するフローチャート 情報処理システムの処理手順を説明するフローチャート 情報処理システムのGUIを説明する図 情報処理システムの機能構成を説明するブロック図 情報処理装置の処理手順を説明するフローチャート 情報処理システムの機能構成を説明するブロック図 情報処理装置の処理手順を説明するフローチャート 情報処理システムの処理手順を説明するフローチャート 情報処理システムの処理手順を説明するフローチャート 情報処理装置のハードウェア構成を説明するブロック図 情報処理システムの機能構成を説明するブロック図 情報処理システムの処理手順を説明するフローチャート 情報処理システムの処理手順を説明するフローチャート 監視カメラ管理システムの処理手順を説明するフローチャート
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(実施形態1)
本実施形態では、自律走行する搬送車両(例えば、AGV(Automated Guided Vehicle))と称する移動体の移動制御に本発明を適用した場合について説明する。この移動体は自分の位置を推定し、指定された目的地まで自律的に移動制御可能である。
本実施形態では、移動体に搭載された距離センサと撮像装置とから得られる第一計測情報とマップ関連情報とを第一の推定方法に入力して推定した第一の処理結果と、監視カメラで撮影した画像を第二の推定方法に入力して推定した第二の処理結果とを取得する。そして、移動体11の位置姿勢情報を決定し、自律的に移動を行う。なお、位置姿勢情報とは移動体の世界座標における位置と姿勢についての情報を含む。監視カメラは工場や物流倉庫等の環境内の天井や壁に設置されており、移動体やそのマーカを撮影する。監視カメラは環境内を広い視野で撮影できるため、移動体に搭載された撮像装置や距離センサが計測できない領域の様子を画像で取得できる。複数の画像から移動体を捉えることができるため、その場合は一つの撮像装置の画像から推定処理する場合よりも安定的に移動体の位置を得られる。また、監視カメラと移動体がそれぞれ別の処理方法で移動体の位置を推定した結果を統合するため、ひとつの処理方法から推定処理をする場合よりも安定的に移動体の位置を決定できる。
(構成説明)
図1に、本実施形態において搬送車両(AGV)と称する移動体に適用したシステム構成図を示す。
情報処理システム1は、生産システムや物流システムを管理するシステムである。本実施形態における情報処理システム1は、以下から構成される。少なくとも1つ以上の移動体11(11−1、11−2、・・・)、工程管理システム12、移動体管理システム13、監視カメラ管理システム14、少なくとも1つ以上の監視カメラ15(15−1、15−2、・・・)。
移動体11(11−1、11−2、・・・)は、工場や物流倉庫といった使用環境でタスク遂行のため必要とされる工程のスケジュールに合わせて物体を搬送する搬送車両(AGV)である。なお、移動体11は同じ環境内で複数台が移動(走行)していることが想定される。また、移動体11は、移動体管理システム13、監視カメラ管理システム14、他の移動体11と、Wi−Fi通信などの無線通信を用いて各種情報を送受信する。
工程管理システム12は、情報処理システム1で実行する工場や物流倉庫における工程のスケジュールなどを管理する。例えば、生産管理システムや、物流管理システムや、MES(Manufacturing Execution System)である。また、工程管理システム12は、移動体管理システム13、監視カメラ管理システム14と通信を行う。
移動体管理システム13は、移動体11を管理するシステムである。例えば、コンピュータサーバや、PCや、組み込みシステムや、PLC(Programmable Logic Controller)である。移動体管理システム13は、移動体11とWi−Fi通信などの無線通信を用いて、移動体11の移動制御を行うための各種情報を送受信する。また、移動体管理システム13は、工程管理システム12、監視カメラ管理システム14と通信を行う。
監視カメラ管理システム14は、監視カメラ15を管理するシステムである。例えば、コンピュータサーバや、PCや、組み込みシステムや、PLC(Programmable Logic Controller)である。監視カメラ管理システム14は、監視カメラ15とEthernet通信などの有線通信、あるいはWi−Fi通信などの無線通信を用いて、環境内を撮像した監視カメラ画像など、監視のための各種情報を送受信する。監視カメラ管理システム14は、移動体11ともWi−Fi通信などの無線通信を用いて、環境内を認識した結果など、各種情報を送受信する。また、監視カメラ管理システム14は、工程管理システム12、移動体管理システム13と通信を行う。
なお、ここまで説明した工程管理システム12、移動体管理システム13、監視カメラ管理システム14すべてを包含するシステムを構成しても良い。
監視カメラ15は、工場や物流倉庫やその他の使用環境の状況を監視する受光センサを有するカメラであり、具体的にはRGBカラーカメラである。監視カメラ15は移動体11を観測可能な場所に設置されており、例えば環境内の天井に近い箇所に複数台が設置されている。監視カメラの向いている方向、種類や設置場所といった情報は、監視カメラ管理システム14の記憶媒体に保持される。監視カメラの設置場所や向いている方向は、使用環境毎に定義された世界座標系上で管理される。また、その監視カメラの種類や設置場所や向いている方向といった情報は、工程管理システム12や、移動体管理システム13や、移動体11と共有する。
図2に、本実施形態において移動体に適用した情報処理システムの機能構成を説明するブロック図を示す。
移動体11−1は、情報処理装置111、距離センサ112、撮像装置113、各種センサ114、アクチュエータ部115から構成される。もちろん移動体11−2、・・・も同様の構成である。なお、各移動体11には、位置姿勢、IDを識別可能なマーカや、IDを識別可能なRFIDタグが装着されている。移動体11に装着するマーカは、シールで貼るようにしても良いし、移動体11の表面にプリントされていても良い。また、移動体11に刻印するものや埋め込むようなマーカでも良い。マーカ以外にも、移動体11を識別可能な記号や文字列を用いても良い。なお、マーカと各移動体11との位置姿勢関係は予めキャリブレーションにより求められている。
情報処理装置111は、取得部1117、位置姿勢決定部1115、移動制御部1116から構成される。取得部1117は、第一計測情報取得部1111、マップ関連情報管理部1112、第一位置姿勢推定処理部1113、第二推定情報取得部1114から構成される。情報処理装置111は、例えば、PCや、組み込みシステムや、PLC(Programmable Logic Controller)である。
第一計測情報取得部1111は、距離センサ112と、撮像装置113との計測結果である第一計測情報を取得する。また、第一計測情報取得部1111は、第一計測情報をマップ関連情報管理部1112、第一位置姿勢推定処理部1113に送る。なお、第一計測情報とは、距離センサによる距離情報(点群データやデプスマップ)と撮像装置による画像情報である。また、第一計測情報取得部1111は、各種センサ114から移動制御に必要な移動制御センサ情報を取得する。移動制御センサ情報は、オドメトリーセンサによるオドメトリー情報、角速度センサによる角速度情報、加速度センサによる加速度情報である。第一計測情報取得部1111は移動制御センサ情報を移動制御部1116に送る。なお、本実施形態では、最低限、距離情報と画像情報とがあれば移動体11の位置と姿勢を推定することが可能である。
マップ関連情報管理部1112は、移動体管理システム13の移動体管理部131と通信を行い、マップ関連情報の送受信および記憶、保持を行う。また、マップ関連情報管理部1112は、第一計測情報取得部1111から送られる第一計測情報や、位置姿勢決定部1115から取得する位置姿勢情報を利用して、マップ関連情報の生成、更新、変更も行う。また、マップ関連情報管理部1112は、マップ関連情報を第一位置姿勢推定処理部1113、位置姿勢決定部1115、移動制御部1116に送る。なお、本実施形態におけるマップ関連情報とは、移動体11が移動する環境のマップ(地図)、移動経路(走行経路)、目標地点の情報を含む。
ここで言うマップ(地図)とは、環境の構造や空間を表現する環境の三次元モデルなどの三次元マップのことである。具体的には、三次元点群データ(もしくは三次元点群データと色情報との組み合わせ)、キーフレームデータの集合である。キーフレームデータとは、環境内においてある視点から見た奥行情報を量子化して色の濃淡で表現したデプスマップを一定間隔で取得し、画像から取得した色情報とを組合せたものである。なお、キーフレームデータは、位置姿勢を推定するためのものであれば何でも良く、例えば画像中の特徴点における奥行き情報と画像情報(色情報)との組み合わせであっても良い。マップは、情報処理システム1を稼働させる前に、移動体11を環境内で移動させることで生成する。例えば移動体11をリモコンや手押しで操作しながら、移動体11に搭載しているセンサによるセンサ情報を合成することでマップを生成する。あるいは、移動体11が自律的に環境内を移動して、SLAM(Simultaneous Localization and Mapping)技術を使って生成する。SLAMとは、センサで周辺の環境を認識すると同時に、自分自身の位置や姿勢を精度よく推定する技術である。マップとしてキーフレームデータを用いた場合は、まず、前フレームで推定した位置や姿勢に最も近いキーフレームを選択し、前フレームの位置や姿勢を用いてデプスマップに基づいて現フレームの各画素をキーフレームに射影する。次に、射影したフレームの画素値とキーフレームの画素値とをマッチングして輝度差が最小となるように位置姿勢を推定する。また、ループクローズした際など所定のタイミングでグラフ最適化法によりキーフレームの位置や姿勢を更新する。そして、生成したマップは移動体管理システム13の移動体管理部131に送られ記憶される。また、マップは情報処理システム1を稼働させている間に変更を加えても良い。
移動経路(走行経路)とは、移動体11が環境内で移動する経路であり、環境における世界座標系上での位置情報の配列データである。移動経路は少なくとも1つ以上あり、複数ある場合は移動する経路の順番が定められている。また、移動経路は工程設計を行うユーザが予め定めたものであっても良いし、情報処理システム1を稼働させている間に変更を加えたものであっても良い。
目標地点とは、移動体11が環境内で移動する目標となる地点であり、環境における世界座標系上での位置姿勢情報である。目標地点は少なくとも1つ以上あり、複数ある場合は目標とする順番が定められている。また、目標地点は工程設計を行うユーザが予め定めたものであっても良いし、情報処理システム1を稼働させている間に変更を加えたものであっても良い。
第一位置姿勢推定処理部1113は、第一計測情報取得部1111から送られる第一計測情報、マップ関連情報管理部1112から送られるマップ関連情報を取得する。そして、第一の処理方法を使って第一の処理結果(移動体11の位置と姿勢を特定可能な情報)を推定する。本実施形態における所定の第一の推定方法はSLAMとする。SLAMは、移動体11の周囲の環境を計測した第一計測情報が入力されると、移動体11の位置姿勢情報と、周囲の環境のマップを出力する。第一位置姿勢推定処理部1113は、第一の処理方法における推定結果の信頼度を取得できる。なお、信頼度とは、ある計測情報または処理方法に基づいた処理結果の確からしさを表す指標である。また、第一位置姿勢推定処理部1113は、第一の位置姿勢情報をマップ関連情報管理部1112、位置姿勢決定部1115に送る。なお、本実施形態における位置姿勢または位置姿勢情報とは、環境の世界座標系上における移動体11の位置を示す3自由度(X、Y、Z)と姿勢を示す3自由度(Roll、Pitch、Yaw)との合計6自由度の位置姿勢パラメータである。なお、第一の推定方法はSLAMの他に、距離センサ112から取得された距離情報(点群データ)と、マップ関連情報の点群データとをICP法を用いて一致するよう最適化計算することで位置姿勢推定する。(ICPはIterative Closest Pointの略である。)あるいは、距離センサ112から入力された距離情報(デプスマップ)や撮像装置113から取得された画像の特徴点と、マップ関連情報のキーフレームデータの特徴点とをマッチングすることで位置姿勢推定することが出来る。第一位置姿勢推定処理部1113が移動体管理システム13に含まれていても良い。
第二推定情報取得部1114は、監視カメラ管理システム14の第二計測情報管理部141と通信を行い、第二の処理結果を含む第二推定情報や監視カメラ情報を取得する。なお、監視カメラ管理システム14の第二位置姿勢推定処理部143が環境を認識した結果(例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など)、各監視カメラが撮像した画像などを監視カメラ情報と呼ぶ。もちろん、移動体11は、監視カメラ管理システム14から第二推定情報や監視カメラ情報を直接的に受信せず、一旦移動体管理システム13を経由して受信しても良い。また、第二推定情報取得部1114は、第二推定情報をマップ関連情報管理部1112、位置姿勢決定部1115に送る。なお、本実施形態における第二推定情報とは、監視カメラ15−1、2等いずれかのカメラが移動体11とその周囲を撮影した画像から、第二位置姿勢推定処理部143が第二の処理方法で認識した第二の処理結果(移動体11の位置と姿勢を特定可能な情報)である。本実施形態では、第二推定情報は、所定の第二の推定方法で移動体11の位置姿勢情報を推定した第二の処理結果であるとする。第二の処理方法については、第二位置姿勢推定処理部143で詳細を説明する。
取得部1117は、第一位置姿勢推定処理部1113の推定結果である第一の処理結果と、第二位置姿勢推定処理部143の推定結果である第二の処理結果とを取得する取得部である。取得部1117は、位置姿勢決定部1115に第一の処理結果と第二の処理結果を送る。
位置姿勢決定部1115は、取得部1117から取得した第一の処理結果と第二の処理結果とに基づいて、移動体11の世界座標上での位置および姿勢(位置姿勢情報)を生成する。本実施形態では、位置姿勢決定部1115は、ある時点で取得部1117から取得した第一の処理結果と第二の処理結果とから移動体11の位置および姿勢として決定する。位置は第一の処理結果と第二の処理結果の中間地点、姿勢は第一の処理結果と第二の処理結果の平均値とし、この位置と姿勢の座標情報を合わせて位置姿勢情報を呼ぶ。生成された位置姿勢情報は移動制御部1116、マップ関連情報管理部1112に送られる。また、位置姿勢決定部1115はこれら様々な方法で推定した位置姿勢情報に重み付け係数を反映して統合しても良い。各処理方法で推定された6自由度の位置と姿勢を示すパラメータに対して、それぞれに重み付け係数を掛けて統合する。なお、それぞれの重み付け係数の絶対値はゼロを含まない。重み付けには予め定めておいた比率を用いる方法や、それぞれの推定で求められた信頼度に比例させた変数を用いる方法等がある。位置姿勢決定部1115が、第一位置姿勢推定処理部1113から第一の処理方法における推定結果の信頼度と、第二位置姿勢推定処理部143から第二の処理方法における推定結果の信頼度とをそれぞれの処理方法の信頼度として用いる。第一の処理結果に関しては、例えば距離情報の推定信頼度やフレーム間のマッチング誤差から算出できる信頼度を利用することが出来る。第二の処理結果に関しては、例えば、監視カメラ画像の認識信頼度が挙げられる。例えば、第一の処理結果、第二の処理結果を重み付けて統合することで、移動体11の位置や姿勢の決定の信頼性が向上し、安定的に移動体11の位置や姿勢を得ることが出来る。
移動制御部1116は、第一計測情報取得部1111から送られる移動制御センサ情報と、マップ関連情報管理部1112から送られるマップ関連情報と、位置姿勢決定部1115から送られる移動体11の位置姿勢情報とを取得する。そして、それらに基づいて移動体11の移動制御情報を生成する。なお、本実施形態における移動制御情報とは、移動体11の車輪の回転トルク、進行方向、ブレーキ(加速度)などである。また、移動制御部1116は、移動制御情報をアクチュエータ部115に送る。また、移動制御部1116は図示しない進行方向提示部が移動経路に基づきウインカーによる点滅などの進行方向の提示を行うための情報を生成して送っても良い。
距離センサ112は、環境におけるシーンの距離(あるいは三次元情報、あるいは奥行き情報)の計測を行う計測装置であり、照射したレーザー等の光を受光する受光センサを有する。具体的にはLidarやToFを代表とするアクティブ距離センサである。なお、距離センサ112と移動体11との位置姿勢関係、距離センサ112と撮像装置113との位置姿勢関係は、予めキャリブレーション済みであるとする。距離センサ112は、計測により得られた距離情報(点群データを二次元配列した画像であるデプスマップなど)を第一計測情報として第一計測情報取得部1111へ送る。
撮像装置113は、移動体11の周囲を撮影可能な受光センサを含む装置で、すなわち環境におけるシーンの画像を撮像するカメラであり、具体的にはRGBカラーカメラである。撮像装置113は、CMOSセンサやCCDセンサ等の画像センサを内蔵する。なお、撮像装置113と移動体11との位置姿勢関係、撮像装置113と距離センサ112との位置および姿勢の関係は、予めキャリブレーション済みであるとする。撮像装置113は、撮像により得られた画像情報を第一計測情報として第一計測情報取得部1111へ送る。
各種センサ114は、移動体11のオドメトリー(車輪の回転角度により求める位置姿勢情報)を計測するオドメトリーセンサ、角速度を計測する角速度センサ、加速度を計測する加速度センサなどである。各種センサ114は、オドメトリー情報、角速度情報、加速度情報を含む移動制御センサ情報を第一計測情報取得部1111へ送る。
アクチュエータ部115は、移動制御部1116から送られる車輪の回転トルク、進行方向、ブレーキ(加速度)に関する移動制御情報に基づき移動体11の車輪を駆動する。
工程管理システム12は、図1で説明したとおりである。
移動体管理システム13は、移動体管理部131、移動体管理表示部132から構成される。
移動体管理部131は、工程管理システム12と通信を行い、移動体11が行う工程を実行するための各種情報を送受信する。移動体管理部131は、移動体11が環境内を移動するために必要なマップ関連情報(マップ、移動経路、目標地点など)を保持しており、例えば初期化時や工程が進む時や定期的に、マップ関連情報管理部1112に送る。
移動体管理表示部132は、移動体管理部131から送られた移動体管理情報を表示するデバイスであり、具体的にはディスプレイである。移動体管理表示部132は、マップ、移動体11の位置姿勢、移動体11ごとの移動経路、目標地点などがディスプレイの画面上に表示されている。マップ上に各移動体11がどこにいるのかを表示するようにしても良い。また、各移動体の撮像装置113が撮影した画像をそれぞれ表示して、ユーザが確認できるようにしても良い。
監視カメラ管理システム14は、第二計測情報管理部141、監視カメラ管理表示部142、第二位置姿勢推定処理部143から構成される。
第二計測情報管理部141は、監視カメラ15で撮影された監視カメラ画像である計測結果を第二計測情報として第二位置姿勢推定処理部143に送る。監視カメラ15は移動体11を計測可能または撮影可能な場所に設置されている。また、第二位置姿勢推定処理部143から送られた第二の処理結果(移動体11の位置姿勢推定処理結果および第二の処理方法における認識結果の信頼度)を第二推定情報として第二推定情報取得部1114へ送る。第二計測情報は、監視カメラ15で撮影した画像や監視カメラ15の図示しない他のセンサについての情報を含む。また、第二計測情報管理部141は、監視カメラ15と通信を行い、監視カメラ画像や、監視カメラ15の制御を行う各種情報(例えば、パン・チルト・ズーム制御、オン・オフ制御)を送受信する。第二計測情報管理部141は、工程管理システム12と通信を行い、各移動体11の作業内容(何を運ぶべきかといった指示)や作業場所(地図や座標情報)といった各種情報を送受信する。第二計測情報管理部141は、監視カメラ15が撮影した監視カメラ画像を監視カメラごとに時系列で管理された状態で保持している。なお、監視カメラ管理システム14の第二位置姿勢推定処理部143が環境を認識した結果(例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など)、各監視カメラが撮像した画像などを監視カメラ情報と呼ぶ。
監視カメラ管理表示部142は、第二計測情報管理部141から送られた監視カメラ画像や第二の処理結果などを表示するデバイスであり、具体的にはディスプレイである。監視カメラ管理表示部142は、1つ以上ある監視カメラ15の監視カメラ画像をアレイ状に並べてディスプレイ画面に表示する。さらに監視カメラ画像に第二の処理結果(例えば検出した移動体11を枠で囲んで表示)を重畳表示、あるいは認識結果として、移動体11のID、荷物情報、位置座標、認識結果の信頼度等のスコアを別途一覧にして表示する。
第二位置姿勢推定処理部143は、第二計測情報管理部141から取得した監視カメラ画像を含む第二計測情報を、所定の第二の推定方法に入力し、移動体11の位置姿勢を示す第二の推定結果を推定処理する。本実施形態における第二の推定方法は、監視カメラ15が撮像した監視カメラ画像から移動体のマーカを検出し、そのマーカの特徴点から移動体の位置や姿勢を幾何変換で推定する(第二の処理結果)。特徴点の検出は、物体の角や縁という形状に特徴のある点を捉える方法があり、この検出した特徴をキーポイントと呼ぶ。例えば、監視カメラ15が移動体11を画像から物体検出するためには、ある一定間隔で取得されるフレームから、移動体11に装着したマーカの特徴点(キーポイント)を抽出する。それを連続するフレームで毎回検出することによって移動体11を追跡できる。移動体の位置姿勢は、画像中のマーカの特徴点からヤコビアンを用いて幾何変換により求めることが出来る。第二位置姿勢推定処理部143は、第二の処理方法における推定結果の信頼度を取得できる。第二位置姿勢推定処理部143は、第二の処理方法による推定結果とその信頼度を第二推定情報として第二計測情報管理部141に送る。なお、第二位置姿勢推定処理部143は、移動体11の位置姿勢を推定する画像認識以外にも、各監視カメラが撮像できる範囲における物体検知や環境認識を行っても良い。環境を認識する方法は様々あり、例えばテンプレートマッチング、幾何モデルフィッティング、機械学習、深層学習(Deep Learning)、強化学習といった手法を用いることが出来る。認識の精度を向上するため、テンプレート、幾何モデル、認識辞書、学習モデル、報酬モデルは予め用意しても良いし、情報処理システム1を稼働中にオンライン生成しても良い。また、移動体11に装着したマーカからIDを認識することで、移動体11の位置姿勢だけでなく、個体(ID)、数を認識しても良い。また、第二位置姿勢推定処理部143は情報処理装置111が備えていても良い。
監視カメラ15は、図1で説明したとおりである。
図3に、本実施形態において搬送車両(AGV)と称する移動体に搭載した情報処理装置111の処理手順を示す。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置111は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
S101では、情報処理装置111が、初期化処理として、移動体管理部131が保持しているマップ関連情報(マップ、移動経路、目標地点など)をマップ関連情報管理部1112に記憶する。また、情報処理装置111が、距離センサ112、撮像装置113のセンサパラメータ、カメラパラメータ、各種センサ114のキャリブレーションパラメータ、各機能構成で用いるパラメータの初期設定値を取得する。初期化処理が開始されるタイミングとしては、ユーザが情報処理システム1や移動体管理システム13や、移動体11を起動した場合などが挙げられる。
S102では、第一計測情報取得部1111が、距離センサ112によって取得された環境におけるシーンの距離情報と、撮像装置113によって撮像された環境におけるシーンの画像とを取得する。距離センサ112による距離情報と撮像装置113による画像情報が第一計測情報である。また、各種センサ114からの移動制御センサ情報を取得する。
S103では、第一位置姿勢推定処理部1113が、第一計測情報と、マップ関連情報管理部1112から取得されたマップ関連情報(マップ)とを用いた第一の処理方法に基づいて、移動体11の位置姿勢情報(第一の処理結果)を推定する。移動体11の位置や姿勢の推定方法(第一の処理方法)は、距離センサ112から入力された距離情報(デプスマップ)と撮像装置113から取得された画像情報の特徴点や色情報と、マップ関連情報のキーフレームデータとをマッチングすることで推定する。
S104では、第二推定情報取得部1114が、第二計測情報管理部141から第二の処理結果を取得する。なお、第二の処理結果は、以下に説明する手順で生成される。まず、予め第二計測情報管理部141の指示により監視カメラ15が環境のシーンの撮像を行う。第二計測情報管理部141が、監視カメラ15によって撮影された画像情報である第二計測情報を第二位置姿勢推定処理部143に送る。次に、第二位置姿勢推定処理部143が、第二位置姿勢推定処理部143の説明に記載した手法(第二の処理方法)を用いて、移動体11の位置姿勢情報(第二の処理結果)を推定する。認識した第二の処理結果は第二計測情報管理部141に送られる。
S105では、位置姿勢決定部1115が、第一の処理結果と第二の処理結果とに基づいて移動体11の位置姿勢情報(位置と姿勢)を決定する。ここでは、図4に示す位置姿勢決定部1115の処理手順に従って位置姿勢情報を統合する。S1051では、第一の処理結果の信頼度と第二の処理結果の信頼度とを取得する。第一の処理結果の信頼度は、第一の推定方法に適した信頼度を位置姿勢決定部1115または第一位置姿勢推定処理部1113が算出する。同様に、第二の処理結果の信頼度は、第二の推定方法に適した信頼度を位置姿勢決定部1115または第二位置姿勢推定処理部143が算出する。S1052では、第一の処理結果に付与する第一の重み付け係数w1と第二の処理結果に付与する第二の重み付け係数w2を算出する(例えばw1+w2=1、ただし、0<w1<1かつ0<w2<1)。本実施形態では、重み付け係数は、予め定めておいた比率(w1=w2=0.5)を用いる。S1051で取得した信頼度に応じて重み付け係数を決定したりしても良い。なお、複数のカメラから移動体11を捉えられる場合は、すべての第二計測情報をそれぞれ第二の処理方法に基づいて処理する。複数の第二の処理結果とその信頼度とをそれぞれ算出して、信頼度が高いものを使うようにしても良い。S1053では、第一の処理結果と第一の重み付け係数の積と、第二の処理結果と第二の重み付け係数の積とを足し合わせることによって2つの処理結果を統合する。統合の方法はこれに限らない。
S106では、マップ関連情報管理部1112が、マップ関連情報管理部1112が保持している最新のマップ関連情報と、位置姿勢決定部1115において決定した位置姿勢情報とに基づいて環境のマップを最適化するよう更新する。例えばマップとして点群を利用している場合は、点群の位置が実際の環境のシーンに合うよう最適化処理によって変更される。マップとしてキーフレームデータを利用している場合は、キーフレームの位置姿勢が実際の環境のシーンに合うよう最適化処理によって変更される。環境のマップを含むマップ関連情報はもともと移動体管理部131から送られてきているが、例えば環境のレイアウトが変更されていたり、障害物が置かれていたりすると、実際の環境のシーンとは異なったマップとなる。そこで、S106によりマップの更新を行うことで、環境のレイアウト変更や障害物に対応することが可能となり、移動体11が障害物に衝突するリスクを抑えることができる。また、S106において、環境のレイアウトが変更されていたり、移動経路上に障害物が置かれていてマップが更新されていたりする場合は、もともと移動体管理部131から送られて来たマップ関連情報(移動経路)を変更しなければならない。その場合は、マップ関連情報管理部1112が移動経路を変更する。移動経路を変更するためには、マップにおける移動体11の目的地の座標と移動体11の現在位置がわかっていれば良い。移動経路を変更する方法としては、機械学習や強化学習といった手法がある。これら学習的手法を用いることによって障害物や壁に移動体11が衝突しないようなルートを新たに作成する。学習は、情報処理装置111の図示しない学習部で行うほか、移動体管理システム13で保持する学習モデルを用いて移動体11と通信することによって取得できるようにしても良い。作成された最新の移動経路は移動制御部1116に送られる。なお、S106は、第一位置姿勢推定処理部1113において、第一の処理方法がSLAMである場合のみ行われる。SLAM技術を利用しない場合はS106をスキップする。また、S105とS106とは並列的に実行される処理である。
S107では、移動制御部1116が、移動制御センサ情報と、マップ関連情報(マップ、移動経路、目標地点)と、位置姿勢決定部1115から送られる位置姿勢情報とに基づいて、移動体11の移動制御情報を生成する。移動制御情報は、まず移動体11がマップ内における目標地点に向けた移動経路のどの地点(現在位置)にどの姿勢(進行方向)であるかを把握し、移動体11が目標地点に向かうために必要な車輪の回転トルク量、進行方向、ブレーキなどの制御値を決定する。生成した移動制御情報はアクチュエータ部115を制御するために利用される。
S108では、情報処理装置111がシステムの動作が終了したか、すなわち移動体11が目標地点に到着したり、ユーザがシステムの停止を指示したりしたか判定する。目標地点に到着したと判断するには、マップ関連情報と移動体11の位置姿勢情報とに基づいて、目的地の世界座標と移動体11の世界座標との距離が所定の値以下(例えば1m以下)の場合はシステムを終了するといった条件を設定しておく。または、RFIDやマーカを使って移動体11が目標地点に接近したことをセンサやカメラで検知するようにしてもよい。ユーザやシステムが終了指示する例では、サーバからの強制停止指示が出た場合、あるいは移動体11に備えた緊急停止ボタンが人によって押される場合がある。その際は他のステップを実行中であってもS108にジャンプしてシステムを終了しても良い。Yesの場合はそのままシステムを終了する。Noの場合はS102に戻る。また、目標地点に到着していたとしても、次の目標地点が設定されていればS102に戻る。
なお説明上、S103とS104という順序で実行することになっているが、この順番は逆にしてもよい。また、S106とS107は並列的に処理しても良い。
図5は、情報処理システムに本実施形態を適用した場合のフローチャートである。
S201は、S101と同様に、情報処理装置111がシステムの初期化を行う。
S202では、距離センサ112と撮像装置113が移動体11の周辺の環境の計測可能な範囲を第一受光センサで計測する。この計測結果を第一計測情報とする。S203は、S102と同様に、第一計測情報取得部1111が、距離センサ112と撮像装置113から第一計測情報を取得する。第一計測情報取得部1111は、取得した第一計測情報を第一位置姿勢推定処理部1113に送る。S204では、第一位置姿勢推定処理部1113が、第一計測情報とマップ関連情報とを第一の推定方法に入力して第一の処理結果を得る。S205では、位置姿勢決定部1115が、第一位置姿勢推定処理部1113の処理結果である移動体11の位置姿勢情報(第一の処理結果)を取得する。S206では、第二受光センサとして監視カメラ15が、移動体11と移動体11の周辺の環境の計測可能な範囲を撮像する。監視カメラ15の画像情報を第二計測情報とする。S207では、第二計測情報管理部141が第二計測情報を監視カメラから取得し、第二位置姿勢推定処理部143に送信する。S208では、第二位置姿勢推定処理部143が、第二の推定方法に第二計測情報である監視カメラ画像を入力して第二の処理結果を得る。ここで、第二の推定方法は移動体11に搭載されたマーカを使った物体検出と座標変換による位置姿勢推定方法である。また第二の処理結果は、移動体11の位置姿勢を示す情報である。S209は、情報処理装置111の第二推定情報取得部1114が第二の処理結果を第二計測情報管理部141から取得する。第二推定情報取得部1114が、位置姿勢決定部1115に第二の処理結果を送信する。S210は、位置姿勢決定部1115が第一の処理結果と第二の処理結果とを用いて移動体11の位置姿勢を決定する。S211は、マップ関連情報管理部1112がマップ関連情報を更新する。S212は、移動制御部1116が移動体11の移動量を算出する。S213では、アクチュエータ部115が、移動制御部1116から送られた移動制御情報を利用して移動体11の車輪の回転トルク、進行方向、ブレーキ(加速度)を制御する。S214では、情報処理装置111が移動制御を終了するか判断する。判断方法としては、移動体11が目的地の半径1m以内に到着したかどうかで判断する。なお、処理手順はS202からS205とS206からS209が入れ替わっていても良い。また、並列的に処理しても良い。
本実施形態によれば、移動体11に搭載された距離センサおよび撮像装置による第一計測情報とマップ関連情報を第一の処理方法で処理した第一の推定結果と、監視カメラ15で撮影した監視カメラ画像を第二の処理方法で処理した第二の推定結果とを用いる。そして、移動体11の位置姿勢情報を統合、決定し、移動制御を行う。移動体に搭載された距離センサからの距離情報、撮像装置からの画像を用いた位置姿勢推定の結果と、監視カメラ画像を用いた位置姿勢推定結果とに基づいて移動体の位置姿勢を決定するため、移動体の位置姿勢を安定的に得ることができる。
(変形例1−1)
本実施形態において、マップは三次元的なマップに限定されない。また、本実施形態において、位置姿勢情報は6自由度の位置・姿勢パラメータに限定されるものではない。例えば、マップは、環境の床と水平な面上の二次元点群データ(と色情報との組み合わせ)や、環境の床と水平な面上の二次元モデルなどの二次元マップであっても良い。また、位置姿勢情報は環境の世界座標系上における移動体11の位置を示す2自由度(環境の床に対して水平な面上の位置X、Y)と姿勢を示す1自由度(環境の床に対して水平な面上での回転方向)との合計3自由度の位置・姿勢パラメータであっても良い。また、距離センサ112は、シーンの水平方向で距離情報(二次元点群データ)を計測するアクティブ距離センサであっても良い。位置姿勢情報の推定は、距離センサ112から取得された距離情報(二次元点群データ)と、マップ関連情報の二次元点群データとをICP(Iterative Closest Point)法を用いて一致するよう最適化計算することで行う。
(変形例1−2)
本実施形態において、距離センサ112はアクティブ距離センサに限定されるものではない。例えば、赤外線センサや、ステレオカメラであっても良い。また、本実施形態において、撮像装置113、監視カメラ15は、RGBカラーカメラに限定されるものではない。例えば、グレースケールカメラや、赤外線カメラや、広角レンズカメラや、パノラマカメラであっても良い。パン、チルト、ズームが可能なカメラであっても良い。また、監視カメラ15は、画像以外に距離を計測するセンサを備えても良い。例えば、二次元点群や三次元点群を出力する距離センサであっても良い。
(変形例1−3)
本実施形態において、マップは移動体11に搭載している距離センサや撮像装置を用いて生成されるものに限定されない。例えば、環境のCAD図面や地図画像をそのまま、あるいはデータフォーマット変換したものをマップ関連情報管理部1112に取得して利用しても良い。また、CAD図面や地図画像によるマップを初期マップとしてマップ関連情報管理部1112に取得して、移動体11に搭載しているセンサを用いてSLAM技術で更新しても良い。マップを上書きで更新しても良いし、初期マップを保持しておき差分を更新情報として記憶しても良い。その際、マップをレイヤーで管理して、差異を移動体管理表示部132のディスプレイ画面で確認したり、初期マップに戻したりすることも出来る。ディスプレイ画面を見ながら操作を行うことで利便性が向上する。
(変形例1−4)
本実施形態において、マップは同一の時間帯に生成されるものに限定されない。例えば、時間帯を変えてマップを複数生成し、生成したマップを比較して差異を除くことで環境内を移動する物体(例えば人物や他の移動体11)をマップ関連情報から排除することが可能となる。マップ関連情報から移動する物体を排除することで位置姿勢推定をより安定的に行うことが可能になる。
(変形例1−5)
本実施形態において、距離センサ112と撮像装置113を両方利用すると説明したが、その方法に限定されるものではない。撮像装置113を利用して、距離センサ112を利用しなくても良い。この場合、位置姿勢情報の推定はTatenoらの方法(非特許文献1)を用いて撮像装置113による画像情報から距離情報(三次元幾何情報)をCNN(ConvolutionalNeuralNetwork)で推定し、SLAM技術を利用して行う。なお、CNNは、多段階の層からなり、畳み込み演算を行うニューラルネットワークである。入力画像に対して、CNNの各段階では畳み込み演算を行って画像の特徴を空間的に統合し、次の段階の中間層のニューロンへ入力する。さらにプーリングやサブサンプリングと呼ばれる、特徴量を空間方向へ圧縮する操作を行う。CNNは、このような多段階の特徴変換を通じて複雑な特徴表現を獲得することができる。そのため同特徴量に基づいて画像中の被写体のカテゴリ認識や画像変換などを高精度に行うことができる。
(変形例1−6)
本実施形態において、第一位置姿勢推定処理部1113での位置姿勢情報の推定は、移動体11に搭載したセンサによるセンサ情報と、監視カメラ画像とを利用して最適化計算で求めても良い。
また、第一位置姿勢推定処理部1113での位置姿勢情報の推定は、第一の計測情報として通信機器の電波の強さを使っても良い。例えば、Wi−Fi通信の通信状況や、環境内に設置されているビーコンを併用して求めても良い。
(変形例1−7)
本実施形態において、移動体11は搬送車両(AGV)に限定されるものではない。例えば、移動体11は、AMR,無人搬送車、自動運転車、自律移動ロボットであっても良く、本実施形態で説明した移動制御をそれらに適用しても良い。また、陸上を歩行・走行する移動体以外でも、空中を飛行して移動するものや、水上を移動するもの、水中を潜水して移動する移動体に適用しても良い。
(変形例1−8)
本実施形態において、移動体11は人間による運転制御が不要であるが、ユーザがGUIを用いて必要に応じた遠隔操作をできるようにしてもよい。ユーザは監視カメラ15と監視カメラシステム14を使って工場全体を監視しており、移動体11の行動を監視している。異常行動の兆候が観測された場合や、トラブルで工場の一部を停止しなければいけない場合に、ユーザは遠隔操作によって一度に複数の移動体11の運転制御に介入できるようになっていれば、システム全体の安全性や利便性が上がる。
第二計測情報管理部141は、監視カメラ管理表示部142に対して、監視カメラ画像と共にGUIを表示する制御を行う。また、監視カメラ管理表示部142で操作を指示された移動体11の移動制御情報を第二推定情報取得部1114もしくは移動制御部1116へ送る。
監視カメラ管理表示部142は、複数の監視カメラ15により撮像した監視カメラ画像をアレイ状に表示する。また、表示されている移動体11を操作するGUIを表示する。図6に監視カメラ管理表示部142に表示するディスプレイ画面の例を示す。ユーザはGUIを操作して移動体11(図6においては監視カメラ画像15−1に表示され、マウスカーソルあるいは画面へのタッチによって選択された移動体11−1)の操作を行う。移動体11の操作としては、前進、停止、後退、右旋回、左旋回などがある。監視カメラ画像を見て工場や物流倉庫の監視を行っているユーザが、監視カメラ画像と共に表示されているGUIで移動体11を操作可能にすることで、移動体11が物体などに衝突する前に停止させるといった操作を行うことが出来る。
図17に、監視カメラシステム14の処理手順を示す。S901では、監視カメラ15が周囲を撮像する。S902では、監視カメラ15が撮像した画像を第二計測情報管理部141が取得する。S903では、第二位置姿勢推定処理部143が、監視カメラ15が撮像した画像から、移動体11を検出する。検出方法は、移動体11に搭載されたマーカを使った物体検出を用いる。S904では、監視カメラ表示部142に、認識処理後の画像を表示する。図6で表されるように、検出された移動体11を枠で囲んで表示することができる。S905では、ユーザによって入力された移動体11の移動制御指示を監視カメラ表示部142が取得する。S906では、第二計測情報管理部141が第二の処理結果とユーザの入力情報を情報処理装置111に送信する。GUIから移動制御の入力操作があった場合は、図3のフローチャートにおけるS107で、移動制御部1116がGUIに入力された制御情報を使って移動制御情報を生成する。
(変形例1−9)
監視カメラシステム14は第二位置姿勢推定処理部143の他に、第二位置姿勢推定処理部143が移動体11の周囲にある他の物体を認識する。なお、他の物体は、環境内を移動する他の移動体11、人物、もしくは移動体11が搭載していた荷物(落下物)である。第二位置姿勢推定処理部143では、パターン認識等の物体検出の手法を用いて他の物体を認識する。具体的な手順としては、まず図5のS208において、第二位置姿勢推定処理部143が第二計測情報に含まれる画像から移動体11以外の物体を検出する。推定処理をする直前の画像にはなかった物体の特徴点を検出する。S210では、位置姿勢決定部1115が、第一の処理結果と第二の処理結果を用いて移動体11の位置と姿勢を決定する。ここで、S208において移動体の他に物体が検出なかった場合は、前に説明した手順で第一の処理結果と第二の処理結果を統合し、移動体11の位置と姿勢を決定する。S208において移動体の他に物体が検出された場合、S205で得た第一の処理結果に付与する重み付け係数を小さくして、移動体の位置と姿勢を決定する。第一の計測情報に他の物体による計測の誤差が含まれる場合、第一の処理結果の精度が悪い可能性があるためである。環境内で動く物体を検出することによって、移動体の位置や姿勢を推定するのに不必要な物体の情報を排除できるため、移動体の位置を安定的に決定できる。
(変形例1−10)
本実施形態において、初期化処理として監視カメラの画像を利用して移動体11の移動開始時の位置または姿勢の推定(初期設定)を行っても良い。例えば、図5のフローチャートを用いて説明を行うと、S201においてS206〜S209の処理を追加で行う。S201で行うS208の処理においては、第二位置姿勢推定処理部143が、第二の推定方法に第二計測情報である監視カメラ画像を入力して第二の処理結果を得る。位置姿勢決定部1115が、この第二の処理結果に基づいて、移動体11が移動を開始するスタート位置を決定する。あるいは、位置姿勢決定部1115が、監視カメラ15が撮像した監視カメラ画像を入力し、テンプレートマッチング、モデルフィッティング、機械学習など、手法を用いて移動体11の移動経路の開始位置や姿勢(第二の処理結果)を決定する。
移動体11の位置や姿勢を推定する方法としてSLAM技術を用いる場合、システム初期化直後は前フレームの位置姿勢情報がないため、何らかの方法で移動体11の初期位置姿勢を決定する必要が生じる場合がある。そのため、システム初期化時に、第二計測情報を利用して移動体11の初期位置姿勢情報(移動体11の移動経路の開始位置)を決定することで、移動体の位置を安定的に推定することが出来る。
もちろん、移動体11の初期位置姿勢を、ユーザが監視カメラ管理表示部142を利用して設定しても良いことは言うまでもない。
(変形例1−11)
本実施形態において、第二位置姿勢推定処理部143による認識結果に基づき環境に置かれている物体の位置や姿勢に変化があると判定する。物体の位置や姿勢に変化があると判定された場合は、移動体11が変化のあった環境内の領域すなわちレイアウト変更の行われた環境内の領域に向かって自律的に移動してマップ情報を更新しても良い。例えば、図5のフローチャートを用いて説明すると、S208において第二位置姿勢推定処理部143が、テンプレートマッチング、モデルフィッティング、機械学習などの手法を用いて、環境に置かれている物体の位置や姿勢に変化があるか認識する。レイアウト変更の判定は、ある時刻tまで無かった物体が時刻tから所定の時間u(例えば予めユーザにより定めた1分間)以上環境にあることを監視カメラ15により撮影した画像の時系列差分から求める。あるいはその逆で、時刻tまであった物体が時刻tから所定の時間以上環境から無くなったこと、あるいは物体の位置や姿勢が変化したことを、監視カメラ15により撮影した画像の時系列差分から求める。移動体11の移動制御およびマップ情報の更新は、レイアウト変更があった領域を環境の世界座標系に投影変換してその領域のマップ情報を更新するように行う。なお、本変形例の処理は、工程のタスクが割り当てられていない移動体11を用いて行うことが望ましいが、工程のタスクの合間に行っても良い。第二位置姿勢推定処理部143は、S211において変化のあった環境内の領域についてマップ情報の更新するようにマップ関連情報管理部1112に指示を行う。変化があると認識された場合はレイアウト変更が行われたものと判定して、S212において変化のあった環境内の領域を目標地点にして移動体11の移動制御を行う。
移動体11の位置姿勢情報を推定する方法としてSLAM技術を用いない場合に、レイアウト変更が行われた領域のマップ情報更新を行うことで、移動体の位置を安定的に取得することが出来る。
(変形例1−12)
本実施形態において、第二位置姿勢推定処理部143による認識結果に基づき監視カメラ画像内に存在する特徴点の数や分布を判定する。特徴点の数が多すぎるあるいは少なすぎる領域を移動体11に搭載した距離センサ、画像センサにより計測あるいは撮像しないよう移動制御する。例えば工場のような環境において移動体を使用する場合、工場の壁や天井には模様や柄がないことや、逆にブラインドのような同じ幾何的特徴の繰り返し・パターンがあることが多く、そのような部分では位置の推定に必要な特徴点を見つけにくい。特徴点とは、環境内で位置を推定するために用いるコーナーやエッジ等の変化が大きい点を指す。そのような環境でも移動体の位置を安定的に決定するには、特徴点の数や分布が適度な箇所を第一の計測情報として使うようにする。そのために、予め第二の計測情報から特徴点の数や分布を計測しておき、特徴点の数や分布が適度な箇所を把握しておく。例えば、図5のフローチャートを用いて説明すると、S208において第二位置姿勢推定処理部143による認識で、特徴点の数や分布を検出するための検出器やフィルタ等の既知の手法を用いて環境における特徴点の数や分布を監視カメラ画像ごとに判定する。特徴点の数や分布が、予め定めた範囲に含まれない(第1の閾値以下あるいは第2の閾値以上)場合は、特徴点の数や分布が少なすぎるあるいは多すぎる。そのため、移動体11に搭載した距離センサ、撮像装置で計測あるいは撮像するのに適切ではないと判定する。特徴点の数や分布が適切ではない領域を環境の世界座標系に投影変換して、S212において移動体11に搭載した受光センサがその領域を計測あるいは撮像しないよう移動制御する。また、位置姿勢決定部1115が、特徴点の数や分布が適切ではない領域が計測範囲に含まれる第一の計測情報を用いた第一の処理結果を取得しないよう抑制しても良い。特徴点の数や分布が過少または過多な場合に第一の計測情報または第一の処理結果を取得しないように抑制することによって、情報処理装置111の処理負荷を軽減することができる。その結果、移動体の位置を安定的に取得することが出来る。
(変形例1−13)
本実施形態において、移動体11の図示しないバッテリー(電池)が切れそうな場合は、監視カメラ情報を利用した第二の処理結果により移動体11の位置と姿勢の推定を行っても良い。
移動体11のバッテリーを効率的に使うことで、移動体の位置を安定的に取得することが出来る。
(変形例1−14)
本実施形態において、第二の処理結果の信頼度は監視カメラ画像の認識信頼度に限定されるものではない。監視カメラの近くを通る移動体は、監視カメラの画像にマーカが大きく映るためマーカで検出しやすい。一方で、監視カメラから遠いところを通る移動体は、監視カメラの画像にマーカが小さく映るため検出しづらい。また、移動体が監視カメラから遠いほど、画像におけるマーカの位置のずれや形状の歪みが顕著になるため、画素のずれが移動体の位置や姿勢の推定に与える影響が大きくなり、推定精度が低下する。そこで、移動体の位置座標と監視カメラの既知である位置座標の距離を計算し、位置姿勢決定部1115における重み付け係数を監視カメラ15から移動体11までの距離に応じた信頼度にしても良い。監視カメラ15から移動体11までの距離が遠くになるにつれて位置姿勢推定精度は下がるため信頼度を下げる。あるいは、監視カメラ15で撮影した画像中のどの位置に移動体11が写っているかで信頼度を決めても良い。監視カメラ15は広角レンズを用いていることが多く、端に写っている移動体11や物体や人物の位置姿勢推定精度は下がる。監視カメラ画像を矩形に分割して予め定めた端の分割領域に移動体11が写っている場合は信頼度を下げる。信頼度の高い情報のみを使って処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。
(変形例1−15)
本実施形態において、1台の移動体11を撮影する監視カメラ15は1台に限定されるものではなく複数台であっても良い。例えば、移動体11−1を監視カメラ15−1および15−2で撮影しても良い。監視カメラ15−1および監視カメラ15−2は移動体11を計測可能または撮影可能な場所に設置されており、それぞれのカメラの位置と姿勢が既知である。図5のフローチャートを用いて説明すると、S206において監視カメラ15−1、15−2を用いて画像をそれぞれ撮影する。次にS208において第二位置姿勢推定処理部143を用いて監視カメラ画像それぞれから移動体11−1の位置姿勢情報を認識する。さらに、第二位置姿勢推定処理部143が移動体11−1を検出し、その位置と姿勢をそれぞれ世界座標系上で座標変換したことで位置姿勢推定する(複数の第二の処理結果)。S209において第二推定情報取得部1114を通して複数の第二の推定情報(第二の処理結果)を入力する。さらに、S204において、第一位置姿勢推定処理部1113は、第一計測情報取得部1111から送られる第一計測情報、マップ関連情報管理部1112から送られるマップ関連情報を用いて第一の処理結果を推定する。S210において、S209で取得された複数の第二の処理結果と、S204で取得した第一の処理結果を重み付けて統合する。重みづけには予め定めておいた比率を用いる方法や、それぞれの推定で求められた信頼度に比例させた変数を用いる方法等がある。あるいは最も信頼度の高い位置姿勢情報を選択しても良い。移動体11−1を撮像する監視カメラ15は2台に限定されるものではなく、3台以上の複数台であっても良いことは言うまでもない。
複数の視点からの画像や処理結果の信頼度等の情報を使って処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。また、移動体側で処理結果の統合をすることにより、監視カメラ管理システム14の処理負荷を軽減することができる。
また、第二位置姿勢推定処理部143で得られた複数の第二の処理結果を、S208またはS209の時点でひとつの第二の処理結果に統合しても良い。第二位置姿勢推定処理部143は、それぞれの推定で求められた信頼度に比例させた変数を用いて重み付け係数を決定し、各推定結果を統合する。あるいは最も信頼度の高い位置姿勢情報を選択しても良い。それ以外の方法でも、例えば、複数の第二の処理結果の平均値や中央値をとる。監視カメラ管理システム14で第二の処理結果を統合することにより、情報処理装置111での処理負荷を軽減することができる。
(変形例1−16)
本実施形態において、第一計測情報、第一の処理結果と、第二の処理結果との推定レート(位置姿勢推定処理を行う時間間隔を示す)や推定タイミングは、処理を行うタイミングをそれぞれ任意の時間間隔に設定することができる。例えば同時並行で他の処理をやるためにタイミングを設定できる。その結果、推定レートや推定タイミングにずれが生じることがある。
まず、推定レートにずれが生じる場合について説明する。例えば、第一の処理結果の推定レートが高く(毎秒60回処理)、第二の処理結果の推定レートが低い(毎秒5回処理)場合を考える。位置姿勢決定部1115において位置姿勢情報を重み付け統合する際に、第一の処理結果の推定タイミングに合わせると第二の処理結果は過去の推定結果を用いることになるため位置姿勢推定精度が落ちることがある。あるいは、第二の処理結果の推定タイミングに合わせると低い推定レートで位置姿勢情報を求めることになる。そこで時刻t1において第一の処理結果と第二の処理結果とが推定され統合した後、次に第一の処理結果と第二の処理結果が推定される時刻t1+vまでの間は第一の処理結果が推定される度に最新の第一の処理結果から移動体11の位置姿勢を決定する。あるいは、時刻t1における第二の処理結果に、移動体の速さと経過時間の積から推定した移動量を差分として加えた位置姿勢情報を第二の処理結果として用いる。時刻t1+vに第一の処理結果と第二の処理結果が推定されたら時刻t1と同様に第一の処理結果と第二の処理結果を統合する。
次に、推定タイミングにずれが生じる場合について説明する。例えば、ある時刻t2にセンサおよび監視カメラで環境を計測あるいは撮影して、位置姿勢決定部1115で時刻t2+w1に第一の処理結果が推定され、時刻t2+w2に第二の処理結果が推定されるとする。(第二の処理結果のディレイ(遅れ)の方が大きいことを想定してw1<w2とする。)この場合、位置姿勢決定部1115で統合する位置姿勢情報は、ほぼ同じ時刻に計測あるいは撮影された距離センサ情報、画像を用いることが望ましい。そこで距離センサ情報、画像情報に対して計測あるいは撮影された時刻のタイムスタンプを付与し、同時刻の距離センサ情報、画像情報を用いて推定した位置姿勢情報を統合する。
あるいは、時刻t2+w2に第二の処理結果が推定されたら、タイムスタンプを参照して時刻t2における位置姿勢情報を修正しても良い。過去に推定した位置姿勢情報を修正することで、例えばSLAM技術を用いて第一の処理結果を推定する場合は時刻t2以降の位置姿勢情報を更新することが出来る。また、タイムスタンプを参照して位置姿勢推定のディレイが大きいと判定された処理結果は信頼度が低いものとして重み付けの度合いを小さくする。計測するタイミングや推定結果を統合する時間を合わせた処理結果を統合することにより、移動体の位置を安定的に取得することが出来る。
(変形例1−17)
本実施形態において、距離センサ112、撮像装置113、監視カメラ15は、撮像素子上の各々の受光部が2以上の受光素子によって構成され、距離情報と画像情報とを出力可能な1台の撮像装置によって構成されても良い。
(変形例1−18)
情報処理装置111は、移動体に搭載されていなくてもよい。例えば、移動体管理システム13が情報処理装置111を含む構成でも良い。この場合、図5のS202において、各移動体11−1に搭載された距離センサ112、撮像装置113、各種センサ114が、移動体の周辺を観測あるいは計測する。各移動体11−1は、それらの観測結果または計測結果を、ネットワークを介して移動体管理システム13内の情報処理装置に送信する。そして、S203においては、移動体管理システム13の情報処理装置にある第一計測情報取得部が、移動体に搭載されたセンサの計測結果を取得する。情報処理装置は計測結果を基に先述した第1の推定方法もしくは第2の推定方法を実施し、各移動体の位置や姿勢を決定し、各移動体に送信する。各移動体は、移動制御部1116において受信した位置と姿勢に基づいて移動制御情報を生成し、アクチュエータ部115を制御する。移動体管理システム13が有する情報処理装置111として、例えば、物理的に大きく処理性能が高いハードウェアを使うことは、移動体に搭載する情報処理装置よりは容易である。つまり、本変形例により、各移動体の位置推定処理をさらに精度良く行える。
(実施形態2)
本実施形態では、移動体の位置の推定に本発明を適用した場合について説明する。
複数の監視カメラが設置されている環境においても監視カメラの死角は存在する。そこで、監視カメラの死角となる場所でも移動体の位置と姿勢を安定的に得るために、環境内に位置を特定するためのマーカを設置する。このマーカは環境における位置と姿勢が既知のID付き二次元平面マーカであり、移動体はこのマーカを撮影することによって移動体自身の現在位置と姿勢を推定する。本実施形態では、移動体に2台の撮像装置を搭載し、移動体に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体の位置と姿勢を推定する。さらに、移動体に搭載したもう一つの撮像装置によって予め環境内に設置したマーカが撮影されたときは、その画像から移動体の位置と姿勢を検出する第二の処理方法を用いて移動体の位置姿勢推定を行う。
(構成説明)
本実施形態においては、環境における位置と姿勢が既知のID付き二次元平面マーカ(以下、IDマーカと略す)を環境内に複数個、固定して配置する。マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することができる。そして、撮像装置113bで撮像した画像情報から認識したIDマーカの位置と姿勢を座標変換することで、移動体11の位置と姿勢を推定する。IDマーカは、予め環境内の床面、天井、対象物体、立て看板に配置される。また、IDマーカの代わりにIDがないマーカを利用しても良い。IDマーカを用いることによって、例えばIDが100番のマーカは世界座標系で(x、y、z)の位置にあるという具合に各マーカの番号と位置を紐づけることができる。IDがない場合は、位置座標のみを読み取る。なお、実施形態1におけるマーカと物理的には同一のものであるが設置箇所が異なる。
図7は、本実施形態における情報処理システムの機能構成を示す図である。多くの構成は、実施形態1で説明した図1、2の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態1と機能が異なる構成のみ説明し、それ以外の構成については図1、2と同じ機能であるものとして説明を省略する。
本実施形態では、移動体11に撮像装置を2つ搭載する。撮像装置113aは、実施形態1における撮像装置113と同様に、移動体11の周辺の環境を撮像し、第一計測情報取得部1111aに画像情報を送る。撮像装置113bは、移動体11が撮像装置1113bによって計測可能な範囲である環境内に設置されたマーカを撮影するカメラである。マーカは白黒のバーコードであるため、撮像装置113bはカラーカメラでなくても、白黒画像やグレースケールの濃淡画像を取得できるものでも良い。
第一計測情報取得部1111aは、距離センサ112と撮像装置113aとから第一計測情報を取得する。第一計測情報取得部1111aは、取得した第一計測情報をマップ関連情報管理部1112、第一位置姿勢推定処理部1113aに送る。
第二計測情報取得部1111bは、撮像装置113bから第二計測情報を取得する。第二計測情報取得部1111bは、取得した計測情報をマップ関連情報管理部1112、第二位置姿勢推定処理部1113bに送る。
第一位置姿勢推定処理部1113aは、実施形態1における第一位置姿勢推定処理部1113と同様である。第一の処理方法(SLAM)を用いて第一計測情報とマップ関連情報とを処理することで移動体11の位置姿勢を推定する。
第二位置姿勢推定処理部1113bは、移動体11の位置姿勢情報を推定する際に、撮像装置113bにより取得された第二計測情報から環境に置かれているマーカを検出する。マーカを検出すると、世界座標における絶対的な位置座標を第二の処理結果として取得できる。また、画像におけるマーカの歪み具合や傾きからから移動体11の姿勢を第二の処理結果として取得する。
位置姿勢決定部1115は、第一位置姿勢推定処理部1113aから第一の処理結果を用いて移動体11の位置と姿勢を決定する。もしくは、第二位置姿勢推定処理部1113bから第二の処理結果を取得し、移動体11の位置と姿勢を決定する。または、実施形態1と同様にして、第一の処理結果と、二つの処理結果を統合する。統合の方法は実施形態1における位置姿勢決定部1115と同様であるが、第二の処理結果が取得できたときは、第二の処理結果に付与する重み付け係数を大きく設定する。
図8に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態1と処理が異なる手順のみ説明し、それ以外の手順については図3と同じ処理であるものとして説明を省略する。
S302では、第一計測情報取得部1111aが、第一計測情報として距離センサ112から距離情報と、撮像装置113aから画像とを取得する。S303では、第二計測情報取得部1111bが、第二計測情報として撮像装置113bから画像を取得する。S304では、第一位置姿勢推定処理部1113aが、第一計測情報とマップ関連情報とを第一の処理方法に入力して、第一の処理結果を得る。ここで、第一の処理方法は実施形態1と同様でSLAMである。
S305では、第二位置姿勢推定処理部1113bが、第二計測情報を第二の処理方法に入力して第二の処理結果を得る。第二の処理方法は、画像からマーカを検出する画像認識技術を用いる。ここで、マーカを検出できなかった場合は、直前のマーカからの移動距離を算出して、直前のマーカの位置座標と移動距離から移動体11の現在位置を推定する方法でも良い。
S306では、位置姿勢決定部1115が、移動体11の位置と姿勢を決定する。第二の位置姿勢推定においてマーカが検出された場合は、第二の処理結果を用いて移動体11の位置と姿勢を決定する。もしくは図4のサブフローと同様に二つの位置姿勢推定処理結果から移動体11の位置姿勢を決定する。なお、この実施形態においては第二の位置姿勢推定においてマーカが検出された場合、第二の位置姿勢推定結果の重み付け係数を第一の位置姿勢推定結果の重み付け係数より大きくする。マーカを検出できなかった場合は、第一の処理結果を使って位置と姿勢を決定する。
S307以降は、実施形態1のS106以降と同様である。
マーカを設置することによって、監視カメラの死角となる場所でも移動体の位置を安定的に得ることができる。また、マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することによって移動体の位置を安定的に得ることができる。
(実施形態3)
本実施形態では、移動体の位置の推定に本発明を適用した場合について説明する。
複数の監視カメラが設置されている環境においても監視カメラの死角は存在する。そこで、マーカを設置することによって、監視カメラの死角となる場所でも移動体の位置を安定的に得ることができる。また、マーカからは世界座標上での絶対位置を取得できるため、それまでの移動で蓄積した位置や姿勢の推定結果と実際の移動体の位置との誤差を修正することによって移動体の位置を安定的に得ることができる。本実施形態では、移動体11に1台の撮像装置を搭載する。取得する画像が1種類であっても、複数の推定処理を行うことによって移動体の位置を安定的に推定できる。また、移動体に搭載する撮像装置を1台にすることによって、2台目の撮像装置を置く場所に自由度が増す。例えば、2台目の撮像装置を、実施形態1と同様に環境内に設置された監視カメラとして利用すれば、移動体を複数の視点から観測可能になり、移動体の位置や姿勢の推定を複数の方法で実施可能になる。本実施形態では、移動体に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体の位置姿勢推定を行う。さらに、移動体11に搭載した同一の撮像装置によって得られた画像に予め環境内に設置したマーカが撮影されたときは、その画像から移動体の位置と姿勢を検出する第二の処理方法を用いて移動体の位置姿勢推定を行う。
(構成説明)
本実施形態においては、実施形態2と同様に、環境における位置姿勢が既知のID付き二次元平面マーカ(以下、IDマーカと略す)を環境内に複数固定配置する。実施形態2との違いは、移動体11に搭載する撮像装置が1台になっている点である。
図9は、本実施形態における情報処理システムの機能構成を示す図である。多くの構成は、実施形態2で説明した図1、図7の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態2と機能が異なる構成のみ説明し、それ以外の構成については図1、図7と同じ機能であるものとして説明を省略する。
本実施形態では、移動体11に搭載する撮像装置は1台でよい。撮像装置113は、カラーカメラであり、移動体11の周辺の環境を撮像し、環境内に設置されたマーカを検出するため画像を取得する。
計測情報取得部1111は、距離センサ112と撮像装置113とから計測情報を取得する。計測情報取得部1111は、取得した計測情報をマップ関連情報管理部1112、第一位置姿勢推定処理部1113a、第二位置姿勢推定処理部1113bに送る。
第一位置姿勢推定処理部1113aは、実施形態1における第一位置姿勢推定処理部1113と同様である。計測情報取得部1111から送られた計測情報と、マップ関連情報管理部1112から送られたマップ関連情報とを第一の処理方法(SLAM)に入力し、移動体11の位置姿勢を推定する。
第二位置姿勢推定処理部1113bは、移動体11の位置姿勢情報を推定する際に、撮像装置113により取得された計測情報から環境に置かれているマーカを検出する。マーカを検出すると、世界座標における絶対的な位置座標を第二の処理結果として取得できる。また、画像におけるマーカの歪み具合や傾きからから移動体11の姿勢を第二の処理結果として取得する。
図10に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態2と処理が異なる手順のみ説明し、それ以外の手順については図8と同じ処理であるものとして説明を省略する。
S402では、計測情報取得部1111が、計測情報として距離センサ112から距離情報と、撮像装置113から画像とを取得する。S403では、第一位置姿勢推定処理部1113aが、第一計測情報とマップ関連情報とを第一の処理方法に入力して、第一の処理結果を得る。ここで、第一の処理方法は実施形態1と同様でSLAMである。
S404では、第二位置姿勢推定処理部1113bが、S402で取得した計測情報を第二の処理方法に入力して第二の処理結果を得る。第二の処理方法は、画像からマーカを検出する画像認識技術を用いる。世界座標における絶対的な位置座標を第二の処理結果として取得する。ここで、マーカを検出できなかった場合は、直前のマーカからの移動距離を算出して、直前のマーカの位置座標と移動距離から移動体11の現在位置を推定する方法でも良い。S405以降は、実施形態2のS306以降と同様である。
(実施形態4)
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
移動体11が本来の移動経路から外れてしまうと、安全の観点では他の移動体や装置に衝突してしまうリスクが高くなる。また生産管理の観点では、予定通りに生産工程を実施できないリスクが高くなる。そのため、移動体11は移動経路からなるべく外れないように運行することが望まれる。本実施形態では、マップ関連情報に含まれる移動体11の移動経路と、監視カメラ画像を第二の処理方法に入力することにより推定した第二の処理結果を用いて、移動体と移動経路との相対距離を決定する。移動体と移動経路の距離が離れている(所定の値より大きい)場合は、第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。本実施形態では、移動体11に搭載された距離センサと撮像装置による第一計測情報とマップ関連情報とを第一の処理方法に入力することにより推定した第一の処理結果を用いて移動体11の位置姿勢を決定する。さらにその位置が移動経路上の点に含まれるかを第二の処理結果から判断する。移動体11の位置が移動経路の上にない場合は、第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。また、移動体11が本来走行すべき経路から外れているものとして、ユーザに通知を行う。あるいは、位置姿勢情報を用いて移動体11が移動経路に復帰する試みを行う。
(構成説明)
本実施形態におけるシステム構成図は実施形態1で説明した図1、図2と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態1と機能が異なる構成のみ説明し、それ以外の構成については図1、図2と同じ機能であるものとして説明を省略する。
位置姿勢決定部1115は、第一計測情報と第一の処理方法とに基づく第一の処理結果を用いて移動体11の位置と姿勢を決定する。もしくは、第二位置姿勢推定処理部143から第二の処理結果を取得し、移動体11の位置と姿勢を決定する。または、実施形態1で説明した第一計測情報と第一の処理方法とに基づく第一の処理結果と、第二計測と第二の処理方法とに基づく第二の処理結果を統合し、これを移動体11の位置姿勢情報として保持する。そして、第二の処理結果もしくは位置姿勢情報とマップ関連情報管理部1112から送られたマップ関連情報(移動経路)とを比較し、移動体11が移動経路の上にあるか判断する。ここでは、移動制御に用いる位置姿勢情報には第一の処理結果を、移動経路上にいるかの判断には第二の処理結果を用いる例を説明する。具体的な比較方法としては、世界座標系において、移動経路を表す領域内に第二の処理結果から特定した移動体11の位置座標が含まれているか算出する。あるいは、移動経路を表す領域に含まれる任意の点と、移動体11の位置座標との距離が所定の値(例えば1m)以下になるとき、移動体11は移動経路上にあると判断する。もし、移動体11が移動経路の上にある場合は、位置姿勢情報を移動体11の位置姿勢情報として移動制御部1116に送る。しかし、位置姿勢情報が移動経路の上にない場合、すなわち位置姿勢情報が移動経路から予め定めた距離以上離れた場合(例えば1m以上)は、移動体11が本来走行すべき経路から外れているものと判断する。この場合は、位置姿勢決定部1115が第二の処理結果を用いて移動体の位置と姿勢の推定結果を修正する。位置姿勢決定部1115は、移動体管理表示部132や監視カメラ管理表示部142に対して移動体11が移動経路から外れていることを知らせる通知、および移動経路に復帰させるためのユーザ指示を仰ぐための復帰指示を行う。その際、移動体11の位置姿勢情報や、第一計測情報や、第二計測情報や、Wi−Fi通信情報などから移動経路から外れた位置や時間を推定する。そして、移動体11が移動経路から外れた時点での移動体11の位置や時間を環境のマップに重畳して表示する指示を行っても良い。また、位置姿勢決定部1115は、第一の処理結果と第二の処理結果を比較して著しく差がある場合やそれぞれの処理結果の信頼度が所定の値よりも小さい場合がある。その場合は、処理結果と第二の処理結果のいずれかに異常があることを、移動体管理表示部132または監視カメラ管理表示部142にユーザに対して通知するよう指示をする。
移動制御部1116は、位置姿勢決定部1115から送られた移動体11の位置姿勢情報と、マップ関連情報管理部1112から送られたマップ関連情報(目的地と移動体11の周辺のマップ)とを用いる。そして、本来の移動経路に戻るための復帰経路を探索して移動制御する。
移動体管理表示部132は、位置姿勢決定部1115からの指示に基づき、移動体11が移動経路から外れた旨の通知、復帰指示、移動体11が移動経路から外れた時点での移動体11の位置や時間を表示する。移動体管理表示部132への復帰指示とは、移動体管理表示部132を見ているユーザに対して移動体11を本来の移動経路に復帰させるための運転制御(遠隔操作あるいは停止指示)を促すものである。
監視カメラ管理表示部142は、位置姿勢決定部1115からの指示に基づき、移動体11が移動経路から外れた旨の通知、復帰指示、移動体11が移動経路から外れた時点での移動体11の位置や時間を表示する。監視カメラ管理表示部142への復帰指示とは、監視カメラ管理表示部142を見ているユーザに対して移動体11を本来の移動経路に復帰させるための運転制御(遠隔操作あるいは)を促すものである。
図11に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態1と処理が異なる手順のみ説明し、それ以外の手順については図5と同じ処理であるものとして説明を省略する。
S501〜S509までは、図5におけるS201〜S209にそれぞれ対応し、同様の処理を行う。
S510では、位置姿勢決定部1115が、第一計測情報と第一の処理方法とに基づく第一の処理結果を用いて移動体11の位置と姿勢を決定する。ここでは実施形態1と同様にSLAMを用いて移動体11の位置と姿勢の推定結果を取得する。また、位置姿勢決定部1115は、監視カメラの画像から移動体11の位置と姿勢を推定した結果である第二の処理結果を取得する。
S511では、位置姿勢決定部1115が、第二の処理結果とマップ関連情報管理部1112から送られたマップ関連情報(移動経路)とに基づいて、移動体11が移動経路の上にあるか判断する。判定方法としては、例えば時間tにおける第二の処理結果(移動体11の世界座標)と、移動体11の移動経路の任意の点との最小距離が1m以内であるときは、移動経路上にあると判断する。Yesの場合はS512に進む。Noの場合はS520へ進む。移動体11が移動経路上にないと判断した場合は、位置姿勢決定部1115が、第二の処理結果を用いて位置姿勢情報を修正する。
S520では、位置姿勢決定部1115が、移動体11が移動経路上にいないという情報を、移動体管理表示部132または監視カメラ管理表示部142に通知する。また、位置姿勢決定部1115が、移動体管理表示部132または監視カメラ管理表示部142に移動体11が移動経路から外れていることをユーザに知らせる通知する指示をする。または移動体11を移動経路に復帰させるためのユーザ指示を仰ぐ復帰表示、または移動体11が移動経路から外れた時点での移動体11の位置や時間を推定してその位置や時間を環境のマップに重畳して表示する等の通知・表示指示を行う。あるいは、移動制御部1116が、位置姿勢決定部1115から送られた移動体11の位置姿勢情報と、マップ関連情報管理部1112から送られたマップ関連情報(目的地と移動体11の周辺のマップ)とを用いる。そして、本来の移動経路に戻るための復帰経路を探索して移動制御しても良い。
S512〜S515は、それぞれ図5におけるS211〜S214に対応し、同様の処理を行う。S510において、位置姿勢決定部1115は第一の処理結果と第二の処理結果を統合した位置姿勢情報を決定しても良い。この場合はS511において、移動経路上に移動体11が存在するか判定する際にS510で決定した位置姿勢情報を用いる。
(変形例4−1)
本実施形態において、移動体管理表示部132や監視カメラ管理表示部142は、固定されたディスプレイ画面に限定されるものではない。例えば、工場や物流倉庫内の管理業務を行うユーザが所持するハンディターミナルであっても良い。ハンディターミナルに通知などを表示することで、ユーザはすぐに現場に行き復帰させることが可能になり、利便性が向上する。
また、本実施形態において、移動体11が移動経路から外れた場合に、移動体11に備えられた図示しないランプを点灯してその旨通知しても良い。もしくは、警報音を発するようにしても良い。
また、本実施形態において、移動体11の位置姿勢情報、第一計測情報や移動制御センサ情報などを保存しておき、後からユーザが閲覧可能な状態にしても良い。ユーザは後から状況を把握することが可能になるため利便性が向上する。
(変形例4−2)
本実施形態において、移動制御部1116が移動体11を復帰させる制御を行う場合に、それまで移動してきた経路を逆に辿って本来の移動経路まで戻っても良い。また、本実施形態において、移動経路から外れた理由を解析して対策を提案、表示しても良い。
また、本実施形態において、移動制御部1116が、移動体管理システム13を介して、移動経路から外れた移動体11の近くにいる別の移動体11の移動速度を落とさせたり、移動を一時停止させたりする指示を行っても良い。周囲に存在している別の移動体11の移動速度を落とすことで、移動経路から外れた移動体11の復帰制御を容易に行うことが可能となる。
(実施形態5)
本実施形態では、第一の処理結果と第二の処理結果とが整合しない場合に、情報処理システム1のどこかで異常が発生していることをユーザに通知するもしくは移動体が復帰制御を行う例を説明する。この場合、いずれかの位置姿勢情報が誤って推定されており、システム機能障害が発生している可能性が高いと判断する。システム機能障害とは、予期しない機械故障やシステムトラブルを指す。システム機能障害は、早期に発見し、修正することが望ましい。システム機能障害の原因には、移動体11に搭載したセンサ由来のものと、監視カメラ管理システム14由来のものと大きく分けて2つある。前者は、距離センサ112や撮像装置113の視軸方向に障害物があり視界を部分的に遮蔽されて環境を適切に計測出来ていない場合や、距離センサ112や撮像装置113が故障している場合などが挙げられる。後者は、監視カメラ管理システム14が移動体11と適切に通信出来ていない場合や、監視カメラ管理システム14や監視カメラ15が故障している場合などが挙げられる。
(構成説明)
本実施形態におけるシステム構成図は実施形態1で説明した図1、2と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態1と機能が異なる構成のみ説明し、それ以外の構成については図1、2と同じ機能であるものとして説明を省略する。
位置姿勢決定部1115は、実施形態1で説明したとおり、第一計測情報と第一の処理方法に基づく第一の処理結果と、第二計測情報と第二の処理方法に基づく第二の処理結果とを統合して移動体11の位置姿勢情報を決定する。同時に、第一計測情報と第一の処理方法とに基づく第一の処理結果と、第二の処理方法に基づく第二の処理結果をそれぞれ保持し、整合しているか判断を行う。整合しているかどうかの判断条件としては、第一の処理結果と第二の処理結果のそれぞれから推定される位置を示す座標の差(距離)が、所定の値(たとえば1m未満)より小さい場合に整合していると判断する。もし整合していると判断した場合は、統合した位置姿勢情報を移動制御部1116に送る。しかし、整合していないと判断した場合、すなわち第一の処理結果と第二の処理結果との差(距離)が所定の値より大きい場合(例えば1m以上あるいは90度以上異なった場合)がある。その場合は、第一の処理結果と第二の処理結果とのいずれかがシステム機能障害により誤って推定された可能性が高いと判断する。そして、位置姿勢決定部1115は、移動制御部1116、移動体管理表示部132や監視カメラ管理表示部142に対してシステム機能障害が起こったことを知らせる通知・指示を行う。システム機能障害が起こったと推定された場合、位置姿勢決定部1115は、移動体管理表示部132や監視カメラ管理表示部142に対して、ユーザに対する通知および表示を行うように指示する。その際、情報処理システム1や移動体11を停止するよう指示しても良い。あるいはシステム機能障害が監視カメラ管理システム14由来の場合、第一の処理結果を移動制御部1116に送り、システムの稼働を継続しても良い。たとえば、第一の処理結果の誤差が大きいか、その信頼度が低くなっている場合は移動体11の故障であると考えられる。その場合はシステム全体を停止する必要はなく、ユーザに対して、特定の移動体11の異常を通知か、移動体11のセンサの故障等の対処をするような復帰指示をする。第二の処理結果の誤差が大きいか、その信頼度が低くなっている場合は、監視カメラの故障が考えられる。その場合はユーザに対して、監視カメラの異常を通知するか、監視カメラによる位置推定処理を一部中止するような復帰指示をする。両方の処理結果が誤っているか、各信頼度が所定の値よりも低くなっている場合は、システム全体のエラーが考えられるため、ユーザに異常を通知する指示か、システム全体をいったん停止する指示をする。
移動制御部1116は、位置姿勢決定部1115から送られた移動体11の位置姿勢情報と、マップ関連情報管理部1112から送られたマップ関連情報(目的地と移動体11の周辺のマップ)とを用いて復帰制御をする。
移動体管理表示部132は、位置姿勢決定部1115からの指示に基づき、システムが機能障害である通知を表示する。移動体管理表示部132への表示は、移動体管理表示部132を見ているユーザに対してシステムを復帰させるように促す復帰指示である。
監視カメラ管理表示部142は、位置姿勢決定部1115からの指示に基づき、システムが機能障害である通知を表示する。復帰指示とは、監視カメラ管理表示部142を見ているユーザに対してシステムを復帰させるように促す表示である。
図12に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理システムの処理手順を示す。本実施形態では実施形態1と処理が異なる手順のみ説明し、それ以外の手順については図3と同じ処理であるものとして説明を省略する。S601〜S610までは、図5におけるS201〜S210にそれぞれ対応し、同様の処理を行う。
S611では、位置姿勢決定部1115が、システム機能障害が起きているかどうか判断するための演算を行う。例えば、第一の処理結果と、第二処理結果とが一致するか比較する。第一の処理結果における移動体11の位置座標と、第二の処理結果における移動体11の位置座標との距離が所定の値(例えば1m)以上である場合に、機能障害が発生していると判断する。あるいは第一の処理結果における移動体11の姿勢座標と、第二の処理結果における移動体11の姿勢座標とが成す角度が、90度以上異なった場合に機能障害が発生していると判断する。Yes(機能障害が発生している=整合していない)の場合はS620に進む。No(機能障害が発生していない=整合している)の場合はS612へ進む。
S620では、位置姿勢決定部1115が、移動体管理表示部132や監視カメラ管理表示部142に対して、システム機能障害が起きている通知や、システム機能障害の原因(移動体11のバッテリ切れ等)を知らせる通知を表示させる指示を行う。さらに、移動体管理表示部132、監視カメラ管理表示部142は、指示された内容を表示する。ユーザは通知の表示を見て、機能障害が発生していることを把握することや、機能障害の原因を知ることができる。あるいは、移動制御部1116が、位置姿勢決定部1115から送られた移動体11の位置姿勢情報と、マップ関連情報管理部1112から送られたマップ関連情報とを用いて移動体11の復帰制御をする。
S612〜S615は、図5におけるS211〜S214とそれぞれ対応しており、同様の処理を行う。
(変形例5−1)
本実施形態において、第一の処理結果が正しく算出されない場合は、移動体11の図示しないバッテリー(電池)が切れている可能性がある。その場合は、バッテリー切れであることをユーザに通知しても良い。その場合、移動体制御部1116は、移動体管理表示部132または監視カメラ管理表示部142に対して、バッテリー切れである移動体11の位置情報を環境のマップに重畳して表示するように指示する。
(変形例5−2)
本実施形態において、位置姿勢決定部1115は、各処理方法による処理結果の信頼度を取得し、その信頼度を比較して整合しているかを判断するようにしても良い。その場合、位置姿勢決定部1115は、第一位置姿勢推定処理部1113から第一の処理結果の第一の信頼度と、第二位置姿勢推定処理部143から第二の処理結果の第二の信頼度とを取得する。システム機能障害が移動体11に搭載したセンサ由来のものか、監視カメラ管理システム14由来のものかは、第一の信頼度と第二の信頼度を比較して推定することが出来る。すなわち、信頼度の低い方が機能障害に関わっていると推定する。信頼度は、例えばセンサに関わるものを挙げると、センサによる距離情報の推定信頼度や、フレーム間のマッチング誤差から算出できる信頼度などがある。一方、監視カメラ管理システム14に関わるものを挙げると、例えば、監視カメラ画像の認識信頼度がある。また、信頼度の高低は、予め定めた数フレーム分の複数フレームで判断しても良いし、1フレームで判断しても良い。システム機能障害であること、またその由来といった原因をユーザに通知することでユーザは復帰作業を行いやすくなるため、利便性が向上する。
(実施形態6)
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
AGVの積荷が移動経路上に落下したとき、他のAGVが足止めされてしまい生産がストップしてしまう可能性がある。また、人がAGVからの落下物で転倒する危険がある。そのためAGVからの積荷等の物体の落下を早期に発見することが、安定したAGV運行と安全のために重要である。本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である物体の位置姿勢情報(物体位置姿勢情報)が、本来は移動体11の上にあるべきなのにない場合は、移動体11が搬送中の荷物を落としたと推定してユーザに通知および復帰指示を行う。あるいは、物体の位置姿勢情報(物体位置姿勢情報)が、移動体11の移動経路の上にある場合は、物体が移動体11の移動の邪魔になる可能性があるため、ユーザに通知および復帰指示を行う。あるいは、移動体11が物体を避けるよう移動経路の変更を行う。以下、物体は積荷を含む静止物のことを指す。
(構成説明)
図14に、本実施形態において搬送車両(AGV)と称する移動体に適用したシステム構成図を示す。多くの構成は、実施形態1で説明した図1、2の構成と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態1と機能が異なる構成のみ説明し、それ以外の構成については図1、2と同じ機能であるものとして説明を省略する。
センサ情報取得部6111は、距離センサ112と、撮像装置113とからセンサ情報を取得する。また、センサ情報取得部6111は、センサ情報をマップ関連情報管理部6112、位置姿勢推定部6114に送る。なお、センサ情報とは、距離センサによる距離情報(点群データやデプスマップ)と画像センサによる画像情報である。また、センサ情報取得部6111は、各種センサ114から移動制御に必要な移動制御センサ情報を取得する。移動制御センサ情報は、オドメトリーセンサによるオドメトリー情報、角速度センサによる角速度情報、加速度センサによる加速度情報である。センサ情報取得部6111は移動制御センサ情報を移動制御部6115に送る。
マップ関連情報管理部6112は、マップ関連情報を、位置姿勢推定部6114や移動制御部6115に加え、監視カメラ情報判断部6116にも送る。また、マップ関連情報管理部6112は、監視カメラ情報判断部6116で物体に関する障害が発生したと判断した場合に、マップ関連情報(移動経路)を変更する。移動経路の変更は、物体を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。変更した移動経路は、移動制御部6115に送られ移動体11の移動制御に用いられる。
監視カメラ情報取得部6113は、監視カメラ情報を、監視カメラ管理部6141から取得する。また、監視カメラ情報取得部6113は、監視カメラ情報を、マップ関連情報管理部6112や位置姿勢推定部6114に加え、監視カメラ情報判断部6116にも送る。なお、本実施形態における監視カメラ情報とは、監視カメラ管理システム14の監視カメラ認識部6143が環境を認識した結果(例えば、環境に存在している物体、人物、移動体などの位置姿勢、種類、数など)、監視カメラ画像などである。
位置姿勢推定部6114は、移動体11の位置姿勢情報を、マップ関連情報管理部6112や移動制御部6115に加え、監視カメラ情報判断部6116にも送る。位置姿勢推定部6114は、センサ情報取得部6111から送られるセンサ情報、マップ関連情報管理部6112から送られるマップ関連情報、監視カメラ情報取得部6113から送られる監視カメラ情報を取得する。そして所定の処理方法を使って移動体11の位置姿勢位置姿勢情報を推定する。本実施例における所定の第一の推定方法はSLAMとする。本実施例における所定の第二の推定方法は監視カメラ情報を用いた移動体11の位置姿勢推定結果を変換する処理方法とする。また、位置姿勢推定部6114は、位置姿勢情報をマップ関連情報管理部6112、移動制御部6115に送る。なお、本実施形態における位置姿勢または位置姿勢情報とは、環境の世界座標系上における移動体11の位置3自由度(X、Y、Z)と姿勢3自由度(Roll、Pitch、Yaw)との合計6自由度の位置姿勢パラメータである。
移動制御部6115は、センサ情報取得部6111から送られる移動制御センサ情報と、マップ関連情報管理部6112から送られるマップ関連情報と、位置姿勢推定部6114から送られる移動体11の位置姿勢情報とを取得する。そして、移動体11の移動制御情報を生成する。また、移動制御部6115は、移動制御情報をアクチュエータ部115に送る。また、移動制御部6115は図示しない進行方向提示部が移動経路に基づきウインカーといった進行方向提示を行うための情報を生成して送っても良い。なお、本実施形態における移動制御情報とは、移動体11の車輪の回転トルク、進行方向、ブレーキなどである。
監視カメラ情報判断部6116は、監視カメラ情報取得部6113から送られた監視カメラ情報により、環境に存在している物体の位置姿勢情報(物体位置姿勢情報)を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部6116は、マップ関連情報管理部6112から送られたマップ情報や、位置姿勢推定部6114から送られた移動体11の位置姿勢情報を利用して、環境中の適切な位置姿勢に物体が存在しているか判断を行う。すなわち物体に関する障害が発生していないか判断を行う。例えば、移動体11が搬送しているべき積荷が移動体11の上にない場合は、積荷を搬送中に移動経路の上に落としたり、作業ミスにより積荷を乗せていなかったりする可能性がある。そこで、移動体管理表示部132や監視カメラ管理表示部142に対して物体(積荷)が移動経路の上に落ちた可能性があるなど、物体(積荷)に関する障害が発生していることを知らせる通知、および物体(積荷)を適切に戻す復帰指示を行う。以下、物体は主に移動体11の積荷を指す。なお、監視カメラ情報判断部6116は図示した箇所以外でも、監視カメラ管理システム14に含まれていてもよいし、移動体管理システム13等ほかのシステムに含まれても良い。また、物体が移動体11の移動経路の上にあると判断した場合は、物体が移動体11の移動の邪魔になる可能性がある。そのため、監視カメラ情報判断部6116は、移動体管理表示部132や監視カメラ管理表示部142に対して物体が移動経路の上にあるなど、物体に関する障害が発生していることを知らせる通知、および物体を取り除く復帰指示を行う。
移動体管理表示部132は、監視カメラ情報判断部6116からの指示に基づき、物体障害に関する通知、復帰指示を表示する。移動体管理表示部132への表示は、移動体管理表示部132を見ているユーザに対して物体に関する障害を復帰させる行動を促すものである。
監視カメラ管理表示部142は、監視カメラ情報判断部6116からの指示に基づき、物体障害に関する通知、復帰指示を表示する。監視カメラ管理表示部142への表示は、監視カメラ管理表示部142を見ているユーザに対して物体に関する障害を復帰させる行動を促すものである。
監視カメラ管理部6141は、監視カメラ15で撮影された監視カメラ画像を監視カメラ認識部6143に送る。また、監視カメラ情報として監視カメラ情報取得部6113へ送る。監視カメラ情報には、監視カメラ認識部6143から送られた第二の処理結果(移動体11の位置姿勢推定処理結果および第二の処理方法における認識結果の信頼度または、物体検出の認識結果)または監視カメラ画像を含む。また、監視カメラ管理部6141は、監視カメラ15と通信を行い、監視カメラ画像を受信したり、監視カメラ15の制御を行う各種情報(例えば、パン・チルト・ズーム制御、オン・オフ制御)を送受信したりする。監視カメラ管理部6141は、工程管理システム12と通信を行い、各移動体11の作業内容(何を運ぶべきかといった指示)や作業場所(地図や座標情報)といった各種情報を送受信する。監視カメラ管理部6141は、監視カメラ15が撮影した監視カメラ画像を、監視カメラごとに時系列で管理された状態で保持している。
監視カメラ認識部6143は、監視カメラ15が撮像した監視カメラ画像から特徴点を抽出し、環境に存在している積荷等の物体、人物、移動体などの位置姿勢、種類、数などを認識する。特徴点の検出は、物体の角や縁という形状に特徴のある点を捉える方法があり、この検出した特徴をキーポイントと呼ぶ。例えば、監視カメラ15が移動体11を画像から物体検出するためには、ある一定間隔で取得されるフレームから、移動体11に装着したマーカの特徴点(キーポイント)を抽出し、それを連続するフレームで毎回検出することによって移動体11を追跡できる。移動体11の位置姿勢は、特徴点の画像座標から推定する。本実施形態では、監視カメラ認識部6143は、物体の認識結果と、各監視カメラ15の位置姿勢情報とに基づいて、世界座標系上で座標変換することで物体の位置姿勢を推定する。環境を認識する方法は様々あり、例えばテンプレートマッチング、幾何モデルフィッティング、機械学習、深層学習(Deep Learning)、強化学習といった手法を用いることが出来る。認識の精度を向上するため、テンプレート、幾何モデル、認識辞書、学習モデル、報酬モデルは予め用意しても良いし、情報処理システム1を稼働中にオンライン生成しても良い。また、移動体11に装着したマーカからIDを認識することで、移動体11の位置や姿勢だけでなく、個体(ID)種類、数を認識しても良い。
図15に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理システムの処理手順を示す。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、情報処理装置111は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
S701では、情報処理装置111が、初期化処理として、移動体管理部131が保持しているマップ関連情報(マップ、移動経路、目標地点など)をマップ関連情報管理部6112に記憶する。また、情報処理装置111が、距離センサ112、撮像装置113のセンサパラメータ、カメラパラメータ、各種センサ114のキャリブレーションパラメータ、各機能構成で用いるパラメータの初期設定値を取得する。初期化処理が開始されるタイミングとしては、ユーザが情報処理システム1や移動体管理システム13や、移動体11を起動した場合などが挙げられる。
S702では、距離センサ112が移動体11の周囲の環境の距離を計測し、撮像装置113が移動体11の周囲の環境を撮像し、各種センサ114が移動制御センサ情報を計測する。
S703では、センサ情報取得部6111が、距離センサ112と、撮像装置113とからセンサ情報を取得する。なお、センサ情報とは、距離センサによる距離情報(点群データやデプスマップ)と画像センサによる画像情報である。また、センサ情報取得部6111は、各種センサ114から移動制御に必要な移動制御センサ情報を取得する。
S704では、監視カメラ15が周囲の環境を撮影する。監視カメラ15は撮影した画像を監視カメラ管理部6141に送る。
S705では、監視カメラ認識部6143が、S704で監視カメラ15が撮影した画像を含む監視カメラ情報を監視カメラ管理部6141から取得し、環境内に物体が落ちていないか検出する。物体が検出された場合、物体の認識結果と、各監視カメラ15の位置姿勢情報とに基づいて、世界座標系上で座標変換することで物体の位置姿勢を推定する。
S706では、監視カメラ情報取得部6113が、監視カメラ情報を、監視カメラ管理部6141から取得する。
S707では、位置姿勢推定部6114が、センサ情報取得部6111から送られたセンサ情報とマップ関連情報管理部6112から送られたマップ関連情報(マップ)とを用いて、移動体11の位置姿勢情報を推定する。また、位置姿勢推定部6114が、監視カメラ情報取得部6113から監視カメラ情報として入力された位置姿勢情報を座標変換して移動体11の位置姿勢情報を推定する。あるいは、位置姿勢推定部6114は、監視カメラ15が撮像した監視カメラ画像を入力し、テンプレートマッチング、モデルフィッティング、機械学習など、監視カメラ認識部6143の説明に記載した手法を用いて移動体11の位置姿勢情報を推定しても良い。
S708では、監視カメラ情報判断部6116が、移動体11の上にあるべき物体がないか、また移動経路の上に物体があるか、すなわち物体に関する障害が発生しているか判断する。移動体11の上に物体があるかどうかは、監視カメラ認識部6143で認識した移動体11の位置の上に物体があることを物体のモデル情報を利用するなどして推定する。移動経路の上に物体があるかどうかは、移動体11の運行を妨げる移動経路上に監視カメラ認識部6143で認識した物体があるかで判断する。Noの場合はステップS709に進む。Yesの場合はステップS720へ進む。
S720では、監視カメラ情報判断部6116が、移動体管理表示部132や監視カメラ管理表示部142に対して通知などを行う。例えば、移動体11の上にあるべき物体がないか、また移動経路の上に物体があるか、すなわち物体に関する障害が発生していることを知らせる通知、および復帰させる指示を行う。また、対象となる移動体11あるいは物体の位置姿勢を、環境のマップに対して重畳表示する指示を監視カメラ管理表示部142に対して行う。さらに、移動体管理表示部132、監視カメラ管理表示部142は、指示された内容を表示する。あるいは、監視カメラ情報判断部6116は、マップ関連情報管理部6112に対して、物体を避けるようマップ関連情報(移動経路)を変更する指示を行い、マップ関連情報管理部6112は移動経路を変更する。
S709では、位置姿勢推定部6114において、処理方法がSLAMである場合のみ行われる。SLAM技術を利用しない場合はS709をスキップする。S709では、マップ関連情報管理部6112が、マップ関連情報管理部6112が保持している最新のマップ関連情報と、位置姿勢推定部6115において決定した位置姿勢情報とに基づいて環境のマップを最適化するよう更新する。例えばマップとして点群を利用している場合は、点群の位置が実際の環境のシーンに合うよう最適化処理によって変更される。マップとしてキーフレームデータを利用している場合は、キーフレームの位置姿勢が実際の環境のシーンに合うよう最適化処理によって変更される。
S710では、移動制御部6115が移動体11の移動制御情報を生成する。
S711では、アクチュエータ部115が、移動制御部6115から送られた移動制御情報を利用して移動体11の車輪の回転トルク、進行方向、ブレーキを制御する。
S712では、情報処理装置111がシステムの動作が終了したか、すなわち移動体11が目標地点に到着したり、ユーザがシステムの停止を指示したりしたか判定する。
本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である物体の位置姿勢情報(物体位置姿勢情報)が、本来は移動体11の上にあるべきなのにない場合は、移動体11が搬送中の積荷を落としたと推定してユーザに通知および復帰指示を行う。あるいは、物体の位置姿勢情報(物体位置姿勢情報)が、移動経路の上にある場合は、物体が移動体11の移動の邪魔になる可能性があるため、ユーザに通知および復帰指示を行う。あるいは、移動体11が物体を避けるよう移動経路の変更を行う。
このように、移動体11が搬送している間に積荷が落ちたり、移動経路の上に物体があったりしたとしても、監視カメラ情報を利用することでユーザに通知あるいは移動経路の変更などを行うことが可能になる。よって、移動体11の移動制御を安定的に、かつ手間を減らして行うことが出来る。
(変形例6−1)
本実施形態において、移動経路の上にある物体や積荷を移動体11の動きによってどかしても良い。また、移動体11にロボットマニピュレータが備わっている場合は、物体を拾って本来ある場所に置いても良い。
(変形例6−2)
本実施形態において、物体や積荷があると認識された領域は、センサによる移動体11の位置姿勢推定、環境のマップ生成に使わなくても良い。
(実施形態7)
移動体の移動制御に本発明を適用した場合について説明する。
安全の観点から、AGVは距離センサ等によって衝突を防止する機構を設けてある。しかしながら、なんらかのセンサ異常や故障があると人に衝突してしまう可能性がある。また、移動経路上を人が通過する際、AGVに搭載されたセンサが届かない場所に突然人が現れるとスピード制御を前もって行えず、人にぶつかってしまう可能性がある。このような危険に対処すべく、本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である人物の位置姿勢情報あるいは人物の位置姿勢予測情報が、移動体11の移動経路の上にある場合は、人物が移動体11の移動の邪魔になる可能性があるため、移動体11の移動経路を変更する。人物の位置姿勢情報あるいは人物の位置姿勢予測情報を合わせて人物位置姿勢情報と呼ぶ。
(構成説明)
本実施形態におけるシステム構成図は実施形態6で説明した図14と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態6と機能が異なる構成のみ説明し、それ以外の構成については図14と同じ機能であるものとして説明を省略する。
マップ関連情報管理部6112は、マップ関連情報を、位置姿勢推定部6114や移動制御部6115に加え、監視カメラ情報判断部6116にも送る。また、マップ関連情報管理部6112は、監視カメラ情報判断部6116で人物が移動体11の移動経路の上にいると判断した場合に、マップ関連情報(移動経路)を変更する。移動経路の変更は、人物を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。あるいは監視カメラ認識部6143において、人物の動きを深層学習(Deep Learning)やシミュレータで予測し、人物の今後の動きを妨げないよう移動体11の移動経路を変更しても良い。人物の動きは、予め人物の動きを観測して学習した深層学習の学習モデルを用いて予測しても良いし、過去の人物の移動軌跡に基づきシミュレーションで予測しても良い。変更した移動経路は、移動制御部6115に送られ移動体11の移動制御に用いられる。
監視カメラ情報判断部6116は、監視カメラ情報取得部6113から送られた監視カメラ情報により、環境に存在している人物の位置姿勢情報あるいは人物の位置姿勢予測情報を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部6116は、マップ関連情報管理部6112から送られたマップ情報や、位置姿勢推定部6114から送られた移動体11の位置姿勢情報を利用する。そして、少なくとも1人以上の人物が移動体11の移動経路の上にいるか、あるいは移動してきそうか判断する。人物がいる、あるいは移動してきそうな場合は、人物が移動体11の移動の邪魔になる可能性があるため、マップ関連情報管理部6112に対して人物位置姿勢情報を送ると共にマップ関連情報(移動経路)の変更を指示する。
図16に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態6と処理が異なる手順のみ説明し、それ以外の手順については図15と同じ処理であるものとして説明を省略する。
S801〜S807については、実施形態6における図15のS701〜S707と同様の処理を行う。
S808では、監視カメラ情報判断部6116が、環境に存在している人物が移動体11の移動経路の上にいるか、あるいは移動してきそうか判断する。移動してきそうかどうかの判断には、例えば前述の深層学習(Deep Learning)やシミュレータを用いて、移動体11が人物の今後の動きを妨げないという条件で判断を行う。Noの場合はS809に進む。Yesの場合はS820へ進む。
S820では、監視カメラ情報判断部6116が、マップ関連情報管理部6112に対して、人物を避けるようマップ関連情報(移動経路)を変更する指示を行い、マップ関連情報管理部6112は移動経路を変更する。あるいは、対象となる人物の位置姿勢を、環境のマップに対して重畳表示する通知指示を行っても良い。移動体管理表示部132、監視カメラ管理表示部142は、通知指示された内容を表示する。
本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である人物の位置姿勢情報あるいは人物の位置姿勢予測情報が、移動体11の移動経路の上にある場合は、人物が移動体11の移動の邪魔になる可能性があるため、移動経路を変更する。このように、移動体11の移動経路の上に人物がいる、あるいは移動してきそうな場合であっても、監視カメラ情報を利用することで移動経路を変更することが可能になる。よって、移動体11の移動制御を安定的に、かつ手間を減らして行うことが出来る。
(変形例7−1)
本実施形態において、人物がいると認識された領域は、センサによる移動体11の位置姿勢推定、環境のマップ生成に使わなくても良い。また、監視カメラによる物体認識に使わなくても良い。
(実施形態8)
本実施形態では、移動体の移動制御に本発明を適用した場合について説明する。
本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である他の移動体11の位置姿勢情報あるいは他の移動体11の位置姿勢予測情報が、移動体11の移動経路の上にある場合がある。その場合は、他の移動体11が移動体11の移動の邪魔になる可能性があるため、移動経路を変更する。他の移動体11の位置姿勢情報あるいは他の移動体11の位置姿勢予測情報を合わせて移動体位置姿勢情報と呼ぶ。
(構成説明)
本実施形態におけるシステム構成図は実施形態6で説明した図14と同じである。ただしいくつかの構成に関して機能が異なる。本実施形態では実施形態6と機能が異なる構成のみ説明し、それ以外の構成については図14と同じ機能であるものとして説明を省略する。
マップ関連情報管理部6112は、マップ関連情報を、位置姿勢推定部6114や移動制御部6115に加え、監視カメラ情報判断部6116にも送る。また、マップ関連情報管理部6112は、監視カメラ情報判断部6116で他の移動体11が移動体11の移動経路の上にいると判断した場合に、マップ関連情報(移動経路)を変更する。移動経路の変更は、他の移動体11を避ける経路のうち、なるべく移動距離が短くなる経路を選択することで行う。あるいは監視カメラ認識部6143において、他の移動体11の動きを深層学習(Deep Learning)やシミュレータで予測し、他の移動体11の今後の動きを妨げないよう移動体11の移動経路を変更しても良い。あるいは複数の移動体11の動きを強化学習で最適化することにより移動経路を変更しても良い。強化学習の報酬モデルは予めユーザによって作成されたものとし、動きの最適化はシミュレーションで報酬が最大となるよう行われるものとする。報酬は、他の移動体と一定距離以上離れていたら定期的に+1とし、他の移動体と一定距離以内に近づいたら定期的に−1、さらに他の移動体と近接したり、壁に衝突したりして動きが停止した場合は−100とする。あるいは、他の移動体や壁との近づき具合に応じて、−1から−100まで段階的に報酬を設定しても良い。あるいは移動体管理部131が管理している移動体11の位置姿勢情報から他の移動体11の移動経路情報を取得し、他の移動体11の動きを予測し、移動経路を変更しても良い。変更した移動経路は、移動制御部6115に送られ移動体11の移動制御に用いられる。監視カメラ情報判断部6116は、監視カメラ情報取得部6113から送られた監視カメラ情報により、環境に存在している他の移動体11の位置姿勢情報あるいは他の移動体11の位置姿勢予測情報を世界座標系上で座標変換することで推定する。また、監視カメラ情報判断部6116は、マップ関連情報管理部6112から送られたマップ情報や、位置姿勢推定部6113から送られた移動体11の位置姿勢情報を利用する。そして、少なくとも1台以上の他の移動体11が移動体11の移動経路の上にいるか、あるいは移動してきそうか判断する。他の移動体11がいる、あるいは移動してきそうな場合は、他の移動体11が移動体11の移動の邪魔になる可能性があるため、マップ関連情報管理部6112に対して移動体位置姿勢情報を送ると共にマップ関連情報(移動経路)の変更を指示する。
図16に、本実施形態において搬送車両(AGV)と称する移動体に適用した情報処理装置の処理手順を示す。本実施形態では実施形態7と処理が異なる手順のみ説明し、それ以外の手順については図15と同じ処理であるものとして説明を省略する。
S808では、監視カメラ情報判断部6116が、環境に存在している他の移動体11が移動体11の移動経路の上にいるか、あるいは移動してきそうか判断する。移動してきそうかの判断には例えば前述の深層学習(Deep Learning)やシミュレータを用いて、移動体11が他の移動体11の今後の動きを妨げないという条件で判断を行う。Noの場合はS809に進む。Yesの場合はS820へ進む。
S820では、監視カメラ情報判断部6116が、マップ関連情報管理部6112に対して、他の移動体11を避けるようマップ関連情報(移動経路)を変更する指示を行い、マップ関連情報管理部6112は移動経路を変更する。あるいは、対象となる他の移動体11の位置姿勢を、環境のマップに対して重畳表示する通知指示を行っても良い。移動体管理表示部132、監視カメラ管理表示部142は、通知指示された内容を表示する。
本実施形態では、移動体11に搭載されたセンサによるセンサ情報とマップ関連情報とにより推定した位置姿勢情報(第一の位置姿勢情報)を用いて移動体11の移動制御を行う。また、監視カメラ15で撮影した監視カメラ画像を認識した結果である他の移動体の移動体位置姿勢情報が、移動体11の移動経路の上にある場合は、他の移動体11が移動体11の移動の邪魔になる可能性があるため、移動経路を変更する。
このように、移動体11の移動経路の上に他の移動体11がいる、あるいは移動してきそうな場合であっても、監視カメラ情報を利用することで移動経路を変更することが可能になる。よって、移動体11の移動制御を安定的に、かつ手間を減らして行うことが出来る。
(変形例8−1)
本実施形態において、他の移動体11がいると認識された領域は、センサによる移動体11の位置姿勢推定、環境のマップ生成に使わなくても良い。また、監視カメラによる物体認識に使わなくても良い。
その他の実施形態として、例えば、移動体11がバッテリーを充電したり、移動体11を駐車したりする領域は、周囲に壁や他の移動体11が存在し、センサによる第一の位置姿勢推定がうまく機能しない可能性がある。そのような状況に対しては、監視カメラ情報を優先して使用する環境内の領域を設定しても良い。その領域内に移動体11がいる場合は、監視カメラ情報を用いた処理方法の処理結果に対して、重み付け係数を大きく設定する位置姿勢情報を推定しても良い。このようにすることで、移動体11の位置を安定的に、取得することが出来る。
(その他の変形例)
その他の実施形態として、情報処理システム1で実行される製品の組み立てや商品の搬送といったタスクの単位時間当たりのスループット(作業量)をなるべく多くする。かつ複数の移動体11の移動距離、移動時間、消費電力、アクチュエータの摩耗といったコストをなるべく減らすため、強化学習を用いても良い。強化学習の報酬モデルは予めユーザによって作成されたものとし、スループットとコストとの最適化はシミュレーションで報酬が最大となるよう行われるものとする。
このようにすることで、情報処理システム1のタスクのスループットとコストを最適化することが出来、移動体11の移動制御を安定的に行うことが出来る。
その他の実施形態として、移動体11の車輪の回転トルクを、搬送している物体の重さに応じて変化させても良い。例えば、移動体11の各種センサ114として秤量センサを備え、搬送している物体の重さを測る。そして予め定めたとおり、物体が重いほど車輪の回転トルクを強くして移動制御を行っても良い。あるいは強化学習や機械学習を用いて、物体の重さに関わらず移動体11の移動速度が一定となるよう回転トルクを決めるよう学習しても良い。
このようにすることで、移動体11が搬送している物体の重さに応じて移動速度が大きく変化することがなく、移動体11の移動制御を安定的に行うことが出来る。
また、情報処理装置111は、図13に示す一般のPC(パーソナルコンピュータ)や組み込みハードウェアやPLC(Programmable Logic Controller)を用いて実現することができる。100はバス、101はCPU、102はROM、103はRAM、104は記憶装置、105は入力部、106は通信部、107はセンサ、108は表示部である。例えば、マップ関連情報管理部1112をハードディスク装置やフラッシュメモリ装置といった記憶媒体で構成する。そして、情報処理装置111においてマップ関連情報管理部1112以外の各部の機能をPCや組み込みハードウェアやPLCのCPUに実行させるためのコンピュータプログラムやデータをこのハードディスク装置に格納しておく。CPUは、ハードディスク装置やフラッシュメモリ装置に格納されているコンピュータプログラムやデータを適宜RAM等のメモリにロードし、該コンピュータプログラムやデータを用いて処理を実行できる。これにより、結果としてPCや組み込みハードウェアやPLCは、情報処理装置111の機能を実現することができる。
本発明における移動体は、移動制御情報により移動するものであればどのようなものであっても良い。例えば、搬送車両(AGV(Automated Guided Vehicle)である。あるいは、自動運転車や、自律移動ロボットであっても良い。
本発明におけるセンサは、環境や移動体などを計測出来るセンサであればどのようなものであっても良い。例えば、距離センサや、画像センサや、オドメトリーセンサや、角速度センサや、加速度センサなどである。また、センサ情報は、センサが計測した情報であればどのようなものであっても良い。例えば、距離情報(あるいは三次元情報、あるいは奥行き情報)や、画像情報や、オドメトリー(車輪の回転角度により求める位置姿勢情報)や、角速度や、加速度などである。
本発明における監視カメラは、環境や移動体などを監視するカメラであればどのようなものであっても良い。
本発明におけるマップは、環境の構造や空間を表現するものであればどのようなものであっても良い。例えば、三次元点群データ(と色情報との組み合わせ)、キーフレームデータの集合、環境の三次元モデルなどである。キーフレームデータとは、環境内においてある視点から見た奥行情報を量子化して色の濃淡で表現したデプスマップを一定間隔で取得したキーフレームと画像から取得した色情報の組合せである。あるいは、環境の床と水平な面上の二次元点群データ(と色情報との組み合わせ)や、環境の床と水平な面上の二次元モデルであっても良い。
本発明における位置姿勢情報は、位置姿勢を表わす情報であればどのようなものであっても良い。例えば、環境の世界座標系上における位置3自由度(X、Y、Z)と姿勢3自由度(Roll、Pitch、Yaw)との合計6自由度の位置姿勢パラメータである。あるいは、環境の世界座標系上における位置2自由度(環境の床に対して水平な面上の位置X、Y)と姿勢1自由度(環境の床に対して水平な面上での回転方向)との合計3自由度の位置姿勢パラメータであっても良い。
11 移動体
111 情報処理装置
1115 位置姿勢決定部
1116 移動制御部
1117 取得部
112 距離センサ
113 撮像装置
114 各種センサ
115 アクチュエータ部

Claims (20)

  1. 移動体の位置を決定する情報処理装置であって、
    前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られた前記移動体の位置を特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られた前記移動体の位置を特定可能な第二の処理結果とを取得する取得手段と、
    前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定手段とを備えることを特徴とする情報処理装置。
  2. 前記移動体は、前記決定手段によって決定された位置に基づいて移動制御されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記移動体は、マーカが付加されており、
    前記第二の処理方法は、前記移動体を観測可能な場所に設置された受光センサを用いて前記マーカを観測した観測結果に基づいて前記移動体の位置を推定する方法であることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第一の処理方法は、前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像と、前記移動体の移動経路に関する画像特徴を含むマップ情報とに基づいて前記移動体の位置を推定する方法であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記第一の処理方法は、前記移動体に搭載された受光センサを用いて前記移動体の周囲の距離を計測した距離画像と、前記移動体の移動経路に関する3次元特徴を含むマップ情報とに基づいて前記移動体の位置を推定する方法であることを特徴とする請求項4に記載の情報処理装置。
  6. 前記決定手段は、前記移動体の位置を決定する際に前記第一の処理結果と前記第二の処理結果とを反映させる比率を示す重み付け係数を決定し、
    それぞれの前記重み付け係数はゼロにしないことを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記第二の処理結果の重み付け係数は、前記移動体を観測可能な場所に設置された前記受光センサと前記移動体との距離に基づいて決定されることを特徴とする請求項6に記載の情報処理装置。
  8. 前記第二の処理結果の重み付け係数は、前記移動体を観測可能な場所に設置された前記受光センサによって観測された画像における前記移動体が写った画角内の位置に基づいて決定されることを特徴とする請求項7に記載の情報処理装置。
  9. 前記取得手段は、前記移動体を観測可能な場所に設置された複数の受光センサを用いて取得された複数の観測結果を前記第二の処理方法でそれぞれ処理して得られた複数の処理結果を統合した第二の処理結果を取得することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記取得手段は、前記移動体を観測可能な場所に設置された複数の前記受光センサを用いて取得された観測結果を前記第二の処理方法でそれぞれ処理して得られた複数の第二の処理結果を取得し、
    前記決定手段は、前記第一の処理結果と複数の前記第二の処理結果とに基づいて前記移動体の位置を決定することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記取得手段は、前記第二の処理方法で処理される計測結果から前記移動体に搭載された前記受光センサが観測可能な空間に含まれる特徴点の数を取得し、前記特徴点の数が所定の範囲に含まれない場合は前記第一の処理方法で処理される計測結果あるいは前記第一の処理結果の取得を抑制することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. 前記移動体の移動経路に関する画像特徴を含むマップ情報を保持する保持手段を備え、
    前記決定手段は、前記マップ情報における前記移動体の位置座標を決定することを特徴とする請求項1乃至11いずれか1項に記載の情報処理装置。
  13. 前記決定手段は、前記第二の処理方法で処理される観測結果に基づいて前記マップ情報における前記移動体の移動経路の開始位置を決定することを特徴とする請求項12に記載の情報処理装置。
  14. 前記第二の処理方法で処理される観測結果から前記マップ情報の移動経路上に物体を検出した場合に、
    前記保持手段は、前記物体を避けるように前記移動経路を変更されたマップ情報を保持することを特徴とする請求項12または13に記載の情報処理装置。
  15. 前記第二の処理方法で処理される観測結果から人物の移動範囲を予測する判断部を更に備え、
    前記判断部によって前記マップ情報の移動経路上に前記人物がいることを判断した場合に、
    前記保持手段は、前記移動範囲を避けるように前記移動経路を変更された前記マップ情報を保持することを特徴とする請求項12乃至14のいずれか1項に記載の情報処理装置。
  16. 前記第二の処理方法で処理される結果から前記マップ情報の移動経路上に他の移動体を検出した場合に、
    前記保持手段は、前記他の移動体の移動経路に関するマップ情報に基づいて前記他の移動体の移動経路を避けるように前記移動体の前記移動経路を変更された前記マップ情報を保持することを特徴とする請求項12乃至15のいずれか1項に記載の情報処理装置。
  17. 前記第一の処理結果と前記第二の処理結果との差が所定の値より大きい場合に、ユーザへシステムの異常を通知する通知手段をさらに有することを特徴とする請求項1乃至16のいずれか1項に記載の情報処理装置。
  18. 前記第二の処理方法で処理される観測結果から前記マップ情報の移動経路上に前記移動体に搭載された荷物を検出した場合に、
    前記通知手段は、ユーザへ前記移動経路に異常があることを通知することを特徴とする請求項17に記載の情報処理装置。
  19. コンピュータを、請求項1乃至18のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
  20. 移動体の位置を決定する情報処理方法であって、
    前記移動体に搭載された受光センサを用いて少なくとも前記移動体の周囲を計測した画像を第一の処理方法で処理して得られる前記移動体の位置が特定可能な第一の処理結果と、前記移動体を観測可能な場所に設置された受光センサを用いて前記移動体を観測した観測結果を前記第一の処理方法とは異なる第二の処理方法で処理して得られる前記移動体の位置が特定可能な第二の処理結果と、を取得する取得工程と、
    前記第一の処理結果と前記第二の処理結果とに基づいて前記移動体の位置を決定する決定工程とを備えることを特徴とする情報処理方法。
JP2018223149A 2018-01-12 2018-11-29 情報処理装置、システム、方法、およびプログラム Active JP7353747B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018003818 2018-01-12
JP2018003818 2018-01-12

Publications (2)

Publication Number Publication Date
JP2019125354A true JP2019125354A (ja) 2019-07-25
JP7353747B2 JP7353747B2 (ja) 2023-10-02

Family

ID=67218283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018223149A Active JP7353747B2 (ja) 2018-01-12 2018-11-29 情報処理装置、システム、方法、およびプログラム

Country Status (4)

Country Link
US (1) US20200333789A1 (ja)
JP (1) JP7353747B2 (ja)
CN (1) CN111837083B (ja)
WO (1) WO2019138836A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021093037A (ja) * 2019-12-11 2021-06-17 株式会社東芝 算出システム、算出方法、プログラム、及び記憶媒体
JP2021099682A (ja) * 2019-12-23 2021-07-01 株式会社構造計画研究所 位置推定装置、移動体、位置推定方法及びプログラム
WO2021205276A1 (ja) * 2020-04-10 2021-10-14 株式会社半導体エネルギー研究所 位置推定システム、位置推定装置、及び移動体
JP2022027568A (ja) * 2020-07-30 2022-02-10 ネイバーラボス コーポレーション ロボット管制方法及びシステム
WO2023223658A1 (ja) * 2022-05-16 2023-11-23 株式会社デンソー 搬送処理システム、搬送処理装置、自律搬送車両、搬送処理方法、搬送処理プログラム
JP7388589B1 (ja) * 2023-05-22 2023-11-29 トヨタ自動車株式会社 自走車両の方位角取得装置、方位角取得システムおよび方位角取得方法
JP7431623B2 (ja) 2020-03-11 2024-02-15 株式会社Subaru 車外環境認識装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11175146B2 (en) * 2017-05-11 2021-11-16 Anantak Robotics Inc. Autonomously moving machine and method for operating an autonomously moving machine
WO2019087478A1 (ja) * 2017-10-30 2019-05-09 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US20210271257A1 (en) * 2018-07-06 2021-09-02 Sony Corporation Information processing device, optimum time estimation method, self-position estimation method, and record medium recording computer program
WO2020019221A1 (zh) * 2018-07-26 2020-01-30 深圳前海达闼云端智能科技有限公司 一种自主定位和地图建立方法、装置和机器人
CN111480131B (zh) * 2018-08-23 2024-01-12 日本精工株式会社 自行装置、自行装置的行进控制方法以及行进控制程序
KR20200069925A (ko) * 2018-12-07 2020-06-17 현대자동차주식회사 무인운반차량 통제 시스템 및 그 방법
EP3951744A4 (en) * 2019-03-26 2022-05-25 Sony Semiconductor Solutions Corporation IMAGE PROCESSING DEVICE, VEHICLE CONTROL DEVICE, METHOD AND PROGRAM
US11585934B2 (en) * 2019-04-30 2023-02-21 Lg Electronics Inc. Cart robot having auto-follow function
US11511785B2 (en) * 2019-04-30 2022-11-29 Lg Electronics Inc. Cart robot with automatic following function
JP7329363B2 (ja) * 2019-06-03 2023-08-18 株式会社小松製作所 無人車両の制御システム及び無人車両の制御方法
CN114127652A (zh) * 2019-07-04 2022-03-01 三菱电机株式会社 移动体测位装置和移动体测位系统
US11176813B2 (en) * 2019-07-17 2021-11-16 International Business Machines Corporation Path deviation detection analysis by pattern recognition on surfaces via machine learning
WO2021024665A1 (ja) * 2019-08-08 2021-02-11 ソニー株式会社 情報処理システム、情報処理装置及び情報処理方法
EP4024154A4 (en) * 2019-08-27 2022-10-19 Sony Group Corporation INFORMATION PROCESSING DEVICE, CONTROL METHOD, AND PROGRAM
US11443272B2 (en) * 2019-08-28 2022-09-13 Verizon Patent And Licensing Inc. Expedited order pickup systems and methods
WO2021044549A1 (ja) * 2019-09-04 2021-03-11 日本電気株式会社 位置推定方法、位置推定システム、及び位置推定装置
JP2021060669A (ja) * 2019-10-03 2021-04-15 ソニー株式会社 情報処理装置、情報処理方法、情報処理システム及びプログラム
JP7036783B2 (ja) * 2019-10-09 2022-03-15 株式会社 ミックウェア 位置推定システム、位置推定方法、及び位置推定プログラム
JP6744597B1 (ja) * 2019-10-18 2020-08-19 トヨタ自動車株式会社 車両用制御データの生成方法、車両用制御装置、車両用制御システム、および車両用学習装置
JP7276093B2 (ja) * 2019-11-19 2023-05-18 トヨタ自動車株式会社 情報収集システム、中継装置、及びプログラム
US20220373683A1 (en) * 2019-12-03 2022-11-24 Konica Minolta, Inc. Image processing device, monitoring system, and image processing method
US11713977B2 (en) * 2019-12-19 2023-08-01 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and medium
FR3105098B1 (fr) * 2019-12-20 2021-12-03 Michelin & Cie procede de suivi de pneumatiques de plus de 30 pouces par des moyens videos
CN111061277B (zh) * 2019-12-31 2022-04-05 歌尔股份有限公司 一种无人车全局路径规划方法和装置
JPWO2021157123A1 (ja) * 2020-02-07 2021-08-12
JP7318609B2 (ja) * 2020-08-06 2023-08-01 トヨタ自動車株式会社 車載検出装置
CN116685872A (zh) * 2020-12-18 2023-09-01 罗伯特·博世有限公司 用于移动设备的定位系统和方法
JP2022142452A (ja) * 2021-03-16 2022-09-30 本田技研工業株式会社 制御装置、制御方法、およびプログラム
JP2022148261A (ja) * 2021-03-24 2022-10-06 トヨタ自動車株式会社 物品回収システム、物品回収ロボット、物品回収方法、及び物品回収プログラム
JP7294365B2 (ja) * 2021-03-30 2023-06-20 トヨタ自動車株式会社 ライドシェア車両のルート検索装置及びルート検索方法
JP2023003719A (ja) * 2021-06-24 2023-01-17 トヨタ自動車株式会社 ロボット管理システム、ロボット管理方法、及びプログラム
CN113284197B (zh) * 2021-07-22 2021-11-23 浙江华睿科技股份有限公司 Agv的tof相机外参标定方法及装置、电子设备
IT202200006230A1 (it) * 2022-03-30 2023-09-30 Alba Robot S R L Procedimento per localizzare un veicolo, e relativo sistema
CN115049346B (zh) * 2022-08-16 2022-11-18 成都秦川物联网科技股份有限公司 基于物料运输障碍识别的工业物联网系统及控制方法
CN115501995A (zh) * 2022-09-30 2022-12-23 深圳工法智能科技有限公司 一种智能移动式喷涂系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241836A (ja) * 2002-02-19 2003-08-29 Keio Gijuku 自走移動体の制御方法および装置
JP2003300186A (ja) * 2002-04-03 2003-10-21 Mitsubishi Heavy Ind Ltd 移動ロボットシステム
JP2012037391A (ja) * 2010-08-06 2012-02-23 Canon Inc 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2015206798A (ja) * 2015-06-25 2015-11-19 日立オートモティブシステムズ株式会社 距離算出装置
JP2016152003A (ja) * 2015-02-19 2016-08-22 Jfeスチール株式会社 自律移動ロボットの自己位置推定方法、自律移動ロボット、及び自己位置推定用ランドマーク
JP2016162013A (ja) * 2015-02-27 2016-09-05 株式会社日立製作所 自己位置推定装置および移動体

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4843987B2 (ja) * 2005-04-05 2011-12-21 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2009529187A (ja) * 2006-03-03 2009-08-13 インリックス インコーポレイテッド モバイルデータソースからのデータを使用する道路交通状況の評価
JP2007316966A (ja) * 2006-05-26 2007-12-06 Fujitsu Ltd 移動ロボット、その制御方法及びプログラム
CN101527040B (zh) * 2008-03-05 2012-12-19 华为终端有限公司 图像处理方法及系统
CN101334837B (zh) * 2008-07-31 2012-02-29 重庆大学 一种多方法融合的车牌图像定位方法
EP2460629B1 (en) * 2009-07-28 2022-06-29 Yujin Robot Co., Ltd. Control method for localization and navigation of mobile robot and mobile robot using same
KR101901586B1 (ko) * 2011-12-23 2018-10-01 삼성전자주식회사 로봇 위치 추정 장치 및 그 방법
JP5783093B2 (ja) * 2012-03-13 2015-09-24 アイシン・エィ・ダブリュ株式会社 移動体位置検出システム、移動体位置検出装置、移動体位置検出方法及びコンピュータプログラム
US9067671B2 (en) * 2013-07-25 2015-06-30 Disney Enterprises, Inc. Visual localization of unmanned aerial vehicles based on marker detection and processing
DE102014002150B3 (de) * 2014-02-15 2015-07-23 Audi Ag Verfahren zur Ermittlung der absoluten Position einer mobilen Einheit und mobile Einheit
CN104200494B (zh) * 2014-09-10 2017-05-17 北京航空航天大学 一种基于光流的实时视觉目标跟踪方法
CN104616502B (zh) * 2015-02-15 2017-03-29 北京工业大学 基于组合式车路视频网络的车牌识别与定位系统
US20180099846A1 (en) * 2015-03-06 2018-04-12 Wal-Mart Stores, Inc. Method and apparatus for transporting a plurality of stacked motorized transport units
JP6849330B2 (ja) * 2015-08-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
US9826213B1 (en) * 2015-09-22 2017-11-21 X Development Llc Generating an image-based identifier for a stretch wrapped loaded pallet based on images captured in association with application of stretch wrap to the loaded pallet
US10209063B2 (en) * 2015-10-03 2019-02-19 X Development Llc Using sensor-based observations of agents in an environment to estimate the pose of an object in the environment and to estimate an uncertainty measure for the pose
KR101776823B1 (ko) * 2016-03-02 2017-09-11 가천대학교 산학협력단 외부 감시카메라를 이용한 모바일 로봇의 위치인식 방법 및 시스템
JP6868805B2 (ja) * 2016-06-07 2021-05-12 パナソニックIpマネジメント株式会社 画像生成装置、画像生成方法、およびプログラム
CN105973228A (zh) * 2016-06-28 2016-09-28 江苏环亚医用科技集团股份有限公司 一种基于单摄像头、rssi的室内目标定位系统及方法
CN106092090B (zh) * 2016-08-06 2023-04-25 合肥中科星翰科技有限公司 一种用于室内移动机器人定位的红外路标及其使用方法
US10928245B2 (en) * 2016-09-15 2021-02-23 Siteco Gmbh Light measurement using an autonomous vehicle
CN106643690A (zh) * 2016-09-21 2017-05-10 中国第汽车股份有限公司 用景象识别进行汽车的高精度定位的方法
WO2018066236A1 (ja) * 2016-10-07 2018-04-12 村田機械株式会社 自動倉庫
CN110462546A (zh) * 2017-03-28 2019-11-15 日本电产株式会社 移动体
US10222215B2 (en) * 2017-04-21 2019-03-05 X Development Llc Methods and systems for map generation and alignment
US20200109949A1 (en) * 2017-06-30 2020-04-09 Square Robot, Inc. Method and apparatus for self-contained positioning of a mobile robot inside a tank
CN107339986B (zh) * 2017-07-04 2021-01-29 郑州大学 一种定位方法、装置及系统
US10788830B2 (en) * 2017-07-28 2020-09-29 Qualcomm Incorporated Systems and methods for determining a vehicle position
US10599161B2 (en) * 2017-08-08 2020-03-24 Skydio, Inc. Image space motion planning of an autonomous vehicle
US11222299B1 (en) * 2017-08-31 2022-01-11 Amazon Technologies, Inc. Indoor deliveries by autonomous vehicles
US20200264616A1 (en) * 2017-09-04 2020-08-20 Nidec Corporation Location estimation system and mobile body comprising location estimation system
JP7156305B2 (ja) * 2017-11-20 2022-10-19 ソニーグループ株式会社 制御装置、および制御方法、プログラム、並びに移動体
US11822341B2 (en) * 2017-12-28 2023-11-21 Sony Corporation Control device, control method, and mobile object to estimate the mobile object's self-position
US11926038B2 (en) * 2018-01-10 2024-03-12 Sony Corporation Information processing apparatus and information processing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241836A (ja) * 2002-02-19 2003-08-29 Keio Gijuku 自走移動体の制御方法および装置
JP2003300186A (ja) * 2002-04-03 2003-10-21 Mitsubishi Heavy Ind Ltd 移動ロボットシステム
JP2012037391A (ja) * 2010-08-06 2012-02-23 Canon Inc 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
JP2016152003A (ja) * 2015-02-19 2016-08-22 Jfeスチール株式会社 自律移動ロボットの自己位置推定方法、自律移動ロボット、及び自己位置推定用ランドマーク
JP2016162013A (ja) * 2015-02-27 2016-09-05 株式会社日立製作所 自己位置推定装置および移動体
JP2015206798A (ja) * 2015-06-25 2015-11-19 日立オートモティブシステムズ株式会社 距離算出装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021093037A (ja) * 2019-12-11 2021-06-17 株式会社東芝 算出システム、算出方法、プログラム、及び記憶媒体
JP2021099682A (ja) * 2019-12-23 2021-07-01 株式会社構造計画研究所 位置推定装置、移動体、位置推定方法及びプログラム
JP7304284B2 (ja) 2019-12-23 2023-07-06 株式会社構造計画研究所 位置推定装置、移動体、位置推定方法及びプログラム
JP7431623B2 (ja) 2020-03-11 2024-02-15 株式会社Subaru 車外環境認識装置
WO2021205276A1 (ja) * 2020-04-10 2021-10-14 株式会社半導体エネルギー研究所 位置推定システム、位置推定装置、及び移動体
JP2022027568A (ja) * 2020-07-30 2022-02-10 ネイバーラボス コーポレーション ロボット管制方法及びシステム
JP7199480B2 (ja) 2020-07-30 2023-01-05 ネイバーラボス コーポレーション ロボット管制方法及びシステム
WO2023223658A1 (ja) * 2022-05-16 2023-11-23 株式会社デンソー 搬送処理システム、搬送処理装置、自律搬送車両、搬送処理方法、搬送処理プログラム
JP7388589B1 (ja) * 2023-05-22 2023-11-29 トヨタ自動車株式会社 自走車両の方位角取得装置、方位角取得システムおよび方位角取得方法

Also Published As

Publication number Publication date
US20200333789A1 (en) 2020-10-22
JP7353747B2 (ja) 2023-10-02
CN111837083A (zh) 2020-10-27
WO2019138836A1 (ja) 2019-07-18
CN111837083B (zh) 2024-05-31

Similar Documents

Publication Publication Date Title
WO2019138836A1 (ja) 情報処理装置、情報処理システム、情報処理方法およびプログラム
US11830618B2 (en) Interfacing with a mobile telepresence robot
JP7465615B2 (ja) 航空機のスマート着陸
US11673269B2 (en) Method of identifying dynamic obstacle and robot implementing same
KR101913332B1 (ko) 이동 장치 및 이동 장치의 위치 인식 방법
Price et al. Deep neural network-based cooperative visual tracking through multiple micro aerial vehicles
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
JP4802112B2 (ja) トラッキング方法及びトラッキング装置
JP3994950B2 (ja) 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置
US9323250B2 (en) Time-dependent navigation of telepresence robots
US8271132B2 (en) System and method for seamless task-directed autonomy for robots
US20130116823A1 (en) Mobile apparatus and walking robot
JP2020079997A (ja) 情報処理装置、情報処理方法、及びプログラム
Jia et al. Vision based target tracking for autonomous land vehicle navigation: a brief survey
CN111971149A (zh) 记录介质、信息处理设备和信息处理方法
Krátký et al. Gesture-Controlled Aerial Robot Formation for Human-Swarm Interaction in Safety Monitoring Applications
JP2024088679A (ja) 航空機のスマート着陸
CA3236875A1 (en) Precision height estimation using sensor fusion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230920

R151 Written notification of patent or utility model registration

Ref document number: 7353747

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151