robbit_projectは、マイコンまたはFPGAを活用する扱いやすいtwo-wheeled self-balancing robot(TW-SBR)を作成するプロジェクトである。 TW-SBRは2輪のタイヤを制御し、車体を傾かせることで自立を可能にするロボットである。 FPGAを活用するTW-SBRはrobbit、マイコンを活用するTW-SBRはrobbit-espと呼ばれる。
robbitはFPGAを活用する扱いやすいtwo-wheeled self-balancinig robot(TW-SBR)である。 robbitはFPGAを用いるロボットの普及とFPGAの教育と研究に貢献することを目指している。 安価な市販部品を用いることでハードウェア費用を削減し,FPGA開発のフレームワークを活用することで技術的にも開発しやすくしている.
下の写真がrobbitの写真を示している。 車体上部には、FPGAボード、センサ、ディスプレイ、モータドライバなどが備え付けられている。 車体下部には、動力を提供するバッテリーやギアモータやタイヤなどが接続されている。
FPGAに実装するモジュールはすべてVerilog HDLで実装されている。 robbitの動作制御はPID制御で行っており、これはソフトウェアで実装されている。 ソフトウェアはRISC-Vプロセッサで動作する。 このため、開発者はrobbitの開発を通じて、ロボットの組み立てやRTL設計を通したハードウェア開発だけでなく、PID制御による動作改善を通したソフトウェア開発も学ぶことができる
robbitはCFU Proving Groundと呼ばれるオープンソースを利用することで、開発しやすいロボットになっている。 robbitの組み立て費用も2万円弱になっているので、既存のFPGAを利用するSelf-balancing robotの開発キットよりも安価になっている。 また、FPGAボードを取り外しできるようになっているので、複数人で作る際は、FPGAボードを共有して開発するとさらに費用を抑えることができる。
robbitはPIDソフトウェアやハードウェアを変更することで、その動きが大きく変わる。 複数人で開発するときは、自立時間を競うコンテストなどを開いてみると面白いかもしれない。 自立時間を競う上で、風を追加したり、滑りやすい床で自立させたりするとさらに面白くなる。
robbitの開発を行う場合はrobbitフォルダ内を参照してほしい。 また、robbitフォルダ内には、開発マニュアルや システムマニュアルがあるので、そちらを参考にして開発を進めてほしい。 さらなる詳細は、robbit-espフォルダ内のREADMEを参照してほしい
.
└── robbit_project/
└── robbit/ <----------------- 参照フォルダ
├── CFU-Proving-Ground/
└── setting/
├── image
├── manual
└── merge_file
robbitとは別に、robbit-espと呼ばれる、ESP32-C3で制御するロボットも開発できる。 下の画像はrobbit-espの完成写真である。 robbit-espの構成は、できるだけrobbitと同じ仕様にしている。 robbit-espはBLE通信によるリアルタイムのパラメータ通信を可能にしているため、ディスプレイを接続していない。 robbit-espを開発することで、マイコン開発を学べるだけでなく、robbitとの動作比較も行える。
![]() |
![]() |
robbit-espの開発を行う場合はrobbit-espフォルダ内を参照してほしい。 robbit-espフォルダ内には開発マニュアルと システムマニュアルが存在するので、これらを参考に開発を進めてほしい。 さらなる詳細は、robbit-espフォルダ内のREADMEを参照してほしい。
.
└── robbit_project/
└── robbit-esp/ <----------------- 参照フォルダ
├── image
└── manual
- MadgwickAHRS ライブラリ
- 提供元:Arduino LLC
- リンク:https://github.com/arduino-libraries/MadgwickAHRS
- 再配布箇所:
- robbit/setting/merge_file/MadgwickAHRS.c
- robbit/setting/merge_file/MadgwickAHRS.h
- 使用箇所:
- robbit、robbit-espともに、ソースコードのコンパイル時に静的リンクを使用し組み込む
- robbit/setting/merge_file/main.cpp、およびrobbit-esp/robbit-esp.inoにてヘッダファイルをincludeし、ビルド時に静的リンク
- ライセンス:GNU Lesser General Public License v2.1 or later
- ライセンス全文は本リポジトリに同梱(COPYING.LESSER)されています。
- ※このライブラリを使用しているコードの再利用・再配布時には、LGPLの条件にご注意ください。
- robbit_project(Two-wheeled self-balancing robot project)のversion 1.0を公開

