(57)【要約】【課題】物体の運動を視認して動作を変えるロボットが、その物体をうまく撮影できる技術を提供すること。【解決手段】本発明は、第１物体（例えば指揮者の顔）の近くにある第２物体（例えば指揮棒）の運動を視認しながら第１物体に対して相対移動するロボット１０である。このロボット１０は、時系列的に撮影し続けるカメラ４２，４４と、カメラ４２で撮影された画像から第１物体の視野内位置を計算し、計算された第１物体の視野内位置が所定位置に維持されるようにカメラ４２，４４の撮影方位を変化させるモータ５２と、そのモータ５２の運動によって第２カメラ４４の視野内に維持されている第２物体の視野内位置の変化を計算し、計算された第２物体の視野内位置の変化によってアーム３０ａ，３０ｂの動作を制御する制御部９０とを有する。【選択図】  図１
2004330378.tif 000002
【特許請求の範囲】
【請求項１】
第１物体の近くにある第２物体の運動を視認しながら第１物体に対して相対移動するロボットであり、
時系列的に撮影し続けるカメラと、
そのカメラで撮影された画像から第１物体の視野内位置を計算する画像処理装置と、
計算された第１物体の視野内位置が所定位置に維持されるようにカメラの撮影方位を変化させるアクチュエータと、
そのアクチュエータの運動によって視野内に維持されている第２物体の視野内位置の変化を計算し、計算された第２物体の視野内位置の変化によってロボットを制御する制御装置とを有するロボット。
【請求項２】
前記カメラが、第１物体用カメラと、その第１物体用カメラの撮影方位に略平行する撮影方位を持つ第２物体用カメラで構成され、
第１物体用カメラは、少なくとも第１物体を撮影し、
第２物体用カメラは、第２物体の存在可能範囲を撮影することを特徴とする請求項１のロボット。
【請求項３】
指揮者が振る指揮棒の運動を視認しながら指揮者に対して相対移動するロボットであり、
時系列的に撮影し続けるカメラと、
そのカメラを搭載している頭部と、
そのカメラで撮影された画像から指揮者を抽出する画像処理装置と、
指揮者の視野内位置が所定位置に維持されるように胴部に対して頭部を回転させるアクチュエータと、
その頭部の回転によって視野内に維持されている指揮棒を抽出し、指揮棒の視野内位置の変化を計算し、計算された指揮棒の視野内位置の変化によってロボットを制御する制御装置とを有するロボット。
【請求項４】
前記アクチュエータは、頭部を胴部に対して回転限界まで回転させても指揮者を視野内に維持できない場合に、頭部を逆方向に回転させて他方の回転限界まで回転させることを特徴とする請求項３のロボット。
【請求項５】
前記アクチュエータは、視野内に指揮者を発見できない場合に、ロボットの自己位置とロボットの胴部の方位と指揮者の位置とから、指揮者が存在するはずの回転角に頭部を回転させることを特徴とする請求項３又は４のロボット。
【請求項６】
前記制御装置が特定部材を駆動することによって楽器を演奏する請求項３から５のいずれかのロボットであり、
前記制御装置は、指揮棒の視野内位置の変化に基づいてテンポと強弱を特定し、特定されたテンポと強弱で楽器が演奏されるように前記特定部材を駆動することを特徴とするロボット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は、物体の運動を視認して動作を変えるロボットに関する。
【０００２】
【従来の技術】特許文献１には、指揮者が振る指揮棒の動きに合わせて楽器を自動演奏する装置が開示されている。この技術では、加速度センサが組み込まれている指揮棒を用いる。加速度センサで検出される加速度から指揮棒を振る強弱や速度を算出し、算出された強弱や速度に基づいて楽器を自動演奏する。
【０００３】
【特許文献１】
特開平６―１６１４４０号公報
【０００４】
【発明が解決しようとする課題】本発明者らは、指揮棒の動きに合わせて楽器を演奏するロボットを開発している。この技術では、指揮棒に加速度センサを組込むことによって指揮棒の動きを特定するという技術を採用しない。加速度センサが組込まれていない通常の指揮棒でロボットによる楽器演奏を指揮できるようにしたいからである。そこで、本発明者らは、時系列的に撮影し続けるカメラで指揮者が振る指揮棒を撮影して指揮棒の移動軌跡を特定する技術を採用することにした。
楽器演奏ロボットと指揮者の相対的位置関係が固定されていれば、指揮者が振る指揮棒を撮影し続けることに格別の困難性がない。しかしながら、楽器演奏ロボットが指揮者の周囲を移動する場合、あるいは逆に指揮者が楽器演奏ロボットの周囲を移動する場合には、指揮者が振る指揮棒を撮影し続けることが困難となる。一つの解決策は、カメラの撮影範囲を広くすることである。しかしながら、その解決策では、指揮棒の視野内位置の変化が微小になってしまい、指揮棒の動きを正確に認識することが困難となる。
【０００５】
本発明は、上記した課題に鑑みてなされたものであり、一般的にいえば、物体の運動を視認して動作を変えるロボットが、その物体を大きく撮影しつづけられる技術を提供することを目的とする。
【０００６】
【課題を解決するための手段と作用と効果】上記課題を解決するために創作された請求項１に記載のロボットは、第１物体（例えば指揮者または指揮者の顔）の近くにある第２物体（例えば指揮棒）の運動を視認しながら第１物体に対して相対移動する。このロボットは、時系列的に撮影し続けるカメラと、そのカメラで撮影された画像から第１物体の視野内位置を計算する画像処理装置と、計算された第１物体の視野内位置が所定位置に維持されるようにカメラの撮影方位を変化させるアクチュエータと、そのアクチュエータの運動によって視野内に維持されている第２物体の視野内位置の変化を計算し、計算された第２物体の視野内位置の変化によってロボットを制御する制御装置とを有する。
本発明は、例えばロボットに対して相対的に移動する指揮者（第１物体）が振る指揮棒（第２物体）の動きに基づいて動作を変えるロボットに具現化することができる。この場合、第１物体として指揮者の顔を採用してもよい。なお、本技術思想は、ロボット自身が移動することによってロボットが第１物体（指揮者の顔）に対して相対移動する場合、逆にロボットは移動しないが第１物体が移動することによってロボットが第１物体に対して相対移動する場合、及びロボットと第１物体の双方が移動することによってロボットが第１物体に対して相対移動する場合のいずれにも用いることができる。また上記した「所定位置」とは、点であってもよいし、領域であってもよい。
このロボットは、第１物体がカメラの視野内の所定位置からズレると、第１物体が視野内の所定位置に戻る方向にカメラの撮影方位を変化させる。これにより、第１物体の視野内位置が所定位置に維持される。第１物体を視野内に維持しておけば、その第１物体の近くを運動する第２物体を撮影し続けることができる。なお、ここでの「第１物体の近くにある第２物体」とは、次のように考えることができる。例えば、第１物体が指揮者であり、第２物体が指揮者が振る指揮棒であり、ロボットが指揮者の指揮を視認する場合には、第２物体は第１物体の近くにあるといえる。また、例えば、第１物体とロボットとの間の距離が数キロメートルも離れる場合には、第１物体と第２物体とが数百メートル離れているとしても「近くにある」といえる場合がある。
本発明は、第１物体がロボットに対して低速で相対移動するもの（例えば指揮者）であり、第２物体がロボットに対して高速で相対移動するもの（例えば指揮棒）である場合に、特に効果的に用いることができる。この場合、本発明と異なる方法論を採用し、第２物体がカメラの視野内の所定位置に維持されるようにカメラの撮影方位を変化させると、第２物体が高速で相対移動するためにカメラの撮影方位を高速で変化させなければならない。その要求に応えられるアクチュエータは高価であるばかりでなく、エネルギ消費量が大きくなる。またカメラが高速で撮影方位を変え続けると、ロボットの外観が不自然なものとなる。
【０００７】
上記したロボットでは、第１物体用カメラと第２物体用カメラを分離してもよい。この場合、第１物体用カメラは少なくとも第１物体を撮影しつづける。第２物体が視野内に収まらないほど大きく第１物体を撮影してもよい。第２物体用カメラの撮影方位は、第１物体用カメラの撮影方位に略平行に維持される。第２物体用カメラは、第２物体の存在可能範囲を撮影する。
二台のカメラを用いても、第２物体を撮影し続けることができる。第１物体用カメラでは第２物体が視野内に収まらないほど大きく第１物体を撮影してもよいことから、第１物体を見失う可能性が低い。
【０００８】
本発明は、指揮者が振る指揮棒の運動を視認しながら指揮者に対して移動するロボットに具現化することができる。このロボットは、時系列的に撮影し続けるカメラと、そのカメラを搭載している頭部と、そのカメラで撮影された画像から指揮者を抽出する画像処理装置と、指揮者の視野内位置が所定位置に維持されるように胴部に対して頭部を回転させるアクチュエータと、その頭部の回転によって視野内に維持されている指揮棒を抽出し、指揮棒の視野内位置の変化を計算し、計算された指揮棒の視野内位置の変化によってロボットを制御する制御装置とを有する。
このロボットによると、指揮者の振る指揮棒を撮影し続けることができる。
【０００９】
前記したアクチュエータは、頭部を胴部に対して回転限界まで回転させても指揮者を視野内に維持できない場合に、頭部を逆方向に回転させて他方の回転限界まで回転させることが好ましい。
ヒトが頭部を回す限界があるように、ロボットにも頭部の回転限界を設けた方がヒトを忠実に再現したヒューマノイドロボットを提供できる。しかしながら、この場合、指揮者を追従したために頭部が一方の回転限界まで達した後にロボットがさらに回転ないし移動すると、ロボットは指揮者を完全に見失ってしまう。本発明は、この問題点を解消すべく創作されたものであり、回転限界まで頭部が回転しても指揮者を視野内に維持できなくなった場合は、頭部を逆方向に回転させて他方の回転限界まで回転させる。この動作をすることによって、指揮者を再び視野内に入れることができるようになり、指揮者を長時間見失わなくなる。
【００１０】
上記したロボットは、カメラで撮影された画像から指揮者を抽出して指揮者の視野内位置を計算する処理と、計算された指揮者の視野内位置が所定位置に維持されるように胴部に対して頭部を回転させる処理とを高速で繰り返して実行することによって、指揮者を視野内に維持させる。しかしながら、上記の各処理の速度を上回る速さでロボット自身が移動すると視野内から指揮者がフレームアウトしてしまうことも考えられる。この問題を解消するために次の技術を用いることが好ましい。即ち、上記したロボットにおいて、視野内に指揮者を発見できない場合に、ロボットの自己位置とロボットの胴部の方位と指揮者の位置とから、指揮者が存在するはずの回転角に頭部を回転させることが好ましい。
このロボットによると、ロボット自身が高速で移動することによって見失った指揮者をカメラで再び捉えることができる。
【００１１】
上記したロボットは、制御装置が特定部材を駆動することによって楽器を演奏するロボットに具現化することができる。この場合、前記の制御装置は、指揮棒の視野内位置の変化に基づいてテンポと強弱を特定し、特定されたテンポと強弱で楽器が演奏されるように前記の特定部材を駆動する。
このロボットによると、指揮棒の動きに合ったテンポと強弱で楽器を演奏することができる。
【００１２】
【発明の実施の形態】下記の実施例に記載の技術は、下記の形態で好適に実施することができる。
（形態１）ロボットは、ヒトの頭（顔）を模してつくられた頭部を有する。頭部には、ヒトの目を模した２つの孔が設けられている。その孔にカメラが臨んでいる。特に、請求項２に記載のロボットの場合、一方の目（例えば右目）に相当する孔に第１物体用カメラが臨んでおり、他方の目（例えば左目）に相当する孔に第２物体用カメラが臨んでいる。
（形態２）形態１のロボットは、ヒトの首を模してつくられた首部が頭部に固定されている。さらに、首部を回転可能に支持する胴体部（請求項に記載の胴部に相当する）を有する。胴体部内には、首部を胴体部に対して回転させるモータ（請求項のアクチュエータに相当する）を有している。首部が回転すると頭部も回転し、これによりカメラの撮影方位が変化する。
（形態３）ロボット制御装置は、第２物体（例えば指揮棒）の視野内位置の変化に基づいてロボットが有する特定部材の駆動態様を変える。
（形態４）特定部材を駆動することによって、ロボットが保持している太鼓が叩かれる。特定部材の駆動態様を変えると、太鼓を叩くテンポや強弱を変えることができる。
（形態５）ロボットの胴体部に太鼓が保持されている。胴体部には、左右のアーム（これが特定部材に相当する）が接続されている。このロボットは、アーム毎に設けられており、そのアームを揺動させるアクチュエータを有している。各アームが揺動することによって太鼓が演奏される。
（形態６）ロボットは、自身を進行させる車輪（移動機構）を有している。
（形態７）ロボットは、画像処理して指揮者の顔を抽出する。例えば、指揮者の顔の肌色の領域を抽出する。
（形態８）ロボットは、指揮棒の先端を画像処理して抽出する。
【００１３】
【実施例】（第１実施例）  図面を参照して、本発明を楽器演奏ロボットに具現化した実施例を説明する。図１は、楽器演奏ロボット１０の概略構成を示したものである。楽器演奏ロボット１０は、ロボットを進行させる機構（以下では単に移動機構と記載する）２０と、胴体部７０と、ヒトの腕を模してつくられたアーム３０ａ，３０ｂと、ヒトの頭（顔）を模してつくられた頭部４０と、ロボット１０の動作を統括的に制御する制御部９０等を備える。このロボット１０は、ヒトを模してつくられたヒューマノイドロボットといえる。
【００１４】
移動機構２０は、車輪２２を回転させることによってロボット１０を進行させる。この楽器演奏ロボット１０は、ヒトが行進しながら太鼓を演奏する（叩く）ように、移動機構２０によって移動しながら太鼓６０を演奏する。
胴体部７０は略直方体形状を有している。胴体部７０には移動機構２０が連結されている。
右アーム３０ａ（ロボットの右腕）は、上腕部３２ａと下腕部３４ａ（正確には下膊部と記載すべきだが下腕部と記載することにする）とを有している。上腕部３２ａの一端が胴体部７０に固定されている。上腕部３２ａの他端には、ピン３８ａによって下腕部３４ａが連結されている。下腕部３４ａは、ピン３８ａを支点として揺動可能である。このピン３８ａはヒトの腕関節に相当する。下腕部３４ａの一端には、太鼓６０を叩く撥３６ａが固定されている。上腕部３２ａの内部には、下腕部３４ａを揺動させるアクチュエータ３５ａ（例えばソレノイドやモータ）が設けられている。このアクチュエータ３５ａは、制御部９０から出力される制御信号に基づいて駆動する。左アーム３０ｂは、右アーム３０ａと同様の構成をしている。即ち、左アーム３０ｂは、上腕部３２ｂと下腕部３４ｂとを有する。下腕部３４ｂは、ピン３８ｂを支点として揺動可能である。下腕部３４ｂの一端には撥３６ｂが固定されている。また、上腕部３２ｂ内には、下腕部３４ｂを揺動させるアクチュエータ３５ｂが設けられている。
【００１５】
頭部４０は、略直方体形状を有している。頭部４０には、ヒトの目を模してつくられた２つの孔が設けられており、それぞれの孔には時系列的に撮影し続けるカメラ４２，４４のレンズが臨んでいる。以下では、左目に相当するカメラ４２を第１カメラといい、右目に相当するカメラ４４を第２カメラという。２つのカメラ４２，４４は、ほぼ平行に設置されており、ほぼ同方向を撮影することができる。この頭部４０には、頭部全体を前方又は後方に傾けることができる頭部上下動機構（図示省略している）が設けられている。この頭部上下機構を使って頭部４０を傾けることによって、各カメラ４２，４４が撮影する範囲（上下方向の範囲）を変えることができる。
頭部４０と胴体部７０との間には首部５０が設けられている。首部５０は、略円柱形状を有している。首部５０は、胴体部７０に回転可能（回転軸は符号ｃ１で示している）に支持されている。首部５０は、胴体部７０に対して３６０度回転可能である。首部５０に頭部４０が固定されている。首部５０が回転することによって、ヒトが首を振って横を向くように、ロボット１０の頭部４０が横を向くことになる。胴体部７０内には、首部５０を回転させるモータ５２が設置されている。このモータ５２は、制御部９０から出力される制御信号に基づいて駆動する。モータ５２の回転方向によって、頭部４０が右を向いたり、左を向いたりする。
【００１６】
図２に制御部９０の概略構成を示す。制御部９０は、２つの制御回路１００，２００から構成されている。
第１制御回路１００は、ＣＰＵ１０１とＲＯＭ１０２とＲＡＭ１０３とＩ／Ｏ１１０等から構成される。ＣＰＵ１０１、ＲＯＭ１０２及びＲＡＭ１０３と、Ｉ／Ｏ１１０とは信号線１０５によって通信可能に接続されている。ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラムに従って各種信号の出力制御を実行する。ＲＯＭ１０２に格納されているプログラムの中には、第２カメラ４４が撮影した画像を解析する処理や、その解析結果に基づいてモータ５２を駆動する処理等を実行するためのプログラムが含まれる。また、ＲＯＭ１０２にはロボット１０の進行ルートが記憶されている。ＲＡＭ１０３は、ワークメモリとして使用されるメイン記憶素子であり、各処理の実行に応じて種々の情報を記憶する。具体的には、胴体部７０に対する首部５０の回転角や、ロボット１０の現在位置等を記憶する。なお、ロボット１０の現在位置がわかれば、その現在位置とＲＯＭ１０２に記憶されている進行ルートとに基づいて、ロボット１０の胴体部７０がどの方向を向いているのかがわかる。
Ｉ／Ｏ１１０には、第２カメラ４４と移動機構２０とモータ５２が接続されている。第２カメラ４４で撮影された画像データはＩ／Ｏ１１０に送られる。Ｉ／Ｏ１１０は、送られてくる画像データを第１制御回路１００内で処理可能なデータ形式に変換し、その変換された画像データをＣＰＵ１０１等に送る。移動機構２０は、ＣＰＵ１０１がＩ／Ｏ１１０を介して出力した信号を入力する。移動機構２０は、入力された信号に基づいて車輪２２，２２を回転させる。モータ５２は、ＣＰＵ１０１がＩ／Ｏ１１０を介して出力した信号を入力し、その信号に基づいて駆動する。これにより首部５０が回転し、頭部４０が左右のいずれかを向く。
【００１７】
第２制御回路２００は、ＣＰＵ２０１とＲＯＭ２０２とＲＡＭ２０３とＩ／Ｏ２１０等から構成される。ＣＰＵ２０１、ＲＯＭ２０２及びＲＡＭ２０３と、Ｉ／Ｏ２１０とは信号線２０５によって通信可能に接続されている。ＣＰＵ２０１は、ＲＯＭ２０２に格納されている制御プログラムに従って各種信号の出力制御を実行する。ＲＯＭ２０２に格納されているプログラムの中には、第１カメラ４２が撮影した画像を解析する処理や、その解析結果に基づいてアクチュエータ３５ａ，３５ｂを駆動する処理等を実行するためのプログラムが含まれる。ＲＡＭ２０３は、ワークメモリとして使用されるメイン記憶素子であり、各種情報を記憶する。
Ｉ／Ｏ２１０には、第１カメラ４２とアクチュエータ３５ａ，３５ｂが接続されている。第１カメラ４２で撮影された画像データはＩ／Ｏ２１０に送られる。Ｉ／Ｏ２１０は、送られてくる画像データを第２制御回路２００内で処理可能なデータ形式に変換し、その変換された画像データをＣＰＵ２０１等に送る。各アクチュエータ３５ａ，３５ｂは、ＣＰＵ２０１がＩ／Ｏ２１０を介して出力した信号を入力し、その信号に基づいて駆動する。
【００１８】
図３に、楽器演奏ロボット１０の移動ルートを示している。図３は、ＸＹ平面上に配置されたロボット１０を平面的に見た図である。ロボット１０は、指揮者８０が振る指揮棒８２の動きに従って太鼓６０を叩く。指揮者８０は指揮台７２の上で指揮する。図３では、指揮者８０や指揮棒８２を極めて簡略化して示している。指揮棒８２の先端には赤くて丸い部材８２ａが組み付けられている。なお、図３では、ロボット１０に設けられた太鼓６０と両アーム３０ａ，３０ｂを図示省略している。
ロボット１０は、図３のＸＹ平面上を移動する。この移動ルートは、上記したようにＲＯＭ１０２に格納されている。ロボット１０は、実線で示された位置Ａからスタートする。位置Ａから直進して位置Ｂに達すると、次いで右に曲がって直進し位置Ｃに達する。位置Ｃでさらに右に曲がってしばらく直進すると、右に９０°に曲がる。そこからは、スタート位置である位置Ａまで矢印方向に進行する。
【００１９】
図４に、第１制御回路１００が実行する処理のフローチャートを示す。ここでは、本発明に関連する処理を中心に説明する。ロボット自身が移動する処理については図４のフローチャートで示していないが、第１制御回路１００が移動機構２０を駆動することによってロボット１０を進行させる。
第１制御回路１００は、第２カメラ４４の画像データを解析して指揮者の顔の重心座標を求める（ステップＳ２）。この処理は、第２カメラ４４で撮影された画像において、肌色（本明細書ではヒトの顔の色を肌色とする）の範囲を抽出し、抽出された範囲の重心を算出することによって実行する。図５には、第２カメラ４４で撮影される画像から抽出された指揮者の顔８０ａ（即ち肌色の範囲）の一例を示している。符号８０ａのように指揮者の顔が抽出された場合は、その重心座標は（０，０）と算出される。
なお、ロボット１０の使用者は、ロボット１０を使用するのに先だって、指揮者の顔の重心座標が（０，０）になるように頭部４０の角度を調整しておく。
ステップＳ２の処理によって重心座標が求まった場合（ステップＳ４でＮＯの場合）は、重心座標が（０，Ｙ）であるか否かを判別する（ステップＳ６）。ここで、Ｙは任意の値である。例えば、図５の場合は、指揮者の顔８０ａの重心が（０，０）なので、ステップＳ６でＹＥＳと判定される。ステップＳ６でＹＥＳと判定されると、ステップＳ２に戻る。
【００２０】
一方、ステップＳ６でＮＯと判別されると、指揮者の顔の重心が（０，Ｙ）になるようにモータ５２を駆動する（ステップＳ８）。例えば、図５の符号８０ｂの位置（Ｘ，０）に指揮者の顔の重心があるならば、指揮者の顔８０ｂが左にＸだけ移動するようにモータ５２を駆動して頭部４０を右に振る。また、例えば、図３の位置Ｂでロボット１０が右に曲がったときは、第２カメラ４４の画像上において指揮者８０の顔が左に移動する。この場合であれば、指揮者８０の顔が右に移動するようにモータ５２を駆動して頭部４０を左に振る。図３の位置Ｃでは、頭部４０が左を向いている様子がよく示されている。ステップＳ８の処理では、指揮者の顔の重心座標が（０，Ｙ）から大きく離れている場合は首部５０が大きく振れるようにモータ５２を駆動し、重心座標が（０，Ｙ）から少しだけ離れている場合は首部５０が小さく振れるようにモータ５２を駆動する。なお、このステップＳ８では、胴体部７０に対する首部５０の回転角をＲＡＭ１０３に記憶する処理も実行する。
なお本実施例では、ロボット１０が上下方向に移動しないので、第２カメラ４４で撮影される指揮者の顔の位置がＹ軸方向に大きくズレることはない。従って、指揮者の顔の重心のＹ座標（上記のＹ）がゼロから大きくズレることはない。なお以下では、ステップＳ２〜Ｓ８の処理のことを「ビジュアルサーボ制御」と記載することがある。
【００２１】
第１制御回路１００がステップＳ２〜Ｓ８の処理（ビジュアルサーボ制御）を高速で繰り返し実行することによって、第２カメラ４４は指揮者８０の顔を捉え続けることになる。しかしながら、ロボット１０が高速で進行方向を変えると、第２カメラ４４の画像から指揮者８０の顔がフレームアウトしてしまうことがある。この場合、ステップＳ４でＹＥＳと判断されて、ステップＳ１０の処理に進む。
ステップＳ１０では、ロボット１０の現在の位置を読み込む。ロボット１０の位置は、ＲＡＭ１０３に記憶されている。ロボット１０の現在位置を読み込むと同時に、その現在位置とロボット１０の移動ルートとの関係からロボット１０の胴体部７０が向いている方向を算出する。例えば、ロボット１０が図３の位置Ｂにいるのであれば、ロボット１０の胴体部７０はｙ軸方向を向いていると算出される。さらに、このステップＳ１０では、胴体部７０に対する首部５０の現在の回転角（即ち頭部４０が向いている方向）も読み込む。この情報はＲＡＭ１０３に記憶されている。
次のステップＳ１２では、指揮者８０の位置を読み込む。ＲＯＭ１０２には指揮台７２の位置（座標）が予めインプットされている。ステップＳ１２の処理は、指揮台７２の位置を読み込むことによって実行する。
次いでステップＳ１４を実行する。ステップＳ１４では、指揮者８０の方向（即ち指揮台７２の方向）を向くようにモータ５２を駆動する。この処理は、上記したステップＳ１０とステップＳ１２で得られた情報（ロボット自身の位置、胴体部７０の方向、首部５０の回転角、指揮台７２の位置）から、首部５０をどちらの方向にどれだけ回転させるかを計算し、その計算結果に従ってモータ５２を駆動する。上記したステップＳ１０〜Ｓ１４の処理を実行することによって、指揮者８０の顔が第２カメラ４４で再び捉えられようになる。ステップＳ１４を実行すると、ステップＳ２に戻ってビジュアルサーボ制御を実行する。
【００２２】
次に、第２制御回路２００が実行する処理について説明する。図６に、第２制御回路２００の処理のフローチャートを示す。ステップＳ２０では、第１カメラ４２が撮影する画像に基づいて太鼓６０を演奏するためのテンポと強弱を計算する。具体的には、以下の処理を実行する。
（１）上述したように、指揮棒８２の端部には丸くて赤い部材８２ａが取り付けられている。第２制御回路２００は、画像処理によって部材８２ａの動きを抽出する。例えば、指揮者８０が二拍子で指揮棒８２を振っている場合、抽出された部材８２ａの移動軌跡は図７のようになる。第２制御回路２００は、部材８２ａが最下点ｐにあるときから次の最下点ｐまでを一周期として、その一周期の時間を測定する。測定された時間がテンポである。
（２）また、第２制御回路２００は、一周期における最上点から最下点ｐまでの距離ｓを測定する。測定された距離ｓが太鼓６０を叩く強弱である。距離ｓが大きい場合は強くなり、距離ｓが小さい場合が弱くなる。ただし、ロボット１０と指揮棒８２との間の距離が異なると、実際に振られた指揮棒８２の距離ｓが同じであっても、画像処理によって抽出される距離ｓは異なってしまう。従って、実際は、抽出した距離ｓをロボット１０と指揮棒８２との間の距離で補正して強弱を正確に計算する。
【００２３】
ステップＳ２２では、ステップＳ２０で求められたテンポと強弱を記憶する。この処理は、テンポと強弱をＲＡＭ２０３で記憶することによって実行する。これにより、過去のテンポと強弱がクリアされて新しいテンポと強弱が記憶されることになる。
ステップＳ２４では、記憶しているテンポと強弱に基づいてアクチュエータ３５ａ，３５ｂを駆動する。テンポが速ければ太鼓６０を叩く打点間の時間が短くなるようにアクチュエータ３５ａ，３５ｂを駆動する。テンポが遅ければ太鼓６０を叩く打点間の時間を長くする。また、強弱が強い場合は、下腕部３４ａ，３４ｂが素早く揺動するようにアクチュエータ３５ａ，３５ｂを駆動する。これによって大きな音で太鼓６０が演奏されることになる。強弱が弱い場合は、下腕部３４ａ，３４ｂがゆっくり揺動するようにアクチュエータ３５ａ，３５ｂを駆動する。これによって小さい音で太鼓６０が演奏されることになる。
【００２４】
図８（ａ）は、実際に指揮棒８２が振られた場合の最下点ｐをプロットしたグラフである。この図では、Ｘ軸に時間をとりＹ軸に距離ｓをとっている。図８（ａ）の点と点との間の時間がテンポを表すことになる。図８（ｂ）は、図８（ａ）のように指揮棒８２が振られた場合に、テンポだけを取出したタイムチャートである。テンポは、ｔ１が４周期続いた後に、ｔ１より長いｔ２に変化している。テンポｔ２が３周期続いた後に、ｔ１，ｔ２よりも短いテンポｔ３に変化している。テンポｔ３は６周期続いている。この例の場合、最初の４周期は、普通のテンポで比較的強く太鼓６０を叩く。そして、次の３周期は、ゆっくりとしたテンポで比較的弱く太鼓６０を叩き、さらに次の６周期は速いテンポで比較的強く太鼓６０を叩く。
【００２５】
上記した第１実施例に係るロボット１０は、第２カメラ４４の視野内の所定位置（０，Ｙ）で指揮者の顔を常に撮影し続けるようにすることで、第１カメラ４２が指揮棒８２を撮影し続けることを実現している。
【００２６】
本発明者らは、本発明を創作する前に、次のようなロボットを試作している。このロボットは、広角レンズを用いた視野の広いカメラが頭部に固定されており、ロボットの首部が上記実施例のように回転するものではない。視野の広いカメラを用いているために、ロボット自身が指揮者に対してある程度横を向いたとしても指揮棒の動きを撮影できることが確認された。しかしながら、視野の広いカメラを用いると、指揮棒を小さく捉えることしかできないために、指揮棒の動きを正確に特定できないという問題があった。さらに、この試作されたロボットは、指揮者に対して後ろを向くと指揮棒を撮影することができないという問題もある。
上記実施例に係るロボット１０によると、第１カメラ４２が指揮棒８２の方向を常に向いているために、試作されたロボットよりも拡大して指揮棒８２を撮影することができる。このために、指揮棒８２の移動軌跡を正確に特定することができる。しかも、指揮者８０に対して後を向いたとしても指揮棒８２を撮影することができるために、ロボット１０を様々なルートで移動させることもできる。
【００２７】
（第２実施例）  ここでは、第１実施例と異なる部分を中心に説明する。図９を用いて本実施例に係るロボット３００の構成を簡単に説明しておく。図９は、平面上をロボット３００が移動する様子を示す。
本実施例に係る楽器演奏ロボット３００は、カメラを一つだけ有している（符号３４２）。このカメラ３４２は、頭部に設けられた左目に相当する孔に臨んで設置されている。図９に示されるように、このロボット３００は、指揮者８０の前を横切るように移動し（位置Ｄ→位置Ｅ→位置Ｆ）、位置Ｆに達すると１８０度回転移動して位置Ｇに達する。そして、矢印で示されるように位置Ｇから移動して、最終的には位置Ｄに戻る。
このロボット３００は、第１実施例と異なり、胴体部７０に対して首部５０（図９では図示省略している）が３６０度回転しない。即ち、首部５０は左右の回転限界を有する。このように回転限界を設けることによって、ヒトを忠実に再現したヒューマノイドロボットを実現している。
また、本実施例に係るロボット３００は、第１実施例のロボットと異なり、非常に低速で移動する。従って、ロボットが高速で移動することを原因として指揮者８０の顔がカメラ３４２の視野内からフレームアウトすることがない。しかしながら、頭部５０に回転限界があることを原因として指揮者８０の顔がフレームアウトすることがある。この点については後で詳しく説明する。
【００２８】
図１０には、本実施例に係る楽器演奏ロボット３００の制御構成を示している。制御部３９０は、２つの制御回路に分かれていない。Ｉ／Ｏ４１０には、カメラ３４２と移動機構２０とモータ５２とアクチュエータ３５ａ，３５ｂが接続されている。カメラ３４２は、指揮者８０の顔と指揮棒８２の双方を撮影する。
【００２９】
図１１に、制御部３９０が実行する処理のフローチャートを示している。ステップＳ３０〜ステップＳ４２までの処理は、第１実施例と同じ処理であるために、詳しい説明を省略する。
上記しているように、本実施例のロボット３００は頭部５０に回転限界があることを原因として指揮者８０の顔がフレームアウトすることがある。この様子を図９を参照して説明する。図９を見ると、位置Ｄにあるロボット３００が位置Ｅ、位置Ｆと移動するにつれて、ロボット３００の頭部３４０が左方向に回転していく様子がわかる。位置Ｆにあるときは頭部３４０が回転限界に達している。この位置Ｆでのカメラ３４２は、指揮者８０の方向を向いているために、指揮者８０の顔をまだ撮影できる。しかしながら、位置Ｆから矢印方向にさらに移動すると、カメラ３４２で指揮者８０を撮影できなくなる。
上記のようにして指揮者８０の顔がフレームアウトすると、ステップＳ３２でＮＯと判別される。ステップ３２でＮＯと判別されると、ステップＳ４４に進む。ステップＳ４４では、頭部３４０を逆方向の回転限界まで回転させる。図９を例にした場合、ロボット３００が位置Ｆからさらに移動して指揮者８０の顔を撮影できなくなると、頭部３４０を右方向の回転限界まで回転させる。これによって、カメラ３４２で再び指揮者８０の顔を撮影できるようになる。図９の位置Ｇを見ると、ステップＳ４４の処理を行なったために頭部３４０が右方向を向いている様子がよくわかる。
【００３０】
本実施例のロボット３００は、指揮者８０の顔と指揮棒８２の双方が一つのカメラ３４２で撮影され、それぞれが画像処理によって抽出される。図１２には、画像処理によって抽出された指揮者の顔８０ｃと指揮棒８２の二拍子分の移動軌跡とが示されている。制御部３９０は、カメラ３４２の撮影画像から指揮者の顔８０ｃの重心座標を求めて、その重心座標が（０，Ｙ）にあるようにビジュアルサーボ制御を実行する。指揮者の顔８０ｃの近傍で指揮棒８２が振られるために、顔８０ｃの重心を（０，Ｙ）に維持しておけば、指揮棒８２の端部の部材８２ａを撮影し続けることができる。これにより、指揮棒８２の動きを解析してテンポと強弱を求めることができる。
【００３１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
例えば、指揮者８０が移動しながら指揮する場合にも、上記した各実施例に係るロボット１０，３００は指揮者８０の顔を撮影し続けることができる。この場合、ロボット１０，３００は移動（進行）しないものであっても、移動するものであってもよい。
【００３２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図１】楽器演奏ロボットの概略構成を示す。
【図２】楽器演奏ロボットの制御構成を示す（第１実施例）。
【図３】楽器演奏ロボットの移動ルートを示す。
【図４】第１制御回路が実行する処理のフローチャートを示す。
【図５】画像処理よって抽出された指揮者の顔の一例を示す。
【図６】第２制御回路が実行する処理のフローチャートを示す。
【図７】画像処理によって抽出された指揮棒の移動軌跡の一例を示す。
【図８】（ａ）横軸に時間をとり縦軸に距離Ｓをとった座標平面上に指揮棒の最下点をプロットしたグラフである。（ｂ）（ａ）のグラフからテンポのみを取出したタイムチャートである。
【図９】楽器演奏ロボットの移動ルートを示す（これ以下は第２実施例）。
【図１０】楽器演奏ロボットの制御構成を示す。
【図１１】制御部が実行する処理のフローチャートを示す。
【図１２】画像処理によって抽出された指揮者の顔と指揮棒の移動軌跡の一例を示す。
【符号の説明】
ｃ１・・首部の回転軸
１０・・楽器演奏ロボット
２０・・移動機構
２２，２２・・車輪
３０ａ・・右アーム
３０ｂ・・左アーム
３２ａ，３２ｂ・・上腕部
３４ａ，３４ｂ・・下腕部
３５ａ，３５ｂ・・下腕部を揺動させるアクチュエータ
３６ａ，３６ｂ・・撥
３８ａ，３８ｂ・・ピン
４０・・頭部
４２・・第１カメラ
４４・・第２カメラ
５０・・首部
５２・・首部を回転させるモータ
６０・・太鼓
７０・・胴体部
７２・・指揮台
８０・・指揮者
８０ａ，８０ｂ，８０ｃ・・指揮者の顔
８２・・指揮棒
８２ａ・・指揮棒の先端に取り付けられた部材
９０・・制御部
１００・・第１制御回路
１０１・・ＣＰＵ
１０２・・ＲＯＭ
１０３・・ＲＡＭ
１１０・・Ｉ／Ｏ
２００・・第２制御回路
２０１・・ＣＰＵ
２０２・・ＲＯＭ
２０３・・ＲＡＭ
２１０・・Ｉ／Ｏ
３００・・楽器演奏ロボット（これ以下は第２実施例）
３４０・・頭部
３４２・・カメラ
３９０・・制御部
４０１・・ＣＰＵ
４０２・・ＲＯＭ
４０３・・ＲＡＭ
４１０・・Ｉ／Ｏ
【図１】
2004330378.tif 000003
【図２】
2004330378.tif 000004
【図３】
2004330378.tif 000005
【図４】
2004330378.tif 000006
【図５】
2004330378.tif 000007
【図６】
2004330378.tif 000008
【図７】
2004330378.tif 000009
【図８】
2004330378.tif 000010
【図９】
2004330378.tif 000011
【図１０】
2004330378.tif 000012
【図１１】
2004330378.tif 000013
【図１２】
2004330378.tif 000014