Skip to content

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

1 watching

Forks

Repository files navigation

pnd-teleoperation

Supported Robot Models

Robot Model Noitom VR Description
Adam SP ✅ TODO
Adam Pro ✅ TODO
Adam U ✅ ✅

Quick Start

Pre-compiled release, no build required. Requires Ubuntu 22.04, ROS 2 Humble, Python 3.10.

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

Or from a local file:

./quickstart.sh --file pnd-teleop-amd64.tar.gz

Then run:

source /opt/pnd/pnd_teleop/setup_cli.bash
spteleop teleop adam_u webvr mink

Build from Source

For developers who need to modify the code or build on a different platform.

env

  • ubuntu 22
  • ros2 humble
  • casadi
  • uv

dependencies

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

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

Clone repo

git lfs clone https://github.com/pndbotics/pnd_teleoperation.git
cd pnd_teleoperation

install uv

pip install uv --user
uv sync

build

./build.sh

run

spteleop cli: new version command line tool, supports auto-completion and tab-completable(old version command line tool has been deprecated and will be removed in several versions)

source setup_cli.bash
spteleop teleop [adam_type] [mocap_driver] [algorithm]
# example:
spteleop
spteleop teleop adam_u webvr mink
spteleop teleop adam_pro noitom pinocchio
spteleop launch pinocchio-adam_u-webvr # launch a bringup launch file

Package a release (for maintainers)

After building successfully, create a distributable tarball:

./scripts/package_release.sh
# Output: release/pnd-teleop-<arch>.tar.gz

use docker

cd docker
# update user id
./update_env.sh
docker compose up --build

open another terminal and connect to the container

docker exec -it pnd_retarget_ros bash

for tests

foxglove

foxglove studio sudo apt install ros-$ROS_DISTRO-foxglove-bridge

source install/setup.bash
ros2 launch foxglove_bridge foxglove_bridge_launch.xml port:=8765

all in one

source install/setup.bash
ros2 launch bringup retarget_noitom_rosbag.py
ros2 bag play rosbag2_2025_01_23-14_23_32 -l --remap /tf:=/noitom/tf

noitom mocap

source install/setup.bash
ros2 launch noitom_mocap noitom_mocap.launch.py
ros2 run noitom_mocap noitom_mocap 

record

ros2 bag record <topic_name>

play

ros2 run tests_bag play_bag --ros-args -p bag_path:=rosbag2_2025_03_28-09_04_32/

FAQ

uv sync slow

echo 'export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"'>> ~/.bashrc
# echo 'export UV_DEFAULT_INDEX="https://mirrors.aliyun.com/pypi/simple/"' >> ~/.bashrc
source ~/.bashrc

Model download failed

If you encounter issues loading models during runtime, check if they have been correctly downloaded. If the download fails due to network issues, try setting the environment variable:

export HF_ENDPOINT="https://hf-mirror.com"

After setting the environment variable, restart the teleoperation program to trigger model download.

Credits

Old startup script

sudo su
./run.sh [adam_type] [mocap_driver] [algorithm] # adam_type: adam_sp/adam_u/adam_pro; mocap_driver: noitom/vr; algorithm: pinocchio/mink;
# example:
./run.sh adam_u vr mink
./run.sh adam_pro noitom pinocchio

preview:

sudo ./preview.sh

About

No description, website, or topics provided.

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages