Venom VNV
A general-purpose robotics platform for multi-vehicle systems, navigation, manipulation, auto aim, and multi-module coordination.
Project Positioning
Venom VNV is a general-purpose robotics platform built on ROS 2 Humble.
The project aims to provide a reusable system base for:
- Navigation
- Manipulation
- Auto aim
- UGV platforms
- UAV platforms
- USV platforms
It reduces migration cost between different robot forms by keeping the driver, perception, localization, planning, mission, system, and simulation layers aligned under stable interface conventions.
The repository focuses on reusable engineering capabilities such as:
- Sensors, serial links, chassis platforms, and robot arm integration
- Detection, tracking, targeting, and general object-detection pipelines
- LIO, odometry, and relocalization
- planning-oriented modules for planners, controllers, and manipulation motion generation
- mission-oriented modules for waypoint, BT, monitor, and task progression
- Shared startup conventions across multiple robot types
Quick Start
⚙️ Quick Start
Clone the workspace, install dependencies, and build the project for the first time.
🧰 Environment
Prepare Ubuntu, ROS 2, rosdep, VS Code, Clash, and NoMachine.
📡 LiDAR Setup
Install Livox-SDK2, configure MID360 networking, and verify the LiDAR link.
🚀 Launch & Use
Check common build, rebuild, and launch commands used in daily development.
🛞 Chassis CAN
Bring up the chassis CAN interface and verify the low-level communication chain.
🦾 Arm CAN
Detect the Piper CAN adapter, name the interface, and start the arm control chain.
🔁 rc.local
Set up boot-time commands and network-priority initialization.
🧭 Run Modes
Understand the typical bringup combinations used for testing and full-system runs.
🧩 Topics & TF
Review the system-level topic contracts and TF conventions.
Project Overview
The repository includes both built-in packages and external submodules. For a quick overview, the homepage keeps everything in one long table.
| Category | Path | Description |
|---|---|---|
| Drivers | driver/livox_ros_driver2 | Livox MID360 driver and point cloud publishing |
| Drivers | driver/ros2_hik_camera | Hikrobot USB3 industrial camera driver |
| Drivers | driver/venom_serial_driver | NUC-to-controller serial communication driver |
| Drivers | driver/scout_ros2 | ROS 2 wrapper for Scout / Scout Mini platforms |
| Drivers | driver/hunter_ros2 | ROS 2 wrapper for Hunter platforms |
| Drivers | driver/ugv_sdk | Low-level C++ SDK and CAN tools for AgileX / Weston Robot platforms |
| Drivers | driver/piper_ros | Piper arm ROS 2 control, description, MoveIt, and simulation packages |
| Drivers | driver/venom_px4_bridge | PX4 integration project root containing vendored px4_msgs and the bridge package |
| Perception | perception/rm_auto_aim | Auto aim stack including detection, tracking, solving, and interface definitions |
| Perception | perception/yolo_detector | General YOLO-based 2D detector with custom message definitions |
| Perception | perception/rm_auto_aim/armor_detector | Armor detection module |
| Perception | perception/rm_auto_aim/armor_tracker | Target tracking module |
| Perception | perception/rm_auto_aim/auto_aim_solver | Ballistics and target solving module |
| Perception | perception/rm_auto_aim/auto_aim_interfaces | Message and interface definitions for the auto aim pipeline |
| Localization | localization/lio/Point-LIO | High-bandwidth LiDAR-inertial odometry, tuned for MID360 workflows |
| Localization | localization/lio/Fast-LIO | ROS 2 version of FAST-LIO |
| Localization | localization/lio/rf2o_laser_odometry | 2D laser odometry based on range flow |
| Localization | localization/relocalization/small_gicp_relocalization | Point-cloud relocalization based on small_gicp |
| Planning | planning/ | Entry point for navigation planners, controllers, and MoveIt-side motion planning, with placeholder navigation/ and manipulation/ subfolders already created |
| Mission | mission/ | Entry point for waypoint, behavior-tree, monitor, and mission-management packages, with placeholder navigation/ and manipulation/ subfolders already created |
| System | venom_bringup | Main system entry for mode composition, robot assembly, and full-stack bringup |
| System | venom_robot_description | Robot model, URDF, and TF description package |
| Simulation | simulation/venom_nav_simulation | Standalone navigation simulation workspace for MID360, LIO, and Nav2 validation |
Documentation Groups
| Group | Description |
|---|---|
| Deployment & Usage | Environment, LiDAR, CAN setup, boot-time config, and run modes |
| Modules & Interfaces | Drivers, perception, localization, planning, mission, system, simulation, and interface conventions |
| Support & Community | FAQ, troubleshooting, migration notes, contact, and contribution guidance |
Suggested Reading
- Start from Quick Start for the standard workspace flow.
- Continue with Environment Setup and LiDAR Setup for a first deployment.
- Move to Modules & Interfaces when you need package-level details.