初めに
Unitree Go1で公開されているunitree_legged_sdkを、外部PC上で実行する方法をご案内します。
環境
環境は、次のようなものを想定しています。
- 機種: R&D(Edu), R&D+(Edu+)(Proではないもの)
- unitree_legged_sdk: v3.5.1以上
- 外部PC: Linux(amd64)
1.外部PC上での環境構築
unitree_legged_sdkのv3.5.1のREADMEは以下のようになっています。
これらパッケージを外部PCにインストールしてください。
なお、v3.8.0のDependenciesはこれとは異なりますが、v3.8.0でもこのDependenciesで考えてください。
LCM以外のパッケージはメジャーなものですので、割愛させていただきます。
LCMのインストール方法
[LCM]https://lcm-proj.github.io/
上のリンクから、lcmをダウンロードし、外部PC内の任意ディレクトリに置きます。
その後、以下のコマンドによってインストールします。
$ cd lcm-1.4.0
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
これで、環境構築は完了しました。
以降はunitree_legged_sdkを実行してみます。
2.unitree_legged_sdkのダウンロード&実行(有線接続)
unitree_legged_sdkをgithubからダウンロードし、外部PCの適当な場所に置きます。その後、コンパイルします。
$ cd unitree_legged_sdk-master
$ mkdir build
$ cd build
$ cmake ..
$ make
次にgo1と有線接続を行います。
図のように有線ケーブルで外部PCと接続します:
その後、外部PCでネットワーク設定を行います:
※末尾3桁は既に使わているもの (161, 13, 14, 15, 10) 以外なら何でも大丈夫です。
※筆者のようにVirtual Boxを使う場合は、windows側でも設定が必要です。
次のpingが通ることを確認してください:
$ ping 192.168.123.161
この環境下で実行します。
$ cd ~/faq_ws/unitree_legged_sdk-master/build
$ ./example_walk
go1が動いてくれれば成功です。
3.おまけ(外部PCから無線で実行する方法)
Go1からデフォルトで出ているWi-Fiを用いて、無線からSDKを動作させることもできます。
まず、Wi-Fiに接続して、pingが通っていることを確認します。
$ ping 192.168.12.1
次に、example_walk.cppを編集します。以下のように宛先のipアドレスを変更します。
作ったexample_walk-wireless.cppをコンパイルするために、CMakeLists.txtに以下の行を追加します:
add_executable(example_walk-wireless example/example_walk-wireless.cpp)
target_link_libraries(example_walk-wireless ${EXTRA_LIBS})
その後、コンパイルして実行します:
$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./example_walk-wireless
go1が動いてくれれば成功です。
おわりに
外部PCにおけるunitree_legged_sdkの実行方法を見てきました。
この記事が少しでも役に立てたのなら幸いです。
関連記事
【Unitree Go1】外部PC上から無線で unitree_ros_to_real を実行する:ハイレベル制御