Skip to content

PICO 4 Ultra Enterprise Setup Guide

Preparation

Teleoperation device side

pico_adam

Device Quantity Description Notes
PND robot 1 Adam series robot Configure teleoperation program
User Computer 1 Windows recommended Install Foxglove Studio
PICO 4 Ultra Enterprise 1 VR headset + left/right controllers Install PNDbotics_1.0.8.apk
See the PICO 4 Ultra Enterprise user guide to wear the device correctly
PICO Tracker 2.0 5 Wear on both wrists, both ankles, and waist See the Tracker tutorial video to wear the device correctly

First-time setup

  1. Press and hold the power button on the right side of the headset for 3 seconds to power on.
  2. On first boot, follow the on-screen prompts to set language and safety boundaries.
  3. In Settings, connect to the same Wi‑Fi network as the robot. pico_wifi
  4. System version must be ≥ 5.15.5.U. Go to Settings and run System update. pico_wifi

Tip

Safety boundary: Under Settings → Boundary, choose Stationary boundary (recommended for standing operation).

Tracker pairing

  1. Open the Motion Tracker app on the headset. pico_tracker
  2. Tap Settings. pico_tracker
  3. Enable Enhanced tracking, then tap Wearing mode5 trackersForearm enhancementWaist front. pico_tracker pico_tracker
  4. Press and hold the power button on the Tracker for 3 seconds. The LED will blink blue slowly.
  5. In the app, tap Connect Tracker and hold the Tracker near the headset to pair. When paired, the LED stays solid blue.
  6. Repeat the steps above for all 5 Trackers.

Tip: After the first successful pairing, Trackers reconnect automatically when powered on.

Tracker LED status

LED state Meaning
Solid blue Connected, working normally
Slow blue blink Powered on, not connected
Fast blue blink Pairing in progress
Red Low battery, charge required
Green Charging complete

Install PNDbotics app

Tip

If the download is blocked, click Continue anyway to bypass the security warning, or clear your browser cache and try again.

  1. Connect the PICO to your PC (Windows) via USB cable. Download PNDbotics_1.0.8.apk and copy it to This PC\PICO 4 Ultra Enterprise\Internal shared storage\Download. pico_apk
  2. On the headset, open File ManagerAPKPNDbotics_1.0.8.apk. pico_apk

Robot side

Follow the standard boot process to start the robot. Ensure your PC and the robot are on the same network segment. See network connection.

  1. On your PC, open a terminal and connect to the robot.

    ssh pnd-humanoid@192.168.XX.XX # Replace XX.XX with the actual IP (on the back of the remote control handle); default password: pndxyz
    
  2. Install the teleoperation program (requires internet; skip if already installed).

    curl -fsSL https://raw.githubusercontent.com/pndbotics/pnd_teleoperation/refs/heads/main/install.sh | bash
    


Operation

Run the teleoperation program

ssh pnd-humanoid@192.168.XX.XX # Replace XX.XX with the actual IP (on the back of the remote control handle); default password: pndxyz
source /opt/pnd/pnd_teleop/setup_cli.bash
# Same command for all models:
spteleop teleop adam_u pico mink

PICO headset setup

  1. Wear all devices per the PICO 4 Ultra Enterprise user guide and Tracker tutorial.
  2. Power on the PICO headset and all 5 Trackers.
  3. In Settings, connect to the same Wi‑Fi network as the robot.
  4. Open the PICO Motion Tracker app on the headset, tap Start Calibration, and follow the on-screen prompts.

    Note: Recalibrate before each use.

    pico_tracker

  5. Open the PNDbotics app and tap Setting. pico_pndapp

  6. Tap Whole Body Tracking, enter the robot IP 192.168.XX.XX and port 12070, then tap Connect to start streaming. (IP and port are saved for next time.) pico_pndapp1
  7. Check the preview: the virtual skeleton should follow your motion smoothly.

When finished, tap Disconnect to stop sending data to the robot.


Visualization preview

  1. Install and launch Foxglove Studio on your PC.
  2. Sign in and click Open Connection. fox_open
  3. Connect via WebSocket: ws://localhost:8765 (replace localhost with the robot IP). fox_localhost
  4. Open the 3D panel settings. 3D panel config
  5. Paste the configuration below and click Apply to preview motion mapping in real time.
Click to expand configuration code
{
  "layers": {
    "845139cb-26bc-40b3-8161-8ab60af4baf5": {
      "visible": true,
      "frameLocked": true,
      "label": "Grid",
      "instanceId": "845139cb-26bc-40b3-8161-8ab60af4baf5",
      "layerId": "foxglove.Grid",
      "size": 10,
      "divisions": 10,
      "lineWidth": 1,
      "color": "#248eff",
      "position": [
        0,
        0,
        0
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "order": 1
    }
  },
  "cameraState": {
    "perspective": true,
    "distance": 8.362406704377788,
    "phi": 74.10829292531537,
    "thetaOffset": 13.624928863620116,
    "targetOffset": [
      1.3462285617160472,
      3.872395794634993,
      -4.022926534191149e-17
    ],
    "target": [
      0,
      0,
      0
    ],
    "targetOrientation": [
      0,
      0,
      0,
      1
    ],
    "fovy": 45,
    "near": 0.5,
    "far": 5000
  },
  "followMode": "follow-pose",
  "followTf": "world",
  "scene": {
    "meshUpAxis": "z_up",
    "transforms": {
      "showLabel": false,
      "enablePreloading": true,
      "axisSize": 0
    },
    "ignoreColladaUpAxis": true
  },
  "transforms": {},
  "topics": {
    "/robot_description": {
      "visible": true
    }
  },
  "publish": {
    "type": "point",
    "poseTopic": "/move_base_simple/goal",
    "pointTopic": "/clicked_point",
    "poseEstimateTopic": "/initialpose",
    "poseEstimateXDeviation": 0.5,
    "poseEstimateYDeviation": 0.5,
    "poseEstimateThetaDeviation": 0.26179939
  },
  "imageMode": {}
}

Calibration

  1. Hold the right controller Home button for about 3 seconds to reset position.
  2. Keep the calibration pose (standing or seated, choose one): arms parallel to the ground, controllers held with palms facing inward, then press A on the right controller. VR calibration pose
  3. In Foxglove, the robot model should follow your motion. Recalibrate if the pose looks wrong.

Attention

  • After calibration, keep both feet fixed during teleoperation.
  • To move, disconnect teleoperation first, move, then recalibrate.

Real robot operation

Warning

  • Real robot operation involves risk. Keep a 3‑meter clear area around the robot.
  • Connect to the real robot only after the teleoperation program runs normally and the preview looks correct.
  • Confirm preview joint positions match the robot pose before enabling control.
  • Do not switch to other modes (walking, running demos, etc.) during teleoperation.
  • In an emergency:
    1. LT + B: enter damping mode
    2. LB + RB: power off actuators

xbox

Real robot operation by model

Follow the standard boot process to start the robot.

  • Zero position mode (Press A)
  • Standing mode (Press X)
  • In Standing Mode, press D‑pad Right to connect teleoperation
  • In Standing Mode, press D‑pad Left to disconnect teleoperation

Follow the standard boot process to start the robot.

  • Zero position mode (Press A)
  • Motion mode (Press X)
  • In Motion Mode, press D‑pad Right to connect teleoperation
  • In Motion Mode, press D‑pad Left to disconnect teleoperation

Hand mapping on the real robot

  • Right controller A: calibration
  • Right controller B: disconnect teleoperation
  • Right controller Home: reset VR position
  • Right controller A touch: right thumb rotation
  • Left controller X touch: left thumb rotation
  • Right Trigger: right thumb/index open/close
  • Left Trigger: left thumb/index open/close
  • Right Grip: right middle/ring/little finger open/close
  • Left Grip: left middle/ring/little finger open/close

Troubleshooting

Symptom What to check
Body tracking won't start Return to the PICO Motion Tracker app; confirm all 5 Trackers are connected and calibrated.
Cannot send control data Verify IP and port, and that Connect was tapped.
Preview skeleton stutters Brief signal occlusion; stand still for a few seconds—tracking usually recovers.
App crashes Reopen the app; the system clears background memory automatically.
Tracker won't connect Ensure Bluetooth is on in the headset; restart the Tracker and try again.

Last updated: 2026-05-29