(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172080
(43)【公開日】2023-12-06
(54)【発明の名称】自律移動装置、自律移動装置の制御方法及びプログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20231129BHJP
【FI】
G05D1/02 H
G05D1/02 W
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022083646
(22)【出願日】2022-05-23
(71)【出願人】
【識別番号】517270798
【氏名又は名称】株式会社Doog
(71)【出願人】
【識別番号】501203344
【氏名又は名称】国立研究開発法人農業・食品産業技術総合研究機構
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100174067
【弁理士】
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100169753
【弁理士】
【氏名又は名称】竹内 幸子
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】大島 章
(72)【発明者】
【氏名】柄川 索
(72)【発明者】
【氏名】城吉 宏泰
(72)【発明者】
【氏名】塚本 隆行
(72)【発明者】
【氏名】吉永 慶太
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA03
5H301AA10
5H301CC04
5H301CC07
5H301CC08
5H301CC10
5H301GG14
5H301GG17
5H301HH01
5H301HH02
5H301JJ01
5H301QQ08
(57)【要約】
【課題】自律移動装置が傾斜面を走行している間に生じる種々のリスクを低減する。
【解決手段】自律移動装置100は、車体を走行させる駆動部140と、車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部130と、駆動部140による走行中に姿勢検出部130で検出された検出値に基づいて走行面を判別し、判別された走行面に基づいて駆動部140を制御する制御部110と、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車体を走行させる駆動部と、
前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別し、判別された前記走行面に基づいて前記駆動部を制御する制御部と、
を備える自律移動装置。
【請求項2】
追従対象までの距離である追従距離を検出する追従距離検出部をさらに備え、
前記制御部は、
前記追従対象を追従するように前記駆動部を制御し、
前記追従距離検出部で検出した追従距離が追従停止距離以下になると前記駆動部を停止させ、
判別された前記走行面に基づいて前記追従停止距離を調整する、
請求項1に記載の自律移動装置。
【請求項3】
前記制御部は、
前記姿勢検出部で検出されたピッチ角に基づいて走行面が下り斜面であるか否かを判別し、
走行面が下り斜面である時には、走行面が下り斜面でない時よりも前記追従停止距離を増加させる、
請求項2に記載の自律移動装置。
【請求項4】
前記制御部は、前記姿勢検出部の検出値に基づいて走行面を判別し、判別された走行面に基づいて前記駆動部の最大速度を調整する、
請求項1から3のいずれか1項に記載の自律移動装置。
【請求項5】
前記制御部は、
前記姿勢検出部で検出されたピッチ角及びロール角に基づいて走行面が斜面または平坦な走行面のいずれに該当するかを判別し、
走行面が斜面である時には走行面が平坦な走行面の時よりも前記駆動部の最大速度を低下させる、
請求項4に記載の自律移動装置。
【請求項6】
前記制御部は、
前記姿勢検出部で検出されたピッチ角及びロール角に基づいて走行面が横斜面か縦斜面のいずれに該当するかを判別し、
走行面が縦斜面である時には走行面が横斜面の時よりも前記駆動部の最大速度を低下させる、
請求項5に記載の自律移動装置。
【請求項7】
前記制御部は、
前記姿勢検出部で検出されたピッチ角に基づいて走行面が上り斜面であるか否かを判別し、
走行面が上り斜面である時は、前記姿勢検出部で検出されたピッチレートに基づいて走行面の傾斜角度が増加中であるか否かを判別し、前記傾斜角度が増加中である時には、走行面が上り斜面かつ傾斜角度が増加中でない時よりも前記駆動部の最大速度を低下させる、
請求項4に記載の自律移動装置。
【請求項8】
車体を走行させる駆動部と、前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、を備える自律移動装置のコンピュータが、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別し、
判別された前記走行面に基づいて前記駆動部を制御する、
自律移動装置の制御方法。
【請求項9】
車体を走行させる駆動部と、前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、を備える自律移動装置のコンピュータに、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別する処理、及び、
判別された前記走行面に基づいて前記駆動部を制御する処理、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動装置、自律移動装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
従来から、様々な用途に自律移動装置が使われており、自律移動装置の制御を改良する技術開発も進められている。例えば、特許文献1には、予期せぬ車体の動きを抑制して安全にブレーキを解除できるモータ駆動式走行装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示されているモータ駆動式走行装置は、ユーザが手押しをするためにブレーキを解除する際、斜面で停止している場合には、水平面で停止している場合に比べてショートブレーキ(モータの電源端子を短絡させるとモータ軸に制動がかかることを利用するブレーキ)の制動力を強くする。これによって、自重によって車体が斜面を下ろうとするのを抑制するので、予期せぬ車体の動きを抑制して安全にブレーキを解除することができる。しかし、これは斜面で停止中の場合の制御であり、斜面を走行中の予期せぬ車体の動きについては抑制することはできなかった。
【0005】
本発明は、上記実情に鑑みてなされたものであり、自律移動装置が傾斜面を走行している間に生じる種々のリスクを低減することができる自律移動装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係る自律移動装置は、
車体を走行させる駆動部と、
前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別し、判別された前記走行面に基づいて前記駆動部を制御する制御部と、
を備える。
【0007】
追従対象までの距離である追従距離を検出する追従距離検出部をさらに備え、
前記制御部は、
前記追従対象を追従するように前記駆動部を制御し、
前記追従距離検出部で検出した追従距離が追従停止距離以下になると前記駆動部を停止させ、
判別された前記走行面に基づいて前記追従停止距離を調整する、
ようにしてもよい。
【発明の効果】
【0008】
本発明によれば、自律移動装置が傾斜面を走行している間に生じる種々のリスクを低減することができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態1に係る自律移動装置の機能構成を示すブロック図である。
【
図2】実施形態1に係る自律移動装置を斜め前上方から見た外観を示す図である。
【
図3】実施形態1に係る自律移動装置を側面から見た外観を示す図である。
【
図4】実施形態1に係る自律移動装置が下り斜面を走行する場合を説明する図である。
【
図5】実施形態1に係る自律移動装置が上り斜面を走行する場合を説明する図である。
【
図6】実施形態1に係る自律移動装置が横斜面を走行する場合を説明する図である。
【
図7】実施形態1に係る自律移動装置の速度制御処理のフローチャートである。
【
図8】実施形態1に係る自律移動装置が走行する際の速度と追従距離との関係を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態に係る自律移動装置について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0011】
(実施形態1)
実施形態1に係る自律移動装置は、人等の追従対象を追従して自動的に移動する装置である。実施形態1に係る自律移動装置100の機能構成の一例を
図1に、外観の一例を
図2及び
図3に示す。
【0012】
図1に示すように、自律移動装置100は、制御部110と、記憶部120と、姿勢検出部130と、駆動部140と、出力部150と、操作取得部160と、追従距離検出部170と、を備える。
【0013】
制御部110は、CPU(Central Processing Unit)等で構成され、記憶部120に記憶されたプログラムにより、後述する速度制御処理等の各種処理を実行する。なお、制御部110は、複数の処理を並行して実行するマルチスレッド機能に対応しており、自律移動装置100が自律移動するための種々の処理を並行して実行することができる。
【0014】
記憶部120は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、ROMの一部又は全部は電気的に書き換え可能なメモリ(フラッシュメモリ等)で構成されている。ROMには制御部110のCPUが実行するプログラム及びプログラムを実行する上で予め必要なデータが記憶されている。RAMには、プログラム実行中に作成されたり変更されたりするデータが記憶される。
【0015】
例えば、自律移動装置100が走行する際の最大速度MSや追従停止距離SD等の変数データは記憶部120に記憶される。最大速度MSは、自律移動装置100が走行する速度の最大値が設定される。また、自律移動装置100は、追従対象(ユーザ等)を追従して走行するが、自律移動装置100と追従対象との間の距離(追従距離)が追従停止距離SD以下になると停止するように制御部110が駆動部140を制御する。この制御により、自律移動装置100は、追従対象に衝突することなく、追従対象を追従して走行することができる。また、追従対象が最大速度MSよりも速い速度で移動した場合でも、自律移動装置100は最大速度MSまでしか速度を上げないため、速度が上がりすぎることによる事故を防止することができる。
【0016】
姿勢検出部130は、ジャイロセンサや加速度センサを備え、自律移動装置100の車体の姿勢や姿勢の変化を検出する。より具体的には、姿勢検出部130は、自律移動装置100の車体のピッチ角、ロール角、ピッチレート等を検出する。
【0017】
ピッチ角は、自律移動装置100の左右方向の軸を中心とする回転角で、現在走行している路面(走行面)が上下斜面(上り斜面及び下り斜面)である場合に、その斜面の傾きの程度を示す角度である。ピッチ角の基準値をどのように定めるかは任意であるが、本実施形態では水平を0度とし、上り斜面では正の値、下り斜面では負の値をとるものとする。なお、本実施の形態において、
図2に示すように、自律移動装置100の前方向はユーザに追従して走行する場合の進行方向、後方向は前方向の反対側、右方向は自律移動装置100の進行方向に対して右側、左方向は自律移動装置100の進行方向に対して左側を指すものとする。
【0018】
ロール角は、自律移動装置100の前後方向の軸を中心とする回転角で、現在走行している走行面が左右に傾いている場合に、その傾きの程度を示す角度である。ロール角の基準値をどのように定めるかは任意であるが、本実施形態では水平を0度とし、左側が下に傾いたら正の値、右側が下に傾いたら負の値をとるものとする。なお、斜面を斜め(真上でも真下でも真横でもない方向)に走行している場合には、ピッチ角とロール角の両方がゼロ以外になる。
【0019】
ピッチレートは、ピッチ角の時間的な変化率である。例えば、自律移動装置100が走行面上の上り段差等に乗り上げたり、下り段差から落ちたりする際にはピッチレートの絶対値が大きくなる。本実施形態におけるピッチ角は上り斜面で正の値、下り斜面で負の値をとるため、上り段差等に乗り上げるとピッチレートは正の大きな値になり、下り段差から落ちると負の絶対値が大きな値になる。
【0020】
駆動部140は、制御部110からの指示(制御)により自律移動装置100を走行させる。
図2に示すように、駆動部140は、2つのクローラ141を備える。自律移動装置100は、2つのクローラ141の同一方向駆動により前後の平行移動(並進移動)を、2つのクローラ141の逆方向駆動によりその場での回転(向き変更)を、2つのクローラ141のそれぞれ速度を変えた駆動により旋回移動(並進+回転(向き変更)移動)を、行うことができる。
【0021】
なお、本実施形態では駆動部140はクローラ141を備えているが、クローラ141の代わりに車輪を備えるようにしてもよい。また、自律移動装置100を移動させるための手段であれば、駆動部140は、クローラ141や車輪に限らず、任意の手段を備えてよい。
【0022】
出力部150は、スピーカを備え、警報音を鳴らしたり、自律移動装置100の状態を通知するメッセージを出力したりすることができる。
【0023】
操作取得部160は、
図2及び
図3に示すように自律移動装置100の前方に立ったユーザが操作しやすい位置に設置されており、スタートボタン及びストップボタンを備える。自律移動装置100は、操作取得部160のスタートボタンが押されると追従走行を開始し、ストップボタンが押されると停止する。
【0024】
自律移動装置100は、操作取得部160として、スタートボタン及びストップボタン以外のボタンやジョイスティック、タッチパネル等を備えてもよい。例えば、ジョイスティックを備えて、その倒す方向で進行方向を、倒す量(倒し角)で移動速度を、それぞれ自律移動装置100に指示することができるようにしてもよい。また、操作取得部160が通信機能を備え、ユーザからの遠隔操作を受け付けられるようになっていてもよい。つまり、自律移動装置100は、追従式の自律移動装置に限られるわけではない。
【0025】
追従距離検出部170は、スキャナ式レーザ距離計等を備え、自律移動装置100が追従する追従対象(人、他の自律移動装置100等)から自律移動装置100までの距離(追従距離)を検出する。もっとも、追従距離検出部170は、追従対象までの距離を検出するだけでなく、周辺(本実施形態では左右及び前方)に存在する対象物(人、壁、障害物、反射材等)を検出し、対象物までの距離を検出することができる。
【0026】
より具体的には、追従距離検出部170は、
図3に示すように自律移動装置100の前方及び左右をスキャンできる位置に設置され、発光部と受光部とを備える。そして、発光部及び受光部は、回転しながら所定の角度範囲内で(真正面の方向を0度とすると例えば±160度)レーザを繰り返し照射して周囲をスキャンする(発光部からレーザを照射し、対象物で反射されたレーザを受光部が捉える)。これにより、追従距離検出部170は、スキャン角度毎に、その方向に存在する対象物を点の集合(点群)として捉え、対象物との距離を計測することができる。
【0027】
そして、制御部110は、例えば、スタートボタンが押された時に、追従距離検出部170から取得した情報をもとに初期検出を行い、検出した対象物をトラッキング(短時間(例えば50ミリ秒)毎にスキャンして、座標変化の小さい点群の塊を追跡)することで、追従対象(例えば、人や他の自律移動装置100)を安定して検出することができる。したがって、制御部110は、追従距離検出部170からの情報に基づいて、追従対象を追従するように駆動部140を制御することができる。
【0028】
次に、斜面の種類(下り斜面、上り斜面、横斜面)に応じてどのようなリスクが生じ得るかについて説明する。
【0029】
まず、自律移動装置100が下り斜面を走行している場合のリスクについて、
図4を参照して説明する。下り斜面においては、自律移動装置100は、重力によって速度が上がりやすく、また停止しづらくなるため、斜面に段差がなくても、前に転倒したり、前方を歩く追従対象者(ユーザ200)に接触したりするリスクがある。
【0030】
例えば、
図4に示すように、自律移動装置100がユーザ200を追従して下り斜面310を走行している場合は、地点Aにいる自律移動装置100が、下り段差311を走行する際に地点Bにて自律移動装置100が前向きに傾いて転倒するリスクがある。特に、自律移動装置100と積み荷の重心が前方に偏っている場合は、大きく傾いて前向きに転倒しやすい。また、自律移動装置100の走行速度が速いほど、下り段差311から強い衝撃を受けるので、転倒のリスクが高まる。
【0031】
なお、自律移動装置100が地点Aを走行している際は、後述する速度制御処理のステップS108の判定条件に従って、自律移動装置100は警告音を発している状態になる。警告音を聞いたユーザ200は、歩行速度が速すぎると、自律移動装置100との距離が離れすぎてしまい、自律移動装置100が追従できなくなるリスクに留意することができる。これにより、自律移動装置100が制御不能になってしまうリスクを軽減させることができる。
【0032】
一方、自律移動装置100が転倒すると斜面の下方に落下するため、下り斜面では、前方を歩くユーザ200に接触するリスクは高い。したがって、全体のリスク、すなわち、自律移動装置100が転倒することによって自律移動装置自体や積載物を破損したり、ユーザ200に接触したりするリスクを低減するために、最大速度MSを制限して通常の平地を走行している時よりも小さくし、追従停止距離SDを通常の値である標準追従停止距離(例えば30cm~50cm)よりも大きな値に設定した方がよい。
【0033】
次に、自律移動装置100が上り斜面を走行している場合のリスクについて、
図5を参照して説明する。上り斜面においては、斜面に段差がなくても、自律移動装置100は、重力によって後ろに転倒するリスクがある。ただし、自律移動装置100が前方を歩く追従対象者(ユーザ200)に接触するリスクは低い。
【0034】
例えば、
図5に示すように、自律移動装置100がユーザ200を追従して上り斜面320を走行している場合は、地点Cにいる自律移動装置100が、上り段差321を走行する際に地点Dにて自律移動装置100が後ろ向きに傾いて転倒するリスクがある。特に、自律移動装置100と積み荷の重心が後側に偏っている場合は、大きく傾いて後ろ向きに転倒しやすい。したがって、転倒リスクを少しでも下げるために、傾斜角に応じて最大速度MSを制限した方がよい。特に上り段差321に乗り上げつつある時には傾斜角度(ピッチ角)が増加していくので、上り傾斜角を拡大する方向のピッチレートを検出したら、さらに最大速度MSを制限することで、上り段差に乗り上げた時に転倒するリスクを低下させることができる。
【0035】
なお、自律移動装置100が地点Cを走行している際は、後述する速度制御処理のステップS108の判定条件に従って、自律移動装置100は警告音を発している状態になる。警告音を聞いたユーザ200は、歩行速度が速すぎると、自律移動装置100との距離が離れすぎてしまい、自律移動装置100が追従できなくなるリスクに留意することができる。これにより、自律移動装置100が制御不能になってしまうリスクを軽減させることができる。
【0036】
一方、自律移動装置100が転倒すると斜面の下方に落下するため、上り斜面では、前方を歩くユーザ200に接触するリスクは低い。したがって、追従停止距離SDは通常(標準追従停止距離)のままでよい。なお、自律移動装置100が転倒すると、ユーザ200に接触しなくても、自律移動装置自体や積載物を破損したり、周囲の物や人に接触したりするリスクがあるので、最大速度MSを制限して転倒のリスクを低下させることは有用である。
【0037】
なお、上り斜面320において上り段差321に乗り上げる場合(
図5)については上述したとおりだが、このパターンを含め、斜面と段差の組合せについては、以下の4つのパターンがある。
【0038】
(1)上り斜面+上り段差
この場合は、上述したように、傾斜角度が増加して転倒するリスクが増加するので、特に減速を強める(最大速度MSを制限する)制御を行うことで、車体が後転するリスクを軽減することができる。
【0039】
(2)上り斜面+下り段差
この場合は、上り斜面による傾斜角度が下り段差によって打ち消されるため、転倒するリスクは、下り段差のない上り斜面と比較して増加しない。したがって、上り斜面において下り段差を通過する場合(上り傾斜角が小さくなる方向のピッチレートを検出した場合)には、特別の制御をする必要はない。
【0040】
(3)下り斜面+上り段差
この場合は、下り斜面による傾斜角度が上り段差によって打ち消されるため、転倒するリスクは、上り段差のない下り斜面と比較して増加しない。したがって、下り斜面において上り段差を通過する場合(下り傾斜角が小さくなる方向のピッチレートを検出した場合)には、特別の制御をする必要はない。
【0041】
(4)下り斜面+下り段差
この場合は、下り段差を検出(下り傾斜角が大きくなる方向のピッチレートを検出)した際に減速すると、慣性力で車体が前転するリスクが増加する。一方、下り段差で加速すると、慣性力で車体が前転するリスクは減少するが、下り段差通過後のリスク(下り段差から強い衝撃を受けることによる転倒リスクや、前方を歩くユーザに接触するリスク等)が増加する。つまり、減速しても加速してもリスクは増加する。したがって、下り斜面において下り段差を通過する場合(下り傾斜角が大きくなる方向のピッチレートを検出した場合)には、上述した下り斜面における制御(最大速度MSを小さくし、追従停止距離SDを大きくする)以外の特別の制御をする必要はない。
【0042】
次に、自律移動装置100が斜面を横に走行している場合(横斜面を走行している場合)のリスクについて、
図6を参照して説明する。
【0043】
自律移動装置100が横斜面330を走行している場合に、下り段差や上り段差等による凹凸があると、自律移動装置100が横揺れによって横転するリスクがある。ただし、横の傾斜(ロール角)の変化は、凹凸の高さと自律移動装置の幅で決まる角度で制限されるので、上述の下り斜面および上り斜面の場合よりも転倒のリスクは小さい。そこで、横揺れを抑えるために最大速度MSを弱めに制限する。
【0044】
また、自律移動装置100が転倒すると斜面の下方に落下するため、横斜面では、前方を歩くユーザに接触するリスクは小さい。したがって、追従停止距離SDは通常(標準追従停止距離)のままでよい。
【0045】
以上の考察から、本実施形態では、最大速度MS及び追従停止距離SDを各斜面では以下のように調整する。なお、標準最大速度は、例えば農作業者が早歩きや小走りをする速度程度である時速4~8kmに設定する。
下り斜面:最大速度MSを制限して上下斜面用最大速度(例えば標準最大速度の50%~60%の速度)にし、追従停止距離SDを大きめな値である下り斜面用追従停止距離(例えば標準追従停止距離の2倍~2.5倍の距離)にする。
上り斜面:追従停止距離SDは標準追従停止距離のまま変更せず、最大速度MSを制限して上下斜面用最大速度(例えば標準最大速度の50%~60%の速度)にするが、ピッチレートが増加したらさらに最大速度MSを制限して傾斜増加用最大速度(例えば標準最大速度の30%~40%の速度)にする。
横斜面:追従停止距離SDは標準追従停止距離のまま変更せず、最大速度MSを弱めに制限して横斜面用最大速度(例えば標準最大速度の70%~80%の速度)にする。
【0046】
このように最大速度MS及び追従停止距離SDを調整する速度制御処理について、
図7を参照して説明する。この速度制御処理は、ユーザが自律移動装置100を起動すると、実行が開始される。なお、自律移動装置100が起動すると実行が開始される処理は、速度制御処理だけではない。例えば、追従対象を追従して走行するための追従走行処理や、ユーザからの指示に従って走行する手動走行処理等、自律移動装置100が自律移動するための種々の処理の実行が並行して開始される。
【0047】
速度制御処理が開始されると、まず、制御部110は、スタートボタンが押されたか否かを判定する(ステップS101)。スタートボタンが押されていないなら(ステップS101;No)、ステップS101に戻る。スタートボタンが押されたなら(ステップS101;Yes)、制御部110は、姿勢検出部130で自律移動装置100の車体の姿勢(ピッチ角、ロール角及びピッチレート)を検出する(ステップS102)。
【0048】
そして、制御部110は、ステップS102で検出したピッチ角の絶対値が基準ピッチ角(例えば5度~10度)未満か否かを判定する(ステップS103)。ピッチ角の絶対値が基準ピッチ角以上なら(ステップS103;No)、制御部110は、現在走行している走行面が上下斜面であると判断し、自律移動装置100の最大速度MSを減らして上下斜面用最大速度(例えば標準最大速度の50%~60%)に設定する(ステップS104)。
【0049】
そして、制御部110は、走行面が下り斜面であるか否か、すなわちピッチ角が負の値か否かを判定する(ステップS105)。下り斜面なら(ステップS105;Yes)、制御部110は追従停止距離SDを増やして下り斜面用追従停止距離(例えば標準追従停止距離の2倍~2.5倍)に設定する(ステップS106)。
【0050】
そして、制御部110は、それまでの処理で設定された最大速度MS及び追従停止距離SDに基づいて、速度制御を行う(ステップS107)。具体的には、速度制御処理と並行に実行されている他の処理(追従走行処理や手動走行処理)に対して最大速度MS及び追従停止距離SDの情報を伝える。これにより、走行速度は最大速度MS以下の速度に制限され、追従走行時には追従対象に近づくと停止するような走行制御が行われる。
【0051】
そして、制御部110は、追従停止距離が距離閾値(例えば60cm~1m)より大きいか又は最大速度が速度閾値(例えば標準最大速度の60%~70%の速度)より小さいか否かを判定する(ステップS108)。追従停止距離が距離閾値より大きいという条件と最大速度が速度閾値より小さいという条件の少なくともいずれか一方の条件が満たされる場合(ステップS108;Yes)、制御部110は、出力部150から警報音を鳴らし(ステップS109)、ステップS110に進む。
【0052】
追従停止距離が距離閾値以下という条件と最大速度が速度閾値以上という条件の両方の条件を満たす場合(ステップS108;No)、制御部110はストップボタンが押されたか否かを判定する(ステップS110)。ストップボタンが押されていないなら(ステップS110;No)、制御部110は、ステップS102に戻る。
【0053】
ストップボタンが押されたら(ステップS110;Yes)、制御部110は駆動部140を制御して走行を停止し(ステップS111)、ステップS101に戻る。
【0054】
一方、制御部110がステップS105で、走行面が下り斜面でないと判定したら(ステップS105;No)、制御部110は、ピッチレートが基準ピッチレートよりも大きい、すなわち傾斜が増加しているか否かを判定する(ステップS112)。傾斜が増加しているなら(ステップS112;Yes)、制御部110は最大速度MSをさらに減らして傾斜増加用最大速度(例えば標準最大速度の30~40%)に設定する(ステップS113)。そして、制御部110は、追従停止距離SDを標準追従停止距離に設定し(ステップS114)、ステップS107に進む。
【0055】
一方、傾斜が増加していないなら(ステップS112;No)、制御部110は、最大速度MSを上下斜面用最大速度に設定したままでステップS114に進む。
【0056】
また、ステップS103で、制御部110がステップS102で検出したピッチ角の絶対値が基準ピッチ角未満であると判定したら(ステップS103;Yes)、制御部110は、ステップS102で検出したロール角の絶対値が基準ロール角(例えば10度~15度)未満であるか否かを判定する(ステップS115)。
【0057】
ロール角の絶対値が基準ロール角未満なら(ステップS115;Yes)、制御部110は、最大速度MSを標準最大速度に設定し(ステップS116)、ステップS114に進む。一方、ロール角の絶対値が基準ロール角以上なら(ステップS115;No)、制御部110は、最大速度MSを減らして横斜面用最大速度(例えば標準最大速度の70%~80%)に設定し(ステップS117)、ステップS114に進む。
【0058】
ここで、自律移動装置100の走行面に応じた制御について上述のフローチャートを用いて説明を付記する。自律移動装置100が移動する走行面には、平坦な走行面と斜面とがある。平坦な走行面では、自律移動装置100のピッチ角の絶対値が基準値未満で(ステップS103;Yes)、しかも、ロール角が基準値未満(ステップS115;Yes)になる。斜面は、走行する方向により、縦斜面にも横斜面にもなる。縦斜面には、走行すると標高が高くなる上り斜面と、走行すると標高が低くなる下り斜面とがある。また、斜面を標高が変わらない方向へ走行する場合、その斜面を横斜面という。
【0059】
自律移動装置100が斜面を走行するのは、(1)斜面を真っすぐ上がる方向へ走行する場合、(2)斜面を斜めに上がる方向へ走行する場合、(3)斜面を真横(標高が変わらない方向)へ走行する場合、(4)斜面を真っすぐ下がる方向へ走行する場合、(5)斜面を斜めに下がる方向へ走行する場合、が考えられるが、まずピッチ角が基準値未満であるかを判断し(ステップS103)、以降のフローチャートに基づいて制御部を制御するものとする。このため、(2)は(1)として扱われ、(5)は(4)として扱われる。
【0060】
以上の速度制御処理により、自律移動装置100の速度と追従距離(自律移動装置100から追従対象までの距離)との関係は、
図8に示すようになる。
【0061】
例えば、自律移動装置100が平坦な走行面を走行している時の速度と追従距離との関係は実線401で示される。平坦な走行面では最大速度MSは標準最大速度に設定され、追従停止距離SDは標準追従停止距離に設定される。したがって、追従距離がある程度以上の大きさの場合には速度は標準最大速度になり、追従距離が小さくなるにつれて速度が低下し、追従距離が標準追従停止距離になると速度は0になる。
【0062】
また、自律移動装置100が横斜面を走行している時の速度と追従距離との関係は点線402で示される。横斜面では最大速度MSは標準最大速度より小さい横斜面用最大速度に設定され、追従停止距離SDは標準追従停止距離に設定される。したがって、追従距離がある程度以上の大きさの場合には速度は横斜面用最大速度(例えば標準最大速度の70%~80%の速度)になり、追従距離が小さくなるにつれて速度が低下し、追従距離が標準追従停止距離になると速度は0になる。横斜面を走行している場合は、自律移動装置100が姿勢を崩した場合であってもユーザに接触するリスクが低い。横斜面を走行している場合は、ユーザに追従する自律移動装置100の速度を、平坦な走行面を走行している場合より遅くすることにより、安全性を向上させることができる。ユーザは、自律移動装置100との距離が離れすぎないため、農作物を収穫して自律移動装置に置く等する際にも、利便性を損なわずに使用することができる。
【0063】
また、自律移動装置100が上り斜面を走行している時の速度と追従距離との関係は一点鎖線403で示される。上り斜面では最大速度MSは標準最大速度や横斜面用最大速度より小さい上下斜面用最大速度に設定され、追従停止距離SDは標準追従停止距離に設定される。したがって、追従距離がある程度以上の大きさの場合には速度は上下斜面用最大速度(例えば標準最大速度の50%~60%の速度)になり、追従距離が小さくなるにつれて速度が低下し、追従距離が標準追従停止距離になると速度は0になる。上り斜面を走行している場合は、自律移動装置100が姿勢を崩した場合に、自律移動装置100が後方へ回転する可能性がある。この場合、自律移動装置100が追従しているユーザへの接触は起こりづらいが、周囲の人や作物に接触する等のリスクがある。上り斜面を走行している場合は、ユーザに追従する自律移動装置100の速度を、平坦な走行面を走行している場合より遅くすることにより、安全性を向上させることができる。ユーザは、自律移動装置100との距離が離れすぎないため、農作物を収穫して自律移動装置に置く等する際にも、利便性を損なわずに使用することができる。
【0064】
また、自律移動装置100が上り斜面を走行している時に傾斜が増加した場合の速度と追従距離との関係は二点鎖線404で示される。この場合の最大速度MSは上下斜面用最大速度よりさらに小さい傾斜増加用最大速度に設定され、追従停止距離SDは標準追従停止距離に設定される。したがって、追従距離がある程度以上の大きさの場合には速度は傾斜増加用最大速度(例えば標準最大速度の30%~40%の速度)になり、追従距離が小さくなるにつれて速度が低下し、追従距離が標準追従停止距離になると速度は0になる。上り斜面を走行している時に傾斜が増加した場合とは、自律移動装置が上り斜面を走行中に上り段差等に乗り上げた場合に相当する。この場合、自律移動装置100が姿勢を崩した場合に、自律移動装置100が後方へ回転する可能性がある。この場合、自律移動装置100が追従しているユーザへの接触は起こりづらいが、周囲の人や作物に接触する等のリスクがある。上り斜面を走行している場合は、ユーザに追従する自律移動装置100の速度を、平坦な走行面を走行している場合より遅くすることにより、安全性を向上させることができる。ユーザは、自律移動装置100との距離が離れすぎないため、農作物を収穫して自律移動装置に置く等する際にも、利便性を損なわずに使用することができる。
【0065】
また、自律移動装置100が下り斜面を走行している時の速度と追従距離との関係は実線405で示される。下り斜面では最大速度MSは標準最大速度や横斜面用最大速度より小さい上下斜面用最大速度に設定され、追従停止距離SDは標準追従停止距離より大きい下り斜面用追従停止距離に設定される。したがって、追従距離がある程度以上の大きさの場合には速度は上下斜面用最大速度(例えば標準最大速度の50%~60%の速度)になり、追従距離が小さくなるにつれて速度が低下し、追従距離が下り斜面用追従停止距離(例えば標準追従停止距離の2倍~2.5倍の距離)になると速度は0になる。
【0066】
自律移動装置100の最大速度は、横斜面を走行している時の速度は、平坦な走行面を走行している時の速度より低い方が望ましい。上り斜面または下り斜面を走行している時の速度は、平坦な走行面を走行している時の速度より低いことが望ましい。これにより、自律移動装置100が姿勢を崩して転倒した場合の、人への接触リスクを軽減できる。
【0067】
なお、上り斜面走行中に存在する下り段差や、下り斜面走行中に存在する上り段差では、制御を変更する必要がない。上り斜面で下り段差があっても、段差を下りる際に若干車体が揺れることが想定されるが、追従している人へ接触するリスクは大きくならないためである。同様に、下り斜面で上り段差があっても、段差を上る際に若干車体が揺れることが想定されるが、追従している人へ接触するリスクは大きくならないためである。
【0068】
以上、自律移動装置100の速度制御処理について説明した。ただし、上述の(
図7に示す)速度制御処理は速度制御処理の一例に過ぎない。すなわち、上述の速度制御処理では、制御部110は、ピッチ角、ロール角及びピッチレートをそれぞれの基準値(基準ピッチ角、基準ロール角、基準ピッチレート)と比較して、その大小関係に基づいて、最大速度MSや追従停止距離SDを設定しているが、最大速度MSや追従停止距離SDの設定方法は、このような方法に限定されない。自律移動装置100の車体の姿勢に基づいて最大速度MSや追従停止距離SDを調整する制御を行うのであれば、処理の内容や順番等を変更してもよい。
【0069】
例えば、ピッチ角やロール角が大きくなればなるほど、その大きさに応じて最大速度MSを減少させるようにしてもよい。また、下り斜面においてはピッチ角が大きいほど、その大きさに応じて追従停止距離SDを増大させるようにしてもよい。このように最大速度MSや追従停止距離SDを設定することにより、自律移動装置100の転倒リスクや接触リスクをより柔軟にコントロールすることができる。
【0070】
(実施形態2)
上述の実施形態1に係る自律移動装置100は、追従対象を追従して走行した。しかし、自律移動装置は必ずしも追従走行を行わなければいけないわけではない。追従走行をしない実施形態2に係る自律移動装置101について説明する。
【0071】
自律移動装置101の機能構成は自律移動装置100と同様だが、自律移動装置101は追従走行をしないので、追従距離検出部170を備えなくてもよい。自律移動装置101は、基本的には、操作取得部160により、ユーザの指示にしたがって走行する。操作取得部160は、ユーザが指示を直接入力可能なユーザインタフェースであるジョイスティックに限られることなく、遠距離または近距離にいるユーザから無線等で指示を受ける遠隔操作または近接操作可能なデバイスであってもよい。なお、自律移動装置101は、予め記憶した経路を自動で走行するように構成されていてもよい。
【0072】
また、追従走行しないので、自律移動装置101の記憶部120は、最大速度MSは記憶するが、追従停止距離SDを記憶する必要はない。
【0073】
また、実施形態2に係る速度制御処理は、実施形態1に係る速度制御処理(
図7)から、追従停止距離の設定や追従距離の判定に関しての処理を省略した処理内容になる。また、実施形態2に係る自律移動装置101では、追従走行処理は実行されていないため、速度制御処理(
図7)のステップS107において、制御部110は、例えば手動走行処理に対して最大速度MS及び追従停止距離SDの情報を伝える。これにより、走行速度は最大速度MS以下の速度に制限される。
【0074】
追従走行をしない場合でも、斜面に応じて自律移動装置101が転倒するリスクは自律移動装置100と同様なので、実施形態2に係る速度制御処理により、最大速度MSが制限され、自律移動装置101は傾斜面をより安全に走行することができる。
【0075】
(効果等)
以上説明したように、自律移動装置100,101の制御部110は、走行中に姿勢検出部130で検出された検出値に基づいて走行面を判別し、判別された走行面に基づいて駆動部140を制御するので、使いやすさをできるだけ損なわずに、傾斜面を走行している間に生じる種々のリスク(転倒リスク、接触リスク等)を低減することができる。また、制御部110は、駆動部140の制御を、追従停止距離や最大速度を調整することによって行うので、駆動部140を直接停止させたり駆動部140の速度を直接変更したりするのに比較して、自律移動時の駆動部140の制御の自由度を向上させることができる。
【0076】
なお、自律移動装置100,101の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、自律移動装置100,101が行う速度制御処理のプログラムが、記憶部120のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。また、プログラムをインターネット等の通信ネットワークを介して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0077】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0078】
(付記1)
車体を走行させる駆動部と、
前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別し、判別された前記走行面に基づいて前記駆動部を制御する制御部と、
を備える自律移動装置。
【0079】
(付記2)
追従対象までの距離である追従距離を検出する追従距離検出部をさらに備え、
前記制御部は、
前記追従対象を追従するように前記駆動部を制御し、
前記追従距離検出部で検出した追従距離が追従停止距離以下になると前記駆動部を停止させ、
判別された前記走行面に基づいて前記追従停止距離を調整する、
付記1に記載の自律移動装置。
【0080】
(付記3)
前記制御部は、
前記姿勢検出部で検出されたピッチ角に基づいて走行面が下り斜面であるか否かを判別し、
走行面が下り斜面である時には、走行面が下り斜面でない時よりも前記追従停止距離を増加させる、
付記2に記載の自律移動装置。
【0081】
(付記4)
前記制御部は、前記姿勢検出部の検出値に基づいて走行面を判別し、判別された走行面に基づいて前記駆動部の最大速度を調整する、
付記1から3のいずれか1つに記載の自律移動装置。
【0082】
(付記5)
前記制御部は、
前記姿勢検出部で検出されたピッチ角及びロール角に基づいて走行面が斜面または平坦な走行面のいずれに該当するかを判別し、
走行面が斜面である時には走行面が平坦な走行面の時よりも前記駆動部の最大速度を低下させる、
付記4に記載の自律移動装置。
【0083】
(付記6)
前記制御部は、
前記姿勢検出部で検出されたピッチ角及びロール角に基づいて走行面が横斜面か縦斜面のいずれに該当するかを判別し、
走行面が縦斜面である時には走行面が横斜面の時よりも前記駆動部の最大速度を低下させる、
付記5に記載の自律移動装置。
【0084】
(付記7)
前記制御部は、
前記姿勢検出部で検出されたピッチ角に基づいて走行面が上り斜面であるか否かを判別し、
走行面が上り斜面である時は、前記姿勢検出部で検出されたピッチレートに基づいて走行面の傾斜角度が増加中であるか否かを判別し、前記傾斜角度が増加中である時には、走行面が上り斜面かつ傾斜角度が増加中でない時よりも前記駆動部の最大速度を低下させる、
付記4に記載の自律移動装置。
【0085】
(付記8)
車体を走行させる駆動部と、前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、を備える自律移動装置のコンピュータが、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別し、
判別された前記走行面に基づいて前記駆動部を制御する、
自律移動装置の制御方法。
【0086】
(付記9)
車体を走行させる駆動部と、前記車体のピッチ角、ロール角、ピッチレートの少なくともいずれか1つを検出する姿勢検出部と、を備える自律移動装置のコンピュータに、
前記駆動部による走行中に前記姿勢検出部で検出された検出値に基づいて走行面を判別する処理、及び、
判別された前記走行面に基づいて前記駆動部を制御する処理、
を実行させるためのプログラム。
【符号の説明】
【0087】
100,101…自律移動装置、110…制御部、120…記憶部、130…姿勢検出部、140…駆動部、141…クローラ、150…出力部、160…操作取得部、170…追従距離検出部、200…ユーザ、310…下り斜面、311…下り段差、320…上り斜面、321…上り段差、330…横斜面、401,405…実線、402…点線、403…一点鎖線、404…二点鎖線