Install¶
From apt¶
CUDA-enabled packages (amd64). They need only the NVIDIA driver, not the CUDA toolkit, and run on the CPU on machines without a usable GPU.
| Distro | Ubuntu | NVIDIA driver |
|---|---|---|
| Humble | 22.04 | 525+ |
| Jazzy, Kilted | 24.04 | 525+ |
| Lyrical | 26.04 | 580+ |
| Rolling | 26.04 | 580+ |
Rolling's 26.04 binaries are only in ROS's ros2-testing repository for now, so Rolling needs
that apt source (the official ros:rolling images already use it).
sudo curl -fsSL https://polka-ros.github.io/polka.gpg -o /usr/share/keyrings/polka.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/polka.gpg] https://polka-ros.github.io $(. /etc/os-release && echo $VERSION_CODENAME) main" \
| sudo tee /etc/apt/sources.list.d/polka.list
sudo apt update && sudo apt install ros-${ROS_DISTRO:?source your ROS setup.bash first}-polka
From source¶
One branch per ROS 2 distro, same code on each:
| Distro | Ubuntu | Branch |
|---|---|---|
| Humble | 22.04 | humble |
| Iron | 22.04 | iron |
| Jazzy | 24.04 | jazzy |
| Kilted | 24.04 | kilted |
| Lyrical | 26.04 | lyrical |
| Rolling | 26.04 | rolling |
git clone -b humble https://github.com/Pana1v/polka.git ~/ros2_ws/src/polka
cd ~/ros2_ws && colcon build --packages-select polka
# the CUDA engine is built when nvcc is found; -DWITH_CUDA=OFF forces CPU-only
Quick start¶
cp config/example_params.yaml config/my_robot.yaml # edit topics + output_frame_id
ros2 launch polka polka.launch.py config_file:=config/my_robot.yaml
Point output_frame_id at your base frame, list your sensors under source_names, and check that TF resolves every sensor frame_id to output_frame_id. Playing a bag? Pass use_sim_time:=true and play with --clock (see Configuration).