JP2004298977A - 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 - Google Patents
行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 Download PDFInfo
- Publication number
- JP2004298977A JP2004298977A JP2003092350A JP2003092350A JP2004298977A JP 2004298977 A JP2004298977 A JP 2004298977A JP 2003092350 A JP2003092350 A JP 2003092350A JP 2003092350 A JP2003092350 A JP 2003092350A JP 2004298977 A JP2004298977 A JP 2004298977A
- Authority
- JP
- Japan
- Prior art keywords
- landmark
- map
- robot device
- unit
- action
- 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
- 230000009471 action Effects 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims description 30
- 230000033001 locomotion Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims description 2
- 230000002567 autonomic effect Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 75
- 238000010586 diagram Methods 0.000 description 33
- 230000008451 emotion Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 28
- 238000006243 chemical reaction Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 23
- 230000007704 transition Effects 0.000 description 20
- 239000011159 matrix material Substances 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 16
- 210000002414 leg Anatomy 0.000 description 15
- 238000000605 extraction Methods 0.000 description 11
- 244000145841 kine Species 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 8
- 210000004394 hip joint Anatomy 0.000 description 8
- 230000015654 memory Effects 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 210000000544 articulatio talocruralis Anatomy 0.000 description 6
- 210000002683 foot Anatomy 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 210000002310 elbow joint Anatomy 0.000 description 5
- 210000003857 wrist joint Anatomy 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 210000000323 shoulder joint Anatomy 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 210000000245 forearm Anatomy 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 3
- 210000000629 knee joint Anatomy 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 210000001364 upper extremity Anatomy 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000036528 appetite Effects 0.000 description 2
- 235000019789 appetite Nutrition 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 210000001624 hip Anatomy 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 210000003141 lower extremity Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000037237 body shape Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008961 swelling Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/0088—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Abstract
【課題】ランドマークを用いてロボット装置の行動範囲を簡便に制約することができる行動制御装置を提供する。
【解決手段】ランドマーク認識部410は、ランドマークを一意に認識し、ランドマークの位置情報rPo(x、y、z)を得る。ランドマーク地図作成部420は、ランドマーク認識部410が送ってきた全てのランドマーク位置情報rPo(x、y、z)を統合し、ランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。行動可能領域認識部430は、ランドマーク地図情報rPo×Nを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動制御部440は、行動可能領域認識部430から送られた行動可能領域地図を用いて、ロボット装置1が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。
【選択図】 図5
【解決手段】ランドマーク認識部410は、ランドマークを一意に認識し、ランドマークの位置情報rPo(x、y、z)を得る。ランドマーク地図作成部420は、ランドマーク認識部410が送ってきた全てのランドマーク位置情報rPo(x、y、z)を統合し、ランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。行動可能領域認識部430は、ランドマーク地図情報rPo×Nを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動制御部440は、行動可能領域認識部430から送られた行動可能領域地図を用いて、ロボット装置1が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は行動制御装置及び行動制御方法に関し、特に移動型ロボット装置に適用されて当該移動型ロボット装置が床面上の物体を認識しながら移動するための行動制御装置、行動制御方法及び行動制御プログラムに関する。また、床面上の物体を認識しながら自律的に移動する移動型ロボット装置に関する。
【0002】
【従来の技術】
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット等の産業用ロボット(Industrial Robot)であった。
【0003】
最近では、人間のパートナーとして生活を支援する、即ち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように4足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット、或いは、2足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット(Humanoid Robot)等のロボット装置は、既に実用化されつつある。
【0004】
これらのロボット装置は、産業用ロボットと比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【0005】
ところで、前記産業用ロボットには、特開平6−226683号公報等に開示されているように、建築現場や工場の中にて敷設されたラインや磁気情報を用いて行動範囲を認識し、作業を行ういわゆる作業ロボットが用いられている。また、工場の中において予め与えられた環境地図を用いて、許可された領域内だけで作業を行う作業ロボットも用いられている。
【0006】
【特許文献1】
特開平6−226683号
【0007】
【発明が解決しようとする課題】
しかしながら、前記特許文献1等に記載の作業ロボットは、既知の地図情報等に基づくタスク遂行型ロボットであり、いずれも自律的に行動しているものではない。
【0008】
また、例えば、建築現場や工場内にて前記作業ロボットの移動領域等の変更に備え、ラインの敷設や磁気情報を変更するには、変更の作業に時間と労力が必要になる。特に規模が大きい工場などでは敷設の変更作業は面倒である。また、工場内では、自由度が少ない。
【0009】
これに対して、自律型ロボット装置において、自身の周りの環境を認識して障害物等を判断し、それに応じて移動する能力は言うまでもなく重要である。
【0010】
本発明は、前記実情に鑑みてなされたものであり、自律的に移動する移動型ロボット装置にあって、ランドマークを用いて前記ロボット装置の行動範囲を簡便に制約することができる行動制御装置、行動制御方法及び行動制御プログラムの提供を目的とする。また、ランドマークを用いて行動範囲を簡便に制約することができる移動型ロボット装置の提供を目的とする。
【0011】
【課題を解決するための手段】
本発明に係る行動制御装置は、前記課題を解決するために、移動型ロボット装置の行動を制御する行動制御装置において、離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【0012】
本発明に係る行動制御方法は、前記課題を解決するために、移動型ロボット装置の行動を制御するための行動制御方法において、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備える。
【0013】
本発明に係る行動制御プログラムは、前記課題を解決するために、移動型ロボット装置によって実行されてその行動を制御するための行動制御プログラムにおいて、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備えてなる。
【0014】
本発明に係る移動型ロボット装置は、前記課題を解決するために、頭部ユニットと、少なくとも1以上の可動脚ユニットと、情報処理手段を有する胴体ユニットとを備えてなり、床面上の物体を認識しながら前記可動脚ユニットを用いて床面を移動する移動型ロボット装置において、前記床面上に離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【0015】
本発明において、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0016】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。この実施の形態は、本発明に係る行動制御装置を適用した移動型ロボット装置である。行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0017】
このような行動制御装置を搭載する移動型ロボット装置としては、エンターテインメント用等の例えばヒューマノイド型の2足歩行のロボット装置、及び、4足歩行の動物型ロボット装置等を使用することができる。また、いずれかの足又は全ての足に車輪を設け、電動にて自走するロボット装置を使用することもできる。
【0018】
例えば、2足歩行のロボット装置としては、図1に示すように、ロボット装置1の体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されるものがある(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。また、4足歩行の動物型ロボット装置としては、「犬」を模した形状のいわゆるペットロボットとされる図2に示すようなものがある。このロボット装置11は、胴体部ユニット12の前後左右にそれぞれ脚部ユニット13A,13B,13C,13Dが連結されると共に、胴体部ユニット12の前端部及び後端部にそれぞれ頭部ユニット14及び尻尾部ユニット15が連結されて構成されている。
【0019】
これらのロボット装置は、何れも頭部ユニットにCCD(charge coupled device)/CMOS(complementary metal−oxide semiconductor)撮像素子を用いた小型カメラを視覚センサとして有しており、離散的に配置された人工的な目印であるランドマークを画像処理により検出し、ロボット装置に対する相対的なランドマークの位置を獲得することができる。本実施の形態では、これをランドマークセンサとして使用する。以下、本実施の形態においては、本発明を、ヒューマノイド型の2足歩行のロボット装置に適用した例について説明する。
【0020】
図3は、2足歩行のロボット装置の概略を示すブロック図である。図3に示すように、ロボット装置1の頭部ユニット250には、2台のCCDカメラ200R,200Lが設けられ、このCCDカメラ200R,200Lの後段には、ステレオ画像処理装置210が設けられている。2台のCCDカメラ(以下、右目200R、左目200Lという。)により撮像された右目画像201R、左目画像201Lは、ステレオ画像処理装置210に入力される。ステレオ画像処理装置210は、各画像201R,201Lの視差情報(disparity data)(距離情報)を計算し、カラー画像(YUV:輝度Y、UV色差)202及び視差画像(YDR:輝度Y、視差D、信頼度R)203をフレーム毎に左右交互に算出する。ここで、視差とは、空間中のある点が左目及び右目に写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
【0021】
このカラー画像202及び視差画像203はロボット装置1の体幹部260に内蔵されたCPU(制御部)220に入力される。また、ロボット装置1の各関節にはアクチュエータ230が設けられており、CPU220からの指令となる制御信号231が供給されて、その指令値に応じてモータを駆動する。各関節(アクチュエータ)には、ポテンショメータが取り付けられ、その時のモータの回転角がCPU220に送られる。このアクチュエータに取り付けられたポテンショメータ、足底に取り付けられたタッチセンサ及び体幹部に取り付けられたジャイロ・センサ等の各センサ240は、現在の関節角度、設置情報、及び姿勢情報等の現在のロボット装置の状態を計測し、センサデータ241としてCPU220へ出力する。CPU220は、ステレオ画像処理装置210からのカラー画像202及び視差画像203と、アクチュエータの全ての関節角度等のセンサデータ241とが入力され、これらデータが後述するソフトウェアにより処理され、様々な動作を自律的に行うことが可能となる。
【0022】
図4は、本実施の形態におけるロボット装置を動作させるソフトウェアの構成を示す模式図である。本実施の形態におけるソフトウェアは、オブジェクト単位で構成され、ロボット装置の位置、移動量、周囲の障害物、ランドマーク、ランドマーク地図、行動可能領域等を認識し、ロボット装置が最終的に取るべき行動についての行動列を出力する各種認識処理等を行うものである。なお、ロボット装置の位置を示す座標として、例えば、ランドマーク等の特定の物体等を座標の原点としたワールド基準系のカメラ座標系(以下、絶対座標ともいう。)と、ロボット装置自身を中心(座標の原点)としたロボット中心座標系(以下、相対座標ともいう。)との2つの座標を使用する。
【0023】
オブジェクト同士は、非同期に通信し合うことで、システム全体が動作する。各オブジェクトはメッセージ通信と共有メモリを使用したオブジェクト間通信方法によりデータの受け渡し及びプログラムの起動(Invoke)を行っている。図4に示すように、本実施の形態におけるロボット装置のソフトウェア300は、ロボット装置の移動量を算出する移動量算出手段(キネマティックオドメトリ(Kinematics Odometry))KINE310、環境内の平面を抽出する平面抽出部(Plane Extractor)PLEX320、環境内の障害物を認識する障害物グリッド算出部(Occupancy Grid)OG330、人工的なランドマークを含む環境において、自身のセンサ情報及び移動量算出手段から供給される自身の動作情報によって、ロボット装置の自己位置(位置及び姿勢)や、後述のランドマークの位置情報を特定するランドマーク位置検出部(Landmark Sensor)CLS340、ロボット中心座標を絶対座標に変換する絶対座標算出部(Localization)LZ350及びロボット装置の取るべき行動を決定する行動決定部(Situated behavior Layer)SBL360から構成され、各オブジェクト単位にて処理がなされる。なお、ランドマーク位置検出部(Landmark Sensor)CLS340は、後述のランドマーク認識部410と同様のものである。
【0024】
ロボット装置に適用されることにより行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。ロボット装置を自律的に動作させる詳細な説明、並びにロボット装置の構成及び動作に関する詳細な説明は後述する。
【0025】
ロボット装置1に搭載される行動制御装置の機能的な構成図を図5に示す。この行動制御装置はCPU220内にて構成される。行動制御装置は、機能的に、ランドマークを認識するランドマーク認識部410と、ランドマーク地図を作成するランドマーク地図作成部420と、行動可能領域地図を作成する行動可能領域認識部430と、ロボット装置の自律的な行動を制御する行動制御部440とを備えている。
【0026】
この行動制御装置を適用することにより、ロボット装置1は、先ず、ランドマーク認識部410によって、ランドマークを認識する。ランドマークは図6に示すように、例えば紫部分1001、黄部分1002、又はピンク部分1003等を用いて、同心円上に2色に塗り分けた色の組み合わせよって構成されている。ランドマーク1004aは、内周円を黄部分1002、外周を紫部分1001としている。ランドマーク1004bは、内周円を紫部分1001、外周を黄部分1002としている。ランドマーク1004cは、内周円をピンク部分1003、外周を紫1001としている。ランドマーク1004dは、内周円を黄部分1002、外周をピンク部分1003としている。よって、これら各ランドマークは、2色の組み合わせによって一意に識別可能とされる。
【0027】
なお、ランドマークは、三角、四角、丸の3つの形状の幾何学パターンに赤、青、黄、及び緑の4つの色を使用し、これらの形状及び色を組み合わせることにより、一意に特定可能(unique)な複数種のランドマークを得ることができる。四角形、円形、三角形の幾何学パターンを配置し、各パターンの位置関係を固定して配置して、各パターンの色を4色、組み合わせることによって、例えば合計24種類のランドマークを作成できる。このように、複数の幾何学パターンの位置関係及び配色により、異なるランドマークを形成することができる。
【0028】
ランドマーク認識部410は、ランドマークを一意に認識し、ランドマークの位置情報rPo(x、y、z)を得る。環境内のランドマークを可能な限り発見するために、ロボット装置1は、発見した全てのランドマークを訪問して歩いていく。先ず、環境内のある地点からスタートし、ランダムに歩き回り、そこで周りを360度見渡す。そこで発見したランドマークを訪問待ち行列とする。次に、訪問待ち行列から一つを選んで、そのランドマークまで歩いていき、ランドマークに到達したら訪問待ち行列からそのランドマークを削除し、ランドマーク付近で周りを全て見渡し、新しいランドマークを発見する。新しく発見されたランドマークは、訪問待ち行列に追加する。これを繰り返して、訪問待ち行列が空になるまでランドマークを訪問して歩く。他のどのランドマークからも観測不可能なランドマークがない場合は、このような戦略で環境内の全てのランドマークを発見することができる。
【0029】
本実施の形態においては、ロボット装置は、形状及び/又は色等により異なる複数の人工的なランドマークが存在する一意に特定可能な環境内のランドマークを前述したような手法で訪問しながらランドマーク認識部410にて得た位置情報rPo(x、y、z)をランドマーク地図作成部420に送る。
【0030】
ランドマーク地図作成部420は、ランドマーク認識部410が全てのランドマークを認識して送ってきた全てのランドマーク位置情報rPo(x、y、z)を統合し、それらのランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。詳細には、ランドマーク認識部410によって認識されたランドマークの位置情報rPo(x、y、z)と、ロボット自身のオドメトリ情報を統合し、ランドマークの幾何学的な配置を推定し、これをランドマーク地図とする。そして、ランドマーク地図情報rPo×Nを行動可能領域認識部430に送る。
【0031】
行動可能領域認識部430は、ランドマーク地図情報rPo×Nを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動可能領域地図は、グリッドセル又は多角形を指定する情報からなる。この行動可能領域地図は、行動制御部440に送られる。
【0032】
行動制御部440は、行動可能領域認識部430から送られた行動可能領域地図を用いて、ロボット装置1が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。
【0033】
以下には、新たに図7も参照して前記各部よりなる行動制御装置の詳細な動作について説明する。図7は前記各部410,420,430,440よりなる行動制御装置を搭載したロボット装置1が行動可能領域内を自律的に行動するまでの模様を段階的に示す。
【0034】
上述したように、図3に示すCCDカメラ200L,200Rによって取り込まれた映像は、ステレオ画像処理部210に入力され、左右画像201R,201Lの視差情報(距離情報)からカラー画像(YUV)202及び視差画像(YDR)203が算出されてCPU220に入力される。また、ロボット装置1に複数個設けられた各センサからのセンサデータ240も入力される。これらの視差情報及び視差画像からなる画像データ301と、センサデータ302とが移動量算出手段KINEに入力される。
【0035】
移動量算出手段KINEは、画像データ301及びセンサデータ302からなる入力データに基づいてロボット中心座標系の移動量(オドメトリ)を算出する。また、ランドマーク認識部410は、CCDカメラ200L,200Rによって観測されたランドマークのカラー画像(YUV)202及び視差画像(YDR)203からランドマークを認識する。つまり、ランドマーク認識部410は、前記画像により、色を認識し、その組み合わせによってランドマークを特定する。次に、前記画像におけるランドマークの大きさによって、ロボット装置からランドマークまでの距離の推定を行い、ロボットの関節各情報と統合することによってランドマーク位置を推定し、ランドマーク位置情報を出力する。このようにして、ロボット装置1は、ランドマーク認識部410によりランドマーク1004を認識する毎にランドマークの位置情報(Landmark Information)生成し(図7(A))、ランドマーク地図作成部420に送る。また、ロボット装置は、自身の姿勢方向を検出し、移動量と共に姿勢方向を示す情報をランドマーク地図作成部420に供給する。
【0036】
ランドマーク地図作成部420は、ランドマーク位置情報及びロボット装置の移動量及び姿勢方向を示す情報(ロボット自身のオドメトリ情報)を統合し、ランドマークの幾何学的な配置を推定し、ランドマーク地図(Landmark Map)を作成する(図7(B))。
【0037】
そして、ロボット装置1は、行動可能領域認識部430により、ランドマーク地図情報を用いて、ロボットが行動可能な範囲である行動可能領域地図(Mobility Map)を作成する(図7(C))。この行動可能領域地図内から外にでないようにロボット装置1は行動制御部440の制御により自律的に行動する。
【0038】
ところで、行動可能領域認識部430は、ランドマーク地図作成部420により作成されたランドマーク地図を用いて行動領域を求める際に、例えば凸包、領域法、ポテンシャル場という3つのアルゴリズムのいずれかを用いる。
【0039】
このうち、凸包の代表的なアルゴリズムである、凸装アルゴリズム(package wrapping algorithm)の流れを図8を参照して以下に説明する。始めに、ステップS1として、全てのランドマークの二次元座標をPn=(x,y)(n=0,1,2,,,N)とする(図8の(1))。次にステップS2として、紙面縦方向で底辺からのynが最小の点pnをAとし、Aから水平に直線AOを引く(図8の(2))。次にステップS3として、点AからAを除く全てのPnに対して直線APnを引き、直線APnとAOのなす角が最小の点をBとする(図8の(2))。次にステップS4として点BからA,Bを除く全てのPnに対して直線BPnを引き、直線BPnとABのなす角が最小の点をCとする(図8の(3))。そして、点Aに戻ってくるまでステップS4を繰り返し、行動可能領域地図を求める(図8の(4))。
【0040】
図9には、凸包によって作成された行動可能領域地図の具体例を示す。ランドマークが2個、3個、4個、5個であり、多角形の頂点をなす場合には、図9の(A)、(B)、(C)、(D)に示すように、各ランドマークを包むように行動可能領域地図を作成する。また、図9の(E)や(F)に示すように、ランドマークが多角形の内部にも包まれるように行動可能領域地図を作成することもある。また、全てのランドマークを外周の頂点として包みこむように作成してもよい。
【0041】
領域法による行動可能領域地図について図10を用いて説明する。ランドマークから半径r[m]の領域を行動範囲とする方法である。ランドマークが1個の場合には、図10の(A)のように1個のランドマークを中心とした半径rの領域内だけを行動可能領域とする。ランドマークが図10の(B)に示すように4個である場合には、各ランドマークの半径r[m]の各領域を重ねた行動可能領域となる。ランドマークの配置の仕方によっては図10の(C)に示すように、各領域を重ねた行動可能領域が略S字のようになる。
【0042】
ポテンシャル場による行動可能領域地図について図11を用いて説明する。各ランドマークから半径r[m]の領域を行動可能領域とする(図11の(A))。そして、ランドマークからの半径距離にしたがって増加するコストを定義する(図11の(B))。この結果、例えば図11の(C)に示すように外周に行くほどコストが高くなるような行動可能領域が設定できる。
【0043】
この他、行動領域の設定法としては、ロボット装置1の前方左右に位置する少なくとも二つのランドマークの結ぶ線よりもロボット側にS[m]という設定の方法をとってもよい。
【0044】
この行動領域認識部430は、行動領域地図作成時の行動領域設定法を、例えばランドマークの個数によって切り換える。もちろん、マニュアルでの設定の選択により切り換えることもできる。例えば、ランドマークの個数Nが1個であるときには、図12の(A)に示すように領域法で選択し、Nが2個であるときには、図12の(B)に示すように二つのランドマークを結ぶ線よりもロボット側にS[m]であり、二つのランドマークの幅という設定である。さらに、Nが2個以上の場合には、前記凸法を選択する。
【0045】
行動制御部440は、行動可能領域認識部430にて作成された行動可能領域地図に基づいてロボット装置1が例えば行動可能領域の外に出ないようにロボット装置1の自律的な行動を制御する。具体的に、行動制御部440は、障害物地図を作成し、その障害物地図に前記行動可能領域を作成するのに用いたランドマークを仮想障害物(Virtual Obstacle)として加え、その障害物地図内において、行動可能領域と判定した領域のみを移動するようにロボット装置の行動を制御する。
【0046】
障害物地図は、本件出願人による特願2002−073388号公報に開示されている障害物認識技術に基づいて作成される。以下に詳細を説明する。障害物認識装置は、図4に示した平面抽出部(Plane Extractor)PLEX320を実行したCPU220内にて構成される。図13に機能ブロック図を示すように、障害物認識装置221は、視差画像から距離画像を生成する距離画像生成部222と、距離画像から平面検出をして平面パラメータを算出する平面検出部223と、同時変換行列を座標変換する座標変換部224と、前記座標変換結果と前記平面パラメータから床面を検出する床面検出部225と、床面の平面パラメータから障害物を認識する障害物認識部226とを備えてなる。
【0047】
距離画像生成部222は、ロボット装置1に設けた二つのCCDカメラから得られた画像データに基づいて算出された視差画像と、ロボット装置1に設けた複数のセンサ手段から得られたセンサデータ出力とに基づいて二つのCCDカメラが配設された位置における前記視差画像に対応する同時変換行列を用いて距離画像を生成する。平面検出部223は、距離画像生成部222により生成された距離画像に基づいて平面パラメータを検出する。座標変換部224は、前記同時変換行列をロボット装置1の接地面での座標に変換する。床面検出部225は、平面検出部223からの平面パラメータと座標変換部224からの座標変換結果を用いて床面を検出し、その平面パラメータを障害物認識部226に供給する。障害物認識部226は、床面検出部225が検出した床面の平面パラメータを用いて床面に載っている点を選択し、この点に基づいて障害物を認識する。
【0048】
上述した如く、CCDカメラ200L,200Rによって取り込まれた映像は、ステレオ画像処理装置210に入力され、図14に具体的に示す左右画像201R,201Lの視差情報(距離情報)からカラー画像(YUV)202及び視差画像(YDR)203が算出されてCPU220に入力される。また、ロボット装置1に複数個設けられた各センサからのセンサデータ240が入力される。図4に示したように、これらの視差情報及び視差画像からなる画像データ301と、ロボット装置の関節角等のデータであるセンサデータ302とがキネマティックオドメトリKINE310に入力される。
【0049】
キネマティックオドメトリKINE310は、画像データ301及びセンサデータ302からなる入力データに基づいて画像データ301の画像が撮像された時間におけるセンサデータ302の関節角を割り出し、この関節角のデータを使用してロボット装置1が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列311とこれに対応する視差画像312を障害物認識装置221(平面抽出部PLEX320の実行結果)へ出力する。
【0050】
障害物認識装置221(平面抽出部PLEX320)は、同時変換行列311とこれに対応する視差画像312を受け取り、以下の図15に示す処理手順にしたがって障害物を認識する。
【0051】
先ず、障害物認識装置221(平面抽出部PLEX320)の座標変換部224は同時変換行列311を、また距離画像生成部222は同時変換行列311に対応する視差画像312を受け取る(ステップS61)。そして、距離画像生成部222は、視差画像312からレンズ歪みとステレオの取り付け誤差を吸収したキャリブレーションパラメータを利用して、画素毎にカメラ座標から見た3次元の位置データ(X,Y,Z)を距離画像として生成する(ステップS62)。このとき各3次元データは、視差画像又は距離画像等の入力画像における信頼度等から得られる信頼度パラメータを個別に有し、この信頼度パラメータにより選別されて入力される。
【0052】
そして、平面検出部223は、選別された3次元データ群からランダムにデータをサンプリングし、ハフ変換により平面を推定する。即ち、法線ベクトルの向きを(θ,φ)、原点からの距離をdとしたときの平面パラメータ(θ,φ,d)を算出し、平面パラメータを投票空間(θ,Ψ,d)=(θ,φcosθ,d)に直接投票して平面を推定する。これにより、平面検出部223は、画像中の支配的な平面のパラメータを検出する(ステップS63)。この平面のパラメータは図16に示すパラメータ空間(θ,φ)(投票空間)のヒストグラムにより検出される。パラメータの投票が小さいいと障害物、大きいと平面上のものと見なすことができる。
【0053】
投票の際は、3次元データに付随する信頼度パラメータ又は平面パラメータの算出方法等により、1票の投票に対して異なる重み付けをして、投票値を異ならせると共に、投票値の分布から得られるピーク値を推定するために、ピーク値近傍における重み付き平均処理等をすることにより、信頼度の高いデータを推定することができる。そして、この平面パラメータを初期パラメータとしてイタレーションを行い、平面を決定することで、更に信頼度が高い平面を決定することができる。また、最終的に決定される平面を算出した3次元データに付随する信頼度パラメータ及びイタレーションにおける残差誤差等を使用して平面の信頼度を算出し、この平面信頼度を平面のデータと共に出力することにより、後段の処理が行い易くなる。このように、平面抽出は、投票、即ちヒストグラムに基づく確率密度関数の推定により3次元データから、その3次元データに含まれる支配的な平面のパラメータを決定する確率論的方法で行われる。こうして得られた平面のパラメータ使用すれば、元々画像から得られた距離の測定点が平面上からどれくらいの距離であるかが分かる。
【0054】
次に、座標変換変換部224は、カメラ座標系の同時変換行列311から図17に示すようにロボットの足底接地面への変換を求める(ステップS64)。これにより、カメラ座標系で表現される接地平面のパラメータの算出が行われる。そして、床面検出部225は、平面検出部223による前記ステップS63での画像による平面の検出結果と、座標変換部224による前記ステップS64での足底接地平面の照合から、画像中の平面パラメータから床面に相当するものを選択する(ステップS65)。
【0055】
次に、障害物認識部226は、床面検出部225が前記ステップS65にて選択した平面パラメータを使って、元の距離画像から平面上に載っている点を選択する(ステップS66)。これは、平面からの距離dがしきい値Dthより小さい事を使って判断する。
【0056】
図18には、しきい値Dthを1cmとした範囲で選択された測定点(×印)を示す。この図18にて、黒く抜かれている点が平面と判断されなかった点である。
【0057】
したがって、障害物認識部226は、前記ステップS66にて平面上(床面)上に載っている点以外の点(床面上に無い点)を障害物としてステップS67にて認識することができる。これらの判断結果は床平面上の点(x、y)とその高さzで表現される。例えば、高さz<0は、平面より凹んでいる点を示す。
【0058】
これにより、高さがロボットより高い障害物点はそれをくぐることができるので障害物ではないという判断も可能とすることができる。また、ロボットビュー(図19の(a))から得た床面抽出画像(図19の(b))の高さzを0(z=0)となるように座標変換すれば、図19の(c)に示すように、平面上の2次元の位置で床か障害物かを表現することができる。
【0059】
このように、障害物認識装置は、多数の測定点を使って平面の検出を行うために安定した平面を抽出できる。また、画像から得られる平面候補をロボットの姿勢から得られる床面パラメータと照合することで正しい平面を選択できる。また、障害物を認識するのではなく、実質的には床面を認識するので障害物の形状や大きさに因らない認識が可能である。また、床面からの距離で障害物を表現するので細かい段差や凹みまで検出することができる。またロボットの大きさを考慮して跨いだり、くぐったりする判断も容易である。さらに、2次元床面上の障害物表現となるので経路計画などに既存の移動ロボットで用いられる手法が適用可能であるし、3次元の表現より高速に演算できる。
【0060】
次に、前述した障害物認識装置により障害物地図を作成し、その障害物地図に、前記行動可能領域を仮想的な障害物として加え、その障害物地図を基に行動制御を行う具体例について説明する。例えば、図20に示すような環境、すなわち障害物1100に囲まれた中にランドマーク1004を三角形を形成するように配置した環境にてロボット装置1の行動を制御する具体例を挙げる。
【0061】
先ず、行動制御装置は、障害物認識装置により、ロボット周辺のある領域の移動可能な領域及び移動不可能な障害物領域の情報を保持した図21の障害物地図を作成する。図21中の障害物領域1121は図20における障害物1100に対応している。また、自由領域1120は、ロボット装置1が歩行可能な領域を示す。未観測領域1122は障害物1100に阻まれた領域で観測できない領域である。
【0062】
ロボット装置1は、ランドマークの配置により作成された行動領域内1110を除けば、自由領域のみを移動するように、行動制御を行うことにより障害物に干渉しない自律行動が可能となる。
【0063】
次に、行動制御装置は、前記障害物地図に、行動可能領域認識部430が生成した行動可能領域1110を仮想的な障害物として加える。
【0064】
そして、行動制御装置は、前記障害物情報に仮想障害物を加えた障害物地図内において、行動可能領域と判定された領域を移動するように行動計画を立て、行動制御を行う。
【0065】
ロボット装置1が行動可能領域内にいる場合は、行動可能領域内を移動し、ロボット装置1が行動可能領域の外にいる場合には、行動可能領域内に復帰するように行動を制御する。
【0066】
なお、行動制御装置は、前記障害物地図に、行動可能領域認識部430が行動可能領域1110を生成するのに用いたランドマークを仮想的な障害物として加え、当該障害物地図内において、自由領域又は行動可能領域と判定された領域のみを移動するようにロボット装置の行動を制御してもよい。
【0067】
行動領域設定後における行動制御は、ユーザの音声による命令をトリガーとして行われる。例えば、図12の(A)に示したようにランドマーク1個を中心とした半径r[m]の円を領域として設定したような場合には「この近くにいなさい」という命令にしたがってロボット装置1は行動を制御する。また、凸包等により行動可能領域が設定された場合には「そこで遊んでいなさい」、「出てはいけません」等の命令にしたがって行動を制御する。また、行動不可能領域を設定し、「ここに入ってはいけません」という命令にしたがって行動を制御するようにしてもよい。
【0068】
次に、上述した図4に示すロボット装置1のソフトウェアについて詳細に説明する。図22は、図4に示すソフトウェア300の動作を示すフローチャートである。
【0069】
図4に示すソフトウェア300のキネマティックオドメトリKINE310には、上述したように、画像データ301及びセンサデータ302が入力される。この画像データ301は、カラー画像及びステレオカメラによる視差画像である。また、センサデータは、ロボット装置の関節角等のデータである。キネマティックオドメトリKINE310は、これらの入力データ301,302を受け取り、メモリに格納されていたそれまでの画像及びセンサデータを更新する(ステップS101)。
【0070】
次に、これら画像データ301とセンサデータ302との時間的な対応を取る(ステップS102−1)。即ち、画像データ301の画像が撮像された時間におけるセンサデータ302の関節角を割り出す。次いで、この関節角のデータを使用してロボット装置1が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する(ステップS102−2)。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列311とこれに対応する画像データとを画像認識を行うオブジェクトへ送信する。即ち、同時変換行列311及びこれに対応する視差画像312を平面抽出部PLEX320へ出力し、同時変換行列311及びカラー画像313をランドマークセンサ部CLS340へ出力する。
【0071】
また、センサデータ302から得られる歩行パラメータと、足底センサを使用した歩数のカウント数とからロボット装置1の移動量を算出し、ロボット装置1のロボット装置中心座標系における移動量を算出する。以下、ロボット装置中心座標系の移動量をオドメトリともいう。このオドメトリ314を障害物グリッド算出部OG330及び絶対座標算出部LZ350へ出力する。
【0072】
平面抽出部PLEX320は、キネマティックオドメトリKINE310にて算出された同時変換行列311と、これに対応するステレオカメラから得られる視差画像312とが入力されると、それまでメモリに格納されていたこれらのデータを更新する(ステップS103)。そして、ステレオカメラのキャリブレーションパラメータ等を使用して視差画像312から3次元の位置データ(レンジデータ)を算出する(ステップS104−1)。次いで、このレンジデータからハフ変換等を使用して、例えば壁及びテーブル等の平面を除く平面を平面として抽出する。また、座標変換行列311からロボット装置1の足底が接地している平面との対応を取り、床面を選択し、床面上にない点、例えば所定の閾値よりも高い位置にあるもの等を障害物として床面からの距離を算出し、この障害物情報(obstacle)321を障害物グリッド算出部330に出力する(ステップS104−2)。
【0073】
障害物グリッド算出部OG330では、キネマティックオドメトリKINE310にて算出されたオドメトリ314と、平面抽出部PLEX320にて算出された障害物の観測情報(障害物情報)321とが入力されると、メモリに格納されていたそれまでのデータを更新する(ステップS105)。そして、床面上に障害物があるか否かの確率を保持する障害物グリッドを確率的手法により更新する(ステップS106)。
【0074】
この障害物グリッド算出部OG330は、ロボット装置1を中心とした例えば周囲4mの障害物情報、即ち、上述した環境地図と、ロボット装置1の向く方角を示す姿勢情報とを保持しており、上述の方法により、環境地図を更新し、この更新した認識結果(障害物情報331)を出力することにより、上位レイヤ、即ち、本実施の形態においては、経路計画決定部SBL360にて障害物を回避する計画を作成することができる。
【0075】
ランドマークセンサCLS340は、キネマティックオドメトリKINE310から同時変換行列311及びカラー画像313が入力されると、予めメモリ内に格納されていたこれらのデータを更新する(ステップS107)。そして、カラー画像313の画像処理を行って、予め認識しているカラーランドマークを検出する。このカラーランドマークのカラー画像313上での位置及び大きさをカメラ座標系での位置に変換する。更に、同時変換行列311を使用し、カラーランドマークのカメラ座標系での位置をロボット中心位置座標系における位置に変換し、ロボット中心位置座標系におけるカラーランドマーク位置の情報(カラーランドマーク相対位置情報)341を絶対座標算出部LZ350に出力する(ステップS108)。
【0076】
絶対座標算出部LZ350は、キネマティックオドメトリKINE310からのオドメトリ314と、ランドマークセンサ部CLS340からのカラーランドマーク相対位置情報341とが入力されると、予めメモリ内に格納されていたこれらのデータが更新される(ステップS109)。そして、絶対座標算出部LZ350が予め認識しているカラーランドマークの絶対座標(ワールド座標系での位置)、カラーランドマーク相対位置情報341、及びオドメトリ314を使用し、確率的手法によりロボット装置の絶対座標(ワールド座標系での位置)を算出する。そして、この絶対座標位置351を行動決定部SBL360に出力する。
【0077】
行動決定部SBL360は、障害物グリッド算出部OG330から障害物グリッド情報331が入力され、絶対座標算出部LZ350から絶対座標位置351が入力されると、予めメモリに格納されていたこれらのデータが更新される(ステップS111)。そして、行動決定部SBL360障害物グリッド算出部OG330からの障害物情報331により、ロボット装置1の周囲に存在する障害物に関する認識結果を取得し、絶対座標算出部LZ350から現在のロボット装置1の絶対座標を取得することにより、絶対座標系又はロボット装置中心のロボット中心座標系で与えられた目標地点に対して障害物に衝突せずに歩行可能な経路を生成し、経路に応じて経路を遂行する動作コマンドを発行する。即ち、入力データから状況に応じてロボット装置1が取るべき行動を決定し、その行動列を出力する(ステップS112)。
【0078】
また、人間によるナビゲーションの場合には、障害物グリッド算出部OG330からロボット装置の周囲に存在する障害物に関する認識結果及び絶対座標算出部LZ350からの現在のロボット装置の位置の絶対座標をユーザに提供し、このユーザからの入力に応じて動作コマンドを発行させる。
【0079】
図23は、上述のソフトウェアに入力されるデータの流れを模式的に示す図である。なお、図23において、図1及び図2に示す構成と同一構成要素には同一符号を付してその詳細な説明は省略する。
【0080】
顔検出部FDT(FaceDetector)371は、画像フレーム中から顔領域を検出するオブジェクトであり、カメラ等の画像入力装置からカラー画像202を受け取り、それを例えば9段階のスケール画像に縮小変換する。この全ての画像の中から顔に相当する矩形領域を探索する。重なりあった候補領域を削減して最終的に顔と判断された領域に関する位置、大きさ、及び特徴量等の情報372を出力して、顔識別部FI(FaceIdentify)377へ送る。
【0081】
顔識別部FI377は、検出された顔画像を識別するオブジェクトであり、顔の領域を示す矩形領域画像からなる情報372を顔検出部FDT371から受け取り、この顔画像がメモリに格納されている手持ちの人物辞書のうちでどの人物に相当するかを比較して人物の識別を行う。そして、顔検出部EDT371から受け取った顔画像の顔画像領域の位置、大きさ情報と共に人物のID情報378をDIL379に出力する。
【0082】
色認識部MCT(MultiColorTracker)373は、色認識を行うオブジェクトであり、カメラ等の画像入力装置からカラー画像202を受け取り、予め保有している複数のカラー・モデル情報に基づいて色領域を抽出し、連続した領域に分割する。色認識部MCT373は、分割した各領域の位置、大きさ及び特徴量等の情報374をDIL379に出力する。
【0083】
動き検出部MDT(MotionDetector)375は、画像の中で動いている部分を検出する部分であり、検出した動き領域の情報376を距離情報付加部DIL379に出力する。
【0084】
距離情報付加部DIL(DistanceInformationLinker)379は、入力された2次元の情報に距離情報を付加して3次元の情報を出力するオブジェクトであり、顔検出部FI377からのID情報378、色認識部MCT373からの分割した各領域の位置、大きさ及び特徴量等の情報374、動き検出部MDT375からの動き領域の情報376に距離情報を付加して3次元の情報380を短期記憶部STM(ShortTermMemory)381に出力する。
【0085】
短期記憶部STM381は、ロボット装置1の外部環境に関する情報を比較的短い時間だけ保持するオブジェクトであり、ArthurDecoder(図示せず)から音声認識結果(単語、音源方向、確信度)を受け取り、色認識部MCT373から肌色の領域の位置、大きさと顔領域の位置、大きさを受け取り、顔識別部FI377から人物のID情報等を受け取る。また、ロボット装置1の機体上の各センサからロボット装置の首の方向(関節角)を受け取る。そして、これらの認識結果及びセンサ出力を統合的に使って、現在どこにどの人物がいて、しゃべった言葉がどの人物のものであり、その人物とはこれまでにどんな対話を行ったのかという情報を保存する。こうした物体、即ちターゲットに関する物理情報と時間方向でみたイベント(履歴)を出力として、行動決定部(状況依存行動階層)(SBL)360等の上位モジュールに渡す。
【0086】
行動決定部SBLは、上述の短期記憶部STM381からの情報を基にロボット装置1の行動(状況に依存した行動)を決定するオブジェクトである。複数の行動を同時に評価したり、実行したりすることができる。また、行動を切り替えて機体をスリープ状態にしておき、別の行動を起動することができる。
【0087】
以下、本発明の実施の形態における上述した行動制御を搭載した2足歩行タイプのロボット装置1について詳細に説明する。この人間型のロボット装置1は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0088】
上述したように、図1に示すロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている。
【0089】
このロボット装置1が具備する関節自由度構成を図24に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0090】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0091】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0092】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0093】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度、即ち関節数を適宜増減することができることはいうまでもない。
【0094】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0095】
図25には、ロボット装置1の制御システム構成を模式的に示している。同図に示すように、ロボット装置1は、ヒトの四肢を表現した体幹部ユニット2,頭部ユニット3,腕部ユニット4R/L,脚部ユニット5R/Lと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット10とで構成される。
【0096】
ロボット装置1全体の動作は、制御ユニット10によって統括的に制御される。制御ユニット10は、CPU(Central Processing Unit)や、DRAM、フラッシュROM等の主要回路コンポーネント(図示しない)で構成される主制御部11と、電源回路やロボット装置1の各構成要素とのデータやコマンドの授受を行うインターフェイス(何れも図示しない)などを含んだ周辺回路12とで構成される。
【0097】
この制御ユニット10の設置場所は、特に限定されない。図25では体幹部ユニット2に搭載されているが、頭部ユニット3に搭載してもよい。あるいは、ロボット装置1外に制御ユニット10を配備して、ロボット装置1の機体とは有線又は無線で交信するようにしてもよい。
【0098】
図25に示したロボット装置1内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。即ち、頭部ユニット3には、首関節ヨー軸101、首関節ピッチ軸102、首関節ロール軸103の各々を表現する首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、首関節ロール軸アクチュエータA4が配設されている。
【0099】
また、頭部ユニット3には、外部の状況を撮像するためのCCD(Charge Coupled Device)カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【0100】
また、体幹部ユニット2には、体幹ピッチ軸104、体幹ロール軸105、体幹ヨー軸106の各々を表現する体幹ピッチ軸アクチュエータA5、体幹ロール軸アクチュエータA6、体幹ヨー軸アクチュエータA7が配設されている。また、体幹部ユニット2には、このロボット装置1の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【0101】
また、腕部ユニット4R/Lは、上腕ユニット41R/Lと、肘関節ユニット42R/Lと、前腕ユニット43R/Lに細分化されるが、肩関節ピッチ軸107、肩関節ロール軸108、上腕ヨー軸109、肘関節ピッチ軸110、前腕ヨー軸111、手首関節ピッチ軸112、手首関節ロール軸113の各々表現する肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、肘関節ピッチ軸アクチュエータA11、肘関節ロール軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、手首関節ロール軸アクチュエータA14が配備されている。
【0102】
また、脚部ユニット5R/Lは、大腿部ユニット51R/Lと、膝ユニット52R/Lと、脛部ユニット53R/Lに細分化されるが、股関節ヨー軸115、股関節ピッチ軸116、股関節ロール軸117、膝関節ピッチ軸118、足首関節ピッチ軸119、足首関節ロール軸120の各々を表現する股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、膝関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、足首関節ロール軸アクチュエータA21が配備されている。各関節に用いられるアクチュエータA2,A3・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータで構成することができる。
【0103】
体幹部ユニット2、頭部ユニット3、各腕部ユニット4R/L、各脚部ユニット5R/Lなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部20,21,22R/L,23R/Lが配備されている。さらに、各脚部ユニット5R/Lの足底が着床したか否かを検出する接地確認センサ30R/Lを装着するとともに、体幹部ユニット2内には、姿勢を計測する姿勢センサ31を装備している。
【0104】
接地確認センサ30R/Lは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ31は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【0105】
接地確認センサ30R/Lの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ31の出力により、体幹部分の傾きや姿勢を検出することができる。
【0106】
主制御部11は、各センサ30R/L,31の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部20,21,22R/L,23R/Lの各々に対して適応的な制御を行い、ロボット装置1の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【0107】
ロボット装置1の機体上での全身運動は、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部20,21,22R/L,23R/Lに転送する。そして、各々の副制御部20,21,・・・等では、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・等に対して駆動制御信号を出力する。ここでいう「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット装置1の歩行動作期間中にZMPが動く軌跡を意味する。なお、ZMPの概念並びにZMPを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著“LEGGED LOCOMOTION ROBOTS”(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社))に記載されている。
【0108】
以上のように、ロボット装置1は、各々の副制御部20,21,・・・等が、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置1は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【0109】
また、ロボット装置1における制御ユニット10では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びCCDカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット10では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、CCDカメラ及びバッテリが各々対応するハブを介して主制御部11と接続されている。
【0110】
主制御部11は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してDRAM内の所定位置に順次格納する。また、主制御部11は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをDRAM内の所定位置に格納する。DRAMに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部11がこのロボット装置1の動作制御を行う際に利用される。
【0111】
主制御部11は、ロボット装置1の電源が投入された初期時、制御プログラムを読み出し、これをDRAMに格納する。また、主制御部11は、上述のように主制御部11よりDRAMに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【0112】
さらに、主制御部11は、この判断結果及びDRAMに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置1に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【0113】
このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【0114】
ところで、このロボット装置1は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置1における制御プログラムのソフトウェア構成例について、図26乃至図31を用いて説明する。なお、この制御プログラムは、上述したように、予めフラッシュROM12に格納されており、ロボット装置1の電源投入初期時において読み出される。
【0115】
図26において、デバイス・ドライバ・レイヤ40は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0116】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ281〜28n等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0117】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0118】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0119】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図27に示す。
【0120】
ミドル・ウェア・レイヤ50は、図27に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール60〜68並びに入力セマンティクスコンバータモジュール69などを有する認識系70と、出力セマンティクスコンバータモジュール78並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール71〜77などを有する出力系79とから構成されている。
【0121】
認識系70の各信号処理モジュール60〜68は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール69に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0122】
入力セマンティクスコンバータモジュール69は、これら各信号処理モジュール60〜68から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ41に出力する。
【0123】
アプリケーション・レイヤ51は、図28に示すように、行動モデルライブラリ80、行動切換モジュール81、学習モジュール82、感情モデル83及び本能モデル84の5つのモジュールから構成されている。
【0124】
行動モデルライブラリ80には、図29に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【0125】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール69から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル83に保持されている対応する情動のパラメータ値や、本能モデル84に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール81に出力する。
【0126】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図30に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEnに間を接続するアークARC1〜ARCn1に対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0127】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEn毎に図31に示すような状態遷移表90を有している。
【0128】
この状態遷移表90では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0129】
したがって、図31の状態遷移表90で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0130】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル83及び本能モデル84にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル83に保持された「喜び(Joy)」、「驚き(Surprise)」又は「悲しみ(Sadness)」の何れかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0131】
また、状態遷移表90では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0132】
したがって、図31の状態遷移表90で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0133】
各行動モデルは、それぞれこのような状態遷移表90として記述されたノードNODE0〜 NODEnが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール69から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール81に出力するようになされている。
【0134】
図29に示す行動切換モジュール81は、行動モデルライブラリ80の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78に送出する。なお、この実施の形態においては、図30において下側に表記された行動モデルほど優先順位が高く設定されている。
【0135】
また、行動切換モジュール81は、行動完了後に出力セマンティクスコンバータモジュール78から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール82、感情モデル83及び本能モデル84に通知する。
【0136】
一方、学習モジュール82は、入力セマンティクスコンバータモジュール69から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【0137】
そして、学習モジュール82は、この認識結果及び行動切換えモジュール71からの通知に基づいて、「叩かれた(叱られた)」ときにはその行動の発現確率を低下させ、「撫でられた(誉められた)」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ70における対応する行動モデルの対応する遷移確率を変更する。
【0138】
他方、感情モデル83は、「喜び(Joy)」、「悲しみ(Sadness)」、「怒り(Anger)」、「驚き(Surprise)」、「嫌悪(Disgust)」及び「恐れ(Fear)」の合計6つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル83は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0139】
具体的には、感情モデル83は、入力セマンティクスコンバータモジュール69から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記数式(11)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル83は、これと同様にして全ての情動のパラメータ値により更新する。
E=[t+1]=E=[t]+ke×ΔE
【0140】
なお、各認識結果や出力セマンティクスコンバータモジュール78からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0141】
ここで、出力セマンティクスコンバータモジュール78からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル83は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール78からの通知は、上述した学習モジュール82にも入力されており、学習モジュール82は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【0142】
なお、行動結果のフィードバックは、行動切換モジュール81の出力(感情が付加された行動)によりなされるものであってもよい。
【0143】
一方、本能モデル84は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル84は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0144】
具体的には、本能モデル84は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール78からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記数式(12)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル84は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
I[k+1]=I[k]+ki×ΔI[k]
【0145】
なお、認識結果及び出力セマンティクスコンバータモジュール78からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール78からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0146】
なお、この具体例においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0147】
一方、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78は、図27に示すように、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール81から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系79の対応する信号処理モジュール71〜77に与える。
【0148】
そしてこれら信号処理モジュール71〜77は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はLEDに順次送出する。
【0149】
このようにしてロボット装置1は、上述した制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【0150】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体(例えば、磁気テープ、フレキシブルディスク、磁気カード)、光学読取方式の記録媒体(例えば、CD−ROM、MO、CD−R、DVD)等が考えられる。記録媒体には、半導体メモリ(いわゆるメモリカード(矩形型、正方形型など形状は問わない。)、ICカード)等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【0151】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置1に伝送されて読み込まれる。また、ロボット装置1は、半導体メモリ、又はICカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【0152】
以上説明したように、本実施の形態のロボット装置にあって、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0153】
【発明の効果】
本発明によれば、離散的に配置されたランドマークを認識し、認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成し、前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成し、前記行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御するので、移動型ロボット装置の行動範囲の設定が簡便になる。また、ユーザの意図する範囲内での行動が可能となる。また、階段や机の下など、ロボット装置にとって危険な場所に勝手にロボット装置が行くのを防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、ヒューマノイド型の2足歩行のロボット装置を示す斜視図である。
【図2】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、4足歩行の動物型ロボット装置を示す斜視図である。
【図3】本発明の実施の形態に係るロボット装置の概略を示すブロック図である。
【図4】本発明の実施の形態に係るロボット装置を動作するソフトウェアの構成を示す模式図である。
【図5】ロボット装置に適用される行動制御装置の機能ブロック図である。
【図6】ランドマークの一例を示す模式図である。
【図7】ロボット装置が行動可能領域内を自律的に行動するまでの模様を段階的に示した図である。
【図8】凸装アルゴリズムの流れを示す図である。
【図9】凸包によって作成された行動可能領域地図の具体例を示す図である。
【図10】領域法によって作成された行動可能領域地図の具体例を示す図である。
【図11】ポテンシャル場による行動可能領域地図の具体例を示す図である。
【図12】ランドマークの個数によって行動領域地図作成時に切り換えられる行動領域設定法の具体例を示す図である。
【図13】障害物認識装置の機能ブロック図である。
【図14】平面抽出部PLEXに入力される視差画像の生成を説明するための図である。
【図15】平面抽出部PLEXが障害物を認識する処理手順を示すフローチャートである。
【図16】平面抽出部PLEXが検出する平面のパラメータを示す図である。
【図17】カメラ座標系から足底接地平面座標系への変換処理を説明するための図である。
【図18】平面抽出部PLEXにて抽出された平面上の点を示す図である。
【図19】ロボットビューから床面を抽出し、さらに座標変換して2次元(床平面)上に障害物を表現したことを示す図である。
【図20】ロボット装置の置かれた環境の具体例を示す図である。
【図21】障害物地図の具体例を示す図である。
【図22】本発明の実施の形態におけるロボット装置のソフトウェアの動作を示すフローチャートである。
【図23】同ソフトウェアに入力されるデータの流れを示す模式図である。
【図24】本発明の実施の形態におけるロボット装置の自由度構成モデルを模式的に示す図である。
【図25】同ロボット装置の回路構成を示すブロック図である。
【図26】同ロボット装置のソフトウェア構成を示すブロック図である。
【図27】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図28】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図29】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図30】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図31】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、410 ランドマーク認識部、420 ランドマーク地図作成部、430 行動可能領域認識部、440 行動制御部、1004 ランドマーク、1110 行動可能領域
【発明の属する技術分野】
本発明は行動制御装置及び行動制御方法に関し、特に移動型ロボット装置に適用されて当該移動型ロボット装置が床面上の物体を認識しながら移動するための行動制御装置、行動制御方法及び行動制御プログラムに関する。また、床面上の物体を認識しながら自律的に移動する移動型ロボット装置に関する。
【0002】
【従来の技術】
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータ及び搬送ロボット等の産業用ロボット(Industrial Robot)であった。
【0003】
最近では、人間のパートナーとして生活を支援する、即ち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬又は猫のように4足歩行の動物の身体メカニズム及びその動作を模した「ペット型」ロボット、或いは、2足直立歩行を行う人間等の身体メカニズム及びその動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット(Humanoid Robot)等のロボット装置は、既に実用化されつつある。
【0004】
これらのロボット装置は、産業用ロボットと比較して、例えばエンターテインメント性を重視した様々な動作等を行うことができるため、エンターテインメントロボットと呼称される場合もある。また、そのようなロボット装置には、外部からの情報及び内部の状態に応じて自律的に動作するものがある。
【0005】
ところで、前記産業用ロボットには、特開平6−226683号公報等に開示されているように、建築現場や工場の中にて敷設されたラインや磁気情報を用いて行動範囲を認識し、作業を行ういわゆる作業ロボットが用いられている。また、工場の中において予め与えられた環境地図を用いて、許可された領域内だけで作業を行う作業ロボットも用いられている。
【0006】
【特許文献1】
特開平6−226683号
【0007】
【発明が解決しようとする課題】
しかしながら、前記特許文献1等に記載の作業ロボットは、既知の地図情報等に基づくタスク遂行型ロボットであり、いずれも自律的に行動しているものではない。
【0008】
また、例えば、建築現場や工場内にて前記作業ロボットの移動領域等の変更に備え、ラインの敷設や磁気情報を変更するには、変更の作業に時間と労力が必要になる。特に規模が大きい工場などでは敷設の変更作業は面倒である。また、工場内では、自由度が少ない。
【0009】
これに対して、自律型ロボット装置において、自身の周りの環境を認識して障害物等を判断し、それに応じて移動する能力は言うまでもなく重要である。
【0010】
本発明は、前記実情に鑑みてなされたものであり、自律的に移動する移動型ロボット装置にあって、ランドマークを用いて前記ロボット装置の行動範囲を簡便に制約することができる行動制御装置、行動制御方法及び行動制御プログラムの提供を目的とする。また、ランドマークを用いて行動範囲を簡便に制約することができる移動型ロボット装置の提供を目的とする。
【0011】
【課題を解決するための手段】
本発明に係る行動制御装置は、前記課題を解決するために、移動型ロボット装置の行動を制御する行動制御装置において、離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【0012】
本発明に係る行動制御方法は、前記課題を解決するために、移動型ロボット装置の行動を制御するための行動制御方法において、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備える。
【0013】
本発明に係る行動制御プログラムは、前記課題を解決するために、移動型ロボット装置によって実行されてその行動を制御するための行動制御プログラムにおいて、離散的に配置されたランドマークを認識するランドマーク認識工程と、前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程とを備えてなる。
【0014】
本発明に係る移動型ロボット装置は、前記課題を解決するために、頭部ユニットと、少なくとも1以上の可動脚ユニットと、情報処理手段を有する胴体ユニットとを備えてなり、床面上の物体を認識しながら前記可動脚ユニットを用いて床面を移動する移動型ロボット装置において、前記床面上に離散的に配置されたランドマークを認識するランドマーク認識手段と、前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段とを備える。
【0015】
本発明において、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0016】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施の形態について説明する。この実施の形態は、本発明に係る行動制御装置を適用した移動型ロボット装置である。行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0017】
このような行動制御装置を搭載する移動型ロボット装置としては、エンターテインメント用等の例えばヒューマノイド型の2足歩行のロボット装置、及び、4足歩行の動物型ロボット装置等を使用することができる。また、いずれかの足又は全ての足に車輪を設け、電動にて自走するロボット装置を使用することもできる。
【0018】
例えば、2足歩行のロボット装置としては、図1に示すように、ロボット装置1の体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されるものがある(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。また、4足歩行の動物型ロボット装置としては、「犬」を模した形状のいわゆるペットロボットとされる図2に示すようなものがある。このロボット装置11は、胴体部ユニット12の前後左右にそれぞれ脚部ユニット13A,13B,13C,13Dが連結されると共に、胴体部ユニット12の前端部及び後端部にそれぞれ頭部ユニット14及び尻尾部ユニット15が連結されて構成されている。
【0019】
これらのロボット装置は、何れも頭部ユニットにCCD(charge coupled device)/CMOS(complementary metal−oxide semiconductor)撮像素子を用いた小型カメラを視覚センサとして有しており、離散的に配置された人工的な目印であるランドマークを画像処理により検出し、ロボット装置に対する相対的なランドマークの位置を獲得することができる。本実施の形態では、これをランドマークセンサとして使用する。以下、本実施の形態においては、本発明を、ヒューマノイド型の2足歩行のロボット装置に適用した例について説明する。
【0020】
図3は、2足歩行のロボット装置の概略を示すブロック図である。図3に示すように、ロボット装置1の頭部ユニット250には、2台のCCDカメラ200R,200Lが設けられ、このCCDカメラ200R,200Lの後段には、ステレオ画像処理装置210が設けられている。2台のCCDカメラ(以下、右目200R、左目200Lという。)により撮像された右目画像201R、左目画像201Lは、ステレオ画像処理装置210に入力される。ステレオ画像処理装置210は、各画像201R,201Lの視差情報(disparity data)(距離情報)を計算し、カラー画像(YUV:輝度Y、UV色差)202及び視差画像(YDR:輝度Y、視差D、信頼度R)203をフレーム毎に左右交互に算出する。ここで、視差とは、空間中のある点が左目及び右目に写像される点の違いを示し、そのカメラからの距離に応じて変化するものである。
【0021】
このカラー画像202及び視差画像203はロボット装置1の体幹部260に内蔵されたCPU(制御部)220に入力される。また、ロボット装置1の各関節にはアクチュエータ230が設けられており、CPU220からの指令となる制御信号231が供給されて、その指令値に応じてモータを駆動する。各関節(アクチュエータ)には、ポテンショメータが取り付けられ、その時のモータの回転角がCPU220に送られる。このアクチュエータに取り付けられたポテンショメータ、足底に取り付けられたタッチセンサ及び体幹部に取り付けられたジャイロ・センサ等の各センサ240は、現在の関節角度、設置情報、及び姿勢情報等の現在のロボット装置の状態を計測し、センサデータ241としてCPU220へ出力する。CPU220は、ステレオ画像処理装置210からのカラー画像202及び視差画像203と、アクチュエータの全ての関節角度等のセンサデータ241とが入力され、これらデータが後述するソフトウェアにより処理され、様々な動作を自律的に行うことが可能となる。
【0022】
図4は、本実施の形態におけるロボット装置を動作させるソフトウェアの構成を示す模式図である。本実施の形態におけるソフトウェアは、オブジェクト単位で構成され、ロボット装置の位置、移動量、周囲の障害物、ランドマーク、ランドマーク地図、行動可能領域等を認識し、ロボット装置が最終的に取るべき行動についての行動列を出力する各種認識処理等を行うものである。なお、ロボット装置の位置を示す座標として、例えば、ランドマーク等の特定の物体等を座標の原点としたワールド基準系のカメラ座標系(以下、絶対座標ともいう。)と、ロボット装置自身を中心(座標の原点)としたロボット中心座標系(以下、相対座標ともいう。)との2つの座標を使用する。
【0023】
オブジェクト同士は、非同期に通信し合うことで、システム全体が動作する。各オブジェクトはメッセージ通信と共有メモリを使用したオブジェクト間通信方法によりデータの受け渡し及びプログラムの起動(Invoke)を行っている。図4に示すように、本実施の形態におけるロボット装置のソフトウェア300は、ロボット装置の移動量を算出する移動量算出手段(キネマティックオドメトリ(Kinematics Odometry))KINE310、環境内の平面を抽出する平面抽出部(Plane Extractor)PLEX320、環境内の障害物を認識する障害物グリッド算出部(Occupancy Grid)OG330、人工的なランドマークを含む環境において、自身のセンサ情報及び移動量算出手段から供給される自身の動作情報によって、ロボット装置の自己位置(位置及び姿勢)や、後述のランドマークの位置情報を特定するランドマーク位置検出部(Landmark Sensor)CLS340、ロボット中心座標を絶対座標に変換する絶対座標算出部(Localization)LZ350及びロボット装置の取るべき行動を決定する行動決定部(Situated behavior Layer)SBL360から構成され、各オブジェクト単位にて処理がなされる。なお、ランドマーク位置検出部(Landmark Sensor)CLS340は、後述のランドマーク認識部410と同様のものである。
【0024】
ロボット装置に適用されることにより行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。ロボット装置を自律的に動作させる詳細な説明、並びにロボット装置の構成及び動作に関する詳細な説明は後述する。
【0025】
ロボット装置1に搭載される行動制御装置の機能的な構成図を図5に示す。この行動制御装置はCPU220内にて構成される。行動制御装置は、機能的に、ランドマークを認識するランドマーク認識部410と、ランドマーク地図を作成するランドマーク地図作成部420と、行動可能領域地図を作成する行動可能領域認識部430と、ロボット装置の自律的な行動を制御する行動制御部440とを備えている。
【0026】
この行動制御装置を適用することにより、ロボット装置1は、先ず、ランドマーク認識部410によって、ランドマークを認識する。ランドマークは図6に示すように、例えば紫部分1001、黄部分1002、又はピンク部分1003等を用いて、同心円上に2色に塗り分けた色の組み合わせよって構成されている。ランドマーク1004aは、内周円を黄部分1002、外周を紫部分1001としている。ランドマーク1004bは、内周円を紫部分1001、外周を黄部分1002としている。ランドマーク1004cは、内周円をピンク部分1003、外周を紫1001としている。ランドマーク1004dは、内周円を黄部分1002、外周をピンク部分1003としている。よって、これら各ランドマークは、2色の組み合わせによって一意に識別可能とされる。
【0027】
なお、ランドマークは、三角、四角、丸の3つの形状の幾何学パターンに赤、青、黄、及び緑の4つの色を使用し、これらの形状及び色を組み合わせることにより、一意に特定可能(unique)な複数種のランドマークを得ることができる。四角形、円形、三角形の幾何学パターンを配置し、各パターンの位置関係を固定して配置して、各パターンの色を4色、組み合わせることによって、例えば合計24種類のランドマークを作成できる。このように、複数の幾何学パターンの位置関係及び配色により、異なるランドマークを形成することができる。
【0028】
ランドマーク認識部410は、ランドマークを一意に認識し、ランドマークの位置情報rPo(x、y、z)を得る。環境内のランドマークを可能な限り発見するために、ロボット装置1は、発見した全てのランドマークを訪問して歩いていく。先ず、環境内のある地点からスタートし、ランダムに歩き回り、そこで周りを360度見渡す。そこで発見したランドマークを訪問待ち行列とする。次に、訪問待ち行列から一つを選んで、そのランドマークまで歩いていき、ランドマークに到達したら訪問待ち行列からそのランドマークを削除し、ランドマーク付近で周りを全て見渡し、新しいランドマークを発見する。新しく発見されたランドマークは、訪問待ち行列に追加する。これを繰り返して、訪問待ち行列が空になるまでランドマークを訪問して歩く。他のどのランドマークからも観測不可能なランドマークがない場合は、このような戦略で環境内の全てのランドマークを発見することができる。
【0029】
本実施の形態においては、ロボット装置は、形状及び/又は色等により異なる複数の人工的なランドマークが存在する一意に特定可能な環境内のランドマークを前述したような手法で訪問しながらランドマーク認識部410にて得た位置情報rPo(x、y、z)をランドマーク地図作成部420に送る。
【0030】
ランドマーク地図作成部420は、ランドマーク認識部410が全てのランドマークを認識して送ってきた全てのランドマーク位置情報rPo(x、y、z)を統合し、それらのランドマークの幾何学的な位置関係を統合したランドマーク地図を作成する。詳細には、ランドマーク認識部410によって認識されたランドマークの位置情報rPo(x、y、z)と、ロボット自身のオドメトリ情報を統合し、ランドマークの幾何学的な配置を推定し、これをランドマーク地図とする。そして、ランドマーク地図情報rPo×Nを行動可能領域認識部430に送る。
【0031】
行動可能領域認識部430は、ランドマーク地図情報rPo×Nを用いて、ロボットが行動可能な範囲である行動可能領域地図を作成する。行動可能領域地図は、グリッドセル又は多角形を指定する情報からなる。この行動可能領域地図は、行動制御部440に送られる。
【0032】
行動制御部440は、行動可能領域認識部430から送られた行動可能領域地図を用いて、ロボット装置1が行動可能領域の外に出ない、もしくは中に入らないように自律的な行動を制御する。
【0033】
以下には、新たに図7も参照して前記各部よりなる行動制御装置の詳細な動作について説明する。図7は前記各部410,420,430,440よりなる行動制御装置を搭載したロボット装置1が行動可能領域内を自律的に行動するまでの模様を段階的に示す。
【0034】
上述したように、図3に示すCCDカメラ200L,200Rによって取り込まれた映像は、ステレオ画像処理部210に入力され、左右画像201R,201Lの視差情報(距離情報)からカラー画像(YUV)202及び視差画像(YDR)203が算出されてCPU220に入力される。また、ロボット装置1に複数個設けられた各センサからのセンサデータ240も入力される。これらの視差情報及び視差画像からなる画像データ301と、センサデータ302とが移動量算出手段KINEに入力される。
【0035】
移動量算出手段KINEは、画像データ301及びセンサデータ302からなる入力データに基づいてロボット中心座標系の移動量(オドメトリ)を算出する。また、ランドマーク認識部410は、CCDカメラ200L,200Rによって観測されたランドマークのカラー画像(YUV)202及び視差画像(YDR)203からランドマークを認識する。つまり、ランドマーク認識部410は、前記画像により、色を認識し、その組み合わせによってランドマークを特定する。次に、前記画像におけるランドマークの大きさによって、ロボット装置からランドマークまでの距離の推定を行い、ロボットの関節各情報と統合することによってランドマーク位置を推定し、ランドマーク位置情報を出力する。このようにして、ロボット装置1は、ランドマーク認識部410によりランドマーク1004を認識する毎にランドマークの位置情報(Landmark Information)生成し(図7(A))、ランドマーク地図作成部420に送る。また、ロボット装置は、自身の姿勢方向を検出し、移動量と共に姿勢方向を示す情報をランドマーク地図作成部420に供給する。
【0036】
ランドマーク地図作成部420は、ランドマーク位置情報及びロボット装置の移動量及び姿勢方向を示す情報(ロボット自身のオドメトリ情報)を統合し、ランドマークの幾何学的な配置を推定し、ランドマーク地図(Landmark Map)を作成する(図7(B))。
【0037】
そして、ロボット装置1は、行動可能領域認識部430により、ランドマーク地図情報を用いて、ロボットが行動可能な範囲である行動可能領域地図(Mobility Map)を作成する(図7(C))。この行動可能領域地図内から外にでないようにロボット装置1は行動制御部440の制御により自律的に行動する。
【0038】
ところで、行動可能領域認識部430は、ランドマーク地図作成部420により作成されたランドマーク地図を用いて行動領域を求める際に、例えば凸包、領域法、ポテンシャル場という3つのアルゴリズムのいずれかを用いる。
【0039】
このうち、凸包の代表的なアルゴリズムである、凸装アルゴリズム(package wrapping algorithm)の流れを図8を参照して以下に説明する。始めに、ステップS1として、全てのランドマークの二次元座標をPn=(x,y)(n=0,1,2,,,N)とする(図8の(1))。次にステップS2として、紙面縦方向で底辺からのynが最小の点pnをAとし、Aから水平に直線AOを引く(図8の(2))。次にステップS3として、点AからAを除く全てのPnに対して直線APnを引き、直線APnとAOのなす角が最小の点をBとする(図8の(2))。次にステップS4として点BからA,Bを除く全てのPnに対して直線BPnを引き、直線BPnとABのなす角が最小の点をCとする(図8の(3))。そして、点Aに戻ってくるまでステップS4を繰り返し、行動可能領域地図を求める(図8の(4))。
【0040】
図9には、凸包によって作成された行動可能領域地図の具体例を示す。ランドマークが2個、3個、4個、5個であり、多角形の頂点をなす場合には、図9の(A)、(B)、(C)、(D)に示すように、各ランドマークを包むように行動可能領域地図を作成する。また、図9の(E)や(F)に示すように、ランドマークが多角形の内部にも包まれるように行動可能領域地図を作成することもある。また、全てのランドマークを外周の頂点として包みこむように作成してもよい。
【0041】
領域法による行動可能領域地図について図10を用いて説明する。ランドマークから半径r[m]の領域を行動範囲とする方法である。ランドマークが1個の場合には、図10の(A)のように1個のランドマークを中心とした半径rの領域内だけを行動可能領域とする。ランドマークが図10の(B)に示すように4個である場合には、各ランドマークの半径r[m]の各領域を重ねた行動可能領域となる。ランドマークの配置の仕方によっては図10の(C)に示すように、各領域を重ねた行動可能領域が略S字のようになる。
【0042】
ポテンシャル場による行動可能領域地図について図11を用いて説明する。各ランドマークから半径r[m]の領域を行動可能領域とする(図11の(A))。そして、ランドマークからの半径距離にしたがって増加するコストを定義する(図11の(B))。この結果、例えば図11の(C)に示すように外周に行くほどコストが高くなるような行動可能領域が設定できる。
【0043】
この他、行動領域の設定法としては、ロボット装置1の前方左右に位置する少なくとも二つのランドマークの結ぶ線よりもロボット側にS[m]という設定の方法をとってもよい。
【0044】
この行動領域認識部430は、行動領域地図作成時の行動領域設定法を、例えばランドマークの個数によって切り換える。もちろん、マニュアルでの設定の選択により切り換えることもできる。例えば、ランドマークの個数Nが1個であるときには、図12の(A)に示すように領域法で選択し、Nが2個であるときには、図12の(B)に示すように二つのランドマークを結ぶ線よりもロボット側にS[m]であり、二つのランドマークの幅という設定である。さらに、Nが2個以上の場合には、前記凸法を選択する。
【0045】
行動制御部440は、行動可能領域認識部430にて作成された行動可能領域地図に基づいてロボット装置1が例えば行動可能領域の外に出ないようにロボット装置1の自律的な行動を制御する。具体的に、行動制御部440は、障害物地図を作成し、その障害物地図に前記行動可能領域を作成するのに用いたランドマークを仮想障害物(Virtual Obstacle)として加え、その障害物地図内において、行動可能領域と判定した領域のみを移動するようにロボット装置の行動を制御する。
【0046】
障害物地図は、本件出願人による特願2002−073388号公報に開示されている障害物認識技術に基づいて作成される。以下に詳細を説明する。障害物認識装置は、図4に示した平面抽出部(Plane Extractor)PLEX320を実行したCPU220内にて構成される。図13に機能ブロック図を示すように、障害物認識装置221は、視差画像から距離画像を生成する距離画像生成部222と、距離画像から平面検出をして平面パラメータを算出する平面検出部223と、同時変換行列を座標変換する座標変換部224と、前記座標変換結果と前記平面パラメータから床面を検出する床面検出部225と、床面の平面パラメータから障害物を認識する障害物認識部226とを備えてなる。
【0047】
距離画像生成部222は、ロボット装置1に設けた二つのCCDカメラから得られた画像データに基づいて算出された視差画像と、ロボット装置1に設けた複数のセンサ手段から得られたセンサデータ出力とに基づいて二つのCCDカメラが配設された位置における前記視差画像に対応する同時変換行列を用いて距離画像を生成する。平面検出部223は、距離画像生成部222により生成された距離画像に基づいて平面パラメータを検出する。座標変換部224は、前記同時変換行列をロボット装置1の接地面での座標に変換する。床面検出部225は、平面検出部223からの平面パラメータと座標変換部224からの座標変換結果を用いて床面を検出し、その平面パラメータを障害物認識部226に供給する。障害物認識部226は、床面検出部225が検出した床面の平面パラメータを用いて床面に載っている点を選択し、この点に基づいて障害物を認識する。
【0048】
上述した如く、CCDカメラ200L,200Rによって取り込まれた映像は、ステレオ画像処理装置210に入力され、図14に具体的に示す左右画像201R,201Lの視差情報(距離情報)からカラー画像(YUV)202及び視差画像(YDR)203が算出されてCPU220に入力される。また、ロボット装置1に複数個設けられた各センサからのセンサデータ240が入力される。図4に示したように、これらの視差情報及び視差画像からなる画像データ301と、ロボット装置の関節角等のデータであるセンサデータ302とがキネマティックオドメトリKINE310に入力される。
【0049】
キネマティックオドメトリKINE310は、画像データ301及びセンサデータ302からなる入力データに基づいて画像データ301の画像が撮像された時間におけるセンサデータ302の関節角を割り出し、この関節角のデータを使用してロボット装置1が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列311とこれに対応する視差画像312を障害物認識装置221(平面抽出部PLEX320の実行結果)へ出力する。
【0050】
障害物認識装置221(平面抽出部PLEX320)は、同時変換行列311とこれに対応する視差画像312を受け取り、以下の図15に示す処理手順にしたがって障害物を認識する。
【0051】
先ず、障害物認識装置221(平面抽出部PLEX320)の座標変換部224は同時変換行列311を、また距離画像生成部222は同時変換行列311に対応する視差画像312を受け取る(ステップS61)。そして、距離画像生成部222は、視差画像312からレンズ歪みとステレオの取り付け誤差を吸収したキャリブレーションパラメータを利用して、画素毎にカメラ座標から見た3次元の位置データ(X,Y,Z)を距離画像として生成する(ステップS62)。このとき各3次元データは、視差画像又は距離画像等の入力画像における信頼度等から得られる信頼度パラメータを個別に有し、この信頼度パラメータにより選別されて入力される。
【0052】
そして、平面検出部223は、選別された3次元データ群からランダムにデータをサンプリングし、ハフ変換により平面を推定する。即ち、法線ベクトルの向きを(θ,φ)、原点からの距離をdとしたときの平面パラメータ(θ,φ,d)を算出し、平面パラメータを投票空間(θ,Ψ,d)=(θ,φcosθ,d)に直接投票して平面を推定する。これにより、平面検出部223は、画像中の支配的な平面のパラメータを検出する(ステップS63)。この平面のパラメータは図16に示すパラメータ空間(θ,φ)(投票空間)のヒストグラムにより検出される。パラメータの投票が小さいいと障害物、大きいと平面上のものと見なすことができる。
【0053】
投票の際は、3次元データに付随する信頼度パラメータ又は平面パラメータの算出方法等により、1票の投票に対して異なる重み付けをして、投票値を異ならせると共に、投票値の分布から得られるピーク値を推定するために、ピーク値近傍における重み付き平均処理等をすることにより、信頼度の高いデータを推定することができる。そして、この平面パラメータを初期パラメータとしてイタレーションを行い、平面を決定することで、更に信頼度が高い平面を決定することができる。また、最終的に決定される平面を算出した3次元データに付随する信頼度パラメータ及びイタレーションにおける残差誤差等を使用して平面の信頼度を算出し、この平面信頼度を平面のデータと共に出力することにより、後段の処理が行い易くなる。このように、平面抽出は、投票、即ちヒストグラムに基づく確率密度関数の推定により3次元データから、その3次元データに含まれる支配的な平面のパラメータを決定する確率論的方法で行われる。こうして得られた平面のパラメータ使用すれば、元々画像から得られた距離の測定点が平面上からどれくらいの距離であるかが分かる。
【0054】
次に、座標変換変換部224は、カメラ座標系の同時変換行列311から図17に示すようにロボットの足底接地面への変換を求める(ステップS64)。これにより、カメラ座標系で表現される接地平面のパラメータの算出が行われる。そして、床面検出部225は、平面検出部223による前記ステップS63での画像による平面の検出結果と、座標変換部224による前記ステップS64での足底接地平面の照合から、画像中の平面パラメータから床面に相当するものを選択する(ステップS65)。
【0055】
次に、障害物認識部226は、床面検出部225が前記ステップS65にて選択した平面パラメータを使って、元の距離画像から平面上に載っている点を選択する(ステップS66)。これは、平面からの距離dがしきい値Dthより小さい事を使って判断する。
【0056】
図18には、しきい値Dthを1cmとした範囲で選択された測定点(×印)を示す。この図18にて、黒く抜かれている点が平面と判断されなかった点である。
【0057】
したがって、障害物認識部226は、前記ステップS66にて平面上(床面)上に載っている点以外の点(床面上に無い点)を障害物としてステップS67にて認識することができる。これらの判断結果は床平面上の点(x、y)とその高さzで表現される。例えば、高さz<0は、平面より凹んでいる点を示す。
【0058】
これにより、高さがロボットより高い障害物点はそれをくぐることができるので障害物ではないという判断も可能とすることができる。また、ロボットビュー(図19の(a))から得た床面抽出画像(図19の(b))の高さzを0(z=0)となるように座標変換すれば、図19の(c)に示すように、平面上の2次元の位置で床か障害物かを表現することができる。
【0059】
このように、障害物認識装置は、多数の測定点を使って平面の検出を行うために安定した平面を抽出できる。また、画像から得られる平面候補をロボットの姿勢から得られる床面パラメータと照合することで正しい平面を選択できる。また、障害物を認識するのではなく、実質的には床面を認識するので障害物の形状や大きさに因らない認識が可能である。また、床面からの距離で障害物を表現するので細かい段差や凹みまで検出することができる。またロボットの大きさを考慮して跨いだり、くぐったりする判断も容易である。さらに、2次元床面上の障害物表現となるので経路計画などに既存の移動ロボットで用いられる手法が適用可能であるし、3次元の表現より高速に演算できる。
【0060】
次に、前述した障害物認識装置により障害物地図を作成し、その障害物地図に、前記行動可能領域を仮想的な障害物として加え、その障害物地図を基に行動制御を行う具体例について説明する。例えば、図20に示すような環境、すなわち障害物1100に囲まれた中にランドマーク1004を三角形を形成するように配置した環境にてロボット装置1の行動を制御する具体例を挙げる。
【0061】
先ず、行動制御装置は、障害物認識装置により、ロボット周辺のある領域の移動可能な領域及び移動不可能な障害物領域の情報を保持した図21の障害物地図を作成する。図21中の障害物領域1121は図20における障害物1100に対応している。また、自由領域1120は、ロボット装置1が歩行可能な領域を示す。未観測領域1122は障害物1100に阻まれた領域で観測できない領域である。
【0062】
ロボット装置1は、ランドマークの配置により作成された行動領域内1110を除けば、自由領域のみを移動するように、行動制御を行うことにより障害物に干渉しない自律行動が可能となる。
【0063】
次に、行動制御装置は、前記障害物地図に、行動可能領域認識部430が生成した行動可能領域1110を仮想的な障害物として加える。
【0064】
そして、行動制御装置は、前記障害物情報に仮想障害物を加えた障害物地図内において、行動可能領域と判定された領域を移動するように行動計画を立て、行動制御を行う。
【0065】
ロボット装置1が行動可能領域内にいる場合は、行動可能領域内を移動し、ロボット装置1が行動可能領域の外にいる場合には、行動可能領域内に復帰するように行動を制御する。
【0066】
なお、行動制御装置は、前記障害物地図に、行動可能領域認識部430が行動可能領域1110を生成するのに用いたランドマークを仮想的な障害物として加え、当該障害物地図内において、自由領域又は行動可能領域と判定された領域のみを移動するようにロボット装置の行動を制御してもよい。
【0067】
行動領域設定後における行動制御は、ユーザの音声による命令をトリガーとして行われる。例えば、図12の(A)に示したようにランドマーク1個を中心とした半径r[m]の円を領域として設定したような場合には「この近くにいなさい」という命令にしたがってロボット装置1は行動を制御する。また、凸包等により行動可能領域が設定された場合には「そこで遊んでいなさい」、「出てはいけません」等の命令にしたがって行動を制御する。また、行動不可能領域を設定し、「ここに入ってはいけません」という命令にしたがって行動を制御するようにしてもよい。
【0068】
次に、上述した図4に示すロボット装置1のソフトウェアについて詳細に説明する。図22は、図4に示すソフトウェア300の動作を示すフローチャートである。
【0069】
図4に示すソフトウェア300のキネマティックオドメトリKINE310には、上述したように、画像データ301及びセンサデータ302が入力される。この画像データ301は、カラー画像及びステレオカメラによる視差画像である。また、センサデータは、ロボット装置の関節角等のデータである。キネマティックオドメトリKINE310は、これらの入力データ301,302を受け取り、メモリに格納されていたそれまでの画像及びセンサデータを更新する(ステップS101)。
【0070】
次に、これら画像データ301とセンサデータ302との時間的な対応を取る(ステップS102−1)。即ち、画像データ301の画像が撮像された時間におけるセンサデータ302の関節角を割り出す。次いで、この関節角のデータを使用してロボット装置1が中心に固定されたロボット中心座標系を頭部ユニットに設けられたカメラの座標系へ変換する(ステップS102−2)。この場合、本実施の形態においては、ロボット中心座標系からカメラ座標系の同時変換行列等を導出し、この同時変換行列311とこれに対応する画像データとを画像認識を行うオブジェクトへ送信する。即ち、同時変換行列311及びこれに対応する視差画像312を平面抽出部PLEX320へ出力し、同時変換行列311及びカラー画像313をランドマークセンサ部CLS340へ出力する。
【0071】
また、センサデータ302から得られる歩行パラメータと、足底センサを使用した歩数のカウント数とからロボット装置1の移動量を算出し、ロボット装置1のロボット装置中心座標系における移動量を算出する。以下、ロボット装置中心座標系の移動量をオドメトリともいう。このオドメトリ314を障害物グリッド算出部OG330及び絶対座標算出部LZ350へ出力する。
【0072】
平面抽出部PLEX320は、キネマティックオドメトリKINE310にて算出された同時変換行列311と、これに対応するステレオカメラから得られる視差画像312とが入力されると、それまでメモリに格納されていたこれらのデータを更新する(ステップS103)。そして、ステレオカメラのキャリブレーションパラメータ等を使用して視差画像312から3次元の位置データ(レンジデータ)を算出する(ステップS104−1)。次いで、このレンジデータからハフ変換等を使用して、例えば壁及びテーブル等の平面を除く平面を平面として抽出する。また、座標変換行列311からロボット装置1の足底が接地している平面との対応を取り、床面を選択し、床面上にない点、例えば所定の閾値よりも高い位置にあるもの等を障害物として床面からの距離を算出し、この障害物情報(obstacle)321を障害物グリッド算出部330に出力する(ステップS104−2)。
【0073】
障害物グリッド算出部OG330では、キネマティックオドメトリKINE310にて算出されたオドメトリ314と、平面抽出部PLEX320にて算出された障害物の観測情報(障害物情報)321とが入力されると、メモリに格納されていたそれまでのデータを更新する(ステップS105)。そして、床面上に障害物があるか否かの確率を保持する障害物グリッドを確率的手法により更新する(ステップS106)。
【0074】
この障害物グリッド算出部OG330は、ロボット装置1を中心とした例えば周囲4mの障害物情報、即ち、上述した環境地図と、ロボット装置1の向く方角を示す姿勢情報とを保持しており、上述の方法により、環境地図を更新し、この更新した認識結果(障害物情報331)を出力することにより、上位レイヤ、即ち、本実施の形態においては、経路計画決定部SBL360にて障害物を回避する計画を作成することができる。
【0075】
ランドマークセンサCLS340は、キネマティックオドメトリKINE310から同時変換行列311及びカラー画像313が入力されると、予めメモリ内に格納されていたこれらのデータを更新する(ステップS107)。そして、カラー画像313の画像処理を行って、予め認識しているカラーランドマークを検出する。このカラーランドマークのカラー画像313上での位置及び大きさをカメラ座標系での位置に変換する。更に、同時変換行列311を使用し、カラーランドマークのカメラ座標系での位置をロボット中心位置座標系における位置に変換し、ロボット中心位置座標系におけるカラーランドマーク位置の情報(カラーランドマーク相対位置情報)341を絶対座標算出部LZ350に出力する(ステップS108)。
【0076】
絶対座標算出部LZ350は、キネマティックオドメトリKINE310からのオドメトリ314と、ランドマークセンサ部CLS340からのカラーランドマーク相対位置情報341とが入力されると、予めメモリ内に格納されていたこれらのデータが更新される(ステップS109)。そして、絶対座標算出部LZ350が予め認識しているカラーランドマークの絶対座標(ワールド座標系での位置)、カラーランドマーク相対位置情報341、及びオドメトリ314を使用し、確率的手法によりロボット装置の絶対座標(ワールド座標系での位置)を算出する。そして、この絶対座標位置351を行動決定部SBL360に出力する。
【0077】
行動決定部SBL360は、障害物グリッド算出部OG330から障害物グリッド情報331が入力され、絶対座標算出部LZ350から絶対座標位置351が入力されると、予めメモリに格納されていたこれらのデータが更新される(ステップS111)。そして、行動決定部SBL360障害物グリッド算出部OG330からの障害物情報331により、ロボット装置1の周囲に存在する障害物に関する認識結果を取得し、絶対座標算出部LZ350から現在のロボット装置1の絶対座標を取得することにより、絶対座標系又はロボット装置中心のロボット中心座標系で与えられた目標地点に対して障害物に衝突せずに歩行可能な経路を生成し、経路に応じて経路を遂行する動作コマンドを発行する。即ち、入力データから状況に応じてロボット装置1が取るべき行動を決定し、その行動列を出力する(ステップS112)。
【0078】
また、人間によるナビゲーションの場合には、障害物グリッド算出部OG330からロボット装置の周囲に存在する障害物に関する認識結果及び絶対座標算出部LZ350からの現在のロボット装置の位置の絶対座標をユーザに提供し、このユーザからの入力に応じて動作コマンドを発行させる。
【0079】
図23は、上述のソフトウェアに入力されるデータの流れを模式的に示す図である。なお、図23において、図1及び図2に示す構成と同一構成要素には同一符号を付してその詳細な説明は省略する。
【0080】
顔検出部FDT(FaceDetector)371は、画像フレーム中から顔領域を検出するオブジェクトであり、カメラ等の画像入力装置からカラー画像202を受け取り、それを例えば9段階のスケール画像に縮小変換する。この全ての画像の中から顔に相当する矩形領域を探索する。重なりあった候補領域を削減して最終的に顔と判断された領域に関する位置、大きさ、及び特徴量等の情報372を出力して、顔識別部FI(FaceIdentify)377へ送る。
【0081】
顔識別部FI377は、検出された顔画像を識別するオブジェクトであり、顔の領域を示す矩形領域画像からなる情報372を顔検出部FDT371から受け取り、この顔画像がメモリに格納されている手持ちの人物辞書のうちでどの人物に相当するかを比較して人物の識別を行う。そして、顔検出部EDT371から受け取った顔画像の顔画像領域の位置、大きさ情報と共に人物のID情報378をDIL379に出力する。
【0082】
色認識部MCT(MultiColorTracker)373は、色認識を行うオブジェクトであり、カメラ等の画像入力装置からカラー画像202を受け取り、予め保有している複数のカラー・モデル情報に基づいて色領域を抽出し、連続した領域に分割する。色認識部MCT373は、分割した各領域の位置、大きさ及び特徴量等の情報374をDIL379に出力する。
【0083】
動き検出部MDT(MotionDetector)375は、画像の中で動いている部分を検出する部分であり、検出した動き領域の情報376を距離情報付加部DIL379に出力する。
【0084】
距離情報付加部DIL(DistanceInformationLinker)379は、入力された2次元の情報に距離情報を付加して3次元の情報を出力するオブジェクトであり、顔検出部FI377からのID情報378、色認識部MCT373からの分割した各領域の位置、大きさ及び特徴量等の情報374、動き検出部MDT375からの動き領域の情報376に距離情報を付加して3次元の情報380を短期記憶部STM(ShortTermMemory)381に出力する。
【0085】
短期記憶部STM381は、ロボット装置1の外部環境に関する情報を比較的短い時間だけ保持するオブジェクトであり、ArthurDecoder(図示せず)から音声認識結果(単語、音源方向、確信度)を受け取り、色認識部MCT373から肌色の領域の位置、大きさと顔領域の位置、大きさを受け取り、顔識別部FI377から人物のID情報等を受け取る。また、ロボット装置1の機体上の各センサからロボット装置の首の方向(関節角)を受け取る。そして、これらの認識結果及びセンサ出力を統合的に使って、現在どこにどの人物がいて、しゃべった言葉がどの人物のものであり、その人物とはこれまでにどんな対話を行ったのかという情報を保存する。こうした物体、即ちターゲットに関する物理情報と時間方向でみたイベント(履歴)を出力として、行動決定部(状況依存行動階層)(SBL)360等の上位モジュールに渡す。
【0086】
行動決定部SBLは、上述の短期記憶部STM381からの情報を基にロボット装置1の行動(状況に依存した行動)を決定するオブジェクトである。複数の行動を同時に評価したり、実行したりすることができる。また、行動を切り替えて機体をスリープ状態にしておき、別の行動を起動することができる。
【0087】
以下、本発明の実施の形態における上述した行動制御を搭載した2足歩行タイプのロボット装置1について詳細に説明する。この人間型のロボット装置1は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0088】
上述したように、図1に示すロボット装置1は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている。
【0089】
このロボット装置1が具備する関節自由度構成を図24に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0090】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0091】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0092】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0093】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度、即ち関節数を適宜増減することができることはいうまでもない。
【0094】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0095】
図25には、ロボット装置1の制御システム構成を模式的に示している。同図に示すように、ロボット装置1は、ヒトの四肢を表現した体幹部ユニット2,頭部ユニット3,腕部ユニット4R/L,脚部ユニット5R/Lと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット10とで構成される。
【0096】
ロボット装置1全体の動作は、制御ユニット10によって統括的に制御される。制御ユニット10は、CPU(Central Processing Unit)や、DRAM、フラッシュROM等の主要回路コンポーネント(図示しない)で構成される主制御部11と、電源回路やロボット装置1の各構成要素とのデータやコマンドの授受を行うインターフェイス(何れも図示しない)などを含んだ周辺回路12とで構成される。
【0097】
この制御ユニット10の設置場所は、特に限定されない。図25では体幹部ユニット2に搭載されているが、頭部ユニット3に搭載してもよい。あるいは、ロボット装置1外に制御ユニット10を配備して、ロボット装置1の機体とは有線又は無線で交信するようにしてもよい。
【0098】
図25に示したロボット装置1内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。即ち、頭部ユニット3には、首関節ヨー軸101、首関節ピッチ軸102、首関節ロール軸103の各々を表現する首関節ヨー軸アクチュエータA2、首関節ピッチ軸アクチュエータA3、首関節ロール軸アクチュエータA4が配設されている。
【0099】
また、頭部ユニット3には、外部の状況を撮像するためのCCD(Charge Coupled Device)カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイク、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【0100】
また、体幹部ユニット2には、体幹ピッチ軸104、体幹ロール軸105、体幹ヨー軸106の各々を表現する体幹ピッチ軸アクチュエータA5、体幹ロール軸アクチュエータA6、体幹ヨー軸アクチュエータA7が配設されている。また、体幹部ユニット2には、このロボット装置1の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【0101】
また、腕部ユニット4R/Lは、上腕ユニット41R/Lと、肘関節ユニット42R/Lと、前腕ユニット43R/Lに細分化されるが、肩関節ピッチ軸107、肩関節ロール軸108、上腕ヨー軸109、肘関節ピッチ軸110、前腕ヨー軸111、手首関節ピッチ軸112、手首関節ロール軸113の各々表現する肩関節ピッチ軸アクチュエータA8、肩関節ロール軸アクチュエータA9、上腕ヨー軸アクチュエータA10、肘関節ピッチ軸アクチュエータA11、肘関節ロール軸アクチュエータA12、手首関節ピッチ軸アクチュエータA13、手首関節ロール軸アクチュエータA14が配備されている。
【0102】
また、脚部ユニット5R/Lは、大腿部ユニット51R/Lと、膝ユニット52R/Lと、脛部ユニット53R/Lに細分化されるが、股関節ヨー軸115、股関節ピッチ軸116、股関節ロール軸117、膝関節ピッチ軸118、足首関節ピッチ軸119、足首関節ロール軸120の各々を表現する股関節ヨー軸アクチュエータA16、股関節ピッチ軸アクチュエータA17、股関節ロール軸アクチュエータA18、膝関節ピッチ軸アクチュエータA19、足首関節ピッチ軸アクチュエータA20、足首関節ロール軸アクチュエータA21が配備されている。各関節に用いられるアクチュエータA2,A3・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ACサーボ・アクチュエータで構成することができる。
【0103】
体幹部ユニット2、頭部ユニット3、各腕部ユニット4R/L、各脚部ユニット5R/Lなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部20,21,22R/L,23R/Lが配備されている。さらに、各脚部ユニット5R/Lの足底が着床したか否かを検出する接地確認センサ30R/Lを装着するとともに、体幹部ユニット2内には、姿勢を計測する姿勢センサ31を装備している。
【0104】
接地確認センサ30R/Lは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ31は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【0105】
接地確認センサ30R/Lの出力によって、歩行・走行などの動作期間中において、左右の各脚部が現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ31の出力により、体幹部分の傾きや姿勢を検出することができる。
【0106】
主制御部11は、各センサ30R/L,31の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部20,21,22R/L,23R/Lの各々に対して適応的な制御を行い、ロボット装置1の上肢、体幹、及び下肢が協調して駆動する全身運動パターンを実現できる。
【0107】
ロボット装置1の機体上での全身運動は、足部運動、ZMP(Zero Moment Point)軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容にしたがった動作を指示するコマンドを各副制御部20,21,22R/L,23R/Lに転送する。そして、各々の副制御部20,21,・・・等では、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・等に対して駆動制御信号を出力する。ここでいう「ZMP」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ZMP軌道」とは、例えばロボット装置1の歩行動作期間中にZMPが動く軌跡を意味する。なお、ZMPの概念並びにZMPを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic著“LEGGED LOCOMOTION ROBOTS”(加藤一郎外著『歩行ロボットと人工の足』(日刊工業新聞社))に記載されている。
【0108】
以上のように、ロボット装置1は、各々の副制御部20,21,・・・等が、主制御部11からの受信コマンドを解釈して、各アクチュエータA2,A3・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置1は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【0109】
また、ロボット装置1における制御ユニット10では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ等の各種センサ、及びCCDカメラからの画像情報、マイクからの音声情報等を統括して処理している。制御ユニット10では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイク、スピーカなどの各種センサ、各アクチュエータ、CCDカメラ及びバッテリが各々対応するハブを介して主制御部11と接続されている。
【0110】
主制御部11は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してDRAM内の所定位置に順次格納する。また、主制御部11は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをDRAM内の所定位置に格納する。DRAMに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部11がこのロボット装置1の動作制御を行う際に利用される。
【0111】
主制御部11は、ロボット装置1の電源が投入された初期時、制御プログラムを読み出し、これをDRAMに格納する。また、主制御部11は、上述のように主制御部11よりDRAMに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【0112】
さらに、主制御部11は、この判断結果及びDRAMに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータを駆動させることによりロボット装置1に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【0113】
このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、使用者からの指示及び働きかけに応じて自律的に行動できる。
【0114】
ところで、このロボット装置1は、内部状態に応じて自律的に行動することができる。そこで、ロボット装置1における制御プログラムのソフトウェア構成例について、図26乃至図31を用いて説明する。なお、この制御プログラムは、上述したように、予めフラッシュROM12に格納されており、ロボット装置1の電源投入初期時において読み出される。
【0115】
図26において、デバイス・ドライバ・レイヤ40は、制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラやタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0116】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ281〜28n等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0117】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、メモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0118】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0119】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図27に示す。
【0120】
ミドル・ウェア・レイヤ50は、図27に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール60〜68並びに入力セマンティクスコンバータモジュール69などを有する認識系70と、出力セマンティクスコンバータモジュール78並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール71〜77などを有する出力系79とから構成されている。
【0121】
認識系70の各信号処理モジュール60〜68は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール69に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0122】
入力セマンティクスコンバータモジュール69は、これら各信号処理モジュール60〜68から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ41に出力する。
【0123】
アプリケーション・レイヤ51は、図28に示すように、行動モデルライブラリ80、行動切換モジュール81、学習モジュール82、感情モデル83及び本能モデル84の5つのモジュールから構成されている。
【0124】
行動モデルライブラリ80には、図29に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデルが設けられている。
【0125】
そして、これら行動モデルは、それぞれ入力セマンティクスコンバータモジュール69から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル83に保持されている対応する情動のパラメータ値や、本能モデル84に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール81に出力する。
【0126】
なお、この実施の形態の場合、各行動モデルは、次の行動を決定する手法として、図30に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEnに間を接続するアークARC1〜ARCn1に対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0127】
具体的に、各行動モデルは、それぞれ自己の行動モデルを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEn毎に図31に示すような状態遷移表90を有している。
【0128】
この状態遷移表90では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0129】
したがって、図31の状態遷移表90で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果とともに与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果とともに与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0130】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデルが周期的に参照する感情モデル83及び本能モデル84にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル83に保持された「喜び(Joy)」、「驚き(Surprise)」又は「悲しみ(Sadness)」の何れかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0131】
また、状態遷移表90では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されているとともに、「入力イベント名」、「データ名」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0132】
したがって、図31の状態遷移表90で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0133】
各行動モデルは、それぞれこのような状態遷移表90として記述されたノードNODE0〜 NODEnが幾つも繋がるようにして構成されており、入力セマンティクスコンバータモジュール69から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール81に出力するようになされている。
【0134】
図29に示す行動切換モジュール81は、行動モデルライブラリ80の各行動モデルからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデルから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78に送出する。なお、この実施の形態においては、図30において下側に表記された行動モデルほど優先順位が高く設定されている。
【0135】
また、行動切換モジュール81は、行動完了後に出力セマンティクスコンバータモジュール78から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール82、感情モデル83及び本能モデル84に通知する。
【0136】
一方、学習モジュール82は、入力セマンティクスコンバータモジュール69から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【0137】
そして、学習モジュール82は、この認識結果及び行動切換えモジュール71からの通知に基づいて、「叩かれた(叱られた)」ときにはその行動の発現確率を低下させ、「撫でられた(誉められた)」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ70における対応する行動モデルの対応する遷移確率を変更する。
【0138】
他方、感情モデル83は、「喜び(Joy)」、「悲しみ(Sadness)」、「怒り(Anger)」、「驚き(Surprise)」、「嫌悪(Disgust)」及び「恐れ(Fear)」の合計6つの情動について、各情動毎にその情動の強さを表すパラメータを保持している。そして、感情モデル83は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0139】
具体的には、感情モデル83は、入力セマンティクスコンバータモジュール69から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記数式(11)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル83は、これと同様にして全ての情動のパラメータ値により更新する。
E=[t+1]=E=[t]+ke×ΔE
【0140】
なお、各認識結果や出力セマンティクスコンバータモジュール78からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0141】
ここで、出力セマンティクスコンバータモジュール78からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル83は、このような情報によっても感情を変化させる。これは、例えば、「叫ぶ」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール78からの通知は、上述した学習モジュール82にも入力されており、学習モジュール82は、その通知に基づいて行動モデルの対応する遷移確率を変更する。
【0142】
なお、行動結果のフィードバックは、行動切換モジュール81の出力(感情が付加された行動)によりなされるものであってもよい。
【0143】
一方、本能モデル84は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求毎にその欲求の強さを表すパラメータを保持している。そして、本能モデル84は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール69から与えられる認識結果や、経過時間及び行動切換モジュール81からの通知などに基づいて周期的に更新する。
【0144】
具体的には、本能モデル84は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール78からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記数式(12)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル84は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
I[k+1]=I[k]+ki×ΔI[k]
【0145】
なお、認識結果及び出力セマンティクスコンバータモジュール78からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール78からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0146】
なお、この具体例においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0147】
一方、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール78は、図27に示すように、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール81から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系79の対応する信号処理モジュール71〜77に与える。
【0148】
そしてこれら信号処理モジュール71〜77は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動をするために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び又はLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43及び信号処理回路を順次介して対応するアクチュエータ又はスピーカ又はLEDに順次送出する。
【0149】
このようにしてロボット装置1は、上述した制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動ができる。
【0150】
このような制御プログラムは、ロボット装置が読取可能な形式で記録された記録媒体を介して提供される。制御プログラムを記録する記録媒体としては、磁気読取方式の記録媒体(例えば、磁気テープ、フレキシブルディスク、磁気カード)、光学読取方式の記録媒体(例えば、CD−ROM、MO、CD−R、DVD)等が考えられる。記録媒体には、半導体メモリ(いわゆるメモリカード(矩形型、正方形型など形状は問わない。)、ICカード)等の記憶媒体も含まれる。また、制御プログラムは、いわゆるインターネット等を介して提供されてもよい。
【0151】
これらの制御プログラムは、専用の読込ドライバ装置、又はパーソナルコンピュータ等を介して再生され、有線又は無線接続によってロボット装置1に伝送されて読み込まれる。また、ロボット装置1は、半導体メモリ、又はICカード等の小型化された記憶媒体のドライブ装置を備える場合、これら記憶媒体から制御プログラムを直接読み込むこともできる。
【0152】
以上説明したように、本実施の形態のロボット装置にあって、行動制御装置は、ランドマークの幾何学的な位置関係からロボット装置の行動可能な範囲を求め、この行動可能範囲にしたがってロボット装置の行動を制御する。
【0153】
【発明の効果】
本発明によれば、離散的に配置されたランドマークを認識し、認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成し、前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成し、前記行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御するので、移動型ロボット装置の行動範囲の設定が簡便になる。また、ユーザの意図する範囲内での行動が可能となる。また、階段や机の下など、ロボット装置にとって危険な場所に勝手にロボット装置が行くのを防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、ヒューマノイド型の2足歩行のロボット装置を示す斜視図である。
【図2】本発明の実施の形態におけるロボット装置の外観構成を示す図であって、4足歩行の動物型ロボット装置を示す斜視図である。
【図3】本発明の実施の形態に係るロボット装置の概略を示すブロック図である。
【図4】本発明の実施の形態に係るロボット装置を動作するソフトウェアの構成を示す模式図である。
【図5】ロボット装置に適用される行動制御装置の機能ブロック図である。
【図6】ランドマークの一例を示す模式図である。
【図7】ロボット装置が行動可能領域内を自律的に行動するまでの模様を段階的に示した図である。
【図8】凸装アルゴリズムの流れを示す図である。
【図9】凸包によって作成された行動可能領域地図の具体例を示す図である。
【図10】領域法によって作成された行動可能領域地図の具体例を示す図である。
【図11】ポテンシャル場による行動可能領域地図の具体例を示す図である。
【図12】ランドマークの個数によって行動領域地図作成時に切り換えられる行動領域設定法の具体例を示す図である。
【図13】障害物認識装置の機能ブロック図である。
【図14】平面抽出部PLEXに入力される視差画像の生成を説明するための図である。
【図15】平面抽出部PLEXが障害物を認識する処理手順を示すフローチャートである。
【図16】平面抽出部PLEXが検出する平面のパラメータを示す図である。
【図17】カメラ座標系から足底接地平面座標系への変換処理を説明するための図である。
【図18】平面抽出部PLEXにて抽出された平面上の点を示す図である。
【図19】ロボットビューから床面を抽出し、さらに座標変換して2次元(床平面)上に障害物を表現したことを示す図である。
【図20】ロボット装置の置かれた環境の具体例を示す図である。
【図21】障害物地図の具体例を示す図である。
【図22】本発明の実施の形態におけるロボット装置のソフトウェアの動作を示すフローチャートである。
【図23】同ソフトウェアに入力されるデータの流れを示す模式図である。
【図24】本発明の実施の形態におけるロボット装置の自由度構成モデルを模式的に示す図である。
【図25】同ロボット装置の回路構成を示すブロック図である。
【図26】同ロボット装置のソフトウェア構成を示すブロック図である。
【図27】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図28】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図29】アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図30】同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図31】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、410 ランドマーク認識部、420 ランドマーク地図作成部、430 行動可能領域認識部、440 行動制御部、1004 ランドマーク、1110 行動可能領域
Claims (8)
- 移動型ロボット装置の行動を制御する行動制御装置において、
離散的に配置されたランドマークを認識するランドマーク認識手段と、
前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、
前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、
前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段と
を備えることを特徴とする行動制御装置。 - 前記ランドマーク地図作成手段は、前記ランドマーク認識手段によって認識されたランドマーク情報と、ロボット装置自身のオドメトリ情報を統合してランドマークの幾何的な位置を推定し、これをランドマーク地図として出力することを特徴とする請求項1記載の行動制御装置。
- 前記行動制御手段は、ロボット装置周辺の環境の障害物地図に、前記行動可能領域地図を仮想的な障害物として加え、当該障害物地図内において、自由領域と判定された領域のみを移動するようにロボット装置の行動を制御することを特徴とする請求項1記載の行動制御装置。
- 移動型ロボット装置の行動を制御するための行動制御方法において、
離散的に配置されたランドマークを認識するランドマーク認識工程と、
前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、
前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、
前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程と
を備えることを特徴とする行動制御方法。 - 移動型ロボット装置によって実行されてその行動を制御するための行動制御プログラムにおいて、
離散的に配置されたランドマークを認識するランドマーク認識工程と、
前記ランドマーク認識工程が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成工程と、
前記ランドマーク地図作成工程が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識工程と、
前記行動可能領域認識工程が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御工程と
を備えてなることを特徴とする行動制御プログラム。 - 頭部ユニットと、少なくとも1以上の可動脚ユニットと、情報処理手段を有する胴体ユニットとを備えてなり、床面上の物体を認識しながら前記可動脚ユニットを用いて床面を移動する移動型ロボット装置において、
前記床面上に離散的に配置されたランドマークを認識するランドマーク認識手段と、
前記ランドマーク認識手段が認識した全てのランドマークの位置を統合し、それらのランドマークの幾何学的な位置関係に基づいてランドマーク地図を作成するランドマーク地図作成手段と、
前記ランドマーク地図作成手段が作成した前記ランドマーク地図から移動型ロボット装置の行動可能な範囲を示す行動可能領域地図を作成する行動可能領域認識手段と、
前記行動可能領域認識手段が作成した行動可能領域地図を用いて前記移動型ロボット装置の自律的な行動を制御する行動制御手段と
を備えることを特徴とする移動型ロボット装置。 - 前記ランドマーク地図作成手段は、前記ランドマーク認識手段によって認識されたランドマーク情報と、ロボット装置自身のオドメトリ情報を統合してランドマークの幾何的な位置を推定し、これをランドマーク地図として出力することを特徴とする請求項6記載の移動型ロボット装置。
- 前記行動制御手段は、ロボット装置周辺の環境の障害物地図に、前記行動可能領域地図を仮想的な障害物として加え、当該障害物地図内において、自由領域と判定された領域のみを移動するようにロボット装置の行動を制御することを特徴とする請求項6記載の移動型ロボット装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092350A JP2004298977A (ja) | 2003-03-28 | 2003-03-28 | 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 |
US10/810,188 US20040230340A1 (en) | 2003-03-28 | 2004-03-26 | Behavior controlling apparatus, behavior control method, behavior control program and mobile robot apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092350A JP2004298977A (ja) | 2003-03-28 | 2003-03-28 | 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004298977A true JP2004298977A (ja) | 2004-10-28 |
Family
ID=33405473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003092350A Withdrawn JP2004298977A (ja) | 2003-03-28 | 2003-03-28 | 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20040230340A1 (ja) |
JP (1) | JP2004298977A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100811885B1 (ko) | 2006-09-11 | 2008-03-10 | 한국전자통신연구원 | 이동 로봇의 위치 인식 방법 및 이를 위한 장치 |
JP2009080807A (ja) * | 2007-09-12 | 2009-04-16 | Pepperl & Fuchs Gmbh | 車両の位置を決定する方法および装置、コンピュータプログラムおよびコンピュータプログラム製品 |
JP2011059043A (ja) * | 2009-09-14 | 2011-03-24 | Nara Institute Of Science & Technology | 経路探索装置及び移動システム |
KR101122857B1 (ko) * | 2009-12-14 | 2012-03-21 | 서울대학교산학협력단 | 랜드마크를 이용한 비젼 트래킹 시스템 및 방법 |
JP2014157515A (ja) * | 2013-02-15 | 2014-08-28 | Konica Minolta Inc | タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム |
JP2015055969A (ja) * | 2013-09-11 | 2015-03-23 | 学校法人常翔学園 | 移動ロボット、移動ロボット制御システム、制御図形の表示されたシート、及びプログラム |
JP2019513994A (ja) * | 2016-04-01 | 2019-05-30 | ローカス ロボティクス コーポレーションLocus Robotics Corp. | 計画ロボット移動経路を使用したナビゲーション |
JP2019189380A (ja) * | 2018-04-23 | 2019-10-31 | 大日本印刷株式会社 | 在庫管理装置、在庫管理システム、及び、プログラム |
JP2020519987A (ja) * | 2017-04-21 | 2020-07-02 | エックス デベロップメント エルエルシー | 環境地図生成および位置整合のための方法ならびにシステム |
JP2022520140A (ja) * | 2018-10-30 | 2022-03-29 | エーエルティー リミティッド ライアビリティ カンパニー | 移動オブジェクトのリバース光学的追跡のためのシステム及び方法 |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925357B2 (en) | 2002-07-25 | 2005-08-02 | Intouch Health, Inc. | Medical tele-robotic system |
US20040162637A1 (en) | 2002-07-25 | 2004-08-19 | Yulun Wang | Medical tele-robotic system with a master remote station with an arbitrator |
JP2004299025A (ja) * | 2003-04-01 | 2004-10-28 | Honda Motor Co Ltd | 移動ロボット制御装置、移動ロボット制御方法及び移動ロボット制御プログラム |
US7813836B2 (en) | 2003-12-09 | 2010-10-12 | Intouch Technologies, Inc. | Protocol for a remotely controlled videoconferencing robot |
JP2005324297A (ja) * | 2004-05-17 | 2005-11-24 | Matsushita Electric Ind Co Ltd | ロボット |
JP3752251B2 (ja) * | 2004-07-01 | 2006-03-08 | シャープ株式会社 | 自走式移動車 |
US8077963B2 (en) * | 2004-07-13 | 2011-12-13 | Yulun Wang | Mobile robot with a head-based movement mapping scheme |
US10809071B2 (en) | 2017-10-17 | 2020-10-20 | AI Incorporated | Method for constructing a map while performing work |
US7840308B2 (en) * | 2004-09-10 | 2010-11-23 | Honda Motor Co., Ltd. | Robot device control based on environment and position of a movable robot |
JP4564447B2 (ja) * | 2004-12-14 | 2010-10-20 | 本田技研工業株式会社 | 自律移動ロボット |
US9198728B2 (en) | 2005-09-30 | 2015-12-01 | Intouch Technologies, Inc. | Multi-camera mobile teleconferencing platform |
US20070150094A1 (en) * | 2005-12-23 | 2007-06-28 | Qingfeng Huang | System and method for planning and indirectly guiding robotic actions based on external factor tracking and analysis |
US8849679B2 (en) | 2006-06-15 | 2014-09-30 | Intouch Technologies, Inc. | Remote controlled robot system that provides medical images |
GB0614529D0 (en) * | 2006-07-21 | 2006-08-30 | Trw Ltd | Generating A Map |
US8265793B2 (en) | 2007-03-20 | 2012-09-11 | Irobot Corporation | Mobile robot for telecommunication |
US9160783B2 (en) | 2007-05-09 | 2015-10-13 | Intouch Technologies, Inc. | Robot system that operates through a network firewall |
US10875182B2 (en) | 2008-03-20 | 2020-12-29 | Teladoc Health, Inc. | Remote presence system mounted to operating room hardware |
US8179418B2 (en) | 2008-04-14 | 2012-05-15 | Intouch Technologies, Inc. | Robotic based health care system |
US8170241B2 (en) | 2008-04-17 | 2012-05-01 | Intouch Technologies, Inc. | Mobile tele-presence system with a microphone system |
KR101503904B1 (ko) * | 2008-07-07 | 2015-03-19 | 삼성전자 주식회사 | 이동 로봇의 지도 구성 장치 및 방법 |
US9193065B2 (en) | 2008-07-10 | 2015-11-24 | Intouch Technologies, Inc. | Docking system for a tele-presence robot |
US9842192B2 (en) | 2008-07-11 | 2017-12-12 | Intouch Technologies, Inc. | Tele-presence robot system with multi-cast features |
US8340819B2 (en) | 2008-09-18 | 2012-12-25 | Intouch Technologies, Inc. | Mobile videoconferencing robot system with network adaptive driving |
US8996165B2 (en) | 2008-10-21 | 2015-03-31 | Intouch Technologies, Inc. | Telepresence robot with a camera boom |
US8463435B2 (en) | 2008-11-25 | 2013-06-11 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
US9138891B2 (en) | 2008-11-25 | 2015-09-22 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
US8849680B2 (en) | 2009-01-29 | 2014-09-30 | Intouch Technologies, Inc. | Documentation through a remote presence robot |
US8897920B2 (en) | 2009-04-17 | 2014-11-25 | Intouch Technologies, Inc. | Tele-presence robot system with software modularity, projector and laser pointer |
US8384755B2 (en) | 2009-08-26 | 2013-02-26 | Intouch Technologies, Inc. | Portable remote presence robot |
US11399153B2 (en) | 2009-08-26 | 2022-07-26 | Teladoc Health, Inc. | Portable telepresence apparatus |
JP5398489B2 (ja) * | 2009-11-20 | 2014-01-29 | 村田機械株式会社 | 自律移動体とその制御方法 |
US11154981B2 (en) | 2010-02-04 | 2021-10-26 | Teladoc Health, Inc. | Robot user interface for telepresence robot system |
US8670017B2 (en) | 2010-03-04 | 2014-03-11 | Intouch Technologies, Inc. | Remote presence system including a cart that supports a robot face and an overhead camera |
US9098905B2 (en) * | 2010-03-12 | 2015-08-04 | Google Inc. | System and method for determining position of a device |
US8935005B2 (en) | 2010-05-20 | 2015-01-13 | Irobot Corporation | Operating a mobile robot |
US9014848B2 (en) | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
US8918213B2 (en) | 2010-05-20 | 2014-12-23 | Irobot Corporation | Mobile human interface robot |
US10343283B2 (en) | 2010-05-24 | 2019-07-09 | Intouch Technologies, Inc. | Telepresence robot system that can be accessed by a cellular phone |
US10808882B2 (en) | 2010-05-26 | 2020-10-20 | Intouch Technologies, Inc. | Tele-robotic system with a robot face placed on a chair |
GB2484316A (en) * | 2010-10-06 | 2012-04-11 | St Microelectronics Res & Dev | Self navigation of mobile devices |
US9264664B2 (en) | 2010-12-03 | 2016-02-16 | Intouch Technologies, Inc. | Systems and methods for dynamic bandwidth allocation |
KR20120070291A (ko) * | 2010-12-21 | 2012-06-29 | 삼성전자주식회사 | 보행 로봇 및 그의 동시 위치 인식 및 지도 작성 방법 |
US8930019B2 (en) | 2010-12-30 | 2015-01-06 | Irobot Corporation | Mobile human interface robot |
EP2668008A4 (en) | 2011-01-28 | 2018-01-24 | Intouch Technologies, Inc. | Interfacing with a mobile telepresence robot |
US9323250B2 (en) | 2011-01-28 | 2016-04-26 | Intouch Technologies, Inc. | Time-dependent navigation of telepresence robots |
TW201240636A (en) * | 2011-04-11 | 2012-10-16 | Micro Star Int Co Ltd | Cleaning system |
US10769739B2 (en) | 2011-04-25 | 2020-09-08 | Intouch Technologies, Inc. | Systems and methods for management of information among medical providers and facilities |
US20140139616A1 (en) | 2012-01-27 | 2014-05-22 | Intouch Technologies, Inc. | Enhanced Diagnostics for a Telepresence Robot |
US9098611B2 (en) | 2012-11-26 | 2015-08-04 | Intouch Technologies, Inc. | Enhanced video interaction for a user interface of a telepresence network |
KR20130049610A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 이동 기기 및 보행 로봇 |
US8836751B2 (en) | 2011-11-08 | 2014-09-16 | Intouch Technologies, Inc. | Tele-presence system with a user interface that displays different communication links |
US8924011B2 (en) * | 2012-04-03 | 2014-12-30 | Knu-Industry Cooperation Foundation | Intelligent robot apparatus responsive to environmental change and method of controlling and reconfiguring intelligent robot apparatus |
US9251313B2 (en) | 2012-04-11 | 2016-02-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
US8902278B2 (en) | 2012-04-11 | 2014-12-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
US9361021B2 (en) | 2012-05-22 | 2016-06-07 | Irobot Corporation | Graphical user interfaces including touchpad driving interfaces for telemedicine devices |
EP2852881A4 (en) | 2012-05-22 | 2016-03-23 | Intouch Technologies Inc | GRAPHIC USER INTERFACES CONTAINING TOUCH PAD TOUCH INTERFACES FOR TELEMEDICINE DEVICES |
US20140288704A1 (en) * | 2013-03-14 | 2014-09-25 | Hanson Robokind And Intelligent Bots, Llc | System and Method for Controlling Behavior of a Robotic Character |
DE102013207895A1 (de) * | 2013-04-30 | 2014-10-30 | Kuka Laboratories Gmbh | Fahrerloses Transportfahrzeug, System mit einem Rechner und einem fahrerlosen Transportfahrzeug, Verfahren zum Betreiben eines fahrerlosen Transportfahrzeugs |
JP2015215651A (ja) * | 2014-05-08 | 2015-12-03 | 株式会社日立製作所 | ロボットおよび自己位置推定方法 |
US10081098B1 (en) | 2014-08-25 | 2018-09-25 | Boston Dynamics, Inc. | Generalized coordinate surrogates for integrated estimation and control |
US9387588B1 (en) | 2014-08-25 | 2016-07-12 | Google Inc. | Handling gait disturbances with asynchronous timing |
US9618937B1 (en) | 2014-08-25 | 2017-04-11 | Google Inc. | Slip detection using robotic limbs |
US9446518B1 (en) * | 2014-11-11 | 2016-09-20 | Google Inc. | Leg collision avoidance in a robotic device |
US9499218B1 (en) | 2014-12-30 | 2016-11-22 | Google Inc. | Mechanically-timed footsteps for a robotic device |
US9594377B1 (en) * | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
US9586316B1 (en) | 2015-09-15 | 2017-03-07 | Google Inc. | Determination of robotic step path |
US9789919B1 (en) | 2016-03-22 | 2017-10-17 | Google Inc. | Mitigating sensor noise in legged robots |
JP6558393B2 (ja) * | 2017-04-06 | 2019-08-14 | トヨタ自動車株式会社 | 進路設定装置及び進路設定方法 |
US11862302B2 (en) | 2017-04-24 | 2024-01-02 | Teladoc Health, Inc. | Automated transcription and documentation of tele-health encounters |
JP7000704B2 (ja) * | 2017-05-16 | 2022-01-19 | 富士フイルムビジネスイノベーション株式会社 | 移動式サービス提供装置及びプログラム |
US10483007B2 (en) | 2017-07-25 | 2019-11-19 | Intouch Technologies, Inc. | Modular telehealth cart with thermal imaging and touch screen user interface |
US11636944B2 (en) | 2017-08-25 | 2023-04-25 | Teladoc Health, Inc. | Connectivity infrastructure for a telehealth platform |
US10617299B2 (en) | 2018-04-27 | 2020-04-14 | Intouch Technologies, Inc. | Telehealth cart that supports a removable tablet with seamless audio/video switching |
JP7243110B2 (ja) * | 2018-10-02 | 2023-03-22 | ソニーグループ株式会社 | 情報処理装置及び情報処理方法、コンピュータプログラム、並びに荷物受け取り支援システム |
JP2020179453A (ja) * | 2019-04-25 | 2020-11-05 | セイコーエプソン株式会社 | ロボットシステムの制御方法およびロボットシステム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL113913A (en) * | 1995-05-30 | 2000-02-29 | Friendly Machines Ltd | Navigation method and system |
US6539284B2 (en) * | 2000-07-25 | 2003-03-25 | Axonn Robotics, Llc | Socially interactive autonomous robot |
GB0126497D0 (en) * | 2001-11-03 | 2002-01-02 | Dyson Ltd | An autonomous machine |
WO2003096054A2 (en) * | 2002-05-10 | 2003-11-20 | Honda Giken Kogyo Kabushiki Kaisha | Real-time target tracking of an unpredictable target amid unknown obstacles |
US7054716B2 (en) * | 2002-09-06 | 2006-05-30 | Royal Appliance Mfg. Co. | Sentry robot system |
AU2003300959A1 (en) * | 2002-12-17 | 2004-07-22 | Evolution Robotics, Inc. | Systems and methods for visual simultaneous localization and mapping |
US7805220B2 (en) * | 2003-03-14 | 2010-09-28 | Sharper Image Acquisition Llc | Robot vacuum with internal mapping system |
-
2003
- 2003-03-28 JP JP2003092350A patent/JP2004298977A/ja not_active Withdrawn
-
2004
- 2004-03-26 US US10/810,188 patent/US20040230340A1/en not_active Abandoned
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100811885B1 (ko) | 2006-09-11 | 2008-03-10 | 한국전자통신연구원 | 이동 로봇의 위치 인식 방법 및 이를 위한 장치 |
JP2009080807A (ja) * | 2007-09-12 | 2009-04-16 | Pepperl & Fuchs Gmbh | 車両の位置を決定する方法および装置、コンピュータプログラムおよびコンピュータプログラム製品 |
US8385594B2 (en) | 2007-09-12 | 2013-02-26 | Pepperl +Fuchs | Method and apparatus for determining the position of a vehicle, computer program and computer program product |
JP2011059043A (ja) * | 2009-09-14 | 2011-03-24 | Nara Institute Of Science & Technology | 経路探索装置及び移動システム |
KR101122857B1 (ko) * | 2009-12-14 | 2012-03-21 | 서울대학교산학협력단 | 랜드마크를 이용한 비젼 트래킹 시스템 및 방법 |
JP2014157515A (ja) * | 2013-02-15 | 2014-08-28 | Konica Minolta Inc | タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム |
JP2015055969A (ja) * | 2013-09-11 | 2015-03-23 | 学校法人常翔学園 | 移動ロボット、移動ロボット制御システム、制御図形の表示されたシート、及びプログラム |
JP2019513994A (ja) * | 2016-04-01 | 2019-05-30 | ローカス ロボティクス コーポレーションLocus Robotics Corp. | 計画ロボット移動経路を使用したナビゲーション |
JP2020519987A (ja) * | 2017-04-21 | 2020-07-02 | エックス デベロップメント エルエルシー | 環境地図生成および位置整合のための方法ならびにシステム |
JP6986188B6 (ja) | 2017-04-21 | 2022-02-08 | イントリンジック イノベーション エルエルシー | 環境地図生成および位置整合のための方法ならびにシステム |
JP2019189380A (ja) * | 2018-04-23 | 2019-10-31 | 大日本印刷株式会社 | 在庫管理装置、在庫管理システム、及び、プログラム |
JP7334398B2 (ja) | 2018-04-23 | 2023-08-29 | 大日本印刷株式会社 | 在庫管理装置、在庫管理システム、及び、プログラム |
JP2022520140A (ja) * | 2018-10-30 | 2022-03-29 | エーエルティー リミティッド ライアビリティ カンパニー | 移動オブジェクトのリバース光学的追跡のためのシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20040230340A1 (en) | 2004-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004298977A (ja) | 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置 | |
JP3945279B2 (ja) | 障害物認識装置、障害物認識方法、及び障害物認識プログラム並びに移動型ロボット装置 | |
JP2004110802A (ja) | 環境同定装置、環境同定方法、プログラム及び記録媒体、並びにロボット装置 | |
US6493606B2 (en) | Articulated robot and method of controlling the motion of the same | |
WO2004018159A1 (ja) | 環境同定装置及び環境同定方法、並びにロボット装置 | |
KR100898435B1 (ko) | 로봇 장치 및 그 제어 방법 | |
JP3855812B2 (ja) | 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置 | |
JP3968501B2 (ja) | ロボットの自己位置同定システム及び自己位置同定方法 | |
KR100941209B1 (ko) | 로봇 장치, 얼굴 인식 방법 및 얼굴 인식 장치 | |
US6556892B2 (en) | Control device and control method for robot | |
JP2003266345A (ja) | 経路計画装置、経路計画方法及び経路計画プログラム並びに移動型ロボット装置 | |
JP4016180B2 (ja) | 平面抽出方法、その装置、そのプログラム、その記録媒体及び撮像装置 | |
JP2006082150A (ja) | ロボット装置及びその行動制御方法 | |
JP2003266349A (ja) | 位置認識方法、その装置、そのプログラム、その記録媒体及び位置認識装置搭載型ロボット装置 | |
JP4535096B2 (ja) | 平面抽出方法、その装置、そのプログラム、その記録媒体及び撮像装置 | |
JP4179230B2 (ja) | ロボット装置及びその動作制御方法 | |
Kim et al. | Providing services using network-based humanoids in a home environment | |
Kemp et al. | Humanoids | |
JP2004298975A (ja) | ロボット装置、障害物探索方法 | |
JP2003271958A (ja) | 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置 | |
JP7309371B2 (ja) | ロボット制御システム | |
JP4281286B2 (ja) | ロボット装置及びその制御方法 | |
JP2002059384A (ja) | ロボットのための学習システム及び学習方法 | |
JP2004130427A (ja) | ロボット装置及びロボット装置の動作制御方法 | |
JP2004114285A (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: 20060606 |