跳转至

Develop

环境编译与部署

假设基础镜像为 ros-humble-jammy-base:latest*

依赖安装

# 系统库依赖
sudo apt install libasio-dev nlohmann-json3-dev libwebsocketpp-dev libssl-dev

# 编译与构建工具依赖
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

# 初始化并更新 rosdep
sudo rosdep init
rosdep update

编译流程

cd pnd_bridge

# 安装 ROS 依赖
sudo rosdep install --from-paths ./src --ignore-src -r -y

# 执行全量编译
colcon build --symlink-install

# (可选)若需忽略 rerun_bridge 进行编译:
# colcon build --package-ignore rerun_bridge --symlink-install

提示

其他编译选项可参考项目下的 ./colcon_defaults.yaml 文件。

部署与运行

1. 物理机部署

将编译生成的 install 目录以及 pnd_bridge.sh 脚本拷贝至远程机器人使用即可。

2. Docker 部署

支持通过容器一键部署,避免环境污染。

首先在项目根目录构建镜像:

docker build -t pnd_bridge:humble .

启动 foxglove_bridge 示例:

docker run --rm -it \
  --network host \
  pnd_bridge:humble \
  --enable-foxglove-bridge \
  --domain-id 0 \
  --robot adam_pro

提示

Docker 镜像的入口等价于执行 ./pnd_bridge.sh [options],因此所有 pnd_bridge 的参数都可以直接追加到 docker run 命令末尾。例如查看帮助文档:

docker run --rm -it --network host pnd_bridge:humble --help