# GoWelcome runtime dependencies. # # Install for off-robot / mock development: # pip install -r requirements.txt # (The HARDWARE-ONLY block at the bottom is NOT needed for `python main.py --mock`.) # --- Perception ---------------------------------------------------------- numpy # arrays / math (light, imported at top level everywhere) opencv-python # camera capture, HSV road mask, debug overlay window (cv2) ultralytics # YOLOv8 person/vehicle detection # --- Audio (optional) ---------------------------------------------------- # Host-side greeting playback. If absent, the host audio backend falls back to # an external player command (config.AudioConfig.host_player_cmd, e.g. `aplay`). simpleaudio # optional; pure-host WAV playback # --- GPS geofence (external receiver on the onboard computer) ------------- # The Go2 has NO built-in GPS. For `--gps serial` (NMEA off a USB receiver): pyserial # optional; only for the serial NMEA GPS source # For `--gps gpsd`, install the system gpsd daemon instead (sudo apt install gpsd); # GoWelcome talks to it over its socket with no extra Python dependency. # --- HARDWARE: WebRTC transport (DEFAULT; real Go2, skip for --mock) ------ # App-protocol WebRTC driver: camera + sport + obstacle-avoid + AudioHub audio, # works on Go2 AIR/PRO/EDU over wifi. Pulls in aiortc. Also needs PortAudio: # sudo apt install -y portaudio19-dev unitree_webrtc_connect # default transport (--transport webrtc) # --- HARDWARE: DDS transport (alternative; --transport dds) --------------- # Official Unitree SDK + DDS. NOT on PyPI in a usable form -- install from the # official repo on the robot's host (pulls cyclonedds): # https://github.com/unitreerobotics/unitree_sdk2_python # unitree_sdk2py # SportClient / VideoClient / ObstaclesAvoidClient # cyclonedds # DDS transport used by unitree_sdk2py # # NOTE: pyserial is NOT required by GoWelcome (no direct serial link to the Go2).