ロボットダンスシステム
台風21号が接近する中、私は大阪でインターンシップに取り組みました。
4日はリモートでの作業↴
コミュニケーションロボットであるSotaを音楽に合わせて躍らせることを目標に1週間の研究に取り組みました。
Sotaとコミュニケーションを取りながら、音楽プレイヤー役のRaspberry Piを操作します。そして音楽のリズムをセンサで取得し、それに合わせてRaspberry Piから送り返す信号を変えて、Sotaの踊りを変化させます。
Sotaをクライアント。Raspberry PiをサーバーとしたTCP/IP通信を用いました。
開発環境は以下の通りです。
「Vstone Magic」・・・Vstoneが提供するビジュアルプログラミングソフト(Java)
「Thonny Python IDE」・・・RaspbianにデフォルトであるPython IDE。
苦戦しながらも形にはなっていく中、問題となったのはリズムを取得する方法です。
当初、Pythonのモジュールとして「librosa」というものがありました。
見たところすごく優秀なモジュールなのですが、結論から言いますと「Raspberry Piでの実装方法」が期間内に分からず断念しました(泣)。ぜひ誰か分かる方いたら教えてくださると幸せます。
とはいえ、モノは期間内に完成させたい…ということで以下の方法をひらめきました。
今回はデモ用にこれだけにしましたが、②の計測を常に行えば曲のテンポの変化に対応できたり、③の分割も細かくすることで、バリエーションを増やすことができます。
何より、この仕組みはシンプルながら利用シーンにピッタリだということで、良い評価を得られました (*'ω'*)。
最後に今回のプログラム等を掲載しておきます。今後どんなハードウェアにも対応できるようなシステムに改良していこうと考えているので、良いアイデアがあれば、ご教授願います。