結論

Unitree のロボットを自社のプログラムで動かす入口は、公式 GitHub の2つのリポジトリです。社内のエンジニアがこの記事で判断できるのは、次の3点です。

  • どちらから始めるか。 C++ で直接書くなら unitree_sdk2、ROS 2 の道具と組み合わせるなら unitree_ros2 です。README の動作環境はどちらも Ubuntu です。
  • 買う構成が開発に対応しているか。 G1 と H2 は、標準モデルでは自社でプログラムを書けず、EDU 版が要ります。購入前に決めないと、買い直しになります。
  • ネットワークをどう分けるか。 開発用の PC はロボットの内部ネットワークに有線でつなぎます。社内の業務ネットワークとは分けます。

2つの公式リポジトリ

2026年10月22日に GitHub で確認した内容です。README は更新されるので、作業前に原文を確認してください。

項目unitree_sdk2unitree_ros2
中身SDK(GitHub の説明は「Unitree robot sdk version 2.」)ROS 2 で機体の状態取得と制御を行うためのパッケージ
対応機種(README の記載)記載なし「Supports Unitree Go2, B2, and H1」。例に G1 と H1-2 の低レベル制御がある
OSUbuntu 20.04 LTSUbuntu 20.04(ROS 2 Foxy)/Ubuntu 22.04(ROS 2 Humble、推奨)
CPUaarch64・x86_64本記事では確認していない
通信方式README に記載なしCyclonedds(DDS の実装)。バージョン 0.10.2
ビルドgcc 9.4.0、CMake 3.10 以上、MakeREADME の手順に従う(本記事では詳細を確認していない)
ライセンスBSD-3-Clause(GitHub の表示)BSD-3-Clause(GitHub の表示)

unitree_sdk2 の README は、詳しい情報の参照先として公式ドキュメントセンター(support.unitree.com)を案内しています。機種ごとの API やサンプルは、そちらの文書とあわせて確認してください。

unitree_sdk2 の準備

README に書かれている動作環境と依存ライブラリは次のとおりです。

  • OS: Ubuntu 20.04 LTS
  • CPU: aarch64 または x86_64
  • コンパイラとビルド: gcc 9.4.0、CMake 3.10 以上、Make
  • 依存パッケージ: cmake、g++、build-essential、libyaml-cpp-dev、libeigen3-dev、libboost-all-dev、libfmt-dev

ビルドは、リポジトリの直下で build フォルダを作り、CMake と Make を実行する流れです。

mkdir build
cd build
cmake ..
make

インストールする場合の既定の場所は /opt/unitree_robotics です。インストール先を変える方法やサンプルの動かし方は、README の手順に従ってください。

unitree_ros2 の準備

README の手順の要点です。

  1. OS と ROS 2 を揃える。 Ubuntu 22.04 と ROS 2 Humble の組み合わせが推奨です(Ubuntu 20.04 と Foxy でも動作確認されています)。
  2. Cyclonedds を用意する。 バージョンは 0.10.2 です。
  3. ROS 2 の通信の実装を Cyclonedds に切り替える。 環境変数を次のように設定します。
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
  1. ロボットと有線で接続する。 PC の有線ネットワークの IPv4 アドレスを 192.168.123.99、サブネットマスクを 255.255.255.0 に設定します。

README の使い方の章は、次の3つに分かれています。

章中身
状態の取得Sportmode state(高レベルの運動状態)、Low-level state(関節などの低レベルの状態)、Wireless controller(無線コントローラーの入力)
制御Sportmode(歩行などの高レベルの指令)、Motor control(モーターの直接制御)
可視化Rviz での表示

最初は状態の取得から始め、次に高レベルの指令、最後にモーターの直接制御、の順に進めると安全です。モーターを直接動かす低レベル制御は、転倒や急な動きにつながります。周りに人のいない場所で、すぐ止められる体制を作ってから試してください。

標準モデルと EDU 版・二次開発対応モデル

SDK が手元にあっても、買った構成が二次開発に対応していなければ、自社のプログラムは動かせません。図鑑に載せたメーカー公式の仕様の記述は次のとおりです。

機種二次開発への対応(図鑑の記載)
G1標準モデルは非対応。EDU 版のみ対応。保証は標準モデル8か月、EDU 版18か月
H2標準モデルは非対応。EDU 版のみ対応。保証は標準モデル8か月、EDU 版12か月
H2 Plus対応(公式仕様表で Secondary Development:YES)。演算は NVIDIA Jetson Thor
H2-D全構成で対応(公式仕様表で Secondary Development:YES)
H1 / H1-2公式ページに「二次開発」「SDK」の記載なし。Intel Core i7 が「ユーザー開発用」として標準搭載
Go2対応。対応範囲はモデルにより、EDU が最も広い
Go2-W対応(公式の二次開発マニュアルあり)
As2X・EDU は対応。AIR・PRO は非対応
A2A2・A2-PRO とも対応(公式の二次開発マニュアルあり)
B2一部の機能は人の操作か二次開発が必要(構成による)
Aliengoハイレベル/ローレベルの制御インターフェース(C/C++、ROS など)

注意したいのは、GitHub の README の「対応機種」と、仕様表の「二次開発に対応」は別の情報だということです。手持ちの機種・構成・ファームウェアで、どのリポジトリのどの機能が動くかは、販売会社とメーカーの文書で確認してください。EDU 版の価格は要問い合わせで、標準モデルと大きく違うことがあります(費用・価格ガイド)。

シミュレーター

実機を動かす前に、Isaac Sim や MuJoCo などの物理シミュレーターで動きを試す方法があります。シミュレーションで学習した動きを実機に移すこと(Sim2Real)の考え方は「ロボット基盤モデルとは」で解説しています。

どのシミュレーターが Unitree のどの機種に公式に対応しているかは、本記事では確認していません。使う前に、メーカーの文書と各シミュレーターの配布元で確かめてください。

開発環境のセキュリティ

開発用のネットワークは、ロボットの内部とつながる経路です。G1 については、内部の通信(DDS)に認証と暗号化が有効になっていないこと、G1 EDU で WebRTC と DDS をつなぐブリッジの不備などを組み合わせた遠隔コード実行が可能だったことを、研究者が2026年8月に報告しています。研究者は修正版ファームウェア 1.5.5.0 が公開されたと記していますが、修正を自身では検証していないとしています。

開発チームが守ることは次の5つです。

  1. ロボットとつなぐ PC は、社内の業務ネットワークと同時につながない
  2. ロボットの有線ポートと本体の Wi-Fi に触れられる人を限定する
  3. ファームウェアを最新にし、更新の案内を受け取る窓口を決める
  4. 出どころの分からないサンプルやプログラムを取り込まない
  5. 鍵・パスワードなどの認証情報をソースコードに書かない(環境変数などから読み込む)

対策の全体はセキュリティ・ガバナンスガイドにまとめています。

社内で開発するか、外部に頼むか

自社にロボットの開発経験がない場合、開発支援や受託開発を頼める販売会社を選ぶのが現実的です。どの作業を自社で持ち、どこを外部に任せるかは、PoC の設計と一緒に決めます(導入ステップガイド)。

関連ページ

EDU 版の構成や開発支援の範囲を含めた見積もりは、導入相談・見積もりで受け付けています。標準モデルで足りるかどうかの目安は、3分の導入適性診断で確かめられます。