目次
はじめに
本記事では、Unitree G1を用いて、SDK(unitree_sdk2)を動かす方法についてご案内します。
今回は、G1の内部PCから実行しました。
環境
環境は、次のものを使用しました。
- 機種: G1 R&D Standard(Edu)
- 外部PC: Windows11(本記事ではWindowsを使用しましたが、G1の内部PCを使うので、ほかのOSでも構いません。)
- WSL: 以下の通りです。
0. 参考ドキュメント
unitree_sdk2
1. 環境設定
有線でG1にssh接続する場合、
- ユーザー名:unitree
- パスワード:123
- IPアドレス:192.168.123.164
となります。
[外部PC]
ssh unitree@192.168.123.164
123
1
sshが成功すると、以下のようになります。
注意①:G1はインターネット接続設定をしないと、無線接続できません。
注意②:G1と有線接続する場合、イーサネットのIPアドレスをG1と同じサブネット(例:192.168.123.212/24
)を使用する必要があります。
2. SDKを使う方法
unitree_sdk2を使えるようにします。
(1) ワークスペースの作成
最初に、ワークスペースを作成します。(今回のワークスペース名はts_ws
としています。)
[内部PC(sshでアクセス)]
mkdir <ワークスペース名>
(2) レポジトリをPCをダウンロード
次に、unitree_sdk2をPCにダウンロードします。
[外部PC]
git clone https://github.com/unitreerobotics/unitree_sdk2.git
Windowsでwslを使用しない場合、
unitree_sdk2から、[<>Code] → [Download]の順にクリックしダウンロードします。
(3) unitree_sdk2をG1に転送する
今回は、G1がインターネットに接続していない、かつ外部PCのOSがWindows11なので、
unitree_sdk2をG1に転送し、使用します。
外部PCのunitree_sdk2が格納されているディレクトリに移動し、scp
で転送します。
[外部PC]
cd <unitree_sdk2が格納されているディレクトリ>
scp -r unitree_sdk2 unitree@192.168.123.164:/home/unitree/ts_ws
yes
123
念のため、内部PCにunitree_sdk2があるか確認します。
[内部PC]
ls <ワークスペース名>
(4) unitree_sdk2をビルドする
無事に転送できたので、次にunitree_sdk2をビルドします。
手順は、unitree_sdk2のInstallationにも記載されております。
[内部PC]
cd <ワークスペース名>/unitree_sdk2
mkdir build
cd build
cmake ..
make
下の画像は、cmake ..
まで
make
をすると
build内を確認すると以下のようになっています。
[内部PC]
ls
(5) 実行する
ビルドが完了すると、SDKのサンプルを実行します。
こちらでは、足首を動かすg1_ankle_swing_example
と両腕を動かすg1_dual_arm_example
の二つのプログラムを実行します。
その前に、ネットワークのインターフェースを確認する必要があります。
[内部PC]
ifconfig
今回は内部PCから実行するのでinet
が192.168.123.164
であるeth0
を指定する必要があります。
確認後は、サンプルの実行ファイルが /bin
にありますので、そちらにあるサンプルを実行します。
①g1_ankle_swing_example
[内部PC]
./bin/g1_ankle_swing_example eth0
実際の動きです。
②g1_dual_arm_example
[内部PC]
./bin/g1_dual_arm_example eth0
3. おまけ
g1_loco_client
をそのまま実行しても動きませんでした。(2025年1月30日現在)
こちらは、コードを書き換えるなど開発が必要となります。
おわりに
G1の開発環境であるSDKの使い方を見てきました。
G1の開発環境のROS2については、別の記事で投稿いたします。しばらくお待ちください。
この記事が少しでも役に立てたのなら幸いです。