Develop
Environment Compilation and Deployment
Assuming the base image is
ros-humble-jammy-base:latest
Dependency Installation
# System library dependencies
sudo apt install libasio-dev nlohmann-json3-dev libwebsocketpp-dev libssl-dev
# Build and compilation tool dependencies
sudo apt install ninja-build cmake unzip pkg-config \
python3 python3-pip python3-venv python3-dev ca-certificates \
python3-colcon-common-extensions python3-rosdep \
ros-humble-ament-cmake ros-humble-ament-index-cpp
# Initialize and update rosdep
sudo rosdep init
rosdep update
Compilation Process
cd pnd_bridge
# Install ROS dependencies
sudo rosdep install --from-paths ./src --ignore-src -r -y
# Execute full compilation
colcon build --symlink-install
# (Optional) If you need to skip rerun_bridge during compilation:
# colcon build --package-ignore rerun_bridge --symlink-install
Note
Other compilation options can be found in the ./colcon_defaults.yaml file in the project root.
Deployment and Execution
1. Physical Machine Deployment
Copy the compiled install directory and the pnd_bridge.sh script to the remote robot for use.
2. Docker Deployment
Supports one-click container deployment to avoid environment contamination.
First, build the image in the project root directory:
Start the foxglove_bridge example: