2.9 KiB
Setup with Nvidia-Jetson-Orin
Initial setup and installation of RapidPoseTriangulation on a Nvidia Jetson device.
Tested with a Jetson AGX Orin Developer Kit module.
Base installation
-
Install newest software image:
(https://developer.nvidia.com/sdk-manager) -
Initialize system:
(https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit) -
Install basic tools:
sudo apt install -y curl nano wget git -
Test docker is working:
sudo docker run --rm hello-world -
Enable docker without sudo:
(https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) -
Enable GPU-access for docker building:
Run
sudo nano /etc/docker/daemon.jsonand add:{ "runtimes": { "nvidia": { "args": [], "path": "nvidia-container-runtime" } }, "default-runtime": "nvidia" }Restart docker:
sudo systemctl restart docker -
Test docker is working:
docker run --rm hello-world docker run -it --rm --runtime=nvidia --network=host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix nvcr.io/nvidia/l4t-base:r36.2.0 docker run -it --rm --runtime=nvidia --network=host dustynv/onnxruntime:1.20-r36.4.0 -
Enable maximum performance mode:
sudo nvpmodel -m 0 sudo jetson_clocks
RPT installation
-
Build docker container:
docker build --progress=plain -f extras/jetson/dockerfile -t rapidposetriangulation . ./run_container.sh -
Build rpt package inside container:
cd /RapidPoseTriangulation/swig/ && make all && cd ../tests/ && python3 test_interface.py && cd .. cd /RapidPoseTriangulation/scripts/ && \ g++ -std=c++2a -fPIC -O3 -march=native -Wall -Werror -flto=auto -fopenmp -fopenmp-simd \ -I /RapidPoseTriangulation/rpt/ \ -isystem /usr/include/opencv4/ \ -isystem /usr/local/include/onnxruntime/ \ -L /usr/local/lib/ \ test_skelda_dataset.cpp \ /RapidPoseTriangulation/rpt/*.cpp \ -o test_skelda_dataset.bin \ -Wl,--start-group \ -lonnxruntime_providers_tensorrt \ -lonnxruntime_providers_shared \ -lonnxruntime_providers_cuda \ -lonnxruntime \ -Wl,--end-group \ $(pkg-config --libs opencv4) \ -Wl,-rpath,/onnxruntime/build/Linux/Release/ \ && cd .. -
Test with samples:
python3 /RapidPoseTriangulation/scripts/test_triangulate.py -
Evaluate datasets:
python3 /RapidPoseTriangulation/scripts/test_skelda_dataset.py
ROS interface
-
Build docker container:
docker build --progress=plain -f extras/jetson/dockerfile_ros -t rapidposetriangulation_ros . ./run_container.sh -
Run and test:
xhost +; docker compose -f extras/jetson/docker-compose.yml up docker exec -it ros-test_node-1 bash export ROS_DOMAIN_ID=18