Venom VNV
面向多载体机器人系统的通用平台,支持导航、抓取、自瞄与多模块协同。
项目定位
Venom VNV 是一个基于 ROS 2 Humble 构建的综合通用平台。
项目目标是提供一个尽可能到手即用的统一底座,用于支持:
- 导航
- 抓取
- 自瞄
- 无人车
- 无人机
- 无人船
通过统一的驱动层、感知层、定位层、规划层、任务层、系统层、仿真层与接口规范,降低不同赛事和不同平台之间的迁移成本。
当前仓库并不只服务于单一比赛项目,而是希望沉淀一套可复用的基础工程能力,覆盖:
- 激光雷达、相机、串口、底盘、机械臂等硬件接入
- 自瞄检测、通用目标检测、跟踪、解算等感知链路
- LIO、里程计、重定位等定位与地图能力
- 轨迹规划、controller 与机械臂运动规划
- 行为树、waypoint、任务监听与任务管理
- 多车型、多任务形态下的统一启动与接口规范
快速开始
⚙️ 快速开始
按标准流程拉取仓库、安装依赖并完成首次编译。
🧰 环境配置
准备 Ubuntu、SSH、ROS、rosdep、VS Code、Clash 与 NoMachine。
📡 雷达配置
安装 Livox-SDK2、配置 MID360 网络参数并验证雷达链路。
🚀 启动使用
查看常用 build、重编译和整机启动命令。
🛞 底盘 CAN 部署
初始化底盘 CAN 适配器,拉起接口并完成基础验证。
🦾 机械臂 CAN 部署
识别 Piper CAN 模块、命名接口并启动机械臂链路。
🔁 rc.local
配置开机自启动与网络优先级相关命令。
🧭 运行模式
查看不同联调、测试与整机模式下的使用方式。
🧩 话题与 TF 总览
快速查看系统级话题接口与核心 TF 约定。
项目组成总览
当前仓库由主仓库内置包和外部子模块两部分组成。为了方便总览,首页统一按“分类 / 地址 / 说明”展示如下:
| 分类 | 地址 | 说明 |
|---|---|---|
| 驱动层 | driver/livox_ros_driver2 | Livox Mid360 激光雷达驱动与点云发布 |
| 驱动层 | driver/ros2_hik_camera | 海康 USB3.0 工业相机驱动 |
| 驱动层 | driver/venom_serial_driver | NUC 与下位机之间的串口通信驱动 |
| 驱动层 | driver/scout_ros2 | AgileX Scout / Scout Mini 系列底盘 ROS 2 驱动封装 |
| 驱动层 | driver/hunter_ros2 | AgileX Hunter 系列底盘 ROS 2 驱动封装 |
| 驱动层 | driver/ugv_sdk | AgileX / Weston Robot 通用底盘 C++ SDK 与 CAN 工具脚本 |
| 驱动层 | driver/piper_ros | AgileX Piper 机械臂 ROS 2 控制、描述、MoveIt 与仿真接口 |
| 驱动层 | driver/venom_px4_bridge | PX4 集成项目根目录,内部包含 vendored px4_msgs 与自有桥接包 |
| 感知层 | perception/rm_auto_aim | 自瞄能力总包,包含检测、跟踪、解算与接口定义 |
| 感知层 | perception/yolo_detector | 通用 YOLO 2D 目标检测模块与自定义消息定义 |
| 感知层 | perception/rm_auto_aim/armor_detector | 装甲板检测模块 |
| 感知层 | perception/rm_auto_aim/armor_tracker | 目标跟踪模块 |
| 感知层 | perception/rm_auto_aim/auto_aim_solver | 弹道与目标解算模块 |
| 感知层 | perception/rm_auto_aim/auto_aim_interfaces | 自瞄链路使用的消息与接口定义 |
| 定位层 | localization/lio/Point-LIO | 高带宽激光惯性里程计,适合 Mid360 等高频点云输入 |
| 定位层 | localization/lio/Fast-LIO | FAST-LIO 的 ROS 2 版本实现 |
| 定位层 | localization/lio/rf2o_laser_odometry | 面向 2D 激光雷达的里程计模块 |
| 定位层 | localization/relocalization/small_gicp_relocalization | 基于点云配准的重定位模块 |
| 规划层 | planning/ | 导航 planner、controller 与 MoveIt 抓取规划一类模块的统一入口,已创建 navigation/ 与 manipulation/ 占位目录 |
| 任务层 | mission/ | waypoint、行为树、状态监听、任务下发与任务管理一类模块的统一入口,已创建 navigation/ 与 manipulation/ 占位目录 |
| 系统层 | venom_bringup | 系统启动入口,负责模式组织、整机装配与联调,不直接承载新任务包 |
| 系统层 | venom_robot_description | 机器人模型、URDF、TF 发布与基础描述配置 |
| 仿真层 | simulation/venom_nav_simulation | 独立导航仿真工作区,用于 MID360、LIO 与 Nav2 联调 |
文档与接口规范
| 内容 | 说明 |
|---|---|
| 部署与使用 | 面向环境准备、雷达配置、底盘部署、开机自启与运行模式 |
| 模块与接口 | 面向驱动、感知、定位、规划、任务、系统、仿真与统一接口规范 |
| 支持与社区 | 面向 FAQ、故障排查、迁移记录、联系方式与协作说明 |
阅读建议
如果你是第一次接触这个仓库,建议按以下顺序阅读:
- 从“快速开始”了解标准拉取、依赖安装与编译流程
- 从“环境准备”和“雷达配置”完成基础部署
- 从“模块与接口”进入对应模块,查看具体输入输出、参数与约束