# camera-dev-kit **Repository Path**: pibot/camera-dev-kit ## Basic Information - **Project Name**: camera-dev-kit - **Description**: tof camera 开发包 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-28 - **Last Updated**: 2026-09-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sunny Optical RGB-D Camera Development Kit [![ROS2](https://img.shields.io/badge/ROS2-Galactic%20%7C%20Humble-blue)](https://docs.ros.org) [![Platform](https://img.shields.io/badge/Platform-x86__64%20%7C%20AArch64-orange)](https://github.com) [![License](https://img.shields.io/badge/License-Apache_2.0-green.svg)](LICENSE) 基于 ROS 2 的**舜宇光学(Sunny Optical)TOF 深度与 RGB-D 复合相机生产级驱动套件**,面向室外智能割草机器人(Ballet)、商用清洁机器人、巡检移动底盘与工业 AMR。 基于割草机项目感知层 `perception/drivers/src/sunnyoptical` 核心能力,进行了高内聚低耦合的 ROS 2 标准化重构,支持 x86_64 与 aarch64 (MR527) 双架构开箱即用。 --- ## 🌟 核心特性 - **多模态传感器融合输出**: - **RGB 高清彩色流**:发布标准 `sensor_msgs/msg/Image` (1280x720 BGR8) 及零解码开销的硬件直通 `sensor_msgs/msg/CompressedImage` (MJPEG)。 - **3D 点云 (PointCloud2)**:实时将 TOF 距离阵列转换为符合 ROS REP-103 规范的毫米级 3D 点云 (`/camera/depth/points`),支持直接输入 Nav2 障碍物图层或点云滤波。 - **32FC1 距离深度图**:发布单通道浮点深度矩阵 (`/camera/depth/image_raw`),像素值直接对应真实物理距离(米)。 - **硬件 EEPROM 自动内参提取**: - 启动时自动从相机硬件固件读取出厂标定参数(Kannala-Brandt 鱼眼 / Pinhole 模型),发布标准 `sensor_msgs/msg/CameraInfo`。 - **跨平台支持**: - 内置预编译的 Sunny Optical 官方 TOF SDK (`libtof_dev_sdk.so`),同时支持 **x86_64** 开发机与 **AArch64 (ARM64 / MR527)** 嵌入式边缘主控。 - **开箱即用脱机仿真演示 (Mock Simulator)**: - 无需物理连接硬件,一键运行 `demo_mock.launch.py` 模拟动态障碍物运动、草坪纹理及 3D 点云,方便算法验证与团队协作。 - **RViz2 预调优布局与 Web 监控**: - 提供预调优的 `camera_view.rviz` 视图以及极简 Web 实时流仪表盘 (`http://localhost:8088`)。 --- ## 📂 目录结构 ``` camera-dev-kit/ ├── demo/ │ ├── mock_camera_publisher.py # 脱机虚拟仿真发布节点 │ ├── camera_view.rviz # RViz2 预调优显示配置 │ └── web_viewer/ # Web 实时画面与深度热力图监视大屏 ├── docs/ │ ├── 01-camera-basics.md # SDK 架构、REP-103 坐标系与协议文档 │ └── 02-quickstart.md # 快速交付使用指南 ├── ros2_ws/ # ROS 2 工作空间 │ └── src/ │ ├── camera_driver/ # Sunny Optical 核心驱动包 (包含 SDK 头文件与 lib) │ └── camera_bringup/ # Launch 启动脚本与参数配置文件 ├── tools/ │ └── camera_probe.py # USB 设备探测与 SDK 链路诊断工具 └── scripts/ ├── build.sh # 工作空间自动编译脚本(支持 Docker 自动构建) ├── run_docker.sh # 交互式 Docker 开发环境 ├── view_stream.sh # Web 实时监视启动脚本 └── install_udev_rules.sh # USB 免权限 udev 规则安装脚本 ``` --- ## 🚀 快速上手 ### 1. 编译构建 ```bash ./scripts/build.sh ``` ### 2. 启动驱动节点 ```bash source ros2_ws/install/setup.bash ros2 launch camera_bringup camera.launch.py ``` ### 3. 启动驱动并打开 RViz2 监控 ```bash source ros2_ws/install/setup.bash ros2 launch camera_bringup view_camera.launch.py ``` ### 4. 离线仿真演示(无需插硬件) ```bash source ros2_ws/install/setup.bash ros2 launch camera_bringup demo_mock.launch.py ``` --- ## 📡 话题列表 (Topic List) | 话题名称 | 消息类型 | 说明 | | :--- | :--- | :--- | | `/camera/color/image_raw` | `sensor_msgs/msg/Image` | BGR8 彩色图像 | | `/camera/color/image_raw/compressed` | `sensor_msgs/msg/CompressedImage` | 硬件直通 MJPEG 压缩流 (低带宽/网络传输) | | `/camera/color/camera_info` | `sensor_msgs/msg/CameraInfo` | 彩色相机内参 | | `/camera/depth/image_raw` | `sensor_msgs/msg/Image` | 32FC1 距离深度图 (单位: 米) | | `/camera/depth/camera_info` | `sensor_msgs/msg/CameraInfo` | TOF 深度相机内参 | | `/camera/depth/points` | `sensor_msgs/msg/PointCloud2` | 3D 点云数据 (REP-103 标准) | | `/diagnostics` | `diagnostic_msgs/msg/DiagnosticArray` | 传感器状态与实时帧率诊断 |