説明

移動体の走行制御装置、走行制御方法、走行制御プログラム

【課題】移動体が外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制する技術を提供する。
【解決手段】自立走行ロボット1の走行を制御する走行制御部6は、進行方向側に存在する外部環境と、基準点Aと、の間の距離を計測して複数の距離データを生成する距離データ生成部60と、複数の距離データのうち、基準点Aから見て進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、複数の距離データのうち、基準点Aから見て進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出部61と、自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRAを決定する旋回角決定部62と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体の走行制御装置、走行制御方法、走行制御プログラムに関する。
【背景技術】
【0002】
この種の技術として、特許文献1は、移動体の走行制御装置を開示している。この走行制御装置は、移動体の周りに存在する障害物までの距離を所定角度間隔で全方位にわたって逐次計測するレンジファインダを備えている。そして、走行制御装置は、レンジファインダから得られた距離データに基づいて、移動体が通過可能な領域を生成し、移動体の車速及び舵角制御を行っている。これにより、移動体は、障害物との衝突を回避しながら走行することが可能となっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平3−29010号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記特許文献1の走行制御装置では、移動体が通過可能な領域を生成するために大量の距離データを用いているので、計算コストが高い。
【0005】
本願発明の目的は、移動体が外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制する技術を提供することにある。
【課題を解決するための手段】
【0006】
本願発明の第1の観点によれば、移動体の走行を制御する走行制御装置であって、前記移動体の移動体本体に対して相対的に位置固定された単一の基準点が設定されており、前記移動体の進行方向側に存在する外部環境と、前記基準点と、の間の距離を計測して複数の距離データを生成する距離データ生成手段と、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出手段と、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定手段と、を備える、移動体の走行制御装置が提供される。
【0007】
【数1】

【0008】
ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【0009】
以上の構成によれば、前記右側最短距離データDminRと前記左側最短距離データDminLの2つの距離データだけで前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、前記移動体が前記外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。
【0010】
また、好ましくは、前記距離データ生成手段は、前記複数の距離データを前記移動体の進行方向正面であるほど小さくなるように補正する。以上の構成によれば、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAを決定するに際し、前記移動体の進行方向正面に位置する前記外部環境ほど優先的に考慮されることになる。前記移動体の進行方向正面から大きく外れた外部環境は前記移動体の走行を阻害することがそもそもないので、この構成を採用しても前記移動体は問題なく走行することができるし、前記移動体を必要以上に旋回させることが減るので前記移動体の走行が簡素になる。
【0011】
本願発明の第2の観点によれば、移動体の走行を制御する走行制御方法であって、前記移動体の移動体本体に対して相対的に位置固定された単一の基準点が設定されており、前記移動体の進行方向側に存在する外部環境と、前記基準点と、の間の距離を計測して複数の距離データを生成する距離データ生成ステップと、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出ステップと、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定ステップと、を含む、移動体の走行制御方法が提供される。
【0012】
【数2】

【0013】
ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【0014】
以上の方法によれば、前記右側最短距離データDminRと前記左側最短距離データDminLの2つの距離データだけで前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、前記移動体が前記外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。
【0015】
また、コンピュータに、上記の走行制御方法を実行させるための走行制御プログラムが提供される。
【0016】
本願発明の第3の観点によれば、移動体の走行を制御する走行制御装置であって、前記移動体の移動体本体に対して相対的に位置固定された右側基準点及び左側基準点が設定され、前記右側基準点は、前記左側基準点と比較して、前記移動体の進行方向を見たときに右側となるように位置しており、前記移動体の進行方向側に存在する外部環境と、前記右側基準点と、の間の距離を計測して複数の右側距離データを生成し、前記移動体の進行方向側に存在する外部環境と、前記左側基準点と、の間の距離を計測して複数の左側距離データを生成する距離データ生成手段と、前記複数の右側距離データのうち、最も小さい右側距離データを右側最短距離データDminRとして抽出し、前記複数の左側距離データのうち、最も小さい左側距離データを左側最短距離データDminLとして抽出する、最短距離抽出手段と、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定手段と、を備える、移動体の走行制御装置が提供される。
【0017】
【数3】

【0018】
ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【0019】
以上の構成によれば、前記右側最短距離データDminRと前記左側最短距離データDminLの2つの距離データだけで前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、前記移動体が前記外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。また、前記右側最短距離データDminRや前記左側最短距離データDminLを生成するに際し、前記外部環境を分類せず連続的に取り扱うことになるので、前記旋回角θRAがステップ状に変化してしまう問題を解決することができる。
【0020】
また、好ましくは、前記距離データ生成手段は、前記複数の右側距離データを前記移動体の進行方向正面であるほど小さくなるように補正し、前記複数の左側距離データを前記移動体の進行方向正面であるほど小さくなるように補正する。以上の構成によれば、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAを決定するに際し、前記移動体の進行方向正面に位置する前記外部環境ほど優先的に考慮されることになる。前記移動体の進行方向正面から大きく外れた外部環境は前記移動体の走行を阻害することがそもそもないので、この構成を採用しても前記移動体は問題なく走行することができるし、前記移動体を必要以上に旋回させることが減るので前記移動体の走行が簡素になる。
【0021】
本願発明の第4の観点によれば、移動体の走行を制御する走行制御方法であって、前記移動体の移動体本体に対して相対的に位置固定された右側基準点及び左側基準点が設定され、前記右側基準点は、前記左側基準点と比較して、前記移動体の進行方向を見たときに右側となるように位置しており、前記移動体の進行方向側に存在する外部環境と、前記右側基準点と、の間の距離を計測して複数の右側距離データを生成し、前記移動体の進行方向側に存在する外部環境と、前記左側基準点と、の間の距離を計測して複数の左側距離データを生成する距離データ生成ステップと、前記複数の右側距離データのうち、最も小さい右側距離データを右側最短距離データDminRとして抽出し、前記複数の左側距離データのうち、最も小さい左側距離データを左側最短距離データDminLとして抽出する、最短距離抽出ステップと、前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定ステップと、を含む、移動体の走行制御方法が提供される。
【0022】
【数4】

【0023】
ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【0024】
以上の方法によれば、前記右側最短距離データDminRと前記左側最短距離データDminLの2つの距離データだけで前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、前記移動体が前記外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。また、前記右側最短距離データDminRや前記左側最短距離データDminLを生成するに際し、前記外部環境を分類せず連続的に取り扱うことになるので、前記旋回角θRAがステップ状に変化してしまう問題を解決することができる。
【0025】
また、コンピュータに、上記の走行制御方法を実行させるための走行制御プログラムが提供される。
【発明の効果】
【0026】
本願発明によれば、前記右側最短距離データDminRと前記左側最短距離データDminLの2つの距離データだけで前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、前記移動体が前記外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。
【図面の簡単な説明】
【0027】
【図1】図1は、多数の障害物と向き合う自立走行ロボットの平面図である。(第1実施形態)
【図2】図2は、自立走行ロボットの機能ブロック図である。(第1実施形態)
【図3】図3は、自立走行ロボットの制御フローである。(第1実施形態)
【図4】図4は、LRFが全方位測距している様子をイメージした平面図である。(第1実施形態)
【図5】図5は、LRFによって生成された距離データ(重み付け補正前)を示すグラフである。(第1実施形態)
【図6】図6は、重み付け補正を説明するためのグラフである。(第1実施形態)
【図7】図7は、LRFによって生成された距離データ(重み付け補正後)を示すグラフである。(第1実施形態)
【図8】図8は、自立走行ロボットの旋回方向を示す平面図である。(第1実施形態)
【図9】図9は、第1実施形態の改善点を説明するための平面図である。(第2実施形態)
【図10】図10は、第1実施形態の改善点を説明するための平面図である。(第2実施形態)
【図11】図11は、自立走行ロボットの右側基準点と左側基準点を説明するための平面図である。(第2実施形態)
【図12】図12は、自立走行ロボットの右側基準点(又は左側基準点)から障害物までの距離の演算方法を説明するための図である。(第2実施形態)
【図13】図13は、自立走行ロボットの旋回方向を示す平面図である。(第2実施形態)
【発明を実施するための形態】
【0028】
(第1実施形態)
以下、図1〜8を参照して、本願発明の第1実施形態を説明する。
【0029】
(自立走行ロボット1の構成)
先ず、図1及び図2を参照して、自立走行ロボット1(移動体)の構成を説明する。
【0030】
図1及び図2に示すように、自立走行ロボット1は、ロボット本体2(移動体本体)と、右輪3と、左輪4と、LRF5(Laser Range Finder)と、走行制御部6(走行制御装置)と、を備えて構成されている。右輪3と左輪4は、ロボット本体2の両側面2aに回転自在に取り付けられている。LRF5は、ロボット本体2の前面2bに取り付けられている。走行制御部6は、ロボット本体2内に収容されている。そして、自立走行ロボット1は、右輪3と左輪4を同じ回転数で回転させることで直進し、異なる回転数で回転させることで旋回する形式となっている。
【0031】
図1において、自立走行ロボット1の進行方向側には、外部環境としての障害物a、障害物b、障害物c、障害物d、障害物eが存在している。走行制御部6は、自立走行ロボット1が障害物a〜eの間をすり抜けながら走行するように自立走行ロボット1の走行を制御するものである。図2に示すように、走行制御部6は、CPU50(Central Processing Unit)、RAM51(Random Access Memory)、ROM52(Read Only Memory)、モータドライバ53、右輪用モータ54(右輪駆動手段)、左輪用モータ55(左輪駆動手段)を備えて構成されている。ROM52には、走行制御プログラムが予め記憶されている。この走行制御プログラムは、自立走行ロボット1の電源投入後にCPU50に読み込まれ、CPU50上で実行されることで、CPU50等のハードウェアに、距離データ生成部60(距離データ生成手段)、最短距離抽出部61(最短距離抽出手段)、旋回角決定部62(旋回角決定手段)、走行輪制御部63(走行輪制御手段)としての機能を発揮させるようになっている。
【0032】
図1に示すように、自立走行ロボット1には、自立走行ロボット1のロボット本体2に対して相対的に位置固定された単一の基準点Aが設定されている。本実施形態では、基準点Aは、平面視でLRF5の先端に相当している。
【0033】
LRF5は、自立走行ロボット1の進行方向側の全方位に平面視で例えば5度間隔で測距用レーザL(図4参照)を照射することで、自立走行ロボット1の進行方向側に存在する障害物a等の外部環境と、LRF5自体と、の間の距離と計測するものである。
【0034】
距離データ生成部60は、LRF5を用いて、自立走行ロボット1の進行方向側に存在する障害物a等の外部環境と、基準点Aと、の間の距離を計測して複数の距離データを生成する。距離データ生成部60は、生成した複数の距離データを自立走行ロボット1の進行方向正面であるほど小さくなるように補正する。距離データ生成部60は、補正した複数の距離データをRAM51に保存する。
【0035】
最短距離抽出部61は、RAM51から複数の距離データを読み込んだ上で、複数の距離データのうち、基準点Aから見て自立走行ロボット1の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、基準点Aから見て自立走行ロボット1の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する。最短距離抽出部61は、抽出した右側最短距離データDminR及び左側最短距離データDminLをRAM51に保存する。
【0036】
旋回角決定部62は、RAM51から右側最短距離データDminRと左側最短距離データDminLを読み込んだ上で、自立走行ロボット1が障害物a等の外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する。ただし、下記式(1)において、p(x)はp(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。旋回角決定部62は、決定した旋回角θRAをRAM51に保存する。
【0037】
【数5】

【0038】
走行輪制御部63は、RAM51から旋回角θRAを読み込んだ上で、旋回角θRAに基づいて旋回指令をモータドライバ53に出力する。
【0039】
モータドライバ53は、走行輪制御部63から受信した旋回指令に基づいて、右輪用モータ54と左輪用モータ55の回転数を制御する。これにより、自立走行ロボット1は、所望の旋回角θRA分だけ旋回することになる。
【0040】
(自立走行ロボット1の作動)
次に、図3〜8を参照して、自立走行ロボット1の作動を詳しく説明する。
【0041】
図3において、自立走行ロボット1の電源を投入すると(S300)、走行制御部6は、自立走行ロボット1が予め定められた目的地へ向かうように、直進走行指令をモータドライバ53に出力する。これにより、自立走行ロボット1は、直進走行を開始する(S310)。
【0042】
(距離データ生成ステップ:S320〜S330)
次に、距離データ生成部60は、LRF5を用いて、自立走行ロボット1の進行方向側に存在する障害物a等の外部環境と、基準点Aと、の間の距離を計測して複数の距離データを生成する(S320)。即ち、図4に示すように、LRF5は、自立走行ロボット1の進行方向側(前方)の全方位に平面視で例えば5度間隔で測距用レーザLを照射することで、自立走行ロボット1の進行方向側に存在する障害物a等の外部環境と、LRF5自体(即ち、基準点A)、の間の距離を計測する。LRF5は、計測結果である複数の距離データDrawと、距離データDraw毎の測距用レーザLの照射角度θLと、を距離データ生成部60に出力する。距離データ生成部60は、複数の距離データDrawと、各距離データDrawに対応する照射角度θLと、を関連付けてテーブル形式でRAM51に保存する。図5には、RAM51に保存されている、距離データDrawと、各距離データDrawに対応する照射角度θLと、の関係を折れ線グラフ形式で示している。図5において、横軸は照射角度θL[deg.]であり、自立走行ロボット1の進行方向を基準に左側を正とし右側を負としている。縦軸は距離データDrawである。
【0043】
次に、距離データ生成部60は、RAM51から複数の距離データDrawと照射角度θLを読み込んだ上で、照射角度θLに基づいて、複数の距離データDrawを自立走行ロボット1の進行方向正面であるほど小さくなるように補正する(S330)。図6には、重み付け補正関数W(θL)をグラフ形式で示している。図6において、横軸は照射角度θL[deg.]であり、自立走行ロボット1の進行方向を基準に左側を正とし右側を負としている。縦軸は重み付け補正関数W(θL)である。重み付け補正関数W(θL)は、W(0)=1であり、下に凸の偶関数である。従って、重み付け補正関数W(θL)は、例えば、W(θL)=kθ2+1(ただし、k>0)や、W(θL)=1/cosθ、W(θL)=1/cos2θとして定義される。従って、距離データDrawに重み付け補正関数W(θL)を掛けることで、距離データDrawは、自立走行ロボット1の進行方向正面であるほど小さくなるように補正される。換言すれば、距離データDrawは、自立走行ロボット1の進行方向正面から外れるほど大きくなるように補正される。補正後の距離データDrawである補正後距離データDweightを図7に折れ線グラフ形式で示す。図7において、横軸は照射角度θL[deg.]であり、自立走行ロボット1の進行方向を基準に左側を正とし右側を負としている。縦軸は補正後距離データDweightである。注目すべきは、図1に示すように障害物aよりも自立走行ロボット1の近くに存在している障害物bが、図7では障害物aよりも自立走行ロボット1から遠い存在として捉えられている点である。距離データ生成部60は、複数の補正後距離データDweightをRAM51に保存する。
【0044】
(最短距離抽出ステップ:S340)
次に、最短距離抽出部61は、RAM51から複数の補正後距離データDweightを読み込んだ上で、複数の補正後距離データDweightのうち、基準点Aから見て自立走行ロボット1の進行方向右側に分類されるものであって、最も小さい補正後距離データDweightを右側最短距離データDminRとして抽出する(S340)。
【0045】
即ち、図7において、基準点Aから見て自立走行ロボット1の進行方向右側に分類される補正後距離データDweightは、照射角度θLがマイナスである領域に属する補正後距離データDweightである。図7の例では、複数の補正後距離データDweightのうち、基準点Aから見て自立走行ロボット1の進行方向右側に分類されるものであって、最も小さい補正後距離データDweightは、障害物cと関連した補正後距離データDweightに含まれている。最短距離抽出部61は、その補正後距離データDweightを右側最短距離データDminRとして抽出し、抽出した右側最短距離データDminRをRAM51に保存する。
【0046】
同様に、最短距離抽出部61は、RAM51から複数の補正後距離データDweightを読み込んだ上で、複数の補正後距離データDweightのうち、基準点Aから見て自立走行ロボット1の進行方向左側に分類されるものであって、最も小さい補正後距離データDweightを左側最短距離データDminLとして抽出する(S340)。
【0047】
即ち、図7において、基準点Aから見て自立走行ロボット1の進行方向左側に分類される補正後距離データDweightは、照射角度θLがプラスである領域に属する補正後距離データDweightである。図7の例では、複数の補正後距離データDweightのうち、基準点Aから見て自立走行ロボット1の進行方向左側に分類されるものであって、最も小さい補正後距離データDweightは、障害物aと関連した補正後距離データDweightに含まれている。最短距離抽出部61は、その補正後距離データDweightを左側最短距離データDminLとして抽出し、抽出した左側最短距離データDminLをRAM51に保存する。
【0048】
(旋回角算出ステップ:S350)
次に、旋回角決定部62は、RAM51から右側最短距離データDminRと左側最短距離データDminLを読み込んだ上で、自立走行ロボット1が障害物a等の外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する(S350)。
【0049】
【数6】

【0050】
本実施形態の旋回角決定部62は、具体的には、自立走行ロボット1が障害物a等の外部環境との衝突を回避するのに必要となる旋回角θRAを、上記式(1)を具体化した下記式(2)に基づいて決定する。詳しくは、上記式(1)において、p(x)=xとし、q(x,y)=xyとしている。
【0051】
【数7】

【0052】
上記式(1)及び式(2)に共通して言えることは、第1に、右側最短距離データDminRと左側最短距離データDminLとの差が大きい場合は、大きな旋回角θRAとすること、第2に、右側最短距離データDminRと左側最短距離データDminLの少なくとも何れか一方でも小さい場合は、差し迫った外部環境との衝突を回避すべく大きな旋回角θRAとすること、である。
【0053】
なお、旋回角θRAの正負の定義を逆にすれば、上記式(1)においてp(DminL-DminR)は、p(DminR-DminL)とすべきことは言うまでもない。この点、上記式(1)では、旋回角θRAについて左旋回を正としているが、このことは説明の便宜を図っただけのものであり、左旋回と右旋回の何れを正にするかは、任意に設定することができる。即ち、旋回角θRAについては左旋回を正にしなければならないという特段の事情はなく、本願明細書において、旋回角θRAについて左旋回を正とした事実によっては、本願に開示の技術は何ら限定されることはない。
【0054】
さて、次に、旋回角決定部62は、決定した旋回角θRAをサチュレーションフィルタにかけることで、旋回角θRAの絶対値が過大とならないよう、必要に応じて旋回角θRAを補正する。
【0055】
そして、旋回角決定部62は、旋回角θRAをRAM51に保存する。
【0056】
(旋回ステップ:S360)
次に、走行輪制御部63は、RAM51から旋回角θRAを読み込んだ上で、旋回角θRAに基づいて旋回指令をモータドライバ53に出力する(S360)。モータドライバ53は、走行輪制御部63から受信した旋回指令に基づいて、右輪用モータ54と左輪用モータ55の回転数を制御する。これにより、自立走行ロボット1は、図8において太線矢印で示すように、所望の旋回角θRA分だけ旋回することになる。
【0057】
詳しくは、自立走行ロボット1は、自立走行ロボット1の走行を全く妨害しないという理由で自立走行ロボット1の進行方向正面から大きく外れている障害物bの存在は無視し、障害物aと障害物cとの距離に基づいて旋回する(図5〜7参照)。図8の例では、障害物cの方が障害物aよりも自立走行ロボット1の近くに位置しているが、図7に示すように補正後の段階では障害物aの方が障害物cよりも自立走行ロボット1の近くに位置しているものとして取り扱う。従って、障害物aから遠ざかるように、即ち自立走行ロボット1は進行方向右側へと旋回することになる(上記式(1)の関数pを参照)。このとき、障害物aも障害物cも自立走行ロボット1から相当遠くに位置しているので、自立走行ロボット1は差し迫って急旋回する必要はなく、図8に示すように自立走行ロボット1は進行方向右側へと滑らかに旋回することになる(上記式(1)の関数qを参照)。
【0058】
次に、走行制御部6は、自立走行ロボット1が目的地に到達したか判定する(S370)。走行制御部6は、自立走行ロボット1がもう目的地に到達したと判定したら(S370:YES)、走行停止指令をモータドライバ53に出力して、自立走行ロボット1を停止させる(S380)。一方、走行制御部6は、自立走行ロボット1がまだ目的地に到達していないと判定したら(S370:NO)、処理をS320に戻す。
【0059】
以上の本願発明の第1実施形態を説明したが、上記第1実施形態は、要するに、以下の特長を有している。
【0060】
即ち、自立走行ロボット1(移動体)の走行を制御する走行制御部6(走行制御装置)は、以下のように構成されている。即ち、自立走行ロボット1には、自立走行ロボット1のロボット本体2(移動体本体)に対して相対的に位置固定された単一の基準点Aが設定されている。自立走行ロボット1は、自立走行ロボット1の進行方向側に存在する外部環境(障害物a等)と、基準点Aと、の間の距離を計測して複数の距離データ(距離データDraw又は補正後距離データDweightに相当。)を生成する距離データ生成部60(距離データ生成手段)と、複数の距離データのうち、基準点Aから見て自立走行ロボット1の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、複数の距離データのうち、基準点Aから見て自立走行ロボット1の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出部61(最短距離抽出手段)と、自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定部62(旋回角決定手段)と、を備える。ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。以上の構成によれば、右側最短距離データDminRと左側最短距離データDminLの2つの距離データだけで自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、自立走行ロボット1が外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。
【0061】
【数8】

【0062】
また、距離データ生成部60は、複数の距離データDrawを自立走行ロボット1の進行方向正面であるほど小さくなるように補正する。以上の構成によれば、自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRAを決定するに際し、自立走行ロボット1の進行方向正面に位置する外部環境ほど優先的に考慮されることになる。自立走行ロボット1の進行方向正面から大きく外れた外部環境は自立走行ロボット1の走行を阻害することがそもそもないので、この構成を採用しても自立走行ロボット1は問題なく走行することができるし、自立走行ロボット1を必要以上に旋回させることが減るので自立走行ロボット1の走行が簡素になる。
【0063】
なお、上記第1実施形態において、距離データ生成部60は、複数の距離データDrawを自立走行ロボット1の進行方向正面であるほど小さくなるように補正することとしたが、この補正は必ずしも必須の処理ではなく、任意に採用され得る処理であることを付言しておく。
【0064】
以上に本願発明の好適な第1実施形態を説明したが、上記第1実施形態は、以下のように変更することができる。
【0065】
即ち、上記第1実施形態において自立走行ロボット1は、右輪3の回転数と左輪4の回転数に差を設けることで旋回する形式となっているが、これに代えて、右輪3や左輪4の向きを変える構成を採用することができる。この場合、旋回角θRAは、操舵角として解釈することになる。
【0066】
また、上記第1実施形態では、移動体の一例として自立走行ロボット1を取り上げたが、移動体は、自立走行するものであっても自立走行せずに操縦者によって操縦されるものであってもよい。移動体が操縦者によって操縦されるものである場合は、移動体は、移動体の走行が操縦者による操縦によって支配される通常走行モードと、操縦者による操縦の支配を脱して、代わりに走行制御部6の走行制御によって支配される回避モードと、を切り替え可能に有することが好ましい。また、移動体と障害物との距離に応じて、通常走行モードから回避モードへ自動的に切り替わるように構成することが好ましい。一例として、移動体と障害物との距離が所定値を下回ったときに、通常走行モードから回避モードへ自動的に切り替わるようにした構成が挙げられる。
【0067】
また、自立走行ロボット1と障害物との間の距離に応じて停止するようにしてもよい。また、自立走行ロボット1が旋回する際は、走行速度を意図的に落とす制御が考えられる。
【0068】
(第2実施形態)
次に、図9〜13を参照しつつ、本願発明の第2実施形態を説明する。ここでは、本実施形態が上記第1実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第1実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【0069】
(上記第1実施形態の課題)
図9及び図10に示すように、基準点Aから見て自立走行ロボット1の進行方向に一致する線を自立走行ロボット1の正面線Cと定義すると、場合によっては、図9のように正面線Cの左側に位置していた障害物fが、図10のように正面線Cを時折跨ぐ可能性がある。この場合、図9の状態では、正面線Cの右側には何ら障害物がないので、自立走行ロボット1は右側へ大きな旋回角θRAで旋回しようとするが、自立走行ロボット1が何らかの弾みで蛇行するなどして図10のように障害物fが正面線Cを跨ぐと、自立走行ロボット1の旋回角θRAの絶対値は急に小さくなる。このように自立走行ロボット1の旋回角θRAがステップ状に変化すると、自立走行ロボット1の滑らかな走行を著しく阻害する。
【0070】
そこで、第2実施形態では、図11に示すように、自立走行ロボット1のロボット本体2に対して相対的に位置固定された右側基準点AR及び左側基準点ALが設定されている。右側基準点ARは、左側基準点ALと比較して、自立走行ロボット1の進行方向を見たときに右側となるように位置する。端的に言えば、自立走行ロボット1の進行方向で見たときに、右側基準点ARは正面線Cの右側に、左側基準点ALは正面線Cの左側に、位置している。好ましくは、自立走行ロボット1の進行方向で見たときに、右側基準点ARと左側基準点ALは、正面線Cを基準に左右対称となっている。換言すれば、右側基準点ARと左側基準点ALは、自立走行ロボット1のロボット本体2の中心から進行方向に引いた線を基準として左右対称となっている。本実施形態において、右側基準点ARは、平面視で、正面線Cに対して垂直な方向で正面線Cから自立走行ロボット1の進行方向右側に離れる方向で、LRF5から距離h分、離れた位置に設定されている。また、左側基準点ALは、平面視で、正面線Cに対して垂直な方向で正面線Cから自立走行ロボット1の進行方向左側に離れる方向で、LRF5から距離h分、離れた位置に設定されている。従って、右側基準点ARと左側基準点ALは、正面線Cに対して直交する方向に距離2h分、離れている。換言すれば、右側基準点ARと左側基準点ALは、正面線Cに対して直交する方向に同じ距離、離れている。
【0071】
そして、図12に示すように、距離データ生成部60は、LRF5を用いて、自立走行ロボット1の進行方向側に存在する外部環境と、右側基準点ARと、の間の距離を計測して右側距離データDrawRを生成し、自立走行ロボット1の進行方向側に存在する外部環境と、左側基準点ALと、の間の距離を計測して左側距離データDrawLを生成する。次に、距離データ生成部60は、複数の右側距離データDrawRを自立走行ロボット1の進行方向正面であるほど小さくなるように補正し、複数の左側距離データDrawLを自立走行ロボット1の進行方向正面であるほど小さくなるように補正する。距離データ生成部60は、補正した右側距離データDrawRと、補正した左側距離データDrawLと、をRAM51に保存する。
【0072】
ここで、図12を参照して、LRF5を用いた、自立走行ロボット1の進行方向側に存在する外部環境と、右側基準点ARと、の間の距離の計測方法について説明する。先ず、上記第1実施形態と同様にして、LRF5を用いて、LRF5と障害物gまでの距離である距離データDrawを計測する。そして、自立走行ロボット1の進行方向側に存在する外部環境と、右側基準点ARと、の間の距離である右側距離データDrawRは、余弦定理である下記式(3)で求める。なお、下記式(3)において、照射角度θLの定義は、上記第1実施形態と同様である。
【0073】
【数9】

【0074】
同じように、自立走行ロボット1の進行方向側に存在する外部環境と、左側基準点ALと、の間の距離である左側距離データDrawLは、余弦定理である下記式(4)で求める。なお、下記式(4)において、照射角度θLの定義は、上記第1実施形態と同様である。
【0075】
【数10】

【0076】
最短距離抽出部61は、RAM51から複数の右側距離データDrawRを読み込んだ上で、複数の右側距離データDrawRのうち、最も小さい右側距離データDrawRを右側最短距離データDminRとして抽出する。同様に、最短距離抽出部61は、RAM51から複数の左側距離データDrawLを読み込んだ上で、複数の左側距離データDrawLのうち、最も小さい左側距離データDrawLを左側最短距離データDminLとして抽出する。最短距離抽出部61は、抽出した右側最短距離データDminR及び左側最短距離データDminLをRAM51に保存する。
【0077】
旋回角決定部62や走行輪制御部63等については、上記第1実施形態と同様であるから、それらの説明は省略する。
【0078】
図13には、本実施形態における自立走行ロボット1の走行の様子を示している。図13に示すように、本実施形態における自立走行ロボット1も、問題なく、障害物fとの衝突を回避するように旋回することになる。
【0079】
以上に本願発明の第2実施形態を説明したが、第2実施形態は、要するに、以下の特長を有している。
【0080】
即ち、自立走行ロボット1の走行を制御する走行制御部6は、以下のように構成されている。自立走行ロボット1には、自立走行ロボット1のロボット本体2に対して相対的に位置固定された右側基準点AR及び左側基準点ALが設定されている。右側基準点ARは、左側基準点ALと比較して、自立走行ロボット1の進行方向を見たときに右側となるように位置している。自立走行ロボット1は、自立走行ロボット1の進行方向側に存在する外部環境と、右側基準点ARと、の間の距離を計測して複数の右側距離データDrawRを生成し、自立走行ロボット1の進行方向側に存在する外部環境と、左側基準点ALと、の間の距離を計測して複数の左側距離データDrawLを生成する距離データ生成部60と、複数の右側距離データDrawRのうち、最も小さい右側距離データDrawRを右側最短距離データDminRとして抽出し、複数の左側距離データDrawLのうち、最も小さい左側距離データDrawLを左側最短距離データDminLとして抽出する、最短距離抽出部61と、自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定部62と、を備える。ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。以上の構成によれば、右側最短距離データDminRと左側最短距離データDminLの2つの距離データだけで自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRAが決定されるので、自立走行ロボット1が外部環境との衝突を回避しながら走行するのに必要となる計算コストを抑制することができる。また、右側最短距離データDminRや前記左側最短距離データDminLを生成するに際し、外部環境を分類せず連続的に取り扱うことになるので、旋回角θRAがステップ状に変化してしまう問題を解決することができる。
【0081】
【数11】

【0082】
また、距離データ生成部60は、複数の右側距離データDrawRを自立走行ロボット1の進行方向正面であるほど小さくなるように補正し、複数の左側距離データDrawLを自立走行ロボット1の進行方向正面であるほど小さくなるように補正する。以上の構成によれば、自立走行ロボット1が外部環境との衝突を回避するのに必要となる旋回角θRAを決定するに際し、自立走行ロボット1の進行方向正面に位置する外部環境ほど優先的に考慮されることになる。自立走行ロボット1の進行方向正面から大きく外れた外部環境は自立走行ロボット1の走行を阻害することがそもそもないので、この構成を採用しても自立走行ロボット1は問題なく走行することができるし、自立走行ロボット1を必要以上に旋回させることが減るので自立走行ロボット1の走行が簡素になる。
【符号の説明】
【0083】
1 自立走行ロボット
2 ロボット本体
3 右輪
4 左輪
5 LRF
6 走行制御部(走行制御装置)

【特許請求の範囲】
【請求項1】
移動体の走行を制御する走行制御装置であって、前記移動体の移動体本体に対して相対的に位置固定された単一の基準点が設定されており、
前記移動体の進行方向側に存在する外部環境と、前記基準点と、の間の距離を計測して複数の距離データを生成する距離データ生成手段と、
前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出手段と、
前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定手段と、
を備える、
移動体の走行制御装置。
【数1】

ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【請求項2】
請求項1に記載の移動体の走行制御装置であって、
前記距離データ生成手段は、前記複数の距離データを前記移動体の進行方向正面であるほど小さくなるように補正する、
移動体の走行制御装置。
【請求項3】
移動体の走行を制御する走行制御方法であって、前記移動体の移動体本体に対して相対的に位置固定された単一の基準点が設定されており、
前記移動体の進行方向側に存在する外部環境と、前記基準点と、の間の距離を計測して複数の距離データを生成する距離データ生成ステップと、
前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向右側に分類されるものであって、最も小さい距離データを右側最短距離データDminRとして抽出し、前記複数の距離データのうち、前記基準点から見て前記移動体の進行方向左側に分類されるものであって、最も小さい距離データを左側最短距離データDminLとして抽出する、最短距離抽出ステップと、
前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定ステップと、を含む、
移動体の走行制御方法。
【数2】

ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【請求項4】
コンピュータに、請求項3に記載の移動体の走行制御方法を実行させるための走行制御プログラム。
【請求項5】
移動体の走行を制御する走行制御装置であって、前記移動体の移動体本体に対して相対的に位置固定された右側基準点及び左側基準点が設定され、前記右側基準点は、前記左側基準点と比較して、前記移動体の進行方向を見たときに右側となるように位置しており、
前記移動体の進行方向側に存在する外部環境と、前記右側基準点と、の間の距離を計測して複数の右側距離データを生成し、前記移動体の進行方向側に存在する外部環境と、前記左側基準点と、の間の距離を計測して複数の左側距離データを生成する距離データ生成手段と、
前記複数の右側距離データのうち、最も小さい右側距離データを右側最短距離データDminRとして抽出し、前記複数の左側距離データのうち、最も小さい左側距離データを左側最短距離データDminLとして抽出する、最短距離抽出手段と、
前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定手段と、
を備える、
移動体の走行制御装置。
【数3】

ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【請求項6】
請求項5に記載の移動体の走行制御装置であって、
前記距離データ生成手段は、前記複数の右側距離データを前記移動体の進行方向正面であるほど小さくなるように補正し、前記複数の左側距離データを前記移動体の進行方向正面であるほど小さくなるように補正する、
移動体の走行制御装置。
【請求項7】
移動体の走行を制御する走行制御方法であって、前記移動体の移動体本体に対して相対的に位置固定された右側基準点及び左側基準点が設定され、前記右側基準点は、前記左側基準点と比較して、前記移動体の進行方向を見たときに右側となるように位置しており、
前記移動体の進行方向側に存在する外部環境と、前記右側基準点と、の間の距離を計測して複数の右側距離データを生成し、前記移動体の進行方向側に存在する外部環境と、前記左側基準点と、の間の距離を計測して複数の左側距離データを生成する距離データ生成ステップと、
前記複数の右側距離データのうち、最も小さい右側距離データを右側最短距離データDminRとして抽出し、前記複数の左側距離データのうち、最も小さい左側距離データを左側最短距離データDminLとして抽出する、最短距離抽出ステップと、
前記移動体が前記外部環境との衝突を回避するのに必要となる旋回角θRA(ただし、左旋回を正とする。)を下記式(1)に基づいて決定する旋回角決定ステップと、を含む、
移動体の走行制御方法。
【数4】

ただし、p(x)は、p(0)=0で、且つ、xについて単調増加な奇関数であり、q(x,y)はx>0、y>0でq(x,y)>0となり、且つ、x、y夫々について単調増加となる関数である。
【請求項8】
コンピュータに、請求項7に記載の移動体の走行制御方法を実行させるための走行制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−58043(P2013−58043A)
【公開日】平成25年3月28日(2013.3.28)
【国際特許分類】
【出願番号】特願2011−195378(P2011−195378)
【出願日】平成23年9月7日(2011.9.7)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】