--- id: networking-comms title: "Networking & Communications" status: established source_sections: "reference/sources/official-quick-start.md, reference/sources/official-developer-guide.md" related_topics: [sdk-programming, ros2-integration, deployment-operations] key_equations: [] key_terms: [dds, cyclone_dds, domain_id, dual_computer_architecture, locomotion_computer, development_computer] images: [] examples: [] open_questions: - "WiFi 6 range and reliability in field conditions" - "DDS QoS profile details and tuning" - "WiFi AP exact SSID format and default password" - "USB port availability and specs" --- # Networking & Communications Network architecture, connectivity, remote access, and communication protocols. ## 1. Network Architecture The G1 uses a fixed internal subnet with pre-assigned IP addresses: [T0 — Developer Guide] ``` 192.168.123.0/24 │ ┌─────────────────────┼──────────────────────┐ │ │ │ Locomotion Development LiDAR Computer Computer (Livox MID360) 192.168.123.161 192.168.123.164 192.168.123.20 (Proprietary) (Jetson Orin NX) (Ethernet) │ │ └──── CycloneDDS ─────┘ (internal) ``` ### IP Address Map | Device | IP Address | Access Level | |----------------------|--------------------|--------------------| | Locomotion Computer | 192.168.123.161 | Not user-accessible | | Development Computer | 192.168.123.164 | User-accessible (SSH) | | Livox MID360 LiDAR | 192.168.123.20 | Ethernet, driver required | | External dev machine | 192.168.123.x | Via WiFi or Ethernet | ## 2. Connectivity Options | Interface | Specification | Purpose | Tier | |-------------|-------------------------|----------------------------------|------| | WiFi | WiFi 6 (802.11ax) | Wireless development, remote control | T0 | | Bluetooth | Bluetooth 5.2 | Peripheral connectivity | T0 | | Ethernet | Wired connection | LiDAR, high-bandwidth data | T0 | | USB | Available on dev computer| Camera (D435i), peripherals | T1 | ## 3. DDS Configuration The entire communication stack is built on DDS (Data Distribution Service): [T0] | Property | Value | |----------------------|--------------------------| | Implementation | CycloneDDS | | Version | 0.10.2 (exact match required) | | Protocol | RTPS (Real-Time Publish-Subscribe) | | Communication latency | 2 ms | | Control loop rate | 500 Hz | ### Domain ID The DDS domain ID controls which "network" of DDS participants can communicate: - **Real robot:** Use the robot's network interface (e.g., `enp2s0`, `wlan0`) - **Simulation:** Use domain ID to separate simulated robot traffic from real - **Switch:** Changing from sim to real only requires switching the network config (domain ID + interface) ### Topic Architecture All robot communication uses DDS topics (see [[sdk-programming]] for full topic list): ``` Publishers (user) ──→ rt/lowcmd ──→ Locomotion Computer (motor commands) Subscribers (user) ←── rt/lowstate ←── Locomotion Computer (robot state) Publishers (user) ──→ rt/dex3/*/cmd ──→ Hand Controller (hand commands) Subscribers (user) ←── rt/dex3/*/state ←── Hand Controller (hand state) ``` ## 4. Remote Access - **SSH:** Connect to development computer: `ssh unitree@192.168.123.164` (password: `123`) [T1 — Weston Robot guide] - **Data streaming:** DDS topics accessible from any machine on the 192.168.123.0/24 subnet [T0] - **Camera streaming:** D435i frames accessible via RealSense SDK on dev computer [T1] - **LiDAR data:** Point cloud data from Livox MID360 at 192.168.123.20 [T0] ### Connecting an External Development Machine 1. Connect to robot's WiFi network or plug into Ethernet 2. Configure machine's IP to 192.168.123.x (avoid .161, .164, .20) 3. Install CycloneDDS 0.10.2 and unitree_sdk2 4. Subscribe to `rt/lowstate` to verify connectivity ## 5. Latency Considerations | Path | Latency | Notes | |----------------------------------|------------|------------------------------| | DDS internal (dev ↔ locomotion) | ~2 ms | CycloneDDS over internal net | | WiFi (external ↔ dev computer) | Variable | Depends on WiFi conditions | | Control loop | 2 ms (500 Hz) | Locomotion computer rate | | LiDAR point cloud | — | Depends on scan rate | **Critical:** For real-time control, use wired Ethernet or develop directly on the Jetson to minimize latency. WiFi adds variable latency that can affect control stability. [T2] ## Key Relationships - Transports: [[sdk-programming]] (SDK commands and data via DDS) - Transports: [[ros2-integration]] (ROS2 topics via same DDS layer) - Affects: [[deployment-operations]] (remote operation reliability) - Connected to: [[sensors-perception]] (LiDAR network address)