Roboti Unitree s dodáním z Itálie · podpora v angličtině

Prices Find the right robot Financing
About us Book a call
Unitree Go2 EDU, platforma pro vývoj v ROS 2

ROS 2 · Vývoj

ROS 2 na robotech Unitree: od nuly k prvnímu topicu

Stručně: roboti Unitree komunikují přes DDS, tedy stejný middleware, jaký používá ROS 2. S oficiálním balíčkem unitree_ros2, ROS 2 Humble na Ubuntu 22.04 a CycloneDDS se zprávy robota stávají topicy ROS 2 bez jakéhokoli bridge. Potřebujete verzi robota EDU, ethernetový kabel a PC v podsíti 192.168.123.x.

ROS 2 na robotech Unitree funguje bez reverzního inženýrství a bez překládacích uzlů: robot publikuje svá data přes DDS (CycloneDDS) a ROS 2 používá DDS jako komunikační vrstvu. Oficiální balíček unitree_ros2 obsahuje definice zpráv a skripty pro nastavení prostředí. Tento návod shrnuje postup z oficiálního README a upozorňuje na místa, kde se obvykle zasekne.

Kteří roboti Unitree podporují ROS 2

Vývoj softwaru je možný jen na verzích pro vývojáře. U Go2 uvádí oficiální produktová stránka sekundární vývoj u verze EDU, ne u Air a Pro; u G1 platí totéž pro G1 EDU.

RobotZprávy v unitree_ros2Příklady ROS 2 v repozitáři
Go2 EDUunitree_gosport client, stand, stav robota, low-level
B2 / B2Wunitree_golow-level, čtení stavu
G1 EDUunitree_hgg1_low_level_example
H2složka s příklady h2v repozitáři k dispozici
H1 / H1-2unitree_go / unitree_hglow-level H1-2

Pro R1 a A2 obsahuje unitree_sdk2 v říjnu 2026 vlastní příklady v C++, ale unitree_ros2 pro ně zatím specifické příklady nemá. Pokud kupujete tyto modely pro projekt čistě v ROS 2, ověřte si předem stav repozitáře.

Produkty zmíněné v článkuRoboti EDU pro výzkum

Požadavky: Ubuntu a verze ROS 2

README k unitree_ros2 uvádí dvě otestované kombinace:

  • Ubuntu 22.04 + ROS 2 Humble, označená jako doporučená;
  • Ubuntu 20.04 + ROS 2 Foxy.

Podle tabulky vydání ROS 2 skončila podpora Foxy 20. června 2023, Humble je podporován do května 2027 a Jazzy do května 2029. Pro projekt, který začíná dnes, je praktickou volbou Humble; Jazzy mezi kombinacemi otestovanými firmou Unitree není. ROS 2 Humble se instaluje z balíčků Debian podle oficiálního návodu.

Instalace unitree_ros2 krok za krokem

1. Naklonujte repozitář a nainstalujte závislosti (u Humble nahraďte foxy za humble):

git clone https://github.com/unitreerobotics/unitree_ros2
sudo apt install ros-humble-rmw-cyclonedds-cpp
sudo apt install ros-humble-rosidl-generator-dds-idl
sudo apt install libyaml-cpp-dev

2. Jen u Foxy: zkompilujte CycloneDDS 0.10.x ve workspace cyclonedds_ws, a to v terminálu, kde ROS 2 není načtený. Robot používá CycloneDDS 0.10.2; u Humble tento krok odpadá.

3. Zkompilujte balíčky se zprávami (unitree_go, unitree_hg, unitree_api):

cd ~/unitree_ros2/cyclonedds_ws
source /opt/ros/humble/setup.bash
colcon build

Síť a CycloneDDS

Propojte PC s robotem ethernetovým kabelem. V nastavení rozhraní zvolte ruční IPv4, adresu 192.168.123.99 a masku 255.255.255.0, jak uvádí README. Příkazem ifconfig nebo ip a zjistěte název rozhraní (například enp3s0) a zapište ho do ~/unitree_ros2/setup.sh:

#!/bin/bash
source /opt/ros/humble/setup.bash
source $HOME/unitree_ros2/cyclonedds_ws/install/setup.bash
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><Interfaces>
  <NetworkInterface name="enp3s0" priority="default" multicast="default" />
</Interfaces></General></Domain></CycloneDDS>'

Rozhodující je řádek RMW_IMPLEMENTATION=rmw_cyclonedds_cpp: výchozí middleware Humble je jiný a bez této proměnné PC robota neuvidí. Dokumentace ROS 2 vysvětluje, jak vybrat middleware DDS. Bez připojeného robota můžete použít setup_local.sh, který pracuje s rozhraním loopback.

První topic

source ~/unitree_ros2/setup.sh
ros2 topic list
ros2 topic echo /sportmodestate

U Go2 a B2 hlásí /sportmodestate polohu, rychlost a typ chůze; /lowstate hlásí motory, IMU a baterii. Kompilace a spuštění příkladů:

cd ~/unitree_ros2/example
colcon build
./install/unitree_ros2_example/bin/read_motion_state

README také ukazuje, jak zobrazit mračno bodů z LiDARu Go2 v RViz2, na topicu utlidar/cloud s rámcem utlidar_lidar.

Řízení: vysoká a nízká úroveň

  • Vysoká úroveň (Go2, B2): požadavky na /api/sport/request se zprávami unitree_api, které generuje třída SportClient z příkladů. Robot používá vlastní řízení pohybu.
  • Nízká úroveň: příkazy pro polohu, rychlost, moment a zesílení na /lowcmd. Nejprve je třeba vypnout vestavěnou službu řízení pohybu, jinak se příkazy navzájem přepisují. U humanoidů se do debug mode přechází kombinací L2+R2, s robotem zavěšeným: celý postup najdete v návodu programování G1.

Nejdřív simulace, pak hardware

unitree_mujoco je oficiální simulátor postavený na MuJoCo: přijímá programy napsané s unitree_sdk2, unitree_sdk2_python a unitree_ros2 a používá stejné low-level zprávy jako skutečný robot. Doporučený postup je vývoj v simulaci přes loopback a pak stejný kód na robotu, jen se změněným síťovým rozhraním. Pro politiky chůze je k dispozici unitree_rl_gym (Go2, G1, H1, H1-2).

Časté chyby

  • Žádné topicy: nenastavené RMW, špatné rozhraní v setup.sh nebo PC mimo podsíť. README také doporučuje po první konfiguraci PC restartovat.
  • Kompilace CycloneDDS na Foxy selhala: terminál už měl načtený /opt/ros/foxy/setup.bash; zakomentujte řádek v ~/.bashrc a otevřete terminál znovu.
  • Více instalací ROS na jednom PC: nedávejte setup.sh do ~/.bashrc a načítejte ho ručně, když ho potřebujete.

Pro univerzitní laboratoře dodává Abra Robotics modely EDU řady Unitree do Česka a na Slovensko, s podporou v angličtině, a jako samostatné služby nabízí školení a vývoj nad SDK: viz Univerzity a výzkum a Software. Produktové stránky verzí pro vývojáře: Go2 EDU a G1 EDU.

Časté dotazy

Jakou verzi ROS 2 použít s roboty Unitree?

Humble na Ubuntu 22.04: tuto kombinaci Unitree doporučuje v README k unitree_ros2. Foxy na Ubuntu 20.04 je otestovaný, ale jeho podpora skončila 20. června 2023. Humble je podporován do května 2027.

Dá se Go2 Air nebo Pro použít s ROS 2?

Ne. V oficiální tabulce Go2 je sekundární vývoj určen pro verzi EDU; Air a Pro ho nezahrnují. Pro ROS 2 potřebujete Go2 EDU.

Je potřeba instalovat bridge mezi SDK a ROS 2?

Ne. Robot i ROS 2 používají DDS, takže s unitree_ros2 a middlewarem CycloneDDS se zprávy robota objeví přímo jako topicy ROS 2, bez překládacích uzlů.

Proč ros2 topic list nezobrazuje topicy robota?

Nejčastější příčiny jsou tři: RMW_IMPLEMENTATION není nastaveno na rmw_cyclonedds_cpp, v setup.sh je špatný název síťového rozhraní, nebo PC není nastavené na 192.168.123.x. Zkontrolujte setup.sh a pingněte robota.

Lze ROS 2 používat bez připojeného robota?

Ano. unitree_ros2 obsahuje setup_local.sh, který používá rozhraní loopback, a unitree_mujoco simuluje robota se stejnými zprávami: vyvíjet a testovat můžete v simulaci dřív, než sáhnete na hardware.

Zdroje

  1. Unitree, unitree_ros2, README a příklady: github.com/unitreerobotics/unitree_ros2
  2. Unitree, unitree_sdk2: github.com/unitreerobotics/unitree_sdk2
  3. Unitree, unitree_mujoco: github.com/unitreerobotics/unitree_mujoco
  4. Unitree, unitree_rl_gym: github.com/unitreerobotics/unitree_rl_gym
  5. Unitree, produktové stránky Go2 a G1 (sekundární vývoj jen u EDU): unitree.com/go2 · unitree.com/g1
  6. Unitree Document Center, sekce pro vývojáře: support.unitree.com/home/en/developer
  7. ROS 2 Documentation, distribuce a data konce podpory: docs.ros.org/en/humble/Releases.html
  8. ROS 2 Documentation, instalace Humble z balíčků Debian: docs.ros.org
  9. ROS 2 Documentation, middleware DDS a RMW: docs.ros.org

Potřebujete robota EDU do laboratoře?

Dodáváme nakonfigurované Go2 EDU, G1 EDU a B2 a jako samostatnou službu nabízíme školení k SDK a ROS 2.

Roboti EDU pro univerzity a výzkumVyžádat nabídku