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

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

▶ 日本電産シンポ株式会社の特許一覧

特許7168211障害物の回避動作を行う移動体およびそのコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-31
(45)【発行日】2022-11-09
(54)【発明の名称】障害物の回避動作を行う移動体およびそのコンピュータプログラム
(51)【国際特許分類】
   G05D 1/02 20200101AFI20221101BHJP
【FI】
G05D1/02 J
【請求項の数】 14
(21)【出願番号】P 2018556702
(86)(22)【出願日】2017-12-12
(86)【国際出願番号】 JP2017044621
(87)【国際公開番号】W WO2018110568
(87)【国際公開日】2018-06-21
【審査請求日】2020-12-11
(31)【優先権主張番号】62/432,750
(32)【優先日】2016-12-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000107147
【氏名又は名称】日本電産シンポ株式会社
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100138689
【弁理士】
【氏名又は名称】梶原 慶
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100188813
【弁理士】
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100202197
【弁理士】
【氏名又は名称】村瀬 成康
(72)【発明者】
【氏名】赤松 政弘
(72)【発明者】
【氏名】佐藤 俊太
(72)【発明者】
【氏名】阪井 健
(72)【発明者】
【氏名】大野 良治
【審査官】大古 健一
(56)【参考文献】
【文献】特開2012-22467(JP,A)
【文献】特開平7-281748(JP,A)
【文献】特開2013-257743(JP,A)
【文献】特開2000-276232(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/12
(57)【特許請求の範囲】
【請求項1】
自律的に移動することが可能な移動体であって、
複数の駆動輪と、
前記複数の駆動輪にそれぞれ接続された複数のモータと、
障害物を検出する障害物センサと、
環境を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータに基づき、前記移動体の位置および姿勢の推定値を示す位置情報を順次生成して出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記複数のモータを回転させ、前記移動体の移動を制御する制御回路と、
第1方向に関する第1経路、および、前記第1方向とは異なる第2方向に関する第2経路の組み合わせである基準迂回経路を規定する迂回経路データ、および前記環境の地図データを記憶する記憶装置と
を備え、
前記移動体が前記地図データが示す環境において予め設定された移動経路に沿って移動している間に、前記障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、
前記制御回路は、前記迂回経路データを利用して、前記予め設定された移動経路上の前記第1位置から第2位置までの迂回経路を設定し、前記迂回経路に沿って前記移動体を移動させ、
前記迂回経路データは、前記地図データとは別のデータである、移動体。
【請求項2】
前記第1方向および前記第2方向は互いに直交しており、
前記迂回経路は、前記移動体を順に、
前記第1方向に平行で、かつ、前記予め設定された移動経路から離れる方向に移動させ、
前記第2方向に平行に移動させ、
前記第1方向に平行で、かつ、前記予め設定された移動経路に近付く方向に移動させる経路である、請求項1に記載の移動体。
【請求項3】
前記第1経路は第1所定距離を有し、
前記第2経路は第2所定距離を有し、
前記迂回経路を第1迂回経路と呼ぶときにおいて、
前記移動体が前記第1迂回経路を前記第1所定距離だけ移動して第3位置に到達した後、前記障害物センサの出力により、前記第2方向の進行方向に障害物が存在することが検出されたとき、前記制御回路は、前記迂回経路データを利用して、前記第1迂回経路上の前記第3位置から第4位置までの第2迂回経路を設定し、前記第2迂回経路に沿って前記移動体を移動させる、請求項2に記載の移動体。
【請求項4】
前記第1経路は第1所定距離を有し、
前記第2経路は第2所定距離を有し、
前記迂回経路を第1迂回経路と呼ぶときにおいて、
前記移動体が前記第1迂回経路を前記第1所定距離だけ移動して第3位置に到達し、さらに、前記第2方向に平行な方向に沿って移動している間の第4位置において、前記障害物センサの出力により、前記進行方向に障害物が存在することが検出されたとき、前記制御回路は、前記第1迂回経路上の前記第4位置から第5位置までの第2迂回経路を設定し、前記第2迂回経路に沿って前記移動体を移動させ、
前記第2迂回経路は、前記移動体を前記第4位置から順に、
前記第1方向に平行で、かつ、前記予め設定された移動経路から離れる方向に前記第1所定距離だけ移動させ、
前記第2方向に平行で、かつ、前記第2所定距離よりも短い距離だけ移動させ、
前記第1方向に平行で、かつ、前記予め設定された移動経路に近付く方向に前記第1所定距離だけ移動させる経路である、請求項2に記載の移動体。
【請求項5】
前記進行方向が前記第2方向に平行な方向であり、かつ、前記障害物センサの出力により、前記進行方向に障害物が存在することが検出されたとき、
前記制御回路は、前記障害物が検出された位置から、前記第1方向に平行で、かつ、前記予め設定された移動経路から離れる方向に前記移動体を移動させる新たな迂回経路を設定する、請求項2に記載の移動体。
【請求項6】
前記進行方向が前記第2方向に平行な方向であり、かつ、前記移動体が前記第2所定距離以上走行したときは、前記制御回路は、前記第1方向に平行で、かつ、前記予め設定された移動経路に近付く方向に移動させる経路を設定する、請求項2から5のいずれかに記載の移動体。
【請求項7】
前記記憶装置は、前記第1方向に関する第1最大許容距離を示す第1距離データ、および、前記第2方向に関する第2最大許容距離を示す第2距離データを保持しており、
前記制御回路は、前記第1距離データおよび前記第2距離データを参照して、前記予め設定された移動経路からの前記第1方向の距離が前記第1最大許容距離以内に入り、かつ、前記第2方向に関する移動距離が前記第2最大許容距離以内に入る経路を、前記迂回経路として設定する、請求項2から5のいずれかに記載の移動体。
【請求項8】
前記予め設定された移動経路からの前記第1方向に関する距離が前記第1最大許容距離を超える場合、前記第2方向に関する移動距離が前記第2最大許容距離以内を超える場合、または、前記予め設定された移動経路に近付く方向および前記第2方向の両方に1または複数の障害物が存在する場合には、前記制御回路は、前記移動体を停止させる、請求項7に記載の移動体。
【請求項9】
自律的に移動することが可能な移動体の動作を制御するためのコンピュータプログラムであって、
前記移動体は、
複数の駆動輪と、
前記複数の駆動輪にそれぞれ接続された複数のモータと、
障害物を検出する障害物センサと、
環境を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータに基づき、前記移動体の位置および姿勢の推定値を示す位置情報を順次生成して出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記複数のモータを回転させ、前記移動体の移動を制御するコンピュータである制御回路と、
第1方向に関する第1経路、および、前記第1方向とは異なる第2方向に関する第2経路の組み合わせである基準迂回経路を規定する迂回経路データ、および地図データを記憶する記憶装置と
を備え、
前記移動体が前記地図データが示す環境において予め設定された移動経路に沿って移動している間に、前記障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、
前記コンピュータプログラムは前記制御回路に、
前記迂回経路データを利用して、前記予め設定された移動経路上の前記第1位置から第2位置までの迂回経路を設定させ、
前記迂回経路に沿って前記移動体を移動させ、
前記迂回経路データは、前記地図データとは別のデータである、
前記コンピュータプログラム。
【請求項10】
自律的に移動することが可能な移動体であって、
複数の駆動輪と、
前記複数の駆動輪にそれぞれ接続された複数のモータと、
障害物を検出する障害物センサと、
環境を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータに基づき、前記移動体の位置および姿勢の推定値を示す位置情報を順次生成して出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記複数のモータを回転させ、前記移動体の移動を制御する制御回路と
を備え、
予め設定された移動経路に沿った移動中に、前記障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、前記制御回路は、前記第1位置からの迂回経路を設定して前記移動体を移動させ、
前記迂回経路に沿った移動中に、前記障害物センサの出力により、第2位置において進行方向にさらに障害物が存在することが検出されたとき、前記制御回路は、前記移動体を前記第2位置から、再度、前記第1位置に移動させる、移動体。
【請求項11】
前記第2位置には、前記第2位置において検出された前記障害物を回避することが可能な複数の迂回経路が存在しており、
前記制御回路は、前記複数の迂回経路のうち、前記第2位置から、再度、前記第1位置に移動させる経路を迂回経路として選択する、請求項10に記載の移動体。
【請求項12】
前記第2位置から、再度、前記第1位置に移動した後、前記障害物センサが前記進行方向に障害物を検出しないときは、前記制御回路は前記移動体を、再度、前記予め設定された移動経路に沿って移動させる、請求項11に記載の移動体。
【請求項13】
前記第2位置から、再度、前記第1位置に移動した後、前記障害物センサが前記進行方向に障害物を検出したときは、前記制御回路は、前記障害物が除去されるまで前記移動体を待機させ、障害物が除去されたときは、前記制御回路は前記移動体を、再度、前記予め設定された移動経路に沿って移動させる、請求項11に記載の移動体。
【請求項14】
自律的に移動することが可能な移動体の動作を制御するためのコンピュータプログラムであって、
前記移動体は、
複数の駆動輪と、
前記複数の駆動輪にそれぞれ接続された複数のモータと、
障害物を検出する障害物センサと、
環境を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、
前記センサデータに基づき、前記移動体の位置および姿勢の推定値を示す位置情報を順次生成して出力する位置推定装置と、
前記位置推定装置から出力された前記位置情報を参照しながら前記複数のモータを回転させ、前記移動体の移動を制御する制御回路と
を備え、
予め設定された移動経路に沿った移動中に、前記障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、
前記コンピュータプログラムは前記制御回路に、
前記第1位置からの迂回経路を設定して前記移動体を移動させ、
前記迂回経路に沿った移動中に、前記障害物センサの出力により、第2位置において進行方向にさらに障害物が存在することが検出されたとき、前記移動体を前記第2位置から、再度、前記第1位置に移動させる、
前記コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、障害物の回避動作を行う移動体に関する。
【背景技術】
【0002】
無人搬送車または移動ロボットなどの移動体の研究および開発が進められている。たとえば特開2009-223634号公報、特開2009-205652号公報、および特開2005-242489号公報は、複数の自律移動体が互いに衝突しないように各移動体の移動を制御するシステムを開示している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-223634号公報
【文献】特開2009-205652号公報
【文献】特開2005-242489号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の、限定的ではない例示的なある実施形態は、移動経路上に障害物が存在した場合に移動体が障害物を円滑に回避する技術を提供する。
【課題を解決するための手段】
【0005】
本開示の例示的な実施形態にかかる移動体は、自律的に移動することが可能な移動体であって、複数の駆動輪と、前記複数の駆動輪にそれぞれ接続された複数のモータと、障害物を検出する障害物センサと、環境を繰り返しスキャンしてスキャンごとにセンサデータを出力する外界センサと、前記センサデータに基づき、前記移動体の位置および姿勢の推定値を示す位置情報を順次生成して出力する位置推定装置と、前記位置推定装置から出力された前記位置情報を参照しながら前記複数のモータを回転させ、前記移動体の移動を制御する制御回路と、第1方向に関する第1経路、および、前記第1方向とは異なる第2方向に関する第2経路の組み合わせである基準迂回経路を規定する迂回経路データを記憶する記憶装置とを備え、前記移動体が予め設定された移動経路に沿って移動している間に、前記障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、前記制御回路は、前記迂回経路データを利用して、前記予め設定された移動経路上の前記第1位置から第2位置までの迂回経路を設定し、前記迂回経路に沿って前記移動体を移動させる。
【発明の効果】
【0006】
本開示の実施形態によれば、移動体が予め設定された移動経路に沿って移動している間に、障害物センサの出力により、第1位置において進行方向に障害物が存在することが検出されたとき、制御回路は、迂回経路データを利用して、予め設定された移動経路上の第1位置から第2位置までの迂回経路を設定し、迂回経路に沿って移動体を移動させる。迂回経路は、第1方向に関する第1経路、および、第1方向とは異なる第2方向に関する第2経路の組み合わせである基準迂回経路によって規定される。これにより、迂回経路の設定が容易化される。
【図面の簡単な説明】
【0007】
図1A図1Aは、AGVの通常走行時の移動経路を示す図である。
図1B図1Bは、AGVが障害物を検出した際の停止動作を示す図である。
図1C図1Cは、AGVの障害物回避動作を示す図である。
図1D図1Dは、基準迂回経路を説明するための図である。
図2図2は、AGVが存在する移動空間Sの一例を示す図である。
図3図3は、接続される前のAGVおよび牽引台車を示す図である。
図4A図4Aは、接続される前のAGVおよび牽引台車を示す図である。
図4B図4Bは、接続されたAGVおよび牽引台車を示す図である。
図5図5は、本実施形態にかかる例示的なAGVの外観図である。
図6A図6Aは、AGVの第1のハードウェア構成例を示す図である。
図6B図6Bは、AGVの第2のハードウェア構成例を示す図である。
図7A図7Aは、移動しながら地図を生成するAGVを示す図である。
図7B図7Bは、移動しながら地図を生成するAGVを示す図である。
図7C図7Cは、移動しながら地図を生成するAGVを示す図である。
図7D図7Dは、移動しながら地図を生成するAGVを示す図である。
図7E図7Eは、移動しながら地図を生成するAGVを示す図である。
図7F図7Fは、完成した地図の一部を模式的に示す図である。
図8図8は、複数の部分地図によって1つのフロアの地図が構成される例を示す図である。
図9図9は、運行管理装置のハードウェア構成例を示す図である。
図10図10は、運行管理装置によって決定されたAGVの移動経路の一例を模式的に示す図である。
図11A図11Aは、走行経路R上に障害物70が存在する場合の迂回経路Bの例を示す図である。
図11B図11Bは、移動体10が行う障害物検出動作および迂回動作に関する図面上の表記を説明するための図である。
図12図12は、障害物70aが複数存在する場合の迂回経路の例を示す図である。
図13図13は、障害物70aが複数存在する場合の迂回経路の例を示す図である。
図14図14は、障害物70aが複数存在する場合の迂回経路の例を示す図である。
図15図15は、当初の移動経路Rへの復帰することができない3つの例を示す図である。
図16図16は、当初の移動経路Rへの復帰することができない3つの例を示す図である。
図17図17は、当初の移動経路Rへの復帰することができない3つの例を示す図である。
図18A図18Aは、例示的な実施形態によるマイコン14aの処理の手順を示すフローチャートである。
図18B図18Bは、例示的な実施形態によるマイコン14aの処理の手順を示すフローチャートである。
図19A図19Aは、他の例による移動体10の動作例を説明するための図である。
図19B図19Bは、他の例による移動体10の動作例を説明するための図である。
図19C図19Cは、他の例による移動体10の動作例を説明するための図である。
図19D図19Dは、他の例による移動体10の動作例を説明するための図である。
図19E図19Eは、他の例による移動体10の動作例を説明するための図である。
図20図20は、例示的な他の実施形態によるマイコン14aの処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0008】
<用語>
「無人搬送車」(AGV)とは、本体に人手または自動で荷物を積み込み、指示された場所まで自動走行し、人手または自動で荷卸しをする無軌道車両を意味する。「無人搬送車」は、無人牽引車および無人フォークリフトを含む。
【0009】
「無人」の用語は、車両の操舵に人を必要としないことを意味しており、無人搬送車が「人(たとえば荷物の積み下ろしを行う者)」を搬送することは除外しない。
【0010】
「無人牽引車」とは、人手または自動で荷物の積み込み荷卸しをする台車を牽引して、指示された場所まで自動走行する無軌道車両である。
【0011】
「無人フォークリフト」とは、荷物移載用のフォークなどを上下させるマストを備え、フォークなどに荷物を自動移載し指示された場所まで自動走行し、自動荷役作業をする無軌道車両である。
【0012】
「無軌道車両」とは、車輪と、車輪を回転させる電気モータまたはエンジンを備える移動体(vehicle)である。
【0013】
「移動体」とは、人または荷物を載せて移動する装置であり、移動のための駆動力(traction)を発生させる車輪、二足または多足歩行装置、プロペラなどの駆動装置を備える。本開示における「移動体」の用語は、狭義の無人搬送車のみならず、モバイルロボット、サービスロボット、およびドローンを含む。
【0014】
「自動走行」は、無人搬送車が通信によって接続されるコンピュータの運行管理システムの指令に基づく走行と、無人搬送車が備える制御装置による自律的走行とを含む。自律的走行には、無人搬送車が所定の経路に沿って目的地に向かう走行のみならず、追尾目標に追従する走行も含まれる。また、無人搬送車は、一時的に作業者の指示に基づくマニュアル走行を行ってもよい。「自動走行」は、一般には「ガイド式」の走行および「ガイドレス式」の走行の両方を含むが、本開示では「ガイドレス式」の走行を意味する。
【0015】
「ガイド式」とは、誘導体を連続的または断続的に設置し、誘導体を利用して無人搬送車を誘導する方式である。
【0016】
「ガイドレス式」とは、誘導体を設置せずに誘導する方式である。本開示の実施形態における無人搬送車は、自己位置推定装置を備え、ガイドレス式で走行することができる。
【0017】
「自己位置推定装置」は、レーザレンジファインダなどの外界センサによって取得されたセンサデータに基づいて環境地図上における自己位置を推定する装置である。
【0018】
「外界センサ」は、移動体の外部の状態をセンシングするセンサである。外界センサには、たとえば、レーザレンジファインダ(測域センサともいう)、カメラ(またはイメージセンサ)、LIDAR(Light Detection and Ranging)、ミリ波レーダ、超音波センサ、および磁気センサがある。
【0019】
「内界センサ」は、移動体の内部の状態をセンシングするセンサである。内界センサには、たとえばロータリエンコーダ(以下、単に「エンコーダ」と称することがある)、加速度センサ、および角加速度センサ(たとえばジャイロセンサ)がある。
【0020】
「SLAM(スラム)」とは、Simultaneous Localization and Mappingの略語であり、自己位置推定と環境地図作成を同時に行うことを意味する。
【0021】
<例示的な実施形態>
以下、添付の図面を参照しながら、本開示による地図作成装置および地図作成システムの一例を説明する。なお、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。本発明者らは、当業者が本開示を十分に理解するために添付図面および以下の説明を提供する。これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0022】
図1A図1Cは、本開示の例示的な実施形態による移動体10の基本的な動作例を示している。図1A図1Cには、始点Sおよび終点Gとの間を結ぶ移動経路Rが示されている。本明細書では、移動体の一例として「無人搬送車」(AGV)を例示する。この場合、移動経路を「走行経路」とも呼ぶことがある。図示された例では走行経路Rは直線である。後述のように、移動体10は、少なくとも移動体10の進行方向の障害物を検出する障害物センサを有している。
【0023】
図1Aは、走行経路Rに沿って走行する移動体10を示している。
【0024】
図1Bは、障害物センサによって走行経路R上に障害物70が存在した場合に、走行を停止する移動体10を示している。移動体10は、障害物70が除去されると走行を再開する。
【0025】
図1Cは、障害物センサによって走行経路R上に障害物70が存在した場合に、障害物70を回避する迂回経路を設定して走行する移動体10を示している。図1Cには、障害物70の回避方向が進行方向を基準にして走行経路Rの右側である迂回経路Brightおよび左側である迂回経路Bleftが示されている。回避方向を右側または左側のいずれにするかは予め移動体10に設定することができる。
【0026】
本開示では、迂回経路Bは「基準迂回経路」を用いて設定される。
【0027】
図1Dは、典型的な基準迂回経路の例を示している。「基準迂回経路」とは、少なくとも2つの方向の経路の組み合わせによって規定される経路である。すなわち基準迂回経路は、第1方向に関する第1経路、および、第1方向とは異なる第2方向に関する第2経路の組み合わせによって規定される経路である。図1Cの例では、第1方向は経路Rに垂直な方向(紙面の上下方向)であり、第2方向は走行経路Rに平行な方向である。
【0028】
障害物70の回避のために迂回経路を設定する際、移動体10は、例えば第1経路を1単位として第1方向に移動し、第2経路を1単位として第2方向に移動する。
【0029】
図1Dに示すように、好ましい実施形態では基準迂回経路の第1方向および第2方向は互いに直交するが、直交しなくてもよい。直交しない場合には、第1方向および第2方向とは異なる、さらなる1または複数の方向に関する経路を有していてもよい。したがって図1Dに示される例は、迂回路はコの字形状であるが、例えば6角形を、その中心を通る直線で二分したときの周を経路とする形状であってもよい。
【0030】
また図1Dの例では、第1経路の距離および第2経路の距離はいずれも固定値であり等しい。ただし両者は同じ値である必要はない。後に説明する実施形態では、第2経路については第2経路の距離は固定値ではない例を挙げる。
【0031】
説明の便宜上、本明細書では右側に迂回する例を説明するが、当業者であれば左側についても右側と全く同様に迂回路を設定できることが明らかである。以下の説明では、迂回経路の参照符号Brightは、右側であることを示す添え字"right"の記載は省略する。
【0032】
以下、移動体が無人搬送車である場合のより具体的な例を説明する。本明細書では、略語を用いて、無人搬送車を「AGV」と記述することがある。なお、以下の説明は、矛盾がない限り、AGV以外の移動体、例えば移動ロボット、ドローン、または有人の車両などにも同様に適用することができる。
【0033】
(1)システムの基本構成
図2は、本開示による例示的な移動体管理システム100の基本構成例を示している。移動体管理システム100は、少なくとも1台のAGV10と、AGV10の運行管理を行う運行管理装置50とを含む。図2には、ユーザ1によって操作される端末装置20も記載されている。
【0034】
AGV10は、走行に磁気テープなどの誘導体が不要な「ガイドレス式」走行が可能な無人搬送台車である。AGV10は、自己位置推定を行い、推定の結果を端末装置20および運行管理装置50に送信することができる。AGV10は、運行管理装置50からの指令に従って移動空間S内を自動走行することが可能である。AGV10は、さらに、人または他の移動体に追従して移動する「追尾モード」で動作することも可能である。
【0035】
運行管理装置50は各AGV10の位置をトラッキングし、各AGV10の走行を管理するコンピュータシステムである。運行管理装置50は、デスクトップ型PC、ノート型PC、および/または、サーバコンピュータであり得る。運行管理装置50は、複数のアクセスポイント2を介して、各AGV10と通信する。たとえば、運行管理装置50は、各AGV10が次に向かうべき位置の座標のデータを各AGV10に送信する。各AGV10は、定期的に、たとえば100ミリ秒ごとに自身の位置および姿勢(orientation)を示すデータを運行管理装置50に送信する。指示した位置にAGV10が到達すると、運行管理装置50は、さらに次に向かうべき位置の座標のデータを送信する。AGV10は、端末装置20に入力されたユーザ1の操作に応じて移動空間S内を走行することも可能である。端末装置20の一例はタブレットコンピュータである。典型的には、端末装置20を利用したAGV10の走行は地図作成時に行われ、運行管理装置50を利用したAGV10の走行は地図作成後に行われる。
【0036】
図3は、3台のAGV10a、10bおよび10cが存在する移動空間Sの一例を示している。いずれのAGVも図中の奥行き方向に走行しているとする。AGV10aおよび10bは天板に載置された荷物を搬送中である。AGV10cは、前方のAGV10bに追従して走行している。なお、説明の便宜のため、図3では参照符号10a、10bおよび10cを付したが、以下では、「AGV10」と記述する。
【0037】
AGV10は、天板に載置された荷物を搬送する方法以外に、自身と接続された牽引台車を利用して荷物を搬送することも可能である。図4Aは接続される前のAGV10および牽引台車5を示している。牽引台車5の各足にはキャスターが設けられている。AGV10は牽引台車5と機械的に接続される。図4Bは、接続されたAGV10および牽引台車5を示している。AGV10が走行すると、牽引台車5はAGV10に牽引される。牽引台車5を牽引することにより、AGV10は、牽引台車5に載置された荷物を搬送できる。
【0038】
AGV10と牽引台車5との接続方法は任意である。ここでは一例を説明する。AGV10の天板にはプレート6が固定されている。牽引台車5には、スリットを有するガイド7が設けられている。AGV10は牽引台車5に接近し、プレート6をガイド7のスリットに差し込む。差し込みが完了すると、AGV10は、図示されない電磁ロック式ピンをプレート6およびガイド7に貫通させ、電磁ロックをかける。これにより、AGV10と牽引台車5とが物理的に接続される。
【0039】
再び図2を参照する。各AGV10と端末装置20とは、たとえば1対1で接続されてBluetooth(登録商標)規格に準拠した通信を行うことができる。各AGV10と端末装置20とは、1または複数のアクセスポイント2を利用してWi-Fi(登録商標)に準拠した通信を行うこともできる。複数のアクセスポイント2は、たとえばスイッチングハブ3を介して互いに接続されている。図2には2台のアクセスポイント2a、2bが記載されている。AGV10はアクセスポイント2aと無線で接続されている。端末装置20はアクセスポイント2bと無線で接続されている。AGV10が送信したデータはアクセスポイント2aで受信され、スイッチングハブ3を介してアクセスポイント2bに転送され、アクセスポイント2bから端末装置20に送信される。また、端末装置20が送信したデータは、アクセスポイント2bで受信され、スイッチングハブ3を介してアクセスポイント2aに転送され、アクセスポイント2aからAGV10に送信される。これにより、AGV10および端末装置20の間の双方向通信が実現される。複数のアクセスポイント2はスイッチングハブ3を介して運行管理装置50とも接続されている。これにより、運行管理装置50と各AGV10との間でも双方向通信が実現される。
【0040】
(2)環境地図の作成
自己位置を推定しながらAGV10が走行できるようにするため、移動空間S内の地図が作成される。AGV10には位置推定装置およびレーザレンジファインダが搭載されており、レーザレンジファインダの出力を利用して地図を作成できる。
【0041】
AGV10は、ユーザの操作によってデータ取得モードに遷移する。データ取得モードにおいて、AGV10はレーザレンジファインダを用いたセンサデータの取得を開始する。レーザレンジファインダは周期的にたとえば赤外線または可視光のレーザビームを周囲に放射して周囲の空間Sをスキャンする。レーザビームは、たとえば、壁、柱等の構造物、床の上に置かれた物体等の表面で反射される。レーザレンジファインダは、レーザビームの反射光を受けて各反射点までの距離を計算し、各反射点の位置が示された測定結果のデータを出力する。各反射点の位置には、反射光の到来方向および距離が反映されている。1回のスキャンによって得られた測定結果のデータは「計測データ」または「センサデータ」と呼ばれることがある。
【0042】
位置推定装置は、センサデータを記憶装置に蓄積する。移動空間S内のセンサデータの取得が完了すると、記憶装置に蓄積されたセンサデータが外部装置に送信される。外部装置は、たとえば信号処理プロセッサを有し、かつ、地図作成プログラムがインストールされたコンピュータである。
【0043】
外部装置の信号処理プロセッサは、スキャンごとに得られたセンサデータ同士を重ね合わせる。信号処理プロセッサが重ね合わせる処理を繰り返し行うことにより、空間Sの地図を作成することができる。外部装置は、作成した地図のデータをAGV10に送信する。AGV10は、作成した地図のデータを内部の記憶装置に保存する。外部装置は、運行管理装置50であってもよいし、他の装置であってもよい。
【0044】
外部装置ではなくAGV10が地図の作成を行ってもよい。上述した外部装置の信号処理プロセッサが行った処理を、AGV10のマイクロコントローラユニット(マイコン)などの回路が行えばよい。AGV10内で地図を作成する場合には、蓄積されたセンサデータを外部装置に送信する必要が無くなる。センサデータのデータ容量は一般には大きいと考えられる。センサデータを外部装置に送信する必要がないため、通信回線の占有を回避できる。
【0045】
なお、センサデータを取得するための移動空間S内の移動は、ユーザの操作に従ってAGV10が走行することによって実現し得る。たとえば、AGV10は、端末装置20を介して無線でユーザから前後左右の各方向への移動を指示する走行指令を受け取る。AGV10は走行指令にしたがって移動空間S内を前後左右に走行し、地図を作成する。AGV10がジョイスティック等の操縦装置と有線で接続されている場合には、当該操縦装置からの制御信号にしたがって移動空間S内を前後左右に走行し、地図を作成してもよい。レーザレンジファインダを搭載した計測台車を人が押し歩くことによってセンサデータを取得してもよい。
【0046】
なお、図2および図3には複数台のAGV10が示されているが、AGVは1台であってもよい。複数台のAGV10が存在する場合、ユーザ1は端末装置20を利用して、登録された複数のAGVのうちから一台のAGV10を選択して、移動空間Sの地図を作成させることができる。
【0047】
地図が作成されると、以後、各AGV10は当該地図を利用して自己位置を推定しながら自動走行することができる。自己位置を推定する処理の説明は後述する。
【0048】
(3)AGVの構成
図5は、本実施形態にかかる例示的なAGV10の外観図である。AGV10は、2つの駆動輪11aおよび11bと、4つのキャスター11c、11d、11eおよび11fと、フレーム12と、搬送テーブル13と、走行制御装置14と、レーザレンジファインダ15とを有する。2つの駆動輪11aおよび11bは、AGV10の右側および左側にそれぞれ設けられている。4つのキャスター11c、11d、11eおよび11fは、AGV10の4隅に配置されている。なお、AGV10は、2つの駆動輪11aおよび11bに接続される複数のモータも有するが、複数のモータは図5には示されていない。また、図5には、AGV10の右側に位置する1つの駆動輪11aおよび2つのキャスター11cおよび11eと、左後部に位置するキャスター11fとが示されているが、左側の駆動輪11bおよび左前部のキャスター11dはフレーム12の蔭に隠れているため明示されていない。4つのキャスター11c、11d、11eおよび11fは、自由に旋回することができる。以下の説明では、駆動輪11aおよび駆動輪11bを、それぞれ車輪11aおよび車輪11bとも称する。
【0049】
走行制御装置14は、AGV10の動作を制御する装置であり、主としてマイコン(後述)を含む集積回路、電子部品およびそれらが搭載された基板を含む。走行制御装置14は、上述した、端末装置20とのデータの送受信、および前処理演算を行う。
【0050】
レーザレンジファインダ15は、たとえば赤外線または可視光のレーザビーム15aを放射し、当該レーザビーム15aの反射光を検出することにより、反射点までの距離を測定する光学機器である。本実施形態では、AGV10のレーザレンジファインダ15は、たとえばAGV10の正面を基準として左右135度(合計270度)の範囲の空間に、0.25度ごとに方向を変化させながらパルス状のレーザビーム15aを放射し、各レーザビーム15aの反射光を検出する。これにより、0.25度ごと、合計1081ステップ分の角度で決まる方向における反射点までの距離のデータを得ることができる。なお、本実施形態では、レーザレンジファインダ15が行う周囲の空間のスキャンは実質的に床面に平行であり、平面的(二次元的)である。しかしながら、レーザレンジファインダ15は高さ方向のスキャンを行ってもよい。
【0051】
AGV10の位置および姿勢(向き)と、レーザレンジファインダ15のスキャン結果とにより、AGV10は、空間Sの地図を作成することができる。地図には、AGVの周囲の壁、柱等の構造物、床の上に載置された物体の配置が反映され得る。地図のデータは、AGV10内に設けられた記憶装置に格納される。
【0052】
一般に、移動体の位置および姿勢は、ポーズ(pose)と呼ばれる。二次元面内における移動体の位置および姿勢は、XY直交座標系における位置座標(x, y)と、X軸に対する角度θによって表現される。AGV10の位置および姿勢、すなわちポーズ(x, y, θ)を、以下、単に「位置」と呼ぶことがある。
【0053】
レーザビーム15aの放射位置から見た反射点の位置は、角度および距離によって決定される極座標を用いて表現され得る。本実施形態では、レーザレンジファインダ15は極座標で表現されたセンサデータを出力する。ただし、レーザレンジファインダ15は、極座標で表現された位置を直交座標に変換して出力してもよい。
【0054】
レーザレンジファインダの構造および動作原理は公知であるため、本明細書ではこれ以上の詳細な説明は省略する。レーザレンジファインダ15によって検出され得る物体の例は、人、荷物、棚、壁である。
【0055】
レーザレンジファインダ15は、周囲の空間をセンシングしてセンサデータを取得するための外界センサの一例である。そのような外界センサの他の例としては、イメージセンサおよび超音波センサが考えられる。
【0056】
走行制御装置14は、レーザレンジファインダ15の測定結果と、自身が保持する地図データとを比較して、自身の現在位置を推定することができる。なお、保持されている地図データは、他のAGV10が作成した地図データであってもよい。
【0057】
図6Aは、AGV10の第1のハードウェア構成例を示している。また図6Aは、走行制御装置14の具体的な構成も示している。
【0058】
AGV10は、走行制御装置14と、レーザレンジファインダ15と、2台のモータ16aおよび16bと、駆動装置17と、車輪11aおよび11bと、2つのロータリエンコーダ18aおよび18bとを備えている。
【0059】
走行制御装置14は、マイコン14aと、メモリ14bと、記憶装置14cと、通信回路14dと、位置推定装置14eと、障害物センサ14jとを有している。マイコン14a、メモリ14b、記憶装置14c、通信回路14dおよび位置推定装置14eは通信バス14fで接続されており、相互にデータを授受することが可能である。レーザレンジファインダ15もまた通信インタフェース(図示せず)を介して通信バス14fに接続されており、計測結果である計測データを、マイコン14a、位置推定装置14eおよび/またはメモリ14bに送信する。
【0060】
マイコン14aは、走行制御装置14を含むAGV10の全体を制御するための演算を行うプロセッサまたは制御回路(コンピュータ)である。典型的にはマイコン14aは半導体集積回路である。マイコン14aは、制御信号であるPWM(Pulse Width Modulation)信号を駆動装置17に送信して駆動装置17を制御し、モータに印加する電圧を調整させる。これによりモータ16aおよび16bの各々が所望の回転速度で回転する。
【0061】
左右のモータ16aおよび16bの駆動を制御する1つ以上の制御回路(たとえばマイコン)を、マイコン14aとは独立して設けてもよい。たとえば、モータ駆動装置17が、モータ16aおよび16bの駆動をそれぞれ制御する2つのマイコンを備えていてもよい。それらの2つのマイコンは、エンコーダ18aおよび18bから出力されたエンコーダ情報を用いた座標計算をそれぞれ行い、所与の初期位置からのAGV10の移動距離を推定してもよい。また、当該2つのマイコンは、エンコーダ情報を利用してモータ駆動回路17aおよび17bを制御してもよい。
【0062】
メモリ14bは、マイコン14aが実行するコンピュータプログラムを記憶する揮発性の記憶装置である。メモリ14bは、マイコン14aおよび位置推定装置14eが演算を行う際のワークメモリとしても利用され得る。
【0063】
記憶装置14cは、不揮発性の半導体メモリ装置である。ただし、記憶装置14cは、ハードディスクに代表される磁気記録媒体、または、光ディスクに代表される光学式記録媒体であってもよい。さらに、記憶装置14cは、いずれかの記録媒体にデータを書き込みおよび/または読み出すためのヘッド装置および当該ヘッド装置の制御装置を含んでもよい。
【0064】
記憶装置14cは、走行する空間Sの地図データM、1または複数の走行経路のデータ(走行経路データ)R、および、迂回経路データBdを記憶する。地図データMは、AGV10が地図作成モードで動作することによって作成され記憶装置14cに記憶される。走行経路データRは、地図データMが作成された後に外部から送信される。迂回経路データBdは、基準迂回経路を規定するために予め用意され記憶装置14cに記憶される。基準迂回経路は、第1方向に関する第1経路、および、前記第1方向とは異なる第2方向に関する第2経路の組み合わせとして定義され得る。本実施形態では、地図データM、走行経路データRおよび迂回経路データBdは同じ記憶装置14cに記憶されているが、異なる記憶装置に記憶されてもよい。
【0065】
走行経路データRの例を説明する。
【0066】
端末装置20がタブレットコンピュータである場合には、AGV10はタブレットコンピュータから走行経路を示す走行経路データRを受信する。このときの走行経路データRは、複数のマーカの位置を示すマーカデータを含む。「マーカ」は走行するAGV10の通過位置(経由点)を示す。走行経路データRは、走行開始位置を示す開始マーカおよび走行終了位置を示す終了マーカの位置情報を少なくとも含む。走行経路データRは、さらに、1以上の中間経由点のマーカの位置情報を含んでもよい。走行経路が1以上の中間経由点を含む場合には、開始マーカから、当該走行経由点を順に経由して終了マーカに至る経路が、走行経路として定義される。各マーカのデータは、そのマーカの座標データに加えて、次のマーカに移動するまでのAGV10の向き(角度)および走行速度のデータを含み得る。AGV10が各マーカの位置で一旦停止し、自己位置推定および端末装置20への通知などを行う場合には、各マーカのデータは、当該走行速度に達するまでの加速に要する加速時間、および/または、当該走行速度から次のマーカの位置で停止するまでの減速に要する減速時間のデータを含み得る。
【0067】
端末装置20ではなく運行管理装置50(たとえば、PCおよび/またはサーバコンピュータ)がAGV10の移動を制御してもよい。その場合には、運行管理装置50は、AGV10がマーカに到達する度に、次のマーカへの移動をAGV10に指示してもよい。たとえば、AGV10は、運行管理装置50から、次に向かうべき目的位置の座標データ、または、当該目的位置までの距離および進むべき角度のデータを、走行経路を示す走行経路データRとして受信する。
【0068】
AGV10は、作成された地図と走行中に取得されたレーザレンジファインダ15が出力したセンサデータとを利用して自己位置を推定しながら、記憶された走行経路に沿って走行することができる。
【0069】
通信回路14dは、たとえば、Bluetooth(登録商標)および/またはWi-Fi(登録商標)規格に準拠した無線通信を行う無線通信回路である。いずれの規格も、2.4GHz帯の周波数を利用した無線通信規格を含む。たとえばAGV10を走行させて地図を作成するモードでは、通信回路14dは、Bluetooth(登録商標)規格に準拠した無線通信を行い、1対1で端末装置20と通信する。
【0070】
位置推定装置14eは、地図の作成処理、および、走行時には自己位置の推定処理を行う。位置推定装置14eは、AGV10の位置および姿勢とレーザレンジファインダのスキャン結果とにより、移動空間Sの地図を作成する。走行時には、位置推定装置14eは、レーザレンジファインダ15からセンサデータを受け取り、また、記憶装置14cに記憶された地図データMを読み出す。レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)を、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を同定する。位置推定装置14eは、局所的地図データが地図データMに一致した程度を表す「信頼度」のデータを生成する。自己位置(x, y, θ)、および、信頼度の各データは、AGV10から端末装置20または運行管理装置50に送信され得る。端末装置20または運行管理装置50は、自己位置(x, y, θ)、および、信頼度の各データを受信して、内蔵または接続された表示装置に表示することができる。
【0071】
本実施形態では、マイコン14aと位置推定装置14eとは別個の構成要素であるとしているが、これは一例である。マイコン14aおよび位置推定装置14eの各動作を独立して行うことが可能な1つのチップ回路または半導体集積回路であってもよい。図6Aには、マイコン14aおよび位置推定装置14eを包括するチップ回路14gが示されている。以下では、マイコン14aおよび位置推定装置14eが別個独立に設けられている例を説明する。
【0072】
障害物センサ14jは、例えば赤外線を放射し、反射光を検出することによって障害物を検出する赤外線センサである。
【0073】
2台のモータ16aおよび16bは、それぞれ2つの車輪11aおよび11bに取り付けられ、各車輪を回転させる。つまり、2つの車輪11aおよび11bはそれぞれ駆動輪である。本明細書では、モータ16aおよびモータ16bは、それぞれAGV10の右輪および左輪を駆動するモータであるとして説明する。
【0074】
移動体10は、さらに、車輪11aおよび11bの回転位置または回転速度を測定するエンコーダユニット18をさらに備えている。エンコーダユニット18は、第1ロータリエンコーダ18aおよび第2ロータリエンコーダ18bを含む。第1ロータリエンコーダ18aは、モータ16aから車輪11aまでの動力伝達機構のいずれかの位置における回転を計測する。第2ロータリエンコーダ18bは、モータ16bから車輪11bまでの動力伝達機構のいずれかの位置における回転を計測する。エンコーダユニット18は、ロータリエンコーダ18aおよび18bによって取得された信号を、マイコン14aに送信する。マイコン14aは、位置推定装置14eから受信した信号だけでなく、エンコーダユニット18から受信した信号を利用して、移動体10の移動を制御してもよい。
【0075】
駆動装置17は、2台のモータ16aおよび16bの各々に印加される電圧を調整するためのモータ駆動回路17aおよび17bを有する。モータ駆動回路17aおよび17bの各々はいわゆるインバータ回路を含む。モータ駆動回路17aおよび17bは、マイコン14aまたはモータ駆動回路17a内のマイコンから送信されたPWM信号によって各モータに流れる電流をオンまたはオフし、それによりモータに印加される電圧を調整する。
【0076】
図6Bは、AGV10の第2のハードウェア構成例を示している。第2のハードウェア構成例は、レーザ測位システム14hを有する点、および、マイコン14aが各構成要素と1対1で接続されている点において、第1のハードウェア構成例(図6A)と相違する。
【0077】
レーザ測位システム14hは、位置推定装置14eおよびレーザレンジファインダ15を有する。位置推定装置14eおよびレーザレンジファインダ15は、たとえばイーサネット(登録商標)ケーブルで接続されている。位置推定装置14eおよびレーザレンジファインダ15の各動作は上述した通りである。レーザ測位システム14hは、AGV10のポーズ(x, y, θ)を示す情報をマイコン14aに出力する。
【0078】
マイコン14aは、種々の汎用I/Oインタフェースまたは汎用入出力ポート(図示せず)を有している。マイコン14aは、通信回路14d、レーザ測位システム14h等の、走行制御装置14内の他の構成要素と、当該汎用入出力ポートを介して直接接続されている。
【0079】
図6Bに関して上述した構成以外は、図6Aの構成と共通である。よって共通の構成の説明は省略する。
【0080】
本開示の実施形態におけるAGV10は、図示されていないバンパースイッチなどのセーフティセンサを備えていてもよい。AGV10は、ジャイロセンサなどの慣性計測装置を備えていてもよい。ロータリエンコーダ18aおよび18bまたは慣性計測装置などの内界センサによる測定データを利用すれば、AGV10の移動距離および姿勢の変化量(角度)を推定することができる。これらの距離および角度の推定値は、オドメトリデータと呼ばれ、位置推定装置14eによって得られる位置および姿勢の情報を補助する機能を発揮し得る。
【0081】
(4)地図データ
図7A図7Fは、センサデータを取得しながら移動するAGV10を模式的に示す。ユーザ1は、端末装置20を操作しながらマニュアルでAGV10を移動させてもよい。あるいは、図6Aおよび6Bに示される走行制御装置14を備えるユニット、または、AGV10そのものを台車に載置し、台車をユーザ1が手で押す、または牽くことによってセンサデータを取得してもよい。
【0082】
図7Aには、レーザレンジファインダ15を用いて周囲の空間をスキャンするAGV10が示されている。所定のステップ角毎にレーザビームが放射され、スキャンが行われる。なお、図示されたスキャン範囲は模式的に示した例であり、上述した合計270度のスキャン範囲とは異なっている。
【0083】
図7A図7Fの各々では、レーザビームの反射点の位置が、記号「・」で表される複数の黒点4を用いて模式的に示されている。レーザビームのスキャンは、レーザレンジファインダ15の位置および姿勢が変化する間に短い周期で実行される。このため、現実の反射点の個数は、図示されている反射点4の個数よりも遥かに多い。位置推定装置14eは、走行に伴って得られる黒点4の位置を、たとえばメモリ14bに蓄積する。AGV10が走行しながらスキャンを継続して行うことにより、地図データが徐々に完成されてゆく。図7Bから図7Eでは、簡略化のためスキャン範囲のみが示されている。当該スキャン範囲は例示であり、上述した合計270度の例とは異なる。
【0084】
地図は、地図作成に必要な量のセンサデータを取得した後、そのセンサデータに基づいて、このAGV10内のマイコン14aまたは外部のコンピュータを用いて作成してもよい。あるいは、移動しつつあるAGV10が取得したセンサデータに基づいてリアルタイムで地図を作成してもよい。
【0085】
図7Fは、完成した地図40の一部を模式的に示す。図7Fに示される地図では、レーザビームの反射点の集まりに相当する点群(Point Cloud)によって自由空間が仕切られている。地図の他の例は、物体が占有している空間と自由空間とをグリッド単位で区別する占有格子地図である。位置推定装置14eは、地図のデータ(地図データM)をメモリ14bまたは記憶装置14cに蓄積する。なお図示されている黒点の数または密度は一例である。
【0086】
こうして得られた地図データは、複数のAGV10によって共有され得る。
【0087】
AGV10が地図データに基づいて自己位置を推定するアルゴリズムの典型例は、ICP(Iterative Closest Point)マッチングである。前述したように、レーザレンジファインダ15のスキャン結果から作成された局所的地図データ(センサデータ)を、より広範囲の地図データMとのマッチングを行うことにより、地図データM上における自己位置(x, y, θ)を推定することができる。
【0088】
AGV10が走行するエリアが広い場合、地図データMのデータ量が多くなる。そのため、地図の作成時間が増大したり、自己位置推定に多大な時間を要するなどの不都合が生じる可能性がある。そのような不都合が生じる場合には、地図データMを、複数の部分地図のデータに分けて作成および記録してもよい。
【0089】
図8は、4つの部分地図データM1、M2、M3、M4の組み合わせによって1つの工場の1フロアの全域がカバーされる例を示している。この例では、1つの部分地図データは50m×50mの領域をカバーしている。X方向およびY方向のそれぞれにおいて隣接する2つの地図の境界部分に、幅5mの矩形の重複領域が設けられている。この重複領域を「地図切替エリア」と呼ぶ。1つの部分地図を参照しながら走行しているAGV10が地図切替エリアに到達すると、隣接する他の部分地図を参照する走行に切り替える。部分地図の枚数は4枚に限らず、AGV10が走行するフロアの面積、地図作成および自己位置推定を実行するコンピュータの性能に応じて適宜設定してよい。部分地図データのサイズおよび重複領域の幅も、上記の例に限定されず、任意に設定してよい。
【0090】
(5)運行管理装置の構成例
図9は、運行管理装置50のハードウェア構成例を示している。運行管理装置50は、CPU51と、メモリ52と、位置データベース(位置DB)53と、通信回路54と、地図データベース(地図DB)55と、画像処理回路56とを有する。
【0091】
CPU51、メモリ52、位置DB53、通信回路54、地図DB55および画像処理回路56は通信バス57で接続されており、相互にデータを授受することが可能である。
【0092】
CPU51は、運行管理装置50の動作を制御する信号処理回路(コンピュータ)である。典型的にはCPU51は半導体集積回路である。
【0093】
メモリ52は、CPU51が実行するコンピュータプログラムを記憶する、揮発性の記憶装置である。メモリ52は、CPU51が演算を行う際のワークメモリとしても利用され得る。
【0094】
位置DB53は、各AGV10の行き先となり得る各位置を示す位置データを格納する。位置データは、たとえば管理者によって工場内に仮想的に設定された座標によって表され得る。位置データは管理者によって決定される。
【0095】
通信回路54は、たとえばイーサネット(登録商標)規格に準拠した有線通信を行う。通信回路54はアクセスポイント2(図1)と有線で接続されており、アクセスポイント2を介して、AGV10と通信することができる。通信回路54は、AGV10に送信すべきデータを、バス57を介してCPU51から受信する。また通信回路54は、AGV10から受信したデータ(通知)を、バス57を介してCPU51および/またはメモリ52に送信する。
【0096】
図DB55は、AGV10が走行する工場等の内部の地図のデータを格納する。当該地図は、地図40図7F)と同じであってもよいし、異なっていてもよい。各AGV10の位置と1対1で対応関係を有する地図であれば、データの形式は問わない。たとえば地図DB55に格納される地図は、CADによって作成された地図であってもよい。
【0097】
位置DB53および地図DB55は、不揮発性の半導体メモリ上に構築されてもよいし、ハードディスクに代表される磁気記録媒体、または光ディスクに代表される光学式記録媒体上に構築されてもよい。
【0098】
画像処理回路56はモニタ58に表示される映像のデータを生成する回路である。画像処理回路56は、専ら、管理者が運行管理装置50を操作する際に動作する。本実施形態では特にこれ以上の詳細な説明は省略する。なお、モニタ59は運行管理装置50と一体化されていてもよい。また画像処理回路56の処理をCPU51が行ってもよい。
【0099】
(6)運行管理装置の動作
図10を参照しながら、運行管理装置50の動作の概要を説明する。図10は、運行管理装置50によって決定されたAGV10の移動経路の一例を模式的に示す図である。
【0100】
AGV10および運行管理装置50の動作の概要は以下のとおりである。以下では、あるAGV10が現在、位置M1におり、幾つかの位置を通過して、最終的な目的地である位置Mn+1(n:1以上の正の整数)まで走行する例を説明する。なお、位置DB53には位置M1の次に通過すべき位置M2、位置M2の次に通過すべき位置M3等の各位置を示す座標データが記録されている。
【0101】
運行管理装置50のCPU51は、位置DB53を参照して位置M2の座標データを読み出し、位置M2に向かわせる走行指令を生成する。通信回路54は、アクセスポイント2を介して走行指令をAGV10に送信する。
【0102】
CPU51は、AGV10から、アクセスポイント2を介して、定期的に現在位置および姿勢を示すデータを受信する。こうして運行管理装置50は、各AGV10の位置をトラッキングすることができる。CPU51は、AGV10の現在位置が位置M2に一致したと判定すると、位置M3の座標データを読み出し、位置M3に向かわせる走行指令を生成してAGV10に送信する。つまり運行管理装置50は、AGV10がある位置に到達したと判定すると、次に通過すべき位置に向かわせる走行指令を送信する。これにより、AGV10は最終的な目的位置Mn+1に到達することができる。上述した、AGV10の通過位置および目的位置は「マーカ」と呼ばれることがある。
【0103】
(7)第1の例による移動体10による障害物の回避動作
以下、走行経路R上に障害物が存在したことを検出した場合における、移動体10の回避動作の種々の例を説明する。
【0104】
図11Aは、走行経路R上に障害物70が存在する場合の迂回経路Bの例を示している。
【0105】
いま、移動体10が、始点Sから予め設定された移動経路Rに沿って移動している間に、位置P1において進行方向に障害物70が存在することが検出された場合を考える。このとき、マイコン14aは、迂回経路データBdを利用して、移動経路上の位置P1から位置P4までの迂回経路Bを設定し、迂回経路Bに沿って移動体10を移動させる。
【0106】
図11Aに示される迂回経路Bは、最も基本的な、1つの基準迂回経路によって構成されている。「基準迂回経路」は、第1移動経路と第2移動経路との組み合わせによって規定される。図11Aに示す位置P1、P2、P3およびP4を用いると、本実施形態では基準迂回経路は以下のように規定される。まず、第1方向および第2方向は互いに直交する。そして基準迂回経路は、位置P1から位置P2までの第1経路と、位置P2から位置P3までの第2経路と、位置P3から位置P4までの第1経路とによって規定される。
【0107】
位置P1から位置P2までの第1経路は、第1方向に平行で、かつ、移動経路Rから離れる方向に距離D1だけ移動体10を移動させる経路である。位置P2に到達すると、移動体10は半時計回りに回転し、姿勢を第1方向から第2方向に転換する。位置P2から位置P3までの第2経路は、第2方向に平行で距離D2だけ移動体10を移動させる経路である。位置P3に到達すると、移動体10は半時計回りに回転し、姿勢を第2方向から第1方向に転換する。位置P3から位置P4までの第1経路は、第1方向に平行で、かつ、移動経路Rに近付く方向に距離D1だけ移動体10を移動させる経路である。位置P4に到達すると、移動体10は時計回りに回転し、姿勢を第1方向から第2方向に転換する。これにより、障害物70を迂回して当初の移動経路Rに復帰し、その後は移動経路Rに沿って移動することができる。
【0108】
図11Aには、第1方向に関する第1最大許容距離Dmax1と、第2方向に関する第2最大許容距離Dmax2とが示されている。迂回経路Bは、移動経路Rからの第1方向の距離が第1最大許容距離Dmax1以内に入り、かつ、第2方向に関する移動距離が第2最大許容距離Dmax2以内に入るように設定される。第1最大許容距離Dmax1および第2最大許容距離Dmax2の各データは、例えば移動体10の管理者によって予め記憶装置14cに記憶されている。なお、複数の移動体10が利用される環境では、基準迂回経路、第1最大許容距離Dmax1および第2最大許容距離Dmax2の各データを、移動体10ごとに独立して設定してもよい。
【0109】
ここで、図11Bを参照しながら、移動体10が行う障害物検出動作および迂回動作に関する図面上の表記を説明する。図11Bには凡例として、記号a~cの各動作の意味が示されている。すなわち、凡例として、障害物の判定動作aと、移動動作bと、第1経路および第2経路間の方向転換動作cとが記載されている。本明細書では、移動動作bによって移動する距離を「最小回避距離」と呼ぶことがある。「最小回避距離」は、元の経路から離れる最小の距離を意味する。図12以降でも、各動作に同じ符号を付し、動作a~cの各々の動作の説明は省略する。なお、説明の便宜上、特に注目する動作a~cを、「動作a1」などと記載することがある。
【0110】
図12図13図14は、障害物70aが複数存在する場合の迂回経路の例を示す。最初の障害物の判定動作aによって障害物70aを検出したことより、マイコン14aは基準迂回経路を設定する。
【0111】
図12では、マイコン14aは、迂回のために最初の移動動作bを行う。距離D1の移動後、マイコン14aは、障害物の判定動作a1によって、進行方向である第2方向の迂回経路上にさらなる障害物70bを検出する。これにより、マイコン14aは、さらに第1方向に沿った移動動作b1を継続する。さらなる距離D1の移動後の動作は、図11Aの位置P2以降の例と同じである。ただし最後の移動動作b2による移動距離は、D2*2である。
【0112】
図13では、マイコン14aは、迂回のために最初の移動動作bを行い、距離D1の移動後に方向転換動作cを行う。進行方向である第2方向の迂回経路上で移動動作b1を行っているときに、マイコン14aは、障害物の判定動作a1によって、進行方向である第2方向の迂回経路上にさらなる障害物70bを検出する。これにより、マイコン14aは、さらに第1方向に沿って当初の移動経路Rから離れる方向に、移動動作b2を行う。さらなる距離D1の移動後は、図12の例と同じである。
【0113】
なお、図12および図13には、複数の障害物70aおよび70bが示されているが、これは一例である。長尺物が、第2方向に沿った複数の迂回経路上を横切るように配置されている場合も上述の処理が行われ得る。
【0114】
図14では、複数の移動動作bの間に障害物を検出した場合の移動体10の動作を示している。各障害物を検出した際の動作は、図12および図13の例に準じる。
【0115】
障害物の判定動作a1について特に説明する。障害物の判定動作a1が行われた位置は、第2方向について見たとき、最初の判定動作a0が行われた位置から起算して距離D2だけ移動した位置に対応している。マイコン14aは、最初の判定動作a0が行われた位置から起算して距離D2を単位として、移動経路Rの方向に戻る(復帰する)ことが可能か否かを判断している。この例の場合には、判定動作a1によって障害物が検出されたため、第2方向への移動動作b1が継続されている。なお、方向転換動作c1は、判定動作の結果、障害物が存在しなかったことにより行われた動作である。これにより、マイコン14aは第1方向に沿って移動経路Rに近付く方向に移動体10を移動させる。
【0116】
図15から図17は、当初の移動経路Rへの復帰することができない3つの例を示している。最初の判定動作a0から起算して、第1方向については第1最大許容距離Dmax1以内で迂回経路が設定できなかった場合(図15)には、マイコン14aは、移動経路Rへの復帰することができないと判断し移動体10を停止させる。また、第2方向については第2最大許容距離Dmax2以内で迂回経路が設定できなかった場合(図16)にも、マイコン14aは移動体10を停止させる。さらに図17に示すように、移動経路Rへの復帰方向の全てに障害物の存在を検出した場合も、マイコン14aは移動体10を停止させる。
【0117】
移動体10の停止後は、例えば管理者は移動体10を異なる位置に運搬して移動体10を再起動すればよい。
【0118】
図18Aおよび図18Bは、本実施形態によるマイコン14aの処理の手順を示すフローチャートである。
【0119】
ステップS10において、マイコン14aは通常の走行を開始する。移動経路R上を走行している状態を、図18BAでは「正常動作」と表記している。
【0120】
ステップS12において、マイコン14aは障害物センサ14jの出力から、障害物を検出したか否かを判定する。障害物を検出していない場合にはステップS10における正常動作を継続し、障害物を検出した場合には処理はステップS14に進む。
【0121】
ステップS14において、マイコン14aは、第1最大許容距離Dmax1に到達したか否かを判定する。この処理は、例えば、移動経路Rから逸れた時点の位置を、位置推定装置14eの出力した位置情報を利用して記憶しておき、第1方向に関して、マイコン14aが、当該位置と現在位置との差を計算することによって実現される。到達していないと判定した場合には処理はステップS16に進み、到達したと判定した場合には処理はステップS26に進む。
【0122】
ステップS16において、マイコン14aは、第1方向に沿って移動経路Rから離れる方向に移動体10が走行するよう移動方向を制御する。次に、処理はステップS18に進む。
【0123】
ステップS18の処理は、移動体10が移動を開始する直前から開始されている。ステップS18において、マイコン14aは再び、ステップS12と同様の処理により、障害物を検出したか否かを判定する。障害物を検出していない場合にはステップS20に進み、障害物を検出した場合には処理はステップS22に進む。
【0124】
ステップS20において、マイコン14aは、最小回避距離だけ第1方向に沿った移動が完了したか否かを判定する。移動距離の情報は、ステップS14において説明した方法と同様である。
【0125】
ステップS22において、マイコン14aは、第2最大許容距離Dmax2に到達したか否かを判定する。この処理もまた、ステップS14と同様の処理によって実現される。すなわち移動経路Rから逸れた時点の位置を、位置推定装置14eの出力した位置情報を利用して記憶しておき、第2方向に関して、マイコン14aが、当該位置と現在位置との差を計算することによって実現される。到達していないと判定した場合には処理はステップS24に進み、到達したと判定した場合には処理はステップS26に進む。
【0126】
ステップS24において、マイコン14aは、第2方向に沿った方向に移動体10が走行するよう移動方向を制御する。次に、処理はステップS20(図18B)に進む。なお、ステップS18の処理は、移動体10が移動を開始する直前から開始されている。
【0127】
ステップS26において、マイコン14aは、移動体10の移動動作を停止させる。その理由は、障害物70の回避に失敗したからである。その結果、動作停止の判断が行われた以後は、例えば管理者により移動体10が再起動されるまで障害物検知を停止し、電力の消費を抑制する。
【0128】
図18BのステップS28において、マイコン14aは再び、ステップS12と同様の処理により、障害物を検出したか否かを判定する。障害物を検出していない場合にはステップS30に進み、障害物を検出した場合には処理はステップS14に戻る。
【0129】
ステップS30において、マイコン14aは、最小回避距離だけ第2方向に沿った移動が完了したか否かを判定する。移動距離の情報は、ステップS14、S20において説明した方法と同様の方法で取得される。
【0130】
ステップS32において、マイコン14aは、第1方向に沿って移動経路Rに近付く方向に移動体10が走行するよう移動方向を制御する。次に、処理はステップS34に進む。
【0131】
ステップS34において、マイコン14aは再び、ステップS12と同様の処理により、障害物を検出したか否かを判定する。障害物を検出していない場合にはステップS36に進み、障害物を検出した場合には処理はステップS22に戻る。
【0132】
ステップS36において、マイコン14aは、最小回避距離だけ第1方向に沿った移動が完了したか否かを判定する。移動距離の情報は、ステップS14、S20、S30において説明した方法と同様の方法で取得される。移動が完了していなければステップS32に戻って移動を継続する。移動が完了すれば、処理はステップS38に進む。
【0133】
ステップS38において、マイコン14aは、移動体10が移動経路Rに到達したか否かを判定する。このときも、マイコン14aは、位置推定装置14eが出力する現在の位置が、第1方向に関して移動経路Rから逸れた時点の位置と同一か否かを比較すればよい。移動体10が移動経路Rに到達した場合は処理はステップS40に進み、到達していない場合には、引き続き移動しながらステップS32以降の処理を実行する。
【0134】
ステップS40において、マイコン14aは、移動経路Rに復帰し回避動作が完了したと判定する。これにより、移動経路R上の移動(正常動作)を再開することができる。
【0135】
上述した図12図14の動作は、迂回経路の設定に関する一例である。初めて障害物が存在すると判定し、その後さらに障害物が存在すると判定した場合に、移動体10が移動経路Rから常に離れる方向に進むことは必須ではない。複数の迂回経路を設定可能な状況下で、移動体10が移動経路Rから離れる方向に進むという選択を行う例を説明したに過ぎない。また、移動経路Rに近付く方向に進んだ場合であっても、その後、再度、移動経路Rから離れる方向に進む選択を行ってもよい。また、第2方向への移動も、始点Sから終点Gに向かう方向に進むだけではなく、終点Gから始点Sに戻る方向に進んでもよい。
【0136】
(8)第2の例による移動体10による障害物の回避動作
本発明者は、移動体10の移動経路R上に障害物が載置された後の状況を観察した。その結果、障害物の載置は一時的であり、ある一定時間が経過すると障害物が除去されていることが多いという知見を得た。数度にわたって迂回経路を設定すると、移動距離が長くなり、かつ移動に時間がかかる。そのため、実際には障害物が除去されているにもかかわらず、移動体10が迂回経路を走行し続けていたという課題を見出した。
【0137】
図19Aから図19Eは、移動体10の異なる動作例を説明するための図である。以下で説明する動作は、図12に示す状況における移動体10の異なる動作例である。
【0138】
図19Aに示すように、移動体10が移動経路R上を走行中、マイコン14aは、位置P1における動作a1により、障害物70pを検出する。その結果、迂回経路を設定して移動動作bを行う。次に、マイコン14aが、位置P2における判定動作a2によって進行方向の障害物70qを検出する。図12の例では、マイコン14aは、更なる迂回経路b1に沿って移動体10を移動させた。しかしながら、実際には、移動体10は迂回経路b2を選択することも可能であるし、さらに他の迂回経路b3を選択することも可能である。また、2方向(第1方向および第2方向)のみならず、他の方向の迂回経路を選択することも可能であり得る。
【0139】
本例では、マイコン14aは、複数の迂回経路のうち、位置P2から、再度、移動体10を位置P1に移動させる経路を迂回経路として選択する。図19Cは、経路b2に沿って位置P1に戻る移動体10を示している。
【0140】
位置P1は、移動経路R上に障害物70pが検出された位置である。位置P1に戻った移動体10のマイコン14aは、位置P1において、再度、当初の移動経路R上に障害物70pが存在するかどうかを判定する。上述の知見によれば、障害物70pが除去されている可能性が高い。仮に、依然として障害物70pが存在していたとしても、一定期間待機すれば、除去される場合があることが十分に考えられる。
【0141】
位置P1において、障害物70pが除去されていた場合には、移動体10のマイコン14aは移動体10を当初の移動経路Rに沿って移動させる。障害物70pが除去されていなかった場合には、移動体10のマイコン14aは位置P1に移動体10を所定時間待機させ、障害物70pが除去されるのを待つ。その後、障害物70pが除去された場合には、マイコン14aは移動体10を当初の移動経路Rに沿って移動させればよい。
【0142】
以上の動作によれば、移動体10は、一旦は迂回経路を走行し、迂回経路上に障害物が存在しない場合には迂回経路を利用して比較的迅速に移動経路Rに復帰することができる。
【0143】
迂回経路上にも障害物が存在する場合には、元の位置に戻って障害物が除去されているか否かを判定する。除去されていた場合には、迅速に移動経路Rの走行を開始することができる。一方、除去されるまで一定期間待ったとしても、迂回経路を度重ねて設定するよりは迅速に移動経路Rを走行することができる場合がある。
【0144】
図20は、図19A~19Eまでの処理の手順を示すフローチャートである。図20に示すフローチャートは、図18Bの代替処理である。原則として図18Aに示す処理は共通に行われる。ただし、図20に示す処理が実行される場合には、図18Aの丸で囲んだ「B」で示す処理は含まれない。図20には、図18Bに含まれるステップS28からステップS14に戻る処理は含まれないからである。
【0145】
図20の処理が、図18Bの処理と異なる点は、図20にはステップS50、S52、S54が設けられていることである。図20では、図18Bと同じ処理(ステップ)には同じ番号を付し、その説明は省略する。なお、本例では、ステップS28における障害物の検出は、第2方向に沿った移動を行おうとする直前に行われるとする。つまり、第2方向に関する進行方向に障害物70が存在しており、移動体10はまだ第2方向への移動を行っていない状況を想定する。
【0146】
ステップS50では、マイコン14aは、利用可能な複数の迂回経路の中から、戻る経路を選択する。戻る経路とは、これまで走行してきた経路を逆に辿る経路である。その後処理はステップS32に進む。
【0147】
ステップS52では、マイコン14aは障害物を検出したか否かを判定する。このときの障害物とは、移動経路R上を走行中に、迂回経路を設定する必要を生じさせた障害物70を意味している。障害物を検出し続けている場合には、例えばマイコン14aは、障害物が検出されなくなるまで待機する。障害物を検出しない場合には処理はステップS54に進む。上述のように、本発明者の知見によれば、障害物は短時間で除去されることが多いため、ステップS52において多くの場合、障害物が検出されなくなるまでの時間は短いと想定される。
【0148】
ステップS54では、マイコン14aは、移動経路Rに沿った走行を再開する。
【0149】
以上、本開示の実施形態による移動体10の構成および動作を説明した。
【0150】
上記の包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラム、または記録媒体によって実現されてもよい。あるいは、システム、装置、方法、集積回路、コンピュータプログラム、および記録媒体の任意の組み合わせによって実現されてもよい。具体的には、上述した図18A図18Bおよび図20の処理は、コンピュータであるマイコン14aによって実行されるコンピュータプログラムとして実現され得る。コンピュータプログラムは、CD-ROMなどの光ディスク、ハードディスクなどの磁気ディスク、フラッシュメモリなどの半導体メモリ等の記録媒体に記録されて流通し得る。または、コンピュータプログラムは、電気通信回線を利用して送受信されて商取引の対象とされ得る。
【産業上の利用可能性】
【0151】
本開示の移動体および移動体管理システムは、工場、倉庫、建設現場、物流、病院などで荷物、部品、完成品などの物の移動および搬送に好適に利用され得る。
【符号の説明】
【0152】
1 ユーザ
2a、2b アクセスポイント
10 AGV(移動体)
11a、11b 駆動輪(車輪)
11c、11d、11e、11f キャスター
12 フレーム
13 搬送テーブル
14 走行制御装置
14a マイコン
14b メモリ
14c 記憶装置
14d 通信回路
14e 位置推定装置
16a、16b モータ
15 レーザレンジファインダ
17a、17b モータ駆動回路
20 端末装置(タブレットコンピュータなどのモバイルコンピュータ)
50 運行管理装置
51 CPU
52 メモリ
53 位置データベース(位置DB)
54 通信回路
55 地図データベース(地図DB
56 画像処理回路
100 移動体管理システム
図1A
図1B
図1C
図1D
図2
図3
図4A
図4B
図5
図6A
図6B
図7A
図7B
図7C
図7D
図7E
図7F
図8
図9
図10
図11A
図11B
図12
図13
図14
図15
図16
図17
図18A
図18B
図19A
図19B
図19C
図19D
図19E
図20