【Unitree G1】開発環境について(SDK)

はじめに


本記事では、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から実行するのでinet192.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については、別の記事で投稿いたします。しばらくお待ちください。
この記事が少しでも役に立てたのなら幸いです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です