JP4524552B2 - ロボット制御装置および方法、記録媒体、並びにプログラム - Google Patents

ロボット制御装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP4524552B2
JP4524552B2 JP2003309962A JP2003309962A JP4524552B2 JP 4524552 B2 JP4524552 B2 JP 4524552B2 JP 2003309962 A JP2003309962 A JP 2003309962A JP 2003309962 A JP2003309962 A JP 2003309962A JP 4524552 B2 JP4524552 B2 JP 4524552B2
Authority
JP
Japan
Prior art keywords
command
abstract
recognition
specific
generated
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.)
Expired - Fee Related
Application number
JP2003309962A
Other languages
English (en)
Other versions
JP2005074594A (ja
Inventor
隆之 篠原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003309962A priority Critical patent/JP4524552B2/ja
Publication of JP2005074594A publication Critical patent/JP2005074594A/ja
Application granted granted Critical
Publication of JP4524552B2 publication Critical patent/JP4524552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Toys (AREA)

Description

本発明は、ロボット制御装置および方法、記録媒体、並びにプログラムに関し、特に、外部情報に対するロボットの自律動作の応答速度を向上させるようにしたロボット制御装置および方法、記録媒体、並びにプログラムに関する。
近年においては、例えば、玩具等として、外部の状態を認識し、その認識結果に基づいて、ある仕草をしたりするロボット(本明細書においては、ぬいぐるみ状のものを含む)が製品化されている。
このロボットの制御方法としてロボットのハードウェアに依存するミドルウェア層とハードウェア非依存のアプリケーション層とを組み合わせて、認識結果に基づいて、所定のしぐさをしたりするロボットが開示されている(例えば、特許文献1参照)。
このハードウェアに依存するミドルウェア層とハードウェア非依存のアプリケーション層は、より詳細には、図1で示されるような構成となっている。すなわち、図1の1点鎖線と点線で挟まれた領域で示される認識モジュール1、および、行動モジュール3が、設けられハードウェアからの情報を取得し、さらに、ハードウェアを直接制御するミドルウェア層であり、図中の1点鎖線より上の領域で示される行動選択モジュール2が、アプリケーション層である。
認識モジュール1は、ロボットのハードウェア(各種のセンサなど)から入力されるロボットの外部情報を取得し、取得した具体的な外部情報に基づいて抽象的な外部情報を行動選択モジュール2に供給する。具体的な外部情報とは、例えば、外部情報が画像情報であった場合、自らの位置からみたボールの角度と、ボールまでの距離といったハードウェアにより測定される情報である。これに対して、抽象的な外部情報とは、具体的な外部情報を抽象的にしたもので、例えば、ボールが自らの位置から見て「右側にある」、「左側にある」、または「正面にある」といった情報である。
認識モジュール1は、例えば、上述のように、具体的な外部情報としてボールが撮像された場合、この具体的な外部情報に基づいて、ボールが自らの位置から見て「右側にある」、「正面にある」、または「左側にある」といった、抽象的な外部情報を生成して行動選択モジュール2に供給する。
行動選択モジュール2は、認識モジュール1より供給される抽象的な情報に基づいて、行動を選択し、抽象的なコマンドを行動モジュール3に供給する。すなわち、上述したようにボールが撮像された場合、抽象的な外部情報としてボールが自らの「正面にある」とき、例えば、行動選択モジュール2は、行動モジュール3に対して「ボールを蹴れ」という抽象的なコマンドを供給する。また、抽象的な外部情報としてボールが自らの「右側にある」、または、「左側にある」とき、例えば、行動選択モジュール2は、行動モジュール3に対して「左に移動せよ」、または、「右に移動せよ」といった抽象的なコマンドを供給する。
行動モジュール3は、行動選択モジュール2から供給された抽象的なコマンドに対応して、ロボットの動作機構を制御して、コマンドに応じた動作を実行させる。すなわち、例えば、「ボールを蹴れ」というコマンドを受けた場合、行動モジュール3は、例えば、脚部を制御するアクチュエータを制御して、ボールを蹴る動作を実行させる。また、例えば、「右に移動せよ」、または、「左に移動せよ」というコマンドを受けた場合、自らの位置を所定の距離だけ、右側、または、左側に移動させるように動作機構を制御する。
以上のような処理により、例えば、ロボットは、ボールが見えると自らの右側であるか、左側であるかの情報に基づいて、所定の距離だけ左側に移動したり、または、右側に移動したりするといった動作をすることで、ボールが自らの正面の位置であると判定されるまで繰り返し、最終的に正面であると判定される状態になった場合、すなわち、実際にロボットがボールの正面に移動した場合、ボールを蹴るといった動作を実行することになる。
特開2002−113675号公報
しかしながら、上述の構成では、行動選択モジュール2が行動モジュール3に供給するコマンドそのものが抽象的なものでしかないので、行動モジュール3からロボットの各動作機構の制御も抽象的なコマンドでしかないものとなってしまう。結果として、例えば、上述のようにボールを見たら蹴るという行動をさせる場合、ボールが、例えば、自分の右側、または、左側にあると認識できたとしても、行動モジュール3に供給されるコマンドは抽象的なものであるので、自分の右側にボールがあれば、所定の距離だけ右に移動し、左側にボールがあれば、所定の距離だけ左に移動するのみで、具体的に右や左に移動する距離が指示されないため、ボールが自らの正面にあると判定されるまで、何度か右への移動、または、左への移動を繰り返す必要があり、ボールを見つけてから、ボールを蹴るまでに時間が掛かり過ぎてしまうという課題があった。
本発明はこのような状況に鑑みてなされたものであり、特に、ミドルウェア層とアプリケーション層の構造を残したまま、外部情報に対するロボットの自律動作の応答速度を向上させるようにするものである。
本発明のロボット制御装置は、外部情報を認識する認識手段と、認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段と、認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段と、抽象的コマンド生成手段により生成された抽象的なコマンドと、認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段と、具体的コマンド生成手段により生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行手段とを備え、抽象的コマンド生成手段は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドを生成することを特徴とする。
前記外部情報には、音声情報、画像情報、圧力情報、または、温度情報を含ませるようにすることができる。
本発明のロボット制御方法は、外部情報を認識する認識ステップと、認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行ステップとを含み、抽象的コマンド生成ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドを生成することを特徴とする。
本発明の記録媒体のプログラムは、外部情報の認識を制御する認識制御ステップと、認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドの実行を制御させるコマンド実行制御ステップとを含み、抽象的コマンド生成制御ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドの生成を制御するを含むことを特徴とする。
本発明のプログラムは、外部情報の認識を制御する認識制御ステップと、認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドの実行を制御させるコマンド実行制御ステップとを含む処理をコンピュータに実行させ、抽象的コマンド生成制御ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドの生成をすることを特徴とする。
本発明のロボット制御装置および方法、並びにプログラムにおいては、外部情報が認識され、認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報が生成され、生成された抽象的な認識情報に基づいて、抽象的なコマンドが生成され、生成された抽象的なコマンドと、生成された具体的な認識情報に基づいて、具体的なコマンドが生成され、生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドが実行され、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かが認識され、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドが生成される。
本発明のロボット制御装置は、独立した装置であっても良いし、ロボット制御を行うブロックであっても良い。
本発明によれば、ミドルウェア層とアプリケーション層の構造を残したまま、外部情報に対するロボットの自律動作の応答速度を向上させるようにすることが可能となる。
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
即ち、本発明のロボット制御装置は、外部情報を認識する認識手段(例えば、図4の胴体ユニット12、または、頭部ユニット14)と、認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段(例えば、図4の認識モジュール51)と、認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段(例えば、図4の行動選択モジュール52)と、抽象的コマンド生成手段により生成された抽象的なコマンドと、認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段(例えば、図4の認識行動モジュール53)と、具体的コマンド生成手段により生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行手段(例えば、図4の行動モジュール54)とを備え、抽象的コマンド生成手段は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、前記生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、前記抽象的なコマンドを生成することを特徴とする。
本発明のロボット制御方法は、外部情報を認識する認識ステップ(例えば、図5のフローチャートのステップS2)と、認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップ(例えば、図5のフローチャートのステップS3,S4)と、認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップ(例えば、図6のフローチャートのステップS13、またはS16)と、抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップ(例えば、図5のフローチャートのステップS25)と、具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行ステップ(例えば、図5のフローチャートのステップS26)とを含み、抽象的コマンド生成ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、抽象的なコマンドを生成することを特徴とする。
尚、記録媒体、および、プログラムに係る発明については、ロボット制御方法と同様であるので省略する。
図2は、本発明を適用したロボットの一実施の形態の外観構成例を示しており、図3は、その電気的構成例を示している。
本実施の形態では、ロボットは、例えば、犬等の四つ足の動物の形状のものとなっており、胴体部ユニット12の前後左右に、それぞれ脚部ユニット13A,13B,13C,13Dが連結されるとともに、胴体部ユニット12の前端部と後端部に、それぞれ頭部ユニット14と尻尾部ユニット15が連結されることにより構成されている。
尻尾部ユニット15は、胴体部ユニット12の上面に設けられたベース部15Bから、2自由度をもって湾曲または揺動自在に引き出されている。
胴体部ユニット12には、ロボット全体の制御を行うコントローラ20、ロボットの動力源となるバッテリ21、並びにバッテリセンサ22および熱センサ23からなる内部センサ部24などが収納されている。
頭部ユニット14には、「耳」に相当するマイク(マイクロフォン)25、「目」に相当するCCD(Charge Coupled Device)カメラ16、「触覚」に相当するタッチセンサ27、および「口」に相当するスピーカ28が、それぞれ所定位置に配設されている他、LED(Light Emitting Diode)29が、「目」の位置の設けられている。また、頭部ユニット14には、口の下顎に相当する下顎部14Aが1自由度をもって可動に取り付けられており、この下顎部14Aが動くことにより、ロボットの口の開閉動作が実現されるようになっている。
脚部ユニット13A乃至13Dそれぞれの関節部分や、脚部ユニット13A乃至13Dそれぞれと胴体部ユニット12の連結部分、頭部ユニット14と胴体部ユニット12の連結部分、頭部ユニット14と下顎部14Aの連結部分、並びに尻尾部ユニット15と胴体部ユニット12の連結部分などには、図3に示すように、それぞれアクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2が配設されている。
頭部ユニット14におけるマイク25は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、コントローラ20に送出する。CCDカメラ26は、周囲の状況を撮像し、得られた画像信号を、コントローラ20に送出する。
タッチセンサ27は、例えば、頭部ユニット14の上部に設けられており、ユーザからの「なでる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号としてコントローラ20に送出する。
胴体部ユニット12におけるバッテリセンサ22は、バッテリ21の残量を検出し、その検出結果を、バッテリ残量検出信号としてコントローラ20に送出する。熱センサ23は、ロボット内部の熱を検出し、その検出結果を、熱検出信号としてコントローラ20に送出する。
コントローラ20は、CPU(Central Processing Unit)20Aやメモリ20B等を内蔵しており、CPU20Aにおいて、メモリ20Bに記憶された制御プログラムが実行されることにより、各種の処理を行う。
即ち、コントローラ20は、マイク25や、CCDカメラ26、タッチセンサ27、バッテリセンサ22、熱センサ23から与えられる音声信号、画像信号、圧力検出信号、バッテリ残量検出信号、熱検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断する。
さらに、コントローラ20は、この判断結果等に基づいて、続く行動を決定し、その決定結果に基づいて、アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2のうちの必要なものを駆動させる。これにより、頭部ユニット14を上下左右に振らせたり、下顎部14Aを開閉させる。さらには、尻尾部ユニット15を動かせたり、各脚部ユニット13A乃至13Dを駆動して、ロボットを歩行させるなどの行動を行わせる。
また、コントローラ20は、必要に応じて、合成音、あるいは後述するようなエコーバック音声を生成し、スピーカ28に供給して出力させたり、ロボットの「目」の位置に設けられたLED29を点灯、消灯または点滅させる。
以上のようにして、ロボットは、周囲の状況等に基づいて自律的に行動をとるようになっている。
次に、図5の機能ブロック図を参照して、コントローラ20の機能について説明する。
コントローラ20の機能は、ミドルウェア層(図4の点線と1点鎖線の間の領域)とアプリケーション層とに大別することができる。ミドルウェア層は、脚部ユニット13、頭部ユニット14、および、尻尾ユニット15といったハードウェア(図4の点線より下の領域)から直接情報を取得して、アプリケーション層のソフトウェアに取得した情報を抽象化して供給し、アプリケーション層の機能より供給される抽象的なコマンドに基づいて動作を制御する、ハードウェアに依存する。アプリケーション層は、ミドルウェアからの情報に基づいて、行動内容の選択を行い、選択結果となるコマンドをミドルウェア層に供給し、実際にロボットを動作させるものであり、ハードウェアには実質的に依存しないものである。
認識モジュール51は、頭部ユニット14のマイク25からの音声信号、CCDセンサ26からの画像信号、および、タッチセンサ27からの圧力検出信号といった具体的な外部情報を取得し、音声認識部51aが音声信号を、画像認識部51bが画像信号を、圧力認識部51cが圧力信号を、バッテリ状態認識部51dがバッテリ検出信号を、そして、熱認識部51eが熱検出信号を、それぞれ認識した上で認識した情報に基づいて、抽象的な認識情報を生成して行動選択モジュール52に供給する。ここで、抽象的な認識情報とは、例えば、「音がした」、「ボールが見えた」、「人が見えた」、「叩かれた」、「バッテリが減った」、または、「熱くなった」といった認識情報である。尚、ここで、バッテリ検出信号、および、熱検出信号は、ロボットの内部情報であるが、ここでいう外部情報は、ロボットの自律行動を決定する要素を示すものであるので、本明細書においては、バッテリ検出信号、および、熱検出信号も外部情報として扱うものとする。
また、認識モジュール51は、取得した外部情報に基づいて、具体的な認識情報を認識行動モジュール53に供給する。ここで、具体的な認識情報とは、抽象的な認識情報に対応する情報であって、例えば、「ボールが見えた」という抽象的な認識情報に対応する具体的な認識情報としては、自らの位置からみたボールの存在する角度とボールまでの距離の情報、「叩かれた」という抽象的な認識情報に対応する具体的な認識情報としては、そのときの圧力の情報、「バッテリが減った」という抽象的な認識情報に対応する具体的な認識情報としては、そのときのバッテリの充電容量の情報、「熱くなった」という抽象的な認識情報に対応する具体的な認識情報としては、そのときの温度の情報などである。
行動選択モジュール52は、認識モジュール51より供給された抽象的な認識情報に基づいて、複数の予め設定された行動から、抽象的な認識情報に対応する行動を選択して抽象的なコマンドを認識行動モジュール53に供給する。例えば、抽象的な認識情報が「ボールが見えた」と言うものであった場合、行動選択モジュール52は、設定された行動として「ボールを蹴れ」という抽象的なコマンドを認識行動モジュール53に供給する。また、例えば、抽象的な情報が「人が見えた」と言うものであった場合、行動選択モジュール52は、設定された行動として「人にあいさつをせよ」という抽象的なコマンドを認識行動モジュール53に供給する。
認識行動モジュール53は、行動選択モジュール52より供給された抽象的なコマンドと、認識モジュール51より供給された具体的な認識情報に基づいて、具体的なコマンドを生成して、行動モジュール54に供給する。より詳細には、例えば、「ボールを蹴れ」という抽象的なコマンドが、行動選択モジュール52より供給された場合、認識モジュール51より供給された具体的な認識情報が、自らの位置からのボールの角度が角度Aで、かつ、距離Bであるとき、認識行動モジュール53は、「自らの位置から角度Aで距離Bまで移動し、ボールを蹴れ」という、ボールを蹴るために頭部ユニット14、脚部ユニット13、および、尻尾ユニット15の、それぞれのアクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2を制御する上で必要な具体的なコマンドを生成し、行動モジュール54に供給する。
行動モジュール54は、認識行動モジュール53より供給された具体的なコマンドに基づいて、頭部ユニット14、脚部ユニット13、および、尻尾ユニット15の、それぞれのアクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2のうちのコマンドに対応する必要なものを駆動させる。すなわち、今の場合、行動モジュール54は、アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2を制御して、ロボットが自らの位置から角度Aで距離Bまで移動するように駆動させ、さらに、その位置に存在するボールを蹴るように駆動させる。
ところで、上述したように、コントローラ20は、ハードウェアの依存性が比較的低いソフトウェア層であるアプリケーション層と、ハードウェアの依存性が高いソフトウェア層すなわちミドルウェア層とを独立したことにより、以下のような効果を奏している。
すなわち、第1の効果は、1つの行動選択モジュール52で様々なハードウェア構成のロボットに対応できるようにさせることが可能となる。(ユーザは、自分が所有する(あるいは育てた)行動選択モジュール52を他のロボットに移植させたりでき、行動選択モジュール52のみを流通・販売することができる。)
第2の効果は、ある1つのハードウェア構成を持つロボットで、さまざまな認識モジュール51、認識行動モジュール53、および行動モジュール54を作成することができる。結果として、認識モジュール51、認識行動モジュール53、および行動モジュール54は、再利用し易くなるので、行動選択モジュール52の開発効率を向上させることが可能となる。
第3の効果は、同一のハードウェア構成を持つロボットで、同一の行動選択モジュール52であっても、認識モジュール51、認識行動モジュール53、および行動モジュール54を変更することで、実際の表現力や制御性の向上を図ることが可能となる。
第4の効果は、認識モジュール51、行動選択モジュール52、認識行動モジュール53、または行動モジュール54のプログラムを半導体メモリなどの記録媒体などからロボット本体にダウンロードすることによって、簡単に入れ替えることが可能となる。
第5の効果は、行動選択モジュール52と、認識モジュール51、認識行動モジュール53、または行動モジュール54とが独立しているので、ソフトウェア開発ベンダは、得意な領域の機能開発に集中することができる。例えば、制御系を専門とするベンダはミドルウェアの開発に注力することにより、色々なアプリケーションを利用することができる。
次に、図5のフローチャートを参照して、認識モジュール51の認識処理について説明する。
ステップS1において、認識モジュール51は、頭部ユニット14のマイク25や、CCDカメラ26、タッチセンサ27、バッテリセンサ22、および熱センサ23よりそれぞれ供給される音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号を検出する。
ステップS2において、認識モジュール51の音声認識部51aは、検出した音声信号に基づいて、音声を認識し(音声によるコマンドの認識などを認識し)、画像認識部51bは、画像信号に基づいて、画像を認識し(画像に写るボールや人といった被写体の認識と、その被写体の位置までの方向や距離などを認識し)、さらに、圧力認識部51cは、圧力検出信号に基づいて、圧力を認識し、(触られたか、撫でられたか、叩かれたかなどを認識する)、バッテリ状態認識部51dは、バッテリ検出信号に基づいて、バッテリの残量を認識し、熱認識部51eは、熱検出信号に基づいて温度から内部の温度状態を認識する。
ステップS3において、認識モジュール51は、音声認識部51a、画像認識部51b、圧力認識部51c、バッテリ状態認識部51d、および熱認識部51eにより認識された認識情報に基づいて、具体的な認識情報を生成し、認識行動モジュール53に供給する。すなわち、例えば、画像信号に基づいてボールが撮像されていた場合、そのボールまでの角度、および、距離といった具体的な認識情報を認識行動モジュール53に供給する。尚、このとき認識モジュール51は、音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号も合わせて認識行動モジュール53に供給する。
ステップS4において、認識モジュール51は、音声認識部51a、画像認識部51b、圧力認識部51c、バッテリ状態認識部51d、および、熱認識部51eにより認識された認識情報に基づいて、抽象的な認識情報を生成し、行動選択モジュール52に供給する。すなわち、認識モジュール51は、例えば、画像信号に基づいてボールが撮像されていた場合、「ボールが見えた」、または、人が撮像されていた場合、「人が見えた」といった抽象的な認識情報を生成し、ステップS5において、その抽象的な認識情報を行動選択モジュール52に供給し、その処理が繰り返される。
以上の処理により、認識モジュール51は、外部情報である音声信号、画像信号、圧力検出信号、バッテリ検出信号、および、熱検出信号に基づいて、抽象的な認識情報と具体的な認識情報を発生する。抽象的な認識情報は、「ボールが見えた」、「人が見えた」というものに限られるものではなく、それ以外の抽象的な認識情報であってもよく、例えば、音声認識として「音がした」といったものや、圧力認識として「撫でられた」といったものであってもよい。
次に、図6のフローチャートを参照して、行動選択モジュール52による行動選択処理について説明する。
ステップS11において、行動選択モジュール52は、認識モジュール51より供給される抽象的な認識情報が、「ボールが見えた」であるか否かを判定し、例えば、「ボールが見えた」という抽象的な認識情報が供給されたと判定された場合、その処理は、ステップS12に進む。
ステップS12において、行動選択モジュール52は、今現在ボールを蹴る処理が実行中であるか否かを認識行動モジュール53に対して問い合わせて、ボールを蹴る処理が実行されていないと判定された場合、その処理は、ステップS13に進む。
ステップS13において、行動選択モジュール52は、「ボールを蹴れ」という抽象的なコマンドを生成し、認識行動モジュール53に供給し、その処理は、ステップS11に戻る。
ステップS11において、供給された抽象的な認識情報が、「ボールが見えた」では無かった場合、または、ステップS12において、ボールを蹴る処理が実行中であると判定された場合、その処理は、ステップS14に進む。
ステップS14において、行動選択モジュール52は、認識モジュール51より供給される抽象的な認識情報が、「人が見えた」であるか否かを判定し、例えば、「人が見えた」という抽象的な認識情報が供給されたと判定された場合、その処理は、ステップS15に進む。
ステップS15において、行動選択モジュール52は、今現在、あいさつをする処理が実行中であるか否かを認識行動モジュール53に対して問い合わせて、あいさつをする処理が実行されていないと判定された場合、その処理は、ステップS16に進む。
ステップS16において、行動選択モジュール52は、「あいさつをしろ」という抽象的なコマンドを生成し、認識行動モジュール53に供給し、その処理は、ステップS11に戻る。
ステップS14において、供給された抽象的な認識情報が、「人が見えた」では無かった場合、または、ステップS15において、あいさつをする処理が実行中であると判定された場合、その処理は、ステップS11に戻り、それ以降の処理が繰り返される。
すなわち、以上の処理により、行動選択モジュール52は、認識モジュール51より供給されてくる抽象的な認識情報に基づいて(「ボールが見えた」、または、「人が見えた」かのいずれかであるかに基づいて)、「ボールを蹴る」、または、「あいさつをする」という行動を選択し、選択した行動に対応する抽象的なコマンドを生成して、認識行動モジュール53に供給する。尚、以上においては、選択できる行動として「ボールを蹴る」、または、「あいさつをする」の2種類であったが、行動の種類は、これに限るものではなくこれ以外のものであってもいいことは言うまでもない。
次に、図7のフローチャートを参照して、ボールを蹴る処理について説明する。
ステップS21において、認識行動モジュール53は、行動選択モジュール52から「ボールを蹴れ」というコマンドの供給を受けたか否かを判定し、行動選択モジュール52から「ボールを蹴れ」というコマンドの供給を受けたと判定されるまで、その処理を繰り返す。そして、例えば、図6のフローチャートを参照して説明したステップS13の処理により、行動選択モジュール52からから「ボールを蹴れ」というコマンドの供給を受けたと判定された場合、その処理は、ステップS22に進む。
ステップS22において、認識行動モジュール53は、ステップS22において、認識モジュール51より供給される画像信号に基づいて、ボールの位置を認識する。ステップS23において、認識行動モジュール53は、ボールは自らの位置で蹴ることが可能な範囲に存在するか否かを判定する。
例えば、ロボットとボールが図8で示されるような位置関係であった場合について説明する。すなわち、図8においては、Dがロボットであり、B1がボールである。認識行動モジュール53は、以下のようにボールは蹴ることができる範囲外であるか否かを判定する。
ここで、図8において、点線で示される領域は、ロボットDの視野Z1であり、領域Z’1は、ロボットDがボールB1を蹴ることができる範囲であることを示している。すなわち、認識行動モジュール53は、領域Z’1の中にボールB1が認識されているとき、ボールは蹴ることができる範囲であると判定する。一方、図8で示されるように、ボールB1が、領域Z’1の範囲外である場合、ボールは蹴ることができる範囲外であると判定されることになる。
例えば、ステップS23において、図8で示されるように、視野Z1内において、領域Z’1内にボールB1が捕らえられていないのでボールは蹴ることが可能な範囲外にあると判定され、その処理は、ステップS24に進む。
ステップS24において、認識行動モジュール53は、認識モジュール51より供給された具体的な認識情報に基づいて、ボールを蹴ることができる位置までの距離と角度の情報を計算する。すなわち、認識モジュール51より供給されるボールB1の位置と方向の情報から、自らがどの角度にどれだけ移動する必要があるのかを計算する。図8の場合、ボールの中心位置であるB1Cの情報と、自らの位置からの距離が、具体的な認識情報として取得されているので、その情報に基づいて、図8で示される自らの移動量Mの角度と距離を計算する。
ステップS25において、認識行動モジュール53は、移動量Mに相当する角度と距離の情報と共に行動モジュール54に対して、ボールを蹴ることができる位置までの移動を指令する。
ステップS26において、行動モジュール54は、脚部ユニット13の各アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAKを制御して、ボールを蹴ることができる位置までロボットを移動させ、その処理は、ステップS22に戻る。
ステップS24乃至S26の処理により、ボールを蹴ることができる位置に移動していることになるので、その処理により、ボールの位置が変化していない限り、または、脚部ユニット13の各アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAKに動作不良や、環境の変化がない限り、ボールを蹴ることができる位置に移動している。従って、ステップS24乃至S26の処理後は、ステップS23においては、ボールを蹴ることが可能な範囲外ではないと判定されることになる。ただし、ステップS24乃至S26においても、ボールを蹴ることができる範囲外であると判定された場合、再び、ステップS24乃至S26の処理が繰り返される。
ステップS27において、認識行動モジュール53は、ボールは蹴ることが可能な範囲内であるか否かを判定する。今の場合、ロボットDは、移動量MによりロボットD’の位置に存在する。このとき、ロボットD’は、実線で示される視野Z2となるこのとき、ボールを蹴ることができる領域は、実線で示されるZ2’となる。図8においては、この領域Z2’内にボールB1が存在するので、ステップS27においては、ボールは蹴ることが可能な範囲内であると判定される。
ステップS28において、認識行動モジュール53は、行動モジュール54にボールを蹴るように指令する。尚、今の場合、ボールは右足で蹴るものとする。
ステップS29において、行動モジュール54は、脚部ユニット13の各アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAKを制御して、右足でボールを蹴らせ、その処理は終了する。
ステップS27において、ボールは蹴ることが可能な範囲内ではないと判定された場合、すなわち、ステップS23において、ボールを蹴ることが可能な範囲外ではないと判定されて、かつ、ボールは蹴ることが可能な範囲内ではないと判定されることにより、ボールB1が視野Z2外にあるものとみなし、その処理は、ステップS30に進む。尚、ステップS23においては、ボールB1は、視野外に存在する場合、ボールB1は蹴ることが可能な範囲外ではないと判定するものとする。すなわち、ボールB1が蹴ることが可能な範囲内であるか否か、または、範囲外であるか否かは、ボールB1が視野の領域内に存在する場合に判定されるものであって、ボールが視野外にある場合、判定はいずれもNoであるものとする。
ステップS30において、認識行動モジュール53は、ボールB1が見つけられず、ボールB1を蹴ることができないことを示す動作をするように、行動モジュール54に指令する。
ステップS31において、行動モジュール54は、アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2を制御して、ボールB1が見つけられず、ボールB1を蹴ることができないことを示す動作をさせる。すなわち、例えば、行動モジュール54は、頭部ユニット14のアクチュエータ14A1乃至14ALを制御して、首を左右に振っているような動作をさせる。
以上の処理により、ロボットは、ボールが見えたとき、ボールを蹴るという行動を行わせることができる。結果として、ユーザにはあたかも自律的にロボットがボールを見て、蹴っているように見せることができる。さらに、認識モジュール51から供給される具体的な認識情報であるボールへの角度と距離に基づいて、自らの位置を移動させてからボールを蹴ることができるので、蹴ることができる位置になるまで所定の距離だけ移動してはボールの位置を確認し、ボールが自らで蹴ることができる領域内となるまで、同様の処理を繰り返す必要がなくなり、ボールが見えるという外部の環境に対して、迅速に、そして自律的にボールを蹴るという行動を実行させることが可能となる。
次に、図9のフローチャートを参照して、あいさつをする処理について説明する。
すなわち、ステップS41において、認識行動モジュール53は、行動選択モジュール52から「あいさつしろ」というコマンドの供給を受けたか否かを判定し、行動選択モジュール52から「あいさつしろ」というコマンドの供給を受けたと判定されるまで、その処理を繰り返す。そして、例えば、図6のフローチャートを参照して説明したステップS16の処理により、行動選択モジュール52から「あいさつしろ」というコマンドの供給を受けたと判定された場合、その処理は、ステップS42に進む。
ステップS42において、認識行動モジュール53は、ステップS42において、認識モジュール51より供給される画像信号に基づいて、人の位置を認識する。ステップS43において、認識行動モジュール53は、人が、あいさつすることが可能な範囲に存在するか否かを判定する。尚、移動については、図8を参照して説明したようにボールに対して移動する場合と同様であるので、その説明は省略する。
例えば、ステップS43において、あいさつすることが可能な範囲外にあると判定された場合、その処理は、ステップS44に進む。
ステップS44において、認識行動モジュール53は、認識モジュール51より供給された具体的な認識情報に基づいて、人にあいさつすることができる位置までの距離と角度の情報を計算する。
ステップS45において、認識行動モジュール53は、人にあいさつすることができる位置までの移動を指令する。
ステップS46において、行動モジュール54は、脚部ユニット13の、それぞれのアクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAKを制御して、人にあいさつすることができる位置までロボットを移動させ、その処理は、ステップS42に戻る。
ステップS43においては、ボールを蹴ることが可能な範囲外ではないと判定された場合、その処理は、ステップS47に進む。
ステップS47において、認識行動モジュール53は、人にあいさつをすることが可能な範囲内であるか否かを判定し、人にあいさつすることが可能な範囲内であると判定した場合、その処理は、ステップS48に進む。
ステップS48において、認識行動モジュール53は、行動モジュール54に人にあいさつするように指令する。
ステップS49において、行動モジュール54は、頭部ユニット14の各アクチュエータ14A1乃至14ALを制御して、首を縦に振るなどしてあいさつしているような行動を取らせ、その処理は終了する。
ステップS47において、人はあいさつをすることが可能な範囲内ではないと判定された場合、その処理は、ステップS50に進む。尚、ステップS43においては、人は、視野外に存在する場合、人にあいさつすることが可能な範囲外ではないと判定するものとする。すなわち、人があいさつすることができる範囲内であるか否か、または、範囲外であるか否かは、人が視野の領域内に存在する場合に判定されるものであって、人が視野外にある場合、判定はいずれもNoであるものとする。
ステップS50において、認識行動モジュール53は、人が見つけられず、人にあいさつすることができないことを示す動作をするように、行動モジュール54に指令する。
ステップS51において、行動モジュール54は、アクチュエータ13AA1乃至13AAK、13BA1乃至13BAK、13CA1乃至13CAK、13DA1乃至13DAK、14A1乃至14AL、15A1、15A2を制御して、人が見つけられず、人にあいさつすることができないことを示す動作をさせる。すなわち、例えば、行動モジュール54は、頭部ユニット14のアクチュエータ14A1乃至14ALを制御して、首を左右に振っているような動作をさせる。
以上の処理により、ロボットは、人が見えたとき、あいさつするという行動をとるため、ユーザにはあたかも自律的にロボットがあいさつしているように見せることができる。さらに、認識モジュール51から供給される具体的な認識情報である人への角度と距離に基づいて、自らの位置を移動させてから人にあいさつすることができるので、人にあいさつをすることができる位置になるまで所定の距離だけ移動しては人の位置を確認する処理を人があいさつできる範囲に存在すると判定されるまで繰り返す必要がなくなるため、人が見えるという外部の環境に対して、迅速に自立的な行動である、あいさつをすると言う行動を実行することが可能となる。
以上によれば、ボールが見えたり、または、人が見えたりといった外部環境の変化に応じて、行動を変化させることができるので、ユーザには、自律的に動作しているように見せることが可能となり、さらに、自律動作を行う際に必要な動作、例えば、ボールや人との位置を具体的な認識情報に基づいて行うことができるため、迅速に自立的な動作を行うことが可能となる。
さらに、認証モジュール51は、具体的な認識情報を認識行動モジュール53に供給することで、より具体的なコマンドを行動モジュール54に供給可能となるため、ロボットの動作を迅速に行わせることができると共に、認証モジュール51からの抽象的な認識情報をより抽象的な認識情報にすることができ、上位層であるアプリケーション層の行動選択モジュール52の処理負荷を軽減させることが可能となる。すなわち、例えば、従来においては、具体的な認識情報を処理に反映させていないため、ボールを見た場合、ボールを蹴ることができるように自らを移動させる必要があり、そのためにボールの位置を示す情報を含む、「ボールは自らの位置の右側である」、「ボールは自らの位置の左側である」または、「ボールは自らの正面である」といった方向の情報を含ませる分だけ、認識情報は、やや具体的である必要があり、その分、行動選択モジュール52の判定処理が増える分だけ、負荷が高いと言える。
しかしながら、本願においては、具体的な認識情報を下位層であるミドルウェア層の認識モジュール51、認識行動モジュール53、および、行動モジュール54で処理することができる構成となっているので、ソフトウェア層である上位層とミドルウェア層である下位層とした構成となっていることにより生じる効果を維持しつつ、上位層である行動選択モジュール52は、より抽象的な認識情報をコマンドを処理するだけで済むので、負荷が軽減される。結果として、行動選択モジュール52は、処理に余裕が生じるため、より高度な処理を行うようにさせることも可能となり、ロボット自体が複雑な動作を自律的に行うことも可能となる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。
図10は、図4のコントローラ20の電気的な内部構成をソフトウェアにより実現する場合のパーソナルコンピュータの一実施の形態の構成を示している。パーソナルコンピュータのCPU101は、パーソナルコンピュータの全体の動作を制御する。また、CPU101は、バス104および入出力インタフェース105を介してユーザからキーボードやマウスなどからなる入力部106から指令が入力されると、それに対応してROM(Read Only Memory)102に格納されているプログラムを実行する。あるいはまた、CPU101は、ドライブ110に接続された磁気ディスク121、光ディスク122、光磁気ディスク123、または半導体メモリ124から読み出され、記憶部108にインストールされたプログラムを、RAM(Random Access Memory) 103にロードして実行する。これにより、上述した図4のコントローラ20の機能が、ソフトウェアにより実現されている。さらに、CPU101は、通信部109を制御して、外部と通信し、データの授受を実行する。
プログラムが記録されている記録媒体は、図10に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク121(フレキシブルディスクを含む)、光ディスク122(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク123(MD(Mini-Disc)を含む)、もしくは半導体メモリ124などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
従来のロボットの機能を説明する図である。 本発明を適用したロボットの一実施の形態の外観構成例を示す斜視図である。 図2のロボットの内部構成例を示すブロック図である。 図3のコントローラの機能を説明する機能ブロック図である。 認識処理を説明するフローチャートである。 行動選択処理を説明するフローチャートである。 ボールを蹴る処理を説明するフローチャートである。 ボールを蹴る処理を説明する図である。 あいさつをする処理を説明するフローチャートである。 記録媒体を説明する図である。
符号の説明
13,13A乃至13D 脚部ユニット, 14 頭部ユニット, 15 尻尾部ユニット, 20 コントローラ, 22 バッテリセンサ, 23 熱センサ, 24 内部センサ, 25 マイク, 26 CCD, 27 タッチセンサ, 28 スピーカ, 29 LED, 51 認識モジュール, 52 行動選択モジュール, 53 認識行動モジュール, 54 行動モジュール

Claims (5)

  1. 外部情報を認識する認識手段と、
    前記認識手段により認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成手段と、
    前記認識情報生成手段により生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成手段と、
    前記抽象的コマンド生成手段により生成された抽象的なコマンドと、前記認識情報生成手段により生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成手段と、
    前記具体的コマンド生成手段により生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行手段とを備え、
    前記抽象的コマンド生成手段は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、前記生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、前記抽象的なコマンドを生成する
    ことを特徴とするロボット制御装置。
  2. 外部情報は、音声情報、画像情報、圧力情報、または、温度情報を含む
    ことを特徴とする請求項1に記載のロボット制御装置。
  3. 外部情報を認識する認識ステップと、
    前記認識ステップの処理で認識された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
    前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
    前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
    前記具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドを実行させるコマンド実行ステップとを含み、
    前記抽象的コマンド生成ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、前記生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、前記抽象的なコマンドを生成する
    ことを特徴とするロボット制御方法。
  4. 外部情報の認識を制御する認識制御ステップと、
    前記認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
    前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
    前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
    前記具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドの実行を制御させるコマンド実行制御ステップとを含み、
    前記抽象的コマンド生成制御ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、前記生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、前記抽象的なコマンドの生成を制御する
    ことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
  5. 外部情報の認識を制御する認識制御ステップと、
    前記認識制御ステップの処理で認識が制御された外部情報に基づいて、具体的な認識情報と抽象的な認識情報を生成する認識情報生成ステップと、
    前記認識情報生成ステップの処理で生成された抽象的な認識情報に基づいて、抽象的なコマンドを生成する抽象的コマンド生成ステップと、
    前記抽象的コマンド生成ステップの処理で生成された抽象的なコマンドと、前記認識情報生成ステップの処理で生成された具体的な認識情報に基づいて、具体的なコマンドを生成する具体的コマンド生成ステップと、
    前記具体的コマンド生成ステップの処理で生成された具体的なコマンドに対応した演算による駆動部位の駆動の制御により、前記具体的なコマンドの実行を制御させるコマンド実行制御ステップとを含む処理をコンピュータに実行させ、
    前記抽象的コマンド生成制御ステップの処理は、生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中であるか否かを認識し、前記生成しようとする抽象的なコマンドに対応する具体的なコマンドが実行中ではない場合、前記抽象的なコマンドの生成をする
    ことを特徴とするプログラム。
JP2003309962A 2003-09-02 2003-09-02 ロボット制御装置および方法、記録媒体、並びにプログラム Expired - Fee Related JP4524552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003309962A JP4524552B2 (ja) 2003-09-02 2003-09-02 ロボット制御装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003309962A JP4524552B2 (ja) 2003-09-02 2003-09-02 ロボット制御装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2005074594A JP2005074594A (ja) 2005-03-24
JP4524552B2 true JP4524552B2 (ja) 2010-08-18

Family

ID=34411968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003309962A Expired - Fee Related JP4524552B2 (ja) 2003-09-02 2003-09-02 ロボット制御装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4524552B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112462A1 (en) * 2005-11-10 2007-05-17 Jong-Myeong Kim Method for detecting if command implementation was completed on robot common framework, method for transmitting and receiving signals and device thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010614A (ja) * 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2001212782A (ja) * 2000-01-31 2001-08-07 Sony Corp ロボット装置及びロボット装置の制御方法
JP2002059384A (ja) * 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000010614A (ja) * 1998-06-23 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> ユーザインタフェース利用ロボット操作方法及びシステム装置並びにそのプログラムを記録した記録媒体
JP2001212782A (ja) * 2000-01-31 2001-08-07 Sony Corp ロボット装置及びロボット装置の制御方法
JP2002059384A (ja) * 2000-08-22 2002-02-26 Sony Corp ロボットのための学習システム及び学習方法

Also Published As

Publication number Publication date
JP2005074594A (ja) 2005-03-24

Similar Documents

Publication Publication Date Title
JP7400923B2 (ja) 情報処理装置および情報処理方法
US7689319B2 (en) Communication robot control system
JP2003285288A (ja) 充電システム及び充電制御方法、ロボット装置、充電装置、及び充電制御プログラム及び記録媒体
JP7476941B2 (ja) ロボット、ロボットの制御方法及びプログラム
JP4622384B2 (ja) ロボット、ロボット制御装置、ロボットの制御方法およびロボットの制御用プログラム
JP2004230480A (ja) ロボット装置およびロボット制御方法、記録媒体、並びにプログラム
JP7502520B2 (ja) ロボット、ロボットの制御方法及びプログラム
JP2024023193A (ja) 情報処理装置及び情報処理方法
WO2008001492A1 (fr) Automate, procédé et programme de commande d&#39;automate
US7233900B2 (en) Word sequence output device
JP4524552B2 (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP2002116792A (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体
JP4821489B2 (ja) ロボット装置及びロボット装置の制御方法
JP2004249393A (ja) ロボット装置及びその制御方法
JP6845121B2 (ja) ロボットおよびロボット制御方法
JP7156300B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4600736B2 (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP4587009B2 (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体
JP2005335001A (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP4779292B2 (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP2005059185A (ja) ロボット装置及びその制御方法
JP2004283927A (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP2009214268A (ja) 全身協調装置、ロボット及びロボットの制御方法
JP2003271196A (ja) ロボット装置及びその制御方法
JP4016316B2 (ja) ロボット装置およびロボット制御方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100329

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100506

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100519

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees