説明

擦弦楽器演奏ロボット及びその制御方法

【課題】弓の歪量の目標値への追従性を向上させること。
【解決手段】本発明に係る擦弦楽器の自動演奏ロボット100は、弓毛922が弦911との間に作用する応力を計測する歪ゲージ930と、歪データ211及び接点データ212を含む演奏データが設定記憶された演奏データ記憶部210と、歪ゲージ930による計測値と歪データ211との偏差に基づくフィードバック制御演算によって演奏データに追従するために必要な動作軌道を算出する軌道算出部300と、動作軌道に基づいた動作を実行させる動作実行手段(150、16、220)と、を備える。軌道算出部300は、演奏データ記憶部210の歪データ211に追従するために必要な弓押し込み角度の指令値を算出し、演奏データ記憶部210の歪みデータ211及び接点データ212に応じて、弓押し込み角度の指令値を補正するための弓補正角度を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、弓を用いて擦弦楽器を自動演奏する擦弦楽器演奏ロボット及びその制御方法に関する。
【背景技術】
【0002】
人型のロボットが開発されている。このような人型ロボットは、人間の腕を模したロボットアームを有し、ロボットアームの各関節を駆動制御することにより、様々な作業を行うことができる。近年では、楽器を演奏する自動演奏ロボットも開発され、例えば、弓を使ってバイオリンなどの擦弦楽器を自動演奏するロボットの開発も進められている。
【0003】
擦弦楽器の演奏では、弓に弦を押し付けて音を出している。このため、ロボットに擦弦楽器を演奏させるためには、人間の演奏時の動作を再現させればよいと考えられる。すなわち、まず、人間が実際に擦弦楽器を演奏した際の弓の歪量を計測し、その計測データを目標値として取得する。そして、ロボットが演奏している際に、計測した弓の歪量が目標値に追従するようにロボットのアーム位置をフィードバック制御し、弓を弦に押し当てる。
【0004】
本発明に関連する技術が、特許文献1乃至5に開示されている。例えば特許文献1には、電気アコースティック・ギターの弦の振動検出に関し、圧電変換器からの信号を可変深度ノッチ・フィルタによって制御し、ノッチ・フィルタのノッチの深さがフィードフォワード制御される点が開示されている。また、特許文献2には、ハーフペダル駆動を行うことができる自動ピアノに関し、目標位置データ、フィードバック補正量及びフィードフォワード補正量に基づきペダル駆動ソレノイドを制御する点が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許3607707号
【特許文献2】特開平8−044348号公報
【特許文献3】特開平11−224087号公報
【特許文献4】特開2005−027028号公報
【特許文献5】特開2009−090424号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、実際にロボットに擦弦楽器を演奏させる場合、弓の歪量を目標値に適切に追従させて、人間が演奏しているときのような音色を再現させることは非常に困難であった。実機において、弓の歪量の追従性が低い理由としては、例えば以下の理由が挙げられる。まず、関節部の摩擦、アクチュエータ性能、ゲイン設定、メカの低剛性部位などに起因する、弓に位置の追従性や応答性の劣化がある。また、弓の歪量を計測するひずみゲージ出力の、弓の構造上の問題によるセンサ出力遅れがある。さらに、弓と弦との接触位置における、出力感度の違いがある。このように、追従性の低下は、弓に取り付けたひずみゲージによる出力が弓と弦の接触する位置によって感度が異なることなどが影響するものと考えられるが、弓の構造上、異なる方法により弓圧を計測することは困難である。
【0007】
従って、本発明は、上述した課題を解決して、弓の歪量の目標値への追従性を向上させることが可能な擦弦楽器演奏ロボット及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る第一の態様の擦弦楽器演奏ロボットは、弓を把持して擦弦楽器を自動演奏する擦弦楽器の自動演奏ロボットであって、弓毛が弦に押し当てられるときに前記弓毛と前記弦との間に作用する応力を計測する弓応力計測手段と、楽曲演奏時に、前記弓毛が前記弦を押す応力を指令する弓応力データと、前記弓毛と前記弦との接触位置を指令する接点データと、を含む演奏データが設定記憶された演奏データ記憶部と、前記弓応力計測手段による計測値と前記弓応力データとの偏差に基づくフィードバック制御演算によって前記演奏データに追従するために必要な動作軌道を算出する軌道算出部と、前記動作軌道に基づいた動作を実行させる動作実行手段と、備え、前記軌道算出部は、前記演奏データ記憶部の前記弓応力データに追従するために必要な弓押し込み角度の指令値を算出する弓押し込み角度算出部と、前記演奏データ記憶部の前記弓応力データ及び前記接点データに応じて、前記弓押し込み角度の指令値を補正するための弓補正角度を算出する弓補正角度算出部と、を備えるものである。
【0009】
これにより、弓の歪量の目標値への追従性を向上させることができ、人間が演奏しているときのような音色をより良好に再現させることができる。
【0010】
また、前記軌道算出部は、事前の実験によって、前記弓毛が前記弦を押す応力と、前記弓毛と前記弦との接触位置と、に応じて、前記弓応力データに対して前記弓応力計測手段による計測値の追従性が最も良くなるように求められた前記弓補正角度算出のためのゲインが設定記憶されたゲイン記憶部を備え、前記弓補正角度算出部は、楽曲演奏中に時々刻々変化する前記弓応力データ及び前記接点データに応じて前記ゲイン記憶部から前記ゲインを読み出し、当該読み出したゲインにより規定される補正弓角度算出式を用いて前記補正弓角度を算出し、当該算出した補正弓角度を前記弓押し込み角度の指令値に加算するようにしてもよい。
【0011】
さらにまた、前記弓応力計測手段は、弓のスティックに貼設された歪ゲージによって構成されているようにしてもよい。
【0012】
本発明に係る第二の態様の擦弦楽器の自動演奏ロボットの制御方法は、弓を把持して擦弦楽器を自動演奏する擦弦楽器の自動演奏ロボットの制御方法であって、楽曲演奏時に、弓毛が弦を押す応力を指令する弓応力データと、前記弓毛と前記弦との接触位置を指令する接点データと、を含む演奏データが与えられ、与えられた前記弓応力データに追従するために必要な弓押し込み角度の指令値を算出し、与えられた前記弓応力データ及び与えられた前記接点データに応じて、算出した前記弓押し込み角度の指令値を補正するための弓補正角度を算出するものである。
【0013】
これにより、弓の歪量の目標値への追従性を向上させることができ、人間が演奏しているときのような音色をより良好に再現させることができる。
【発明の効果】
【0014】
本発明によれば、弓の歪量の目標値への追従性を向上させることが可能な擦弦楽器演奏ロボット及びその制御方法を提供することができる。
【図面の簡単な説明】
【0015】
【図1】実施の形態1に係る自動演奏ロボットが擦弦楽器としてのバイオリンを演奏している様子を示す図である。
【図2】実施の形態1に係る弓の側面図である。
【図3】実施の形態1に係る歪ゲージを示す図である。
【図4】実施の形態1に係る自動演奏ロボットの制御部の構成を示す図である。
【図5】実施の形態1に係る弓押し込み角度算出部の構成を示す図である。
【図6】実施の形態1に係るゲインの調整フローを示す図である。
【図7】実施の形態1に係るゲイン算出時の計測データを例示するグラフである。
【発明を実施するための形態】
【0016】
実施の形態1.
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施の形態に係る自動演奏ロボットが、擦弦楽器としてのバイオリンを演奏している様子を示す図である。
【0017】
自動演奏ロボット100は、体幹部110と、体幹部110に可動に設けられた右腕部120及び左腕部130と、を備えている。左右の腕部120、130は、複数の関節140を有し、6又は7の自由度を持つロボットアームである。各関節140は、サーボモータによって駆動される。左右の腕部120、130の先端部には、物体を把持する手先部が設けられている。
【0018】
右腕部120は、肩から手首までの部分である右腕本体部121と、手首から先の部分である右手先部122とから構成される。右手先部122は、人間と同じように五指が設けられ、各指は指関節によって可動である。
【0019】
ロボット100は、人間と同じように左腕部130でバイオリン本体部910を保持し、右手先部122によって弓920を把持し、立位姿勢又は着座姿勢でバイオリン900の演奏を行う。
【0020】
ロボット100が演奏するバイオリン900は、通常のバイオリンと同じであってもよく、電子バイオリンであってもよい。
【0021】
図2は、バイオリン演奏に用いる弓920の側面図である。
弓920は、スティック921と、スティック921に張られた弓毛922と、を備えている。さらに、スティック921には弓毛922に係る圧力を計測するための弓応力計測手段としての歪ゲージ930が貼設されている。
【0022】
歪ゲージ930は、スティック921の前後方向において略中央に設けられている。歪ゲージ930の構成としては特に限定されるものではないが、例えば図3に示すように、4枚の歪ゲージを用いた4アクティブゲージ法によって歪ゲージを設けることが好ましい。このような4ゲージ法によれば、温度変化等によるスティック921の変形に影響されず、スティック921の歪を計測することができる。
【0023】
このような構成の弓920において、弓920の弓毛922をバイオリン900の弦911に押し当てると、弓毛922にテンションがかかる。すると、弓毛922のテンションによってスティック921に歪が生じ、この歪により歪ゲージ930の出力電圧が変化する。従って、歪ゲージ930の出力から、スティック921の歪及び弓毛922にかかるテンションを検知することができる。
【0024】
ここで、図2に示すように、バイオリン演奏に用いるパラメータを設定する。
右手先部122が弓920を把持する基端を原点とし、弓毛922が弦911に接する位置を接点xとする。この接点xは、基端から弓毛922が弦911に接する位置までの距離を表す。前記原点を中心として、弓920の回転角度を、弓押し込み角度ΔΘとする。なお、弓920を弦911に押し込む方向を正とする。また、弦911の押し込み量をΔZとする。
【0025】
このとき、以下の式で示す関係が成立する。
ΔΘ=ΔZ/x
【0026】
次に、自動演奏ロボット100の制御システム構成について説明する。
図4は、自動演奏ロボット100の制御部200の構成を示す図である。
制御部200は、演奏データ記憶部210と、軌道算出部300と、関節角度算出部220と、を備える。
【0027】
演奏データ記憶部210には、楽曲を演奏するためにロボット100に与える各種の指令が演奏データとして設定記憶されている。演奏データは、例えば、人間が実際に楽器を用いて演奏した際の各種データをサンプリングすることによって生成される。ここでは、演奏データとして、応力データとしての歪データ211と、接点データ212と、弓姿勢データ213と、が設定されている。
【0028】
歪データ211は、人間が実際に弓920を用いてバイオリン900を演奏した際に、歪ゲージ930によって計測された歪のデータであり、弦911に対して弓920をどれぐらいの強さで押し当てるかを示す。歪データ211によって指令される歪量を、εrefとする。
【0029】
接点データ212は、人間が実際に弓920を用いてバイオリン900を演奏した際の、弓毛922と弦911との接触位置xのデータである。接点データ212によって、弓毛922と弦911との接触位置xが指令されることはもちろん、接点データ212の一階微分、二階微分により、弓920をどれぐらいの速さでストロークするかが示される。
【0030】
弓姿勢データ213は、人間が実際に弓920を用いてバイオリン900を演奏した際の、弓920の角度のデータであり、これにより、弓920がどの弦911に当たるかが決まる。
【0031】
なお、演奏データとしては、左腕部130に関する演奏データ、例えば、左手の運指データ214なども必要であるが、本発明の主要点は右腕部120の動作制御にあるので、左腕部130の動作制御に関する説明は割愛する。
【0032】
演奏データ記憶部210に設定記憶された演奏データ211、212、213、214は、一つの曲に対応するデータとして生成されており、データ読出しの際には同期して読み出されるようになっている。
【0033】
軌道算出部300は、ロボット100が楽曲を演奏する際の、各腕や手先部の軌道を算出する。軌道算出部300は、弓押し込み角度算出部310と、右手先軌道算出部320と、右腕軌道算出部330と、左腕軌道算出部340と、補正角度算出部350と、ゲイン記憶部351と、を備えている。
【0034】
弓押し込み角度算出部310は、演奏データ記憶部210の歪データεrefに追従するために必要な、弓押し込み角度の指令値ΔΘを算出する。
図5を参照して、弓押し込み角度算出部310の詳細な構成について説明する。
弓押し込み角度算出部310は、PIフィードバックループによって構成されている。具体的には、弓押し込み角度算出部310は、比較器311と、比例演算器312と、積分演算器313と、角度変換器314と、を備えている。
【0035】
比較器311には、目標値としての歪データεrefと、歪ゲージ930による計測値εfと、が入力され、比較器311は両者の偏差Δεを出力する。なお、歪ゲージ930と比較器311との間には、例えばローパスフィルタなどのフィルタ931が設けられている。そして、歪ゲージ930による計測値εはフィルタ処理によってノイズ除去が行われた後、フィルタ処理後の歪計測データεfが比較器311に入力される。
【0036】
比例演算器312及び積分演算器313により、PI制御が構成される。具体的には、比例演算器312は、比例ゲインKを歪偏差Δεに乗算する。また、積分演算器313は、比例演算器312の出力に対して、積分時間Tを用いて積分演算を実行する。歪偏差Δεに対する比例演算及び積分演算によって、弓920の押し込み量ΔZが算出される。
【0037】
角度変換器314は、求められた弓920の押し込み量ΔZから、弓押し込み角度ΔΘを算出する。具体的には、角度変換器314は、弓920の押し込み量ΔZを、そのときの接点データxで除算することで、弓920の押し込み量ΔZから、弓押し込み角度ΔΘを算出する。
【0038】
ここで、歪ゲージ930による計測精度及び計測感度が高くないことに影響され、単純なPI制御演算では、弓の歪量εmを目標値εrefに良好に追従させるための、弓押し込み角度ΔΘを精度良く求めることができない。そこで、本実施の形態では、弓押し込み角度算出部310の出力ΔΘに、補正弓角度算出部350の出力ΔΘffを加算する点に特徴を有するが、詳細については後述する。
【0039】
図4に戻って説明を続ける。
右手先軌道算出部320は、弓押し込み角度算出部310によって算出された弓押し込み角度ΔΘを実現するための、右手先部122の軌道を算出する。
【0040】
関節角度算出部220は、右手先軌道算出部320、右腕軌道算出部330、左腕軌道算出部340によって求められた軌道を実現するため、必要な各関節140の駆動角度を求める。関節角度算出部220にて求められた駆動角度の指令値は、ドライバ150を介してモータ160に与えられる。関節角度算出部220と、ドライバ150と、モータ160とにより、動作軌道に基づいた動作を実行させる動作実行手段が構成される。
【0041】
なお、特に詳細には説明しないが、右腕軌道算出部330は、弓毛922と弦911との接触位置が接点データxに追従するような右腕本体部121の軌道を算出し、関節角度算出部220に出力する。また、左腕軌道算出部340は、例えば左手運指データ214に応じて、押さえる弦911、弦911を押さえる位置、弦911を押さえるタイミングなどを実現するための左腕軌道を算出し、関節角度算出部220に出力する。
【0042】
補正弓角度算出部350について説明する。
補正弓角度算出部350は、歪データの目標値εrefと、弓毛922と弦911との接触位置xとから、弓押し込み角度ΔΘを補正するための補正弓角度ΔΘffを算出する。補正弓角度算出部350により算出された補正弓角度ΔΘffが、弓押し込み角度算出部310により算出された弓押し込み角度ΔΘに加算される。すなわち、補正弓角度ΔΘffは、弓押し込み角度ΔΘに対する、フィードフォワード補正量となる。補正弓角度算出部350にはゲイン記憶部351が付設されている。補正弓角度算出部350は、ゲイン記憶部351に記憶されたゲインを参照して、歪データの目標値εrefと、弓毛922と弦911との接触位置xとから、補正弓角度ΔΘffを算出する。
【0043】
ゲイン記憶部351には、補正弓角度算出部350が補正弓角度ΔΘffの算出処理で利用するゲインが設定記憶されている。これらゲインは、実際のロボット100又は実験機を用いて、上述した弓押し込み角度算出部310におけるフィードバック制御を実行して、事前に求められたものである。詳細は後述するが、これらゲインは、歪データの目標値εrefに対してフィルタ処理後の歪計測データεfの追従性が最も良くなるように求められる。
【0044】
図6及び図7を参照して、ゲインの算出方法について説明する。
図6は、ゲインの調整フロー図である。図6で示すゲイン調整処理は、補正弓角度算出部350及びゲイン記憶部351の機能は利用せず、弓押し込み角度算出部310の機能のみを有効にして行う。すなわち、弓押し込み角度算出部310が弓押し込み角度ΔΘを算出し、算出された弓押し込み角度ΔΘを補正せずにそのまま利用するものとして、歪計測データεfを歪データεrefに追従させるフィードバック制御のみを有効にして行う。
【0045】
まず、ステップS101〜S103にかけて、ロボットを動作させてゲインの算出に利用するデータを計測する。なお、xmesは、計測時に取得した弓毛922と弦911との接触位置を示す。εmesは、計測時に設定した歪データの目標値を示す。ΔΘmesは、計測時に取得した弓補正角度を示す。
【0046】
S101:弓毛922と弦911との接触位置xmesが0.2m、0.35m、0.5mの場合に、歪データの目標値εmesが0.5[V]となるように弓毛922を弦911に押し当て、その時の、弓補正角度ΔΘmesを取得する。すなわち、接触位置xmesが0.2mの場合に、歪データの目標値εmesが0.5[V]となるように弓毛922を弦911に押し当てた時に、1つの弓補正角度ΔΘmesを取得する。同様に、接触位置xmesが0.3mの場合、0.35mの場合にも、それぞれ同様にして、弓補正角度ΔΘmesを取得する。
【0047】
S102:弓毛922と弦911との接触位置xmesが0.2m、0.35m、0.5mの場合に、歪データの目標値εmesが1.5[V]となるように弓毛922を弦911に押し当て、その時の、弓補正角度ΔΘmesを取得する。
【0048】
S103:上述したS101及びS102を3回繰り返し、歪データの目標値εmesが0.5[V]の場合の、各接触位置xmesでの弓補正角度ΔΘmesと、歪データの目標値εmesが1.5[V]の場合の、各接触位置xmesでの弓補正角度ΔΘmesと、を取得する。図7に、計測したデータの関係を示す。
【0049】
次に、ステップS104〜S106にかけて、計測したデータからゲインを算出する。
S104:接触位置xmesに対する弓補正角度ΔΘmesを、最小二乗法を用いて2次式で近似して、2次のゲインa、b、cを求める。ここでは、以下の式を用いて、歪データの目標値εmesが0.5[V]の場合の2次のゲインa、b、cと、歪データの目標値εmesが1.5[V]の場合の2次のゲインa、b、cと、を求める。なお、Eは、残差二乗和を示す。
E=Σ(ΔΘmes−a×xmes−b×xmes−c)
【0050】
S105:S104で求めた各歪データの目標値εmesについての2次のゲインa、b、cを対象に、歪データの目標値εmesに対する弓補正角度ΔΘmesを、1次式で近似して、1次のゲインa1、a2、a3、b1、b2、b3を求める。ここでは、以下の式を用いて、歪データの目標値εmesが0〜0.5[V]の場合の1次のゲインa1、a2、a3、b1、b2、b3と、歪データの目標値εmesが0.5〜1.5[V]の場合の1次のゲインa1、a2、a3、b1、b2、b3と、を求める。
a=a×εmes+b
b=a×εmes+b
c=a×εmes+b
【0051】
S106:S104で求めた2次のゲインa、b、cと、S105で求めた1次のゲインa1、a2、a3、b1、b2、b3とから、以下に示す、補正弓角度算出用の式を求める。
ΔΘff=a×x+b×x+c
a=a×εref+b
b=a×εref+b
c=a×εref+b
【0052】
このような構成を備える自動演奏ロボット100の動作について説明する。
まず、自動演奏ロボット100による演奏開始に際して、必要な各種データを設定する。演奏データ記憶部210に、一曲分の演奏に必要な、歪データ211、接点データ212、弓姿勢データ213等を設定する。さらに、ゲイン記憶部351には、接点x及び歪データの目標値εrefに応じて、最適なフィードフォワード制御を実現する2次ゲイン及び1次ゲインを設定する。
【0053】
このような準備の後、自動演奏ロボット100に演奏させる。
演奏データ記憶部210から、歪データεrefと、接点データxと、弓姿勢データ213とが同期して出力される。
【0054】
歪データεrefは、弓押し込み角度算出部310に入力されると共に、分岐して補正角度算出部350に入力される。また、接点データxは、右腕軌道算出部330に入力されると共に、分岐して補正角度算出部350に入力される。
【0055】
弓押し込み角度算出部310に入力された歪データεrefは、比較器311において歪ゲージ出力のフィルタ後のデータεfと対比され、その偏差Δεが比較器311から出力される。比較器311からの偏差Δεが、比例演算器312及び積分演算器313を介して、弓920の押し込み量ΔZに変換される。そして、押し込み量ΔZは、角度変換器314において接点の値x(接点データx)により除算され、押し込み角度ΔΘに変換される。
【0056】
補正角度算出部350は、入力された歪データεref及び接点データxに応じて、ゲイン記憶部351から対応するゲイン(2次ゲインa、b、cと、1次ゲインa1、a2、a3、b1、b2、b3)を読み出す。補正角度算出部350は、読み出したゲインを上述した補正弓角度算出式に設定し、当該式に入力された歪データεref及び接点データxを代入することで、補正弓角度ΔΘffを算出する。このとき、弓920がストロークされると接点x及び歪データεrefは時々刻々と変化するので、補正角度算出部350は、制弓920の動き、即ち、時々刻々変化する接点データx及び歪データεrefに応じてゲインを更新し、更新したゲインに基づく補正弓角度ΔΘffを算出する。
【0057】
補正角度算出部350により求めた補正弓角度ΔΘffが、補正角度算出部350により求めた押し込み角度ΔΘに加算される。すなわち、補正弓角度ΔΘffは、フィードフォワード補正量として、押し込み角度ΔΘに加算される。
【0058】
補正された弓押し込み角度(ΔΘ+ΔΘff)は、右手先軌道算出部320に入力され、前記補正された弓押し込み角度(ΔΘ+ΔΘff)を実現するための右手先部122の軌道が、右手先軌道算出部320によって算出される。
【0059】
関節角度算出部220は、求められた軌道を実現するために必要な各関節140の駆動角度を求め、求められた駆動角度の指令値は、ドライバ150を介してモータ160に与えられる。これにより、ロボット100の右手先部122が必要な駆動を実行し、歪データεrefに追従するように、弓毛922が弦911に押し込まれる。
【0060】
さらに、接点データx211及び弓姿勢データ213を用いて、右腕軌道算出部330により右腕本体部121の軌道が求められ、指令に従った弓ストローク及び弓角度が実現される。その他、左腕部130に関しても、運指データ214等に基づいて左手の弦押さえが実行される。
【0061】
このようなロボット100の制御により、演奏データ記憶部210に設定された指令値に良く追従したバイオリン900の演奏が実現される。特に、歪データεrefへの追従性を向上させ、弓毛922と弦911との押し当てが指令値に従うので、人間が演奏するときに極めて近い音色が実現される。
【0062】
本実施の形態によれば、次の効果を奏する。
従来、ロボット100にバイオリンを演奏させる場合、弓920の歪量の計測に十分な感度が得られないことなどが影響して、ロボット100が演奏する時の弓の歪量を目標値に精度よく追従させることが難しかった。また、弓の構造上、歪量の計測感度を引き上げることは相当に困難であった。
【0063】
この点、本実施の形態では、弓押し込み角度算出部310において歪データの目標値εrefについてのフィードバック制御を実行すると共に、弓押し込み角度算出部310により求めた押し込み角度ΔΘに対して、フィードフォワード補正量として補正弓角度ΔΘffを加算するという、より追従性を重視した構成を採用した。これにより、目標とする弓の歪量に対する追従性がより向上し、ロボット100の自動演奏による音色が人間の演奏に近くなる。
【0064】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上述した実施の形態1では、弓毛にかかる力を計測するための弓応力計測手段としてスティックに貼設した歪ゲージを用いる場合を例に説明した。この他、例えば、右手先部122とスティック921の基端との間に圧力センサを介在配置し、圧力センサからの出力値によって弓920に掛かる応力を計測するものとしてもよい。また、弓応力計測手段としての歪ゲージを設ける位置はスティックの前後略中央に限らず、弓の歪を検出でできる位置であればよい。また、弓応力計測手段としては、歪ゲージ、圧力センサに限らず、その他のセンサを用いてもよい。
【0065】
上述した実施の形態1では、弓押し込み角度算出部310は、PIフィードバックループで構成されている場合を例示したが、これに限らず、PID制御、PD制御などとしても良いことはもちろんである。
【0066】
擦弦楽器としては、バイオリンに限らず、弓(又は棒)により弦をこすって音を出す楽器であれば良く、バイオリン属(バイオリン、ビオラ、チェロ、コントラバス)の他、例えば、胡弓などでもよい。
【0067】
制御部200は、各種演算器として動作する論理素子等のハードウェアで構成されたものに限らず、CPU(中央処理装置)、メモリ(記憶装置)等を備えたコンピュータによって構成されていてもよい。そして、このコンピュータに所定のプログラムを組み込んで前記弓押し込み角度算出部310や右手先軌道算出部320等の各機能を実現させるようにしてもよい。
【0068】
補正弓角度算出部310に演奏データ記憶部210の接点データ212が分岐して入力される場合を例示したが、この他、例えば、右手先部122の動作軌道を補正弓角度算出部310にフィードバックし、右手先部122の位置から弓毛922と弦911との接触位置を求めるようにしてもよい。
【符号の説明】
【0069】
100…自動演奏ロボット、110…体幹部、120…右腕部、121…右腕本体部、122…右手先部、130…左腕部、140…関節、150…ドライバ、160…モータ、200…制御部、210…演奏データ記憶部、211…歪データ、212…接点データ、213…弓姿勢データ、214…左手運指データ、220…関節角度算出部、300…軌道算出部、310…弓押し込み角度算出部、311…比較器、312…比例演算器、313…積分演算器、314…角度変換器、320…右手先軌道算出部、330…右腕軌道算出部、340…左腕軌道算出部、350…補正弓角度算出部、351…ゲイン記憶部、900…バイオリン、910…バイオリン本体部、911…弦、920…弓、921…スティック、922…弓毛、930…歪ゲージ、931…フィルタ。

【特許請求の範囲】
【請求項1】
弓を把持して擦弦楽器を自動演奏する擦弦楽器の自動演奏ロボットであって、
弓毛が弦に押し当てられるときに前記弓毛と前記弦との間に作用する応力を計測する弓応力計測手段と、
楽曲演奏時に、前記弓毛が前記弦を押す応力を指令する弓応力データと、前記弓毛と前記弦との接触位置を指令する接点データと、を含む演奏データが設定記憶された演奏データ記憶部と、
前記弓応力計測手段による計測値と前記弓応力データとの偏差に基づくフィードバック制御演算によって前記演奏データに追従するために必要な動作軌道を算出する軌道算出部と、
前記動作軌道に基づいた動作を実行させる動作実行手段と、備え、
前記軌道算出部は、
前記演奏データ記憶部の前記弓応力データに追従するために必要な弓押し込み角度の指令値を算出する弓押し込み角度算出部と、
前記演奏データ記憶部の前記弓応力データ及び前記接点データに応じて、前記弓押し込み角度の指令値を補正するための弓補正角度を算出する弓補正角度算出部と、を備える
ことを特徴とする擦弦楽器の自動演奏ロボット。
【請求項2】
前記軌道算出部は、
事前の実験によって、前記弓毛が前記弦を押す応力と、前記弓毛と前記弦との接触位置と、に応じて、前記弓応力データに対して前記弓応力計測手段による計測値の追従性が最も良くなるように求められた前記弓補正角度算出のためのゲインが設定記憶されたゲイン記憶部を備え、
前記弓補正角度算出部は、
楽曲演奏中に時々刻々変化する前記弓応力データ及び前記接点データに応じて前記ゲイン記憶部から前記ゲインを読み出し、当該読み出したゲインにより規定される補正弓角度算出式を用いて前記補正弓角度を算出し、当該算出した補正弓角度を前記弓押し込み角度の指令値に加算する
ことを特徴とする請求項1に記載の擦弦楽器の自動演奏ロボット。
【請求項3】
前記弓応力計測手段は、弓のスティックに貼設された歪ゲージによって構成されている
ことを特徴とする請求項1又は2に記載の擦弦楽器の自動演奏ロボット。
【請求項4】
弓を把持して擦弦楽器を自動演奏する擦弦楽器の自動演奏ロボットの制御方法であって、
楽曲演奏時に、
弓毛が弦を押す応力を指令する弓応力データと、前記弓毛と前記弦との接触位置を指令する接点データと、を含む演奏データが与えられ、
与えられた前記弓応力データに追従するために必要な弓押し込み角度の指令値を算出し、
与えられた前記弓応力データ及び与えられた前記接点データに応じて、算出した前記弓押し込み角度の指令値を補正するための弓補正角度を算出する
ことを特徴とする擦弦楽器の自動演奏ロボットの制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図4】
image rotate


【公開番号】特開2011−186291(P2011−186291A)
【公開日】平成23年9月22日(2011.9.22)
【国際特許分類】
【出願番号】特願2010−52928(P2010−52928)
【出願日】平成22年3月10日(2010.3.10)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】