FAQ
June 24, 2026 · View on GitHub
English Version | 中文版
System
Q1. Unable to connect to the network after configuring a custom network
# Remove the default route
sudo ip route del default via 192.168.123.1 dev eth0
Q2. colcon build shows a system clock warning
make[2]: warning: Clock skew detected. Your build may be incomplete.
# Check system time
date
If it shows 1970, it may be because the system cannot update the clock automatically due to no network connection.
# Remove default route
sudo ip route del default via 192.168.123.1 dev eth0
Close and reopen the terminal.
# Check time synchronization status
timedatectl status
If the time is updated successfully, delete previous build/install/log files and rebuild:
# Make sure you are in the correct workspace
rm -rf build install log
colcon build
The warning should no longer appear.
Q3. not found
ros2: command not found
Package 'XXX' not found
These issues usually occur when the correct setup files are not sourced.
Q4. For any ROS issue, you can try:
- Close all terminals and open a new one.
- Delete
build,install, andlog, then rebuild.
Q5. Network configuration
unitree@ubuntu:~$ sudo ifconfig wlan0 up
# Error: SIOCSIFFLAGS: Operation not possible due to RF-kill
Solution:
# Check RF-kill status
unitree@ubuntu:~$ rfkill list
# 0: phy0: Wireless LAN
# Soft blocked: yes
# Hard blocked: no
unitree@ubuntu:~$ sudo rfkill unblock wifi
# Check again
unitree@ubuntu:~$ rfkill list
# 0: phy0: Wireless LAN
# Soft blocked: no
# Hard blocked: no
# Run again; the error should be gone
unitree@ubuntu:~$ sudo ifconfig wlan0 up
Q6. SSH works, but VS Code remote connection fails
Make sure the Download Server has network access and the local network is working.
If VS Code repeatedly asks for a password and shows:
Failed to connect to the remote extension host server (Error: ExtensionInstallFailed(ExtensionInstallFailed("Error while installing extensions: getaddrinfo EAI_AGAIN marketplace.visualstudio.com\ngetaddrinfo EAI_AGAIN marketplace.visualstudio.com\n")
This is a typical network issue where the Linux server cannot access marketplace.visualstudio.com due to DNS failure or timeout.
Solution:
- Connect via SSH using Windows PowerShell or Linux terminal:
ssh unitree@192.168.xx.xx
- On the Linux server, check network:
unitree@ubuntu:~$ ping marketplace.visualstudio.com
If it fails, the Linux server cannot reach the Internet.
- Check DNS configuration:
unitree@ubuntu:~$ cat /etc/resolv.conf
If it shows something like:
nameserver 127.0.0.53
search Huawei.Local
Ubuntu is using systemd-resolved local DNS stub which cannot resolve external domains.
- Edit
resolved.conf:
unitree@ubuntu:~$ sudo vim /etc/systemd/resolved.conf
Uncomment or add:
[Resolve] DNS=8.8.8.8 1.1.1.1
FallbackDNS=114.114.114.114
DNSStubListener=yes
Save the file.
- Restart the DNS service:
unitree@ubuntu:~$ sudo systemctl restart systemd-resolved
- Verify DNS:
unitree@ubuntu:~$ systemd-resolve --status
Should show:
DNS Servers: 8.8.8.8 1.1.1.1
Fallback DNS Servers: 114.114.114.114 8.8.8.8
press q to exit.
- Test network connectivity:
unitree@ubuntu:~$ ping 8.8.8.8
unitree@ubuntu:~$ ping marketplace.visualstudio.com
If successful, VS Code Remote SSH should now work properly.
Control
Q1. The client cannot discover the robot device
Check these first:
- Confirm
./launch_robot.shand./launch_trans.sh agenthave both been started and their outputs look normal. - Confirm the robot and the control PC are on the same network.
- Confirm ports
46000and37020are not already in use.
Q2. Newly added actions do not appear in the UI
Check these first:
- Confirm the project has been rebuilt.
- Confirm the current mode is correct in
src/control_py/config/smach_config.yaml. - Confirm the new action has been added to
active.children. - Confirm that action ID has not been added to
hidden_action_reg. - Confirm you restarted the Agent and rescanned the device.
Q3. An action can be triggered, but it cannot switch to the next step
Check these first:
- Confirm
active_expected_durationis not set too long. - Confirm
allowed_sub_transis not restricting the next transition. - For actions using
auto, confirmmark_active_action_done()is called correctly.
Q4. Why does grasping always use the right hand?
In the current code, some grasping entry points and intermediate steps are hard-coded to right.
If you want to support the left hand or both hands, you need to update the handling logic in the relevant on_xx_handler functions as well.
Q5. Why does the action not start after an object is recognized?
Common causes:
- The object is not recognized stably enough. There is currently a stability-check mechanism, so hand motion can cause an object being held to fail the stability check.
- The detected object bounding box is too close to the edge of the camera view.