ロボットの気のめぐりをよくする計画
Meridian計画
趣味で小型ホビーロボットの開発を続けています。現在はタイトル写真にある"Scoble"というロボットを作っています。
やりたいことは山ほどありますが、ロボット作りは学ぶべき範囲が膨大すぎるので、なかなか芯を食うような研究までたどり着けません。ハードもソフトもあちらを立てればこちらが立たずで、「ちょうど良い素材」というのはなかなかないものです。パーツ同士のコネクタや通信方式にしても様々な規格があり、メーカーを揃えて使うなどの工夫が必要です。そのことが、ロボット開発の自由を制限していると感じることも多々あります。
そういった不都合を解消する目的で、オープンソースのロボット開発ソリューションがすでに数多く提案されています。しかし、PC以上の処理能力が求められるものがほとんどであり、また起動時間や取り回しの点で小型のホビーロボット開発には不向きといえます。
一方、小型マイコン基盤の処理速度は年々上がってきており、センサやアクチュエーターを制御するためのライブラリなどもかなり充実してきています。PC上のシミュレーターやゲーム開発用の環境などもプロ同等のものが個人が無料で使えるなど、ロボット開発のための一つ一つのピースはすでに出揃っている感があります。
役者は揃っていて、あとはそれをつなぎ合わせるだけ。
それが今のホビーロボットを取り巻く状況であると考えます。
その経路ができさえすれば、ホビーロボットは今まで以上に生き生きと活躍することができるような気がしています。
ということで、既存の基盤を最大限に活用し、他のなにとも競合せず、なんでも受け入れられるような、理想的な開発環境を構築していこうというのがこのプロジェクトの狙いです。
プロジェクト名の「Meridian」は、東洋医学でツボとツボを結びつらねる道筋である経絡(けいらく)を意味します。Meridianには他に子午線という意味もあるそうです。要所要所をつなぎ合わせることで、それぞれのパーツやアプリケーションのポテンシャルが開放され、ホビーロボットの気の巡りもよくなっていくと考えています。
具体的にやること
共通基盤としてのROSも便利ですが、Meridianではもうちょっと脊髄反射レベルのところを強化していきたいと考えています。
各メーカーや既存基盤の足りないところを補うような、
・ロボット制作の初級者でも理解できる簡便さ
・機能を最小限にとどめた軽量さと拡張性
・パーツのメーカーを選ばない高い自由度
・各自の環境にサクッと対応できる疎結合
という環境を整えていきます。
私自身は二足歩行ロボットを主に開発しているので、まずは一番よく使われるサーボモーターの制御を中心に組み立てていきたいと考えています。
達成したい条件として、
・ロボット搭載部については秒で立ち上がる。
・すべての種類のサーボを分け隔てなく使える。
・コマ送りモーションと計算動作の両方に対応できる。
・コマ送りモーションと計算動作を組み合わせて滑らかに動ける。
・最低でも10ms単位で制御できる。(目標2ms)
・開発ソフトはWinMacLinux全プラットフォーム対応できる。
・ロボットの動きを絵で見られる。滑らかに見られる。
・ロボットを動かしたら画面の中も動く。
・どんな形のロボットにも対応できる。
・ロボットは実物とVR空間を行き来できる。
・シミュレーターが使える。
・サーボとの通信プロトコルを各社の最大公約数として設計する。
・ROS等と連携可能。
などが挙げられます。
想定システム
図のTeensy/ESP32を格として、当面はKONDOサーボとUnityを軸に開発をしていこうと思います。
進捗
まずはとりあえず動くという基本の部分を個人としてフィジビリを調べながら作り始めています。
テスト用のロボット"Roid1"(近藤科学のKHR-3HVがベース)のサーボモータ制御をTeensy4.0で行い、PCとのWifi通信部分にはESP32を利用、Mac上のUnityとシリアル通信を行います。プロトタイピング実績としては、Teensy4.0内でサーボモータの位置を計算して5ms以下の分解能で制御したり、サーボモータの情報をUnityに送信したり、逆にUnityからサーボモーターの位置を指示するということが可能になっています。
もう少し進んだところで、基本形をgit hubで公開するとともに、テストで使ってくれる方や一緒にモジュールを開発してくれる方を募集したいと思います。その際は是非ご協力いただければ幸いです。
また、ご興味のある方はコメント欄やTwitter(@Ninagawa123)などでコンタクトいただければありがたいです。
週末を使っての開発になりますので進捗はゆっくりですが、気長に続報をお待ちください。
次回記事:
目次:
この記事が気に入ったらサポートをしてみませんか?