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

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

▶ 株式会社Doogの特許一覧

特許7495154自律移動装置、自律移動方法及びプログラム
<>
  • 特許-自律移動装置、自律移動方法及びプログラム 図1
  • 特許-自律移動装置、自律移動方法及びプログラム 図2
  • 特許-自律移動装置、自律移動方法及びプログラム 図3
  • 特許-自律移動装置、自律移動方法及びプログラム 図4
  • 特許-自律移動装置、自律移動方法及びプログラム 図5
  • 特許-自律移動装置、自律移動方法及びプログラム 図6
  • 特許-自律移動装置、自律移動方法及びプログラム 図7A
  • 特許-自律移動装置、自律移動方法及びプログラム 図7B
  • 特許-自律移動装置、自律移動方法及びプログラム 図8
  • 特許-自律移動装置、自律移動方法及びプログラム 図9
  • 特許-自律移動装置、自律移動方法及びプログラム 図10
  • 特許-自律移動装置、自律移動方法及びプログラム 図11
  • 特許-自律移動装置、自律移動方法及びプログラム 図12
  • 特許-自律移動装置、自律移動方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-27
(45)【発行日】2024-06-04
(54)【発明の名称】自律移動装置、自律移動方法及びプログラム
(51)【国際特許分類】
   G05D 1/246 20240101AFI20240528BHJP
   G05D 1/46 20240101ALI20240528BHJP
【FI】
G05D1/246
G05D1/46
【請求項の数】 17
(21)【出願番号】P 2022531118
(86)(22)【出願日】2020-06-15
(86)【国際出願番号】 JP2020023468
(87)【国際公開番号】W WO2021255797
(87)【国際公開日】2021-12-23
【審査請求日】2023-05-23
(73)【特許権者】
【識別番号】517270798
【氏名又は名称】株式会社Doog
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100174067
【弁理士】
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100169753
【弁理士】
【氏名又は名称】竹内 幸子
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】大島 章
(72)【発明者】
【氏名】城吉 宏泰
(72)【発明者】
【氏名】阪東 茂
(72)【発明者】
【氏名】柄川 索
【審査官】牧 初
(56)【参考文献】
【文献】特開2018-112917(JP,A)
【文献】特開2010-250469(JP,A)
【文献】特開2004-240698(JP,A)
【文献】特開2000-305625(JP,A)
【文献】特開2019-008431(JP,A)
【文献】特開昭62-272307(JP,A)
【文献】特開2004-264182(JP,A)
【文献】特開2019-061452(JP,A)
【文献】国際公開第2019/097626(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/87
(57)【特許請求の範囲】
【請求項1】
周辺の物体を検出する検出手段と、
移動手段と、
制御手段と、
を備え、
前記制御手段は、
教示用制御データを取得し、
前記取得した教示用制御データに従って前記移動手段を制御しながら、所定の距離移動するたびに前記検出手段で検出した点群を自己位置の情報と共に記憶していくことによって周辺環境の地図データを作成し、
前記作成した地図データ上で移動した移動経路を記憶
教示開始の指示の入力に基づいて教示開始地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、所定の距離移動するたびに前記検出手段で検出した点群を自己位置の情報と共に記憶していくことによって周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、教示終了の指示の入力に基づいて教示終了地点を登録して教示を終了し、前記教示開始地点から前記教示終了地点までの移動経路を教示ルートとして記録するという処理を繰り返すことにより、複数の前記教示ルートを記憶し、
前記複数の教示ルートを組み合わせることにより、前記複数の教示ルート上に存在する2つの所定の地点の一方から他方までの移動経路を生成する、
自律移動装置。
【請求項2】
前記制御手段は、
前記検出手段で検出した物体の中から追従物を認識し、
前記認識した追従物を追従するように前記移動手段を制御するためのデータを前記教示用制御データとして取得する、
請求項1に記載の自律移動装置。
【請求項3】
前記制御手段は、
前記認識した追従物を追従するように前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、
前記作成した地図データ上で移動した移動経路を記憶し、
前記記憶した移動経路に従って移動するように前記移動手段を制御し、
前記記憶した移動経路には、前記追従物を追従したときの移動方向以外の方向の移動経路が含まれる、
請求項2に記載の自律移動装置。
【請求項4】
ユーザの操作を取得する操作取得手段をさらに備え、
前記制御手段は、
前記操作取得手段で前記教示用制御データを取得する、
請求項1に記載の自律移動装置。
【請求項5】
前記移動手段は、
前記取得した教示用制御データに従って前記移動手段を制御する際は、前記教示用制御データに後退の指示が含まれていても前記自律移動装置を後退させないように制御する、
請求項1から4のいずれか1項に記載の自律移動装置。
【請求項6】
前記制御手段は、
教示開始の指示の入力に基づいて第一地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、
教示終了の指示の入力に基づいて第二地点を登録して教示を終了し、
前記第一地点から前記第二地点までの移動経路を第一教示ルートとして記録し、
前記第一教示ルート上に存在する所定の地点から、前記第一地点又は前記第二地点までの移動経路を生成し、
前記生成した移動経路に従って移動するように前記移動手段を制御する、
請求項1から5のいずれか1項に記載の自律移動装置。
【請求項7】
前記制御手段は、
前記第一教示ルートを逆方向に用いることにより、前記第二地点から前記第一地点までの移動経路を生成する、
請求項6に記載の自律移動装置。
【請求項8】
周辺の物体を検出する検出手段と、
移動手段と、
制御手段と、
を備え、
前記制御手段は、
教示用制御データを取得し、
教示開始の指示の入力に基づいて第一地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、
教示終了の指示の入力に基づいて第二地点を登録して教示を終了し、
前記第一地点から前記第二地点までの移動経路を第一教示ルートとして記録し、
前記第一教示ルート上に存在する所定の地点から、前記第一地点又は前記第二地点までの移動経路を生成し、
前記生成した移動経路に従って移動するように前記移動手段を制御し、
前記第一教示ルート上において、教示開始の指示に基づいて第三地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、
教示終了の指示に基づいて第四地点を登録して教示を終了し、
前記第三地点から前記第四地点までの移動経路を第二教示ルートとして記録し、
前記第一教示ルート及び前記第二教示ルートを用いることにより、前記第一教示ルート上又は前記第二教示ルート上に存在する所定の地点から、前記第一地点、前記第二地点、前記第三地点及び前記第四地点から選択された地点までの移動経路を生成する、
律移動装置。
【請求項9】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御したときの移動方向に対して逆方向の移動経路を生成する場合に、
前記検出手段により検出した周辺の物体の位置に関するデータを、当該物体を逆方向から検出した場合のデータに変換し、
前記変換したデータに基づいて、前記生成した移動経路に従って移動するように前記移動手段を制御する、
請求項6から8のいずれか1項に記載の自律移動装置。
【請求項10】
前記制御手段は、
前記検出手段で検出した物体の中から障害物を認識し、
自己位置を見失わない範囲で前記認識した障害物を回避可能であり、かつ、前記障害物と他の障害物又は壁との間に通り抜けられるだけの幅が存在するなら、前記障害物を回避可能と判定し、前記障害物を回避するために前記移動経路から外れ、前記障害物を回避した後に前記移動経路に戻るように前記移動手段を制御する、
請求項1から9のいずれか1項に記載の自律移動装置。
【請求項11】
前記検出手段は周辺に設置された反射材を検出し、
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御している間に前記検出手段で検出した反射材の情報を前記地図データに記録し、
前記移動経路に従って移動している間に前記検出手段で検出した反射材の情報を前記地図データに記録された反射材の情報と照合することにより前記自律移動装置の位置及び向きを補正
前記反射材の情報がマッチングしない状態が所定の時間又は所定の距離続いた場合には、前記移動手段を停止させる、
請求項1から10のいずれか1項に記載の自律移動装置。
【請求項12】
前記制御手段は、
前記移動経路に従って移動している間に前記検出手段で検出した周辺の物体のうち反射材の位置に関するデータのみを前記地図データと照合して前記地図データを補正する、
請求項1から11のいずれか1項に記載の自律移動装置。
【請求項13】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、一時停止する場所と一時停止する時間を記憶して、
前記記憶した移動経路に従って移動する際に、前記一時停止する場所で前記一時停止する時間だけ停止する、
請求項1から12のいずれか1項に記載の自律移動装置。
【請求項14】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、所定の機器への制御信号を出力する出力場所を記憶して、
前記記憶した移動経路に従って移動する際に、前記所定の機器へ前記制御信号を前記出力場所で出力する、
請求項1から13のいずれか1項に記載の自律移動装置。
【請求項15】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、制御速度もしくは速度モードを記憶して、
前記記憶した移動経路に従って移動する際に、前記記憶した制御速度もしくは速度モードに基づいて移動速度を制御するように前記移動手段を制御する、
請求項1から14のいずれか1項に記載の自律移動装置。
【請求項16】
制御手段が、
教示用制御データを取得
前記取得した教示用制御データに従って移動手段を制御しながら、所定の距離移動するたびに検出手段で検出した点群を自己位置の情報と共に記憶していくことによって周辺環境の地図データを作成
前記作成した地図データ上で移動した移動経路を記憶
教示開始の指示の入力に基づいて教示開始地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、教示終了の指示の入力に基づいて教示終了地点を登録して教示を終了し、前記教示開始地点から前記教示終了地点までの移動経路を教示ルートとして記録するという処理を繰り返すことにより、複数の前記教示ルートを記憶し、
前記複数の教示ルートを組み合わせることにより、前記複数の教示ルート上に存在する2つの所定の地点の一方から他方までの移動経路を生成する、
自律移動方法。
【請求項17】
コンピュータに、
教示用制御データを取得
前記取得した教示用制御データに従って移動手段を制御しながら、所定の距離移動するたびに検出手段で検出した点群を自己位置の情報と共に記憶していくことによって周辺環境の地図データを作成
前記作成した地図データ上で移動した移動経路を記憶
教示開始の指示の入力に基づいて教示開始地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、教示終了の指示の入力に基づいて教示終了地点を登録して教示を終了し、前記教示開始地点から前記教示終了地点までの移動経路を教示ルートとして記録するという処理を繰り返すことにより、複数の前記教示ルートを記憶し、
前記複数の教示ルートを組み合わせることにより、前記複数の教示ルート上に存在する2つの所定の地点の一方から他方までの移動経路を生成する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動装置、自律移動方法及びプログラムに関する。
【背景技術】
【0002】
従来から、工場内の物品搬送や施設内の人の誘導等に移動ロボットが使われている。このような移動ロボットの移動経路を設定する方法として、人が移動ロボットに対して移動経路を教示する方法がある。例えば、特許文献1には、人を検出して、その人を追従して目的地まで到達することにより、スタート地点から目的地までの移動経路を設定している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2008-84135号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の移動ロボットは、人を追従することによって経路を設定することができるが、設定される経路はその時のスタート地点から目的地までの一方通行の経路のみである。この移動ロボットでは、例えば、目的地からスタート地点まで戻るには、再度、人に教示してもらう必要があった。
【0005】
本発明は、上記実情に鑑みてなされたものであり、教示された経路を、教示されたときの移動方向の逆の方向でも用いることができる自律移動装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る自律移動装置は、
周辺の物体を検出する検出手段と、
移動手段と、
制御手段と、
を備え、
前記制御手段は、
教示用制御データを取得し、
前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、
前記作成した地図データに基づき移動経路を記憶する。
【0007】
前記制御手段は、
前記検出手段で検出した物体の中から追従物を認識し、
前記認識した追従物を追従するように前記移動手段を制御するためのデータを前記教示用制御データとして取得する、
ようにしてもよい。
【0008】
前記制御手段は、
前記認識した追従物を追従するように前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、
前記作成した地図データ上で移動した移動経路を記憶し、
前記記憶した移動経路に従って移動するように前記移動手段を制御し、
前記記憶した移動経路には、前記追従物を追従したときの移動方向以外の方向の移動経路が含まれる、
ようにしてもよい。
【0009】
ユーザの操作を取得する操作取得手段をさらに備え、
前記制御手段は、
前記操作取得手段で前記教示用制御データを取得する、
ようにしてもよい。
【0010】
前記移動手段は、
前記取得した教示用制御データに従って前記移動手段を制御する際は、前記自律移動装置を後退させないように制御する、
ようにしてもよい。
【0011】
前記制御手段は、
教示開始の指示の入力に基づいて第一地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、
教示終了の指示の入力に基づいて第二地点を登録して教示を終了し、
前記第一地点から前記第二地点までの移動経路を第一教示ルートとして記録し、
前記第一教示ルート上に存在する所定の地点から、前記第一地点又は前記第二地点までの移動経路を生成し、
前記生成した移動経路に従って移動するように前記移動手段を制御する、
ようにしてもよい。
【0012】
前記制御手段は、
前記第一教示ルートを逆方向に用いることにより、前記第二地点から前記第一地点までの移動経路を生成する、
ようにしてもよい。
【0013】
前記制御手段は、
前記第一教示ルート上において、教示開始の指示に基づいて第三地点を登録して、前記取得した教示用制御データに従って前記移動手段を制御しながら、前記検出手段で検出した点群に基づいて周辺環境の地図データを作成し、前記作成した地図データ上で移動した移動経路を記憶し、
教示終了の指示に基づいて第四地点を登録して教示を終了し、
前記第三地点から前記第四地点までの移動経路を第二教示ルートとして記録し、
前記第一教示ルート及び前記第二教示ルートを用いることにより、前記第一教示ルート上又は前記第二教示ルート上に存在する所定の地点から、前記第一地点、前記第二地点、前記第三地点及び前記第四地点から選択された地点までの移動経路を生成する、
ようにしてもよい。
【0014】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御したときの移動方向に対して逆方向の移動経路を生成する場合に、
前記検出手段により検出した物体の位置に関するデータを、当該物体を逆方向から検出した場合のデータに変換し、
前記変換したデータに基づいて、前記生成した移動経路に従って移動するように前記移動手段を制御する、
ようにしてもよい。
【0015】
前記制御手段は、
前記検出手段で検出した物体の中から障害物を認識し、
前記認識した障害物を回避可能であるときは、前記障害物を回避するために前記移動経路から外れ、前記障害物を回避した後に前記移動経路に戻るように前記移動手段を制御する、
ようにしてもよい。
【0016】
前記検出手段は周辺に設置された反射材を検出し、
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御している間に前記検出手段で検出した反射材の情報を前記地図データに記録し、
前記移動経路に従って移動している間に前記検出手段で検出した反射材の情報を前記地図データに記録された反射材の情報と照合することにより前記自律移動装置の位置及び向きを補正する、
ようにしてもよい。
【0017】
前記制御手段は、
前記移動経路に従って移動している間に前記検出手段で検出した周辺の物体の位置に関するデータを前記地図データと照合して地図データを補正する、
ようにしてもよい。
【0018】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、一時停止する場所と一時停止する時間を記憶して、
前記記憶した移動経路に従って移動する際に、前記一時停止する場所で前記一時停止する時間だけ停止する、
ようにしてもよい。
【0019】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、所定の機器への制御信号を出力する出力場所を記憶して、
前記記憶した移動経路に従って移動する際に、前記所定の機器へ前記制御信号を前記出力場所で出力する、
ようにしてもよい。
【0020】
前記制御手段は、
前記教示用制御データに従って前記移動手段を制御する際に、制御速度もしくは速度モードを記憶して、
前記記憶した移動経路に従って移動する際に、前記記憶した制御速度もしくは速度モードに基づいて移動速度を制御するように前記移動手段を制御する、
ようにしてもよい。
【0021】
また、本発明の第2の観点に係る自律移動方法は、
教示用制御データを取得する教示用制御データ取得ステップと、
前記取得した教示用制御データに従って移動手段を制御しながら検出手段で検出した点群に基づいて周辺環境の地図データを作成する地図作成ステップと、
前記作成した地図データ上で移動した移動経路を記憶する移動経路記憶ステップと、
を備える。
【0022】
また、本発明の第3の観点に係るプログラムは、
コンピュータに、
教示用制御データを取得する教示用制御データ取得ステップ、
前記取得した教示用制御データに従って移動手段を制御しながら検出手段で検出した点群に基づいて周辺環境の地図データを作成する地図作成ステップ、及び、
前記作成した地図データ上で移動した移動経路を記憶する移動経路記憶ステップ、
を実行させる。
【発明の効果】
【0023】
本発明によれば、教示された経路を、教示されたときの移動方向の逆の方向でも用いることができる。
【図面の簡単な説明】
【0024】
図1】本発明の実施形態1に係る自律移動装置の機能構成を示すブロック図である。
図2】実施形態1に係る自律移動装置の外観を示す図である。
図3】実施形態1に係る自律移動装置が備える検出部の外観及び検出部から照射されるレーザを説明する図である。
図4】実施形態1に係る自律移動装置が備える検出部及び操作取得部を自律移動装置の側面から見た図である。
図5】実施形態1に係る検出部で検出される周辺の環境を説明する図である。
図6】反射材が設置されている例を説明する図である。
図7A】正方向の周辺環境データの説明図である。
図7B】逆方向の周辺環境データの説明図である。
図8】実施形態1に係る自律移動装置の追従教示処理のフローチャートである。
図9】実施形態1に係る自律移動装置が第1地点から第2地点までの経路や第3地点から第4地点までの経路を教示された場合を説明する図である。
図10】実施形態1に係る自律移動装置の再生処理のフローチャートである。
図11】実施形態1に係る自律移動装置が障害物を回避する様子を説明する図である。
図12】実施形態1に係る自律移動装置の再生補正処理のフローチャートである。
図13】実施形態1の変形例に係る自律移動装置の外観を示す図である。
【発明を実施するための形態】
【0025】
以下、本発明の実施形態に係る自律移動装置について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0026】
(実施形態1)
本発明の実施形態に係る自律移動装置は、移動経路について教示を受けて、教示された移動経路に基づいて自律的に移動する装置である。実施形態1に係る自律移動装置100の機能構成の一例を図1に、外観の一例を図2に示す。
【0027】
図1に示すように、自律移動装置100は、制御部10と、記憶部20と、検出部31と、操作取得部32と、駆動部40と、を備える。
【0028】
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(周辺情報取得部11、地図作成部12、経路生成部13、周辺情報変換部14、移動制御部15)の機能を実現する。また、制御部10は、時計(図示せず)を備え、現在日時の取得や経過時間のカウントをすることができる。制御部10は、制御手段として機能する。
【0029】
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。ROMには制御部10のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。記憶部20は、記憶手段として機能する。また、記憶部20は、機能的構成として、後述する、地点記憶部21と、地図記憶部22と、を備える。
【0030】
検出部31は、センシングデバイスとしてのスキャナ式レーザ距離計等で構成され、自律移動装置100の周辺(本実施形態では左右及び前方)に存在する、人、壁、障害物、反射材等の対象物を点の集まり(点群)として検出する。検出部31は、図3に示すように、光学窓311の内部にある発光部からレーザ312を照射し、人、壁、障害物、反射材等の対象物で反射されたレーザを光学窓311の内部にある受光部が捉える。また、発光部(及び受光部)は回転軸313を中心に270度(自律移動装置100の真正面の方向を0度とすると±135度)回転することによってスキャン角度を変えながらレーザ312を照射して周囲をスキャンする。反射されたレーザを捉えた受光部からの信号を処理することにより、検出部31は、スキャン角度毎に、その方向に存在する対象物との距離及び受光強度を計測することができる。なお、上記で発光部の回転角度(スキャン角度)の範囲を「真正面の方向を0度とすると±135度」としたのは一例であり、発光部は、例えば±180度回転する仕様であってもよいし、±100度回転する仕様であってもよい。また、スキャン角度は左右対称でなくてもよい。
【0031】
検出部31は、図4に示すように、スキャンの回転軸313が鉛直方向に伸びており、レーザ312は自律移動装置100の左右及び前方に存在する対象物(人、壁、障害物、反射材等)を3次元的にスキャンするようになっている。検出部31は、対象物で反射されたレーザを受光部で受光できれば当該対象物を検出でき、検出部31から例えば200m離れた場所にある対象物であっても検出可能である。また、検出部31で3次元的にスキャンすることにより、対象物の3次元的な形状を検出することができる。検出部31は、検出手段として機能する。なお、検出部31の構成はスキャナ式レーザ距離計に限るわけではなく、カメラで構成されてもよいし、距離及び受光強度を計測できるその他のデバイスで構成されてもよい。
【0032】
検出部31は、例えば、図5に示すように、自律移動装置100の左側に壁71と反射材63が、正面に人61が、右側に障害物72と反射材64が、それぞれどのくらいの距離の位置に存在するかを検出する。なお、点線60は、検出部31から照射されるレーザの照射範囲の角度(270度)を示すものであり、照射距離を示すものではない。レーザは距離的には点線60を超えた範囲まで照射されており、例えば反射材63も検出される。ただし、レーザは、点線60に示すように、自律移動装置100の後方90度の角度範囲には照射されていない。
【0033】
また、制御部10は、検出部31から取得した情報(対象物までの距離、受光強度等)に基づき、検出部31が検出した対象物を認識する。例えば、制御部10は、受光強度が所定の基準強度よりも高い等、反射材と認識する条件を満たした場合に対象物が反射材(いわゆる再帰反射材)であると認識する。また、制御部10は、対象物の幅が人の横幅(例えば30cmから1m)程度である等、人と認識する条件を満たした場合に対象物が人であると認識する。また、制御部10は、対象物の幅が所定の基準値よりも長い等、壁と認識する条件を満たした場合に対象物が壁であると認識する。また、制御部10は、反射材、人、壁等と認識する条件をいずれも満たさない場合は、当該対象物を障害物であると認識する。制御部10は、検出部31から取得した情報をもとに初期検出を行い、検出した対象物をトラッキングすることや、検出した対象物を見失った場合に、復帰(ロスト復帰)することで、より多様な対象を安定して検出できる。なお、以上説明した対象物の認識手法は一例であり、他の認識手法を用いてもよい。
【0034】
また、検出部31が検出する対象物の一つである反射材は、再帰反射素材からなり、レーザ光が当たると、そのレーザ光を入射した方向に反射させる。したがって、検出部31が検出した受光強度が所定の基準強度よりも高い場合に、制御部10は、そのときの検出部31でのスキャン角度の方向に反射材が存在することを認識することができる。例えば長い廊下のような特徴量が少ない場所では、廊下を長手方向に移動しても、検出部31で検出される情報にあまり変化が生じず、長手方向にどれくらい移動したかを制御部10が認識しにくくなる。このような場合でも、図6に示すように、壁71に反射材63を設置することにより、検出される反射材の個数や配置に基づいて、制御部10は廊下を長手方向にどれくらい移動したかを認識できるようになり、より正確な地図の構築と安定した走行を可能にする。
【0035】
なお、反射材63は、検出部31から照射されるレーザ光が当たる位置(本実施形態では検出部31の高度と同程度の高度の位置)に設置される。また、反射材は、再帰反射素材を含む塗料を壁等に塗布したり、再帰反射素材を含む粘着テープを壁等に貼り付けたり、再帰反射素材を含むロープ等(通常のロープ等に再帰反射素材を含む塗料を塗布したり、再帰反射素材を含む粘着テープを巻いたりして作成してもよい)を空中にぶら下げたりして設置することができる。
【0036】
図1に戻り、操作取得部32は、入力デバイスとしてのジョイスティック等で構成され、ユーザの操作を取得する。操作取得部32は、操作取得手段として機能する。図4に示すように、操作取得部32は、レバー321と、表示パネルと一体化したタッチパネル322と、を備える。そしてユーザは、レバー321を倒す方向で進行方向を、倒す量(倒し角)で移動速度を、それぞれ自律移動装置100に指示することができる。また、タッチパネル322には、ユーザの指示を受け付けるUI(User Interface)としての操作メニュー(最大速度、加速度等の設定や当該設定値の選択、目的地の指定、移動停止指示、教示、再生、再生補正、逆再生、自動判定再生、ループ再生等の開始及び終了の指示、動作モード(自律移動モード、マニュアル移動モード等)の選択等を行うメニュー)が表示され、ユーザはそれらにタッチすることによって、自律移動装置100に各指示を与えることができる。操作取得部32は、操作取得手段として機能する。
【0037】
なお、操作取得部32は、タッチパネルではなく、物理ボタンで教示開始、教示終了、再生開始/終了、再生補正開始/終了、逆再生開始/終了、もしくは自動判定再生開始/終了、ループ再生開始/終了などを指示可能な操作取得部にしても良い。物理ボタンは、屋外の作業現場などでは視認性が高く、利便性が向上する。なお、逆再生とは、教示されて最終的に得られた教示データを逆向きに用いて再生することにより、自律移動装置100を教示終了地点から教示開始地点に戻すような移動をさせる再生処理である。また、自動判定再生とは、自己位置を認識させるために行う再生処理である。また、ループ再生とは、教示されたデータを繰り返し再生することにより、教示開始地点から教示終了地点までの移動を繰り返し行う再生処理である(ループ再生を正常に行うには教示終了地点が教示開始地点になるように教示する必要がある)。
【0038】
また、教示には、追従物を追従させることによって教示する追従教示だけでなく、操作取得部32のジョイスティック等で自律移動装置100を手動操縦することによって教示する操縦教示がある。ユーザは、追従教示と操縦教示のどちらの教示を行うかについても、操作取得部32で指示することができる。以降では、主に追従教示の処理について説明するが、追従教示と操縦教示とは、教示用制御データを追従物の追従によって取得するのか、操作取得部32で取得するのかが異なるだけであるため、本発明は、追従教示だけでなく、操縦教示を含むその他の任意の動作による教示(手押し、外部システムからの入力等)にも適用可能である。
【0039】
図1に戻り、駆動部40は、制御部10からの指示(制御)により自律移動装置100を移動させる。駆動部40は、移動手段として機能する。図2に示すように、駆動部40は、独立2輪駆動の車輪41とモータ42とキャスター43とを備える。自律移動装置100は、2つの車輪41の同一方向駆動により前後の平行移動(並進移動)を、2つの車輪41の逆方向駆動によりその場での回転(向き変更)を、2つの車輪41のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。また、各々の車輪41にはロータリエンコーダが備えられており、制御部10は、ロータリエンコーダで計測した車輪41の回転数と、車輪41の直径や車輪41間の距離等とを用いることによって並進移動量及び回転量を計算できる。
【0040】
例えば、車輪41の直径をD、回転数をCとすると、その車輪41の接地部分での並進移動量はπ・D・Cとなる。また、車輪41の直径をD、車輪41間の距離をI、右の車輪41の回転数をCR、左の車輪41の回転数をCLとすると、向き変更の回転量は(右回転を正とすると)360°×D×(CL-CR)/(2×I)となる。この並進移動量及び回転量をそれぞれ逐次足し合わせていくことで、駆動部40はメカオドメトリとしても機能し、制御部10は、自律移動装置100の位置(移動開始時の位置及び向きを基準とした位置及び向き)を把握することができる。
【0041】
なお、車輪41の代わりにクローラを備えるようにしても良いし、複数(例えば二本)の足を備えて足で歩行することによって移動を行うようにしても良い。これらの場合も、二つのクローラの動き、足の動き等に基づいて、車輪41の場合と同様に自律移動装置100の位置及び向きの計測が可能である。
【0042】
また、図2に示すように、自律移動装置100は、荷台51を備え、搬送物品等を荷台51に搭載して目的地に運ぶことができる。また、自律移動装置100は、バンパー52を備え、他の物体に衝突した時に停止し、衝撃を和らげることができる。
【0043】
次に、自律移動装置100の制御部10の機能的構成について説明する。図1に示すように、制御部10は、周辺情報取得部11、地図作成部12、経路生成部13、周辺情報変換部14、移動制御部15、としてそれぞれ機能し、自律移動装置100の移動制御等を行う。
【0044】
周辺情報取得部11は、検出部31が検出した物体を認識し、当該物体の情報として、種類(人、障害物、反射材等の種別)、距離、方向等を取得する。また、操作取得部32に教示開始の指示が入力されると、前方に存在する人を追従物として認識する。
【0045】
地図作成部12は、検出部31で検出した点群のデータ(例えば、周辺の物体(壁、障害物、反射材等)の位置(距離、方向等)等の存在状況を示す周辺環境データ)に基づいて自律移動装置100の周辺環境の地図データを作成する。地図データのデータ形式は任意である。地図作成部12は、検出部31で検出したデータを用いて、例えば、SLAM(Simultaneous Localization And Mapping)により地図データを作成してもよい。また、地図作成部12は、自律移動装置100が所定の距離(例えば10cm)移動するたびに、検出部31で検出したデータ(周辺の物体の存在状況を示す周辺環境データ)を、自律移動装置100の現在の位置(自己位置)の情報と共に後述する地図記憶部22に記録していくことによって、地図データを構成してもよい。また、地図作成部12は、自律移動装置100の現在の位置(自己位置)の情報については、駆動部40から得られるメカオドメトリの値を用いて取得してもよい。
【0046】
経路生成部13は、目的地が与えられると、地図記憶部22に記録されている地図データに基づき、自律移動装置100の現在の位置から与えられた目的地までの移動経路を生成する。この移動経路の生成手法は任意である。例えば、自律移動装置100の現在の位置が過去の追従教示処理において教示開始を指示された位置であり、目的地がその過去に教示終了を指示された位置であるなら、経路生成部13は、その過去に追従物を追従したときの経路(教示ルート)を移動経路として生成してもよい。この場合、経路生成部13は、地図記憶部22に記録されている地図データ上で移動した経路を移動経路として記憶することになる。また、教示ルートは追従物を追従した時の経路に限られず、例えば、操作取得部32により手動操縦することによって移動した経路を、教示ルートとしても良い。
【0047】
周辺情報変換部14は、地図記憶部22に記録されている周辺の物体の情報(周辺環境データ)を、逆方向からのデータに変換する。周辺情報変換部14によるデータの変換について図7A及び図7Bを用いて説明する。地図記憶部22には、まず図7Aに示すような正方向の周辺環境データが記録される。そして、逆方向からのデータとは、自律移動装置100の向きを、当該周辺の物体を検出部31で検出したときの向きとは逆にしたときに、検出部31で検出されるはずの周辺環境データである(図7Bに示す周辺環境データ)。このデータは元のデータ(図7Aに示す周辺環境データ)の前後左右を逆にする(前方に観測された物体が後方に観測されるように、また、左側に観測された物体が右側に観測されるようにする)ことによって得られる。
【0048】
移動制御部15は、駆動部40を制御して、自律移動装置100を移動させる。例えば、操作取得部32に教示開始の指示が入力されてから教示終了の指示が入力されるまでの間は、移動制御部15は、追従物を追従するように駆動部40を制御する。また、操作取得部32に再生開始の指示が入力されると、移動制御部15は、経路生成部13が生成した移動経路にしたがって移動するように、駆動部40を制御する。また、移動制御部15は、動作モードがマニュアル移動モードの場合は、操作取得部32で取得されるユーザからの指示に基づいて駆動部40を制御する。
【0049】
次に、記憶部20の機能的構成について説明する。記憶部20は、地点記憶部21と、地図記憶部22と、を備える。
【0050】
地点記憶部21には、操作取得部32で取得されたユーザの操作に基づいて、自律移動装置100の位置(例えば、移動開始位置や移動終了位置(目的地)等)を判定するためのデータが登録される。例えば、操作取得部32に教示開始の指示が入力されると、自律移動装置100のその時点での位置及び方向で検出部31から検出される周辺環境データが、教示開始地点(第一地点)における地点データ(第一地点データ)として地点記憶部21に登録される。
【0051】
地図記憶部22には、検出部31で検出された周辺環境データに基づいて地図作成部12で作成された地図データが記録される。また、後述する追従教示処理において、追従物を追従した時の経路(教示ルート)も、地図記憶部22に記憶される。
【0052】
次に、自律移動装置100の追従教示処理について、図8を参照して説明する。なお、自律移動装置100が起動すると、この追従教示処理、後述する再生処理及び再生補正処理等が、それぞれ並列に開始され、操作取得部32からユーザの指示が入力されるのを待機している状態になる。
【0053】
まず、制御部10は、操作取得部32から、教示開始の指示が入力されたか否かを判定する(ステップS101)。教示開始の指示が入力されなければ(ステップS101;No)、ステップS101に戻る。教示開始の指示が入力されたら(ステップS101;Yes)、制御部10は、検出部31で検出された周辺環境データを教示開始地点(第一地点)における地点データ(第一地点データ)として地点記憶部21に登録する(ステップS102)。なお、既に地図記憶部22に地図データが記録されていた場合には、制御部10は、教示開始地点が地図データ上のどの位置に対応するかを把握する。
【0054】
そして、周辺情報取得部11は、検出部31により、自律移動装置100の前方に存在するユーザを追従物として認識する(ステップS103)。ステップS103は、追従物認識ステップとも呼ばれる。なお、ステップS102とステップS103は、この順番に実行しなければいけないわけではなく、例えば、ステップS103を実行してからステップS102を実行してもよい。また、操縦教示を行う場合には、ステップS103の処理は不要である。
【0055】
次に、制御部10は周辺情報取得部11に認識された追従物を追従するように駆動部40を制御するためのデータを教示用制御データとして取得し、移動制御部15が当該教示用制御データに従って駆動部40を制御しながら、地図作成部12が自律移動装置100の周辺環境の地図データを作成し(ステップS104)、地図データを地図記憶部22に記録する。なお、操縦教示の場合は、制御部10は、駆動部40を制御するための教示用制御データを操作取得部32から取得する。ステップS104の処理のうち、制御部10が教示用制御データを取得する処理は教示用制御データ取得ステップと呼ばれ、地図作成部12が地図データを作成する処理は地図作成ステップと呼ばれる。なお、周辺情報取得部11で反射材が認識された場合は、地図作成部12は、当該反射材の位置や個数の情報も地図データに含めて地図記憶部22に記録する。
【0056】
長い廊下等のように、特徴量が少ない場所においても、反射材をところどころに設置(壁に貼る等)することにより、地図記憶部22に反射材の存在する場所や個数の情報が記録される。これにより、後述する再生処理の際に、制御部10は、反射材の位置や個数の情報とのマッチングを取り、自律移動装置100の自己位置をより正確に把握することができる。
【0057】
また、ステップS104では、経路生成部13は、追従物を追従したときの経路自体を教示ルートとして地図記憶部22に記録する。この処理は移動経路記憶ステップと呼ばれる。そして、ステップS104では、移動制御部15は、追従物が後退しても自律移動装置100は後退しない(例えば停止する)ように駆動部40を制御する。すなわち、追従物を追従している間は、移動制御部15は、駆動部40に対して後退を指示しないようにする。後述する再生処理の際、移動経路として用いた教示ルートに後退処理が含まれていると、移動処理が複雑になる可能性があるからである。したがって、追従教示の場合だけでなく、操縦教示の場合においても、移動制御部15は、自律移動装置100を後退させないように駆動部40を制御してもよい。
【0058】
そして、制御部10は、操作取得部32から、教示終了の指示が入力されたか否かを判定する(ステップS105)。教示終了の指示が入力されなければ(ステップS105;No)、ステップS104に戻る。教示終了の指示が入力されたら(ステップS105;Yes)、制御部10は、検出部31で検出された周辺環境データを教示終了地点(第二地点)における地点データ(第二地点データ)として地点記憶部21に登録し(ステップS106)、ステップS101に戻る。
【0059】
以上、追従教示処理について説明した。この追従教示処理によって最終的な教示データ(教示ルートに従って教示開始地点から教示終了地点まで移動するように自律移動装置100を制御するためのデータ)が、作成される。なお、上では教示開始地点を第一地点、教示終了地点を第二地点と記載したが、これは、地点記憶部21にこれらの地点が最初に登録された場合の話である。例えば、地点記憶部21に第一地点及び第二地点が登録された後にステップS101に戻り、さらに教示開始の指示が入力された場合は、教示開始地点は第三地点として、教示終了地点は第四地点として、それぞれ地点記憶部21に登録される。このように、教示開始の指示が入力された地点と教示終了の指示が入力された地点とは、累積的に地点記憶部21に登録されていく。
【0060】
追従教示処理の一例について、図9を参照して説明する。最初に自律移動装置100が第一地点81の位置で、ユーザ65から教示開始の指示を受けたものとする(ステップS101)。すると、制御部10は、検出部31で検出された周辺環境データ60aを第一地点データとして、地点記憶部21に登録する(ステップS102)。そして、周辺情報取得部11は、ユーザ65を追従物として認識する(ステップS103)。
【0061】
その後ユーザ65が第二地点82まで歩いていくと、自律移動装置100もユーザ65に追従して第二地点82まで移動するが、移動中に地図作成部12は、検出部31で検出されたデータ(例えば、周辺環境データ60b、60c、60d)に基づいて周辺環境の地図データを作成し(ステップS104)、作成した地図データを地図記憶部22に記録する。
【0062】
そして、ユーザ65が第二地点82で教示終了の指示を操作取得部32に入力すると(ステップS105)、制御部10は、検出部31で検出された周辺環境データ60eを第二地点データとして、地点記憶部21に登録する(ステップS105)。また、制御部10は、第一地点81から第二地点82までの経路(第一教示ルート)も地図記憶部22に記録する。
【0063】
その後、自律移動装置100が第三地点83の位置で第四地点84の方向を向いている状態で、ユーザ66から教示開始の指示を受けたものとする(ステップS101)。すると、制御部10は、検出部31で検出された周辺環境データ60hを第三地点データとして、地点記憶部21に登録する(ステップS102)。そして、周辺情報取得部11は、ユーザ66を追従物として認識する(ステップS103)。
【0064】
その後ユーザ66が第四地点84まで歩いていくと、自律移動装置100もユーザ66に追従して第四地点84まで移動するが、移動中に地図作成部12は、検出部31で検出されたデータ(例えば、周辺環境データ60i)に基づいて周辺環境の地図データを作成し(ステップS104)、作成した地図データを地図記憶部22に記録する。
【0065】
そして、ユーザ66が第四地点84で教示終了の指示を操作取得部32に入力すると(ステップS105)、制御部10は、検出部31で検出された周辺環境データ60jを第四地点データとして、地点記憶部21に登録する(ステップS105)。また、制御部10は、第三地点83から第四地点84までの経路(第二教示ルート)も地図記憶部22に記録する。
【0066】
このようにして、地点記憶部21には各地点の地点データが登録され、地図記憶部22には地図データや教示ルートが記録されていく。
【0067】
次に、自律移動装置100の再生処理について、図10を参照して説明する。上述したように、この再生処理も、自律移動装置100が起動すると実行が開始され、操作取得部32からユーザの指示が入力されるのを待機している状態になる。
【0068】
まず、制御部10は、操作取得部32から、再生開始の指示が入力されたか否かを判定する(ステップS201)。再生開始の指示が入力されなければ(ステップS201;No)、ステップS201に戻る。再生開始の指示が入力されたら(ステップS201;Yes)、制御部10は、自律移動装置100の現在地を取得可能か判定する(ステップS202)。
【0069】
ここで、現在地の取得方法は任意である。例えば、制御部10は、SLAMを用いて自律移動装置100の現在地を取得してもよい。また、制御部10は、検出部31で取得されるデータを地点記憶部21に登録されている各地点のデータと照合することによって現在地を取得してもよい。検出部31で取得されるデータを地点記憶部21に登録されている各地点のデータと照合することによって現在地を取得する方法について、以下に補足説明する。
【0070】
検出部31で取得されるデータの角度範囲は、自律移動装置100がどの方向を向いていても、ある程度の重複が生じるので、重複する部分についてマッチングを行うことにより、現在地が地点記憶部21に登録されている地点であるか否か、及び、登録されている地点であるなら、そのうちのどの地点なのかを判定できる。例えば、検出部31が角度範囲270度のデータを取得しており、自律移動装置100の現在位置が第二地点82である場合を想定する。
【0071】
この場合、図9に示すように、第二地点82に位置する自律移動装置100が、第一地点81とは反対の方向を向いている時に検出部31で検出されるデータは周辺環境データ60eであり、第一地点の方向を向いている時に検出部31で検出されるデータは周辺環境データ60fであり、両者の間には網掛け部分60efに示すように重複部分がある。したがって、周辺環境データ同士を照合する際には、例えば一方の周辺環境データを少しずつ回転させながら照合させていき、半分以上(180度分以上)がマッチングしたら、同一の地点から得られた周辺環境データであると推定することができる。
【0072】
このようにして、制御部10は、検出部31で検出された周辺環境データを地点記憶部21に登録されている各地点のデータと照合することによって、現在地が地点記憶部21に登録されている地点のうちのどの地点なのかを取得することができる。なお、もし地点記憶部21に登録されているどの地点ともマッチングしない場合には、現在地の取得は不可能となり、ステップS202での判定はNoとなる。
【0073】
図10のステップS202に戻り、制御部10が自律移動装置100の現在地を取得可能でなければ(ステップS202;No)、ステップS201に戻る。現在地を取得可能なら(ステップS202;Yes)、制御部10は現在地を取得する(ステップS203)。
【0074】
そして、経路生成部13は自律移動装置100の現在地から目的地までの移動経路を生成する(ステップS204)。ステップS204は、移動経路生成ステップとも呼ばれる。ここで、目的地としては、地点記憶部21に登録されている任意の地点を選択可能である。もし、地点記憶部21に2つの地点しか登録されておらず、その2つの地点のうちの一方が現在地であるなら、目的地は現在地ではないもう一方の地点となる。それ以外の場合は、登録されている地点(ただし現在地を除く)の中のどの地点を目的地とするかをユーザに操作取得部32から入力してもらうことになる。
【0075】
そして、経路生成部13は、地図記憶部22に記録されている地図データに基づき、現在地から目的地までの移動経路を生成する。この移動経路の生成手法は任意である。経路生成部13は、地図データから得られる自律移動装置100が移動可能なパスを用いて現在地から目的地までの最短経路を生成してもよいし、追従教示処理の際に記録した教示ルートに基づいて移動経路を生成してもよい。また、例えば、現在地が教示終了地点で目的地が教示開始地点である場合は、経路生成部13は、追従教示処理の際に記録した教示ルートを逆向きに辿るルートを移動経路として生成してもよい。以下では、経路生成部13が、教示ルート及び教示ルートを逆向きに辿るルートを用いて移動経路を生成するものとして説明する。
【0076】
そして、経路生成部13が追従教示処理の際に記録した教示ルートを逆向きに辿るルートを移動経路として生成する場合、周辺情報変換部14は、地図記憶部22に記憶されている教示ルートに関係した地図データのうち、検出部31で検出された周辺環境データを、当該周辺環境を逆方向から検出した場合のデータ(逆方向データ)に変換して地図記憶部22に記録する。この逆方向データにより、自律移動装置100は容易に教示ルートを逆向きに辿ることができるようになる。
【0077】
ステップS204で経路生成部13により移動経路が生成されたら、移動制御部15は、その移動経路に従って移動するように駆動部40を制御する(ステップS205)。ステップS205は、経路移動ステップとも呼ばれる。この移動中、制御部10は検出部31で検出された周辺環境データと地図記憶部22に記録されている地図データとを用いて、自律移動装置100の現在の位置及び向きを把握する。
【0078】
なお、地図データに反射材の配置や個数の情報が記録されている場合は、制御部10は、自律移動装置100の現在の位置及び向きを把握する際に、周辺情報取得部11で認識された反射材の情報(反射材の位置や個数)を優先して地図データとマッチングさせる。もし、反射材の情報がマッチングしない(例えば反射材の個数が異なる)状態が所定の時間(例えば10秒間)や所定の移動距離(例えば10m)続いた場合には、制御部10は、自律移動装置100を停止させてもよい。反射材は、他の通常の物体と比較して、検出部31でその位置や個数を精度良く認識でき、マッチングしない状態が所定の時間や移動距離の間続いたということは、自律移動装置100が本来の経路から外れている可能性が高いことを意味するからである。
【0079】
そして制御部10は、検出部31で検出された周辺環境データを用いて進行方向に障害物があるか否かを判定する(ステップS206)。進行方向に障害物がないと判定したら(ステップS206;No)、制御部10は、検出部31で検出された周辺環境データを地点記憶部21に登録されている地点データと照合することによって、自律移動装置100が目的地に到着したか否かを判定する(ステップS207)。この判定は、上述したステップS203での現在地取得と同様にして取得した現在地が目的地と同一かどうかを判定することによって行うことができる。
【0080】
目的地に到着していなければ(ステップS207;No)、ステップS205に戻る。目的地に到着したら(ステップS207;Yes)、移動制御部15は駆動部40を停止させ(ステップS208)、ステップS201に戻る。
【0081】
一方、ステップS206において、進行方向に障害物が存在すると判定したら(ステップS206;Yes)、制御部10は、その障害物を回避可能か否かを判定する(ステップS209)。本実施形態では、次の2つの条件を満たせば、制御部10は、障害物を回避可能と判定する。
(1)制御部10が自律移動装置100の現在の位置(自己位置)を見失わない(例えば検出部31で検出される周辺環境データを地図記憶部22に記録されている地図データと照合することにより自己位置を把握できる)範囲で障害物を回避できる。
(2)障害物と障害物又は壁との間に自律移動装置100が通り抜けられるだけの幅が存在する。
【0082】
制御部10が障害物を回避可能と判定したら(ステップS209;Yes)、移動制御部15が当該障害物を回避するように駆動部40を制御することにより、障害物を回避して移動する(ステップS210)。そして、再度、制御部10は検出部31で検出されるデータを用いて、進行方向に障害物があるか否かを判定する(ステップS211)。障害物があるなら(ステップS211;Yes)、ステップS209に戻る。
【0083】
障害物がないなら(ステップS211;No)、元の移動経路に戻るように移動制御部15が駆動部40を制御することにより、元の移動経路に復帰し(ステップS212)、ステップS205に戻る。上述したように、障害物の回避は自律移動装置100の現在の位置を見失わない範囲で行われるため、移動制御部15が現在の位置と元の移動経路との位置のずれを小さくするように駆動部40を制御して移動することにより、自律移動装置100は元の移動経路に復帰することができる。
【0084】
一方、ステップS209で、制御部10が障害物を回避不可能と判定したら(ステップS209;No)、移動制御部15は駆動部40を停止させる(ステップS213)。そして、制御部10は、操作取得部32からユーザの指示が入力されたか否かを判定する(ステップS214)。ユーザの指示が入力されていなければ(ステップS214;No)、ステップS211に進む。時間の経過により、障害物が取り払われている可能性があるからである。
【0085】
ユーザの指示が入力されたら(ステップS214;Yes)、制御部10は、ユーザの指示に従い(ステップS215)、ステップS211に進む。ステップS215では、例えば、ユーザの指示により、自律移動装置100が障害物のない場所や障害物を回避可能な場所に移動することが想定される。
【0086】
上述の再生処理における障害物回避について図11を参照して補足説明する。例えば、自律移動装置100が第一地点81から第二地点82に移動中に、障害物73及び障害物74を検出した場合を想定する。この場合、図11に示すように、これらの障害物を回避するには進行方向を少し右にずらす(元々の移動経路62の代わりに回避経路67を移動する)必要がある。そして、元々の移動経路62を移動する際に検出部31で検出される周辺環境データ60b,60cと、回避経路67を移動する際に検出部31で検出される周辺環境データ60mとの間での差異は小さく、制御部10が自律移動装置100の自己位置を見失うことはないと考えられる。また、図11に示すように、障害物73と障害物74との間には、自律移動装置100が通り抜けられるだけの幅が存在する。したがって、この場合は、制御部10は障害物を回避可能と判定する。
【0087】
次の例として、障害物73が図11に示す回避経路67よりも右までせり出している等、回避経路68を移動しないと障害物73を回避できない場合を想定する。この場合、元々の移動経路62を移動する際に検出部31で検出される周辺環境データ60b,60cと、回避経路68を移動する際に検出部31で検出される周辺環境データ60nとの間での差異が大きく、制御部10が自律移動装置100の自己位置を見失う可能性が高いので、制御部10は、障害物を回避不可能と判定する。
【0088】
また、制御部10が自律移動装置100の自己位置を見失わない範囲で障害物73を回避できる場合でも、障害物74がもっと障害物73に近い場所にある等、障害物73と障害物74との間に自律移動装置100が通り抜けられるだけの幅が存在しない場合は、制御部10は、障害物を回避不可能と判定する。
【0089】
以上、再生処理について説明した。再生処理の一例について、図9を参照して説明する。まず、事前に上述の追従教示処理によって、自律移動装置100が第一地点81から第二地点82までユーザを追従して、教示が行われているものとする。そしてこの追従教示処理の結果、第一地点データと第二地点データが地点記憶部21に登録され、第一地点81から第二地点82までの経路(第一教示ルート)やその間の周辺環境データが地図記憶部22に記録されているものとする。
【0090】
そして、自律移動装置100が、第一地点81の方向を向いた状態で第二地点82に位置している状態で、ユーザから再生開始の指示を受けたものとする(ステップS201)。すると、制御部10は、自律移動装置100の現在地を取得可能か判定する(ステップS202)。この例では、制御部10は、検出部31で検出された周辺環境データ60fを、地点記憶部21に登録されている第一地点データ(周辺環境データ60a)及び第二地点データ(周辺環境データ60e)と照合する。
【0091】
すると、周辺環境データ60fと周辺環境データ60eとは、上述したように図9の網掛け部分60efに示す部分においてマッチングが取れるため、制御部10は、現在地が第二地点82であると判定できる。したがって、ステップS202での判定はYesとなり、制御部10は現在地が第二地点82であることを取得する(ステップS203)。
【0092】
そして、経路生成部13は現在地から目的地までの移動経路を生成する(ステップS204)。この例では、地点記憶部21には第一地点データと第二地点データしか登録されておらず、現在地は第二地点82なので、目的地として第一地点81が設定される。そして、経路生成部13は、第二地点82から第一地点81までの移動経路として、追従教示処理の際に地図記憶部22に記録した第一教示ルートを逆向きに辿るルートを生成する。
【0093】
そして、周辺情報変換部14は、地図記憶部22に記憶されているデータのうち、ユーザを追従した際に検出部31で検出された周辺環境データ60a,60b,60c,60dを、当該周辺環境を逆方向から検出した場合のデータに変換して逆方向データ(逆方向データ60a’,60b’,60c’,60d’)を生成し、地図記憶部22に記録する。
【0094】
なお、本実施形態では検出部31は270度の角度範囲で周辺環境を検出するので、後方の90度の角度範囲のデータは検出できない。したがって、図9に示すように、周辺環境を逆方向から検出した場合のデータに変換すると、前方の90度の範囲のデータは生成できず、逆方向データ60a’,60b’,60c’,60d’は、左右それぞれ90度の角度範囲のデータとなる。このようなデータでも、上述したステップS203での現在地取得で説明したように、検出部31で検出した周辺環境データとマッチングを取ることが可能である。もちろん、検出部31として360度の角度範囲で周辺環境を検出できるデバイスを用いれば、追従時の周辺環境データを、360度の角度範囲の逆方向データに変換可能である。
【0095】
また、自律移動装置100は移動することにより、様々な場所及び方向から検出部31で周辺環境を検出することができる。このため、検出部31が検出可能な角度範囲が(例えば180度以下に)限定されていても、複数を用いる等することで、様々な場所及び方向から検出した周辺環境を統合することによって、図7Aに示すような正方向の周辺環境データを取得することができ、周辺情報変換部14は、この正方向の周辺環境データを逆方向の周辺環境データに変換することができる。なお、検出部31が、3Dデータを取得可能なデバイスであった場合でも同様に変換可能である。
【0096】
そして、制御部10は検出部31で検出される周辺環境データと周辺情報変換部14で生成した逆方向データ(例えば逆方向データ60a’,60b’,60c’,60d’)とを照合して自律移動装置100の現在の位置及び向きを把握しつつ、移動制御部15は移動経路に従って移動するように駆動部40を制御する(ステップS205)。図9の例では障害物はないのでステップS206での判定はNoとなり、自律移動装置100が目的地(第一地点81)に到着するまで移動経路に従って移動を続け、目的地(第一地点81)に到着したら(ステップS207;Yes)、停止する(ステップS208)。
【0097】
このようにして、自律移動装置100は、教示された経路を、教示されたときの移動方向以外の方向(上述の例では逆方向)で用いて移動することができる。これにより、自律移動装置100は、より柔軟な経路生成と運用を可能にする。
【0098】
なお、自律移動装置100が、第一地点81とは反対方向を向いた状態で第二地点82に位置している状態で、ユーザから再生開始の指示を受けた場合は、制御部10は、検出部31で検出された周辺環境データ60eを、地点記憶部21に登録されている第一地点データ(周辺環境データ60a)及び第二地点データ(周辺環境データ60e)と照合することにより、自律移動装置100の現在の位置が第二地点82であり、自律移動装置100が第一地点81とは反対方向を向いていることを把握する。この場合は、移動制御部15は自律移動装置100の向きを反対方向にするように駆動部40を制御してから、上述のようにして、第一地点81に移動することになる。
【0099】
また、その後、上述の追従教示処理によって、自律移動装置100が第三地点83から第四地点84までユーザを追従して、教示が行われたものとする。すると、この追従教示処理の結果、地点記憶部21には、第一地点データと第二地点データ以外に第三地点データと第四地点データも登録される。そして、第三地点83から第四地点84までの経路(第二教示ルート)やその間の周辺環境データも地図記憶部22に記録される。また、第三地点83は、最初に教示を受けた第一地点81から第二地点82までの経路(第一教示ルート)上に存在するので、制御部10は、第三地点83が地図記憶部22に記録されている第一教示ルート上に存在する地点であることを把握する。
【0100】
そして、自律移動装置100が、第三地点83の方向を向いた状態で第四地点84に位置している状態で、ユーザから再生開始の指示を受けたものとする(ステップS201)。すると、上述の第二地点82から再生を開始した時と同様に、制御部10は、検出部31で検出された周辺環境データ60kを、地点記憶部21に登録されている第一地点データ(周辺環境データ60a)、第二地点データ(周辺環境データ60e)、第三地点データ(周辺環境データ60h)及び第四地点データ(周辺環境データ60j)と照合する。
【0101】
すると、周辺環境データ60kと周辺環境データ60jとは、上述したように左右それぞれ90度の角度範囲においてマッチングが取れるため、制御部10は、現在地が第四地点84であると判定できる。したがって、ステップS202での判定はYesとなり、制御部10は現在地が第四地点84であることを取得する(ステップS203)。
【0102】
そして、経路生成部13は現在地から目的地までの移動経路を生成する(ステップS204)。この例では、地点記憶部21には第一地点データ、第二地点データ、第三地点データ及び第四地点データが登録されており、現在地は第四地点84なので、目的地を第一地点81、第二地点82、第三地点83のいずれにするか、ユーザに指示を求め、ユーザに操作取得部32から目的地を入力してもらう。ここでは、ユーザが目的地として第二地点82を指定したものとする。
【0103】
すると、経路生成部13は、第四地点84から第二地点82までの移動経路として、追従教示処理の際に地図記憶部22に記録された第二教示ルートを逆向きに辿って第三地点83に到達した後に、地図記憶部22に記録された第一教示ルートの途中から追従した時の方向に第二地点82まで辿るルートを生成する。なお、上述の教示再生処理で第三地点83が地点記憶部21に登録される際に、制御部10は第三地点83が第一教示ルート上の地点であることを把握しているため、第二教示ルートが第三地点83で第一教示ルートと接続していることを認識できる。このようにして、経路生成部13は、それまでに記録した教示ルートを任意に接続した移動経路を生成することができる。
【0104】
そして、周辺情報変換部14は、地図記憶部22に記憶されている地図データのうち、第二教示ルートでユーザを追従した際に検出部31で検出された周辺環境データ60h,60iを、当該周辺環境を逆方向から検出した場合のデータに変換して逆方向データ(逆方向データ60h’,60i’)を生成し、地図記憶部22に記録する。
【0105】
そして、制御部10は自律移動装置100の現在の位置及び向きを把握しつつ、移動制御部15は自律移動装置100が移動経路に従って移動するように駆動部40を制御する(ステップS205)。図9の例では障害物はないのでステップS206での判定はNoとなり、自律移動装置100が目的地(第二地点82)に到着するまで移動経路に従って移動を続け、目的地(第二地点82)に到着したら(ステップS207;Yes)、停止する(ステップS208)。
【0106】
なお、ステップS205では、第四地点84から第三地点83までの間は、第二教示ルートを逆方向に辿るので、検出部31で検出される周辺環境データと周辺情報変換部14で生成した逆方向データ(例えば逆方向データ60h’,60i’)とを照合して制御部10は自律移動装置100の現在の位置及び向きを把握する。また、第三地点83から第二地点82までの間は、第一教示ルートを順方向に辿るので、検出部31で検出される周辺環境データを地図記憶部22に記憶されている周辺環境データ(例えば周辺環境データ60c,60d,60e)と照合して制御部10は自律移動装置100の現在の位置及び向きを把握する。
【0107】
このようにして、自律移動装置100は、教示された経路を、教示されたときの移動方向以外の方向(上述の例では逆方向)で用いて移動することができるだけでなく、教示された複数のルートを組み合わせた経路を移動することもできる。
【0108】
次に、自律移動装置100の再生補正処理について、図12を参照して説明する。上述したように、この再生補正処理も、自律移動装置100が起動すると実行が開始され、操作取得部32からユーザの指示が入力されるのを待機している状態になる。
【0109】
また、再生補正処理は、上述の再生処理(図10)と比較すると、異なる点は、ステップS205とステップS206の間でステップS221が実行される点のみである。したがって、ステップS221を中心に説明する。
【0110】
上述したように、ステップS205で自律移動装置100が移動中に、制御部10は検出部31で検出された周辺環境データと地図記憶部22に記録されている地図データとを用いて、自律移動装置100の現在の位置及び向きを把握する。その際、上述の再生処理では、特に反射材の情報がマッチングしなかった場合には、制御部10は、自律移動装置100が本来の経路から外れている可能性が高いと判断した。
【0111】
これに対し、再生補正処理では、制御部10は、検出部31で検出された周辺環境データと地図記憶部22に記録されている地図データとがマッチングしなかった場合には、検出部31で検出された周辺環境データの方を正しいデータとみなして、地図記憶部22に記録されている地図データを補正する(ステップS221)。
【0112】
この補正を常に行うと、自律移動装置100の移動がかえって不安定になるおそれもあるため、補正に用いる対象は、反射材に限定してもよい。すなわち、周辺環境データと地図データとがマッチングしなかった場合、周辺環境データに含まれる反射材の情報については地図データの補正に用い、周辺環境データに含まれる反射材以外の情報は地図データと照合して自律移動装置100の現在の位置及び向きの補正に用いるようにしてもよい。
【0113】
このように再生補正処理では、周辺環境の一部が変化した場合(例えば物流倉庫において、パレットに山積みされた荷物が、昨日までは存在していたが、本日はなくなっていた場合等)にも、地図データを補正することができる。また、廊下の壁等に設置されている反射材を追加する等して、その後の再生処理の精度を向上させることができる。
【0114】
また、制御部10は、上述の追従教示処理において、認識した追従物を追従する際(教示用制御データに従って駆動部40を制御する際)に、一時停止する場所P1と一時停止する時間T1を記憶して、記憶した移動経路に従って移動する際(再生処理や再生補正処理の際)に一時停止する場所P1で一時停止する時間T1だけ停止するように自律移動装置100を制御してもよい。例えば、自律移動装置100が記憶した移動経路上に、自動シャッターがある場合に、自動シャッターの場所を記憶し、扉が全て開くまで、自動シャッターの手前で自律移動装置100を一時停止させることで、より柔軟に動作させることが可能であるためである。一時停止する場所P1や一時停止する時間T1の記憶は、追従教示処理の最中に行えるようにしてもよいし、追従教示処理の終了後に教示データを編集する形で行えるようにしてもよい。
【0115】
また、制御部10は、上述の追従教示処理において、認識した追従物を追従する際(教示用制御データに従って駆動部40を制御する際)に、所定の機器への制御信号Sを出力する出力場所P2(と必要な場合は一時停止する時間T2)を記憶して、記憶した移動経路に従って移動する際(再生処理や再生補正処理の際)に所定の機器への信号を出力する出力場所P2で制御信号Sを出力し、所定の機器を作動させる(又は作動させない)ように制御してもよい。例えば、制御部10で、0000~1111の4bitの出力パターンを記憶することができる場合に、自律移動装置100に接続されている牽引パレット等との接続機構を切り離す制御信号S1の出力パターンとして0001、接続機構を切り離さない制御信号S2の出力パターンとして0000が定義されているものとする。すると、所定の出力場所P2で、0001の出力パターンの制御信号S1を出力することにより、自律移動装置100に接続されている牽引パレット等との接続機構を切り離す(さらに切り離しに必要な時間T2だけ一時停止する)、0000の出力パターンの制御信号S2を出力することにより、自律移動装置100に接続されている牽引パレット等との接続機構を切り離さない等の設定を記憶することができる。これにより、自律移動装置100が記憶した移動経路上の所定の場所で、自律移動装置100に接続されている牽引パレット等との接続機構を切り離して荷物を置いてくるか否かを選択し、より柔軟に動作させることが可能となる。制御信号S、制御信号を出力する出力場所P2、一時停止する時間T2の記憶は、追従教示処理の最中に行えるようにしてもよいし、追従教示処理の終了後に教示データを編集する形で行えるようにしてもよい。なお、自律移動装置100は、所定の機器として、紫外線照射ランプを備えても良い。すると、同様に、「所定の機器への制御信号の出力」を紫外線照射ランプのオンオフ制御に使うことができる。例えば、出力場所P2で制御信号Sを出力し、紫外線照射ランプを作動させる(又は停止する)ように制御することができる。
【0116】
また、自律移動装置100は、出力場所P2の代わりに制御信号Sを出力する条件Cを記憶できるようにしてもよい。すなわち、上述の追従教示処理において、認識した追従物を追従する際(教示用制御データに従って駆動部40を制御する際)に、所定の機器への制御信号Sを出力する条件Cを記憶して、記憶した移動経路に従って移動する際(再生処理や再生補正処理の際)に、条件Cが満たされたら所定の機器へ制御信号Sを出力し、所定の機器を作動させる(又は作動させない)ように制御してもよい。例えば「検出部31で人が近づいたことを検知」という条件Cを記憶させることで、検出部31で人が近づいてくることを検知すると、紫外線照射を止めるように制御することができる。また、教示時と再生時とで、所定の機器を変更可能にしてもよい。例えば、再生時においては紫外線照射を行いたいが、教示時には紫外線を照射したくない(ただし、紫外線照射がどのように行われるかをパイロットランプ等で確認したい)場合には、所定の機器を「教示時:パイロットランプ、再生時:紫外線照射ランプ」というような形式で設定可能にしてもよい。このようにすると、自律移動装置100は、教示中においては、紫外線照射を止めて、別のパイロットランプ等により出力信号を確認でき、再生中においては紫外線照射するように構成可能である。これにより、特定の箇所にだけ紫外線の照射を行うことができ、また人が付近にいた際には紫外線の照射を止めることができる。
【0117】
さらに、自律移動装置100は、速度モードを選択できるようにしてもよい。速度モードとしては、例えば、教示速度モード(追従教示や操縦教示が行われた時の実際の速度を記憶して、再生時には教示時と同じ速度で移動するモード)や、設定速度モード(ユーザが再生時の速度として、任意の制御速度を記憶させることができ、再生時には記憶された制御速度で移動するモード)を存在する。そして、制御部10は、上述の追従教示処理において、速度モードを選択することができ、選択した速度モードを地図データと合わせて記憶する。
【0118】
速度モードとして設定速度モードが選択された場合には、制御部10は、上述の追従教示処理において、認識した追従物を追従する際(教示用制御データに従って駆動部40を制御する際)にユーザが設定した制御速度を記憶し、移動経路に従って移動する際(再生処理や再生補正処理の際)は、認識した追従物を追従する際に記憶した制御速度で移動するように自律移動装置100を制御してもよい。または、速度モードとして教示速度モードが選択された場合には、制御部10は、上述の追従教示処理において、追従物を追従した際の実際の速度を記憶し、移動経路に従って移動する際(再生処理や再生補正処理の際)には、教示時と同じ速度になるように自律移動装置100を制御してもよい。
【0119】
このように、制御部10は、上述の追従教示処理において、認識した追従物を追従する際(教示用制御データに従って駆動部40を制御する際)にユーザが選択した速度モードやユーザが設定した制御速度を記憶して、移動経路に従って移動する際(再生処理や再生補正処理の際)に、記憶した速度モード又は制御速度に基づいて移動速度を制御するように駆動部40を制御してもよい。これにより、再生する際に好適な速度で動作させることが可能になる。制御速度もしくは速度モードの記憶は、追従教示処理の最中に行えるようにしてもよいし、追従教示処理の終了後に教示データを編集する形で行えるようにしてもよい。また、制御速度としては、移動経路上の任意の場所における速度を記憶できるようにしてもよい。例えば直進する際の制御速度は比較的速い速度を記憶し、曲がる際の制御速度は比較的遅い速度を記憶してもよい。また、条件によって異なる制御速度を設定できるように複数の制御速度を記憶できるようにしてもよい。例えば、積み荷が基準重量(例えば10kg)よりも重い場合の制御速度として比較的遅い速度を記憶し、積み荷が基準重量以下の場合の制御速度として比較的速い速度を記憶するようにしてもよい。
【0120】
なお、上述したような様々なデータ(一時停止する場所P1、時間T1、制御信号S、出力場所P2、条件C、速度モード、制御速度等)を教示データに追加記憶させることについては、追従物を認識させて追従させることによって教示する追従教示の場合に限られず、ジョイスティック等の操作取得部32を用いて教示させる操縦教示の場合であっても適用できる。
【0121】
(変形例)
自律移動装置100は、図2に示すように、検出部31が操作取得部32の上方にあるが、検出部31の設置位置はこれに限定されない。例えば、図13に示すように、実施形態1の変形例に係る自律移動装置101は、検出部31を荷台51の下方に備える。自律移動装置100でも、検出部31のみで障害物を検出できることは上述したとおりであるが、変形例に係る自律移動装置101においては、より低い位置で障害物を検出できるため、比較的小さい障害物であっても回避可能になる。
【0122】
なお、障害物に関しては、検出部31とは別に、障害物を検出するための専用のセンサを設けてもよい。障害物を検出するための専用のセンサとしては、例えば、バンパー52に、バンパーセンサを設置することが考えられる。この場合、制御部10は、バンパーセンサで障害物に接触したことを検出したら、自律移動装置100,101を停止させたり、少し後退させたり等の処理を行うことができる。
【0123】
なお、自律移動装置100,101の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、自律移動装置100,101が行う追従教示処理、再生処理等のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の機能を実現することができるコンピュータを構成してもよい。
【0124】
以上、本発明の好ましい実施形態について説明したが、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【0125】
10…制御部、11…周辺情報取得部、12…地図作成部、13…経路生成部、14…周辺情報変換部、15…移動制御部、20…記憶部、21…地点記憶部、22…地図記憶部、31…検出部、32…操作取得部、40…駆動部、41…車輪、42…モータ、43…キャスター、51…荷台、52…バンパー、60…点線、60a,60b,60c,60d,60e,60f,60h,60i,60j,60k,60m,60n…周辺環境データ、60a’,60b’,60c’,60d’,60h’,60i’…逆方向データ、60ef…網掛け部分、61…人、62…移動経路、63,64…反射材、65,66…ユーザ、67,68…回避経路、71…壁、72,73,74…障害物、81,82,83,84…地点、100,101…自律移動装置、311…光学窓、312…レーザ、313…回転軸、321…レバー、322…タッチパネル
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
図11
図12
図13