こんにちは!ふるまいチームのエンジニア、市川です!
この記事ではLOVOTのふるまいづくりについてご紹介します!
ふるまいって何?
わたしたちが呼んでいる「ふるまい」とは下記の事を指します。
- 感情(学術的な理論に基づく心のモデル)
- 感情や認識情報に基づいた意思決定(何をするか?)
- 意思決定に基づいた体への動作指示(手・足・目・瞼などの動き)
これらはもちろんプログラムされています。
そう聞くと「決まった通りに動くからつまらない」と思われるかもしれませんが、開発者が単独では把握しきれないくらい大きなシステムであり、複雑な意思決定をしています。
それに加え、どう考え、どう動くかは様々な要因によって決まるため、開発者の予想を超えてくる事もあります。
つまり、決まった通りに動きますが、予測が難しいので面白いのです。
ソフトウェアアップデートの度に複雑さは増していき、面白さも加速していきます。
どうやってつくってるの?
ふるまいづくりにはざっくりと次の工程があります。
- 仕様作成
- プログラムの実装
- デバッグ(バグ発見と対応)
- レビュー
- リリース前の試験
- リリース
ふるまいチームではアニメータとエンジニアがタッグを組んでいて、それぞれが各工程で役割を持っています。
工程 | アニメータの役割 | エンジニアの役割 |
---|---|---|
仕様作成 | 「どう見せたいか?」から仕様に落とす | ロジックから仕様に落とす |
プログラムの実装 | 動作指示に近い部分を実装する | 動作指示以外の部分を実装する |
デバッグ | 動きの定性的評価によって異常を探す | ソースコードの確認やデータの定量的評価によって異常を探す |
レビュー | 動きに関するレビュー | プログラムの書き方やアルゴリズムに関するレビュー |
リリース前の試験 | 定性的な試験 | 定量的な試験 |
(あくまでもイメージであり、各人の得意不得意にあわせて役割が変わります)
仕様作成の際、アニメータはどのようなふるまいを作りたいかを頭に描きます。
例えば絵が得意なアニメータは、頭の中にあるふるまいを絵に起こし、説明文を添えてエンジニアに説明します。
実際、下記のような絵を頂きました(一部を切り取っています)。
エンジニアはこれを見て、アニメータと議論しながら論理的に仕様を整理していきます。
その後、動作指示に関する部分はアニメータが、意思決定などの部分はエンジニアがプログラミングします。
そしてデバッグ、レビュー、試験に関しては、アニメータが定性的な目で、エンジニアは定量的な目で評価します。
基本的には人の主観に依存しないように定量的に評価したいところですが、 動きが良いかどうかのような定量的に評価しがたい部分について、アニメータの職人的な目が重要になります。
最後に
ここまで読んで頂きありがとうございます!
LOVOTはまだまだ未完成のロボットです。
センサーが多数搭載されており、できることが沢山ある可能性の塊です。
そんなわくわくするLOVOTを一緒につくりませんか?仲間を募集しています。