Skip to content

Develop (build from source)

Environment Setup

Preparation

  • Hardware status: The robot has completed the boot process.
  • Network connection: The user computer and the robot are on the same LAN subnet.
  • Connect to the NUC: All commands below are executed on the robot NUC. First connect from your computer terminal:

    # Replace XX.XX with the actual IP address (located on the back of the controller handle)
    ssh pnd-humanoid@192.168.XX.XX 
    # Default password: pndxyz
    

1. Install Basic Dependencies

Update the package index and install required development tools and libraries:

sudo apt-get update && sudo apt-get install -y \
    build-essential \
    coinor-libipopt-dev \
    gfortran \
    liblapack-dev \
    pkg-config \
    swig \
    git \
    cmake \
    python3 \
    python3-pip \
    git-lfs \
    --install-recommends

2. Compile Core Component: CasADi 3.6.7

To ensure motion control performance, compile CasADi 3.6.7 with IPOPT support from source:

cd /tmp && \
git clone https://github.com/casadi/casadi.git casadi && \
cd casadi && \
git checkout 3.6.7 && \
mkdir build && \
cd build && \
cmake -DWITH_PYTHON=ON -DWITH_IPOPT=ON -DWITH_OPENMP=ON -DWITH_THREAD=ON .. && \
make -j$(nproc) && \
sudo make install && \
sudo ldconfig

3. Teleoperation Repository Setup

Download the pnd_teleoperation source code and configure the Python virtual environment:

cd ~/Documents/
git lfs clone https://github.com/pndbotics/pnd_teleoperation.git
cd ~/Documents/pnd_teleoperation
pip install uv --user
uv sync

4. Initialize Environment

cd ~/Documents/pnd_teleoperation
./build.sh

Last updated: 2026-04-14