JP2010009370A - 移動体制御システムおよび移動体制御方法 - Google Patents
移動体制御システムおよび移動体制御方法 Download PDFInfo
- Publication number
- JP2010009370A JP2010009370A JP2008168860A JP2008168860A JP2010009370A JP 2010009370 A JP2010009370 A JP 2010009370A JP 2008168860 A JP2008168860 A JP 2008168860A JP 2008168860 A JP2008168860 A JP 2008168860A JP 2010009370 A JP2010009370 A JP 2010009370A
- Authority
- JP
- Japan
- Prior art keywords
- moving body
- moving
- measurement
- legged robot
- particle
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000005259 measurement Methods 0.000 claims abstract description 96
- 230000005540 biological transmission Effects 0.000 claims abstract description 26
- 239000002245 particle Substances 0.000 claims description 102
- 238000012545 processing Methods 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 8
- 238000012935 Averaging Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
【課題】移動体の現在位置を精度良く取得することができる移動体制御システムを提供する。
【解決手段】移動体制御システム1は、移動体100の測定向きを取得する方位取得手段104Aと、音波および電波の少なくともいずれかを発信する発信手段114Aと、移動体周辺の障害物までの測定距離を取得する距離取得手段106Aと、障害物の位置を示す地図データ57Aを格納する記憶手段57Sと、音波および電波の少なくともいずれかに基づいて、移動体100の測定位置を計算する第1の位置取得手段55Bと、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算する第2の位置取得手段とを備える。
【選択図】図6
【解決手段】移動体制御システム1は、移動体100の測定向きを取得する方位取得手段104Aと、音波および電波の少なくともいずれかを発信する発信手段114Aと、移動体周辺の障害物までの測定距離を取得する距離取得手段106Aと、障害物の位置を示す地図データ57Aを格納する記憶手段57Sと、音波および電波の少なくともいずれかに基づいて、移動体100の測定位置を計算する第1の位置取得手段55Bと、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算する第2の位置取得手段とを備える。
【選択図】図6
Description
この発明は、ロボットなどの移動体の動作を制御する移動体制御システムおよび移動体制御方法に関し、特に各種センサを利用して移動体の正確な現在位置や向きを取得する移動体制御システムおよび移動体制御方法に関する。
人のように2足歩行を行うロボットや、動物のように4足歩行を行うロボットなど、各種のアルゴリズムに基づいて自律歩行を行う脚式移動ロボットが知られている。これらの脚式ロボットや脚式ロボットを制御するサーバ装置の中には、様々なセンサから得られるデータなどに基づいて、脚式ロボットの現在位置を取得するものがある。そして、脚式ロボットは、たとえば、ユーザから入力される目的地点と上記の現在位置とに基づいて移動する。
たとえば、特開2003−166824号公報(特許文献1)には、自己位置同定システムが開示されている。特開2003−166824号公報(特許文献1)によると、自己位置同定システムは、グリッドベース・マルコフ・ローカリゼーションに基づく大域的探索装置と、拡張型カルマン・フィルタを用いた局所的探索装置を併用する。大域的探索装置における観察結果が妥当であれば、局所的探索装置の観察結果の更新を許可するが、妥当でなければ局所的探索装置の観察結果の更新を行わない。また、局所的探索装置の観察結果が妥当であれば、局所的探索の状態を出力するが、妥当でなければ局所的探索装置を再初期化する。
また、特開2007−257226号公報(特許文献2)には、移動体の自己位置検出装置および位置検出システムが開示されている。特開2007−257226号公報(特許文献2)によると、自己位置検出装置は、位置特定用の複数のマークが不規則配置で貼着された天井を有する移動領域を移動するロボットに備えられ、天井に赤外線を照射する赤外線照射部と、照射された赤外線を反射したマークを撮像する天面カメラと、天井におけるマークの配置に関する情報と、移動領域の位置情報とを関連付けて記憶するマーク配置記憶部と、撮像されたマークを画像処理することによって、複数のマークを4つのマークにおける互いの配置で特徴付けられるグループとして検出するマーク検出部と、マーク配置記憶部を参照して、検出されたグループにおけるマークの配置と同一の配置のグループを探索し、対応付けられた位置情報をロボットの現在位置として特定する現在位置特定部を備える。
また、特開2008−71352号公報(特許文献3)には、複数のパーティクルを用いるパーティクルフィルタ基盤の移動ロボットの姿勢推定装置が開示されている。特開2008−71352号公報(特許文献3)によると、移動ロボットの姿勢変化量を感知するセンサと、以前パーティクルに感知された姿勢変化量を適用して、現在パーティクルの姿勢および加重値を求めるパーティクルフィルタ部と、求めた姿勢および加重値に進化アルゴリズムを適用して、現在パーティクルの姿勢および加重値を更新する進化適用部とを含む。
また、特開2007−240295号公報(特許文献4)には、位置推定装置が開示されている。特開2007−240295号公報(特許文献4)によると、位置センサは、複数の人物の位置を検出する。IDセンサは、各人物が装着した光IDタグのID番号を検出する。位置尤度算出部は、検出された位置を用いて人物の位置の尤度を算出する。ID尤度算出部は、検出されたID番号を用いて光IDタグのID番号の尤度を算出する。位置推定部は、算出された人物の位置の尤度及びID番号の尤度を基に各人物の位置を推定する。
また、特開2006−508345号公報(特許文献5)には、測距および測位方法および装置が開示されている。特開2006−508345号公報(特許文献5)によると、そのような方法および装置は、縦方向および横方向に延びる壁および通路を備えたビルディング内で利用される。基地局は、縦方向および横方向に向いたcosec2のパターンを有する向きのアンテナを備え、移動局の位置を決定するためにその距離を測定する。
特開2003−166824号公報
特開2007−257226号公報
特開2008−071352号公報
特開2007−240295号公報
特開2006−508345号公報
しかしながら、脚部を有する歩行可能なロボットに関しては、エンコーダなどによって正確な移動量を取得することが困難である。すなわち、車輪によって走行するロボットと比較して、正確な現在位置を取得することが困難である。そのため、上記のように、従来のロボットの現在位置の測定においては、測定精度を向上させるために当該ロボットが移動するエリア内(エリア近隣)に多数のマーカを設置するなどしていた。より詳細には、ロボットやサーバ装置は、そのような多数のマーカとロボットとの相対位置関係を求めたうえで、当該相対位置関係に基づいてロボットの現在位置を取得するなどしていた。すなわち、従来のロボットにおいては、現在位置の測定精度を向上させるために、ロボットが移動するエリアに多数のマーカを設置する必要があった。
この発明は、かかる問題を解決するためになされたものであり、その目的は、移動体が移動するエリアにマーカを設置することなく、移動体の動作を制御するための移動体制御システムおよび移動体制御方法を提供することである。
この発明のある局面に従うと、移動体の動作を制御するための移動体制御システムが提供される。移動体は、移動体を移動させる移動機構と、移動体の測定向きを取得する方位取得手段と、音波および電波の少なくともいずれかを発信する発信手段と、移動体周辺の障害物までの測定距離を取得する距離取得手段とを含む。移動体制御システムは、障害物の位置を示す地図データを格納する記憶手段と、音波および電波の少なくともいずれかに基づいて、移動体の測定位置を計算する第1の位置取得手段と、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算する第2の位置取得手段とを備える。
好ましくは、第2の位置取得手段は、パーティクルフィルタを用いることによって、前回の現在位置にさらに基づいて、移動体の現在位置を計算する。
好ましくは、第2の位置取得手段は、移動体の仮想位置を示す複数のパーティクルを取得するパーティクル取得手段と、測定位置と測定距離と地図データとに基づいて、パーティクルの各々に重みを設定する設定手段と、それぞれのパーティクルの仮想位置と重みとに基づいて、移動体の現在位置を計算する計算手段とを含む。
好ましくは、第2の位置取得手段は、移動体の仮想位置および仮想向きを示す複数のパーティクルを取得するパーティクル取得手段と、測定位置と測定距離と地図データと測定向きとに基づいて、各パーティクルに重みを設定する設定手段と、それぞれのパーティクルの仮想位置と重みとに基づいて移動体の現在位置を計算し、それぞれのパーティクルの仮想向きと重みとに基づいて移動体の現在向きを計算する計算手段とを含む。
好ましくは、移動体制御システムは、目的地点を受け付ける手段と、地図データを参照して、現在位置と目的地点とに基づき移動体の移動経路を生成する経路生成手段と、移動経路と現在位置とに基づいて、移動方向および歩数を含む動作命令を生成する動作命令生成手段とをさらに備える。移動機構は、動作命令に基づいて移動体を移動させることによって、移動体を移動経路に追従させる。
好ましくは、移動体は、脚式ロボットである。移動機構は、歩行可能な複数の脚部を含む。
この発明の別の局面に従うと、移動体に接続可能なサーバにおいて移動体の動作を制御するための移動体制御方法が提供される。移動体は、移動体を移動させる移動機構と、移動体の測定向きを取得する方位取得手段と、音波および電波の少なくともいずれかを発信する発信手段と、移動体周辺の障害物までの測定距離を取得する距離取得手段とを含む。サーバ装置は、障害物の位置を示す地図データを格納する記憶部と、演算処理部とを含む。移動体制御方法は、演算処理部が、音波および電波の少なくともいずれかに基づいて、移動体の測定位置を取得するステップと、演算処理部が、測定位置と測定向きと測定距離と地図データとに基づいて、移動体の現在位置を計算するステップと、演算処理部が、目的地点を受け付けるステップと、演算処理部が、地図データを参照して、現在位置と目的地点とに基づき移動体の移動経路を生成するステップと、演算処理部が、移動経路と現在位置とに基づいて、移動方向および歩数を含む動作命令を生成するステップと、移動機構が、動作命令に基づいて移動体を移動させることによって、移動体を移動経路に追従させるステップとを備える。
この発明によれば、移動体が移動するエリア内にマーカを設置することなく、比較的低性能のセンサで、移動体の現在位置を精度良く取得することができる移動体制御システムが提供される。また、脚式といった移動量の測定精度が期待できない機構を有する移動体であっても、目的地点まで精度よく移動可能な経路追従方法を提供する。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<脚式ロボットの制御システム1の全体構成>
図1は、この発明の実施の形態に従う脚式ロボット100の制御システム1の概略構成図である。
図1は、この発明の実施の形態に従う脚式ロボット100の制御システム1の概略構成図である。
図1を参照して、脚式ロボット100の制御システム1は、家屋200内を移動する脚式ロボット100と、脚式ロボット100から発信される超音波信号を受信する超音波受信機41と、各種センサからデータを受け取って脚式ロボット100の現在位置を計算するサーバ装置50とを含む。本実施の形態に係る脚式ロボット100は、4本の脚部を有して、4足歩行を行う形態としているが、人型の2足歩行を行う形態であってもよい。
ただし、本発明に係る現在位置や現在向きの取得方法は、脚式ロボットだけでなく、車輪を有する走行ロボットに対しても適用することができる。すなわち、ロボットが有する移動機構の形態にかかわらず、本発明に係る現在位置や現在向きを取得するための構成によって、より正確な現在位置や現在向きを取得することが可能となる。
サーバ装置50と脚式ロボット100とは、相互にデータ通信可能に構成される。そして、サーバ装置50は、LAN(Local Area Network)やWAN(Wide Area Network)などの専用回線や、インターネットや仮想プライベートネットワーク(Virtual Private Network)などの公衆回線を介して、外部から脚式ロボット100に対する動作命令などを受信する。
脚式ロボット100は、代表的に、外部からの移動命令に応じて自律移動(4足歩行)を行ったり、外部からの撮影命令に応じて脚式ロボット100の周囲を撮影したりすることができる。より詳細には、脚式ロボット100は、頭部101と胴部102と脚部103とを有している。頭部101と脚部103とは、それぞれアクチュエータ等の駆動機構を有しており、これらの駆動機構によって各種の動作が行われる。たとえば、アクチュエータを制御することによって、脚式ロボット100の4足歩行の制御を行うことができる。
<脚式ロボットの制御システム1の動作概要>
ここで、本実施の形態に係る脚式ロボット100の制御システム1の動作概要について説明する。図2は、この発明の実施の形態に従う脚式ロボット100の制御システム1における動作概要を示すシーケンス図である。図1および図2に示すように、まず、脚式ロボット100が移動する(ステップS002)。脚式ロボット100から超音波が発信される(ステップS004)。家屋200内に、あるいは脚式ロボット100が移動するエリア内に配置されている超音波受信機41が、脚式ロボット100からの超音波を受信する(ステップS006)。
ここで、本実施の形態に係る脚式ロボット100の制御システム1の動作概要について説明する。図2は、この発明の実施の形態に従う脚式ロボット100の制御システム1における動作概要を示すシーケンス図である。図1および図2に示すように、まず、脚式ロボット100が移動する(ステップS002)。脚式ロボット100から超音波が発信される(ステップS004)。家屋200内に、あるいは脚式ロボット100が移動するエリア内に配置されている超音波受信機41が、脚式ロボット100からの超音波を受信する(ステップS006)。
超音波受信機41は、受信した超音波に基づいて脚式ロボット100の位置を計算する、すなわち脚式ロボット100の測定位置を取得する。超音波受信機41は取得した測定位置をサーバ装置50へと送信し(ステップS008)、サーバ装置50は測定位置を取得する(ステップS010)。ただし、超音波受信機41が、受信した超音波に関するデータをそのままサーバ装置50へと送信し、サーバ装置50がそのデータに基づいて脚式ロボット100の測定位置を計算してもよい。
脚式ロボット100は、後述する方位磁気センサなどを利用して測定方向(脚式ロボット100の測定向き、測定方位)を計算し、当該測定方向をサーバ装置50へと送信する(ステップS012)。サーバ装置50は、脚式ロボット100の測定方向を受信する(ステップS014)。
脚式ロボット100は、後述する測距センサなどを利用して障害物(壁や家具)までの距離を計算し、当該障害物までの距離をサーバ装置50へと送信する(ステップS016)。サーバ装置50は、障害物までの距離を受信する(ステップS018)。
そして、サーバ装置50は、パーティクルフィルタを利用して脚式ロボット100の現在位置を取得する(ステップS020)。より詳細には、サーバ装置50は、各パーティクルの仮想位置や仮想方向(仮想向きあるいは仮想方位)に対し、超音波による測定位置と方位磁気センサによる測定方向と測距センサによる障害物までの距離と基づいて、家屋200内の地図データ、あるいは脚式ロボット100が移動するエリア内の地図データを参照して、重み付けを行う。サーバ装置50は、それぞれのパーティクルの仮想位置および仮想方向と重みとに基づいて、現在位置と現在方向(現在向きあるいは現在方位)とを計算する。
サーバ装置50は、取得した現在位置と現在方向とに基づいて、脚式ロボット100に動作命令(移動命令や停止命令や撮影命令など)を送信する(ステップS022)。脚式ロボット100は、サーバ装置50から動作命令を受信して(ステップS024)、当該動作命令に基づいて各種動作(移動など)を実行する(ステップS026)。
以下、このような機能を実現するための構成について詳述する。
<脚式ロボットの制御システム1のハードウェア構成>
図3は、この発明の実施の形態に従う脚式ロボット100の制御システム1のハードウェア構成を示す模式図である。
<脚式ロボットの制御システム1のハードウェア構成>
図3は、この発明の実施の形態に従う脚式ロボット100の制御システム1のハードウェア構成を示す模式図である。
図3を参照して、脚式ロボット100は、無線通信によって無線LANアクセスポイント49と接続される。たとえば、脚式ロボット100は、内部の無線LAN子機119を利用して無線LANアクセスポイント49に接続される。無線LANアクセスポイント49は、LANなどを介してサーバ装置(外部PCサーバ)50と接続されている。
サーバ装置50は、LANなどを介して、マイクアレイ用環境サーバ20や、セキュリティサーバ30や、超音波用環境サーバ40や、図示しない端末装置などに接続されている。マイクアレイ用環境サーバ20は、たとえば、外部マイクロフォンアレイ21と接続されている。セキュリティサーバ30は、たとえば、家屋200内に設置される複数のセキュリティセンサ31に接続されている。超音波用環境サーバ40は、家屋内に設置される複数の超音波受信機41に接続されている。
サーバ装置50は、脚式ロボット100を管理(制御)するものであり、無線LANアクセスポイント49やLANなどを介して、脚式ロボット100に対する移動や撮影などの各種制御を行うと共に、脚式ロボット100に対して必要な情報を提供する。
以下、脚式ロボット100について説明する。
脚式ロボット100は、脚式ロボット100の各部に電力を供給するバッテリ電源112と、無線LANアクセスポイント49と通信を行う無線LAN子機119と、無線LAN子機119に接続されるLAN用ハブ118と、LAN用ハブ118に接続される画像送信ユニット113と、各種のセンサに接続されるセンサコントロールユニット121と、アクチュエータ108などに接続されるモータコントロールボード107とを含む。
脚式ロボット100は、脚式ロボット100の各部に電力を供給するバッテリ電源112と、無線LANアクセスポイント49と通信を行う無線LAN子機119と、無線LAN子機119に接続されるLAN用ハブ118と、LAN用ハブ118に接続される画像送信ユニット113と、各種のセンサに接続されるセンサコントロールユニット121と、アクチュエータ108などに接続されるモータコントロールボード107とを含む。
画像送信ユニット113は、脚式ロボット100外部に超音波を発信する超音波発信タグ114と、周囲の物体や人物を撮影するカメラ115と、音声を出力するスピーカ116と、周囲の音声を受け付けるマイク117とに接続される。カメラ115は、映像をデジタルデータとして取り込むことができるものであり、たとえば、カラーCCD(Charge-Coupled Device)カメラが使用される。
カメラ115は、サーバ装置50からの撮影命令に基づいて、脚式ロボット100の周囲(たとえば頭部101の前方など)を撮影する。カメラ115は、撮影した画像データを画像送信ユニット113に出力する。画像データは、無線LAN子機119を介して、サーバ装置50へと送信される。このカメラ115と、マイク117とは、いずれも脚式ロボット100の頭部101に配設される。そして、スピーカ116などは脚式ロボット100の胴部102(背中)に配設される。
センサコントロールユニット121は、脚式ロボット100の向きを測定するための方位センサ104と、人間の存在を検知する人感センサ105と、障害物(壁や家具等)までの距離を測定する測距センサ106と、壁や物体までの距離を検知するための赤外線測距センサ126と、床までの距離を検知するための赤外線測距センサ136とに接続される。測距センサ106,126,136は、たとえば三角測量のように、脚式ロボット100の周囲に赤外線を照射して、その反射光を受光することによって脚式ロボット100から障害物や床までの距離を測定する。
モータコントロールボード107は、脚式ロボット100の頭部101や脚部103を動かすための各種のアクチュエータ108や、脚式ロボット100の向きを測定するための3つの1軸ジャイロセンサ109や、脚式ロボット100の加速度を測定するための3軸加速度センサ110に接続される。ここで、アクチュエータ108は、バッテリ電源111にも接続される。
<サーバ装置50のハードウェア構成>
図4は、この発明の実施の形態に従うサーバ装置50のハードウェア構成を示す模式図である。
図4は、この発明の実施の形態に従うサーバ装置50のハードウェア構成を示す模式図である。
図4を参照して、サーバ装置50は、オペレーティングシステムを含む各種プログラムを実行するCPU55と、CPU55でのプログラムの実行に必要なデータを一時的に記憶するメモリ56と、CPU55で実行されるプログラムを不揮発的に記憶する固定ディスク57とを備える。このようなプログラムは、CD−ROM(Compact Disk-Read Only Memory)駆動装置63またはフレキシブルディスク(FD:Flexible Disk)駆動装置61によって、それぞれCD−ROM64またはフレキシブルディスク62などから読取られる。
CPU55は、キーボード53やマウス54を介してユーザから操作要求を受け取るとともに、プログラムの実行によって生成されるテキストデータや画像データを表示部インターフェイス65を介してディスプレイ部52へ出力する。また、CPU55は、LANカードなどからなる通信インターフェイス59を介して、脚式ロボット100との間でデータ通信を行う。なお、これらの部位は、内部バス58を介して互いに接続される。
脚式ロボット100や超音波受信機41からLANを介して送信されてくるデータは、通信インターフェイス59にて受信される。CPU55は、受信したデータをメモリ56などに格納する。CPU55は、受信したデータに応じて、脚式ロボット100から要求されたデータなどを固定ディスク57から読み出して、通信インターフェイス59を介して脚式ロボット100へと送信する。
また、CPU55は、キーボード53やマウス54を介してユーザから入力される命令、インターネットと通信インターフェイス59とを介して入力される命令などに基づいて、LANを介して移動命令や撮影命令などを脚式ロボット100に送信する。
次に、サーバ装置50の有する機能構成について詳述する。
<サーバ装置50の機能構成>
図5は、この発明の実施の形態に従うサーバ装置50における機能構成を示すブロック図である。図5を参照して、サーバ装置50は、サーバ装置50の各部を制御するメイン処理部55Aと、プログラムやデータベースなどを格納する記憶部57Sと、脚式ロボット100の位置を検知する第1の位置取得部55Bと、設定された経路上を脚式ロボット100を移動させるための経路追従部55Cと、セキュリティ部55Dと、LANを介して室内に配置された複数のマイクやマイクサーバ20から受信した音声データに基づいて会話を認識する音声認識部55Eと、人間の存在やその位置などを検知する人検知部55Fと、人間の顔が位置するエリアを認識する顔認識部55Gと、LANを介して脚式ロボット100から音声データを受信する音声受信部55Hと、LANを介して脚式ロボット100から脚部の動作に関する動作データや障害物の存否に関するデータなどを受信するコマンド受信部55Jと、LANを介して脚式ロボット100から方位データを受信する方位データ受信部55Kとを含む。
<サーバ装置50の機能構成>
図5は、この発明の実施の形態に従うサーバ装置50における機能構成を示すブロック図である。図5を参照して、サーバ装置50は、サーバ装置50の各部を制御するメイン処理部55Aと、プログラムやデータベースなどを格納する記憶部57Sと、脚式ロボット100の位置を検知する第1の位置取得部55Bと、設定された経路上を脚式ロボット100を移動させるための経路追従部55Cと、セキュリティ部55Dと、LANを介して室内に配置された複数のマイクやマイクサーバ20から受信した音声データに基づいて会話を認識する音声認識部55Eと、人間の存在やその位置などを検知する人検知部55Fと、人間の顔が位置するエリアを認識する顔認識部55Gと、LANを介して脚式ロボット100から音声データを受信する音声受信部55Hと、LANを介して脚式ロボット100から脚部の動作に関する動作データや障害物の存否に関するデータなどを受信するコマンド受信部55Jと、LANを介して脚式ロボット100から方位データを受信する方位データ受信部55Kとを含む。
ここで、メイン処理部55Aや経路追従部55Cは、CPU55が固定ディスク57などに予め格納されていたプログラムをメモリ56に読出して実行することで実現されるものである。経路追従部55Cは、計算された現在位置と入力された目的地(あるいは計算された目的地)とに基づいて、各種のアルゴリズムに沿って脚式ロボット100の移動経路を生成する。経路追従部55Cは、移動経路に沿って脚式ロボット100が移動するように、脚式ロボット100に対する具体的な移動命令を生成する。
第1の位置取得部55Bは、CPU55や通信インターフェイス59によって実現されるものであって、超音波サーバ40(超音波受信機41)から受信したデータに基づいて、脚式ロボット100の現在位置(測定位置)を計算する。
セキュリティ部55Dは、CPU55や通信インターフェイス59によって実現されるものであって、セキュリティサーバ30から受信したセキュリティ情報に基づいて、セキュリティモードを切り替えたり、セキュリティに関する動作命令(たとえば警報の出力命令など)を生成したりする。
音声認識部55Eは、CPU55や通信インターフェイス59によって実現される。音声認識部55Eは、脚式ロボット100から受信した音声データに基づいて、脚式ロボット100に入力された音声に対応する音声認識テキストをメイン処理部55Aに入力する。
人検知部55Fは、CPU55や通信インターフェイス59によって実現される。人検知部55Fは、脚式ロボット100から受信した人感センサ105の反応データと画像データなどに基づいて、脚式ロボット100の周囲に人が存在するか否かを判断し、人が存在する位置を取得する。
顔認識部55Gは、CPU55や通信インターフェイス59によって実現される。顔認識部55Gは、脚式ロボット100から受信した画像データに基づいて、人間の顔の検知と認証を行う。
音声受信部55Hは、CPU55や通信インターフェイス59によって実現される。音声受信部55Hは、脚式ロボット100から音声データを受信する。
コマンド受信部55Jは、CPU55や通信インターフェイス59によって実現される。コマンド受信部55Jは、脚式ロボット100から、脚式ロボット100の近傍に障害物が存在する旨のデータや、脚式ロボット100が障害物に接触した旨のデータや、脚式ロボット100に関する状態情報などを取得する。
方位データ受信部55Kは、CPU55や通信インターフェイス59によって実現される。方位データ受信部55Kは、LANを介して、脚式ロボット100から脚式ロボット100の測定向き(測定方向)を受信する。
<脚式ロボットの制御システム1の機能構成>
図6は、この発明の実施の形態に従う脚式ロボット100の制御システム1における機能構成を示すブロック図である。図6を参照して、脚式ロボット100の制御システム1は、脚式ロボット100と、サーバ装置50と、超音波受信機41とを含む。
図6は、この発明の実施の形態に従う脚式ロボット100の制御システム1における機能構成を示すブロック図である。図6を参照して、脚式ロボット100の制御システム1は、脚式ロボット100と、サーバ装置50と、超音波受信機41とを含む。
脚式ロボット100は、移動機構108Aと、送受信部119Aと、発信部114Aと、方位取得部104Aと、距離取得部106Aとを含む。
図3および図6に示すように、送受信部119Aは、無線LAN子機119やLAN用ハブ118などによって実現される。送受信部119Aは、LANを介してサーバ装置50から各種命令を受信したり、LANを介してサーバ装置50に各種データを送信したりする。より詳細には、送受信部119Aは、サーバ装置50に測定距離や測定方向を送信し、サーバ装置50から移動命令や撮影命令を受信する。
移動機構108Aは、たとえば、それぞれの脚部103を動作させるための複数のアクチュエータ108を含む複数の脚部103によって実現される。たとえば、移動機構108Aは、送受信部119Aを介して入力される移動命令に応じて、アクチュエータ108を作動させることによって脚式ロボット100を移動させる。たとえば、移動機構108Aは、送受信部119Aを介して入力される停止命令に応じて、アクチュエータ108を停止させることによって脚式ロボット100を停止させる。より詳細には、サーバ装置50から受信した「○歩前進、肩の角度○○度」という移動命令に基づいて、それぞれのアクチュエータ108(脚部103)が作動することによって、脚式ロボット100が移動する。
発信部114Aは、たとえば超音波発信タグ114によって実現される。発信部114Aは定期的に超音波を発信する。発信部114Aから発信された超音波は超音波受信機41にて受信される。ただし、発信部114Aは、電波を発信してもよい。
方位取得部104Aは、たとえば方位センサ104やセンサコントロールユニット121などによって実現される。方位取得部104Aは、脚式ロボット100の測定方向(測定向き)を取得して、当該測定向きを送受信部119Aを介してサーバ装置50に送信する。
距離取得部106Aは、たとえば脚式ロボット100周囲に設けられた複数の測距センサ106やセンサコントロールユニット121によって実現される。距離取得部106Aは、脚式ロボット100から障害物までの距離を測定して、当該測定距離を送受信部119Aを介してサーバ装置50へ送信する。ここで、障害物とは、たとえば壁やドアや家具などのように、家屋200内に配置されている様々なオブジェクトをいう。
図6に示すように、サーバ装置50は、入力部53Aと、記憶部57Sと、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qと、送受信部59Aとを含む。
図4および図6に示すように、入力部53Aは、キーボード53やマウス54や通信インターフェイス59などによって実現される。より詳細には、入力部53Aは、キーボード53やマウス54などを介して、直接ユーザからの動作命令を受け付ける。また、入力部53Aは、通信インターフェイス59を介して、LANやインターネットや外部の情報機器などを介して動作命令を受け付ける。
記憶部57Sは、固定ディスク57やメモリ56によって実現される。記憶部57Sは、脚式ロボット100が移動するエリアに関する地図データ57Aや、パーティクルフィルタを用いて脚式ロボット100の現在地位や現在方向を計算するために必要な各種データを格納するパーティクルファイル57Bや、パーティクルフィルタを用いて計算された現在位置や現在方向を格納する現在情報ファイル57Cなどを記憶する。
図7は、地図データ57Aの内容を示すイメージ図である。図7に示すように、地図データ57Aは、脚式ロボット100が移動する家屋200に配置されている壁や扉や家具などの障害物の存在位置(図7におけるハッチング部)を示す情報を有している。地図データ57Aは、たとえばテレビジョン装置やオーディオ機器などの存在位置なども示す。
そして、地図データ57Aは、それぞれの障害物から所定距離以内の接触エリアを示す情報を格納している。接触エリアは、安全確保のためのエリアとして規定されている。すなわち、脚式ロボット100が接触エリアに侵入した場合には、脚式ロボット100が障害物に接触する虞がある。後述する経路生成部55Pは、地図データ57Aを参照して、脚式ロボット100が接触エリアに侵入することがないように、現在位置(スタート地点)から目的地点(ゴール地点)までの移動経路を生成する。
図8は、パーティクルファイル57Bのデータ構造を示すイメージ図である。図8に示すように、パーティクルファイル57Bは、パーティクル毎に、前回の現在位置のX座標X1、前回の現在位置のY座標Y1、前回の現在方向θ1、所定の重みW1(1をパーティクル数で除した数)を格納している。パーティクルファイル57Bは、パーティクル毎に、前回のX1、Y1、θ1のそれぞれにノイズを加えた仮想位置(X2,Y2)と仮想方向θ2とを格納する。
パーティクルファイル57Bは、パーティクル毎に、超音波受信機41からの測定位置が考慮された、ガウス関数に基づいて計算されるX2およびY2の観測確率PUSを格納する。ここで、観測確率PUSとは、脚式ロボット100がその現在位置にある場合に、その測定位置が観測される確率をいう。
同様に、パーティクルファイル57Bは、パーティクル毎に、脚式ロボット100からの測定方向が考慮された、ガウス関数に基づいて計算されるθ2の観測確率PCOMを格納する。
同様にパーティクルファイル57Bは、パーティクル毎に、脚式ロボット100からの障害物までの測定距離が考慮された、ガウス関数に基づいて計算されるX2やY2の観測確率PDISを格納する。ここで、パーティクルファイル57Bは、パーティクル毎に、各種センサにて取得されるデータがセンサの許容範囲内である場合と許容範囲外である場合とでそれぞれ所定の確率POUTを格納する。
このように、パーティクルファイル57Bは、パーティクル毎に、かつセンサ毎に、このような観測確率を格納する。
そして、パーティクルファイル57Bは、全ての観測確率PUS、PCOM、PDIS、POUTを乗算した観測確率乗算値Evalを格納する。パーティクルファイル57Bは、パーティクルの観測確率乗算値Evalの合計が1となるように、パーティクルの観測確率乗算値Evalの各々を正規化したものを、各パーティクルの重みW2として格納する。
図9は、現在情報ファイル57Cのデータ構造を示すイメージ図である。図9に示すように、現在情報ファイル57Cは、各パーティクルの仮想位置のX座標X2を重みW2によって加重平均した値を、脚式ロボット100の現在位置を示すX座標として格納する。現在情報ファイル57Cは、各パーティクルの仮想位置のY座標Y2を重みW2によって加重平均した値を、脚式ロボット100の現在位置を示すY座標として格納する。現在情報ファイル57Cは、各パーティクルのθ2を重みW2によって加重平均した値を、脚式ロボット100の現在方向を示す値θとして格納する。
図4と図6とを参照して、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qとは、CPU55が固定ディスク57などに予め格納されていたプログラムをメモリ56に読出して実行することで実現されるものである。すなわち、第1の位置取得部55Bと、パーティクル取得部55Lと、設定部55Mと、計算部55Nと、経路生成部55Pと、命令生成部55Qとは、サーバ装置50のCPU55が有する機能である。
第1の位置取得部55Bは、超音波受信機41から受信した音波に関するデータに基づいて、脚式ロボット100の測定位置を計算する。ただし、脚式ロボット100が、電波を発信する構成とし、第1の位置取得部55Bが、図示しない電波受信機から受信した電波に関するデータに基づいて脚式ロボット100の測定位置を計算するものであってもよい。
パーティクル取得部55Lは、各々が脚式ロボット100の仮想位置および仮想方向を示す複数のパーティクルを取得する、あるいは新たに生成する。より詳細には、パーティクル取得部55Lは、前回の現在位置を計算した際のパーティクルのX座標X2やY座標Y2や方向θ2に今回の移動方向および歩数などに対応するノイズを加えることによって、パーティクルを更新する。この際、前回の現在位置を計算した際の重みW2が、所定のしきい値未満であるパーティクルを削除して、新たなパーティクルを生成してもよい。新たなパーティクルの生成方法としては、前回の現在位置を計算した際の重みW2が最も大きなパーティクルを2つに分割してもよい。
設定部55Mは、測定位置と測定距離と地図データ57Aと測定方向とに基づいて、パーティクルの各々に重みW2を設定する。
より詳細には、設定部55Mは、超音波受信機41からの測定位置を参照しながら、ガウス関数に基づいて計算されるX2およびY2の観測確率PUSを計算する。ここで、観測確率PUSとは、脚式ロボット100がその現在位置にある場合に、その測定位置が観測される確率をいう。同様に、設定部55Mは、パーティクル毎に、脚式ロボット100からの測定方向を参照しながら、ガウス関数に基づいて計算されるθ2の観測確率PCOMを計算する。同様に、設定部55Mは、パーティクル毎に、脚式ロボット100からの障害物までの測定距離を参照しながら、ガウス関数に基づいて計算されるX1やY2の観測確率PDISを計算する。ここで、設定部55Mは、パーティクル毎に、各種センサにて取得されるデータがセンサの許容範囲内である場合と許容範囲外である場合とでそれぞれ所定の確率POUTを計算する。このように、設定部55Mは、パーティクル毎に、かつセンサ毎に、このような観測確率を計算する。
計算部55Nは、それぞれのパーティクルの仮想位置(X2,Y2)と重みW2とに基づいて脚式ロボット100の現在位置(X,Y)を計算する。すなわち、計算部55Nは、それぞれのパーティクルの仮想位置(X2,Y2)を対応する重みW2に基づいて加重平均することによって、脚式ロボット100の現在位置(X,Y)を計算する。
計算部55Nは、それぞれのパーティクルの仮想方向θ2と重みW2とに基づいて脚式ロボット100の現在方向θを計算する。すなわち、計算部55Nは、それぞれのパーティクルの仮想方向θ2を対応する重みW2に基づいて加重平均することによって、脚式ロボット100の現在方向θを計算する。
このようにして、パーティクル取得部55Lと、設定部55Mと、計算部55Nとは、第2の位置取得部を構成する。第2の位置取得部は、パーティクルフィルタを用いることによって、前回の現在位置と測定位置と測定方向と測定距離と地図データとに基づいて、脚式ロボット100の現在位置を計算する。すなわち、第2の位置取得部は、前回の現在位置と測定方向と測定距離と地図データ57Aとに基づいて、超音波受信機41から受信したデータから得られた測定位置を補正することによって、測定位置よりも正確な現在位置を取得する。
経路生成部55Pは、地図データ57Aを参照して、各種アルゴリズムに沿って現在位置と目的地点とに基づき脚式ロボット100の移動経路を生成する。より詳細には、経路生成部55Pは、現在位置から目的地点との間に、複数の副目的地点(以下サブゴールと呼ぶ)を設定する。サブゴールは、脚式ロボット100が1つの回転動作および前進動作によって到達できるポイントに相当する。
経路生成部55Pと命令生成部55Qによる脚式ロボット100のナビゲーションの目的は、脚式ロボット100を現在の位置からユーザによって指定された目的地点へと移動させることである。目的地点が現在位置から離れている場合、ロボットは1つの移動動作では目的地点に到着することができない可能性が高く、目的地点へ到着するためにはいくつかの動作ステップを組み合わせたアルゴリズムが必要となる。この機能は、通常2つの段階を経て実行される。まず、ナビゲーションの第1の段階として、経路生成部55Pは、現在の位置から目的地点までの経路を生成する。より詳細には、経路生成部55Pは、目的地点への経路を生成し、目的地点へ到着するために脚式ロボット100が通過すべき連続したサブゴールのリストを生成する。
命令生成部55Qは、移動経路と現在位置とに基づいて移動命令を生成する。たとえば、命令生成部55Qは、移動経路と現在位置とに基づいて、「肩を○度開く」旨の要求や「○歩前進する」旨の要求を生成し、当該要求を送受信部59Aを介して脚式ロボット100に送信する。命令生成部55Qは、脚式ロボット100がサブゴールを順番に通過するように動作命令を生成する。以下では、命令生成部55Qにおける、脚式ロボット100に対する動作命令を生成する機能について詳述する。
すなわち、ナビゲーションの第2の段階として、命令生成部55Qは、経路計画の最初のサブゴールに達するために行なうべきアクションを決定する。サブゴールに到達したとき、脚式ロボット100は最終目的地点に到達するまで、次のサブゴールに対して同じ処理を繰り返す。目的地点へ移動する間に、脚式ロボット100の現在位置は予定された位置とは異なってゆく可能性がある。あるいは、ロボットが移動する経路上に障害物が現れる可能性もある。その場合、ロボットは目的地点への新しい経路を計画し直さなければならない。
ここで、命令生成部55Qは、目的地点に近づくために以下の4つの動作パターンを使用する。すなわち、命令生成部55Qは、(1)各ステップの直進前進移動、(2)各ステップの右カーブ前進移動、(3)各ステップの左カーブ前進移動、(4)各ステップの回転運動のうちから、最も動作効率が良い動作パターンを選択する。動作効率が良い動作パターンとは、脚式ロボット100が次のサブゴールに到着するまで必要とする動作ステップ数などが少ないものをいう。すなわち、命令生成部55Qは、右カーブ前進するか、右旋回したのちに直進するか、いずれが脚式ロボット100にとって効率的な動作となるかを判断した上で、移動方向(肩の開き具合)や歩数などを決定する。
送受信部59Aは、通信インターフェイス59などによって実現される。送受信部59Aは、LANを介して脚式ロボット100から、測定距離や測定方向などに関するデータを受信して、当該データを設定部55Mに渡す。
一般的に、脚式ロボット100を目的地点まで移動させるためには、動的重心の軌道に基づいて足裏の着地位置を一歩ごとに計画し、関節を制御することによって精度よく着地させる方法が用いられている。しかしながら、この場合には、精密なハードウェア構成と高度な運動制御手法が必要となる(たとえば、特開2008−49458号公報、特開2004−209562号公報など)。
本実施の形態に係る脚式ロボットの制御システム1は、このような問題点を解消したものであって、シンプルなハードウェアおよびソフトウェア構成でありながら、脚式ロボット100が目的地点まで移動することが可能なものである。より詳細には、本実施の形態に係る脚式ロボットの制御システム1においては、動的重心軌道に基づいた足裏の着地位置計画を行わない。また、本実施の形態に係る脚式ロボットの制御システム1は、目的地点までの経路を生成するとともにサブゴールを設定し、至近のサブゴールに一定の尤度内で到達できるよう経路追従を行う。また、本実施の形態に係る脚式ロボットの制御システム1は、直進、旋回、円弧の3種類の動作を、歩数単位で実行できる機能を有しており、現在位置と計画した移動経路上のサブゴールとの位置関係に基づいて最適な動作(移動方向や歩数など)を決定するものである。加えて、本実施の形態に係る脚式ロボットの制御システム1は、上記の動作をサブゴール毎に連続して実行することにより、滑らかで精度の高い目的地点までの移動が可能である。
つまり、本実施の形態に係る脚式ロボットの制御システム1は、足先の着地位置の計画が不要であり、自己位置が目的地点から外れた場合であってもそれを許容することができるとともに、脚式ロボット100が目的地点まで精度よく移動することができる。
<現在位置取得処理>
図10は、サーバ装置50における現在位置取得処理の処理手順を示すフローチャートである。図10に示すように、まず、CPU55は、脚式ロボット100から脚式ロボット100が移動した旨のデータを受信したか否かを判断する(ステップS102)。脚式ロボット100から移動した旨のデータを受信した場合(ステップS102にてYESの場合)、CPU55は、前回の現在位置が記憶部57S(パーティクルファイル57Bあるいは現在情報ファイル57C)に格納されているか否か、すなわち当該移動前に現在位置(X1,Y1)が計算されているか否かを判断する(ステップS106)。
図10は、サーバ装置50における現在位置取得処理の処理手順を示すフローチャートである。図10に示すように、まず、CPU55は、脚式ロボット100から脚式ロボット100が移動した旨のデータを受信したか否かを判断する(ステップS102)。脚式ロボット100から移動した旨のデータを受信した場合(ステップS102にてYESの場合)、CPU55は、前回の現在位置が記憶部57S(パーティクルファイル57Bあるいは現在情報ファイル57C)に格納されているか否か、すなわち当該移動前に現在位置(X1,Y1)が計算されているか否かを判断する(ステップS106)。
一方、サーバ装置50が脚式ロボット100から移動した旨のデータを受信しない場合(ステップS102にてNOの場合)、CPU55は、前回の現在位置を取得したときから所定時間が経過したか否かを判断する(ステップS104)。前回の現在位置を取得したときから未だ所定時間が経過していない場合(ステップS104にてNOの場合)、CPU55はステップS102からの処理を繰り返す。一方、前回の現在位置を取得してから所定時間が経過している場合(ステップS104にてYESの場合)、CPU55はステップS106からの処理を実行する。
前回の現在位置が記憶部57Sに格納されている場合(ステップS106にてYESの場合)、CPU55は、パーティクルのリサンプリングを行う(ステップS108)。すなわち、CPU55は、パーティクルファイル57Bに格納されている各パーティクルのX座標X1、Y座標Y1、角度(方向)θ1にノイズを付与し、ノイズが付与されたデータX2、Y2、θ2をパーティクルファイル57Bに格納する。
そして、CPU55は、各種センサから取得されるデータ、たとえば、超音波受信機41から得られる測定位置や、ジャイロセンサ109から得られる測定方向、測距センサ106から得られる測定距離などに基づいて、各パーティクルの測定確率(発生確率)を計算することによって、各パーティクルに重み付けを行う(ステップS200)。重み付け処理(ステップS200)については後述する。
CPU55は、各パーティクルのノイズ付与後のX座標X2、Y座標Y2、角度θ2に重みW2を乗じることによって、X座標、Y座標、角度θの荷重平均値(X,Y,θ)を求める(ステップS112)。
一方、前回の現在位置が記憶部57Sに格納されていない場合(ステップS106にてNOの場合)、CPU55は、超音波受信機41からのデータに基づいて、脚式ロボット100の測定位置を取得する(ステップS114)。そして、CPU55は、測定位置を取得できた場合(ステップS116にてYESである場合)にはステップS108からの処理を実行し、測定位置が取得できない場合(ステップS116にてNOである場合)にはステップS102からの処理を実行する。
<重み付け処理>
図11は、サーバ装置50における重み付け処理の処理手順を示すフローチャートである。図11に示すように、ここでは、M個のセンサを用いるとともに、N個のパーティクルを利用することによって、現在位置と現在方向とを取得する場合について説明する。
図11は、サーバ装置50における重み付け処理の処理手順を示すフローチャートである。図11に示すように、ここでは、M個のセンサを用いるとともに、N個のパーティクルを利用することによって、現在位置と現在方向とを取得する場合について説明する。
まず、CPU55は、1つ目のパーティクルについて、1つ目のセンサで得られたデータに基づいて(ステップS202)、観測確率を計算する(ステップS204〜S206)。より詳細には、CPU55は、たえば測距センサ106からの測定距離などを示すデータを取得して(ステップS204)、対象パーティクルのX座標とY座標と地図データとから、現在位置が対象パーティクルの座標に一致する場合に測定距離が測定される確率を計算する(ステップS206)。
CPU55は、次のセンサについての処理に進み(ステップS208)、次のセンサがある場合(ステップS210にてNOである場合)、ステップS204からの処理を繰り返す。一方、CPU55は、各パーティクルについて次のセンサがない場合(ステップS210にてYESの場合)、各パーティクルに係る観測確率を全て乗算することによって当該パーティクルに係る観測確率を計算する(ステップS212)。
CPU55は、次のパーティクルについての処理に進み(ステップS214)、次のパーティクルがある場合(ステップS216にてNOである場合)、ステップS204からの処理を繰り返す。一方、CPU55は、次のパーティクルがない場合(ステップS216にてYESである場合)、それぞれのパーティクルに係る観測確率の合計が「1」となるように、それぞれのパーティクルに係る観測確率を正規化する(ステップS218)。
[その他の実施の形態]
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
本発明に係るプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記憶された記憶媒体とを含む。
さらに、本発明に係るプログラムによって実現される機能の一部または全部を専用のハードウェアによって構成してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、20 マイクアレイ用環境サーバ、21 外部マイクロフォンアレイ、30 セキュリティサーバ、31 セキュリティセンサ、40 超音波用環境サーバ、41 超音波受信機、49 アクセスポイント、50 サーバ装置、52 ディスプレイ部、53 キーボード、53A 入力部、54 マウス、55A メイン処理部、55B 位置取得部、55C 経路追従部、55D セキュリティ部、55E 音声認識部、55F 人検知部、55G 顔認識部、55H 音声受信部、55J コマンド受信部、55K 方位データ受信部、55L パーティクル取得部、55M 設定部、55N 計算部、55P 経路生成部、55Q 命令生成部、56 メモリ、57 固定ディスク、57A 地図データ、57B パーティクルファイル、57C 現在情報ファイル、57S 記憶部、58 内部バス、59 通信インターフェイス、59A 送受信部、65 表示部インターフェイス、100 脚式ロボット、101 頭部、102 胴部、103 脚部、104 方位センサ、104A 方位取得部、105 人感センサ、106 測距センサ、106A 距離取得部、107 モータコントロールボード、108 アクチュエータ、108A 移動機構、109 ジャイロセンサ、109 1軸ジャイロセンサ、110 3軸加速度センサ、111 バッテリ電源、112 バッテリ電源、113 画像送信ユニット、114 超音波発信タグ、114A 発信部、115 カメラ、116 スピーカ、117 マイク、118 LAN用ハブ、119 無線LAN子機、119A 送受信部、121 センサコントロールユニット、200 家屋。
Claims (7)
- 移動体の動作を制御するための移動体制御システムであって、
前記移動体は、
前記移動体を移動させる移動機構と、
前記移動体の測定向きを取得する方位取得手段と、
音波および電波の少なくともいずれかを発信する発信手段と、
前記移動体周辺の障害物までの測定距離を取得する距離取得手段とを含み、
前記障害物の位置を示す地図データを格納する記憶手段と、
前記音波および電波の少なくともいずれかに基づいて、前記移動体の測定位置を計算する第1の位置取得手段と、
前記測定位置と前記測定向きと前記測定距離と前記地図データとに基づいて、前記移動体の現在位置を計算する第2の位置取得手段とを備える、移動体制御システム。 - 前記第2の位置取得手段は、
パーティクルフィルタを用いることによって、前回の現在位置にさらに基づいて、前記移動体の現在位置を計算する、請求項1に記載の移動体制御システム。 - 前記第2の位置取得手段は、
前記移動体の仮想位置を示す複数のパーティクルを取得するパーティクル取得手段と、
前記測定位置と前記測定距離と前記地図データとに基づいて、前記パーティクルの各々に重みを設定する設定手段と、
それぞれの前記パーティクルの前記仮想位置と前記重みとに基づいて、前記移動体の現在位置を計算する計算手段とを含む、請求項2に記載の移動体制御システム。 - 前記第2の位置取得手段は、
前記移動体の仮想位置および仮想向きを示す複数のパーティクルを取得するパーティクル取得手段と、
前記測定位置と前記測定距離と前記地図データと前記測定向きとに基づいて、各前記パーティクルに重みを設定する設定手段と、
それぞれの前記パーティクルの前記仮想位置と前記重みとに基づいて前記移動体の現在位置を計算し、それぞれの前記パーティクルの前記仮想向きと前記重みとに基づいて前記移動体の現在向きを計算する計算手段とを含む、請求項2に記載の移動体制御システム。 - 目的地点を受け付ける手段と、
前記地図データを参照して、前記現在位置と前記目的地点とに基づき前記移動体の移動経路を生成する経路生成手段と、
前記移動経路と前記現在位置とに基づいて、移動方向および歩数を含む動作命令を生成する動作命令生成手段とをさらに備え、
前記移動機構は、前記動作命令に基づいて前記移動体を移動させることによって、移動体を前記移動経路に追従させる、請求項1から4のいずれか1項に記載の移動体制御システム。 - 前記移動体は、脚式ロボットであって、
前記移動機構は、歩行可能な複数の脚部を含む、請求項1から5のいずれか1項に記載の移動体制御システム。 - 移動体に接続可能なサーバにおいて前記移動体の動作を制御するための移動体制御方法であって、
前記移動体は、
前記移動体を移動させる移動機構と、
前記移動体の測定向きを取得する方位取得手段と、
音波および電波の少なくともいずれかを発信する発信手段と、
前記移動体周辺の障害物までの測定距離を取得する距離取得手段とを含み、
前記サーバ装置は、
前記障害物の位置を示す地図データを格納する記憶部と、
演算処理部とを含み、
前記移動体制御方法は、
前記演算処理部が、前記音波および電波の少なくともいずれかに基づいて、前記移動体の測定位置を取得するステップと、
前記演算処理部が、前記測定位置と前記測定向きと前記測定距離と前記地図データとに基づいて、前記移動体の現在位置を計算するステップと、
前記演算処理部が、目的地点を受け付けるステップと、
前記演算処理部が、前記地図データを参照して、前記現在位置と前記目的地点とに基づき前記移動体の移動経路を生成するステップと、
前記演算処理部が、前記移動経路と前記現在位置とに基づいて、移動方向および歩数を含む動作命令を生成するステップと、
前記移動機構が、前記動作命令に基づいて前記移動体を移動させることによって、前記移動体を前記移動経路に追従させるステップとを備える、移動体制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008168860A JP2010009370A (ja) | 2008-06-27 | 2008-06-27 | 移動体制御システムおよび移動体制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008168860A JP2010009370A (ja) | 2008-06-27 | 2008-06-27 | 移動体制御システムおよび移動体制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010009370A true JP2010009370A (ja) | 2010-01-14 |
Family
ID=41589777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008168860A Withdrawn JP2010009370A (ja) | 2008-06-27 | 2008-06-27 | 移動体制御システムおよび移動体制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010009370A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012035707A1 (ja) * | 2010-09-17 | 2012-03-22 | 国立大学法人東京工業大学 | 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置 |
JP2016520944A (ja) * | 2013-06-03 | 2016-07-14 | コントロールワークス プライベート リミテッド | ロボットデバイスのオフボードナビゲーションの方法及び装置 |
-
2008
- 2008-06-27 JP JP2008168860A patent/JP2010009370A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012035707A1 (ja) * | 2010-09-17 | 2012-03-22 | 国立大学法人東京工業大学 | 地図生成装置、地図生成方法、移動体の移動方法、及びロボット装置 |
US9224043B2 (en) | 2010-09-17 | 2015-12-29 | Tokyo Institute Of Technology | Map generation apparatus, map generation method, moving method for moving body, and robot apparatus |
JP2016520944A (ja) * | 2013-06-03 | 2016-07-14 | コントロールワークス プライベート リミテッド | ロボットデバイスのオフボードナビゲーションの方法及び装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI827649B (zh) | 用於vslam比例估計的設備、系統和方法 | |
JP4516592B2 (ja) | 移動型ロボット | |
JP3945279B2 (ja) | 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置 | |
Chen | Kalman filter for robot vision: a survey | |
CN109813319B (zh) | 一种基于slam建图的开环优化方法及*** | |
JP3994950B2 (ja) | 環境認識装置及び方法、経路計画装置及び方法、並びにロボット装置 | |
WO2004052597A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
Treuillet et al. | Outdoor/indoor vision-based localization for blind pedestrian navigation assistance | |
JP5276931B2 (ja) | 移動体および移動体の位置推定誤り状態からの復帰方法 | |
JP2008158868A (ja) | 移動体、及びその制御方法 | |
KR20120046974A (ko) | 이동 로봇 및 이동 로봇의 위치인식 및 지도작성 방법 | |
US10197399B2 (en) | Method for localizing a robot in a localization plane | |
KR20130073476A (ko) | 이동 장치 및 이동 장치의 위치 인식 방법 | |
WO2004018159A1 (ja) | 環境同定装置及び環境同定方法、並びにロボット装置 | |
JP5298741B2 (ja) | 自律移動装置 | |
JP7259274B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2011209203A (ja) | 自己位置推定装置および自己位置推定方法 | |
TWI772743B (zh) | 資訊處理裝置以及移動機器人 | |
US12032377B2 (en) | Mobility aid robot navigating method and mobility aid robot using the same | |
JP2010009371A (ja) | 移動ロボットおよび移動ロボット制御システム | |
Zhang et al. | Human-robot interaction for assisted wayfinding of a robotic navigation aid for the blind | |
JP2009178782A (ja) | 移動体、環境地図生成装置、及び環境地図生成方法 | |
JP2010009370A (ja) | 移動体制御システムおよび移動体制御方法 | |
Hollinger et al. | Target tracking without line of sight using range from radio | |
JP2004209562A (ja) | 移動ロボット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |