【Unitree Go2】SDKの概要について【unitree_sdk2】

【Unitree Go2】SDKの概要について【unitree_sdk2】

初めに


Go2 R&Dがついに日本上陸しました。 SDKもGo1の時から大幅アップデートしています。 本記事では、Go2 SDKのexampleの概略についてご案内します。  

環境


環境は、次のようなものを想定しています。
  • 機種: Go2 R&D(Edu), R&D+(Edu+)(AIR/PROではないもの)
  • 実行コンピュータ:ubuntu20
※本記事は23/12/28時点でのものです。SDKは予期せぬタイミングでアップデートされることがございます。https://github.com/unitreerobotics/unitree_sdk2/
 

1.環境設定


Go2の背中のOrinもしくは、LANケーブルで接続した外部PCで環境設定します。 具体的な設定方法については下記の記事をご覧ください:
  • Docking StationでのSDK or ROS2を使う(作成予定)
  • 外部PCでのSDK or ROS2を使う(作成予定)
 

2.SDKを使ってみる



2-1. SDKのフォルダ構成

SDKのフォルダ構成としては、exampleフォルダ内にサンプルコードが含まれており、それぞれ以下のような対応関係になります。

2-2. それぞれのexampleの概要

example名Robotが動くかHigh or Low備考参考リンク
test_publisher動かない-DDSトピックの送信サンプルDDS_services
test_subscriber動かない-DDSトピックの受信サンプルDDS_services
high_follow_sin動くHigh LevelPath追従sports_services
sportmode_test動くHigh LevelPath追従(他の動きの実装もあり)High_motion_control
low_level動くLow LevelLow Levelの例Basic_services
wireless動く-JoystickコントロールをJoystickを使わずに行う(DDSトピックrt/wirelesscontrollerの配信)Get_remote_control_status
advanced_gamepad動かない-Joystickコントローラーの数値の読み取り(DDSトピックrt/wirelesscontrollerの受信)Get_remote_control_status
state_machine_example動かない-$ ./state_machine_example –param ../example/state_machine/params/ で使用可能。RobotのSTATESを、joystickに応じて変更する。その他Robotの状態の読み取り等Basic_services
test_jsonize動かない-Jsonの使い方サンプル
robot_state_client_example動くHigh Levelロボットの状態の取得RobotStateClient
sport_client_example動くHigh Level速度指定でのシンプルなHigh Level制御。関節ロック状態だと動かないため、joystick操作したら動くような状態になっていることを確認してから行う。前方方向に0.5m/sで進み続ける。ctrl+cで止めるDDS_communication sports_services
video_client_example動かないHigh Level内部ヘッドカメラ画像の取得/保存Multimedia_Services
vui_client_example動かないHigh Level内部ヘッドライトへの指令VuiClient Light_control

2-3. SDKの概説

sdkが一新され、Go1に比べて機能が充実しています。 特にGo1まででは実装されなかった、SDKを用いた頭部LEDの指令やカメラ画像の取得、path追従が可能になっています。またexampleにはありませんが、lidarの情報取得も行えるようになりました。(LiDAR_service) Go1と同じようなイメージで使いたい場合は、sport_client_exampleがそれに当たります。IMUの情報などRobotの状態の受信については、Go1の時にはあったHighStateというものはなくなりSportModeState(rt/sportmodestate)もしくはLowState(rt/lowstate)から取得可能です。 特にインクルードファイルgo2/sport/sport_client.hppや、公式ドキュメントsports_servicesを参考にしてください。  

おわりに

Go2のSDKのexampleを一通り見てきました。 この記事が少しでも役に立てたのなら幸いです。  

    • Related Articles

    • 【Unitree Go2】SDK or ROSを使う方法

      初めに 本記事では、ユーザー側で用意した外部PCを用いて、SDK(unitree_sdk2)やROS(unitree_ros2)を動かす方法についてご案内します。 環境 環境は、次のようなものを想定しています。 機種: Go2 R&D(Edu), R&D+(Edu+)(AIR/PROではないもの) Docking Station or 外部PC:ubuntu20 / ROS2 foxy 0.参考公式ドキュメント unitree_sdk2 Obtain SDK - Go2 SDK ...
    • 【Unitree Go2】 SDK,ROSから障害物検知ON/OFFにする方法

      初めに 本記事では、デフォルト機能の障害物検知機能を2次開発で活用する方法についてご案内します。 環境 環境は、次のようなものを想定しています。 機種: Go2 R&D(Edu), R&D+(Edu+)(AIR/PROではないもの) 外部PC or Docking StaionのOrinを使用する 1.障害物検知機能を使える条件 結論から書くと、ROS2トピックには障害物検知のON/OFFを制御できるトピックはなく、SDKからのみ障害物検知のON/OFFが制御できます。 ...
    • 【Unitree Go2】メーカー資料について

      本記事ではGo2のメーカー公式資料等についてご案内します。 (1) スマホアプリ Unitree Go - Google Play Unitree Go - Apple Store app 注意:12/4現在開発中のため、一部動作しない機種がございます。 (2) オンラインSDK資料 R&D(EDU)版について: Go2 SDK Development Guide - UnitreeRobotics R&D(EDU)版githubになります: unitree_sdk2 - github ...
    • 【Unitree Go2】一問一答FAQ

      初めに 本記事では、Unitree Go2を購入されたお客様からよくあるご質問内容を、一問一答形式でまとめたものになります。 一問一答(すべての機種について) Q: Go2を歩かせると、右方向に行くことがあまりにも多いですがこれは正常ですか? A: 初期姿勢が少しずれていると、右に行きやすくなることは他のGo2でも確認されています。初期姿勢が正しいか今一度確認ください。 ...
    • 【Unitree B2】B2の開発環境概要

      初めに 本記事では、B2の開発環境についてご案内します。 参考資料: B2 SDK Development Guide - UnitreeRobotics 環境 環境は、次のようなものを想定しています。 機種: B2 1.概要 結論から述べると、B2の開発環境はGo2とほぼ同じになります。 例えば、弊社FAQで紹介している2次開発デモ(【Unitree Go2】Go2の2次開発デモを作ってみた)をそのままB2で行っても問題なく動作することが確認できました。 ...