デジットハッカソンを終えて

私にとってデビュー戦となるデジットハッカソンにて、VRでunityちゃんがあ~んしてくれるシステムを開発した日々について書き残す。周囲を俯瞰できるほどの余裕はなかったので、いちチームのいちメンバー目線になってる。Day1-2の様子も合わせてどうぞ。


各自の強みを活かして戦う

提案するシステム構成をチーム4人で分担して開発した。

メンバーにはunityでVRコンテンツ作れる方、ロボット格闘競技で闘わせてる方、ハッカソン作品引っさげてSXSWに来てた方がいて、誰が欠けても完成しないチームだった。

チームの開発で新鮮だったのは、自分には当然のことでも畑が違うと「スゴイ!」と言われるところ。反対に、私からするとVR開発できること自体がスゴイ。お互いにそう感じるのかもしれないことを思うと、まだ出会っていない技術の組み合わせはたくさんありそう。

ここ最近、デザイン組織の中で役割として「エンジニア」をやっているんだけど、一言で「エンジニア」と片付けられないくらい多様なんだなと改めて気付く。新しいモノコトを具現化するために幅広い技術を持つことが求められる中、自分が技術を持っていないせいで組織の可能性が狭めると思うとドキッとする。


技術と技術の新しい組み合わせ

ジェームス W.ヤングさんが「アイデアのつくり方」の中でおっしゃっていた「アイデアとは既存の要素の新しい組み合わせ以外の何ものでもない」にあやかって、我々チームも電子工作とVRを組み合わせたクロスオーバーを狙った開発テーマに取り組んでいる。

そんな趣旨のため、ハッカソン初参加なのにデジットハッカソンだけではなく6/2-3のXRジャムにもお邪魔した。
https://osaka-driven-dev.connpass.com/event/85951/

開発テーマは共通で、ハードウェアはデジットハッカソン発表まで公開禁止という制約もあったけど、チームで集まって結合する機会が持てたのは良かった。

夜更けに「あ~ん」機能が動くようになって「VRなのに甘い匂いがする!」と盛り上がったのは良い想い出。デジットハッカソンとも違った世界を知る。


ロボットアームの逆運動学

チーム開発にて、私の分担は以下の「1.」~「3.」だった。
  1. unity上の目標位置にロボットの指先を動かせるための関節角度を計算する
  2. シリアル通信でノートパソコンからArduinoへと関節角度を受け渡す
  3. Arduinoにて受信した関節角度に従ってサーボモーターを動かせる

このうち「1.」を解決するのが、ロボット工学で言うところの「逆運動学」で、大学で学んだやつを十数年ぶりに思い出した。

一見するとややこしいのが、第2~4関節は平面上になるようにロボットを設計してもらったおかげで、実は高校数学の知識があれば解くことができる。

ハッカソンが終わってからもチーム内で技術を共有し合っていて、私もちゃんとした資料を作ろうと思ったら、ベタベタな問題設定だったおかげで検索するだけで資料が見つかった。
http://www.waka.kindai.ac.jp/tea/nkgw7353/Robot/Robot00.files/slide0002.htm
↑これの第10回あたりがそのまんま。

ちょっとした落とし穴として、余った自由度を力技で指定したり、複数ある解を良い塩梅で使い分けたりする工夫は必要だったものの、unity上でロボットアームの逆運動学が確認できた。

AI/IoT界隈でもデジタルツインを作って実験回数を稼ぐようだけど、遠隔で進める人力ハードウェア開発でもコンピューター上で振る舞いが確かめられると捗る。


前日にサーボを折って学んだこと

デジットハッカソンで提供されている活動拠点のひとつkiiiyaでは、前夜に3チームが押し寄せてごった返している。徹夜を決め込むチームもいた。 

我々はと言うと、各自の作業分をマージして動作確認する途中で、サーボモーターをぶつけて根元から折ってしまった。

複数のユニットが相互に絡み合うシステムなので、単体のユニットごとに切り分けて調査をする。どうもArduinoのServoライブラリで指定した角度に対して、実際のサーボモーターは1.5倍の角度になる仕様だったと分かった。修理してもらいつつ、プログラム修正しつつ、望ましくばいつもスペックシートに立ち戻るのが鉄則だよなと思い直す。 

また、ロボットアームをunity上のアニメーションに即時追従させていると、実世界には慣性があるので勢い余って折れてしまった。どんなモーションが与えられても大丈夫なように、Arduinoのloop()内部で目標位置まで1度づつ近付く処理を即席で作った。


お披露目はプロトタイピング

デジットハッカソンのDay3は展示→発表→表彰式→交流だった。

どのチームもめっちゃ面白そうなの仕上げてきていたのに、展示するのに夢中で充分に見舞われなかったのは惜しかった。

でも、デモンストレーションで他のチームの知ることができたので、それなりに満足した。

私たちの展示と言えばこんな感じ(動画は動作確認をする私)。たくさんの人に体験してもらえた。消耗品の消費ぶりから数えると50人くらい?

知っている人ほど「どうせVRでしょ」と思ってるところ、現実とシンクロする意外性に対して期待以上だという反応を頂けたのは本当に励みになった。


実際にやってみて、ヘッドセットとハンドが干渉するので改良設計の余地があることが明らかになる。他にも、人による背丈の違いや、負担ある待機姿勢のせいでサーボ精度が下がってくること、没入感を損なわないオペレーションなどなど、やってみて気づくことは多い。お披露目とは言っても、次を見据えるならプロトタイピングでもある。

スポンサーも多かったので各企業の賞も多かった。その中でメインスポンサーの「共立電子産業賞」と、XR JAMでもお世話になった「iMedio賞」をいただいたのは光栄。どこのAPIを使うかの意思決定によって、マッチングしているような側面もありそう。

iMedio賞」つながりで、メイカーズバザールに参加させていただくことになり、まだブラッシュアップは続く。ひとまずデジットハッカソンとしてはひと段落。振り返って実に楽しかった。


コメント

このブログの人気の投稿

ワークショップのチーム分けを組合せ最適化問題として解く

家族サービスデザイン #2 上位下位関係分析

運動会の上位下位関係分析