🐈

Cheetah-SoftwareのシミュレータをUbuntu22.04で動かしてみた

2024/11/11に公開

まえがき

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が表示される。

  1. 左側でCheetah 3あるいはMini Cheetahが選択できる。今回はMini Cheetahを選択。
  2. SimulatorあるいはRobot。今回はSimulatorを選択。
  3. 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