JP5312894B2 - 自律移動体及び自律移動体の移動制御方法 - Google Patents

自律移動体及び自律移動体の移動制御方法 Download PDF

Info

Publication number
JP5312894B2
JP5312894B2 JP2008261821A JP2008261821A JP5312894B2 JP 5312894 B2 JP5312894 B2 JP 5312894B2 JP 2008261821 A JP2008261821 A JP 2008261821A JP 2008261821 A JP2008261821 A JP 2008261821A JP 5312894 B2 JP5312894 B2 JP 5312894B2
Authority
JP
Japan
Prior art keywords
subgoal
robot
subgoals
current position
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008261821A
Other languages
English (en)
Other versions
JP2010092279A (ja
Inventor
正樹 高橋
英生 下本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Keio University
Original Assignee
Murata Machinery Ltd
Keio University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd, Keio University filed Critical Murata Machinery Ltd
Priority to JP2008261821A priority Critical patent/JP5312894B2/ja
Publication of JP2010092279A publication Critical patent/JP2010092279A/ja
Application granted granted Critical
Publication of JP5312894B2 publication Critical patent/JP5312894B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、自律移動体及び当該自律移動体の移動制御方法に関する。詳細には、ある地点から別の地点までの間に複数設定されたサブゴールを参照して移動する自律移動体に関する。
近年、オフィス及び工場等、障害物の存在する実環境で様々なサービスを提供するロボットが提案され、開発が行われている。このようなロボットには種々の機能が要求されるが、中でも重要な機能の1つに、目的地への自律的な移動がある。
ロボットなどの自律移動体を或る地点から目的地へと移動させる制御方法としては、分岐点、曲がり角、固定障害物の設置状況などから、環境に応じた経由地点(サブゴール)を設定し、当該サブゴールを目標にして移動させる方法が知られている。実際には障害物を回避する行動を行うこと等があるので厳密にサブゴールを辿らない場合もあるが、目的地までの間に何らかの中間的な移動目標が設定されるのが一般的である。このような構成のロボットとしては、例えば特許文献1が開示する移動ロボットがある。特許文献1が開示するのは、サブゴール間を結ぶ線分に追従して移動するロボットである。
特開2007−249631号公報
しかし、上記のようにサブゴールを目標として移動する構成のロボットにおいては、或るサブゴールに辿り着いて移動目標を次のサブゴールに切り替えるときに、移動方向が大きく変化し、滑らかな移動を実現することが困難であった。この点、上記特許文献1では、ロボットが追従する対象とする線分をサブゴールに到達するよりも前に切り替えることで、サブゴールの近くでもロボットを滑らかに移動させることができるとしている。しかし、上記特許文献1の構成であっても、線分同士の角度が急な場合には、追従する線分の切り替え時にロボットに急な方向転換が発生してしまう。このようにロボットに急な方向転換が必要とされると、アクチュエータ(例えばモータ)の容量を大きくせざるを得ず、コストが掛かるとともに消費電力の点でも改善の余地があった。
上記のような問題を解決するため、サブゴールの設置間隔を狭くすることが考えられる。これにより、サブゴールを切り替えるときの移動方向の変化が少なくなり、ロボットの滑らかな移動を実現することができる。しかしながら、サブゴールの間隔を狭くすることにより大量のサブゴール情報をロボットに保持させなければならず、メモリなどの記憶領域を圧迫してしまう。
また、上記のようにサブゴールを目標として移動させる方法に代えて、例えば人工ポテンシャル場を環境情報として保持させ、引力ポテンシャルと斥力ポテンシャルからロボットの移動方向を演算することによってロボットを移動させる構成も考えられる。しかし、この方法においても人工ポテンシャル場を保存するために大量の記憶領域が必要であり、またポテンシャル場からロボットの移動方向を計算する際の計算負荷も大きい。
また、特許文献1は、ロボットが追従する線分を切り替える条件として、以下の2つの条件を開示している。その条件の1つ目は、ロボットが現在向かっているサブゴールと、当該ロボットと、の距離が所定の閾値よりも小さい場合である。また2つ目の条件は、ロボットが現在追従している線分と当該ロボットの位置との誤差よりも、次の線分と当該ロボットとの誤差の方が小さい場合である。
しかし、上記の条件では、ロボットが現在向かっているサブゴール上に障害物があると、追従する対象とする線分を切り替えることができず、ロボットが先に進むことができない場合があるという問題があった。即ち、上記1つ目の条件では、半径が前記所定の閾値よりも大きい障害物がサブゴール上に存在していた場合は、当該サブゴールに前記所定の閾値よりも近づくことができないので、サブゴールを切り替えることができない。また、上記2つ目の条件では、前記障害物を小さく回避した場合は、現在追従している線分からロボットの位置が大きく外れることがないので、現在追従している線分との誤差が次の線分との誤差よりも大きくならず、サブゴールを切り替えることができない。
本願発明は以上の事情に鑑みてされたものであり、その主要な目的は、記憶領域と演算量を抑えつつ目的地まで滑らかに移動することが可能な自律移動体を提供することにある。
課題を解決するための手段及び効果
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
本発明の観点によれば、以下の構成の自律移動体が提供される。即ち、この自律移動体は、サブゴール記憶部と、現在位置取得部と、最短サブゴール探索部と、サブゴール抽出部と、仮想移動目標演算部と、を備える。前記サブゴール記憶部は、第1地点から第2地点に至るまでの経路に複数設定されたそれぞれのサブゴールの位置と、前記第1地点又は前記第2地点からの前記サブゴールの順序と、を記憶している。前記現在位置取得部は、自機の現在位置を取得する。前記最短サブゴール探索部は、前記サブゴール記憶部が記憶しているサブゴールの中で、前記現在位置から最短距離にあるサブゴールを探索する。前記サブゴール抽出部は、前記最短距離にあるサブゴールを含み、前記現在位置を中心とした所定領域内に位置するサブゴールを抽出する。前記仮想移動目標演算部は、自機の現在位置から、前記抽出された各サブゴールへと向かうベクトルを求めるとともに、各ベクトルを合成して合成ベクトルを求め、前記現在位置を始点とした前記合成ベクトルの方向に自機の仮想的な移動目標を配置する。
以上の構成で、移動体の近傍に複数のサブゴールがある場合、当該複数のサブゴールの位置を総合的に考慮して仮想的な移動目標を決定することができる。これにより、1つのサブゴールのみを移動目標として移動する構成と比べて、移動目標が大きく変化することがなくなり、円滑な移動を行うことができる。従って、サブゴールを切り替える際の急な方向転換が発生しにくくなるので、アクチュエータの負荷を抑えることが可能となり、省電力化及びコストダウンを実現することができる。また、移動を円滑にするためにサブゴールを細かい間隔で設定する必要が無いので、サブゴール記憶部の記憶容量等を抑えることができる。また、サブゴールへの到達を目標とするのではなく、サブゴールから求めた仮想的な移動目標に追従するように移動することで、サブゴールに到達することなく第2地点まで移動することが可能である。即ち、必ずしもサブゴールの近傍を経由する必要がないので、サブゴール上に障害物がある場合や、障害物回避により経路から外れた場合であっても、従来の構成のように先に進めなくなることが無く、第2地点に向かって効率的な移動が可能になる。
前記の自律移動体においては、以下のように構成されていることが好ましい。即ち、前記仮想移動目標演算部は、前記サブゴール抽出部によって抽出された前記各サブゴールの位置を、前記現在位置を原点とする相対座標に座標変換する。そして、前記仮想移動目標演算部は、当該相対座標における前記各サブゴールの位置ベクトルを合成した合成ベクトルの方向に前記仮想的な移動目標を配置する。
これにより、複数のサブゴールを考慮しつつ、位置ベクトルの合成という比較的簡単な演算によって移動体の仮想的な移動目標を決定することができる。
前記の自律移動体においては、前記サブゴール抽出部は、前記所定領域の外側近傍に位置するサブゴールがある場合は、当該サブゴールの位置を前記所定領域の境界上に置換して追加的に抽出することが好ましい。
これにより、遠い位置にあるサブゴールを予め考慮に入れておくことができるので、より滑らかに移動することができる。また、所定領域の境界上の位置に置換することにより、相対座標に座標変換したときの位置ベクトルの長さを制限できるので、遠い位置のサブゴールと近い位置のサブゴールをバランス良く考慮して移動することができる。
前記の自律移動体においては、前記仮想移動目標演算部は、前記現在位置を中心とした所定領域内に位置するサブゴールのうち、前記最短距離にあるサブゴールよりも前記第1地点側であるサブゴールを除いた残りの各サブゴールについての前記ベクトルを合成することで、前記合成ベクトルを求めることが好ましい。
これにより、最短距離にあるサブゴールと、それより第2地点側のサブゴールのみを考慮して移動方向を決定できるので、第2地点に対してより効率良く移動することができる。
本発明の別の観点によれば、第1地点から第2地点に至るまでの経路に複数設定されたそれぞれのサブゴールの位置と、前記第1地点又は第2地点からの前記サブゴールの順序と、を記憶したサブゴール記憶部を備えた自律移動体の移動制御方法であって、以下のステップを含む移動制御方法が提供される。即ち、この自律移動体の移動制御方法は、現在位置取得ステップと、最短サブゴール探索ステップと、サブゴール抽出ステップと、仮想移動目標演算ステップと、を含んでいる。前記現在位置取得ステップでは、自機の現在位置を取得する。前記最短サブゴール探索ステップでは、前記サブゴール記憶部が記憶しているサブゴールの中で、前記現在位置から最短距離にあるサブゴールを探索する。前記サブゴール抽出ステップでは、前記最短距離にあるサブゴールを含み、前記現在位置を中心とした所定領域内に位置するサブゴールを抽出する。前記仮想移動目標演算ステップでは、自機の現在位置から、前記抽出された各サブゴールへと向かうベクトルを求めるとともに、各ベクトルを合成して合成ベクトルを求め、前記現在位置を始点とした前記合成ベクトルの方向に自機の仮想的な移動目標を配置する。
以上の方法で、移動体の近傍に複数のサブゴールがある場合、当該複数のサブゴールの位置を総合的に考慮して仮想的な移動目標を決定することができる。これにより、1つのサブゴールのみを移動目標として移動する構成と比べて、移動目標が大きく変化することがなくなり、円滑な移動を行うことができる。従って、サブゴールを切り替える際の急な方向転換が発生しにくくなるので、アクチュエータの負荷を抑えることが可能となり、省電力化及びコストダウンを実現することができる。また、移動を円滑にするためにサブゴールを細かい間隔で設定する必要が無いので、サブゴール記憶部の記憶容量等を抑えることができる。また、サブゴールへの到達を目標とするのではなく、サブゴールから求めた仮想的な移動目標に追従するように移動することで、サブゴールに到達することなく第2地点まで移動することが可能である。即ち、必ずしもサブゴールの近傍を経由する必要がないので、サブゴール上に障害物がある場合や、障害物回避により経路から外れた場合であっても、従来の構成のように先に進めなくなることが無く、第2地点に向かって効率的な移動が可能になる。
次に、発明の実施の形態を説明する。図1は本発明の一実施形態に係るロボット11の全体的な構成を模式的に示した側面図である。
図1に示す自律移動体としてのロボット11は、本体12と、オムニホイール機構(移動部)13と、レーザレンジファインダ(検知部)14と、走行制御コントローラ(移動制御部)15と、を備えている。
前記本体12は縦方向に細長く形成されており、その下端部に、ロボットを自走させるためのオムニホイール機構13が取り付けられている。オムニホイール機構13は、周方向に90°の間隔で並べて配置された4つのオムニホイール21と、このオムニホイール21に対応して設置される4つのモータ22と、を備えている。
以下、図2を参照して、オムニホイール機構13の構成を具体的に説明する。図2はオムニホイール機構13を示す底面図である。
このオムニホイール機構13は図2に示すように、前記本体12の底面に配置された4つのホイール駆動ユニット23を備えている。このホイール駆動ユニット23は、枠組状に形成されたモータ支持フレーム24と、このモータ支持フレーム24に固定されたモータ22と、を備えている。前記モータ支持フレーム24の一端部は、本体12の底面にブラケット25を介して固定されている。
モータ22は、図略のロータを回転可能に支持するハウジング26を備え、このハウジング26は前記モータ支持フレーム24の内部に配置されている。モータ22の出力軸27はモータ支持フレーム24から外側へ突出しており、この出力軸27の端部に前記オムニホイール21が取り付けられている。それぞれのホイール駆動ユニット23におけるオムニホイール21は、その回転軸がロボット11の正面方向に対してなす角が45°又は135°となるように配置されている。
それぞれのオムニホイール21は、前記モータ22の出力軸27に固定されるローラ状の本体31と、この本体31の外周に並べて配置された複数のフリーローラ32と、を備えている。フリーローラ32は回転可能となるように本体31に支持され、当該フリーローラ32の外周面は床面に接触可能となっている。また、前記フリーローラ32の回転軸は、本体31の回転軸に対して垂直に向けられている。
この構成で、モータ22が駆動されて本体31が回転することにより、フリーローラ32は本体31と一体的に回転し、その駆動力を床面に伝達する。一方、接地しているフリーローラ32が回転することにより、オムニホイール21は、その本体31の回転軸に平行な方向にも容易に移動することができる。以上の構成により、ロボット11の全方位移動が実現される。
4つのホイール駆動ユニット23が備えるモータ22は、走行制御コントローラ15からの走行指令(移動指令)に基づき、4つのオムニホイール21の回転方向及び回転速度をそれぞれ独立して制御する。これにより、ロボット11を任意の方向に移動させる制御(全方位移動制御)を実現している。
図1に示すレーザレンジファインダ14は、図略のトランスミッタから照射したレーザを回転ミラーで反射させることで、ロボット11の正面側を平面視で扇状に走査することができる。そして、照射されたレーザが物体で反射して戻ってくるまでの時間を計測することにより、物体までの距離を測定することができる。このレーザレンジファインダ14はロボット11の視覚を実現する手段として使用され、静止又は移動している物体(障害物)の検知等に用いられる。
次に、図3を参照して走行制御コントローラ15について説明する。図3はロボット11の移動制御のための電気的構成を示すブロック図である。
走行制御コントローラ15はマイクロコンピュータとして構成されており、図示しないが、演算部としてのCPUと、記憶部としてのROM、RAM等を備えている。また、前記ROMには、ロボット11の自律的な移動を実現するための制御プログラムが記憶されている。
図3に示すように、走行制御コントローラ15は、マップ記憶部51と、目標位置記憶部52と、自機情報取得部53と、障害物情報取得部54と、を備えている。また、走行制御コントローラ15は、サブゴール演算部55と、サブゴール記憶部56と、最短サブゴール探索部57と、サブゴール抽出部58と、仮想移動目標演算部59と、走行指令送信部64と、を備えている。これらの各部は、上述したハードウェアとソフトウェアの組合せにより構築されている。
マップ記憶部51は、ロボット11の行動範囲における静的障害物を示すマップを記憶可能に構成されている。ここで静的障害物とは、消えたり位置が変化したりすることのない障害物をいい、具体的には壁、柱等の静的構造物及び重量物等である。このマップを作成するには、人間等の動的障害物を全て取り除いた状態で、当該ロボット11を移動させつつ、レーザレンジファインダ14で障害物を走査する。これにより、ロボット11は静的障害物の位置及び形状を認識してマップを自動的に作成し、適宜のメモリに記憶することができる。
目標位置記憶部52は、ロボット11を移動させるべき目標位置の情報を記憶可能に構成されている。この目標位置は、オペレータがロボット11を適宜操作することにより指定され、前記マップにおける座標の形で記憶される。
自機情報取得部53は、自機の現在位置及び速度を計算して取得する。従って、この自機情報取得部53は現在位置取得部であるといえる。この自機情報は、レーザレンジファインダ14から得られた周囲の障害物の情報と前記マップとを照合した結果と、オムニホイール機構13の各モータ22の出力軸27の回転角度の情報と、を総合的に考慮して決定される。なお、モータ22の出力軸27の回転角度は、当該出力軸27に取り付けられた図略のエンコーダにより取得することができる。
障害物情報取得部54は、レーザレンジファインダ14から得られた、ロボット動作中にロボットが所有している環境地図上にない静止又は移動している障害物を検出し、その位置及び速度を取得する。
サブゴール演算部55は、当該ロボット11がセットされた初期位置(ロボット11の現在位置を含む)と、目標位置記憶部52に記憶された目標位置と、の間を移動するための経路を計画し、当該経路中に経過目標地点としてのサブゴールを複数設定する。なお、サブゴールの設定については後述する。
サブゴール記憶部56は、サブゴール演算部55が設定した各サブゴールの位置、及び初期位置から目標位置に至るまでの順番を記憶可能に構成されている。
最短サブゴール探索部57は、サブゴール記憶部56が記憶しているサブゴールの中で、自機情報取得部53が取得した現在位置から最も近いサブゴールを探索するように構成されている。
サブゴール抽出部58は、サブゴール記憶部56が記憶しているサブゴールの中で、自機情報取得部53が取得した現在位置から所定距離内に位置しているサブゴールを抽出するように構成されている。なお、サブゴールの抽出については後述する。
仮想移動目標演算部59は、サブゴール抽出部58の抽出結果に基づいて、当該ロボット11の仮想的な移動目標(仮想移動目標)を演算するように構成されている。なお、仮想移動目標の演算については後述する。
走行指令送信部64は、仮想移動目標演算部59で得られた仮想移動目標に対してロボット11を移動させるように走行指令を生成し、オムニホイール機構13に対し送信することにより、ロボット11を走行させる。
次に、以上のように構成されたロボット11の自律移動の制御方法について、図4を参照して説明する。図4は、本実施形態のロボット11の走行制御コントローラ15が、当該ロボット11の自律移動のために行う制御の流れを示したフローチャートである。なお、このフローの開始時点で、マップ記憶部51にはマップが、目標位置記憶部52には目標位置が、予め記憶されているものとする。
まず、オペレータはロボット11を所望の初期位置に配置して所定の操作を行う(S101)。これにより、図5のフローが開始される。
次に、サブゴール演算部55によってサブゴールの設定処理(目標位置までの経路計画)が行われる(S102)。以下、このサブゴールの設定処理について具体的に説明する。
一例として、図5に示すようなマップがマップ記憶部51に記憶されている場合について説明する。図に示すように、このマップは障害物16が存在する領域と存在しない領域を表した図であって、ロボット11の移動平面における障害物16の位置及びサイズが記憶されている。なお、参考のため、図5のマップの右側にはロボット11の直径を表す円が図示されている。この図5に示すように、マップにおいてロボット11を、その平面視での外形輪郭を含む適宜の大きさの円として表現することにより、制御を簡素化でき、演算負荷を減らすことができる。
まず、サブゴール演算部55は、マップ記憶部51から前記マップを読み込み、ロボット11と障害物16との領域の和(Minkowski和)を求める。このとき、ロボット11の領域(形状)は、前述したように円形とすることができる。このようにMinkowski和を求めた結果の例が図6に示してある。この図6は、斜線のハッチングが施された領域にロボット11の円の中心点が接触しないように制御する限り、ロボット11が障害物16に接触することを回避できることを表している。これにより、以降の処理ではロボット11を点として取り扱うことができる。
次に、サブゴール演算部55は、図6に示す斜線のハッチングが施されていない領域(即ち、ロボット11が通過することができる領域)を、公知のHilditchの細線化条件によって細線化する。この細線化の結果の例を図7に示す。このとき細線化によって得られた線のそれぞれは、ロボット11が採り得る大まかな経路として考えることができる。
次に、サブゴール演算部55は、目標位置記憶部52から目標位置の座標を読み込むとともに、自機情報取得部53によってロボット11の現在位置(前記マップ上の座標(絶対座標)で表した位置)の取得を行う。この時点においてはロボット11は未だ移動を開始していないので、このとき取得した現在位置がロボット11の初期位置(移動開始位置)となる。
更に、サブゴール演算部55は、細線化によって得られた経路の各分岐点にサブゴールノード72を配置する。このときの内部的な様子を概念的に例示すると、図8のようになる。例えば、図に示すように、サブゴール演算部55の演算開始時点におけるロボット11の現在位置が符号70の位置であると、その位置が初期位置(第1地点)70として設定される。また、図8には、目標位置記憶部52に記憶されている目標位置(第2地点)71も図示してある。そして、図に示すように、初期位置70と目標位置71との間の経路の各分岐点には、それぞれサブゴールノード72が配置されている。
続いて、サブゴール演算部55は、初期位置70から目標位置71までの最短経路を探索する。本実施形態では、公知のA*アルゴリズムを用いて最短経路の探索を行う。このとき、或るサブゴールノード72から目標位置71までの移動コストを表すヒューリスティック関数として、当該サブゴールノード72から目標位置71までのユークリッド距離を用いることにより、演算量を削減することができる。上記の最短経路探索で決定された最短経路の例を、図9に太線で表す。
上記のようにして初期位置70から目標位置71までの最短経路を決定した後、サブゴール演算部55は、障害物16と干渉しない範囲で経路の直線化を行う。直線化を行った結果の例を図10に示す。続いて、サブゴール演算部55は、経路の平滑化(障害物16と干渉しない範囲で経路の角を丸めること)を行う。平滑化を行った結果の例を図11に示す。
以上のようにして、初期位置70から目標位置71までの間に複数のサブゴールノード72が配置されて、ロボット11の移動経路が確定する。最終的に得られた各サブゴールノード72の位置を、ロボット11の自律移動制御に実際に用いるサブゴールの位置とする。そして、上記のようにして得られた各サブゴールの順序と、当該サブゴールの位置(マップ上の絶対座標で表した座標)が、サブゴール記憶部56に記憶される。なお、本実施形態においてサブゴールの順序は、初期位置70に最も近いものが1番目、次に近いのが2番目、・・・というように定められ、この順序を表す数値データがサブゴール記憶部56に記憶される。
サブゴールが設定されると、走行制御コントローラ15は、ロボット11の自律移動を開始する(図4のS103)。走行制御コントローラ15は、以下に説明する自律制御ループ(図4のS104からS111)を繰り返し実行することにより、目標位置までロボット11の自律移動制御を行う。以下、一例として、サブゴールが図12のように設定されている場合について説明する。図12には、サブゴール記憶部56が記憶している複数のサブゴール81,82,83,84,85の位置を絶対座標系(図中のxy直交座標系)にプロットした様子を概念的に示してある。また、図12には、目標位置記憶部52が記憶している目標位置90と、自機情報取得部53が取得したロボット11の現在位置もプロットして示してある。図に示すように、サブゴールが81,82,83,84,85の順で設定され、最後に目標位置90が設定されている。
まず、自機情報取得部53が、ロボット11の現在位置を取得する(現在位置取得ステップ、S104)。
そして、取得した現在位置が目標位置に到達していれば(S105の判断)、自律移動の目的を達成しているので、自律制御ループを抜けてフローを終了する。
ロボット11が未だ目標位置に到達していない場合は、現在位置から直線距離で最短距離にあるサブゴールを探索する(最短サブゴール探索ステップ、S106)。図12の場合においては、ロボット11の現在位置から最短距離にあるのはサブゴール82であるから、サブゴール82が選択される。
続いて、サブゴール抽出部58によって、最短距離にあるサブゴールを含む所定領域内のサブゴールの抽出が行われる(サブゴール抽出ステップ、S107)。以下、この点について具体的に説明する。
前記の所定領域としては、例えば図13に示すように、ロボット11を中心とした所定半径の領域円100の内側の領域とすることができる。なお、最短距離のサブゴール82を領域円100内に含ませるために、前記領域円100の半径としては、当該サブゴール82とロボット11との間の距離以上の値を設定するものとする。図13の例では、領域円100の内側にはサブゴール81,82,83があるので、前記サブゴール81,82,83が抽出される。
更に、サブゴール抽出部58は、所定領域の外側に位置するものの前記所定領域に近いサブゴールを領域の外周上にあるものとみなして、サブゴールを追加的に抽出することができる。例えば図13の例では、領域円100の外側近傍にサブゴール84が位置している。このサブゴール84とロボット11とを結んだ直線と前記領域円100との交点(領域円100の外周上)を求め、この交点上にサブゴール84の位置を置き換える(置換サブゴール86)。この置換サブゴール86をロボット11から見た方向は、元のサブゴール84をロボット11から見た方向と一致する。そして、この置換サブゴール86をサブゴールの抽出結果に含めることで、遠い位置にあるサブゴールを予め考慮することにより滑らかな移動を実現することができる。また、遠い位置にあるサブゴールを領域の外周上に置換しているので、ベクトル合成(後述)の際に、遠い位置にある(即ちベクトルが大きい)サブゴールの影響が過大になってしまうことを回避することができる。
次に、サブゴール抽出部58は、サブゴール記憶部56に記憶されているサブゴールの順番を取得し、現在位置から最短距離にあるサブゴールよりも順序が前(即ち、初期位置70側)のサブゴールを、前記抽出結果から取り除く。図13の例では、抽出されたサブゴールの中で、最短距離のサブゴール82よりも前のサブゴールはサブゴール81であるので、このサブゴール81を取り除く。即ち、ロボット11はサブゴール81を既に通り過ぎていると見なせるので、自律移動の考慮の対象から除外するのである。
なお、サブゴールの順序は当初から決まっているので、領域円100の内側のサブゴールを抽出する段階で、最短距離のサブゴール82よりも順序が前のサブゴール81を除いた状態で抽出することもできる。このようにすれば、所定領域内にあるか否かをサブゴール抽出部58で判断しなければならないサブゴールの数が減るので、演算量を削減できる点で有利である。要は、後述の仮想移動目標演算部59による仮想移動目標88の演算の際に、当該サブゴール81の位置を考慮に入れずに計算することができれば良い。
次に、仮想移動目標演算部59によって、ロボット11の仮想的な移動目標が演算される(仮想移動目標演算ステップ、S108)。以下、この点について具体的に説明する。
まず、仮想移動目標演算部59は、サブゴール抽出部58によって抽出されたサブゴール(前記の例の場合は、サブゴール82,83及び置換サブゴール86)の座標を、ロボット11の相対座標系(ローカル座標系)に座標変換する。この相対座標系は任意の座標系とすることができるが、例えば図13に示すv軸とw軸による直交座標系のようにロボット11を座標中心(原点)とした直交座標系とすれば、後述のベクトル合成の演算が簡単になるため好適である。抽出されたサブゴールを相対座標系に座標変換してプロットした概念的な様子を図14に示す。
続いて、仮想移動目標演算部59は、前記相対座標系において、ロボット11の現在位置から各サブゴールへ向かうベクトルを求め、それぞれのベクトルを合成した合成ベクトルを求める。図14の例では、ロボット11は相対座標系の原点に位置しているので、各サブゴール(サブゴール82,83及び置換サブゴール86)の位置ベクトルを求め、各位置ベクトルを合成することで合成ベクトル87を得る。
そして、仮想移動目標演算部59は、合成ベクトル87と領域円100との交点に、仮想移動目標88を配置する。なお、合成ベクトル87の長さが領域円100の半径よりも短い場合は、合成ベクトル87の延長線と領域円100との交点に仮想移動目標88を配置すれば良い。
以上のようにして仮想移動目標88が得られると、走行指令送信部64は、仮想移動目標88の位置を絶対座標系に座標変換する。図15に、仮想移動目標88を絶対座標系にプロットした様子を概念的に示す。そして、走行指令送信部64は、この仮想移動目標88に向かってロボット11を移動するように、オムニホイール機構13に対して走行指令を送信する(図4のS109)。なお、このときのロボット11の移動速度は、前記合成ベクトル87の大きさに関係した速度でも良いし、これとは全く別に決定されても良い。
ロボット11の移動中においては、障害物情報取得部54がレーザレンジファインダ14から障害物に関する情報を取得する。そして、障害物があった場合(S110の判断)は、走行指令送信部64は、オムニホイール機構13を駆動して、ロボット11を当該障害物から回避させるように移動させる(S111)。
以上の処理が終了した場合、走行制御コントローラ15はS104のステップまで戻り、ロボット11の制御周期毎に前記処理(S104からS111の処理)を繰り返し実行する。このループ処理により、仮想移動目標88の位置は、ロボット11の移動に伴って常に更新され続ける。従って、ロボット11は、一定距離離れた仮想移動目標88を常に追いかけるようにして移動することになる。これにより、サブゴールの絶対位置を目標として移動する構成に比べ、滑らかな移動目標を生成することが可能となり、ロボット11の滑らかな移動制御を実現することができるのである。また、ロボット11は仮想移動目標88を目標として移動しているので、サブゴール上に障害物があった場合であっても、当該障害物によって進めなくなることがなく、目的地に向かって移動を続けることができる。
以上で説明したように、本実施形態のロボット11は、サブゴール記憶部56と、自機情報取得部53と、最短サブゴール探索部57と、サブゴール抽出部58と、仮想移動目標演算部59と、を備えている。サブゴール記憶部56は、初期位置から目標位置に至るまでの経路に複数設定されたそれぞれのサブゴールの位置と、初期位置からの前記サブゴールの順序と、を記憶している。自機情報取得部53は、自機の現在位置を取得する。最短サブゴール探索部57は、サブゴール記憶部56が記憶しているサブゴールの中で、現在位置から最短距離にあるサブゴールを探索する。サブゴール抽出部58は、前記最短距離にあるサブゴールを含み、現在位置を中心とした所定領域内に位置するサブゴールを抽出する。仮想移動目標演算部59は、サブゴール抽出部58によって抽出された各サブゴールの位置に基づいて仮想移動目標88を演算する。
以上の構成で、ロボット11の近傍に複数のサブゴールがある場合、当該複数のサブゴールの位置を総合的に考慮して仮想移動目標88を決定することができる。これにより、1つのサブゴールのみを移動目標として移動する構成と比べて、移動目標が大きく変化することがなくなり、円滑な移動を行うことができる。従って、サブゴールを切り替える際の急な方向転換が発生しにくくなるので、アクチュエータの負荷を抑えることが可能となり、省電力化及びコストダウンを実現することができる。また、移動を円滑にするためにサブゴールを細かい間隔で設定する必要が無いので、サブゴール記憶部56の記憶容量等を抑えることができる。また、サブゴールへの到達を目標とするのではなく、サブゴールから求めた仮想的な移動目標に追従するように移動することで、サブゴールに到達することなく目標位置まで移動することが可能である。即ち、必ずしもサブゴールの近傍を経由する必要がないので、サブゴール上に障害物がある場合や、障害物回避により経路から外れた場合であっても、従来の構成のように先に進めなくなることが無く、目標位置に向かって効率的な移動が可能になる。
また、本実施形態のロボット11は、以下のように構成されている。即ち、仮想移動目標演算部59は、サブゴール抽出部58によって抽出された各サブゴールの位置を、現在位置を原点とする相対座標に座標変換する。そして、仮想移動目標演算部59は、相対座標における各サブゴールの位置ベクトルを合成した合成ベクトル87の方向に基づいて仮想移動目標88を演算する。
これにより、複数のサブゴールを考慮しつつ、ベクトルの合成という比較的簡単な演算によってロボット11の仮想移動目標88を決定することができる。
また、本実施形態のロボット11において、サブゴール抽出部58は、前記所定領域の外側近傍に位置するサブゴールがある場合は、当該サブゴールの位置を前記所定領域の境界上に置換して追加的に抽出している。
これにより、遠い位置にあるサブゴールを予め考慮に入れておくことができるので、より滑らかに移動することができる。また、所定領域の境界上の位置に置換することにより、相対座標に座標変換したときの位置ベクトルの長さを制限できるので、遠い位置のサブゴールと近い位置のサブゴールをバランス良く考慮して移動することができる。
また、本実施形態のロボット11において、仮想移動目標演算部59は、自機の現在位置を中心とした所定領域内に位置するサブゴールのうち、前記最短距離にあるサブゴールよりも初期位置側であるサブゴールを除いた残りの各サブゴールの位置に基づいて、仮想移動目標88を演算している。
これにより、最短距離にあるサブゴールと、それより目標位置側のサブゴールのみを考慮して移動方向を決定できるので、目標位置に対してより効率良く移動することができる。
また、本実施形態のロボット11の移動制御方法は、現在位置取得ステップ(S104)と、最短サブゴール探索ステップ(S106)と、サブゴール抽出ステップ(S107)と、仮想移動目標演算ステップ(S108)と、を含んでいる。現在位置取得ステップでは、自機の現在位置を取得する。最短サブゴール探索ステップでは、サブゴール記憶部56が記憶しているサブゴールの中で、現在位置から最短距離にあるサブゴールを探索する。サブゴール抽出ステップでは、前記最短距離にあるサブゴールを含み、現在位置を中心とした所定領域内に位置するサブゴールを抽出する。仮想移動目標演算ステップでは、サブゴール抽出ステップで抽出された各サブゴールの位置に基づいて自機の仮想的な移動目標を演算する。
以上の方法で、ロボット11の近傍に複数のサブゴールがある場合、当該複数のサブゴールの位置を総合的に考慮して仮想移動目標88を決定することができる。これにより、1つのサブゴールのみを移動目標として移動する構成と比べて、移動目標が大きく変化することがなくなり、円滑な移動を行うことができる。従って、サブゴールを切り替える際の急な方向転換が発生しにくくなるので、アクチュエータの負荷を抑えることが可能となり、省電力化及びコストダウンを実現することができる。また、移動を円滑にするためにサブゴールを細かい間隔で設定する必要が無いので、サブゴール記憶部56の記憶容量等を抑えることができる。また、サブゴールへの到達を目標とするのではなく、サブゴールから求めた仮想的な移動目標に追従するように移動することで、サブゴールに到達することなく目標位置まで移動することが可能である。即ち、必ずしもサブゴールの近傍を経由する必要がないので、サブゴール上に障害物がある場合や、障害物回避により経路から外れた場合であっても、従来の構成のように先に進めなくなることが無く、目標位置に向かって効率的な移動が可能になる。
以上に本発明の好適な実施の形態について説明したが、上記の構成は例えば以下のように変更することができる。
レーザレンジファインダ14に代えて、又はそれに加えて、ステレオカメラ、単眼カメラ、超音波センサ、赤外線センサ等をロボット11に備え、これらによって障害物を検知する構成に変更することができる。
サブゴールを設定する方法としては、上記の方法に限られず、適宜の方法を用いることができる。例えば、A*アルゴリズムの代りにダイクストラ法を用いて最短経路を探索しても良い。また例えば、平滑化を行った後で直線化を行っても良い。
また、経路の平滑化を行う際に、例えばカーブの急なところにはサブゴールを密に配置し、直線状の区間にはサブゴールを広い間隔で配置するように構成することができる。これによれば、カーブの急なところで、ロボット11を更に滑らかに移動させることができる。
また、サブゴール抽出部58によって所定領域内のサブゴールを抽出する際、当該所定領域の外側近傍にあるサブゴールは考慮しないように構成しても良い。
サブゴールの順序は、上記実施形態と逆に、目標位置90に最も近いものが1番目、次に近いのが2番目、・・・というように定めてサブゴール記憶部56に記憶することもできる。
サブゴール記憶部56に記憶された各サブゴールには、速度に関する情報を関連付けて記憶しておいても良い。例えば、通路の狭い部分に配置されたサブゴールにはロボット11をゆっくりと移動させるような情報を、広い部分に配置されたサブゴールには速度を上げる情報を関連付けるように構成する。この場合、ロボット11の移動速度を決定する際には、例えば、最短サブゴール探索部57によって選択された最短距離のサブゴールに関連付けられた速度でロボットを移動させるように構成することができる。
仮想移動目標演算部59において、サブゴールを相対座標に座標変換する処理を省略し、絶対座標のままでベクトル演算を行ってもよい。
領域円100の半径は、状況に応じて随時変更可能とすることができる。この場合、例えば、各サブゴールに通路の幅に関する情報を関連付けて記憶しておき、ロボット11が移動している通路の幅に応じて領域円100の半径を変更する構成とすることができる。即ち、狭い通路では領域円100の半径を小さくすることで、サブゴール抽出部58で抽出されるサブゴールの数を減らし、ロボット11がサブゴール列で表される経路から大きく外れないように制御することができる。また、このように構成する場合は、ロボット11の移動速度を領域円100の半径に関連付けて制御するようにしても良い。
ロボット11を移動させるためのオムニホイール機構13は、オムニホイール21が4つのものに代えて、例えば6つ又は3つ配置される構成に変更することができる。
また、オムニホイールを備えたロボット以外でも、例えば2足歩行ロボットや4輪の車両型ロボットなど、自律的に移動可能なロボットであれば本発明を適用できる。
本発明の一実施形態に係るサービスロボットの全体的な構成を模式的に示した側面図。 オムニホイール機構を示す底面図。 ロボットの移動制御のための電気的構成を示すブロック図。 ロボットの移動制御の流れを示すフローチャート。 マップの例を示した図。 Minkowski和をとった結果の例を示した図。 細線化を行った結果の例を示した図。 サブゴールノードを配置した例を示した図。 最短経路探索の結果の例を示した図。 経路を直線化した結果の例を示した図。 経路を平滑化した結果の例を示した図。 絶対座標にプロットしたサブゴールの例を示した図。 サブゴール抽出の様子を概念的に示した図。 仮想移動目標演算の様子を概念的に示した図。 ロボットが仮想移動目標に向かって移動する様子を示した図。
符号の説明
11 ロボット(自律移動体)
15 走行制御コントローラ
51 マップ記憶部
52 目標位置記憶部
53 自機情報取得部(現在位置取得部)
54 障害物情報取得部
55 サブゴール演算部
56 サブゴール記憶部
57 最短サブゴール探索部
58 サブゴール抽出部
59 仮想移動目標演算部
64 走行指令送信部
81,82,83,84,85 サブゴール
88 仮想移動目標(仮想的な移動目標)
90 目標位置(第2地点)
100 領域円(所定領域)

Claims (5)

  1. 第1地点から第2地点に至るまでの経路に複数設定されたそれぞれのサブゴールの位置と、前記第1地点又は前記第2地点からの前記サブゴールの順序と、を記憶したサブゴール記憶部と、
    自機の現在位置を取得する現在位置取得部と、
    前記サブゴール記憶部が記憶しているサブゴールの中で、前記現在位置から最短距離にあるサブゴールを探索する最短サブゴール探索部と、
    前記最短距離にあるサブゴールを含み、前記現在位置を中心とした所定領域内に位置するサブゴールを抽出するサブゴール抽出部と、
    自機の現在位置から、前記抽出された各サブゴールへと向かうベクトルを求めるとともに、各ベクトルを合成して合成ベクトルを求め、前記現在位置を始点とした前記合成ベクトルの方向に自機の仮想的な移動目標を配置する仮想移動目標演算部と、
    を備えることを特徴とする自律移動体。
  2. 請求項1に記載の自律移動体であって、
    前記仮想移動目標演算部は、前記サブゴール抽出部によって抽出された前記各サブゴールの位置を、前記現在位置を原点とする相対座標に座標変換するとともに、当該相対座標における前記各サブゴールの位置ベクトルを合成した合成ベクトルの方向に前記仮想的な移動目標を配置することを特徴とする自律移動体。
  3. 請求項2に記載の自律移動体であって、
    前記サブゴール抽出部は、前記所定領域の外側近傍に位置するサブゴールがある場合は、当該サブゴールの位置を前記所定領域の境界上に置換して追加的に抽出することを特徴とする自律移動体。
  4. 請求項1から3までの何れか一項に記載の自律移動体であって、
    前記仮想移動目標演算部は、前記現在位置を中心とした所定領域内に位置するサブゴールのうち、前記最短距離にあるサブゴールよりも前記第1地点側であるサブゴールを除いた残りの各サブゴールについての前記ベクトルを合成することで、前記合成ベクトルを求めることを特徴とする自律移動体。
  5. 第1地点から第2地点に至るまでの経路に複数設定されたそれぞれのサブゴールの位置と、前記第1地点又は前記第2地点からの前記サブゴールの順序と、を記憶したサブゴール記憶部を備えた自律移動体の移動制御方法において、
    自機の現在位置を取得する現在位置取得ステップと、
    前記サブゴール記憶部が記憶しているサブゴールの中で、前記現在位置から最短距離にあるサブゴールを探索する最短サブゴール探索ステップと、
    前記最短距離にあるサブゴールを含み、前記現在位置を中心とした所定領域内に位置するサブゴールを抽出するサブゴール抽出ステップと、
    自機の現在位置から、前記抽出された各サブゴールへと向かうベクトルを求めるとともに、各ベクトルを合成して合成ベクトルを求め、前記現在位置を始点とした前記合成ベクトルの方向に自機の仮想的な移動目標を配置する仮想移動目標演算ステップと、
    を含むことを特徴とする自律移動体の移動制御方法。
JP2008261821A 2008-10-08 2008-10-08 自律移動体及び自律移動体の移動制御方法 Active JP5312894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008261821A JP5312894B2 (ja) 2008-10-08 2008-10-08 自律移動体及び自律移動体の移動制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008261821A JP5312894B2 (ja) 2008-10-08 2008-10-08 自律移動体及び自律移動体の移動制御方法

Publications (2)

Publication Number Publication Date
JP2010092279A JP2010092279A (ja) 2010-04-22
JP5312894B2 true JP5312894B2 (ja) 2013-10-09

Family

ID=42254926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008261821A Active JP5312894B2 (ja) 2008-10-08 2008-10-08 自律移動体及び自律移動体の移動制御方法

Country Status (1)

Country Link
JP (1) JP5312894B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220542B1 (ko) * 2010-08-04 2013-01-10 중앙대학교 산학협력단 로봇 경로 제어 방법 및 장치
JP5886502B2 (ja) * 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム
JP6295242B2 (ja) * 2013-02-15 2018-03-14 村田機械株式会社 搬送台車、搬送台車の駆動制御方法、及び搬送台車の駆動制御プログラム
JP6135289B2 (ja) * 2013-05-07 2017-05-31 村田機械株式会社 自律移動体の移動制御装置、自律移動体、及び自律移動体の制御方法
JP6402436B2 (ja) * 2013-09-18 2018-10-10 村田機械株式会社 自律走行台車、予定走行経路データの加工方法、及びプログラム
CN111714028A (zh) * 2019-03-18 2020-09-29 北京奇虎科技有限公司 清扫设备的禁区脱困方法、装置、设备及可读存储介质
JP7393128B2 (ja) * 2019-03-20 2023-12-06 フォルシアクラリオン・エレクトロニクス株式会社 車載処理装置、移動支援システム
CN113678082B (zh) * 2019-03-25 2024-07-05 索尼集团公司 移动体、移动体的控制方法和程序
JP2021033685A (ja) 2019-08-26 2021-03-01 株式会社デンソー 学習プログラム及び学習方法
CN110609278B (zh) * 2019-09-23 2023-06-30 上海机电工程研究所 具有自适应能力的偏轴照射方法及***
CN114450648A (zh) * 2019-09-30 2022-05-06 日本电产株式会社 路径生成装置
JP7294179B2 (ja) * 2020-02-18 2023-06-20 株式会社豊田自動織機 自律移動体
KR102479619B1 (ko) * 2022-02-15 2022-12-21 주식회사 트위니 장애물의 회피 이동이 가능한 자율 주행 로봇

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4467533B2 (ja) * 2006-03-16 2010-05-26 富士通株式会社 折線追従移動ロボットおよび折線追従移動ロボットの制御方法
JP5287051B2 (ja) * 2008-09-04 2013-09-11 村田機械株式会社 自律移動装置
JP5157803B2 (ja) * 2008-10-06 2013-03-06 村田機械株式会社 自律移動装置

Also Published As

Publication number Publication date
JP2010092279A (ja) 2010-04-22

Similar Documents

Publication Publication Date Title
JP5312894B2 (ja) 自律移動体及び自律移動体の移動制御方法
JP5337408B2 (ja) 自律移動体及びその移動制御方法
JP5086942B2 (ja) 経路探索装置、経路探索方法、及び経路探索プログラム
US8515612B2 (en) Route planning method, route planning device and autonomous mobile device
JP5287051B2 (ja) 自律移動装置
JP5560978B2 (ja) 自律移動体
JP5398488B2 (ja) 自律移動体とその制御方法
JP4682973B2 (ja) 移動経路作成方法、自律移動体および自律移動体制御システム
JP2009288930A (ja) 自律移動体及びその移動制御方法
JP2008158868A (ja) 移動体、及びその制御方法
JP4670807B2 (ja) 移動経路作成方法、自律移動体および自律移動体制御システム
JP2011108130A (ja) 自律移動体とその制御方法
JP2016151897A (ja) 移動体制御装置および移動体制御方法
JP2005224265A (ja) 自走式掃除機
JP5287060B2 (ja) 経路計画装置及び自律移動装置
EP2870513A1 (en) Autonomous mobile robot and method for operating the same
KR20090126414A (ko) 로봇 및 그 경로생성방법
JP2008142841A (ja) 移動ロボット
JP2010086416A (ja) 自律移動装置
JP2014010797A (ja) 自律走行装置
WO2015141445A1 (ja) 移動体
JP2009301401A (ja) 自律移動装置
JP2008129695A (ja) 移動体の経路生成システム及び経路生成方法
JP2009053927A (ja) 自律移動のための経路生成装置および該装置を用いた自律移動装置
JP6863325B2 (ja) 清掃ロボットの走行経路生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130703

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5312894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250