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

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

Info

Publication number
JP7479799B2
JP7479799B2 JP2019134500A JP2019134500A JP7479799B2 JP 7479799 B2 JP7479799 B2 JP 7479799B2 JP 2019134500 A JP2019134500 A JP 2019134500A JP 2019134500 A JP2019134500 A JP 2019134500A JP 7479799 B2 JP7479799 B2 JP 7479799B2
Authority
JP
Japan
Prior art keywords
information
transported object
transported
information processing
environment
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.)
Active
Application number
JP2019134500A
Other languages
English (en)
Other versions
JP2020038631A5 (ja
JP2020038631A (ja
Inventor
誠 冨岡
圭祐 立野
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
Priority to US16/550,074 priority Critical patent/US11573574B2/en
Priority to CN201910801597.2A priority patent/CN110928291B/zh
Priority to DE102019123072.1A priority patent/DE102019123072A1/de
Publication of JP2020038631A publication Critical patent/JP2020038631A/ja
Publication of JP2020038631A5 publication Critical patent/JP2020038631A5/ja
Priority to US18/153,787 priority patent/US11989029B2/en
Application granted granted Critical
Publication of JP7479799B2 publication Critical patent/JP7479799B2/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/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
    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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/0251Control 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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle

Landscapes

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

Description

本発明は、移動体の移動制御を行う技術に関する。
例えば、無人搬送車(AGV;Automated Guided Vehicle)と呼ばれる移動体がある。従来、この移動体を工場や物流倉庫等といった環境内で走行させる場合、移動体の移動制御を安定して行うため、特許文献1のように床にテープを貼り、テープを移動体に搭載したセンサで検知しながら走行させることが知られている。
特開2010-33434号公報
しかし、不特定の荷物を載せた移動体を安定的に移動させるには、移動体に載せる荷物の量や形状に合わせて移動経路を変更する必要がある。つまり、環境中の障害物と移動体または荷物との距離を適切に空けて走行するように走行経路を人手で設定する必要があった。
本発明は、上記の課題に鑑みてなされたものであり、複数種類の運搬物を搭載可能な移動体の移動制御を安定的に行うことを目的とする。
上記の目的を達成する本発明に係る情報処理装置は、運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、前記運搬物の3次元形状を特定可能な第1の情報と、前記移動体が移動する環境を撮像した第2の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第2の情報と、前記移動体が移動する環境における物体の位置を示す3次元マップから前記運搬物の高さに基づいて生成した2次元マップと、を取得する取得手段と、前記第1の情報と前記第2の情報に基づいて、前記2次元マップにおける前記運搬物と前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定手段と、を有する、ことを特徴とする。
本発明によれば、複数種類の運搬物を搭載可能な移動体の移動制御を安定的に行うことが出来る。
移動体システムが走行する環境の一例を説明する図。 情報処理システムのシステム構成例を説明する図。 移動体システムの機能構成例を説明するブロック図。 情報処理装置のハードウェア構成例を示す図。 情報処理装置が実行する処理を説明するフローチャート。 移動体システムが走行する経路の一例を説明する図。 移動体システムの機能構成例を説明するブロック図。 情報処理装置が実行する処理を説明するフローチャート。 表示情報を提示するGUIの一例を示す図。 移動体システムの機能構成例を説明するブロック図。 情報処理装置が実行する処理を説明するフローチャート。 移動体システムの機能構成例を説明するブロック図。 表示情報を提示するGUIの一例を示す図。 情報処理装置が実行する処理を説明するフローチャート。
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(実施形態1)
本実施形態では、運搬物を載せた無人搬送車(AGV)の移動制御について説明する。無人搬送車を以下では移動体と呼ぶ。この移動体は、複数種類の運搬物を搭載可能であり、この移動体に搭載された運搬物の形状によって、移動体が通行可能な経路が変化する。また、移動体システム12は、車体に搭載されたカメラの画像から空間の3次元構造を認識できる。図1では、天井に梁がある、壁や棚にでっぱりがあるような環境を移動体が移動する場合、運搬物の有無や高さによって、移動体が通ることができる場所が異なる。具体的には、運搬物の高さが破線Aより低い場合は、移動体システム12はこのまま直進可能である。しかし、運搬物15の高さは破線Bに到達するため、この場合は直進せずに迂回して進むよう移動制御する必要がある。また、運搬物が移動体システムの横幅方向にはみ出すような大きさである場合も、移動体システムは運搬物の形状を考慮した経路を走行する必要がある。また、無人搬送車のように工場や倉庫で使用される移動体は、タスクに応じて様々な運搬物を運び、指示された場所で積み下ろしを行う。あるタスクを実施する工程において移動体が搭載する運搬物の量や大きさは一定であるとは限らない。はじめに運搬物の形状についての情報を与えても、荷物の積み下ろしを行う前後で運搬物の形状についての情報を更新しなければならなかった。そこで、画像から得た運搬物の高さや縦横の3次元形状の情報に基づいて、運搬物が障害物に接触しない経路を移動体システムが走行するように、移動体の位置を制御する制御値(方向またはスピード)を決定する方法について述べる。図2に、情報処理システムの構成例を示す。運搬物センサ110が撮像した画像から推定した運搬物の3次元形状と、移動体システム12に搭載された環境センサ120が撮像した画像により推定した移動体システム12の位置姿勢情報とに基づいて、移動体システム12の制御を行う。
(構成説明)
図2に、本実施形態において無人搬送車(AGV)と称する移動体の位置を制御する情報処理システムの構成例を示す。本実施形態における情報処理システム1は、少なくとも1つ以上の移動体システム12、移動体管理システム13、工程管理システム14から構成される。情報処理システム1は、例えば物流システムや生産システムなどである。
移動体システム12は、工場や物流倉庫といった使用環境でタスク遂行のため必要とされる工程のスケジュールに合わせて運搬物15を搬送する無人搬送車(AGV:Automated Guided Vehicle)である。移動体システム12は環境内で複数台が移動(走行)している。また、移動体システム12は、移動体管理システム13、他の移動体システム12と、Wi-Fi通信などの無線通信で各種情報を双方向に送受信している。移動体システム12は、移動体の位置を制御する制御値を決定する情報処理装置10、制御値に従って移動体の移動制御をするアクチュエータ部130、運搬物15を撮像する運搬物センサ110と、移動体の周辺環境を観測する環境センサ120を搭載している。
移動体管理システム13は、移動体システム12を管理するシステムである。例えば、コンピュータサーバや、PCや、組み込みシステムや、PLC(Programmable Logic Controller)である。移動体管理システム13は、移動体システム12とWi-Fi通信などの無線通信で、移動体システム12の移動制御を行うための各種情報を双方向に送受信している。また、移動体管理システム13は、工程管理システム14と通信を行っている。
工程管理システム14は、情報処理システム1で実行する工場や物流倉庫における工程のスケジュールなどを管理する。例えば、生産管理システムや、物流管理システムや、MES(Manufacturing Execution System)である。また、工程管理システム14は、移動体管理システム13と通信を行っている。
運搬物15は、移動体システム12により運搬される貨物である。例えば、複数の工業用パーツを格納したコンテナや、複数のコンテナや段ボールがスタックされて構成される貨物などの、運搬対象となる物体である。運搬物15は、移動体システム12に積載または牽引により運搬される。
図3は、本実施形態における情報処理装置10を備える移動体システム12の機能構成例を示す図である。情報処理装置10は、運搬物画像入力部1110、運搬物情報取得部1120、環境画像入力部1130、位置姿勢情報取得部1140、保持部1150、決定部1160から構成されている。運搬物画像入力部1110は、移動体システム12に搭載された運搬物センサ110と接続されている。環境画像入力部1130は、移動体システム12に搭載された環境センサ120と接続されている。決定部1160は、アクチュエータ部130と接続されている。また、これらに加え、不図示の通信装置が移動体管理システム13と情報を双方向に通信を行っており、情報処理装置10の各種機能構成に入出力している。但し、図3は、機器構成の一例であり、本発明の適用範囲を限定するものではない。
運搬物センサ(第1センサ)110は、移動体システム12が運搬する運搬物15を計測する計測装置である。本実施形態では、運搬物センサ110は、各画素が奥行きの情報を格納するデプスマップを撮像するToF方式によるデプスカメラであり、デプスマップを出力するものとする。なお、運搬物センサ110と移動体システム12との位置姿勢関係、運搬物センサ110と環境センサ120との位置関係はあらかじめキャリブレーション済みであるとする。
なお、運搬物センサ110は、例えば、濃淡画像やカラー画像を取得するグレースケールカメラやカラーカメラなどを用いてもよい。この場合、運搬物の形状の推定は、例えば、カラー画像から、CNN(Convolutional Neural Network)による学習ベースの方式で、運搬物の形状を表す3次元バウンディングボックスを直接推定する。具体的には、カラー画像と距離値を入力として、運搬物の大きさの絶対値を出力する学習済みモデル(CNN)を用いて運搬物の3次元形状を推定する。学習済みモデルは、様々な物体の画像に対して距離値と物体の大きさの情報を付与した教師データによって予め学習させておく。または、CNNを用いて単眼カラー画像からデプスマップを推定するネットワークを学習し、カラー画像から推定したデプスマップを利用して、本実施形態記載の処理を行ってもよい。あらかじめ不図示の記憶装置に保持したCADデータと、運搬物センサ110の取得する画像とをマッチングし、最もマッチング度合の高いCADデータの寸法から運搬物15の概略形状を推定することもできる。また、運搬物センサ110は、例えば、センサから対象物への距離をライン状にセンシングするラインセンサを用いて、運搬物15の形状を計測してもよい。この場合、運搬物15の形状計測は、例えば運搬物が移動体に積載されるタイミングで運搬物の動きに合わせてラインを走査し、運搬物の3次元点群を求めることで概略形状を推定する。以上のように、運搬物15の形状に関する情報が得られる限り、運搬物センサとして用いるセンサに制限はなく、いかなるセンサを用いてもよい。
環境センサ120は、移動体が走行している周辺環境を計測する計測装置である。本実施形態では環境センサ120はデプスカメラである。環境センサ120は、移動体の周囲を観測したデプスマップを出力するものとする。なお、ここで言うデプスマップとは、環境センサ120が取得した画像の各画素に対して、計測対象までの距離(奥行き)と相関のある値を保持する画像を指す。通常、計測対象までの距離と相関のある値は、通常の画像として構成可能な整数値であり、焦点距離から決定される所定の係数を乗ずることで、対象までの物理的な距離(例えばミリメートル)に変換することができる。デプスマップを生成するための距離の計測方式は、特に制限はない。例えば、対象物に照射したマルチスリットラインをカメラで撮像し、三角測量によって距離計測を行うアクティブステレオ方式がある。Lidarをはじめとした、光の飛行時間を利用するTime-of-flight(ToF)方式でもよい。また,ステレオカメラが撮影する画像から三角測量によって各画素の奥行きを計算するパッシブ式であってもよい。本実施形態では環境センサ120はToF方式によるデプスカメラであるものとする。環境センサ120は、計測したデプスマップを環境画像入力部1130へ送る。
アクチュエータ部130は、決定部1160で決定された制御値(例えば、車輪の回転トルク、進行方向に関する移動制御情報)に基づき車輪を駆動する。本実施形態における移動制御とは、移動体が備えるアクチュエータであるモータ、および車輪の向きを変更するステアリングを制御することである。これらを制御することで、移動体を所定の目的地まで移動させる。また、制御値とは移動体を制御するための指令値のことである。具体的には、移動体の進行方向、加速度、車輪の回転スピード等である。ここでは、運搬物を搭載した移動体がある目的地に向かうのに最適な経路(例えば最短経路)を走行するような制御値を指す。
本実施形態における環境センサの位置姿勢とは、現実空間中に規定された世界座標系における環境センサ120の位置を表す3パラメータ、及び環境センサ120の姿勢を表す3パラメータを合わせた6パラメータのことである。ここで、世界座標系とは、床面を規定する2軸とそれらに直交し高さ方向を表す1軸により構成される座標系と定義する。なお、AGVなどの移動体の設計段階で移動体の重心位置に対する環境センサ120の取り付け位置を計測しておき、前述の取り付け位置姿勢を表す行列を外部メモリH14に記憶しておく。環境センサの位置姿勢に対して前述の取り付け位置姿勢を表す行列を掛け合わせることで移動体の重心位置を取得することができる。すなわち、世界座標系における環境センサの位置姿勢を取得することにより、世界座標系における移動体システム12の位置姿勢を容易に取得することができる。また、運搬物センサ110の光軸をZ軸、画像の水平方向をX軸、垂直方向をY軸とする撮像装置上に規定される三次元の座標系を第1座標系と呼ぶ。また、同様に、環境センサ120の光軸をZ軸、画像の水平方向をX軸、垂直方向をY軸とする撮像装置上に規定される三次元の座標系を第2座標系と呼ぶ。また、移動体システム12の進行方向をX軸、高さ方向をZ軸、それらに直交する軸をY軸とする移動体システム12上に規定される3次元の座標系を第3座標系と呼ぶ。
運搬物画像入力部(第1入力部)1110は、運搬物センサ110が取得する視覚情報として、運搬物を観測したシーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列(例えば毎秒60フレーム)に入力する。そして運搬物情報取得部1120に出力する。ここで、奥行き値とは、運搬物センサ110とAGVにより運搬される運搬物との距離である。
運搬物情報取得部(第1取得部)1120は、運搬物画像入力部1110が入力したデプスマップから、運搬物の3次元形状に関する情報(第1情報)を取得する。本実施形態では、運搬物の形状に関する情報として、運搬物の3次元バウンディングボックス(重心位置を表す3パラメータ、バウンディングボックスのサイズを表す3パラメータ)により表現される概略形状を推定する。具体的には、運搬物を載せた移動体の高さや、運搬物が幅方向に移動体からはみ出した部分の大きさを示す。運搬物情報取得部1120は、さらに、取得した運搬物形状を決定部1160に出力する。
環境画像入力部(第2入力部)1130は、環境センサ120から、移動体が移動する環境を撮像したシーンの画像の各画素に対して奥行き値を格納したデプスマップを時系列(例えば毎秒60フレーム)に入力する。そしてデプスマップを位置姿勢情報取得部1140に出力する。奥行き値とは、環境センサ120と周辺環境における物体(例えば、壁や障害物)との距離である。
位置姿勢情報取得部(第2取得部)1140は、環境における物体と移動体との距離を特定可能な情報を取得する。すなわち、位置姿勢取得の指標となる位置姿勢推定用マップを保持し、環境画像入力部1130が入力したデプスマップと位置姿勢推定用マップとを用いて環境センサの位置姿勢についての情報(第2情報)を取得する。ここで、位置姿勢推定用マップとは、環境の形状を示す三次元点群データである。本実施形態では、ポイントクラウドは任意の世界座標系における三次元座標(X,Y,Z)の三値を格納したデータリストとして位置姿勢情報取得部1140が保持しているものとする。位置姿勢推定用マップは、あらかじめ環境のCADモデルから物体表面の奥行を示す3次元点群に変換されることにより生成されるものとする。なお、位置姿勢推定用マップとして、後述する制御用マップ情報を利用してもよい。位置姿勢情報取得部1140はさらに、取得した位置姿勢を決定部1160に出力する。なお、環境センサと移動体の位置関係は予めキャリブレーション済みのため、環境センサの位置姿勢がわかれば、移動体の位置と進行方向がわかる。
保持部1150は、制御用マップ情報として占有格子マップ(occupancy map)を保持する。占有格子マップとは、シーンを格子状に区切り、各格子に障害物が存在する確率を保持したマップのことである。占有格子マップは、世界座標系における3次元のボクセル空間(X,Y,Z)として保持する。または、高さ方向の情報を除いた2次元のグリッド空間(X,Y)として保持する。本実施形態では、占有格子マップは3次元ボクセル空間の情報として保持するものとする。占有格子マップは、位置姿勢推定用マップと同様に、あらかじめ環境のCADモデルから占有格子マップに変換されることにより生成されるものとする。また、これらに加え、AGVの目的地である三次元座標と姿勢を表す目的位置姿勢を保持する。目標位置姿勢は1つでも複数あってもよいが、ここでは簡単のため目標位置姿勢が1地点である例を説明する。さらに、保持部1150は、移動体の高さ・横幅・奥行を含む移動体の概略形状の情報を保持する。運搬物の概略形状は、荷物の積みおろしによって変化する場合があるため、ここでは初期値として運搬物が載っていない状態の情報を保持する。運搬物の情報は、移動体が運搬物を運ぶタスクを開始するタイミングで、後述する方法によって取得する。保持部1150は位置姿勢推定用マップまたは占有格子マップから得るマップ情報を必要に応じて決定部1160に出力する。さらに、目標位置姿勢を決定部1160に出力する。
決定部1160は、運搬物情報取得部1110が取得した運搬物の3次元形状に基づいて、移動体と運搬物が環境(障害物)と一定以上の距離を空けて走行するように制御値を決定する。必要に応じて、位置姿勢情報取得部1140が取得した環境センサ120の位置姿勢、保持部1150が保持する制御用マップ情報、目標の位置および姿勢の情報を利用する。決定部1160は、決定された制御値をアクチュエータ部130へ出力する。
図4は、情報処理装置10のハードウェア構成を示す図である。H11はCPUであり、システムバスH21に接続された各種デバイスの制御を行う。H12はROMであり、BIOSのプログラムやブートプログラムを記憶する。H13はRAMであり、CPUであるH11の主記憶装置として使用される。H14は外部メモリであり、情報処理装置10が処理するプログラムを格納する。入力部H15はキーボードやマウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部H16はH11からの指示に従って情報処理装置10の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、LEDインジケーターなど、種類は問わない。また、情報処理装置が備える表示部H16が表示装置としての役割であってもよい。H17は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット(登録商標)でもよく、USBやシリアル通信、無線通信等種類は問わない。なお、前述した移動体管理システム13とは通信インターフェイスH17を介して情報のやり取りを行う。H18はI/Oであり、撮像装置H19から視覚情報を入力する。なお、撮像装置H19とは前述した運搬物センサ110または環境センサ120のことである。H20は前述したアクチュエータ部130のことである。
次に、本実施形態における処理手順について説明する。図5は、本実施形態における情報処理装置10が実行する処理の手順を示すフローチャートである。以下、フローチャートは、CPUが制御プログラムを実行することにより実現されるものとする。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。処理ステップは、S110、S120、S130、S140、S150、S160、S170から構成されている。
S110では、システムの初期化を行う。すなわち、外部メモリH14からプログラムを読み込み、情報処理装置10を動作可能な状態にする。また、情報処理装置10に接続された各機器のパラメータ(運搬物センサ110および環境センサ120のカメラ内部パラメータと外部パラメータ)や、運搬物センサ110の初期の位置姿勢をRAMであるH13に読み込む。また、AGVの各デバイスを起動し、制御可能な状態とする。これらに加え、通信I/F(H17)を通して移動体管理システムから、AGVが向かうべき目的地の三次元座標を受信し、保持部1150に保持する。
S120では、運搬物画像入力部1110が、運搬物センサ120によって運搬物を撮像した画像であるデプスマップを入力する。具体的には、デプスカメラで運搬物15を撮像したシーンのデプスマップを入力する。なお、本実施形態においては、デプスマップとは各画素の奥行き値を格納した二次元配列リストのことである。
S130では、運搬物情報取得部1120が、運搬物画像入力部1110が入力したデプスマップ(第1の画像)を用いて、運搬物15の3次元形状を特定可能な情報(第1の情報)を取得する。なお、本実施形態においては、運搬物15の3次元形状を特定可能な情報とは概略形状であり、3次元バウンディングボックスを表す6パラメータ(位置3パラメータ、サイズ3パラメータ)のことである。具体的には、移動体座標系における運搬物の高さ・横幅・奥行・および重心位置により構成されるAxis-aligned boundingbox (AABB)を取得する。
運搬物15の概略形状の取得は、具体的には、まず、デプスマップから第1座標系に規定された3次元点群を取得する。3次元点群は、正規化画像座標系における画像座標とデプスマップの各画素の奥行値とを掛け合わせることで取得する。次に、取得した3次元点群の座標系を、運搬物撮像座標系から移動体座標系に変換する。さらに、3次元点群の中から、RANSAC(RANdom SAmple Consensus)アルゴリズムを用いて平面を除去することにより、床面等の背景となる3次元点群から、運搬物候補となる3次元点を分離する。最後に、運搬物候補の3次元点群から、3次元点群の各軸における最小値・最大値を取得することで、移動体座標系における運搬物の高さ・横幅・奥行および重心位置(AABB)を運搬物の概略形状として求める。最後に、取得した概略形状の値を、決定部1160に出力する。
S140では、環境画像入力部1130が、移動体の周辺環境を観測したデプスマップを取得する。このデプスマップは環境センサ120によって取得される。なお、本実施形態においては、デプスマップは各画素の奥行き値を格納した二次元配列リストのことである。
S150では、位置姿勢情報取得部1140が、環境画像入力部1130が入力したデプスマップと、位置姿勢推定用マップとを用いて、環境センサ120の位置姿勢(第2の情報)を取得する。具体的には、まずデプスマップから第2座標系に規定された三次元点群を取得する。3次元点群は、正規化画像座標系における画像座標とデプスマップの各画素の奥行値とを掛け合わせることで取得する。次に、環境センサ120の前の時刻における位置姿勢を用いて、三次元点群を前の時刻における位置姿勢座標系に座標変換する。つまり三次元点群に前の時刻における位置姿勢の行列を掛け合わせる。取得した三次元点群と保持部1130が保持するマップ情報のポイントクラウドの各三次元点の最近傍の点同士の距離の和が小さくなるように位置姿勢を取得する。具体的には、ICP(Iterative Closest Point)アルゴリズムを用いて前の時刻における位置姿勢に対する、環境センサ120の位置姿勢を取得する。最後に、世界座標系に変換して、世界座標系における位置姿勢を決定部1160に出力する。移動体の位置姿勢を求めることによって、周辺環境と移動体との距離が得られる。
S160では、決定部1160が、移動体が移動する環境の3次元情報(第2の情報)と、運搬物の高さを特定可能な情報(第1の情報)とに基づいて、運搬物と障害物とが所定の距離より近づくことを抑制する制御値を決定する。具体的には、運搬物を載せた移動体が通過できる高さがある経路を移動するような制御値を決定する。例を図6に示す。図6(a)では、移動体E12aは運搬物を目的地E16aまで運ぶタスクを行っている。まず3次元の占有格子マップE11から、運搬物を含む移動体E12aの高さで占有格子マップE11を抽出した3次元マップである占有格子マップE13aを求める。そして、それを床面平面に射影することで、2次元の占有格子マップE14aを求める。E14aに示す2次元の占有格子マップ上で、移動体の位置姿勢E15aから目的地の位置姿勢E16aに向かうための最適な経路E17aを算出する。例えば、移動体E12aがそのまま直進した場合、E12aの運搬物が環境(例えば図のX)と接触してしまい、運搬物が崩れる可能性がある。その経路を選択しないよう、障害物の存在する領域を通らない軌跡E17aを通る制御値を決定する。また、運搬物の高さが異なる場合を図6(b)で説明する。E12bの高さに合わせて抽出される3次元の占有格子マップはE13bである。E13bの高さで2次元マップに射影した占有格子マップR14bにはXが表示されない。このように地図が異なる為、算出される経路及び制御値も異なる。具体的には移動体E12bはE12aより少ない運搬物を運ぶ場合、E12bの目の前の通路(障害物Xがあった道)が通行可能になるため、E17bのような経路を通って、E16bに向かう。
S160における処理内容を説明する。まず、位置姿勢情報取得部1140が推定した移動体座標系における運搬物の概略形状(AABB)と移動体座標系におけるAGVの概略形状(AABB)とに基づいて、それらを包括する移動体全体の高さ・横幅・奥行の概略形状を取得する。移動体全体の概略形状は、高さ・横幅・奥行のそれぞれの最小値最大値を取ることにより得る。次に、保持部1150が保持する3次元グリッドの占有格子マップから、移動体に接触しうる範囲の部分マップを占有格子マップから抜き出す。具体的には、占有格子マップにおいて、移動体全体の重心位置が(Xw, Yw, Zw)、3Dバウンディングボックスのサイズが(Sx, Sy, Sz)である場合、床面に対する高さ方向Zw±Sz/2の範囲にある占有格子マップをスライスする。このように抽出されたマップを部分占有格子マップとして取得する。さらに、部分占有格子マップを、床面に対する高さ方向(z方向)に射影することで、2次元グリッドの占有格子マップを求める。ここで、高さ方向への射影とは、占有格子(x,y,z)をz方向に走査し、各(x,y)における障害物が存在する確率の最大値を求める操作をいう。同様に、世界座標系における3次元位置姿勢として表現される移動体システム12の目標の位置及び姿勢および現在の位置及び姿勢を、位置2自由度と姿勢1自由度との合計3自由度のパラメータになるように2次元平面へ射影する。ここで位置2自由度とは環境の床に対して水平な面上の位置X、Yを指す。また、姿勢1自由度とは、環境の床に対して水平な面上での回転方向を指す。最後に、2次元グリッドの占有格子マップと目標の位置及び姿勢・現在の位置及び姿勢の情報から、両者の位置及び姿勢を最小にしつつも、障害物が存在する確率が高い格子を避けるような制御値を決定する。具体的には、まず、現在の移動体の位置及び姿勢と入力された目標の位置及び姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値(前進速度と旋回方向・速度)として取りうる全てのバリエーションを制御値の候補として算出する。そして、それぞれの制御値の候補に関して、制御した後の位置及び姿勢を、予測位置姿勢として算出する。そして、2次元グリッドの占有格子マップを参照し、各予測位置姿勢に対応した障害物が存在する確率を求める。障害物が存在する確率が0である制御値の候補を算出することで、衝突が発生しないような制御値の候補を抽出する。抽出された制御値の候補の中で、目標の位置及び姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として決定する。そして、決定した制御値をアクチュエータ部130に出力する。そして、アクチュエータ部130が、決定部1160が決定した制御値を用いてAGVを制御する。
具体的には、決定部1160が決定した制御値(前進速度と旋回方向・速度)となるようにアクチュエータであるモータの回転量、および車輪の向きを変更するステアリングの角度値を調整する。
S170では、システムを終了するか否か判定する。具体的には、保持部1150が保持する目的地座標と位置姿勢情報取得部1140が取得した環境センサ120の位置姿勢とのユークリッド距離が所定の閾値(例えば1m)以下であれば、目的地に到着したとして終了する。そうでなければS140に戻り処理を続ける。
実施形態1では、運搬物センサが運搬物の3次元概略形状を取得、運搬物を含む移動体全体の概略形状を求めて、運搬物を含む移動体と環境中の障害物とが接触しない移動経路を取得して移動体の移動制御を行う。これにより、運搬する貨物の大きさ(運搬物の高さ、運搬物が移動体からはみ出した部分等)に応じて、貨物と環境中の障害物が衝突しない安定的かつ安全な制御を行うことが可能になる。また、運搬のたびに貨物の大きさが変わるような場合においても、貨物の大きさをあらかじめ設定することなく、手間を減らして、移動体システム12の移動制御を行うことができる。
(変形例1-1)
本実施形態において、運搬物15は、運搬物センサ110により撮像されていたが、これに限るものではない。例えば、運搬物センサ110の代わりに、環境センサ120を用いて運搬物15を撮像してもよい。この場合、環境センサ120と運搬物センサ110は同じ装置であってもよい。この場合、例えば、運搬物センサ100と環境センサ120を兼ねる移動体に広域カメラを搭載する。また、移動体を撮像できるように環境に設置する監視カメラを広角レンズカメラやパノラマカメラにして、環境と運搬物を搭載した移動体とを同時に撮像してもよい。運搬物センサ110が環境を撮像するとともに、運搬物も撮像することにより、より少ない撮像装置により、運搬物の形状・位置・種類に応じた移動体の移動制御を行うことが可能になる。また、複数のセンサを連動させて運搬物画像を取得してもよい。例えば、移動体に搭載したデプスカメラと、環境内に1つ以上設置された広域カメラから画像を取得する。複数のセンサを使うことによって死角が減り、運搬物の情報をより正確に推定できるようになる。
(変形例1-2)
本実施形態において、運搬物センサ110は、移動体システム12に装着されていることを前提にしていたが、これに限るものではない。例えば、移動体と運搬物を観測可能な場所に設置され、工程管理システム14または、移動体システム12と通信可能である監視カメラを運搬物センサ110として利用してもよい。ここで、監視カメラは、工場や物流倉庫内といった使用環境の状況を監視するRGBカラーカメラである。工程管理システム14、または、移動体システム12中の保持部150が、環境の世界座標系上における監視カメラの位置姿勢を保持している。運搬物センサ110として監視カメラが、運搬物15の形状および位置姿勢の情報を観測する。観測された情報は、世界座標系における監視カメラ位置姿勢と、環境センサ120の位置姿勢とを用いて、移動体座標系における運搬物15の形状および位置の情報に変換されて、決定部1160に入力される。また、運搬物センサ110として用いられる外部カメラとしては、監視カメラに限るものではない。例えば、運搬物を移動体に積み込む自動機側に設置されたカメラを用いる。なお、カメラではなく、例えばラインセンサなどの2次元の距離センサを用いてもよい。また、環境に設置されたカメラ以外にも、他のAGVに搭載されたカメラや、ユーザが保持するカメラを利用してもよい。運搬物15を計測して、移動体システム12上の運搬物15の情報を取得できる限り、運搬物センサ110として用いるセンサに特に制限はない。
(変形例1-3)
本実施形態において、運搬物情報取得部1120は、運搬物の3次元概略形状として3次元バウンディングボックスの値を取得していたが、これに限るものではない。例えば、デプスマップ中の運搬物候補の3次元点群そのものを形状として保持しても、3次元点群からメッシュを生成し、3次元ポリゴンモデルとして扱ってもよい。または、TSDF volume(Truncated Signed Distance Function volume)のような、ボクセルごとに最近傍の3次元表面までの符号付距離を格納した方式により運搬物の形状を保持する。または、物体の存在確率をボクセルに格納した占有格子マップの形で形状を表現する。運搬物の形状の推定手段および表現方法に特に制限はない。また、決定部1160が保持する移動体の形状の保持方法・表現も、同様に、バウンディングボックスのような概略形状に限るものではなく、上記記載の方法を用いて、詳細形状を保持してもよい。位置姿勢情報取得部1140が取得する運搬物の形状情報は、運搬物15の形状や大きさを表現できる限り、いかなるものを用いてもよく、そこに制限はない。
(変形例1-4)
本実施形態においては、運搬物情報取得部1120では、平面部分と運搬物候補部分とのセグメンテーションにより、運搬物候補の3次元点群を判別していたが、特にこれに限るものではない。例えば、移動体システム12に積載または牽引される運搬物15と運搬物センサ110との間の概略の位置関係は既知である場合を考える。このとき、運搬物が存在する範囲を、デプスマップ中の3D ROI(Region of Interest)として、与えられるものとして処理を行ってもよい。この場合、運搬物情報取得部1120では、平面部分のセグメンテーションを行う代わりに、前述の運搬物が存在する範囲を表す3D ROIを利用して、3D ROI以内の3次元点群を、運搬物候補の3次元点群として抽出する。または、例えばスタックされた箱により構成されている運搬物のように、一部の運搬物の形状が既知である場合には、テンプレートマッチングや特徴点マッチングに基づく3次元物体検出を用いて、運搬物全体の形状の位置を求めてもよい。
(変形例1-5)
本実施形態において、制御用マップは、あらかじめ事前に設定した占有格子マップを用いる方法に限定されない。例えば、環境センサ120から取得されたデプスマップおよび位置姿勢情報取得部1140で推定された位置姿勢の情報から、障害物がある領域とない領域を算出することで、占有格子マップを動的に更新してもよい。占有格子マップの生成は、事前情報なしに0から生成する。或いは、あらかじめ保存された占有格子マップを更新する形で取得する。周囲環境中の障害物の情報を表現できる限り、占有格子マップを生成・更新する方法に特に制限はない。占有格子マップを動的に更新することで、環境に新たに置かれた荷物などの、あらかじめ生成しておいた占有格子マップに含まれない障害物も考慮して、移動体を制御できる。
(変形例1-6)
本実施形態においては、制御用マップとして三次元の占有格子マップを用いる方法、そして、環境センサ120の位置姿勢情報として6自由度の位置姿勢パラメータを推定する方法について述べたが、これに限定されるものではない。例えば、高さ方向の情報がない、2次元の占有格子マップを利用する。或いは、環境の床と水平な面上の二次元点群データ(と色情報との組み合わせ)や、環境の床と水平な面上の二次元モデルを、制御用マップとして利用する。また、位置姿勢情報は、環境の世界座標系上における移動体システム12の位置2自由度(環境の床に対して水平な面上の位置X、Y)と姿勢1自由度(環境の床に対して水平な面上での回転方向)との合計3自由度の位置姿勢パラメータであっても良い。制御用マップは、決定部1160が利用できる形で、周囲環境中の障害物の情報を保持できる限り、保持・表現方式に制限はなく、いかなる方式を用いてもよい。
(変形例1-7)
本実施形態において、位置姿勢情報取得部1140が、環境中のシーンを表す3次元点群とデプスマップとのICPアルゴリズムに基づいて環境センサ120の位置姿勢を取得する方法について述べたが、位置姿勢を取得する方法は以上のものに限らない。例えば、位置姿勢推定用マップを事前に生成せずに、移動体システム12を環境内で移動させることで生成する。具体的には、移動体システム12をリモコンや手押しで操作しながら、移動体システム12に搭載している環境センサから取得したデプスマップを複数の視点で統合することで、3次元点群データを生成する。また、位置姿勢推定用マップとして、環境のCAD図面や地図画像をそのまま、あるいはデータフォーマット変換したものを利用して、位置姿勢取得に利用してもよい。また、環境センサ120としてデプスセンサではなく、環境中のシーンをカラー画像や濃淡画像として撮像する撮像装置を利用してもよい。この場合、撮像する画像はカラー画像でも濃淡画像でもよい。この場合、入力されたカラー画像や濃淡画像から3次元の特徴点により構成される特徴点マップを生成し、環境画像入力部に入力された画像中の特徴点と、特徴点マップ中の特徴点を対応付けることで、位置姿勢を取得する。これらの処理は、マップ情報を作成しつつ位置姿勢推定を行うSLAM(Simultaneous Localization and Mapping)技術として、数多く提案されておりそれらを利用すればよい。また、位置姿勢情報取得部1140での位置姿勢情報の推定は、Wi-Fi通信の通信状況や、環境内に設置されているビーコンを併用して求めてもよい。位置姿勢情報取得部1140において、世界座標系における移動体12の位置姿勢を取得できる限り、取得方法に特に制限はなく、いかなる方法を用いてもよい。
(変形例1-8)
本実施形態において、物体の形状を取得する方法について述べたが、運搬物情報取得部1120が推定する運搬物の情報は形状に限るものではなく、例えば物体の種類や状態などの意味的情報を取得し、それに基づいて決定部1160が制御値を決定してもよい。具体的には、例えば、あらかじめガラスや液体などの壊れやすい性質の素材や揺らしては不都合な運搬物の種類を定義する。運搬物センサ110が撮像した運搬物15を含むカラー画像から、各画素が何の物体種であるかを判別するセマンティックセグメンテーションにより、運搬物候補領域の意味的クラスを推定することにより、運搬物の種類を推定する。そして、推定した種類があらかじめ定めた壊れやすい運搬物の種類に含まれるのであれば、決定部1160の制御値の最高速度を制限する。例えば、運搬物がガラス製であると推定された場合は、なるべく振動が少ない移動制御を行う。これにより、運搬物の種類に応じた速度の制御を行うことで、運搬物の運搬において、運搬物が揺れにくくなるように、または、運搬物が崩れにくくなるように移動体の移動制御を行うことが可能になる。
(変形例1-9)
本実施形態において、運搬物情報は、運搬物画像入力部1110に入力された運搬物が撮像されたデプスマップから、形状を計測していたが、これに限るものではない。例えば、運搬物に付与されたIDタグを利用して、運搬物の情報を得てもよい。具体的には、例えば、運搬物の形状・種類の情報またはそれらに紐づく情報が格納されたIDタグを運搬物に付与しておく。或いは、運搬物センサ110または環境センサ120が撮像した画像から、運搬物情報取得部1120がIDタグを認識することで、運搬物の形状・種類の情報を取得する。また、運搬物の情報を得る手段としては、画像を用いる方法に限るものではなく、例えば、工程管理システム14または移動体管理システム13が各運搬物の形状や種類や位置を管理しておく。S110において、目標の位置及び姿勢を受信するタイミングで、運搬物画像入力部1110が積載される運搬物の情報を受信する。このように、運搬物の形状・種類の情報を得てもよい。この場合は、運搬物センサ110は運搬物画像入力部1120に接続されている必要性はなく、運搬物センサ110がなくても特に問題はない。
(変形例1-10)
本実施形態において、移動体システム12は無人搬送車(AGV)の様々な形態に適用可能である。例えば、運搬物の下に潜り込んで押すことで運搬する移動体でもよい。また、車輪が縦横無尽に動くAGVでもよい。この場合、前後方向の制御値だけではなく、横方向の移動に対しても制御値を計算し、最適な制御値を決定する。また、けん引式のAGVでもよい。この場合、けん引する運搬物や台車との接合部の動きを考慮した制御値を取得する。けん引式の方が横揺れするため、通路の幅が十分広い経路を通るようにする等、移動体の形態によって制御値の決定の仕方を変えてもよい。なお、移動体システム12は、自動運転車、自律移動ロボットであってもよい。本実施形態で説明した情報処理装置をそれらに適用してもよい。また、フォーク可動部を備える自動搬送フォークリフトに対して、本実施形態を適用してもよい。ドローンといった飛行体に本実施形態を適用してもよい。
(変形例1-11)
本実施形態において、運搬物情報取得部1110が推定した運搬物15の概略形状に基づいて、決定部1160が、運搬物を含む移動体と、障害物との接触を考慮した制御値を決定していたが、これに限るものではない。例えば、決定部1160が移動体管理システム13および工程管理システム14と通信して、運搬物と周囲環境との障害物との接触が発生しないような形状の移動体を代わりに用いるようにシステムを運用してもよい。具体的には、移動体管理システム13が複数の移動体システムに関して、それぞれの概略形状の情報を保持する。そして、決定部1160では、それらの複数の移動体システムの概略形状に対応した、複数の2次元占有格子を取得する。これによってもっとも最短経路で運搬可能となる形状を備える移動体システムを判別する。そして、判別した移動体が運搬物を運搬するように、決定部1160が移動体管理システム13に通信を行う。運搬物の形状に応じて、一つの移動体の制御のみを行うのではなく、複数の異なる形状の移動体を選択的に運用することで、全体のシステムが最適になるように運行を制御することが可能となる。
(変形例1-12)
決定部1160が、3次元の制御用マップを2次元に射影せずに、移動体と接触する範囲を抜き出した部分的な3次元制御用マップを用いて、移動体の制御値を決定する方法について述べる。図5のS160では、決定部1160が、AGVを制御するための制御値を決定する。具体的には、占有格子マップ上で定義された目的地座標と、占有格子マップ上の移動体の位置姿勢とに基づいて、占有格子マップ上で障害物の存在する確率が高い格子を避け、両者のユークリッド距離が小さくなるような制御値を決定する。
まず、運搬物情報取得部1120が推定した移動体座標系における運搬物の概略形状(AABB)に基づいて、移動体全体の概略形状を取得する。次に、実施形態1と同様に、保持部1150が保持する3次元の占有格子マップから、移動体に接触しうる範囲の部分の占有格子マップを部分占有格子マップとして抽出する。次に、現在の移動体の位置姿勢と入力された目標位置姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値(前進速度と旋回方向・速度)として取りうる全てのバリエーションを制御値候補として取得する。それぞれの制御値候補に関して制御後の予測位置姿勢を取得する。そして、予測位置姿勢における移動体と部分占有格子マップとの衝突判定を行う。衝突判定は、具体的には、予測位置姿勢における移動体の概略形状の範囲内の部分占有格子マップを走査する。障害物となる確率が所定以上に高い占有格子がある場合には、衝突の危険性を判定し、その予測位置姿勢を取得した制御値候補を棄却する。棄却されなかった制御値候補の中で、目標位置姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として決定する。そして、決定した制御値をアクチュエータ部130に出力する。そして、アクチュエータ部130が、決定部1160が決定した制御値を用いてAGVを制御する。これにより、運搬する貨物の大きさに応じて、貨物と環境中の障害物が衝突しない安定的かつ安全な制御を行うことが可能になる。また、運搬のたびに貨物の大きさが変わるような場合においても、貨物の大きさをあらかじめ設定することなく、手間を減らして、移動体システム12の移動制御を行うことができる。
(変形例1-13)
実保持部1150が保持する制御用マップとして占有格子マップを保持し、占有格子マップに基づいて最適な経路を決定して、決定部1160が移動体の制御値を決定していたが、これに限るものではない。その他、決定部1160が、移動体形状と環境中の障害物とが接触しないように、目的地に到達するための制御値を決定するものであればどのような制御値を決定しても用いてもよい。例えば、複数のデプスマップをキーフレームとして保持し、キーフレームの集合として、制御用マップを保持してもよい。この場合、目標位置姿勢と現在の位置姿勢とのユークリッド距離を最小化する移動制御をしながら、例えば、現在の位置姿勢の最近傍となるキーフレーム中のデプスマップと、移動体全体の概略形状との最近接距離の計算を行う。距離が所定以下の場合は、移動を止める、旋回するなどの制御を行う。障害物として判定する閾値としては、例えば、0よりも上であれば障害物があると判定する。また、キーフレームとしてデプスマップを保持することに限定されるわけでもなく、環境画像入力部1120に入力されたデプスマップと、移動体全体の概略形状との最近接距離の計算を行い、移動体の制御を行ってもよい。
また、制御用マップとして、最近傍の障害物への符号付距離を格納したESDF(Euclidean Signed Distance Fields)に基づいて、障害物を回避するような制御値を計算して、移動制御を行ってもよい。また、制御用マップとして、目的地に近くなるほど小さくなるような値を格納したコストマップを保持する。決定部1160がこれと入力されたデプスマップとを入力として制御値を決定するように学習したニューラルネットワークである深層強化学習器を用いて制御値を決定してもよい。このように、運搬物を含む移動体全体の形状と壁などの障害物との接触を計算し、それらを回避しつつ移動する制御値を決定することで、安定して、安全にAGVを運用することができる。
(変形例1-14)
決定部1160は、Dynamic Window Approachを用いた。これは、現在の移動体の位置及び姿勢と入力された目標の位置及び姿勢とに基づいて、ある一時刻における両者のユークリッド距離を小さくするような制御値の取りうる全てのバリエーションを制御値の候補として算出する。しかしながら、障害物との衝突可能性の高い領域を回避してAGVの経路を設定できる方法であれば、制御値の算出方法は上記に限るものではない。例えば、ある一時刻ではなく、将来の複数の時刻における制御値のバリエーションを算出し、複数時刻の位置姿勢(予測軌跡)を算出し、予測軌跡を辿るような制御値を選択する手法であるGraph Search Approachを使用してもよい。この時、決定部1160は、2次元グリッドの占有格子マップの障害物が存在する確率が0の領域のみを通る予測軌跡を選択し、この予測軌跡を辿るような複数時刻の制御値を算出する。予測軌跡の選択方法は、移動経路が最小となるような予測軌跡を選択してもよいし、占有格子マップの障害物が存在する確率が0でない領域との距離が最大となるような予測軌跡や、ステアリングの変化が最小となるような予測軌跡を選択してもよい。また、現在位置から二次元空間の中から障害物のない一定領域をランダムにサンプリングする。そして、その地点をノードとして更に周囲の空間をランダムにサンプリングすることを繰り返して生成した予測軌跡を選択するRandomized Approachなど、任意の手法を用いることができる。
本実施形態では、Zw±Sz/2の範囲にある占有格子マップをスライスし、部分占有格子マップとして取得していたが、Zw-Sz/2<Z<Zw+Sz/2+Δm(Δmはマージン)の範囲にある占有格子マップをスライスしてもよい。このようにすることで、AGVは障害物から所定のマージン以上離れて移動することができ、安全にAGVを運用することができる。
なお、Δmといった所定の値は、ユーザによって予め設定してもよいし、移動体の走行速度に応じて変更してもよい。例えば、ユーザによって設定する場合は、工場の規定等を考慮し、占有格子マップによって物体が存在する確率が0より大きい位置からΔm=1mだけ離れて走行するように設定する。このように障害物や周辺環境と運搬物との距離に余裕を持たせることによって、運搬物が多少ずれても安定して運搬できる。また、移動体の走行速度に応じてΔmを設定する場合は、例えば、走行速度と所定の値が比例するように決定する。具体的には、移動体が1m/sで走行するときはΔm=1mとする。移動体が2m/sで走行するときはΔm=2mとする。このように障害物と運搬物との距離を取ることで、障害物と衝突する可能性を抑制することができる。
さらには位置姿勢情報取得部1140が位置姿勢算出時に位置姿勢のばらつき度合の値として分散値を取得算出し、決定部1160は、取得された分散値を元にΔmを設定することもできる。例えば分散値と所定の値Δmが比例するように決定する。また、事前に移動体の制御のばらつきを計測しておいて、ばらつきに比例するように所定の値Δmを決定してもよい。制御のばらつきとは、移動体が同一ルートを走行するように設定し移動させたときに実測した移動軌跡のばらつき度合のことである。同様に、決定部1160は、位置姿勢情報取得部1140によって計測された移動体の走行環境における段差の高さに基づいて所定の距離を決定してもよい。移動体を移動させたときに実測した移動体の上下方向のブレや荷物の傾き値に比例するように所定の値Δmを設定してもよい。例えば、走行経路上に段差や傾きがある箇所がある場合、移動体が上下方向に揺れて運搬物が天井や監視カメラ等に衝突するリスクがある。そのため、走行経路全体あるいは所定の高さの段差や凹凸がある領域については、段差の高さに応じてΔmを設定してもよい。走行面の凹凸のデータは、例えば、予め移動体の走行経路を走行し、3次元位置の高さ方向の変化を計測しておくとよい。このように障害物と運搬物との間に一定以上の距離を取ることで、運搬物が障害物と衝突する可能性をさらに抑制することができる。
(実施形態2)
実施形態1では、保持部1150が保持する制御用マップとして占有格子マップを保持し、占有格子マップに基づいて最適な経路を取得して、決定部1160が移動体の制御値を取得していた。実施形態2では、制御用マップを保持せずに、環境センサが撮像する画像に基づいて、運搬物を含む移動体の位置を計算して、移動体の制御を行う方法について述べる。
図7に、本実施形態における情報処理装置10の機能構成例を示す。本実施形態における情報処理装置10は、実施形態1で説明した情報処理装置10から、保持部1150が除かれている点が異なる。本実施形態では実施形態1から追加または機能が異なる構成のみ説明し、それ以外の構成については図1、2と同じ機能であるものとして説明を省略する。
決定部1160は、環境画像、位置姿勢情報取得部1140が取得した環境センサ120の位置姿勢情報、運搬物情報取得部1120が取得した運搬物の概略形状、および目標の位置及び姿勢をもとにAGVの移動制御する制御値を決定する。実施形態1と異なり、移動体の目標位置姿勢は、不図示の通信装置により移動体管理システム13から決定部1160へ直接入力される。決定部1160は、決定した制御値をアクチュエータ部130へ出力する。
本実施形態における処理全体の手順は、図5と同様である。本実施形態では実施形態1と処理が異なる手順のみ説明し、それ以外の手順については図5と同じ処理であるものとして説明を省略する。
図5のS160では、決定部1160が、運搬物情報取得部1120が推定した運搬物15の概略形状と、環境画像入力部1130に入力されたデプスマップ、移動体の目標位置とに基づき、障害物を避けつつ目標位置へ向かうような移動体の制御値を決定する。具体的には、現在の移動体の位置姿勢と入力された目標位置姿勢とに基づいて、両者のユークリッド距離を小さくするような制御値(前進速度と旋回方向・速度)として取りうる全てのバリエーションを制御値候補として取得する。それぞれの制御値候補に関して制御後の予測位置姿勢を取得する。そして、予測位置姿勢における運搬物を含む移動体の概略形状・位置と、環境画像入力部1130から入力されたデプスマップから求めた3次元点群との、最近接距離の計算を行う。距離が所定以下の場合は、衝突の危険性と判定し、その予測位置姿勢を取得した制御値候補を棄却する。棄却されなかった制御値候補の中で、目標位置姿勢と予測位置姿勢とのユークリッド距離を最小とする制御値を、最終的な制御値として選択する。決定された制御値は、アクチュエータ部130へ出力する。
以上、実施形態2では、制御用マップを保持せずに、環境センサ120から入力された画像に基づいて、運搬物を含む移動体の概略形状の位置を取得し、移動体の制御を行う方法について述べた。制御用マップを保持しない場合においても、環境センサ120から時系列的に入力される画像から、その都度、観測される範囲で、移動体と環境中の障害物との距離を取得することで、制御用マップを保持しない場合においても、安全な移動体制御が可能となる。
(実施形態3)
実施形態1では、運搬物センサ110が取得したデプスマップから、運搬物15の概略形状を一度だけ計測し、計測した運搬物の形状を含む移動体とシーン中の障害物との接触を考慮した軌道を取得して移動体の制御を行っていた。実施形態3においては、運搬物15の形状と位置を常にトラッキングすることで、運搬物の位置や形状の変化に基づいて、移動体の制御を行う方法について述べる。
本実施形態における装置の構成は、実施形態1で説明した情報処理装置10の構成を示す図3と同一であるため省略する。なお、運搬物情報取得部1120は、実施形態1で説明した運搬物15の概略形状情報に加えて、さらに、その時系列的変化が計算できるように、前時刻における運搬物15の形状・位置の情報も保持する。そして、運搬物15の時系列変化情報も、決定部1160に出力する。決定部1160は、実施形態1で説明した情報に加え、運搬物情報取得部1120が取得した運搬物15の時間変化情報にも基づいて、AGVを制御する制御値を決定する。以上の点が実施形態1と異なる。
図8に、本実施形態において無人搬送車(AGV)と称する移動体に適用した情報処理装置が実行する処理手順を示す。本実施形態では実施形態1と処理が異なる手順のみ説明し、それ以外の手順については図5と同じ処理であるものとして説明を省略する。
S230では、実施形態1のS130と同様に、運搬物情報取得部1120が、デプスマップから運搬物15の概略形状として、3次元バウンディングボックスの情報を取得する。次に、保持していた前の時刻における3次元バウンディングボックスと、現時刻における値との差分を取ることで、前時刻から現時刻への運搬物15の概略形状と位置の変化量を取得する。変化量は、バウンディングボックスのサイズ(高さ・横幅・奥行)の変化量3パラメータ、位置の変化量3パラメータの計6パラメータを保持するものとする。最後に、取得した、現時刻における運搬物15の概略形状およびその変化量の値を、決定部1160に出力する。
S260では、決定部1160が、運搬物情報取得部1120が推定した運搬物15の概略形状と、保持部1150が保持する占有格子マップとに基づき、障害物を避けつつ目標位置姿勢へ向かうような移動体の制御値を決定する。本実施形態では、これに加えて、運搬物情報取得部1120が取得した運搬物15の形状と位置の変化量に基づいて、制御値を決定する。実施形態1に記載した処理により移動体の制御値を決定した後、さらに、運搬物情報取得部1120が取得した運搬物15の形状と位置の変化量に基づいて、移動体の最終的な制御値を決定する。
具体的には、運搬物の概略形状および位置の変化量をチェックし、両者およびどちらか一方が所定以上の量で変化が発生している場合、運搬物の崩れやズレが発生しているものとして、移動体の速度を減速させる或いは停止させるように制御値を取得する。一方で、運搬物の変化量が0または小さい場合には、安定的に運搬物を運搬できているものとして、実施形態1におけるS160記載の方法で取得した制御値をそのまま用いる。また、運搬物の変化量が、運搬物の崩れやズレが発生するほど大きくないが、変化量が0とみなせるほど小さくない場合には、運搬物に揺れが発生しているものとして、揺れの範囲を判別して、制御値を取得する。具体的には、運搬物15の概略形状を表す3次元バウンディングボックスと、運搬物の形状と位置の変化量とを足し合わせ、最大揺れ幅を包括するような運搬物の概略形状を求める。それに基づいて、S160で述べた移動体全体の概略形状を取得し、制御値を決定する。決定した制御値は、アクチュエータ部130へ出力する。
S470では、システムを終了するか否か判定する。具体的には、実施形態1のS170と同様に、保持部1150が保持する目的地座標と位置姿勢情報取得部1140が取得した環境センサ120の位置姿勢とのユークリッド距離が所定の閾値(例えば1m)以下であれば、目的地に到着したとして終了する。そうでなければS120に戻り処理を続ける。
以上、実施形態3では、運搬物の形状と位置を毎フレーム計測・トラッキングを行い、その変化量を取得し、変化量に応じて運搬物のズレや崩れなどの状態変化を判別して移動体の制御を変更する方法について述べた。運搬物に状態変化があるような場合には、移動体を停止する、最大速度を制限する、といった制御や、運搬物の揺れ幅をも考慮に入れた移動体と環境との接触計算に基づいて制御を行う。これにより、運搬物の崩れやズレ、揺れといった時間的変化を考慮した安全な移動体制御が可能になる。
(変形例3-1)
本実施形態では、決定部1160において、運搬物15の形状と位置の変化量に応じて、移動体の制御値を決定していたが、これに限るものではない。例えば、変化量に応じて、運搬物の崩れやズレの発生を判別したときに、制御値を取得する代わりに、不図示のアラームを鳴らして、異常を外部に示す。または、不図示のランプを点灯させて、異常を示す。または、移動体管理システム13に通信し、異常が発生したことをシステムに知らせる。
(実施形態4)
実施形態1から3に共通して適用できるUIについて説明する。撮像装置が取得した視覚情報や、取得部が取得した位置姿勢、物体の検出結果、マップ情報などをユーザが確認することを説明する。また、AGVは自動制御で動くためユーザの入力により制御することを説明する。ユーザがAGVの状況を確認できるよう、AGVを制御することもできるように、表示装置として例えばディスプレイにGUIを表示し、マウスやタッチパネルといった入力装置によりユーザからの操作を入力する。なお、本実施形態において、ディスプレイはAGVに搭載されているものとしているが、このような構成に限るものではない。つまり、通信I/F(H17)を介して、ユーザの持つモバイル端末のディスプレイを表示装置として用いる、移動体管理システムに接続された液晶ディスプレイを表示装置として用いる。AGVに搭載されている表示装置を用いる場合でも、AGVに搭載されていない表示装置を用いる場合でも、表示情報は、情報処理装置で生成することができる。また、AGVに搭載されていない表示装置を用いる場合には、表示装置に付随する計算機が、情報処理装置から表示情報の生成に必要な情報を取得し表示情報を生成してもよい。
実施形態4における装置の構成は、図3の機能構成に加え、図10に示すような生成部1170を有する。生成部1140は、運搬物センサ110が取得した運搬物画像、位置姿勢情報取得部1140が取得した移動体の位置姿勢、環境センサ120が取得した画像、第1取得部が計測した運搬物の情報、決定部1160が取得した制御値に基づいて表示情報を生成する。さらに、表示部140は、生成された表示情報を、AGVに搭載したタッチパネルディスプレイ等に表示する。なお、表示情報の詳細については後述する。
図9に、本実施形態における表示装置が提示する表示情報の一例であるGUI100を示す。G110は2次元の占有格子マップを提示するためのウィンドウである。G120は保持部1150が保持する3次元占有格子マップを提示するためのウィンドウである。G130は環境センサ120が取得した画像を提示するためのウィンドウである。G140は運搬物センサ110が取得した画像を提示するためのウィンドウである。また、G150は、位置姿勢情報取得部1140が取得した位置及び姿勢や、運搬物情報取得部1120が計測した運搬物15の情報、決定部1160が決定した制御値に関する表示情報を提示するためのウィンドウである。
G110は、保持部1150が保持する3次元占有格子マップを床面平面に射影した、2次元の占有格子マップの提示例を示している。G111は、環境センサ120と運搬物センサ110を搭載したAGVである。G111は、運搬物センサ110が計測した運搬物15の概略形状に基づいて計算したAGVの概略形状が表示されている。位置姿勢情報取得部1140が、環境センサの位置姿勢(AGVの位置姿勢)に基づき2Dマップ上に合成する。G112は、警告アラートとして吹き出しを提示した例である。例えば、実施形態2に記載の方法により、運搬物情報取得部1120が取得した運搬物15の変化量に基づいて決定部1160が、運搬物の崩れやズレを検出した場合に、アラートを表示する。G113は、決定部1160が決定した制御値に基づき、AGVの進行予定ルートを矢印として提示した例である。図9においては、AGVはG114に提示した目的地に向かっている。このように、2DマップとAGVの位置、異常のアラート、ルートを提示することでユーザが容易にAGVの運行状況を把握することができる。なお、G111~G114は色や線の太さ、形状を変えることでユーザがより容易に運行状況を把握できるようにしてよい。
G120は、保持部1150が保持する3次元の占有格子マップの提示例を示している。G121は、運搬物情報取得部1120が取得した運搬物15の概略形状を、AGVのモデル上に表示した様子である。G122は、運搬物15を含むAGVの概略形状に接触しうる範囲を抜き出す部分マップを表す表示例である。この範囲の3次元占有格子マップを床面平面に射影したものがG110である。このように、3次元占有格子マップを提示することで、環境中に存在する高さが異なる障害物と、AGVおよび運搬物との3次元的な接触具合を見ながら、ユーザは運行状況を把握することができる。
G130は、環境センサ120が取得した画像の提示例を示している。G130のように、他のAGVの進行方向を矢印で表示してもよい。矢印の表示は、移動体管理システム13等から取得する情報に基づいて生成する。
G140は、運搬物センサ110が取得した運搬物15を撮像する画像の提示例を示している。G141は、実施形態1で説明した、運搬物情報取得部1120が取得した運搬物15の概略形状と位置、および、運搬物の種類を表す情報の提示例である。また、G142は、実施形態2で説明した、運搬物15の形状・位置の変化量から求めた、運搬物の揺れ幅を含む、運搬物の概略形状を示す提示例である。ここでは、3軸に関する矢印を表示しているが、運搬物が存在する範囲をワイヤーフレームとして表示してもよい。これにより、運搬物のサイズと位置を含む、運搬物の状況をユーザが直感的に把握することができる。
G150は、AGVを人手で操作するためのGUIや、位置姿勢情報取得部1140が取得するAGVの位置姿勢や決定部1160が決定した制御値、AGVの目標の位置及び姿勢の提示例を示している。G151は緊急停止ボタンであり、ユーザはこのボタンに指で触れることでAGVの移動を停止させることができる。G152はマウスカーソルであり、不図示のマウスやコントローラ、タッチパネルを通したユーザのタッチ動作に従ってカーソルを移動させることができ、ボタンを押下することでGUI内のボタンやラジオボタンを操作することができる。G153はAGVのコントローラを提示した例である。ユーザはコントローラの内部の円を上下左右に移動させることで、それらの入力に応じたAGVの前後左右の動作を行うことができる。G154はAGVの内部状態を提示した例である。AGVが自動走行しており、秒速0.5m/sで動作している状態を例として図示した。また、AGVが走行を開始してからの時間、目的地までにかかる残りの時間、予定に対する到着予想時刻の差といった目標の位置及び姿勢も合わせて提示した。G156はAGVの動作や表示情報の設定を行うためのGUIである。マップ情報を生成するか否か、検出した物体を提示するか否かといった操作をユーザが行うことができる。G157はAGVの目標の位置及び姿勢を提示した例である。第2取得部1140が取得した位置姿勢や、移動体管理システム13から受信した目的地座標、AGVが運搬している物品名を提示した例である。このように、目標の位置及び姿勢を提示する、ユーザからの入力に係るGUIを提示することで、より直感的にAGVを運用できるようになる。
図11を用いて情報処理装置が実行する処理を説明する。S565では、生成部1170が、撮像された画像、運搬物情報取得部1120が取得した運搬物の形状、位置姿勢情報取得部1140が取得した移動体の位置姿勢、決定部1160が決定した制御値または占有格子マップの何れかに基づいて、表示情報を生成する。そして、表示情報を表示部140に出力する。
実施形態4では、撮像された画像、運搬物情報取得部1120が取得した運搬物の形状、位置姿勢情報取得部1140が取得した移動体の位置姿勢、決定部1160が決定した制御値または占有格子マップの何れかに基づいて、表示情報を生成する。これによりユーザが容易に本情報処理装置の状態を確認することができる。また、AGVの制御値や各種パラメータ、表示モード等をユーザが入力する。これにより手軽にAGVの各種設定を変更したり移動させたりすることができる。このように、GUIを提示することで手軽にAGVを運用することができるようになる。
(実施形態5)
本実施形態では、移動体の目的地と運搬物の種類に基づいて、タスクを効率的に実行できる運搬量または移動経路をユーザに対してリコメンドする情報処理装置について説明する。通常、例えば、同じ荷物を数回(又は数台)に分けて搬送する場合、1回あたりのタスクでなるべく多くの荷物を積めば、タスクの総所要時間は短縮できる。しかし、環境によっては、運搬物が多くなった場合に走行できる経路が限定され、結果遠回りになって所要時間が増加してしまうことがある。つまり、所要時間を最小にするのに最適な運搬物の量や積み方は環境によって変化しうる。そこで、本実施形態では、荷物の大きさと環境の構造を考慮して、最適な運搬量と搬送経路の組合せをユーザに提示する。これによって、効率的に移動体を制御できる。
図12を用いて、情報処理装置10の機能構成例を説明する。なお、実施形態1と同様の機能構成については説明を省略する。
タスク入力部(第3入力部)1200は、目的地の座標またはタスクで運ぶ運搬物の総量と大きさについて示すタスク情報を入力する。タスク情報に含まれる目的地の座標は、保持部1150が保持する制御マップと紐づけられるものとする。タスクで運ぶ運搬物の総量についてもタスク情報に含む。また、運搬物の1単位あたりの大きさを示す3次元形状データを示す運搬物情報は既知であるものとする。例えば、運搬物が立方体、横長の直方体であって、それを10単位だけ運搬することを示す。なお、1度の工程で移動体に運搬させる運搬量(例えば4単位分等)をユーザがUI等を使って入力してもよい。また、運搬物の積み方をユーザが指定してもよい。例えば、立方体の運搬物を4個移動体に搭載するとき、すべて平積みにするか、2×2で重ねるか、すべて上に重ねるか、といった積み方をユーザが入力する。
候補取得部(第3取得部)1220は、タスク情報と制御用マップに基づいて、少なくとも1つ以上の運搬量と移動経路との組合せの候補を取得する。運搬量と移動経路との組み合わせの候補は例えば、次のような情報である。運搬量が4個で経路はルート1の組合せは、所要時間が50秒、運搬量が5個で経路はルート1の組合せは、所要時間が1分等。これらの情報は、運搬物の大きさや移動体の走行環境の構造を考慮し、運搬量と移動経路の組合せを取得する。なお、複数の運搬物を運ぶ場合は積み方によって形状が変化するため、積み方のバリエーションについても複数取得する。
生成部1270は、候補取得部1220で取得した候補をディスプレイ等に表示するための表示情報を生成する。ユーザに対して運搬量をリコメンドする場合は、例えば所要時間が最短である運搬量をリコメンドする。また、運搬量は固定で、積み方や経路の候補をリコメンドしてもよい。積み方をリコメンドする場合は、それぞれの積み方の候補(例えば平積み、重ねる等)に対して経路と所要時間を紐づける。経路をリコメンドする場合は、各経路の候補に対して、最適な運搬量または積み方を紐づける。例えば、背の低い運搬物や運搬物を平積みに対しては、天井が部分的に低い経路をリコメンドできる。天井は部分的に低い経路は、走行可能な移動体が限定されるため、複数の移動体同士の混雑が避けられる可能性がある。例えば、図13に示すようなGUIでこれらの情報をユーザに提示する。G160は、運搬物の搭載量(運搬量)に応じた運搬物の形状の推定値を示す画像である。例えば、運搬量が4個の場合は、図の斜線部のような形状で搭載されるものと仮定する。経路の候補は、この運搬物の形状を使って取得する。G171は、制御用マップに目的地(G172)と、運搬量の候補に対応したルートを示すマップである。マップは例えば前述の制御用マップ(占有格子マップ)である。ルートの一例として、R1は、通路の幅も高さも十分にあるルートである。R2は、高さは十分にあるものの、幅がR1より狭いルートである。R3は、通路の幅と高さが最も小さいルートである。G181は、運搬量の候補と、ルートの組合せを示すリストである。さらに運搬量とルートに対応した所要時間の予測値を表示する。
決定部1260は、運搬量と移動経路との組み合わせの候補から所定の基準に基づいて制御値を決定する。所定の基準とは、例えば、所要時間が最短な組合せ決定するといった基準である。ユーザによる指示に従って、制御値を決定してもよい。もしくは、ユーザが、図13のG181のようなリストから、好ましい運搬量とルートの組合せを選択することによって、制御値を決定してもよい。必要に応じて、運搬物情報取得部1120から、実際に積み込まれた運搬物についての情報(第1情報)との整合性から、制御値を決定する。
図14を用いて、情報処理システム1が実行する処理について説明する。S1410では、情報処理システム1が、移動体の現在位置、運搬物情報、制御用マップ、タスク情報を初期化する。S1420では、タスク入力部1200が、目的地の座標またはタスクで運ぶ運搬物の総量と大きさについて示すタスク情報を入力する。ここでは、ユーザによって目的地の座標がタスク入力部1200に入力されるものとする。工程管理システム14から、図示しない通信部によって目的地の情報を取得してもよい。また、ここで運搬物の総量を示すタスク情報を入力する。S1430では、候補取得部1220が、タスク情報と制御用マップに基づいて、少なくとも1つ以上の運搬量と移動経路の組合せを取得する。まず、S1410で取得した運搬物情報に基づいて、移動体に搭載可能な運搬物の量を推定する。運搬物情報とは、運搬物1単位あたりの3次元形状データである。なお、移動体の荷台の3次元形状は既知であるものとする。候補取得部1220は、移動体の荷台の3次元形状と運搬物1単位あたりの3次元形状に基づいて、最大運搬量を推定する。さらに、運搬物の量(運搬物1単位から最大運搬量毎)に応じて、運搬物の積み方とその形状を推定する。推定された3次元形状から、タスク情報と制御用マップとに基づいて、運搬物をXだけ搬送する移動体が走行可能な経路を推定する。そして、その経路を走行する所要時間を取得する。S1440では、生成部1270が、候補取得部1220で取得した組合せ、具体的には移動経路をディスプレイ等に表示する表示情報を生成する。例えば、運搬物を積んだ場合の見え方を推定した画像や、移動体の現在地から目的地までの移動経路を表示する。S1450では、決定部1260が、運搬量と移動経路との組み合わせの候補から所定の基準に基づいて制御値を決定する。ある運搬量に対して複数の候補があった場合、その中から所定の条件を満たす運搬量を決定する。例えば、最短時間で走行できる経路を移動体に走行させたい場合は、条件を時間にして、タスクの総所要時間が最小になる運搬量と経路の組合せを決定する。決定された運搬量と移動経路に基づいて制御値を求める。なお、ユーザによる入力に従って、G181で示された組合せ候補の中から運搬量または経路を決定してもよい。S1460では、運搬物センサ110が、移動体に搭載された運搬物を撮像する。S1470では、運搬物情報取得部が、S1460で運搬物を撮像した画像に基づいて運搬物情報(第1情報)を取得する。S1480では、運搬物情報取得部が、第1情報と、決定された運搬物と制御値との組合せとを比較して、S1450で決定された運搬物が載せられているか確認する。指定された運搬物が正しく載せられていることを確認できた場合は、S1490に進む。決定した運搬物の量と、第1情報から得られた運搬物の量とに所定の値(例えば運搬物1単位より多い又は少ない)より大きい差があった場合は、S1450に戻る。S1490では、アクチュエータ部130が、決定された経路に対応する制御値に従って、移動体を走行させる。以上に述べた処理によって、移動体に載せる運搬物の量と経路を適切に組み合わせることができるため、効率的に移動体を制御できる。
(その他の変形例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明における環境画像入力部は、移動体に搭載されたセンサが取得する周囲環境の情報を入力するものであればいかなるものでもよい。入力する周囲環境の情報とは、通常の画像や視差画像、画像の各画素に奥行き値が格納されたデプスマップ、撮像装置に対するシーンの点の三次元座標を保持するポイントクラウドの少なくともどれか一つ、または複数のことである。これに加え、LiDARやTOFカメラなどの三次元計測装置の計測した三次元情報や、通信I/Fを介して移動体管理システムから受信する移動体の目標の位置及び姿勢や移動体の位置姿勢を入力してもよい。合わせて、焦点距離、レンズ中心、レンズ歪みなどの撮像装置のパラメータを情報処理装置に入力することもできる。
本発明における位置姿勢情報取得部は、環境画像入力部により入力された周囲環境の情報を用いて移動体の位置姿勢を取得するものであれば、いかなるものでもよい。環境中のシーンを表す3次元点群と環境画像入力手段により入力されたデプスマップとを用いてICPアルゴリズムに基づいて取得してもよいし、濃淡画像からSLAM技術を利用して求めてもよい。また、Wi-Fi通信の通信状況や、環境内に設置されているビーコンを併用して位置姿勢を求めても良い。
本発明における保持部は、移動体を制御するために参照するための制御用マップを保持する限り、いかなるものでもよい。制御用マップとしては、環境の構造や空間を表現するものであればどのようなものであってもよい。例えば、シーンを格子状に区切り、各格子に障害物が存在する確率を保持した占有格子マップなどである。占有格子マップは、世界座標系における3次元のボクセル空間(X,Y,Z)として保持してもよいし、高さ方向の情報を除いた2次元のグリッド空間(X,Y)として保持してもよい。あるいは、位置姿勢推定用マップと同様に、例えば、三次元点群データ(と色情報との組み合わせ)、キーフレームデータ(環境内の位置姿勢に紐づいたデプスマップと色情報の組み合わせ)の集合、環境の三次元モデルなどを用いてもよい。
本発明における運搬物画像入力部は、移動体により運搬される運搬物の形状及び/もしくは位置及び/もしくは物体種類情報を入力する限り、いかなるものでもよい。運搬物の形状としては、例えば、運搬物の3次元バウンディングボックス(重心位置を表す3パラメータ、バウンディングボックスのサイズを表す3パラメータ)により表現される概略形状情報である。また、三次元点群データ(と色情報との組み合わせ)や3次元メッシュデータなどで表現してもよい。また、制御用マップと同様に占有格子マップとして表現してもよい。
本発明における決定部は、移動体の移動を制御する制御値を決定する限り、いかなるものでもよい。例えば、保持部に保持された占有格子マップと、第1入力部により入力された運搬物形状に基づいて、運搬物と周囲環境とが接触しないような制御値を決定する。制御値の決定にあたっては、運搬物と周囲環境とが接触する可能性がある範囲の制御用マップを判別して抜き出すことで制御値を決定する。或いは、3次元の制御用マップを床面平面に射影した2次元の制御用マップを用いて制御値を決定する。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
12 移動体システム
15 運搬物

Claims (17)

  1. 運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、
    前記運搬物の3次元形状を特定可能な第1の情報と、前記移動体が移動する環境を撮像した第2の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第2の情報と、前記移動体が移動する環境における物体の位置を示す3次元マップから前記運搬物の高さに基づいて生成した2次元マップと、を取得する取得手段と、
    前記第1の情報と前記第2の情報に基づいて、前記2次元マップにおける前記運搬物と前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定手段と、を有する、
    とを特徴とする情報処理装置。
  2. 前記取得手段は、前記運搬物を撮像した第1の画像を入力として、前記運搬物の大きさを出力する学習済みモデルに基づいて、前記第1の情報を取得することを特徴とする請求項1に記載の情報処理装置。
  3. 前記取得手段は、前記第2の画像に基づいて前記移動体の位置を取得し、
    前記決定手段は、前記移動体の位置から予め定められた目的地の位置に到達するための前記制御値を決定することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第1の情報は、前記運搬物の高さ方向の大きさを示す情報であることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記決定手段は、前記環境における走行経路上に存在する段差の高さに基づいて、前記3次元マップから2次元マップを生成する際の高さを決定する請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記第1の情報は、前記運搬物が前記移動体から幅方向にはみ出した大きさを示す情報であることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記運搬物を撮像した第1の画像は、前記移動体に搭載された撮像装置によって撮像された画像であること特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記運搬物を撮像した第1の画像は、前記移動体と前記運搬物とを観測可能な位置に設置された撮像装置によって撮像された画像であることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  9. 前記第2の画像は、前記移動体に搭載された撮像装置によって撮像された画像であること特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記環境において前記物体の位置を示す3次元マップを保持する保持手段を更に有し、
    前記決定手段は、前記3次元マップに基づいて前記物体が存在しない経路を走行するように前記制御値を決定することを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記取得手段は、前記運搬物を撮像した第1の画像に基づいて前記運搬物の種類を示す情報を取得し、
    前記決定手段は、前記運搬物の種類を示す情報に基づいて、前記移動体の位置を制御する制御値を決定することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
  12. 前記取得手段は、前記運搬物を撮像した第1の画像の変化に従って前記第1の情報を更新し、
    前記決定手段は、更新された第1の情報に基づいて、前記運搬物の形状が変化した場合には前記運搬物の形状に応じた前記制御値を決定することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 前記決定手段によって決定された前記制御値に基づいて、前記移動体の移動経路を示す表示情報を表示する表示手段を更に有することを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
  14. 運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置であって、
    前記運搬物の3次元形状を特定可能な第1の情報と、前記移動体が移動する環境を撮像した第2の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第2の情報と、前記移動体が移動する環境における物体の位置を示す3次元マップから前記運搬物の高さに基づいて生成した2次元マップと、を取得する取得手段と、
    前記第1の情報と前記第2の情報に基づいて、前記2次元マップにおける前記運搬物と前記物体とが衝突しない経路を走行する前記制御値を決定する決定手段と、を有する
    とを特徴とする情報処理装置。
  15. コンピュータを、請求項1乃至14のいずれか1項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
  16. 撮像装置と、運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理装置を有する情報処理システムであって、
    前記撮像装置は、前記移動体と前記運搬物とを観測可能な位置に設置されており、
    前記情報処理装置は、
    前記撮像装置によって前記運搬物を撮像した第1の画像に基づいて前記運搬物の3次元形状を特定可能な第1の情報を取得し、前記移動体が移動する環境を撮像した第2の画像に基づいて、前記環境における物体と前記移動体との距離を特定可能な第2の情報と、前記移動体が移動する環境における物体の位置を示す3次元マップから前記運搬物の高さに基づいて生成した2次元マップと、を取得する取得手段と、
    前記第1の情報と前記第2の情報に基づいて、前記2次元マップにおける前記運搬物と、前記物体とが所定の距離より近づくことを抑制する制御値を決定する決定手段とを有することを特徴とする情報処理システム。
  17. 運搬物を運搬する移動体の位置を制御する制御値を決定する情報処理方法であって、
    前記運搬物の3次元形状を特定可能な第1の情報と、前記移動体が移動する環境を撮像した第2の画像に基づいて前記環境における物体と前記移動体との距離を特定可能な第2の情報と、前記移動体が移動する環境における物体の位置を示す3次元マップから前記運搬物の高さに基づいて生成した2次元マップとを取得する取得工程と、
    前記第1の情報と前記第2の情報に基づいて、前記2次元マップにおける前記運搬物と、前記物体とが所定の距離より近づくことを抑制する前記制御値を決定する決定工程と、を有する
    とを特徴とする情報処理方法。
JP2019134500A 2018-08-30 2019-07-22 情報処理装置、情報処理方法、プログラムおよびシステム Active JP7479799B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/550,074 US11573574B2 (en) 2018-08-30 2019-08-23 Information processing apparatus, information processing method, information processing system, and storage medium
CN201910801597.2A CN110928291B (zh) 2018-08-30 2019-08-28 信息处理装置、信息处理方法、信息处理***和存储介质
DE102019123072.1A DE102019123072A1 (de) 2018-08-30 2019-08-28 Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren, Informationsverarbeitungssystem und Speichermedium
US18/153,787 US11989029B2 (en) 2018-08-30 2023-01-12 Information processing apparatus, information processing method, information processing system, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018161414 2018-08-30
JP2018161414 2018-08-30

Publications (3)

Publication Number Publication Date
JP2020038631A JP2020038631A (ja) 2020-03-12
JP2020038631A5 JP2020038631A5 (ja) 2022-07-28
JP7479799B2 true JP7479799B2 (ja) 2024-05-09

Family

ID=69738113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019134500A Active JP7479799B2 (ja) 2018-08-30 2019-07-22 情報処理装置、情報処理方法、プログラムおよびシステム

Country Status (2)

Country Link
JP (1) JP7479799B2 (ja)
CN (1) CN110928291B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7503927B2 (ja) 2020-03-30 2024-06-21 株式会社フジタ 建設作業管理システムおよび自動巡回移動体
CN111507973B (zh) * 2020-04-20 2024-04-12 上海商汤临港智能科技有限公司 目标检测方法及装置、电子设备和存储介质
CN113673276A (zh) * 2020-05-13 2021-11-19 广东博智林机器人有限公司 目标物体识别对接方法、装置、电子设备及存储介质
JP7347349B2 (ja) * 2020-07-07 2023-09-20 トヨタ自動車株式会社 情報処理装置、情報処理システム、及び情報処理方法
WO2022145081A1 (ja) * 2020-12-28 2022-07-07 パナソニックIpマネジメント株式会社 搬送システム、搬送方法、経路情報作成システムならびに経路情報作成方法
CN113496046B (zh) * 2021-01-18 2024-05-10 华翼(广东)电商科技有限公司 一种基于区块链的电商物流***及方法
WO2022190461A1 (ja) * 2021-03-09 2022-09-15 パナソニックIpマネジメント株式会社 荷物搬送システムおよび搬送体
WO2022202056A1 (ja) * 2021-03-22 2022-09-29 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US11893668B2 (en) 2021-03-31 2024-02-06 Leica Camera Ag Imaging system and method for generating a final digital image via applying a profile to image information
WO2024009673A1 (ja) * 2022-07-06 2024-01-11 株式会社デンソー 車両走行装置、車両走行プログラム
CN117313984A (zh) * 2023-08-31 2023-12-29 中国标准化研究院 一种粮情监测方法、装置与***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225704A (ja) 2007-03-09 2008-09-25 Omron Corp 作業評価装置、作業評価方法、および、制御プログラム
JP2010044530A (ja) 2008-08-11 2010-02-25 Hitachi Industrial Equipment Systems Co Ltd 搬送ロボットシステム
JP2012022467A (ja) 2010-07-13 2012-02-02 Murata Mach Ltd 自律移動体
JP2015068141A (ja) 2013-09-30 2015-04-13 株式会社小松製作所 運搬機械
WO2016103452A1 (ja) 2014-12-26 2016-06-30 株式会社日立製作所 搬送車及び搬送システム
JP2016218933A (ja) 2015-05-26 2016-12-22 株式会社日立産機システム 走行経路設定システム
JP2017097847A (ja) 2015-11-12 2017-06-01 株式会社東芝 搬送装置、搬送システム、および搬送方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519848A (ja) * 1991-07-17 1993-01-29 Toshiba Corp 無人搬送車
JP3252992B2 (ja) * 1994-05-20 2002-02-04 株式会社安川電機 コンテナの自動運転制御方法
EP1215611A4 (en) * 2000-02-14 2003-01-29 Canon Kk METHOD FOR COLLECTING USING AN INFORMATION PROCESSOR AND ORDERING PROCEDURE OR SALES PROCEDURE
CN102332138A (zh) * 2011-11-01 2012-01-25 安徽省一一通信息科技有限公司 包含有不规则货物分拣***的电子商务物流***
CN102582599A (zh) * 2012-03-07 2012-07-18 浙江吉利汽车研究院有限公司 车辆制动控制***以及车辆紧急制动避让方法
US9358975B1 (en) * 2015-04-10 2016-06-07 Google Inc. Virtual moving safety limits for vehicles transporting objects
US10025314B2 (en) * 2016-01-27 2018-07-17 Hand Held Products, Inc. Vehicle positioning and object avoidance
CN106156752B (zh) * 2016-07-25 2019-05-14 长安大学 一种基于逆投影三视图的车型识别方法
CN107169468A (zh) * 2017-05-31 2017-09-15 北京京东尚科信息技术有限公司 用于控制车辆的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008225704A (ja) 2007-03-09 2008-09-25 Omron Corp 作業評価装置、作業評価方法、および、制御プログラム
JP2010044530A (ja) 2008-08-11 2010-02-25 Hitachi Industrial Equipment Systems Co Ltd 搬送ロボットシステム
JP2012022467A (ja) 2010-07-13 2012-02-02 Murata Mach Ltd 自律移動体
JP2015068141A (ja) 2013-09-30 2015-04-13 株式会社小松製作所 運搬機械
WO2016103452A1 (ja) 2014-12-26 2016-06-30 株式会社日立製作所 搬送車及び搬送システム
JP2016218933A (ja) 2015-05-26 2016-12-22 株式会社日立産機システム 走行経路設定システム
JP2017097847A (ja) 2015-11-12 2017-06-01 株式会社東芝 搬送装置、搬送システム、および搬送方法

Also Published As

Publication number Publication date
JP2020038631A (ja) 2020-03-12
CN110928291B (zh) 2023-10-13
CN110928291A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
JP7479799B2 (ja) 情報処理装置、情報処理方法、プログラムおよびシステム
US11989029B2 (en) Information processing apparatus, information processing method, information processing system, and storage medium
JP7341652B2 (ja) 情報処理装置、情報処理方法、プログラム、およびシステム
US20240087738A1 (en) Interfacing with a mobile telepresence robot
CN108290294B (zh) 移动机器人及其控制方法
Florence et al. Nanomap: Fast, uncertainty-aware proximity queries with lazy search over local 3d data
KR20240063820A (ko) 청소 로봇 및 그의 태스크 수행 방법
Campos‐Macías et al. Autonomous navigation of MAVs in unknown cluttered environments
US20210072770A1 (en) Multi-sensor-based unmanned aerial vehicle and method for controlling same
US11951629B2 (en) Systems, apparatuses, and methods for cost evaluation and motion planning for robotic devices
US11529736B2 (en) Systems, apparatuses, and methods for detecting escalators
US11931900B2 (en) Method of predicting occupancy of unseen areas for path planning, associated device, and network training method
CN112631269B (zh) 自主移动机器人及自主移动机器人的控制程序
WO2022115215A1 (en) Systems and methods for monocular based object detection
Kenk et al. Human-aware Robot Navigation in Logistics Warehouses.
Behrje et al. An autonomous forklift with 3d time-of-flight camera-based localization and navigation
KR102249485B1 (ko) 로봇 자율주행 시스템 및 방법
JP2021099383A (ja) 情報処理装置、情報処理方法およびプログラム
JP2021099384A (ja) 情報処理装置、情報処理方法およびプログラム
WO2023219058A1 (ja) 情報処理方法、情報処理装置及び情報処理システム
TWI827056B (zh) 自動移動載具及其控制方法
US20230350420A1 (en) Systems and methods for precisely estimating a robotic footprint for execution of near-collision motions
EP4024155B1 (en) Method, system and computer program product of control of unmanned aerial vehicles
EP4369134A1 (en) Method and system for autonomous driving of a swap body transporter, and swap body transporter
WO2023127337A1 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230425

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240307

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: 20240326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240424

R150 Certificate of patent or registration of utility model

Ref document number: 7479799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150