Skip to content

Quick Development

This document introduces rapid development for Adam-U using pnd_sdk_python.
Dependency installation runs on the robot NUC, while SDK installation and Developer Mode run on the user’s computer.

System Environment

Development is recommended on Ubuntu 22.04 x86_64.
macOS and Windows are not supported at this time.


Dependency Installation

This dependency installation applies only to older software versions. Newer versions come with pre-installed dependencies and can skip this step.

Version check:

  1. In the terminal, run ssh pnd-humanoid@192.168.XX.XX to connect to the NUC
    (replace XX.XX with the actual IP address, found on the back of the controller)

    Password: pndxyz

  2. Run cd ~/Documents/adam_u_deploy.

    • If the directory does not exist → older version
    • If you can enter the directory successfully → newer version
Click to expand Dependency Installation for Older Software Versions

The following operations are run on the NUC:

# adam_u_deploy
cd ~/Documents
git clone https://github.com/pndbotics/adam_u_deploy.git

# Cyclone DDS
cd ~/Documents
git clone https://github.com/eclipse-cyclonedds/cyclonedds.git
cd cyclonedds
git checkout 0.10.2
# Check the tag/branch pointed to by HEAD
git describe --tags # Should output 0.10.2 or include 0.10.2
mkdir build && cd build
cmake ..
make -j8
sudo make install

# Cyclone DDS C++
cd ~/Documents
git clone https://github.com/eclipse-cyclonedds/cyclonedds-cxx.git
cd cyclonedds-cxx
git checkout 0.10.2
mkdir build && cd build
cmake ..
make -j8
sudo make install

💡 Tip: If the libraries are not effective after make install, try running sudo ldconfig to refresh the linker cache.


Environment Configuration

  1. Use an Ethernet cable to connect the robot and the user computer.
    The Ethernet port is located on the back of the robot.
    Wired connection Adam-U
  2. On the user computer, configure the network to be on the same subnet as the robot.
    Modify the IP address, for example: 10.10.20.XXX

IP address configuration

SDK Installation

Open a new terminal

# Install system dependencies
sudo apt install libyaml-cpp-dev libspdlog-dev libboost-all-dev libglfw3-dev python3-pip

# Install Python SDK
cd ~
git clone https://github.com/pndbotics/pnd_sdk_python.git
cd pnd_sdk_python
git reset --hard 648e55d
sudo pip3 install -e .

🔗 For more details, refer to: pnd_sdk_python

Developer Mode

Note

Ensure the robot is in Damping Mode, then press LT + Y on the controller simultaneously to enter Developer Mode.
In this mode, the SDK can be used for development and debugging.

Run Control Example

Open a new terminal

# Get network interface name
ifconfig

# Clone the repository
git clone https://github.com/pndbotics/pnd_mujoco.git
cd pnd_mujoco
git reset --hard e927ba2

# Run the control example (replace enp59s0 with the actual wired network interface name)
cd ~/pnd_mujoco/example/python
python3 open_arm.py enp59s0