
Roid1. プロトタイプ初号機
Meridian計画。
ほどよい9軸センサが品薄で手に入りにくかったり、入手できるものの設定で手間取ったりと少し時間を使ってしまいました。
ここで一旦現状のMeridianを搭載したプロトタイピングを集約し、一つのパッケージとしてまとめてみようと思います。
トリアーエズ組み立ててみる
ロボット側のシステムを並べるとこのような感じです。
・Roid1.(KHR-4HVベース)、サーボ22軸。
・テストボード(Teensy4.0,ESP32,ICS変換基板x2,SDカード,降圧器搭載)
・負荷テスト用サーボ8軸。
・バッテリー(もしくは外部電源)
テストボードをランドセルに格納し、ここから負荷テスト用サーボをはずすことでスタンドアロン化していく目論見です。
テストボードはKHR標準のランドセルには収まりきらないのですが、マウンターを作って3Dプリンタで出力し、強引に搭載できるようにしてみます。
プロトタイプだの初号機だの仮設機だの言いながら開発ごっこを味わえるのはロボ作りの醍醐味の一つですよね。
開いたバッパックの形が陸戦ガンダムのパラシュートパックやガンダムマーク2のGディフェンサーのような形状でなんだか楽しい感じがします。
はみ出しながらもなんとかテスト基板をランドセルに搭載できました。
これで動作のデモができます。
いざ動作デモ
2ヶ月ぐらい前にアップしたデモと見た目はほとんど変わりませんが・・・実は中身は大きくバージョンアップしています。
Meridian90と名付けた中に流れているデータはほぼ本番仕様で、サーボ-Teensy4.0-ESP32-wifi-Unityの間を完全に循環しています。
細かいところではサーボの回転方向も最新の設定ルールに合わせており、プログラムもちょっと改良しています。
見た目の違いとしては、外部と接続していたケーブルがなくなり、要素をすべて本体に搭載&無線化したことが挙げられます。
以下にちょっとした動画のデモをあげました。
・ROBOT→UNITY : 脱力したサーボから位置を取得しUnityに反映。
・ROBOT power ON : Unityから無線でサーボオン。
・Unity→ROBOT : スライドバーや数値入力でサーボ位置をリアルタイム指定
ということを実行しています。
Meridian計画。
— 二名川 (@Ninagawa123) September 5, 2021
サーボ角度とUnity画面のシンクロ度の様子。
ICSサーボ-Teensy4.0-ESP32-wifi-Unityでシンクロ。
ロボットの状態をUnityへ、Unityの指示をロボットへ双方向に反映。
サーボ位置の反映速度はなかなか早い。
IMUの反映はちょっとタイムラグ。
IMUヨー軸もちょっとずつズレる。 pic.twitter.com/AxOXJNHq7z
普通の人からすれば、データで動くロボットを動かしてるんだから画面の中のロボットも動いて当たり前じゃん!どこがすごいの??ってなるかもしれませんが、いやこれ結構大変なんですよ。原理はシンプルなんですが実際にやると細かいところがもうほんと色々と。この苦労がわかる人はたぶん世の中的には変態に分類されます。僕と仲良くしてください。よかったらハートマークを押してください。
つぎは何をする?
開発においてクリティカルな部分がだいぶクリアできてきました。
Unityで計算した制御指示がリアルタイムに反映できるかがやや微妙な感じなので、そこがうまくいくかどうかを調べていきます。
次の記事:
前の記事:
目次:
いいなと思ったら応援しよう!
