🐈
Cheetah-SoftwareのシミュレータをUbuntu22.04で動かしてみた
まえがき
MIT Biomimetic Robotics LabからMITライセンスのOSSとして公開されているCheetah-Software。四脚ロボットの動画は見たことあるし、Mini-Cheetahはクローンのロボットが売られている。ただ、Cheetah-Softwareに関する情報ってあまり見つけられない。
実機を動かすだけでなくシミュレータも一緒に提供されているので試してみた。
動作環境
| 項目 | 内容 |
|---|---|
| PC | Thinkpad X260 |
| メモリ | 8GB |
| OS | Ubuntu 22.04LTS |
| ジョイコン | PlayStation3 |
コンパイル
aptでパッケージ追加
必要となるパッケージは極力aptで入れる。
sudo apt install liblcm-java libeigen3-dev libqt5gamepad5-dev freeglut3-dev
ソースコード取得
Ubuntu22.04LTS向けに修正したものをgithubに上げたのでクローン。
git clone https://github.com/itohemon/Cheetah-Software.git
ビルド
以下実行。
cd Cheetah-Software
mkdir build
cd build
cmake -DMINI_CHEETAH_BUILD=TRUE ..
./../scripts/make_types.sh
make -j4
シミュレータ実行
ビルドしたディレクトリで実行する。
./sim/sim
SimControlPanelが表示される。

- 左側でCheetah 3あるいはMini Cheetahが選択できる。今回はMini Cheetahを選択。
- SimulatorあるいはRobot。今回はSimulatorを選択。
- Startボタンを押す
simウィンドウが表示される。

また、SimControlPanelに値がロードされる。

ロボット制御プログラムの起動
別のターミナルを起動しビルドしたディレクトリで実行する。
./user/MIT_Controller/mit_ctrl m s
simウィンドウが変化する。

SimControlPanelの真ん中のペイン(Robot Control Parameters)で以下を変更
cheater_modeを1にする。

use_rcを0にする。

control_modeを変更する。
| control_mode | ステート名 |
|---|---|
| 0 | PASSIVE |
| 1 | STAND_UP |
| 3 | BALANCE_STAND |
| 4 | LOCOMOTION |
| 5 | LOCOMOTION_TEST |
| 6 | RECOVERY_STAND |
| 8 | VISION |
| 9 | BACKFLIP |
| 11 | FRONTJUMP |
例えば1(STAND_UP)

LOCOMOTIONだとジョイコンで移動させることができる。
モードの遷移はできないケースもあるようだ。
バックフリップができるのはなかなか驚く。
control_modeは使えるもの、使えないものがあるみたいだがよくわからない。
最後に
ひとまずシミュレータを動作させるところはできました。
プログラムがどう動いているかはあまりわかっていないので少しづつ深堀していきたいと思ってます。
Discussion