JP2017199265A - ロボット、姿勢安定化方法、およびプログラム - Google Patents

ロボット、姿勢安定化方法、およびプログラム Download PDF

Info

Publication number
JP2017199265A
JP2017199265A JP2016090991A JP2016090991A JP2017199265A JP 2017199265 A JP2017199265 A JP 2017199265A JP 2016090991 A JP2016090991 A JP 2016090991A JP 2016090991 A JP2016090991 A JP 2016090991A JP 2017199265 A JP2017199265 A JP 2017199265A
Authority
JP
Japan
Prior art keywords
robot
posture
unit
predicted value
shape information
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.)
Pending
Application number
JP2016090991A
Other languages
English (en)
Inventor
大樹 稲場
Daiki Inaba
大樹 稲場
渉 畠中
Wataru Hatanaka
渉 畠中
志村 浩
Hiroshi Shimura
浩 志村
森川 穣
Minoru Morikawa
穣 森川
余平 哲也
Tetsuya Yohira
哲也 余平
川口 敦生
Atsuo Kawaguchi
敦生 川口
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016090991A priority Critical patent/JP2017199265A/ja
Publication of JP2017199265A publication Critical patent/JP2017199265A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】不整地における転倒を効果的に抑制することができるロボット、姿勢安定化方法、およびプログラムを提供する。【解決手段】地面を自律的に移動するロボットであって、地面の形状情報を計測する第1計測手段と、ロボットの姿勢を計測する第2計測手段と、ロボット自体を駆動する駆動手段と、形状情報の特徴量を抽出する抽出手段と、特徴量に基づいて、形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、ロボットの姿勢を変更する変更手段と、予測値を打ち消すようなロボットの姿勢となるように変更手段に対する制御量を算出し、その変更手段を制御量だけ駆動するように制御する第1制御手段と、ロボットが形状情報に対応する地面に到達するまでに、変更手段による制御量の駆動が完了するように、駆動手段によるロボットの移動の速度を制御する第2制御手段と、を備える。【選択図】図5

Description

本発明は、ロボット、姿勢安定化方法、およびプログラムに関する。
自律走行するロボットの姿勢(傾き角度)制御について、バランスを崩して転倒することを防ぐために、ロボット自身の機体の傾き(姿勢)を検出するジャイロセンサ等を用いて、なるべく自身の傾きを水平に保つように制御する技術が既に知られている。例えば、ジャイロセンサを用いて姿勢を検出する技術では、その検出情報のみを用いて、フィードバック制御しているものが多い。この場合、フィードバックされる姿勢(傾き角度)は、ロボットがその地点を通過したときに初めて検出された姿勢であるため、例えば、崖の手前でロボットが傾いた場合、フィードバック方式による姿勢制御が間に合わず、ロボットが崖から転落する可能性がある。
そこで、ジャイロセンサを用いる代わりに、レーザレンジファインダまたはステレオカメラ等といったロボットからの距離を計測するセンサを用いて、転倒する可能性がある地点を事前に回避する方法も提案されている。しかしながら、このような制御方法の適用対象は、主に屋内環境または車道等の屋外の整地環境のように、走行可能な地面が平面である環境を前提としている。その一方、屋外の不整地環境では様々な形状の地面があり、現状の技術では、走行可能か不可能かを判断することが容易ではない。その上、たとえ走行可能であったとしても、走行中にロボットが転倒しないように、ロボット自身が姿勢制御しつつ自律移動することが要求される。したがって、一般に不整地環境でロボットが転倒せずに自律移動することは困難である場合が多い。
このような不整地環境で走行するロボットの技術として、自律制御される可動腕(サブクローラ)を有する無限軌道駆動型の遠隔操縦ロボットであって、単純な段差を有する不整地を走破する際に転倒を防止する目的で、レーザレンジファインダを用いて地面をセンシングし、その地面の形状に対して適応的に可動腕を自律制御して、転倒を防止する技術が開示されている(特許文献1参照)。
しかしながら、特許文献1に記載された技術は、不整地環境下で事前に地面の形状を計測して転倒を防止することを目的としているが、ロボットの静的安定性の評価に留まっており、可動腕は自律制御だが、主駆動系は自律制御ではないため、効果的な転倒防止の制御が実施されているとは言えない。すなわち、ロボットが完全自律で転倒防止の判断をするためには、可動腕の駆動速度、および駆動を始めるタイミング等も考慮すべきであるが、それらに関する技術は含まれていない。その結果、様々な形状の地形である不整地において、可動腕の制御が間に合わず転倒する可能性があるという問題が解消されていない。
本発明は、上述の課題に鑑みてなされたものであり、不整地における転倒を効果的に抑制することができるロボット、姿勢安定化方法、およびプログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、地面を自律的に移動するロボットであって、地面の形状情報を計測する第1計測手段と、ロボットの姿勢を計測する第2計測手段と、ロボット自体を駆動する駆動手段と、形状情報の特徴量を抽出する抽出手段と、特徴量に基づいて、形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、ロボットの姿勢を変更する変更手段と、予測値を打ち消すようなロボットの姿勢となるように変更手段に対する制御量を算出し、その変更手段を制御量だけ駆動するように制御する第1制御手段と、ロボットが形状情報に対応する地面に到達するまでに、変更手段による制御量の駆動が完了するように、駆動手段によるロボットの移動の速度を制御する第2制御手段と、を備えたことを特徴とする。
本発明によれば、不整地における転倒を効果的に抑制することができる。
図1は、実施の形態に係る自律移動ロボットの全体構造の一例を示す概略図である。 図2は、実施の形態に係る自律移動ロボットの重心位置制御装置の構造の一例を示す図である。 図3は、実施の形態に係る自律移動ロボットの重心位置制御装置の可動部分を説明する図である。 図4は、実施の形態に係る自律移動ロボットのハードウェア構成の一例を示す図である。 図5は、実施の形態に係る自律移動ロボットの機能ブロックの構成の一例を示す図である。 図6は、実施の形態に係る自律移動ロボットの距離センサによって検出される3次元距離データの一例を示す図である。 図7は、実施の形態に係る自律移動ロボットの特徴量抽出処理の流れの一例を示すフローチャートである。 図8は、3次元距離データから接地領域を切り出す動作を説明する図である。 図9は、3次元距離データから切り出された接地領域をグリッドに分割する動作を説明する図である。 図10は、接地領域の各グリッドの特徴量を抽出する動作を説明する図である。 図11は、接地領域の欠損グリッドに対して補完処理を行う動作を説明する図である。 図12は、実施の形態に係る自律移動ロボットの訓練フェーズにおける姿勢学習処理の流れの一例を示すフローチャートである。 図13は、訓練フェーズにおいて測定された傾き角度、および抽出された特徴量から予測モデルを生成する動作を説明する図である。 図14は、実施の形態に係る自律移動ロボットのテストフェーズにおける姿勢予測処理の流れの一例を示すフローチャートである。 図15は、テストフェーズにおいて予測モデルから傾き角度の予測値を求める動作を説明する図である。 図16は、ロボットの現在の傾き角度に基づいて傾き角度の予測値を修正する動作を説明する図である。 図17は、実施の形態に係る自律移動ロボットの全体動作の流れの一例を示すフローチャートである。 図18は、実施の形態に係る自律移動ロボットの特定のタイミングにおける動作を説明する図である。 図19は、実施の形態に係る自律移動ロボットの特定のタイミングにおける動作を説明する図である。 図20は、従来の技術による姿勢安定化制御において制御タイミングが早い場合の例を説明する図である。 図21は、従来の技術による姿勢安定化制御において制御タイミングが遅い場合の例を説明する図である。 図22は、実施の形態に係る自律移動ロボットの姿勢安定化制御のタイミングを模式的に説明する図である。
以下に、図面を参照しながら、本発明に係るロボット、姿勢安定化方法、およびプログラムの実施の形態を詳細に説明する。また、以下の実施の形態によって本発明が限定されるものではなく、以下の実施の形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施の形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
(自律移動ロボットの全体構造)
図1は、実施の形態に係る自律移動ロボットの全体構造の一例を示す概略図である。図1を参照しながら、本実施の形態に係る自律移動ロボット1の全体構造の一例の概略について説明する。
図1に示す自律移動ロボット1は、地上等を走行する車両型ロボットである。図1に示すように、本実施の形態に係る自律移動ロボット1は、本体部2と、主駆動系3a、3bと、前部可動腕4a、4bと、後部可動腕5a、5bと、重心位置制御装置6と、距離センサ7と、を備えている。また、図1に図示していないが、自律移動ロボット1は、本体部2の内部にモーションセンサ8を備えている。
本体部2は、自律移動ロボット1の本体を形成する箱状の形状物であり、内部に図4で後述する制御装置40、主駆動系ドライバ51、可動腕ドライバ52、および重心位置制御ドライバ53等の各種装置を内蔵している。また、後述する自律移動ロボット1の傾き角度θは、本体部2の姿勢に基づいて規定されるものとする。例えば、本体部2の上面が水平の状態であるとき、自律移動ロボット1の傾き角度θを0度とする。また、傾き角度θは、自律移動ロボット1の進行方向についてのロール軸周りの角度であるロール角θ、およびピッチ軸周りの角度であるピッチ角θによって規定されるものとする。
主駆動系3a、3bは、自律移動ロボット1について前進、後退、および旋回の動作を行う無限軌道の駆動装置である。図1に示すように、主駆動系3a、3bのうち、自律移動ロボット1の進行方向に対して右側を主駆動系3aとし、左側を主駆動系3bとする。主駆動系3a、3bは、それぞれ独立に駆動することが可能である。なお、主駆動系3a、3bを区別なく呼称する場合、または総称する場合、単に「主駆動系3」と称するものとする。
前部可動腕4a、4bは、自律移動ロボット1について前進、後退、および旋回の動作を行うことのほか、自律移動ロボット1の傾き角度θを変える、すなわち、自律移動ロボット1の姿勢を変える無限軌道の駆動装置である。図1に示すように、前部可動腕4a、4bのうち、自律移動ロボット1の進行方向に対して右側を前部可動腕4aとし、左側を前部可動腕4bとする。前部可動腕4aは、無限軌道を駆動する前部可動腕駆動用モータ10aを有する。前部可動腕4bは、無限軌道を駆動する前部可動腕駆動用モータ10bを有する。前部可動腕4a、4bは、それぞれ独立に駆動することが可能であり、かつ、主駆動系3に対しても独立に駆動することが可能である。前部可動腕4aは、主駆動系3aの前側部に支持されており、軸As_1aを中心に回動する。また、前部可動腕4bは、主駆動系3bの前側部に支持されており、軸As_1bを中心に回動する。このように、前部可動腕4a、4bは、回動動作を行うことにより、自律移動ロボット1に対して後述する姿勢安定化制御に寄与する。なお、前部可動腕4a、4bを区別なく呼称する場合、または総称する場合、単に「前部可動腕4」と称するものとする。
後部可動腕5a、5bは、自律移動ロボット1について前進、後退、および旋回の動作を行うことのほか、自律移動ロボット1の傾き角度θを変える、すなわち、自律移動ロボット1の姿勢を変える無限軌道の駆動装置である。図1に示すように、後部可動腕5a、5bのうち、自律移動ロボット1の進行方向に対して右側を後部可動腕5aとし、左側を後部可動腕5bとする。後部可動腕5aは、無限軌道を駆動する後部可動腕駆動用モータ11aを有する。後部可動腕5bは、無限軌道を駆動する後部可動腕駆動用モータ11bを有する。後部可動腕5a、5bは、それぞれ独立に駆動することが可能であり、かつ、主駆動系3に対しても独立に駆動することが可能である。後部可動腕5aは、主駆動系3aの後側部に支持されており、軸As_2aを中心に回動する。また、後部可動腕5bは、主駆動系3bの後側部に支持されており、軸As_2bを中心に回動する。このように、後部可動腕5a、5bは、回動動作を行うことにより、自律移動ロボット1に対して後述する姿勢安定化制御に寄与する。なお、後部可動腕5a、5bを区別なく呼称する場合、または総称する場合、単に「後部可動腕5」と称するものとする。
重心位置制御装置6は、自律移動ロボット1全体の重心の位置を制御する装置である。重心位置制御装置6の具体的な構造は、図2および3で後述する。
距離センサ7は、自律移動ロボット1の進行方向の前方の地面をスキャンするように本体部2の前側に固定され、その地面の各位置までの距離を検出し、3次元距離データ(形状情報の一例)を取得するセンサである。距離センサ7は、例えば、レーザレンジファインダ、またはステレオカメラ等であり、地面の各位置までの距離を検出してその地面の形状を計測可能な装置であればよい。
モーションセンサ8は、自律移動ロボット1の加速度を検出する加速度センサと、角速度を検出するジャイロセンサと、を含むセンサである。モーションセンサ8において、加速度センサにより検出された加速度を積分することにより、自律移動ロボット1の走行速度および走行距離(移動量)を算出することができる。また、モーションセンサ8において、ジャイロセンサにより検出された角速度を積分することにより、自律移動ロボット1の傾き角度θ(ロール角θ、ピッチ角θ)を算出することができる。すなわち、ジャイロセンサは、ロール角θおよびピッチ角θを計測するために2軸あることが望ましい。なお、自律移動ロボット1の走行速度および走行距離(移動量)を算出するために、モーションセンサ8は加速度センサを備えるものとしているが、これに限定されるものではなく、GPS(Global Positioning System)機能を有する受信機を備え、GPS機能による絶対位置を求めることによって走行速度および走行距離(移動量)を求めるものとしてもよい。
なお、本実施の形態に係る自律移動ロボット1は、自身の姿勢を変えるために前部可動腕4a、4b、および後部可動腕5a、5bを備えるものとしているが、これらの可動腕の代わりに、車輪が上下に昇降するサスペンション機構を備え、車輪の昇降によって姿勢を変えるものとしてもよい。
(重心位置制御装置の構造)
図2は、実施の形態に係る自律移動ロボットの重心位置制御装置の構造の一例を示す図である。図3は、実施の形態に係る自律移動ロボットの重心位置制御装置の可動部分を説明する図である。図2および3を参照しながら、本実施の形態の重心位置制御装置6の構造について説明する。
図2に示すように、重心位置制御装置6は、テーブル21と、ステッピングモータ23と、回転台25と、ステッピングモータ26と、固定台28と、を含む。
テーブル21は、図2に示すように、円形状のテーブル面21a(上面)に錘31が載置され、下面の中心から下面に垂直に延設されたテーブル軸22により固定台28に支持された自律移動ロボット1の重心を制御するためのチルトテーブルである。テーブル軸22の固定台28側の端部は、ボールジョイント22aによって固定台28に接合されており、テーブル軸22は、ボールジョイント22aを中心にしてフレキシブルに軸方向を傾けることができる。すなわち、テーブル21は、ボールジョイント22aを中心にしてフレキシブルにテーブル面21aを傾けることができる。また、テーブル21のテーブル面21aに載置された錘31は、テーブル21によって自律移動ロボット1の重心の制御が可能となるように、テーブル面21aに固定されていることが望ましい。
ステッピングモータ23は、テーブル21を傾けるためのアームを駆動するためのモータである。ステッピングモータ23は、固定台28の上面に固定されている。ステッピングモータ23の回転軸23aには歯車が固定されており、回転軸23aが回転駆動されることによってその歯車も回転する。回転軸23aの歯車は、平歯車24に噛み合っており、平歯車24は、回転軸23aが回転駆動されることによって回転する。平歯車24の中心から外側に向かってアーム24aが延設されている。アーム24aの端部は、連結部24bによって、アーム24cの一方の端部に回動自在に連結されており、アーム24cの他方の端部は、ボールジョイント24dによって、テーブル21の下面に接合されている。アーム24cは、ボールジョイント24dを中心にしてフレキシブルに可動する。図3に示すように、ステッピングモータ23の回転軸23aの回転駆動が、平歯車24、およびアーム24a、24cにそれぞれ伝達することによって、ボールジョイント24dが上下に昇降可能となり、テーブル21を所定の角度範囲で傾けることが可能となる。
回転台25は、長方形の形状の板部材であり、長手方向の一方の端側が、テーブル軸22の軸周りに回動自在に連結されており、上面にはステッピングモータ26が固定されている。すなわち、回転台25がテーブル軸22の軸周りに回転することによって、回転台25の上面に固定されたステッピングモータ26自体がテーブル軸22の軸周りに回転移動する。
ステッピングモータ26は、ステッピングモータ23と同様に、テーブル21を傾けるためのアームを駆動するためのモータである。ステッピングモータ26は、上述のように、回転台25の上面に固定されている。ステッピングモータ26の回転軸26aには歯車が固定されており、回転軸26aが回転駆動されることによってその歯車も回転する。回転軸26aの歯車は、平歯車27に噛み合っており、平歯車27は、回転軸26aが回転駆動されることによって回転する。平歯車27の中心から外側に向かってアーム27aが延設されている。アーム27aの端部は、連結部27bによって、アーム27cの一方の端部に回転自在に連結されており、アーム27cの他方の端部は、ボールジョイント27dによって、テーブル21の下面に接合されている。アーム27cは、ボールジョイント27dを中心にしてフレキシブルに可動する。ステッピングモータ26の回転軸26aの回転駆動が、平歯車27、およびアーム27a、27cにそれぞれ伝達することによって、ボールジョイント27dが上下に昇降可能となり、テーブル21を所定の角度範囲で傾けることが可能となる。
固定台28は、上述の図1に示した本体部2の上面に固定された台であり、重心位置制御装置6を本体部2に固定する役割を担う。具体的には、固定台28の上面に、テーブル軸22がボールジョイント22aを介して接合されており、ステッピングモータ23が固定されており、そして、回転台25がテーブル軸22の軸周りに回動自在に載置されている。
重心位置制御装置6は、以上のように構成されており、ステッピングモータ23の回転軸23aの回転駆動によるボールジョイント24dの昇降動作、ステッピングモータ26の回転軸26aの回転駆動によるボールジョイント27dの昇降動作、および回転台25のテーブル軸22の軸周りの回転動作により、テーブル21をいずれの方向にも、所定の角度範囲で傾けるように制御することができる。これによって、自律移動ロボット1の重心の位置を制御することができる。
なお、重心位置制御装置6の構造は、図2に示した構造に限定されるものではなく、例えば、錘31の位置をリニア式に移動させる等の方式により重心の位置を制御する構造であってもよい。ただし、重心位置は、ロール角θおよびピッチ角θの回転軸周りに制御可能な方式であることが望ましい。
(自律移動ロボットのハードウェア構成)
図4は、実施の形態に係る自律移動ロボットのハードウェア構成の一例を示す図である。図4を参照しながら、本実施の形態に係る自律移動ロボット1の要部のハードウェア構成について説明する。なお、図4に示す自律移動ロボット1の要部のハードウェア構成は一例を示すものであり、この構成に限定されるものではない。
図4に示すように、自律移動ロボット1は、距離センサ7と、モーションセンサ8と、制御装置40と、主駆動系ドライバ51と、可動腕ドライバ52と、重心位置制御ドライバ53と、を備えている。このうち、モーションセンサ8、制御装置40、主駆動系ドライバ51、可動腕ドライバ52、および重心位置制御ドライバ53は、図4に示すように、本体部2に内蔵されている。なお、距離センサ7およびモーションセンサ8については、図1で上述した通りである。
制御装置40は、自律移動ロボット1の動作全体の制御を司る装置である。制御装置40は、プロセッサ41と、ROM(Read Only Memory)42と、RAM(Random Access Memory)43と、センサI/F(インタフェース)44と、ドライバI/F45と、補助記憶装置46と、を有する。
プロセッサ41は、制御装置40の動作を制御する演算装置である。ROM42は、プロセッサ41が制御装置40の各機能を制御するために実行するプログラムを記憶している不揮発性の記憶装置である。RAM43は、プロセッサ41のワークエリアとして使用される揮発性の記憶装置である。
センサI/F44は、距離センサ7およびモーションセンサ8等から検出情報(3次元距離データ、加速度情報、および角速度情報等)を受信するためのインタフェースである。ドライバI/F45は、主駆動系ドライバ51、可動腕ドライバ52および重心位置制御ドライバ53に対する駆動信号を送信するためのインタフェースである。
補助記憶装置46は、距離センサ7およびモーションセンサ8等の検出情報、後述する姿勢の予測モデル、および予測値等の各種データを記憶する不揮発性の記憶装置である。補助記憶装置46は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等によって構成される。
上述のプロセッサ41、ROM42、RAM43、センサI/F44、ドライバI/F45、および補助記憶装置46は、アドレスバスおよびデータバス等のバス47によって互いに通信可能に接続されている。
主駆動系ドライバ51は、上述の図1に示した主駆動系3a、3bをそれぞれ駆動するドライバである。具体的は、主駆動系ドライバ51は、主駆動系3a、3bの無限軌道を稼働するためのモータ(ステッピングモータ等)を回転駆動させる。なお、主駆動系3a、3bを駆動するドライバは、1つの主駆動系ドライバ51であることに限定されるものではなく、主駆動系3a、3bをそれぞれ駆動する別個のドライバが備えられているものとしてもよい。
可動腕ドライバ52は、上述の図1に示した、前部可動腕4a、4b、および後部可動腕5a、5bをそれぞれ駆動するドライバである。具体的には、可動腕ドライバ52は、前部可動腕4a、4b、および後部可動腕5a、5bの無限軌道をそれぞれ駆動するための前部可動腕駆動用モータ10a、10b、および後部可動腕駆動用モータ11a、11bをそれぞれ回転駆動させる。なお、前部可動腕4a、4b、および後部可動腕5a、5bを駆動するドライバは、1つの可動腕ドライバ52に限定されるものではなく、例えば、前部可動腕4a、4b、および後部可動腕5a、5bをそれぞれ駆動する別個のドライバが備えられているものとしてもよい。
重心位置制御ドライバ53は、上述の図2に示した重心位置制御装置6のステッピングモータ23、26をそれぞれ駆動するドライバである。なお、ステッピングモータ23、26を駆動するドライバは、1つの重心位置制御ドライバ53であることに限定されるものではなく、ステッピングモータ23、26をそれぞれ駆動する別個のドライバが備えられているものとしてもよい。
(自律移動ロボットの機能ブロック構成)
図5は、実施の形態に係る自律移動ロボットの機能ブロックの構成の一例を示す図である。図6は、実施の形態に係る自律移動ロボットの距離センサによって検出される3次元距離データの一例を示す図である。図5および6を参照しながら、本実施の形態に係る自律移動ロボット1の機能ブロックの構成について説明する。
図5に示すように、自律移動ロボット1は、距離計測部101(第1計測手段)と、姿勢計測部102(第2計測手段)と、演算部103と、記憶部113(記憶手段)と、姿勢安定化機構部114(変更手段の一例)と、走行用駆動部115(駆動手段)と、を有する。
距離計測部101は、自律移動ロボット1の進行方向の前方の地面をスキャンし、その地面の各位置までの距離を検出(計測)して、地面の形状を示す3次元距離データを出力する機能部である。距離計測部101により計測された3次元距離データの一例として、図6に3次元距離データ300を示す。図6に示す座標系において、y軸方向が、自律移動ロボット1が進行する向きである。距離計測部101は、例えば、図4に示す距離センサ7によって実現される。
姿勢計測部102は、自律移動ロボット1の加速度および角速度(ロール角θおよびピッチ角θの角速度)を検出(計測)する機能部である。姿勢計測部102は、例えば、図4に示すモーションセンサ8によって実現される。
演算部103は、自律移動ロボット1の姿勢安定化制御のための各種演算を行う機能部である。演算部103は、図5に示すように、移動量計算部104(算出手段)と、特徴量抽出部105(抽出手段)と、姿勢学習部106(生成手段)と、姿勢予測部107(予測手段)と、予測修正部108(修正手段)と、経路選択部109(選択手段)と、運動生成部110と、を有する。
移動量計算部104は、姿勢計測部102により計測された加速度を受け取り、加速度を積分することによって、自律移動ロボット1の走行距離(移動量)を算出する機能部である。なお、移動量計算部104は、姿勢計測部102により計測された加速度に基づいて自律移動ロボット1の走行距離(移動量)を算出することに限定されるものではなく、例えば、距離計測部101により計測される距離情報(3次元距離データ)、または図示しないエンコーダからの情報に基づいて走行距離を算出するものとしてもよい。また、移動量計算部104は、処理速度を優先させるか、演算精度を優先させるかによって、姿勢計測部102の加速度、距離計測部101の距離情報、またはエンコーダからの情報のうち、どの情報を用いて走行距離を算出するかを切り替える機能を有するものとしてもよい。
また、移動量計算部104は、姿勢計測部102により計測された加速度を積分して、自律移動ロボット1の走行距離(移動量)を算出するため、走行距離の計算誤差が累積する。そこで、移動量計算部104は、所定の距離を走行するごとに、自動的に算出した移動量をリセットする機能を有している。
特徴量抽出部105は、距離計測部101により計測された3次元距離データから、地面の幾何学的な特徴量を抽出する機能部である。特徴量抽出部105は、特徴量の抽出処理の過程で、例えば、図6に示す3次元距離データ300において、自律移動ロボット1のx方向の長さW、y方向の長さLの領域である接地領域310(部分情報の一例)を切り出す。この特徴量抽出部105による特徴量の抽出処理については、図7〜11で後述する。
姿勢学習部106は、特徴量抽出部105により抽出された3次元距離データについての特徴量、および、姿勢計測部102により計測された角速度から求まる傾き角度θ(ロール角θ、ピッチ角θ)に基づいて、機械学習の回帰手法を用いて、傾き角度θを予測するための予測モデルを生成する機能部である。この姿勢学習部106等による予測モデルの生成処理(以下、「姿勢学習処理」と称する場合がある)については、図12および13で後述する。
姿勢予測部107は、特徴量抽出部105により抽出された3次元距離データについての特徴量から、特徴量抽出部105により生成された予測モデルを用いて、傾き角度θ(ロール角θ、ピッチ角θ)の予測値を求める機能部である。この姿勢予測部107等による傾き角度θの予測値を求める処理(以下、「姿勢予測処理」と称する場合がある)については、図14〜16で後述する。
予測修正部108は、姿勢予測部107により予測された傾き角度θの予測値に対して修正を行い、真の予測値θ_Tを求める機能部である。この予測修正部108による予測値に対する修正動作は、後述の図14〜16の姿勢予測処理の中で説明する。
経路選択部109は、姿勢予測処理で求められた傾き角度θの予測値が、所定の閾値(転倒限界角)以上であるか否かを判定する機能部である。予測値が転倒限界角以上である場合、経路選択部109は、予測値に対応する地形で自律移動ロボット1が転倒する危険性があると判断し、その地形上を走行するのを回避するため、走行用駆動部115に対して旋回動作の指令を送信する。一方、予測値が転倒限界角未満である場合、経路選択部109は、予測値に対応する地形で自律移動ロボット1が転倒する危険性がないと判断し、その地形上を走行するのを回避するための旋回指令を送信せず、その予測値を記憶部113に記憶させる。
運動生成部110は、姿勢安定化制御を行うために、姿勢安定化機構部114の制御量、走行用駆動部115による自律移動ロボット1の走行速度を求める機能部である。運動生成部110は、姿勢安定化計算部111(第1制御手段、姿勢制御手段)と、速度制御計算部112(第2制御手段)と、を有する。
姿勢安定化計算部111は、姿勢予測処理により求められ、記憶部113に記憶された傾き角度θの予測値を読み出し、自律移動ロボット1の傾き角度θがその予測値となるような姿勢安定化機構部114に対する制御量を計算する機能部である。
速度制御計算部112は、姿勢安定化計算部111により計算された制御量に応じて、自律移動ロボット1の走行速度を計算する機能部である。
上述の移動量計算部104、特徴量抽出部105、姿勢学習部106、姿勢予測部107、予測修正部108、経路選択部109、姿勢安定化計算部111、および速度制御計算部112は、図4に示すプロセッサ41により実行されるプログラムによって実現される。なお、移動量計算部104、特徴量抽出部105、姿勢学習部106、姿勢予測部107、予測修正部108、経路選択部109、姿勢安定化計算部111、および速度制御計算部112のうち一部または全部を、FPGA(Field Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現するものとしてもよい。
記憶部113は、距離計測部101により計測された3次元距離データ、特徴量抽出部105により抽出された特徴量、姿勢学習部106により生成された予測モデル、および姿勢予測処理により求められた傾き角度θ(ロール角θ、ピッチ角θ)の予測値等を記憶する機能部である。記憶部113は、例えば、図4に示すRAM43および補助記憶装置46の少なくともいずれか一方により実現される。
姿勢安定化機構部114は、姿勢安定化計算部111により計算された制御量によって、自律移動ロボット1の姿勢を安定化させる機能部である。姿勢安定化機構部114は、図4に示す主駆動系ドライバ51および可動腕ドライバ52、ならびに、図1に示す主駆動系3、前部可動腕4および後部可動腕5によって実現される。
走行用駆動部115は、速度制御計算部112により計算された走行速度で自律移動ロボット1が走行するように制御する機能部である。走行用駆動部115は、図4に示す主駆動系ドライバ51および可動腕ドライバ52、ならびに、図1に示す主駆動系3、前部可動腕4および後部可動腕5によって実現される。
なお、図5に示す距離計測部101、姿勢計測部102、移動量計算部104、特徴量抽出部105、姿勢学習部106、姿勢予測部107、予測修正部108、経路選択部109、姿勢安定化計算部111、速度制御計算部112、姿勢安定化機構部114、および走行用駆動部115は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図5に示す複数の機能部を、1つの機能部として構成してもよい。一方、図5に示す1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
(特徴量抽出処理)
図7は、実施の形態に係る自律移動ロボットの特徴量抽出処理の流れの一例を示すフローチャートである。図8は、3次元距離データから接地領域を切り出す動作を説明する図である。図9は、3次元距離データから切り出された接地領域をグリッドに分割する動作を説明する図である。図10は、接地領域の各グリッドの特徴量を抽出する動作を説明する図である。図11は、接地領域の欠損グリッドに対して補完処理を行う動作を説明する図である。図7〜11を参照しながら、本実施の形態に係る自律移動ロボット1の特徴量抽出処理の動作について図7のフローチャートの流れに沿って説明する。
<ステップS11>
特徴量抽出部105は、距離計測部101により計測された図8に示す3次元距離データ300を取得する。3次元距離データ300は、点群のデータとして表される。各点は3次元座標(x,y,z)の値を有するデータ(図9(a)に示す点データP)である。ここで、距離計測部101が地面をスキャンする領域の大きさは、自律移動ロボット1の全長および幅よりもそれぞれ大きくなるような範囲で計測できるように調整しておく必要がある。例えば、図8に示すように、自律移動ロボット1の幅をW、全長をLとし、スキャンする領域の幅をU、奥行きをVとすると、U>WかつV>Lの条件を満たすように、距離計測部101がスキャンする領域を調整する必要がある。そして、ステップS12へ移行する。
<ステップS12>
特徴量抽出部105は、取得した3次元距離データ300から、図8に示すように、自律移動ロボット1の大きさに相当する接地領域310を切り出す。後述する訓練フェーズにおいて、距離計測部101によるスキャン領域、すなわち、3次元距離データ300の領域の中心と、自律移動ロボット1の大きさに相当する領域の中心とが一致するようにデータを取得している。これと同様に、特徴量抽出部105は、図8に示すように、3次元距離データ300の領域の中心である点310aから、x方向の正負の向きにそれぞれW/2、y方向の正負の向きにそれぞれL/2の範囲のデータを切り出し、切り出したデータの領域を接地領域310とする。特徴量抽出部105は、3次元距離データ300から切り出した接地領域310のデータ以外のデータを削除するものとすればよい。そして、ステップS13へ移行する。
<ステップS13>
特徴量抽出部105は、切り出した接地領域310の点群のデータに対してノイズを除去する。例えば、特徴量抽出部105は、接地領域310の点群のうち、極端にz成分の値が大きいまたは小さい点を、外れ値を有する点として除去する。この場合の除去の方法としては、公知のICP(Iterative Closest Points)という方法、または、高さの閾値を手動で決定して取り除く方法等が挙げられる。また、後述する訓練フェーズでは、外れ値を手動または自動のどちらで除去してもよいが、後述するテストフェーズでは自動で行う必要がある。そしてステップS14へ移行する。
<ステップS14>
特徴量抽出部105は、ノイズが除去された点データPの集合体である接地領域310を、図9(b)に示すように格子状のグリッドGに分割する。そして、ステップS15へ移行する。
<ステップS15>
特徴量抽出部105は、分割したそれぞれのグリッドGに点データPが含まれるか否かを判定する。注目したグリッドGが点データPを含む場合(ステップS15:No)、ステップS16へ移行し、注目したグリッドGが点データPを含まないグリッド(以下、「欠損グリッド」と称する)(例えば、図10(a)に示す欠損グリッドGd)である場合(ステップS15:Yes)、ステップS17へ移行する。
<ステップS16>
特徴量抽出部105は、注目したグリッドGに含まれる各点データPの高さ(z値)の平均値を計算し、図10(a)に示すように、この平均値をそのグリッドGの代表値A(特徴量)として抽出する。特徴量抽出部105により各グリッドGで計算された代表値A(特徴量)を、図10(b)に示すように、x1,1、x2,1、x3,1、・・・、xm,1、x1,2、x2,2、・・・、xm,2、・・・、x1,n、x2,n、・・・、xm,nとする。なお、グリッドGに含まれる各点データPのz値の平均値を計算するものとしているが、これに限定されるものではなく、例えば、グリッドGに含まれる各点データPのz値の最頻値または中央値等であってもよい。そして、ステップS18へ移行する。
<ステップS17>
特徴量抽出部105は、欠損グリッドGdの代表値を求めるための補完処理を行う。具体的には、特徴量抽出部105は、補完処理として、図11(a)に示すように、欠損グリッドGdの上下左右の4つのグリッドGの代表値(特徴量)(図11(a)に示すxi,j−1、xi,j+1、xi−1,j、xi+1,j)の平均値を計算し、その平均値を欠損グリッドGdの代表値(特徴量)(図11(b)に示すxi,j)とする。そして、ステップS18へ移行する。
なお、特徴量抽出部105は、欠損グリッドGdの代表値を求めるための補完処理として、欠損グリッドGdの上下左右の4つのグリッドGの代表値(特徴量)の平均値を計算するものとしたが、これに限定されるものではない。例えば、特徴量抽出部105は、欠損グリッドGdの上下左右および斜め隣の8つのグリッドGの代表値(特徴量)の平均値を計算し、その平均値を欠損グリッドGdの代表値(特徴量)としてもよい。
<ステップS18>
特徴量抽出部105は、接地領域310のすべてのグリッドGについて代表値を計算したか否かを確認する。すべてのグリッドの代表値を計算した場合(ステップS18:Yes)、特徴量抽出処理を終了し、代表値を計算していないグリッドがある場合(ステップS18:No)、ステップS15に戻る。
以上のステップS11〜S18に基づく特徴量抽出処理は、後述する訓練フェーズおよびテストフェーズにおいて共通の処理である。上述した特徴量抽出処理では、3次元距離データ300全体ではなく、姿勢安定化制御に必要な接地領域310を切り出して、接地領域310のみの特徴量を抽出するものとしているので、処理の負荷を軽減することができる。
(姿勢学習処理)
図12は、実施の形態に係る自律移動ロボットの訓練フェーズにおける姿勢学習処理の流れの一例を示すフローチャートである。図13は、訓練フェーズにおいて測定された傾き角度、および抽出された特徴量から予測モデルを生成する動作を説明する図である。図12および13を参照しながら、本実施の形態に係る自律移動ロボット1の訓練フェーズにおける姿勢学習処理の動作について、図12のフローチャートの流れに沿って説明する。ここで、訓練フェーズとは、後述するテストフェーズにおいて、特定の地形での自律移動ロボット1の傾き角度θ(ロール角θおよびピッチ角θ)を予測するために用いる予測モデルを予め生成する動作段階を示す。姿勢学習処理での学習方法として、最小二乗法による平面近似のような統計的学習手法、または、サポートベクターマシン回帰およびランダムフォレスト回帰等のような機械学習による回帰方法等があるが、以下の説明では、後者の機械学習による回帰方法を用いた場合について説明する。なお、説明を簡便にするために、図13では線形の回帰モデルの式で表記しているが、線形の回帰モデルに限定されるものではなく、非線形の回帰モデルであってもよい。
<ステップS31>
特徴量抽出部105は、距離計測部101により計測された3次元距離データを取得する。そして、ステップS33へ移行する。
<ステップS32>
姿勢学習部106は、自律移動ロボット1がステップS31において切り出された接地領域に対応する地形にいる場合において、姿勢計測部102により検出された自律移動ロボット1のロール角θおよびピッチ角θの角速度を取得する。そして、姿勢学習部106は、取得した角速度を積分することによってロール角θおよびピッチ角θを算出する。そして、ステップS33へ移行する。
<ステップS33>
特徴量抽出部105は、取得した3次元距離データから自律移動ロボット1の大きさに相当する接地領域を切り出す。特徴量抽出部105は、切り出した接地領域から、上述の特徴量抽出処理によって、接地領域の各グリッドの特徴量を抽出する。特徴量抽出部105は、抽出した特徴量を姿勢学習部106に送る。
自律移動ロボット1は、上述のステップS31〜S33の動作を繰り返し、複数の地形での3次元距離データから接地領域を取得して特徴量を抽出し、各接地領域に対応する地形におけるロール角θおよびピッチ角θを取得する。すなわち、自律移動ロボット1は、複数の地形にそれぞれ対応する接地領域の特徴量、ならびにその接地領域でのロール角θおよびピッチ角θの組み合わせを収集する。そして、ステップS34へ移行する。
<ステップS34>
姿勢学習部106は、図13に示す式に、目的変数として、取得したロール角θおよびピッチ角θをそれぞれ代入し、説明変数として、特徴量抽出部105により抽出された特徴量(x1,1、x2,1、x3,1、・・・、xm,n)をそれぞれ代入する。そして、姿勢学習部106は、各特徴量に対する誤差が最小となるように、機械学習の回帰方法によって、ロール角θに対する係数(α1,1、α2,1、α3,1、・・・、αm,n、c)を算出し、ピッチ角θに対する係数(β1,1、β2,1、β3,1、・・・、βm,n、d)を算出する。そして、ステップS35へ移行する。
<ステップS35>
ステップS34での姿勢学習部106による係数の算出によって、姿勢学習部106は、3次元距離データの接地領域の代表値(特徴量)に対するロール角θおよびピッチ角θそれぞれとの関係を関数(図13に示す予測モデルMrおよび予測モデルMp)として生成する。そして、ステップS36へ移行する。
<ステップS36>
姿勢学習部106は、生成した予測モデルMrおよび予測モデルMpを、記憶部113に記憶させる。具体的には、姿勢学習部106は、算出したロール角θに対する係数(α1,1、α2,1、α3,1、・・・、αm,n、c)、および、ピッチ角θに対する係数(β1,1、β2,1、β3,1、・・・、βm,n、d)のデータを記憶部113に記憶させる。
以上のステップS31〜S36の姿勢学習処理によって、特定の地形での自律移動ロボット1の傾き角度θ(ロール角θおよびピッチ角θ)を予測するために用いる予測モデルを生成することができる。
(姿勢予測処理)
図14は、実施の形態に係る自律移動ロボットのテストフェーズにおける姿勢予測処理の流れの一例を示すフローチャートである。図15は、テストフェーズにおいて予測モデルから傾き角度の予測値を求める動作を説明する図である。図16は、ロボットの現在の傾き角度に基づいて傾き角度の予測値を修正する動作を説明する図である。図14〜16を参照しながら、本実施の形態に係る自律移動ロボット1のテストフェーズにおける姿勢予測処理の動作について、図14のフローチャートの流れに沿って説明する。ここで、テストフェーズとは、訓練フェーズで生成した予測モデルを用いて、特定の地形での姿勢の予測値を求め、その予測値を相殺するように姿勢安定化制御を実行する自律移動ロボット1の動作段階を示す。
<ステップS51>
特徴量抽出部105は、距離計測部101により計測された3次元距離データを取得する。そして、ステップS52へ移行する。
<ステップS52>
特徴量抽出部105は、取得した3次元距離データから自律移動ロボット1の大きさに相当する接地領域を切り出す。特徴量抽出部105は、切り出した接地領域から、上述の特徴量抽出処理によって、接地領域の各グリッドの特徴量を抽出する。特徴量抽出部105は、抽出した特徴量を姿勢予測部107へ送る。そして、ステップS53へ移行する。
<ステップS53>
姿勢予測部107は、記憶部113に記憶されたロール角θの予測モデルMrおよびピッチ角θの予測モデルMpを読み出して取得する。具体的には、姿勢予測部107は、姿勢学習部106により算出されたロール角θに対する係数(α1,1、α2,1、α3,1、・・・、αm,n、c)、および、ピッチ角θに対する係数(β1,1、β2,1、β3,1、・・・、βm,n、d)のデータを記憶部113から読み出す。そして、ステップS54へ移行する。
<ステップS54>
姿勢予測部107は、特徴量抽出部105から受け取った特徴量(x1,1、x2,1、x3,1、・・・、xm,n)(図15に示す測定値)と、読み出したロール角θに対する係数(α1,1、α2,1、α3,1、・・・、αm,n、c)とから、図15に示す式を用いて、ロール角予測値θ_Eを算出する。また、姿勢予測部107は、同様に、特徴量抽出部105から受け取った特徴量(x1,1、x2,1、x3,1、・・・、xm,n)(図15に示す測定値)と、読み出したピッチ角θに対する係数(β1,1、β2,1、β3,1、・・・、βm,n、d)とから、図15に示す式を用いて、ピッチ角予測値θ_Eを算出する。姿勢予測部107は、算出したロール角予測値θ_Eおよびピッチ角予測値θ_Eを予測修正部108へ送る。
なお、図15に示すグラフでは、ロール角予測値θ_Eおよびピッチ角予測値θ_Eをまとめて、傾き角度θの予測値をθ_Eとして示している。また、上述のように、テストフェーズにおいて、姿勢予測部107による傾き角度θの予測値の算出には、現在における傾き角度θ(ロール角θ、ピッチ角θ)は使用されない。また、上述の訓練フェーズの姿勢学習処理において、地形のデータ(3次元距離データ)に対する自律移動ロボット1の姿勢(傾き角度θ)の関係が関数(予測モデルMr、予測モデルMp)として求まるため、訓練フェーズで姿勢学習処理に使用していない地形が、テストフェーズにおいて遭遇したとしても、姿勢予測部107は、姿勢(傾き角度θ)を予測することができる。そして、ステップS55へ移行する。
<ステップS55>
予測修正部108は、姿勢予測部107からロール角予測値θ_Eおよびピッチ角予測値θ_Eを受け取り、姿勢計測部102により現在検出された自律移動ロボット1のロール角θおよびピッチ角θの角速度を取得する。そして、予測修正部108は、取得した角速度を積分することによってロール角θおよびピッチ角θを算出する。そして、ステップS56へ移行する。
<ステップS56>
予測修正部108は、姿勢予測部107により算出された傾き角度θの予測値θ_E(ロール角予測値θ_Eおよびピッチ角予測値θ_E)に対して修正を行い、真の予測値θ_Tを求める。
上述の訓練フェーズの姿勢学習処理において求められた予測モデルMrおよび予測モデルMpは、自律移動ロボット1が水平状態にある場合に計測された3次元距離データに基づいている。したがって、図16(a)に示すように、自律移動ロボット1が水平状態にある場合に、特徴量抽出部105による特徴量抽出処理により3次元距離データから特徴量が抽出され、姿勢予測部107により特徴量から算出された予測値θ_Eは、修正される必要がなく真の予測値となる。一方、図16(b)に示すように、自律移動ロボット1が傾き角度θで傾いている場合においては、距離センサ7の向きが変わるため、姿勢予測部107により算出される予測値θ_Eは、自律移動ロボット1の姿勢に依存して変化することになる。そこで、予測修正部108は、具体的には、以下の式(1)および(2)に従って、ステップS55で算出した自律移動ロボット1の現在の傾き角度θ(ロール角θおよびピッチ角θ)を用いて、姿勢予測部107により算出された予測値θ_E(ロール角予測値θ_Eおよびピッチ角予測値θ_E)を修正し、真の予測値θ_T(ロール角θの真の予測値θ_T、ピッチ角θの真の予測値θ_T)を求める。
(真の予測値θ_T)=(姿勢予測部107により算出されたロール角予測値θ_E)−(現在の自律移動ロボット1のロール角θ) ・・・(1)
(真の予測値θ_T)=(姿勢予測部107により算出されたピッチ角予測値θ_E)−(現在の自律移動ロボット1のピッチ角θ) ・・・(2)
以上のステップS51〜S56の姿勢予測処理によって、上述の姿勢学習処理により求めた予測モデルを用いて、その地形での自律移動ロボット1の姿勢(傾き角度θ)を予測することができる。また、地形のデータ(3次元距離データ)に対する自律移動ロボット1の姿勢(傾き角度θ)の関係が関数(予測モデルMr、予測モデルMp)として求まるため、訓練フェーズで姿勢学習処理に使用していない地形が、テストフェーズにおいて遭遇したとしても、姿勢予測部107は、姿勢(傾き角度θ)を予測することができる。また、仕様変更等で自律移動ロボット1の形状がより複雑なものに変わった場合、既存手法である物理モデルを用いた方法では対処が困難であるが、上述の訓練フェーズにおける姿勢学習処理を再度行うことにより対処可能である。そのため、上述の姿勢学習処理および姿勢予測処理は、地上を走行するロボットであれば、ロボットの機構および形状に限定されずに汎用的に適用可能である。
なお、ステップS55において姿勢計測部102により検出されたロール角θおよびピッチ角θの角速度から算出された現在のロール角θおよびピッチ角θを考慮して、ステップS56において、姿勢予測部107により算出された傾き角度θの予測値が予測修正部108により修正されているが、修正の方式はこれに限定されない。例えば、ステップS52において、特徴量抽出部105は、距離計測部101により計測された3次元距離データから特徴量を抽出しているが、このとき、姿勢計測部102の検出値から得られるロール角θおよびピッチ角θに基づいて、3次元距離データを世界座標系(水平な状態で計測された場合の座標系)に変換して、特徴量抽出処理を行うものとしてもよい。これによって、姿勢予測部107により算出される予測値θ_Eがそのまま真の予測値θ_Tとなるので、予測修正部108による修正が不要とすることができる。
(自律移動ロボットの全体動作)
図17は、実施の形態に係る自律移動ロボットの全体動作の流れの一例を示すフローチャートである。図18は、実施の形態に係る自律移動ロボットの特定のタイミングにおける動作を説明する図である。図19は、実施の形態に係る自律移動ロボットの特定のタイミングにおける動作を説明する図である。図20は、従来の技術による姿勢安定化制御において制御タイミングが早い場合の例を説明する図である。図21は、従来の技術による姿勢安定化制御において制御タイミングが遅い場合の例を説明する図である。図22は、実施の形態に係る自律移動ロボットの姿勢安定化制御のタイミングを模式的に説明する図である。図17〜22を参照しながら、本実施の形態に係る自律移動ロボット1の全体動作について、図17のフローチャートの流れに沿って説明する。
<ステップS71>
移動量計算部104は、姿勢計測部102により計測された加速度を受け取り、加速度を積分することによって、自律移動ロボット1の走行距離(移動量)を計算する。そして、ステップS72へ移行する。
<ステップS72>
移動量計算部104は、計算した移動量が所定の距離Δdに達したか否かを判定する。移動量が所定の距離Δdに達した場合(ステップS72:Yes)、ステップS73へ移行し、達していない場合(ステップS72:No)、ステップS71へ戻る。
<ステップS73>
移動量計算部104は、計算した移動量が所定の距離Δdに達したことを特徴量抽出部105に通知する。そして、特徴量抽出部105、姿勢予測部107および予測修正部108は、上述した姿勢予測処理を実行し、傾き角度θの予測値を求める。
例えば、自律移動ロボット1が距離Δdだけ移動して図18に示すような位置にある場合、距離計測部101は、図18に示すように前方の地形をスキャンし、3次元スキャン領域301を計測する。次に、特徴量抽出部105は、3次元スキャン領域301の3次元距離データから自律移動ロボット1の大きさに相当する接地領域311を切り出し、上述の特徴量抽出処理によって特徴量を抽出する。次に、姿勢予測部107は、予測モデルMrおよび予測モデルMpを用いて、特徴量からロール角予測値θ_Eおよびピッチ角予測値θ_Eを算出する。さらに、予測修正部108は、姿勢予測部107によって算出されたロール角予測値θ_Eおよびピッチ角予測値θ_Eを修正して予測値θ_E1を求める。
予測修正部108は、修正した真の予測値(例えば、予測値θ_E1)を経路選択部109に送る。そして、ステップS74へ移行する。
<ステップS74>
経路選択部109は、予測修正部108から受け取った姿勢の予測値(例えば、予測値θ_E1)が所定の角度(以下、「転倒限界角」と称する場合がある)以上か否かを判定する。姿勢の予測値が転倒限界角以上である場合(ステップS74:Yes)、ステップS75へ移行し、転倒限界角未満である場合(ステップS74:No)、ステップS76へ移行する。ここで、転倒限界角とは、自律移動ロボット1が転倒する寸前の角度を示し、予測値がこの角度以上である場合、自律移動ロボット1が転倒する可能性が高いことを示す。この転倒限界角は、例えば、自律移動ロボット1の形態または仕様に基づいて、ユーザが予め設定するものとすればよい。
<ステップS75>
経路選択部109は、姿勢の予測値が転倒限界角以上である場合、その予測値に対応する地形では、自律移動ロボット1が後述の姿勢安定化制御を行っても転倒する可能性が高いと判断し、姿勢安定化計算部111に対して、左方向または右方向のいずれかに所定角度α分だけ旋回する指令を送る。姿勢安定化計算部111は、経路選択部109から旋回指令を受け取ると、左方向または右方向のいずれかに所定角度α分だけ自律移動ロボット1の進行方向を旋回させる。旋回の制御方法の一例としては、ロール角θの予測値が正(自律移動ロボット1の進行方向に対して左半分側が右半分側よりも下がる)であれば左方向に旋回させ、ロール角θの予測値が負(自律移動ロボット1の進行方向に対して右半分側が左半分側よりも下がる)であれば右方向に旋回させるという制御方法が挙げられる。
このように、姿勢予測処理によって予測された姿勢の予測値が、姿勢安定化制御によっても姿勢を保つことが困難であると判断できる閾値(転倒限界角)以上である場合、旋回動作によって、その予測値に対応する地形を回避することができ、自律移動ロボット1の転倒を抑制することができる。そして、ステップS71へ戻る。
<ステップS76>
経路選択部109は、姿勢の予測値が転倒限界角未満である場合、後述の姿勢安定化制御によって転倒せずに走行できると判断し、予測修正部108から受け取った姿勢の予測値を記憶部113に記憶させる。また、経路選択部109は、運動生成部110の姿勢安定化計算部111に姿勢安定化制御の実行指令を送る。姿勢安定化計算部111は、経路選択部109から姿勢安定化制御の実行指令を受け取ると、現在の自律移動ロボット1の位置から進行方向に距離Δdだけ進んだ位置の地形に対応する姿勢の予測値を、記憶部113から読み出して取得する。図18の例では、姿勢安定化計算部111は、走行速度v1で走行する自律移動ロボット1の位置から進行方向に距離Δd(これから進む予定の距離)だけ進んだ位置の地形に対応する姿勢の予測値を、記憶部113から読み出して取得する。また、自律移動ロボット1が図19に示す位置まで移動した場合、姿勢安定化計算部111は、図18の位置の地形に対応する記憶部113に記憶された予測値は不要となるので、記憶部113から削除する。なお、図18の位置の地形に対応する予測値は、図18の位置に自律移動ロボット1が移動した時点で不要であるので、姿勢安定化計算部111は、自律移動ロボット1が図18の位置に移動した時点で、図18の位置の地形に対応する予測値を削除するものとしてもよい。
このように、図18および19に示す記憶部113に記憶された予測値のように、姿勢予測処理により求められた予測値は、自律移動ロボット1の進行方向の前方(例えば、数m先)の地面をスキャンして予測されるため、その地面上を走行するまで記憶部113に記憶されている必要がある。また、姿勢予測処理は逐次的に行われるため、予測値を系列的に記憶しておく必要もある。そこで、記憶部113は、図18および19に示すように、FIFO(First−In First−Out:先入れ先出し)方式、すなわち、キュー方式のメモリ構造により予測値を記憶するものとしている。FIFO方式では、例えば、新しいデータを書き込む(エンキュー)際には、メモリ構造の末尾にデータを追加し、データを読み出す(デキュー)際には、メモリ構造の先頭からデータを取り出すと同時に、先頭のデータ以外のデータをすべて先頭方向に1データ分シフトする等の動作が行われる。
本実施の形態では、自律移動ロボット1の走行速度は速度制御により変化するが、予測値の算出および書込み動作を所定時間ごとに行うものとすると、低速で走行している場合、予測値の書き込み処理ばかりが進行するため、記憶部113が容量オーバーする可能性がある。この容量オーバーを防ぐために、記憶部113では、キュー方式のメモリ構造に予測値を記憶させるものとしているので、メモリ構造に記憶される予測値の数を一定に維持することが望ましい。そこで、記憶部113に対する予測値の書き込み、および読み出しは、自律移動ロボット1が所定距離(図18および19の例では距離Δd)だけ走行するごとに行うものとしている。このように自律移動ロボット1が所定距離だけ走行したか否かを確認するために、ステップS71において移動量計算部104により走行距離(移動量)の計算が行われる。そして、ステップS77へ移行する。
<ステップS77>
移動量計算部104は、ステップS72までに計算した自律移動ロボット1の走行距離(移動量)をリセットする。これによって、姿勢計測部102により計測された加速度を積分して移動量を算出する過程で累積する計算誤差を解消することができる。そして、ステップS78へ移行する。
<ステップS78>
姿勢安定化計算部111は、記憶部113から読み出した姿勢(傾き角度θ)の予測値が、ロール角予測値θ_Eおよびピッチ角予測値θ_Eである場合、これらの予測値を相殺するように自律移動ロボット1のロール角が−θ_E、ピッチ角が−θ_Eに傾く姿勢とする姿勢安定化制御を行うための姿勢安定化機構部114に対する制御量を算出する。具体的には、姿勢安定化計算部111は、予測値を相殺する姿勢とするために、姿勢安定化機構部114に含まれる主駆動系3に対する前部可動腕4および後部可動腕5の角度をどのくらいにすればよいかを逆運動学(IK:Inverse Kinematics)に基づいて計算し、前部可動腕4および後部可動腕5それぞれが含むモータ(図1に示す前部可動腕駆動用モータ10a、10b、および後部可動腕駆動用モータ11a、11b)の回転角度を制御量として計算する。姿勢安定化計算部111は、算出した制御量を速度制御計算部112に送る。
ここで、姿勢安定化計算部111により算出された制御量の値が大きいほど、姿勢安定化制御を行うために姿勢安定化機構部114がアクチュエータ(前部可動腕4および後部可動腕5の場合はモータ)を目標値まで駆動させるのに時間を要する。具体的には、例えば、姿勢安定化機構部114が一定の角速度ω[rad/s]で駆動するものと仮定した場合、目標値まで制御するのに要する時間Δτ[s]は、以下の式(3)で表される。
Δτ=Δψ/ω ・・・(3)
ここで、Δψ[rad]は、計算された制御量であって、アクチュエータの目標値と、アクチュエータの現在値との差である。また、自律移動ロボット1が走行速度v[m/s]で等速直線運動で走行していることを仮定すると、現在の自律移動ロボット1の位置から進行方向に距離Δd[m]だけ進んだ位置に達するまでの時間Δt[s]は、以下の式(4)で表される。
Δt=Δd/v ・・・(4)
ここで、上述でも説明した距離Δdは、姿勢予測処理を行う距離間隔(姿勢予測処理の距離的なサンプリング周期)を示す。現在の自律移動ロボット1の位置から進行方向に距離Δd[m]だけ進んだ位置に達するまでに、姿勢安定化機構部114を目標値までに駆動する姿勢安定化制御が実行されなければならないので、以下の式(5)を満たさなければならない。
Δτ<Δt ・・・(5)
式(3)〜(5)の関係から、自律移動ロボット1の走行速度vは、以下の式(6)の関係を満たすことが要件となる。
v<Δd・ω/Δψ ・・・(6)
ただし、実際には、姿勢安定化制御の開始の遅延等を考慮して、以下の式(7)の関係を満たすように速度制御を行うことが望ましい。
v=β・Δd・ω/Δψ ・・・(7)
ここで、βは、ユーザが指定するパラメータであり、制御遅延または目標値に至るまでの時間的余裕等を考慮して調整する。速度制御計算部112は、姿勢安定化計算部111から受け取った制御量から、式(6)または(7)によって、速度制御を行うために走行用駆動部115に指令する走行速度を算出する。そして、ステップS79へ移行する。
<ステップS79>
速度制御計算部112は、算出した走行速度で自律移動ロボット1が走行するように、走行用駆動部115に速度制御を実行させる。これによって、自律移動ロボット1は、現在位置から距離Δdだけ進行方向に、速度制御計算部112により算出された走行速度で走行する。図18および19に示す例では、自律移動ロボット1は、速度制御計算部112により算出された走行速度v2により、図18に示す位置(現在位置)から距離Δdだけ走行する。そして、ステップS80へ移行する。
<ステップS80>
姿勢安定化計算部111は、ステップS79において、走行用駆動部115により現在位置から距離Δdだけ進行方向に、速度制御計算部112により算出された走行速度で走行させる速度制御の開始と同時に、算出した制御量だけアクチュエータが駆動するように姿勢安定化機構部114に姿勢安定化制御を実行させる。これによって、姿勢安定化機構部114は、自律移動ロボット1が進行方向に距離Δdだけ走行する間に、姿勢安定化計算部111により算出された制御量分のアクチュエータの駆動を完了することができる。すなわち、上述の式(6)または(7)に従って、自律移動ロボット1の速度制御を行うことによって、姿勢安定化機構部114に対する制御量が大きい、すなわち、Δψの値が大きくなるほど、自律移動ロボット1の走行速度が小さくなるようにすることが可能となる。なお、距離Δdについては、例えば、自律移動ロボット1に装着される距離センサ7の角度、処理測度、および自律移動ロボット1の最高速度等を考慮して、ユーザが経験的に決定するものとすればよい。そして、ステップS71へ戻る。
以上のステップS71〜S80が繰り返されることにより、自律移動ロボット1の全体動作が行われる。図19に示す例では、図18の位置にいた自律移動ロボット1が、進行方向に距離Δdだけ進んだ状態を示しているが、この位置において再び姿勢予測処理が実行される。具体的には、距離計測部101は、図19に示すように前方の地形をスキャンし、3次元スキャン領域302を計測する。次に、特徴量抽出部105は、3次元スキャン領域302の3次元距離データから自律移動ロボット1の大きさに相当する接地領域312を切り出し、上述の特徴量抽出処理によって特徴量を抽出する。次に、姿勢予測部107は、予測モデルMrおよび予測モデルMpを用いて、特徴量からロール角予測値θ_Eおよびピッチ角予測値θ_Eを算出する。さらに、予測修正部108は、姿勢予測部107によって算出されたロール角予測値θ_Eおよびピッチ角予測値θ_Eを修正して予測値θ_E2を求める。そして、経路選択部109は、上述と同様に、姿勢の予測値が転倒限界角未満である場合、予測修正部108から受け取った姿勢の予測値(図19の例では予測値θ_E2)を記憶部113に記憶させる。
なお、上述の式(6)または(7)によれば、自律移動ロボット1の走行速度vの代わりに、姿勢安定化機構部114の角速度ωを制御することも想定される。しかし、自律移動ロボット1の重心が急激に変化することは、姿勢の不安定化を招来することに加え、重量の大きな自律移動ロボット1の重心を制御するには大きなトルクを要するため、アクチュエータが大型化して危険を伴うことになる。したがって、上述のように、自律移動ロボット1の走行速度vに対して速度制御を行うことが望ましく、これによって、姿勢の不安定化、およびアクチュエータの大型化に伴う危険の発生を抑制することができる。
以上のように、本実施の形態に係る自律移動ロボット1は、前方の地形をスキャンして、計測した距離データから地形の特徴量を抽出し、特徴量に基づいてその地形での姿勢(ロール角およびピッチ角)の予測値を算出するものとしている。そして、自律移動ロボット1は、その地形において予測値を相殺するように姿勢安定化機構部114を駆動して姿勢安定化制御を実行する。これによって、外乱または外力等の影響で発生する転倒の危険性を低下させ、多様な地面形状を有する不整地の環境においても、自律移動ロボット1は走行中の転倒を抑制することができる。
また、本実施の形態に係る自律移動ロボット1は、姿勢予測処理によって求めた予測値から姿勢安定化制御を行うための姿勢安定化機構部114に対する制御量を算出し、予測値に対応する地形に到達するまでに姿勢安定化機構部114のアクチュエータが目標値までの駆動が完了するように速度制御を行っている。これによって、自律移動ロボット1は、予測値に対応した地形において安定した姿勢をとることが可能となり、転倒を抑制することができる。
例えば、前方の地形をスキャンして、その地形における静的な安定性のみを評価する従来の技術では、例えば、図20および21に示すような問題がある。ここで、図20および21に示すロボット501が姿勢を安定化させるための装置として、説明を簡便にするため重心位置制御装置506を想定するものとする。図20では、ロボット501が備える距離センサ507により前方の地形をスキャンし、その地形での姿勢を予測(図20(a)参照)し、重心位置制御装置506の制御量を算出し、図20(b)に示すように、重心位置制御装置506をその制御量分だけ駆動させている。しかし、重心位置制御装置506の制御量に基づいてロボット501の速度制御が行われていないため、図20(c)の例では、重心位置制御装置506の制御量の駆動が早すぎて転倒してしまう。また、図21では、ロボット501が備える距離センサ507により前方の地形をスキャンし、その地形での姿勢を予測(図21(a)参照)し、重心位置制御装置506の制御量を算出し、図21(b)に示すように、重心位置制御装置506をその制御量分だけ駆動させている。しかし、重心位置制御装置506の制御量に基づいてロボット501の速度制御が行われていないため、図21(c)の例では、重心位置制御装置506の制御量の駆動が間に合わず転倒してしまう。
一方、本実施の形態に係る自律移動ロボット1は、上述のように、予測値に対応する地形に到達するまでにアクチュエータが目標値までの駆動が完了するように速度制御を行っているので、図22に示すように、姿勢を予測した地点を走行した場合の転倒を抑制することが可能となる。ここで、図22に示す自律移動ロボット1が姿勢を安定化させるための装置(上述の実施の形態では、主駆動系3、前部可動腕4および後部可動腕5等を含む姿勢安定化機構部114)として、説明を簡便にするため重心位置制御装置6を想定するものとする。自律移動ロボット1が備える距離センサ7により前方の地形をスキャンし、その地形での姿勢を予測(図22(a)参照)し、重心位置制御装置6の制御量を算出し、図22(b)に示すように、予測値に対応する地形に到達するまでに重心位置制御装置6が目標値までの駆動が完了するように速度制御(図22(b)では高速走行から低速走行に変更)を行っている。そして、図22(c)および22(d)に示すように、予測値に対応する地形に到達するまでに重心位置制御装置6の目標値までの駆動が完了し、予測値に対応した地形において安定した姿勢を取りながら走行することが可能になるので、転倒を抑制することができる。
また、本実施の形態に係る自律移動ロボット1は、姿勢予測処理により求めた姿勢の予測値が転倒限界角以上である場合、その予測値に対応する地形では、自律移動ロボット1が姿勢安定化制御を行っても転倒する可能性が高いと判断し、進行方向を旋回させるものとしている。不整地においては、姿勢安定化機構部114のアクチュエータの可動範囲では姿勢を安定化ができない場合もあり得る。このような場合は、上述のように、自律移動ロボット1の進行方向を旋回させ、その地形を回避することによって、自律移動ロボット1の転倒を抑制することができる。
なお、上述の実施の形態において、自律移動ロボット1の演算部103の移動量計算部104、特徴量抽出部105、姿勢学習部106、姿勢予測部107、予測修正部108、経路選択部109、姿勢安定化計算部111、および速度制御計算部112の少なくともいずれかがプログラムの実行によって実現される場合、そのプログラムは、ROM等に予め組み込まれて提供される。また、上述の実施の形態に係る自律移動ロボット1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。また、上述の実施の形態の自律移動ロボット1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施の形態の自律移動ロボット1で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、上述の実施の形態の自律移動ロボット1で実行されるプログラムは、上述した各機能部のうち少なくともいずれかを含むモジュール構成となっており、実際のハードウェアとしてはプロセッサ41が上述のROM42からプログラムを読み出して実行することにより、上述の各機能部が主記憶装置(RAM43等)上にロードされて生成されるようになっている。
1 自律移動ロボット
2 本体部
3、3a、3b 主駆動系
4、4a、4b 前部可動腕
5、5a、5b 後部可動腕
6 重心位置制御装置
7 距離センサ
8 モーションセンサ
10a、10b 前部可動腕駆動用モータ
11a、11b 後部可動腕駆動用モータ
21 テーブル
21a テーブル面
22 テーブル軸
22a ボールジョイント
23 ステッピングモータ
23a 回転軸
24 平歯車
24a アーム
24b 連結部
24c アーム
24d ボールジョイント
25 回転台
26 ステッピングモータ
26a 回転軸
27 平歯車
27a アーム
27b 連結部
27c アーム
27d ボールジョイント
28 固定台
31 錘
40 制御装置
41 プロセッサ
42 ROM
43 RAM
44 センサI/F
45 ドライバI/F
46 補助記憶装置
47 バス
51 主駆動系ドライバ
52 可動腕ドライバ
53 重心位置制御ドライバ
101 距離計測部
102 姿勢計測部
103 演算部
104 移動量計算部
105 特徴量抽出部
106 姿勢学習部
107 姿勢予測部
108 予測修正部
109 経路選択部
110 運動生成部
111 姿勢安定化計算部
112 速度制御計算部
113 記憶部
114 姿勢安定化機構部
115 走行用駆動部
300 3次元距離データ
301、302 3次元スキャン領域
310〜312 接地領域
310a 点
501 ロボット
506 重心位置制御装置
507 距離センサ
A 代表値
As_1a、As_1b、As_2a、As_2b 軸
G グリッド
Gd 欠損グリッド
Mp、Mr 予測モデル
P 点データ
v1、v2 走行速度
θ 傾き角度
θ ピッチ角
θ ロール角
θ_E ピッチ角予測値
θ_T 真の予測値
θ_E ロール角予測値
θ_T 真の予測値
θ_E、θ_E1、θ_E2 予測値
θ_T 真の予測値
特開2009−241246号公報

Claims (14)

  1. 地面を自律的に移動するロボットであって、
    地面の形状情報を計測する第1計測手段と、
    ロボットの姿勢を計測する第2計測手段と、
    ロボット自体を駆動する駆動手段と、
    前記形状情報の特徴量を抽出する抽出手段と、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、
    ロボットの姿勢を変更する変更手段と、
    前記予測値を打ち消すようなロボットの姿勢となるように前記変更手段に対する制御量を算出し、該変更手段を前記制御量だけ駆動するように制御する第1制御手段と、
    ロボットが前記形状情報に対応する地面に到達するまでに、前記変更手段による前記制御量の駆動が完了するように、前記駆動手段によるロボットの移動の速度を制御する第2制御手段と、
    を備えたロボット。
  2. ロボットの移動量を算出する算出手段を、さらに備え、
    前記予測手段は、前記算出手段により算出された所定の移動量ごとに、前記第1計測手段により計測された形状情報に対応する地面での前記予測値を求め、
    前記第1制御手段は、現在のロボットの位置から前記所定の移動量だけ進んだ位置に対応する前記予測値に対応する前記制御量を算出し、
    前記第2制御手段は、ロボットが現在の位置から前記所定の移動量だけ進んだ位置に到達するまでに、前記変更手段による前記制御量の駆動が完了するように、前記駆動手段によるロボットの移動の速度を制御する請求項1に記載のロボット。
  3. 前記算出手段は、算出したロボットの移動量が前記所定の移動量に到達した場合、移動量をリセットする請求項2に記載のロボット。
  4. 前記予測手段により求められた前記予測値を先入れ先出し方式のメモリ構造で記憶する記憶手段を、さらに備え、
    前記予測手段は、前記所定の移動量ごとに求めた前記予測値を、前記メモリ構造の末尾に記憶し、
    前記第1制御手段は、現在のロボットの位置から前記所定の移動量だけ進んだ位置に対応する前記予測値を前記メモリ構造の先頭から読み出す請求項2に記載のロボット。
  5. 前記抽出手段は、
    前記第1計測手段により計測された形状情報から部分情報を切り出し、
    前記部分情報を複数のグリッドに分割し、
    各前記グリッドに含まれる点データの代表値を前記特徴量として抽出する請求項1〜4のいずれか一項に記載のロボット。
  6. 前記抽出手段は、分割した前記複数のグリッドのうち、点データを含まないグリッドである欠損グリッドの代表値として、前記欠損グリッドに隣接するグリッドのうち少なくともいずれかのグリッドの代表値に基づいて、該欠損グリッドの前記特徴量を抽出する請求項5に記載のロボット。
  7. 前記第1計測手段により計測された形状情報に対応する前記特徴量と、該形状情報に対応する地面にロボットが位置する場合で前記第2計測手段により計測された該ロボットの姿勢とを関連付ける予測モデルを生成する生成手段を、さらに備え、
    前記予測手段は、前記第1計測手段により計測された形状情報に対応する前記特徴量から、前記予測モデルを用いて、該形状情報に対応する地面でのロボットの姿勢の前記予測値を求める請求項1〜6のいずれか一項に記載のロボット。
  8. 前記第2計測手段により計測されたロボットの姿勢に基づいて、前記予測手段により求められた前記予測値を修正する修正手段を、さらに備えた請求項1〜7のいずれか一項に記載のロボット。
  9. 前記抽出手段は、前記第1計測手段により計測された形状情報を、前記第2計測手段により計測されたロボットの姿勢に基づいて、世界座標系の形状情報に変換し、前記世界座標系の形状情報の特徴量を抽出する請求項1〜7のいずれか一項に記載のロボット。
  10. 地面を自律的に移動するロボットであって、
    地面の形状情報を計測する第1計測手段と、
    ロボットの姿勢を計測する第2計測手段と、
    ロボット自体を駆動する駆動手段と、
    前記形状情報の特徴量を抽出する抽出手段と、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、
    ロボットの姿勢を変更する変更手段と、
    前記予測値を打ち消すようなロボットの姿勢となるように、前記変更手段の駆動を制御する姿勢制御手段と、
    前記予測値に基づいて、ロボットの進行方向を前記駆動手段により旋回させるか、または、前記姿勢制御手段により前記予測値を打ち消すような該ロボットの姿勢となるように前記変更手段に該姿勢を変更させるかのいずれかを選択する選択手段と、
    を備えたロボット。
  11. 地面を自律的に移動するロボットの姿勢安定化方法であって、
    地面の形状情報を計測する第1計測ステップと、
    ロボットの姿勢を計測する第2計測ステップと、
    ロボット自体を駆動手段により駆動させる駆動ステップと、
    前記形状情報の特徴量を抽出する抽出ステップと、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測ステップと、
    ロボットの姿勢を変更手段により変更させる変更ステップと、
    前記予測値を打ち消すようなロボットの姿勢となるように前記変更手段に対する制御量を算出し、該変更手段を前記制御量だけ駆動するように制御する第1制御ステップと、
    ロボットが前記形状情報に対応する地面に到達するまでに、前記変更手段による前記制御量の駆動が完了するように、前記駆動手段によるロボットの移動の速度を制御する第2制御ステップと、
    を有する姿勢安定化方法。
  12. 地面を自律的に移動するロボットの姿勢安定化方法であって、
    地面の形状情報を計測する第1計測ステップと、
    ロボットの姿勢を計測する第2計測ステップと、
    ロボット自体を駆動手段により駆動させる駆動ステップと、
    前記形状情報の特徴量を抽出する抽出ステップと、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測ステップと、
    ロボットの姿勢を変更手段により変更させる変更ステップと、
    前記予測値を打ち消すようなロボットの姿勢となるように、前記変更手段の駆動を制御する姿勢制御ステップと、
    前記予測値に基づいて、ロボットの進行方向を前記駆動手段により旋回させるか、または、前記予測値を打ち消すような該ロボットの姿勢となるように前記変更手段に該姿勢を変更させるかのいずれかを選択する選択ステップと、
    を有する姿勢安定化方法。
  13. 地面を自律的に移動するロボットを制御するコンピュータを、
    地面の形状情報を計測する第1計測手段と、
    ロボットの姿勢を計測する第2計測手段と、
    前記形状情報の特徴量を抽出する抽出手段と、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、
    前記予測値を打ち消すようなロボットの姿勢となるように、該ロボットの姿勢を変更する変更手段に対する制御量を算出し、該変更手段を前記制御量だけ駆動するように制御する第1制御手段と、
    ロボットが前記形状情報に対応する地面に到達するまでに、前記変更手段による前記制御量の駆動が完了するように、該ロボット自体を駆動する駆動手段による該ロボットの移動の速度を制御する第2制御手段と、
    して機能させるためのプログラム。
  14. 地面を自律的に移動するロボットを制御するコンピュータを、
    地面の形状情報を計測する第1計測手段と、
    ロボットの姿勢を計測する第2計測手段と、
    前記形状情報の特徴量を抽出する抽出手段と、
    前記特徴量に基づいて、前記形状情報に対応する地面でのロボットの姿勢の予測値を求める予測手段と、
    前記予測値を打ち消すようなロボットの姿勢となるように、該ロボットの姿勢を変更する変更手段の駆動を制御する姿勢制御手段と、
    前記予測値に基づいて、ロボットの進行方向を、該ロボット自体を駆動する駆動手段により旋回させるか、または、前記姿勢制御手段により前記予測値を打ち消すような該ロボットの姿勢となるように前記変更手段に該姿勢を変更させるかのいずれかを選択する選択手段と、
    して機能させるためのプログラム。
JP2016090991A 2016-04-28 2016-04-28 ロボット、姿勢安定化方法、およびプログラム Pending JP2017199265A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016090991A JP2017199265A (ja) 2016-04-28 2016-04-28 ロボット、姿勢安定化方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016090991A JP2017199265A (ja) 2016-04-28 2016-04-28 ロボット、姿勢安定化方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2017199265A true JP2017199265A (ja) 2017-11-02

Family

ID=60237998

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016090991A Pending JP2017199265A (ja) 2016-04-28 2016-04-28 ロボット、姿勢安定化方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2017199265A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019193811A1 (ja) * 2018-04-03 2019-10-10 ソニー株式会社 制御装置、制御方法、および、プログラム
JP2020163495A (ja) * 2019-03-28 2020-10-08 国立大学法人 東京大学 転倒判定装置、転倒判定方法、およびプログラム
JP2020163551A (ja) * 2019-03-29 2020-10-08 セイコーエプソン株式会社 制御方法およびロボットシステム
CN113589835A (zh) * 2021-08-13 2021-11-02 北京科技大学 一种基于自主感知的智能机器人飞行员飞行方法及装置
JP7452127B2 (ja) 2020-03-16 2024-03-19 日本精工株式会社 自律移動装置および自律移動装置の制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019193811A1 (ja) * 2018-04-03 2019-10-10 ソニー株式会社 制御装置、制御方法、および、プログラム
JP2020163495A (ja) * 2019-03-28 2020-10-08 国立大学法人 東京大学 転倒判定装置、転倒判定方法、およびプログラム
JP2020163551A (ja) * 2019-03-29 2020-10-08 セイコーエプソン株式会社 制御方法およびロボットシステム
JP7259487B2 (ja) 2019-03-29 2023-04-18 セイコーエプソン株式会社 制御方法およびロボットシステム
JP7452127B2 (ja) 2020-03-16 2024-03-19 日本精工株式会社 自律移動装置および自律移動装置の制御方法
CN113589835A (zh) * 2021-08-13 2021-11-02 北京科技大学 一种基于自主感知的智能机器人飞行员飞行方法及装置
CN113589835B (zh) * 2021-08-13 2024-05-14 北京科技大学 一种基于自主感知的智能机器人飞行员飞行方法及装置

Similar Documents

Publication Publication Date Title
JP2017199265A (ja) ロボット、姿勢安定化方法、およびプログラム
US10059004B2 (en) Robot, information processing system, and storage medium
JP6691721B2 (ja) 飛行計画作成方法及び飛行体誘導システム
JP5604117B2 (ja) 自律型移動体
US11921508B2 (en) Systems and methods for ground plane estimation
CN103394199A (zh) 一种用于通过具有最小化干扰移动的机载摄像机来曝光的领航旋转翼无人机的方法
JP5147129B2 (ja) 自律型移動体
JP2008136171A (ja) 移動プラットフォーム上のカメラからの移動物体の追跡
JP5817611B2 (ja) 移動ロボット
JP2006057448A (ja) 地ならし機の動的安定化および制御
JP2011209845A (ja) 自律移動体、自己位置推定方法、地図情報作成システム
JP2018149973A (ja) 飛行体運用システム、クレーン装置制御方法、及び制御プログラム
AU2015305864B2 (en) Earthmoving machine comprising weighted state estimator
JP2008139035A (ja) 3次元環境計測装置及びそれを備えた移動ロボット
JP6801269B2 (ja) 自律移動装置
EP4348377A1 (en) Alternate route finding for waypoint-based navigation maps
JP6704061B2 (ja) 移動装置、および、移動装置管理システム
JP2017010529A (ja) ロボット、プログラム、情報処理システムおよび方法
US20160368602A1 (en) Camera drone systems and methods for maintaining captured real-time images vertical
JP5325149B2 (ja) 軌道追従制御装置、方法及びプログラム
JP7091733B2 (ja) 位置推定システム、位置検出方法、およびプログラム
JP2019168287A (ja) 姿勢角演算装置、移動装置、姿勢角演算方法、およびプログラム
JP5873879B2 (ja) 倒立振子型移動装置
JP2021077003A (ja) 走破可否判定装置及び移動体の制御装置
TW202126023A (zh) 影像擷取方法及影像擷取設備