Quik Start
System Requirements
-
Using Noitom motion capture device: Windows system, Axis Studio 3 and Foxglove Studio need to be run.
-
Using Meta Quest 3 VR device: No system requirements, Foxglove Studio needs to be run.
Preparation
Start the Adam-U according to the standard Boot Process. Please confirm that the user computer and the robot are on the same network segment. Refer to Network Connection.
-
Connect to the robot NUC
-
Install Teleoperation Program (Internet access is required. Please skip if already installed)
Run Teleoperation Program
Select
Install the VR system dependency Caddy (Please skip if already installed)
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
Run the teleoperation program:
Motion Capture Device Setup
Select
Refer to the Noitom official tutorial to download Axis Studio 3 and wear the mocap suit.
Connect the user computer and the mocap device via Ethernet. Configure the corresponding network interface on the user computer to the same subnet as the mocap device:
10.42.0.xxx , subnet mask 255.255.255.0.

Configure Axis Studio:

In Device → Network, select the IP within the same subnet as the mocap device: 10.42.0.XXX.

Click the green icon to connect sensors:

Enable BVH data broadcast and send motion data to the robot via UDP.
Configuration:
- Local Address: user computer WiFi IP
192.168.XX.XX - Target Address: robot IP
192.168.XX.XX

Steps:
- Wear the device according to the Meta Quest 3 official guide.
- Connect the headset to the same network as the robot and open a browser to visit
https://192.168.XX.XX/webvr (replace with the robot IP). - Click "Start Controller Tracking" to start tracking and calibration.
Calibration Pose:

Calibration Procedure:
- Hold the right controller Meta button for 3 seconds to reset position.
- Maintain the calibration pose and press A on the right controller.
- The Adam robot model in Foxglove will start following the VR motion.
- Press B on the right controller to disconnect teleoperation.
Notes
- Keep both feet fixed after calibration.
- If you need to move, disconnect teleoperation and recalibrate.
WebVR Controller Buttons:

- Trigger buttons
- Y, X, A and B buttons
- Thumbstick
- Grip buttons
- Menu buttons
- Meta buttons
WebVR Controller → Robot Hand Mapping:
- Right controller A: calibration
- Right controller B: disconnect teleoperation
- Right controller Meta: reset VR position
- Right controller A touch: right thumb rotation
- Left controller X touch: left thumb rotation
- Right Trigger: right thumb/index finger open/close
- Left Trigger: left thumb/index finger open/close
- Right Grip: right middle/ring/little finger open/close
- Left Grip: left middle/ring/little finger open/close
Foxglove Visualization
- Install and launch Foxglove Studio on your PC.
- After signing in, click "Open Connection".
- Connect to the robot via WebSocket:
ws://localhost:8765(replacelocalhostwith the robot IP). - Enter the 3D visualization panel and open settings:
5. Copy the configuration code below into the settings panel and click "Apply". After successful configuration, you can observe the real‑time motion mapping of the robot.
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": {}
}
Real Robot Operation
Safety Warning
- Real robot operation involves risk. Ensure a 3‑meter clear area around the robot.
- Only connect to the real robot after pnd_teleoperation runs normally and preview is correct.
- Confirm that the preview joint positions match the robot pose before enabling control.
- Do not switch to other modes (walking, running demos, etc.) during teleoperation.
-
In emergencies perform:
- LT + B: enter damping mode
- LB + RB: power off actuators

Real
Start adam_demo (The program has started automatically and can be skipped.)
Open a new terminal
```sh
ssh pnd-humanoid@192.168.XX.XX
cd /home/pnd-humanoid/Documents/adam_demo/bin
sh run.sh
```
- 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
1. Start pnd_service_dds (The program has started automatically and can be skipped.)
✅ When
[DDS] Starting publish loop (400 Hz)...appears, the service started successfully.
2. Start pnd_adam_dds (The program has started automatically and can be skipped.)
Open a new terminal
✅ When
FSM start!appears, the service started successfully. The robot starts in damping mode.
- 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
FAQ
If an SSL certificate warning appears in Foxglove, click "Load unsafe scripts" to continue using the page.

Last updated: 2026-04-17