How han0301/gdut_rc26_vision_src works
RC26 Vision is an onboard ROS robotics stack combining camera, LiDAR, and odometry inputs for recognition, localization, mapping, and control, with a ground-side control center for monitoring and competition setup. The documented runtime begins at the merge node, which coordinates sensing and fusion; perception and localization support decisions and robot outputs. The README describes several capabilities whose named files are absent from this tree, so they are represented only where an existing enclosing module path supports them. Source excerpts are partial, so internal call wiring is not inferred beyond documented relationships.
Main entry points: merge.cpp Fusion node · control_center.py Ground control center · driver_node.cpp Livox driver · super.h Perception arbitration
Components 29
Runtime orchestration
- Fusion node
src/merge/src/merge.cpp - Livox driver
src/merge/src/livox_ros_driver2/src/driver_node.cpp - Perception arbitration
src/merge/src/superstratum/super.h
Perception and calibration
- Camera capture
src/merge/src/camera.cpp - Image inference
src/merge/src/openvino.cpp - YOLO detectors
src/merge/src/yolo/yolo_base.h - AprilTag detection
src/merge/src/apriltag/apriltag.cpp - Camera calibration
src/merge/src/calibration.cpp - Occlusion handling
src/merge/src/recognition/occlusion_handing.cpp - KFS detector
src/merge/src/kfs_detector/kfs_detector.cpp
Localization and mapping
- LiDAR processing
src/merge/src/lidar.cpp - LiDAR-inertial odometry
src/merge/src/point_lio/src/laserMapping2.cpp - Point-cloud registration
src/merge/src/nano_gicp/src/nano_gicp.cc - Map management
src/merge/src/mapping/mapping.cpp - Coordinate transforms
src/merge/src/coordinate.cpp - Sensor filtering
src/merge/src/fliter.cpp - Robust state estimation
src/merge/src/rcekf/rcekf.h
Robot operations
- Chassis control
src/merge/src/superstratum/controlR1.cpp - Serial interface
src/merge/src/serial.cpp - Device self-check
src/merge/src/selfinspection/inspection.h - Runtime parameters
src/merge/src/parameter/parameter.cpp - Ground control center
src/merge/shell_monitor2/control_center.py - System monitor
src/merge/shell_monitor2/run_shell.py
Other components
- Robot operator
- Camera feeds
- LiDAR and IMU
- Wheel odometry
- Robot actuators
- Ground computer
Connections 31
- Robot operator → Ground control center: selects tasks
- Ground computer → Ground control center: hosts
- Ground control center → Fusion node: remote control
- Camera feeds → Camera capture: image frames
- LiDAR and IMU → Livox driver: sensor packets
- Livox driver → LiDAR processing: publishes clouds
- LiDAR and IMU → LiDAR-inertial odometry: LiDAR and IMU
- Wheel odometry → Fusion node: odometry
- Camera capture → Fusion node: camera data
- Fusion node → Image inference: dispatches images
- Image inference → YOLO detectors: runs detection
- Fusion node → AprilTag detection: dispatches images
- Fusion node → Camera calibration: calibrates sensors
- Fusion node → Occlusion handling: checks occlusion
- Fusion node → KFS detector: runs detection
- Fusion node → LiDAR processing: processes clouds
- LiDAR-inertial odometry → Point-cloud registration: registers clouds
- Fusion node → Map management: updates maps
- Fusion node → Sensor filtering: aligns sensor data
- Fusion node → Coordinate transforms: transforms poses
- Fusion node → Perception arbitration: coordinates results
- Perception arbitration → Robust state estimation: fused estimates
- Fusion node → Chassis control: dispatches commands
- Chassis control → Serial interface: sends commands
- Serial interface → Robot actuators: serial control
- Fusion node → Device self-check: checks devices
- Runtime parameters → Fusion node: provides settings
- Ground control center → Runtime parameters: sets parameters
- Ground control center → Device self-check: shows self-check
- Ground control center → System monitor: starts monitoring
- System monitor → Ground computer: reports status