簡潔なまとめ
人型ロボットが2万円で買えます。 元値が高いだけあってしっかりした作りなのでおすすめ。
ハードウェア無改造でPCから、こんな感じで操作できます。
たのしい…! pic.twitter.com/AKzX03D6H2
— izm (@izm) 2019年7月4日
こちらから買えます。
【楽天市場】ホビーロボット > ロボット完成品:グラスロードカンパニー
経緯
DMM.make ROBOTS さんで取り扱いがあるプリメイドAIという50cmくらいの25軸(25個のサーボが入っている)人型ロボットがあります。
プリメイドAI - 世界最高水準ダンスコミュニケーションロボット - DMM.make ROBOTS
本来は15万円+ 操作するには専用アプリ(Androidのみ対応) + モーション自作は出来ない という商品でした。2015年発売です。
ところが、最近になって一部ショップで2万円(税別)まで値下がりしています。
それだけ安くなると、何かに使えないかなあ…と思って買う人が出てきます。僕とか @GOROman さんとか @kirurobo さんとかです。
6/21購入で 6/27 くらいに届きました。
2万円で動いちゃダメな挙動ですごい。 pic.twitter.com/Qf9MGQDFyp
— izm (@izm) 2019年6月30日
持った瞬間にわかる「あ、これこんな値段で買えちゃ絶対だめなやつだ」感
— izm (@izm) 2019年6月29日
めっちゃわかる…プリメイドAIをお腹持ってあおむけで持った時に、シナっと脱力して体が曲がる時の軸の多さに眩暈がしました。これ2万円で買えちゃダメなやつ…
プリメイドAIを動かすための仕組み
プリメイドAIを動かすにはAndroidアプリを眺める限り
- ハードウェア的に組み込みの既定ポーズが20種
- Androidアプリ内からダンスモーションの追加ダウンロード→プリメイドAIに転送→再生
の2種類の動かすルートがあります。
前者はファームウェア吸出とかが必要そう&自由度が少ない予感です。
なので後者を利用して「任意のダンスモーションを生成」→プリメイドAIに転送→再生 を行うアプローチを取ります。
ハックの様子
ハードウェアの信号解析を GOROmanさんが始めて、Androidアプリとプリメイド間の通信はBTのSPP(要するに、Bluetooth接続になっただけのシリアル通信プロトコル)であることを確認しています。
— ごろまん (@GOROman) 2019年6月26日
プリメイドAI のBluetooth調べた
— ごろまん (@GOROman) 2019年6月28日
コマンドっぽいもの pic.twitter.com/0MZcdtCbL2
僕はAndroidアプリ側でダウンロード出来るダンスモーションファイルの解析をUnity上で実装していました。
サーボの正負逆転と、初期のボーン角度を考慮すると、ちょっとだけモーションがプリメイドの実機に近づいてきた気がします。
— izm (@izm) 2019年7月1日
(気になっている点、一部の軸はもしかしてギヤ比違って可動域が狭かったりする?) pic.twitter.com/YAngbtaYZZ
GitHub で @izm さんのからフォークし、frameWaitが待ち時間だとしてキーフレーム間を補間して表示しようとしたもの。上手くいっているかは定かではない。https://t.co/Ohf2UBw6pb pic.twitter.com/G3nZxBSu4l
— キルロボ (@kirurobo) 2019年7月3日
Windows上でBluetoothでプリメイドAIとペアリング(RNBT-で始まるデバイスです)すると、普通にデバイスマネージャー上ではシリアルポートとして認識されます。
そしてUnityEditor上からシリアルポートを使って信号を送れることを確認出来ました。
プリメイドAI、とりあえずWindowsのBluetooth接続でRN*******を見つけてペアリングしたあと、デバイスマネージャー上のCOMポートを115200の8bitモードに指定する。
— izm (@izm) 2019年7月2日
そんでもって当たりのシリアルポートに「04 05 00 01」を送ったら初期ポーズしてくれる。「05 1F 00 40 25」を送ったらポーズ取る。 pic.twitter.com/Ej7riD4kdx
現在の成果物
pmaファイルのモーションプレビュー
@kirurobo さんによる解析と @Schwarz_Sardine さんのモデルによって高精度なモーションプレビューが実現できました。
簡易リモコン
簡易リモコン的なサンプルシーンを作りました。秒間1フレームだけ転送することでインチキなリアルタイムモーション反映を実現しています。
ビルド済みのWindows向けバイナリはこちら。
https://www.dropbox.com/s/6eof04lvtyd17u5/Build_RremoteControl.zip?dl=0
Unity Mecanim Animatorのモーション反映
VR-HMDを使ったマスタースレーブシステムデモ
以上の成果をUnityプロジェクトとしてApache2.0ライセンスで公開しています。 github.com
また、信号解析については以下のGoogle SpreadSheetにあります。
まとめ
2万円で買えて(本来は出来ないんだけど) Unityから ラジコン制御出来そうな25軸の人型ロボット があります。破格だと思うのでみんな買いましょう!そしてハックして遊びませんか。
最後に大事な事なのでもう1度書くと ハードウェア無改造で遊べます。