見出し画像

Meridian Board - LITE -

Meridian計画。
大変おまたせしました。

ESP32DevkitCが1枚あればMeridianが動く!


というMeridian Board - LITE -ができあがりました。
KHR-3HVなどの半二重通信コマンドサーボで構成されたロボットであれば、1/100秒単位でPC上の仮想環境とシンクロするデジタルツインなROS連携を手軽に導入することができます。
ESP32DevkitCは秋月電子通商で1,230円で販売されており、2022年6月現在、半導体不足の中でも品切れなく購入可能です。

できあがった基板

このボードでできること

Meridianのデモで一番わかりやすい以下の動画と同じことを実現できます。
実機のロボットの9軸センサ、関節サーボの角度データを、ROSやUnityにWIFI転送して画面内とデジタルツインにしたり、その逆ができます。

実際にモーションを動かしてみたらどんな感じになるのかについては、下記のデモ動画をご覧ください。なかなかのなめらかさで動作を再生することができています。

上記のデモでは、Meridian Board - LITE -を搭載したロボットに対し、全身のサーボにサインカーブで構成された計算モーションを与えて動かしています。計算はPC上のMeridian consoleで行い、計算結果のデータをPCから1/100秒間隔で送信しています。モーションをストリーミング再生している感じです。
BPMを指定して曲のタイミングに合わせて踊る、なんてことも計算モーションであれば簡単に実現できます。ちなみに今回はプログラム上のサインカーブの分割数を指定することで曲と同期させています。

LITE版の機能

オープンソースのためユーザーが自由にコードを書き、そしてハードウェア的にも自由に拡張できますが、サンプルコードで準備&確認できている機能は下記の通りです。

サーボ22軸をMeridianで100Hz制御

前述の動画ようにお手軽にロボットのデジタルツイン化を実現できます。
マイコン基板でサーボを制御する場合、これまではデータ送信のみでロボットを動かすことが多かったと思いますが、Meridianでは全データの送受信が可能です。制御計算をマイコン上でもPC上でも行うことができるのが面白いところの一つです。
内部的にサーボの受信値を取得しそびれる現象が見られましたが、これは前後の通信データよりソフトウェア的に補完することで解決しています。
また、サーボ自体が発信する角度データの正確さについてはサーボ性能に依存しますので、サーボ性能以上の正確なデータが必要な場合には何らかの対策が必要になります。

ドライバーとネジだけでKHR-3HVに搭載可能

KHR-3HVと電源コネクタがコンパチで、半二重通信回路も計2系統標準搭載しているため、追加工なしでKHR本体標準のRCB-4HVボードと換装することが可能です。ケーブルやコネクタもRCB-4HVで使っていたものをそのまま流用でき、ランドセルのフタもギリギリ閉まります。

けっこうギリですが収納できます

半二重通信系の全てのロボットに対応可能

KXR-L2やプリメイドAIなどでも理論上使えるとは思いますが、まだテストができていません。基板のサイズが合わないと思うので、何かしらの工夫は必要でそうです。
ロボゼロやG-ROBOTS等、FUTABAのRS30x系サーボを使ったロボットへの対応もできていますが、コードの整理ができておらず後日公開となります。その他の半二重コマンドサーボのロボットにも順次対応していく予定です。
過去に発売されたコマンドサーボ式ロボットのほとんどをROS化できてしまうのもMeridianの面白いところです。

9軸センサーはBNO055に対応

本体に9軸フュージョンセンサモジュールBNO055を繋げるI2Cピンを用意してあるので、2.54mmピッチのコネクタがあればすんなり接続することができます。これによりロボット本体が向いている方向もPC画面に即時反映されます。

SDカードホルダを接続可能

秋月で300円で販売されているSDカードホルダーをサクッと装着できるSPIピン列を設けてあります。
ただしメモリカードの使い方はまだ特に決まってません。

KONDO純正のリモコンに対応

近藤科学の白いリモコンセット(KRR-5FH/KRC-5FH)に対応しており、サンプルスケッチでも受信信号を読み取っています。

最新の2022年7月3日版Meridim配列に対応

サンプルスケッチが最新の配列に対応しています。
Unity版等、未対応の部分も順次対応していきます。

ソフトウェアはROSに概ね対応

pythonで動くMeridian consoleに対応しており、ROS1上でひとつのNODEとして振る舞うことができます。ただし本格的に使用するにはもう少し詳細な設定やプログラム調整が必要かもしれません。

もちろんオープンソース!

サンプルのソフトウェアから回路図まですべてがオープンになっており、どなたでも自由に開発を進めることができます。

詳しい内容&最新情報はGitHubにて

GitHubに慣れていないのですが、LITE版に関する情報はとりあえず下記に格納していきます。
導入方法なども少しずつ追記していく予定です。(ので、わからないところやソフトウェア的なご要望あればお教えいただければ助かります。)

すぐに使える完成品の頒布もあります

半田付けから検品まで個人の手作業で作成しているので数量限定となってしまいますが、boothにて完成品の頒布を行っています。

↑ 買えます。

ボードのピンアサインです

次にやること

Teensy4.0と連携する本命フル機能のMeridian Board Type.K について、もうちょっと基本機能の底上げとチューニングを行なっていきます。
早めに競技に使えるレベルまで安定させられたらいいなと思っています。

次回記事:

前回記事:

目次:


この記事が気に入ったらサポートをしてみませんか?