From 647e5b5f7956b53e192144f372fd02b548af50ac Mon Sep 17 00:00:00 2001 From: zmv Date: Wed, 23 Sep 2026 20:25:34 +0800 Subject: [PATCH] Add CAN-driven lazy inference with resident TensorRT engines --- CMakeLists.txt | 9 +- README.md | 113 ++++---- config/camera.json | 5 + include/bounded_queue.hpp | 9 + include/camera_pipeline.hpp | 6 +- include/can_comm.h | 54 ++++ include/can_input.hpp | 17 ++ include/frame_result.hpp | 2 + include/latest_result.hpp | 1 + include/lazy_gate.hpp | 36 +++ include/zcan.h | 443 ++++++++++++++++++++++++++++++ orin/README.md | 23 +- orin/SHA256SUMS | 24 +- orin/build/camera_risk | Bin 695864 -> 720408 bytes orin/config/camera.json | 9 +- orin/lib/libusb-1.0.so | Bin 0 -> 377192 bytes orin/lib/libusb-1.0.so.0 | 1 + orin/lib/libusbcanfd.so | Bin 0 -> 205816 bytes orin/lib/libusbcanfd.so.1.0.12 | 1 + orin/run.sh | 1 + orin/scripts/initialize_camera.sh | 4 +- run_camera.sh | 1 + scripts/package_orin.sh | 12 + src/camera.cpp | 2 +- src/camera_pipeline.cpp | 56 +++- src/can_comm.cpp | 342 +++++++++++++++++++++++ src/can_input.cpp | 54 ++++ src/config.cpp | 6 + src/lazy_gate.cpp | 41 +++ src/main.cpp | 84 +++--- src/visualizer.cpp | 7 + 31 files changed, 1234 insertions(+), 129 deletions(-) create mode 100644 include/can_comm.h create mode 100644 include/can_input.hpp create mode 100644 include/lazy_gate.hpp create mode 100644 include/zcan.h create mode 100644 orin/lib/libusb-1.0.so create mode 120000 orin/lib/libusb-1.0.so.0 create mode 100644 orin/lib/libusbcanfd.so create mode 120000 orin/lib/libusbcanfd.so.1.0.12 create mode 100755 scripts/package_orin.sh create mode 100644 src/can_comm.cpp create mode 100644 src/can_input.cpp create mode 100644 src/lazy_gate.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a5dede..151691d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.24) if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) - set(CMAKE_CUDA_ARCHITECTURES native) + set(CMAKE_CUDA_ARCHITECTURES 87) endif() project(camera_risk LANGUAGES CXX CUDA) set(CMAKE_CXX_STANDARD 17) @@ -13,11 +13,14 @@ find_path(TENSORRT_INCLUDE_DIR NvInfer.h PATH_SUFFIXES aarch64-linux-gnu x86_64- find_library(TENSORRT_LIBRARY nvinfer REQUIRED) add_library(camera_risk_core src/trt_engine.cpp src/pose_engine.cu src/gpu_preprocess.cu src/uyvy_converter.cu - src/detector.cpp src/door_risk.cpp src/camera.cpp src/camera_pipeline.cpp src/config.cpp) + src/detector.cpp src/door_risk.cpp src/camera.cpp src/camera_pipeline.cpp src/config.cpp src/lazy_gate.cpp src/can_input.cpp src/can_comm.cpp) target_include_directories(camera_risk_core PUBLIC include third_party ${TENSORRT_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS}) -target_link_libraries(camera_risk_core PUBLIC ${TENSORRT_LIBRARY} ${OpenCV_LIBS} Threads::Threads CUDA::cudart CUDA::nppc CUDA::nppig CUDA::nppidei CUDA::nppicc) +target_link_libraries(camera_risk_core PUBLIC ${TENSORRT_LIBRARY} ${OpenCV_LIBS} Threads::Threads CUDA::cudart CUDA::nppc CUDA::nppig CUDA::nppidei CUDA::nppicc + "${CMAKE_SOURCE_DIR}/orin/lib/libusbcanfd.so" "${CMAKE_SOURCE_DIR}/orin/lib/libusb-1.0.so") target_compile_options(camera_risk_core PRIVATE $<$:-Wall;-Wextra;-Wpedantic>) add_library(camera_risk_visualizer src/visualizer.cpp) target_link_libraries(camera_risk_visualizer PUBLIC camera_risk_core) add_executable(camera_risk src/main.cpp) target_link_libraries(camera_risk PRIVATE camera_risk_visualizer) + +set_target_properties(camera_risk PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE INSTALL_RPATH "$ORIGIN/../lib;$ORIGIN/../orin/lib;/usr/local/cuda/lib64") diff --git a/README.md b/README.md index d1a7025..495f486 100644 --- a/README.md +++ b/README.md @@ -1,73 +1,76 @@ -# Vision Anti-Pinch +# Vision Anti-Pinch — lazy-inference -C++ / TensorRT 实时摄像头风险推理,算法来自最新 run_risk.py。 -持续取图、推理并更新内存中的 FrameResult;可视化可选。 +从 `inference-only` 分支派生的纯 C++ 惰性推理工程。保留该分支的 YOLO / RTMW / 时序融合 / mask 风险流程,在执行推理前加入 CAN 门状态控制。模型启动时加载、预热一次,暂停期间保持 TensorRT 引擎、上下文及显存,不反复加载。 -## Orin 直接运行 +## 触发规则 -适用环境:Jetson AGX Orin、JetPack 5.1.2 / L4T R35.4.1、CUDA 11.4、TensorRT 8.5.2、OpenCV 4.5.4。 -仓库已包含该板端编译的程序和重新构建的 TensorRT 引擎。 +接收 CAN / CAN FD `0x391`,`data[0..3]` 按百分比解释,顺序为左前、右前、左后、右后。当前仅使用左前和左后,任一满足即可检测。 -```bash -git clone https://git.kendeji.fun/zmv/vision-anti-pinch.git -cd vision-anti-pinch/orin -./scripts/initialize_camera.sh # 开机后初始化 /dev/video5 摄像头链路 -./run.sh # 持续推理,结果只保存在内存 -``` +| 状态 | 推理行为 | +|---|---| +| 左前或左后开度 **<15%**,且正在增加(开门) | 检测并计算风险 | +| 左前或左后开度 **<15%**,且正在减小(关门) | 检测并计算风险 | +| 恰好 15%、大于 15%,或两门均静止 | 暂停模型推理 | +| 从未收到有效报文、报文超时或左门开度值无效 | 开启检测 | +| CAN 恢复且不满足运动条件 | 停止检测 | -可选板端本地可视化: +开度不变的重复报文不会立即抹掉运动方向。默认最后一次开度变化后 **300 ms** 仍沿用方向,超过该时间判定静止,避免整数百分比报文导致频繁启停。到达 0% 后也保留这段检测时间。首次报文及超时后的首次报文只建立基线,不将断线前后的差值当作运动。 -```bash -./run.sh --visualize -``` +CAN 默认 **1000 ms** 超时。上述参数可在 `config/camera.json` 的 `lazy_inference` 中调整;15% 使用严格小于。USB CAN 缺失时后台持续重试,恢复后自动接收。当前不发送执行器指令。 -Ctrl+C / SIGTERM 停止程序。 -关闭预览窗口或按 q/Esc 只关闭预览,推理继续。 +## 编译和运行 -摄像头为 /dev/video5,1920×1536 UYVY,30 FPS。 -当前 door mask 是指定的 constant_door_mask.json 副本,标定状态为 false;装车后应更换与实际画面匹配的门区并更新标定状态。 - -## 下游获取结果 - -main.cpp 注释中也包含以下示例。下游通过自己的调用位置或线程读取: - -```cpp -auto result = pipeline.latest(); -if (result) { - const auto& risk = result->risk; - const auto& people = result->persons; - // result->frame_index / track_ids / boxes - // result->image / door_mask_pixels / capture / timing - // people[i].selected / smoothed / temporal:各 133 个关键点 -} -``` - -latest() 返回 shared_ptr;首帧尚未完成时为空。 -公共定义位于 include/camera_pipeline.hpp 和 include/frame_result.hpp。 - -## 从源码构建 +目标设备:Orin / JetPack 5.1.2 / CUDA 11.4 / TensorRT 8.5 / OpenCV 4.5,构建需 CMake 3.24+。 ```bash ./scripts/build.sh -./scripts/initialize_camera.sh +./scripts/initialize_camera.sh # 摄像头尚未初始化时 ./run_camera.sh +./run_camera.sh --visualize # 可选本地 OpenCV 窗口 +./run_camera.sh --duration 30 # 运行 30 秒后正常退出 ``` -源码构建要求 CMake 3.24+、CUDA/NPP、TensorRT 和 OpenCV 开发依赖。 -构建脚本会优先使用 Orin 上已有的 ~/miniconda3/envs/yolo/bin/cmake。 -源码配置直接使用 orin/engines/ 中的板端引擎。该引擎仅适用于上述 Orin 环境;仓库不包含 ONNX 或模型转换脚本。 -独立库目标为 camera_risk_core;可视化在 camera_risk_visualizer。 +Orin 独立包可单独复制运行: + +```bash +cd orin +./scripts/initialize_camera.sh +./run.sh +``` + +`orin/build/camera_risk` 是 ARM64 C++ 可执行程序。运行不依赖 Python。修改源码后,在 Orin 编译并运行 `./scripts/package_orin.sh` 更新独立包。`cd orin && sha256sum -c SHA256SUMS` 检查文件完整性。 + +## 流水线和下游结果 + +摄像头持续采集、CAN 持续接收。启用时运行采集、YOLO、RTMW/融合/风险三阶段流水线;暂停时继续取帧以保持画面新鲜,但不执行 YOLO、RTMW 或风险计算。暂停前已提交的 GPU 工作可以完成,其结果会被丢弃。状态切换会清空待处理帧,恢复时重置跟踪与时序融合,不使用暂停前的历史人物状态。 + +```cpp +cms::CameraPipeline pipeline(cms::loadConfig("config/camera.json")); +pipeline.start(); +// 下游线程中: +auto state = pipeline.inferenceStatus(); +// state.models_ready / enabled / can_valid / reason +// state.positions[0]:左前;state.positions[2]:左后 +// state.direction[0..1]:左前/左后,-1 关门,0 静止,+1 开门 + +auto result = pipeline.latest(); // shared_ptr +if (result) { + const auto& risk = result->risk; + const auto& people = result->persons; +} +// 启动、暂停或等待恢复后的首帧时,result 为空;不能解释为风险 clear。 +// 退出:pipeline.requestStop(); pipeline.join(); +``` + +`latest()` 不返回旧运行周期的风险;调用者已持有的旧快照不会被修改,应重新读取状态和结果。`FrameResult::inference` 保存生成结果时的 CAN 状态和 generation。状态变化后的下一次读取会反映新的周期。`running()` 表示整个服务在运行,暂停推理时仍为 true。 + +默认结果仅保存在内存变量,不保存视频或逐帧文件。标准输出记录启停原因和累计推理次数;`stats()` 提供 detector_runs / pose_runs / skipped_idle 等计数。可视化暂停时显示 IDLE,不继续显示旧风险。 ## 目录 -- src/、include/:采集、推理、结果变量及可选绘制。 -- config/:源码构建程序的配置和固定门区。 -- scripts/:构建和摄像头初始化脚本。 -- orin/:已编译程序、TensorRT 引擎、配置、当前 GMSL 驱动及启动脚本。 -- third_party/:nlohmann JSON 及其许可证。 +- `src/`、`include/`:C++ / CUDA 源码及公共接口。 +- `config/`:门 mask、摄像头及惰性推理配置。 +- `orin/`:模型、可执行程序、CAN 库、相机驱动及配置。 +- `scripts/`:编译、初始化、打包;`third_party/`:JSON 依赖。 -NPP 用于 UYVY 转换、YOLO 缩放填充、RTMW 仿射裁剪;CUDA 用于通道转换与归一化。 -风险几何计算仍包含 CPU/OpenCV 操作;算法内部的临时 JSON 对象只在内存中使用。 - -当前摄像头驱动启动时偶发首帧 ERROR,应用会丢弃并计数;持续错误、采集超时或推理错误会明确报错并退出。 -现有 GMSL 驱动停止采集时可产生 videobuf2 缓冲区告警,v4l2-ctl 同样复现;需在驱动侧完成量产修复和验证。 +模型和推理算法沿用纯推理基线。当前门 mask 为研发机位配置,装车需按实际机位标定。 diff --git a/config/camera.json b/config/camera.json index 433c732..3821a7b 100644 --- a/config/camera.json +++ b/config/camera.json @@ -18,5 +18,10 @@ "warning_relative": 0.3, "release_relative": 0.45, "calibration_verified": false + }, + "lazy_inference": { + "threshold_percent": 15, + "can_timeout_ms": 1000, + "motion_timeout_ms": 300 } } diff --git a/include/bounded_queue.hpp b/include/bounded_queue.hpp index 65e979b..8004b36 100644 --- a/include/bounded_queue.hpp +++ b/include/bounded_queue.hpp @@ -18,6 +18,15 @@ public: if(closed_)return false; items_.push_back(std::move(item));changed_.notify_all();return true; } + bool pushLatest(T item) { + std::lock_guard lock(mutex_); + if(closed_)return false; + if(items_.size()==capacity_)items_.pop_front(); + items_.push_back(std::move(item));changed_.notify_all();return true; + } + void clear() { + std::lock_guard lock(mutex_);items_.clear();changed_.notify_all(); + } std::optional pop() { std::unique_lock lock(mutex_); changed_.wait(lock,[&]{return closed_||!items_.empty();}); diff --git a/include/camera_pipeline.hpp b/include/camera_pipeline.hpp index d1160f5..165a36f 100644 --- a/include/camera_pipeline.hpp +++ b/include/camera_pipeline.hpp @@ -1,12 +1,14 @@ #pragma once #include "camera.hpp" #include "frame_result.hpp" +#include "lazy_gate.hpp" #include #include namespace cms { struct PipelineConfig { CameraConfig camera; + LazyGateConfig lazy_gate; std::filesystem::path engines,door_mask; double detector_confidence{0.30}; int max_people{3}; @@ -17,9 +19,10 @@ struct PipelineConfig { struct PipelineStats { std::uint64_t captured{},published{},driver_sequence_gaps{},discarded_error_frames{}; double mean_capture_to_result_ms{}; + std::uint64_t detector_runs{},pose_runs{},skipped_idle{}; }; // One lifecycle per instance. start() warms engines before starting capture. -// Runs continuously until requestStop() or a worker failure. +// Captures and receives CAN continuously. Engines stay warm while inference is idle. // latest() reads the immutable result variable without removing or acknowledging it. // No result queue, consumer registration or frame-count termination. // Stop is safe from any thread; @@ -33,6 +36,7 @@ public: void start(); FrameResultPtr latest() const; bool running() const noexcept; + InferenceStatus inferenceStatus() const; void requestStop() noexcept; void join(); PipelineStats stats() const; diff --git a/include/can_comm.h b/include/can_comm.h new file mode 100644 index 0000000..42415e3 --- /dev/null +++ b/include/can_comm.h @@ -0,0 +1,54 @@ +// can_comm.h - USBCANFD CAN/CANFD 收发封装 +// +// 整合自 vision-anti-pinch_bak/main.cpp 的 CAN 模块, 提供: +// can_start() - 打开设备, 初始化并启动双通道接收线程 +// can_stop() - 停止接收并关闭设备 +// can_send() - 发送一帧 CAN (8 字节) +// canfd_send() - 发送一帧 CANFD (64 字节) +// +// 依赖 zcan.h (include/) 和 libusbcanfd.so + libusb-1.0.so (lib/) + +#pragma once + +#include +#include + +namespace CanComm { + +// 初始化并启动 CAN 收发(双通道, 仲裁域 500kbps / 数据域 2000kbps)。 +// 返回 true 成功; false 失败(主流程可继续仅取图)。 +bool can_start(); + +// 停止 CAN 接收线程并关闭设备。 +void can_stop(); + +// 注册报文解析回调。收到每帧 CAN/CANFD 数据帧时调用。 +// time: 时间戳(us) +// msg_id: CAN-ID +// data: 数据指针(回调内有效, 不要保存) +// len: 数据长度 +// 传 nullptr 取消注册。 +using MsgCallback = void (*)(int64_t time, uint32_t msg_id, const uint8_t *data, uint32_t len); +void set_msg_callback(MsgCallback cb); + +// 发送一帧 CAN2.0 数据帧(8 字节)。 +// chn_idx: 通道号 0/1 +// id: CAN-ID +// data: 8 字节数据(不足补 0, 超出截断) +// 返回实际发送帧数(0 失败)。 +uint32_t can_send(int chn_idx, uint32_t id, const uint8_t data[8]); + +// 发送一帧 CANFD 数据帧(64 字节, 扩展帧+加速)。 +// chn_idx: 通道号 0/1 +// id: CAN-ID +// data: 64 字节数据(不足补 0, 超出截断) +// 返回实际发送帧数(0 失败)。 +uint32_t canfd_send(int chn_idx, uint32_t id, const uint8_t data[64]); + +// 是否已打开并运行 +bool is_open(); + +// 累计接收帧数(线程安全) +int receive_count(); + +} // namespace CanComm diff --git a/include/can_input.hpp b/include/can_input.hpp new file mode 100644 index 0000000..b5016da --- /dev/null +++ b/include/can_input.hpp @@ -0,0 +1,17 @@ +#pragma once +#include "lazy_gate.hpp" +#include +namespace cms { +// Receives continuously, including while inference is idle; retries missing USB CAN. +class CanInput { +public: + explicit CanInput(LazyGateConfig config); + ~CanInput(); + CanInput(CanInput const&)=delete; + CanInput& operator=(CanInput const&)=delete; + InferenceStatus snapshot(); +private: + struct Impl; + std::unique_ptr impl_; +}; +} diff --git a/include/frame_result.hpp b/include/frame_result.hpp index 7999cce..bcc3a7c 100644 --- a/include/frame_result.hpp +++ b/include/frame_result.hpp @@ -1,6 +1,7 @@ #pragma once // Public downstream contract. Owns its data; no GPU, JSON or network handles. #include "image.hpp" +#include "lazy_gate.hpp" #include #include #include @@ -63,6 +64,7 @@ struct StageTiming { double detector_ms{}, pose_ms{}, fusion_risk_ms{}, capture_to_result_ms{}; }; struct FrameResult { + InferenceStatus inference; int frame_index{}; std::vector track_ids; std::vector> boxes; diff --git a/include/latest_result.hpp b/include/latest_result.hpp index d6e7623..341dbda 100644 --- a/include/latest_result.hpp +++ b/include/latest_result.hpp @@ -11,6 +11,7 @@ public: if(!result)throw std::invalid_argument("Cannot publish a null result"); std::atomic_store_explicit(&latest_,std::move(result),std::memory_order_release); } + void clear() { std::atomic_store_explicit(&latest_,FrameResultPtr{},std::memory_order_release); } FrameResultPtr load() const { return std::atomic_load_explicit(&latest_,std::memory_order_acquire); } diff --git a/include/lazy_gate.hpp b/include/lazy_gate.hpp new file mode 100644 index 0000000..963d17c --- /dev/null +++ b/include/lazy_gate.hpp @@ -0,0 +1,36 @@ +#pragma once +#include +#include +#include + +namespace cms { +struct LazyGateConfig { + int threshold_percent{15}; + int can_timeout_ms{1000}; + int motion_timeout_ms{300}; +}; +struct InferenceStatus { + bool models_ready{}; + bool enabled{true}; + bool can_valid{}; + bool left_front_trigger{},left_rear_trigger{}; + std::array positions{{-1,-1,-1,-1}}; // LF, RF, LR, RR; percent + std::array direction{}; // LF, LR: -1 closing, 0 stationary, +1 opening + std::uint64_t generation{1},sample_monotonic_ns{}; + double can_age_ms{-1}; + std::string reason{"CAN_UNAVAILABLE"}; +}; +// Pure state machine. Caller serializes access. Time is monotonic nanoseconds. +class LazyGate { +public: + explicit LazyGate(LazyGateConfig config={}); + void receive(std::uint32_t id,std::uint8_t const* data,std::size_t size,std::uint64_t now); + InferenceStatus snapshot(std::uint64_t now); +private: + LazyGateConfig config_; + bool have_sample_{}; + std::uint64_t last_sample_{}; + std::array last_change_{}; + InferenceStatus state_; +}; +} diff --git a/include/zcan.h b/include/zcan.h new file mode 100644 index 0000000..04eb2af --- /dev/null +++ b/include/zcan.h @@ -0,0 +1,443 @@ +#pragma once + +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C +#endif + +#define ZCAN_API +#define INVALID_HANDLE_VALUE ((HANDLE)(-1)) + +#define CMD_CAN_FILTER 0x14 // 滤波 +#define CMD_CAN_TTX 0x16 // 定时发送 +#define CMD_CAN_TTX_CTL 0x17 // 使能定时发送 +#define CMD_CAN_TRES 0x18 // CAN终端电阻 + +#define ZCAN_CMD_SET_CHNL_RECV_MERGE 0x32 // 设置合并接收 0:不合并接收;1:合并接收 +#define ZCAN_CMD_GET_CHNL_RECV_MERGE 0x33 // 获取是否开启合并接收 0:不合并接收;1:合并接收 + +#define CMD_SET_SN 0x42 // 获取SN号 +#define CMD_GET_SN 0x43 // 设置SN号 +#define CMD_CAN_TX_TIMEOUT 0x44 // 发送超时 + +#define ZCAN_CMD_GET_SEND_QUEUE_SIZE 0x100 // 获取队列大小,uint32_t +#define ZCAN_CMD_GET_SEND_QUEUE_SPACE 0x101 // 获取队列剩余空间, uint32_t +#define ZCAN_CMD_SET_SEND_QUEUE_CLR 0x102 // 清空发送队列,1:清空 +#define ZCAN_CMD_SET_SEND_QUEUE_EN 0x103 // 开启发送队列,1:使能 + +typedef unsigned char U8; +typedef unsigned short U16; +typedef unsigned int U32; +typedef unsigned long long U64; + +enum eZCANDataDEF +{ + //数据类型 + ZCAN_DT_ZCAN_CAN_DATA = 1, // CAN/CANFD数据 + ZCAN_DT_ZCAN_CANFD_DATA = 2, // CAN/CANFD数据 + ZCAN_DT_ZCAN_ERROR_DATA = 3, // CAN/CANFD错误数据 + ZCAN_DT_ZCAN_LIN_DATA = 4, // LIN数据 + ZCAN_DT_ZCAN_LIN_ERROR_DATA = 5, // LIN错误数据 +}; +#pragma pack(push, 1) + +typedef enum { + ZCAN_TX_NORM = 0, /**< normal transmission */ + ZCAN_TX_ONCE = 1, /**< single-shot transmission */ + ZCAN_SR_NORM = 2, /**< self reception */ + ZCAN_SR_ONCE = 3, /**< single-shot transmission & self reception */ +} ZCAN_TX_MODE; + +/** CAN filter configuration */ +typedef struct { + U8 type; /**< 0-std_frame, 1-ext_frame */ + U8 pad[3]; + U32 sid; /**< start-id */ + U32 eid; /**< end-id */ +} ZCAN_FILTER; + +typedef struct { + U32 size; + ZCAN_FILTER table[64]; +} ZCAN_FILTER_TABLE; + +/** controller initialization */ +typedef struct { + U32 clk; // 时钟频率 + U32 mode; /**< bit0-normal/listen_only, bit1-ISO/BOSCH */ + struct { + U8 tseg1; + U8 tseg2; + U8 sjw; + U8 smp; + U16 brp; + } aset; + struct { + U8 tseg1; + U8 tseg2; + U8 sjw; + U8 smp; + U16 brp; + } dset; +} ZCAN_INIT; + +/** CAN message info */ +typedef struct { + U32 txm : 4; /**< TX-mode, @see ZCAN_TX_MODE */ + U32 fmt : 4; /**< 0-CAN2.0, 1-CANFD */ + U32 sdf : 1; /**< 0-data_frame, 1-remote_frame */ + U32 sef : 1; /**< 0-std_frame, 1-ext_frame */ + U32 err : 1; /**< error flag */ + U32 brs : 1; /**< bit-rate switch */ + U32 est : 1; /**< error state */ + U32 tx : 1; /**< received valid, tx frame */ + U32 echo : 1; /**< tx valid, echo frame */ + U32 qsend_100us:1; /**< queue send delay unit, 1-100us, 0-ms */ + U32 qsend:1; /**< send valid, queue send frame */ + U32 pad : 15; +} ZCAN_MSG_INF; + +/** CAN message header */ +typedef struct { + U32 ts; /**< timestamp */ + U32 id; /**< CAN-ID */ + ZCAN_MSG_INF inf; /**< @see ZCAN_MSG_INF */ + U16 pad; /**< send queue delay */ + U8 chn; /**< channel */ + U8 len; /**< data length */ +} ZCAN_MSG_HDR; + +/** CAN2.0-frame */ +typedef struct { + ZCAN_MSG_HDR hdr; + U8 dat[8]; +} ZCAN_20_MSG; + +/** CANFD-frame */ +typedef struct { + ZCAN_MSG_HDR hdr; + U8 dat[64]; +} ZCAN_FD_MSG; + +// 错误帧 +typedef struct { + ZCAN_MSG_HDR hdr; + U8 dat[8]; +} ZCAN_ERR_MSG; + +// 定时发送结构体 +typedef struct { + U32 interval; // 定时发送周期,单位 100us + U16 repeat; // 发送次数,0等于循环发 + U8 index; // 定时发送列表的帧索引号,也就是第几条定时发送报文 + U8 flags; // 0-此帧禁用定时发送,1-此帧使能定时发送 + ZCAN_FD_MSG msg; // CANFD帧结构体 +} ZCAN_TTX; + +typedef struct { + U32 size; // 实际生效的数组的长度(用来控制实际生效多少条定时发送帧结构体) + ZCAN_TTX table[8]; // 最大设置8条 +} ZCAN_TTX_CFG; + +// 设备信息 +typedef struct { + U16 hwv; /**< hardware version */ + U16 fwv; /**< firmware version */ + U16 drv; /**< driver version */ + U16 api; /**< API version */ + U16 irq; /**< IRQ */ + U8 chn; /**< channels */ + U8 sn[20]; /**< serial number */ + U8 id[40]; /**< card id */ + U16 pad[4]; +} ZCAN_DEV_INF; + +/** controller status */ +typedef struct { + U8 IR; /**< not used(for backward compatibility) */ + U8 MOD; /**< not used */ + U8 SR; /**< not used */ + U8 ALC; /**< not used */ + U8 ECC; /**< not used */ + U8 EWL; /**< not used */ + U8 RXE; /**< RX errors */ + U8 TXE; /**< TX errors */ + U32 PAD; +} ZCAN_STAT; + +//lin begin +typedef struct _VCI_LIN_INIT_CONFIG +{ + U8 linMode; // 是否作为主机,0-从机,1-主机 + U8 chkSumMode; // 校验方式,1-经典校验 2-增强校验 3-自动(对应eZLINChkSumMode的模式) + U16 reserved; // 保留 + U32 linBaud; // 波特率,取值1000~20000 +}ZCAN_LIN_INIT_CONFIG, *PZCAN_LIN_INIT_CONFIG; + +typedef struct tagZCANLINData +{ + union{ + struct { + U8 ID : 6; // 帧ID + U8 Parity : 2; // 帧ID校验 + }unionVal; + U8 rawVal; // 受保护的ID原始值 + } PID; // 受保护的ID + struct + { + U64 timeStamp; // 时间戳,单位微秒(us) + U8 dataLen; // 数据长度 + U8 dir; // 传输方向,0-接收 1-发送 + U8 chkSum; // 数据校验, 部分设备不支持校验数据的获取 + U8 reserved[13]; // 保留 + U8 data[8]; // 数据 + }RxData; // 仅接收数据时有效 + U8 reserved[7]; // 保留 +}ZCANLINData; + +typedef struct tagZCANLINErrData +{ + U64 timeStamp; // 时间戳, 单位微秒(us) + union { + struct { + U8 ID : 6; // 帧ID + U8 Parity : 2; // 帧ID校验 + }unionVal; + U8 rawVal; // 受保护的ID原始值 + } PID; // 受保护的ID + U8 dataLen; + U8 data[8]; + union + { + struct + { + U16 errStage : 4; // 错误阶段 + U16 errReason : 4; // 错误原因 + U16 reserved : 8; // 保留 + }; + U16 unionErrData; + }errData; + U8 dir; // 传输方向 + U8 chkSum; // 数据校验, 部分设备不支持校验数据的获取 + U8 reserved[10]; // 保留 +}ZCANLINErrData; + +typedef struct _VCI_LIN_MSG{ + U8 chnl; // 数据通道 + U8 dataType; // 数据类型, 0-LIN数据 1-LIN错误数据 + union + { + ZCANLINData zcanLINData; // LIN数据 + ZCANLINErrData zcanLINErrData; // LIN错误数据 + U8 raw[46]; // RAW数据 + } data; // 实际数据, 联合体,有效成员根据 dataType 字段而定 +}ZCAN_LIN_MSG, *PZCAN_LIN_MSG; + +enum eZLINChkSumMode +{ + DEFAULT = 0, // 默认,启动时配置 + CLASSIC_CHKSUM, // 经典校验 + ENHANCE_CHKSUM, // 增强校验 + AUTOMATIC, // 自动,设备自动识别校验方式(仅ZCAN_SetLINSubscribe时有效) +}; +enum +{ + MAX_LIN_ID_COUNT = 63, + MIN_LIN_DLC = 1, + MAX_LIN_DLC = 8, + AUTO_LIN_DLC = 255, +}; +typedef struct _VCI_LIN_PUBLISH_CFG +{ + U8 ID; // 受保护的ID(ID取值范围为0-63) + U8 dataLen; // dataLen范围为1-8 + U8 data[8]; + U8 chkSumMode; // 校验方式,0-默认,启动时配置 1-经典校验 2-增强校验(对应eZLINChkSumMode的模式) + U8 reserved[5]; // 保留 +}ZCAN_LIN_PUBLISH_CFG, *PZCAN_LIN_PUBLISH_CFG; + +typedef struct _VCI_LIN_SUBSCIBE_CFG +{ + U8 ID; // 受保护的ID(ID取值范围为0-63) + U8 dataLen; // dataLen范围为1-8 当为255(0xff)则表示设备自动识别报文长度 + U8 chkSumMode; // 校验方式,0-默认,启动时配置 1-经典校验 2-增强校验 3-自动(对应eZLINChkSumMode的模式) + U8 reserved[5]; // 保留 +}ZCAN_LIN_SUBSCIBE_CFG, *PZCAN_LIN_SUBSCIBE_CFG; + +// 合并接收数据数据结构,支持CAN/CANFD/LIN/错误等不同类型数据 +typedef struct tagZCANDataObj +{ + U8 dataType; // 数据类型, 参考eZCANDataDEF中 数据类型 部分定义 + U8 chnl; // 数据通道 + union{ + struct{ + U16 reserved : 16; // 保留 + }unionVal; + U16 rawVal; + }flag; // 标志信息, 暂未使用 + U8 extraData[4]; // 额外数据, 暂未使用 + union + { + ZCAN_20_MSG zcanCANData; // CAN数据 + ZCAN_FD_MSG zcanCANFDData; // CANFD数据 + ZCAN_ERR_MSG zcanErrData; // 错误数据 + ZCANLINData zcanLINData; // LIN数据 + ZCANLINErrData zcanLINErrData; // LIN错误数据 + U8 raw[92]; // RAW数据 + } data; // 实际数据, 联合体,有效成员根据 dataType 字段而定 +}ZCANDataObj; + + +// UDS传输协议版本 +typedef U8 ZCAN_UDS_TRANS_VER; +#define ZCAN_UDS_TRANS_VER_0 0 // ISO15765-2(2004版本) +#define ZCAN_UDS_TRANS_VER_1 1 // ISO15765-2(2016版本) + +// 帧类型 +typedef U8 ZCAN_UDS_FRAME_TYPE; +#define ZCAN_UDS_FRAME_CAN 0 // CAN帧 +#define ZCAN_UDS_FRAME_CANFD 1 // CANFD帧 +#define ZCAN_UDS_FRAME_CANFD_BRS 2 // CANFD加速帧 + +// UDS填充模式 +#define FILL_MODE_SHORT 0 // 小于8字节填充至8字节,大于8字节时按DLC就近填充 +#define FILL_MODE_NONE 1 // 不填充 +#define FILL_MODE_MAX 2 // 填充至最大数据长度 (不建议) + +// CAN UDS请求数据 +typedef struct _ZCAN_UDS_REQUEST +{ + U32 req_id; // 请求事务ID,范围0~65535,本次请求的唯一标识 + U8 channel; // 设备通道索引 0~255 + ZCAN_UDS_FRAME_TYPE frame_type; // 帧类型 + U8 reserved0[2]; // 保留 + U32 src_addr; // 请求地址 + U32 dst_addr; // 响应地址 + U8 suppress_response; // 1:抑制响应 + U8 sid; // 请求服务id + U8 reserved1[6]; // 保留 + struct { + U32 timeout; // 响应超时时间(ms)。因PC定时器误差,建议设置不小于200ms + U32 enhanced_timeout; // 收到消极响应错误码为0x78后的超时时间(ms)。因PC定时器误差,建议设置不小于200ms + U8 check_any_negative_response:1; // 接收到非本次请求服务的消极响应时是否需要判定为响应错误 + U8 wait_if_suppress_response:1; // 抑制响应时是否需要等待消极响应,等待时长为响应超时时间 + U8 flag:6; // 保留 + U8 reserved0[7]; // 保留 + } session_param; // 会话层参数 + struct { + ZCAN_UDS_TRANS_VER version; // 传输协议版本, VERSION_0, VERSION_1 + U8 max_data_len; // 单帧最大数据长度, can:8, canfd:64 + U8 local_st_min; // 本程序发送流控时用,连续帧之间的最小间隔, 0x00-0x7F(0ms~127ms), 0xF1-0xF9(100us~900us) + U8 block_size; // 流控帧的块大小 + U8 fill_byte; // 无效字节的填充数据 + U8 ext_frame; // 0:标准帧 1:扩展帧 + U8 is_modify_ecu_st_min; // 是否忽略ECU返回流控的STmin,强制使用本程序设置的 remote_st_min + U8 remote_st_min; // 发送多帧时用, is_ignore_ecu_st_min = 1 时有效, 0x00-0x7F(0ms~127ms), 0xF1-0xF9(100us~900us) + U32 fc_timeout; // 接收流控超时时间(ms), 如发送首帧后需要等待回应流控帧 + U8 fill_mode; // 数据长度填充模式, FILL_MODE_SHORT, FILL_MODE_NONE, FILL_MODE_MAX + U8 reserved0[3]; // 保留 + } trans_param; // 传输层参数 + U8 *data; // 数据数组(不包含SID) + U32 data_len; // 数据数组的长度 + U32 reserved2; // 保留 +} ZCAN_UDS_REQUEST; + +// UDS错误码 +typedef U8 ZCAN_UDS_ERROR; +#define ZCAN_UDS_ERROR_OK 0 // 没错误 +#define ZCAN_UDS_ERROR_TIMEOUT 1 // 响应超时 +#define ZCAN_UDS_ERROR_TRANSPORT 2 // 发送数据失败 +#define ZCAN_UDS_ERROR_CANCEL 3 // 取消请求 +#define ZCAN_UDS_ERROR_SUPPRESS_RESPONSE 4 // 抑制响应 +#define ZCAN_UDS_ERROR_BUSY 5 // 忙碌中 +#define ZCAN_UDS_ERROR_REQ_PARAM 6 // 请求参数错误 +#define ZCAN_UDS_ERROR_OTHTER 100 + +typedef U8 ZCAN_UDS_RESPONSE_TYPE; +#define ZCAN_UDS_RT_NEGATIVE 0 // 消极响应 +#define ZCAN_UDS_RT_POSITIVE 1 // 积极响应 + +// UDS响应数据 +typedef struct _ZCAN_UDS_RESPONSE +{ + ZCAN_UDS_ERROR status; // 响应状态 + U8 reserved[6]; // 保留 + ZCAN_UDS_RESPONSE_TYPE type; // 响应类型 + union { + struct { + U8 sid; // 响应服务id + U32 data_len; // 数据长度(不包含SID), 数据存放在接口传入的dataBuf中 + } positive; + struct { + U8 neg_code; // 固定为0x7F + U8 sid; // 请求服务id + U8 error_code; // 错误码 + } negative; + U8 raw[8]; + }; +} ZCAN_UDS_RESPONSE; + +// UDS控制类型 +typedef U32 ZCAN_UDS_CTRL_CODE; +#define ZCAN_UDS_CTRL_STOP_REQ 0 // 停止UDS请求 + +// UDS控制请求 +typedef struct _ZCAN_UDS_CTRL_REQ +{ + U32 reqID; // 请求事务ID,指明要操作哪一条请求 + ZCAN_UDS_CTRL_CODE cmd; // 控制类型 + U8 reserved[8]; // 保留 +} ZCAN_UDS_CTRL_REQ; + +// UDS控制结果 +typedef U32 ZCAN_UDS_CTRL_RESULT; +#define ZCAN_UDS_CTRL_RESULT_OK 0 // 成功 +#define ZCAN_UDS_CTRL_RESULT_ERR 1 // 失败 + +// UDS控制响应数据 +typedef struct _ZCAN_UDS_CTRL_RESP +{ + ZCAN_UDS_CTRL_RESULT result; // 操作结果 + U8 reserved[8]; // 保留 +} ZCAN_UDS_CTRL_RESP; + +#pragma pack(pop) + +// +EXTERN_C U32 ZCAN_API VCI_OpenDevice(U32 Type, U32 Card, U32 Reserved); +EXTERN_C U32 ZCAN_API VCI_CloseDevice(U32 Type, U32 Card); +EXTERN_C U32 ZCAN_API VCI_InitCAN(U32 Type, U32 Card, U32 Port, ZCAN_INIT *pInit); +EXTERN_C U32 ZCAN_API VCI_ReadBoardInfo(U32 Type, U32 Card, ZCAN_DEV_INF *pInfo); +EXTERN_C U32 ZCAN_API VCI_ReadErrInfo(U32 Type, U32 Card, U32 Port, ZCAN_ERR_MSG *pErr); +EXTERN_C U32 ZCAN_API VCI_ReadCANStatus(U32 Type, U32 Card, U32 Port, ZCAN_STAT *pStat); +EXTERN_C U32 ZCAN_API VCI_GetReference(U32 Type, U32 Card, U32 Port, U32 Ref, void *pData); +EXTERN_C U32 ZCAN_API VCI_SetReference(U32 Type, U32 Card, U32 Port, U32 Ref, void *pData); +EXTERN_C U32 ZCAN_API VCI_GetReceiveNum(U32 Type, U32 Card, U32 Port); +EXTERN_C U32 ZCAN_API VCI_ClearBuffer(U32 Type, U32 Card, U32 Port); +EXTERN_C U32 ZCAN_API VCI_StartCAN(U32 Type, U32 Card, U32 Port); +EXTERN_C U32 ZCAN_API VCI_ResetCAN(U32 Type, U32 Card, U32 Port); +EXTERN_C U32 ZCAN_API VCI_Transmit(U32 Type, U32 Card, U32 Port, ZCAN_20_MSG *pData, U32 Count); +EXTERN_C U32 ZCAN_API VCI_TransmitFD(U32 Type, U32 Card, U32 Port, ZCAN_FD_MSG *pData, U32 Count); +EXTERN_C U32 ZCAN_API VCI_Receive(U32 Type, U32 Card, U32 Port, ZCAN_20_MSG *pData, U32 Count, U32 Time); +EXTERN_C U32 ZCAN_API VCI_ReceiveFD(U32 Type, U32 Card, U32 Port, ZCAN_FD_MSG *pData, U32 Count, U32 Time); +EXTERN_C U32 ZCAN_API VCI_Debug(U32 Debug); + +// LIN +EXTERN_C U32 VCI_InitLIN(U32 Type, U32 Card, U32 LinChn, PZCAN_LIN_INIT_CONFIG pLINInitConfig); +EXTERN_C U32 VCI_StartLIN(U32 Type, U32 Card, U32 LinChn); +EXTERN_C U32 VCI_ResetLIN(U32 Type, U32 Card, U32 LinChn); +EXTERN_C U32 VCI_TransmitLIN(U32 Type, U32 Card, U32 LinChn, PZCAN_LIN_MSG pSend, U32 Len); +EXTERN_C U32 VCI_GetLINReceiveNum(U32 Type, U32 Card, U32 LinChn); +EXTERN_C U32 VCI_ClearLINBuffer(U32 Type, U32 Card, U32 LinChn); +EXTERN_C U32 VCI_ReceiveLIN(U32 Type, U32 Card, U32 LinChn, PZCAN_LIN_MSG pReceive, U32 Len,int WaitTime); +EXTERN_C U32 VCI_SetLINSubscribe(U32 Type, U32 Card, U32 LinChn, PZCAN_LIN_SUBSCIBE_CFG pSend, U32 nSubscribeCount); +EXTERN_C U32 VCI_SetLINPublish(U32 Type, U32 Card, U32 LinChn, PZCAN_LIN_PUBLISH_CFG pSend, U32 nPublishCount); + +// 合并接收 +EXTERN_C U32 VCI_TransmitData(unsigned Type, unsigned Card, unsigned Port, ZCANDataObj *pData, unsigned Count); +EXTERN_C U32 VCI_ReceiveData(unsigned Type, unsigned Card, unsigned Port, ZCANDataObj *pData, unsigned Count, unsigned Time); + +// UDS +EXTERN_C U32 VCI_UDS_Request(unsigned Type, unsigned Card, const ZCAN_UDS_REQUEST *req, ZCAN_UDS_RESPONSE *resp, U8 *dataBuf, U32 dataBufSize); +EXTERN_C U32 VCI_UDS_Control(unsigned Type, unsigned Card, const ZCAN_UDS_CTRL_REQ *ctrl, ZCAN_UDS_CTRL_RESP *resp); diff --git a/orin/README.md b/orin/README.md index ca62f85..c40305f 100644 --- a/orin/README.md +++ b/orin/README.md @@ -1,22 +1,17 @@ -# Orin 可直接运行目录 +# Orin 惰性推理运行包(C++) -本目录包含实际在 Jetson AGX Orin 上编译的 aarch64 程序和 TensorRT FP16 引擎。 -目标环境:L4T R35.4.1 / JetPack 5.1.2,CUDA 11.4,TensorRT 8.5.2,OpenCV 4.5.4。 -使用系统安装的 CUDA、TensorRT、OpenCV 共享库;不适用于任意 JetPack 版本或 x86 主机。 +在 JetPack 5.1.2 / TensorRT 8.5 / CUDA 11.4 / OpenCV 4.5 环境执行: ```bash -cd orin -sha256sum -c SHA256SUMS -./scripts/initialize_camera.sh +./scripts/initialize_camera.sh # 摄像头未初始化时 ./run.sh +./run.sh --visualize # 可选窗口 ``` -可视化可选:`./run.sh --visualize`,需要板端本地桌面 DISPLAY。 -默认持续推理直到 Ctrl+C / SIGTERM;正常退出没有统计输出。 -预览窗口关闭后推理继续。结果通过 C++ CameraPipeline::latest() 获取,不通过端口或结果文件传递。 +`build/camera_risk` 为 ARM64 ELF 程序,无 Python 运行依赖。 -程序为 build/camera_risk,配置为 config/camera.json,引擎为 engines/*.engine。 -./run.sh 从所在目录解析路径,也可以在其他工作目录通过绝对路径调用。 +CAN 0x391 的 data[0..3] 为左前、右前、左后、右后百分比。左前或左后开度 <15% 且正在增加或减小时推理;其余有效 CAN 状态暂停。CAN 缺失或超时 1000 ms 时推理,恢复后重新判断。 -bin/drivers 中 GMSL 模块对应内核 5.10.120-tegra。初始化脚本检查内核版本;加载模块需要 root 或现有 sudo 权限。 -门区保留当前室内联调设置,door.calibration_verified=false。 +模型只加载预热一次并常驻;相机和 CAN 始终运行。重复相同开度保留运动方向 300 ms,之后视为静止。参数见 config/camera.json 的 lazy_inference。默认结果保存在 C++ 内存,不写逐帧文件;暂停时 latest() 为空。标准输出记录启停状态与累计模型运行次数。 + +文件完整性:`sha256sum -c SHA256SUMS`。 diff --git a/orin/SHA256SUMS b/orin/SHA256SUMS index 6034f9e..4d682c1 100644 --- a/orin/SHA256SUMS +++ b/orin/SHA256SUMS @@ -1,11 +1,13 @@ -926a5165a4ebffe9568cf694018afb097cfb69b6e696a19939e5d364a9e3dfa5 README.md -6d5e874fd27fcfd75d303d7e35d9672028af71041f52dcc82a1e83676faefa65 bin/drivers/max9295.ko -8a78d04ef8be44e9b62a5e4ee315d3d6d679e34aedff02a234bbf4d40e222933 bin/drivers/max9296.ko -3da628587477cc35d5e3f8aee86e718e2ddf16808e893e00ba6e164b2307e843 bin/drivers/sgx-yuv-gmsl2.ko -b5102fe0a529349bb8e9700ae1d8e8ddeaa7c4279cb28e7826c5cc32dce2bb1d build/camera_risk -f2334c43e6a48480260c770d46a3ab0edb855f6f52bc8b91d1559e69edfad043 config/camera.json -9ba768d559fd3b64e833b50c62c70f2adfd6c169620aea5fba32cfb1b4c5b0e9 config/door_mask.json -ebcd09e8c2e35008adbb0c1d222e580b17e0df1c8093df3481ba3374cd9a8174 engines/rtmw_l_384.engine -f6a65b926ac1144484f4aa93cd26d7997d32d62310ab93fe867f2bd4412222e9 engines/yolo11s.engine -7f42b0e7f9396e0d82313a892fc62c153261dab1206a206a466bce6376f58a36 run.sh -54e1d63e3aa72ad9b056a224d55968d4947ca6703a8d1c405570de5707a7e7ef scripts/initialize_camera.sh +cc83bfe41b66445843ef56b535e267939ed7944869474ca5aed6908f981b4687 ./README.md +6d5e874fd27fcfd75d303d7e35d9672028af71041f52dcc82a1e83676faefa65 ./bin/drivers/max9295.ko +8a78d04ef8be44e9b62a5e4ee315d3d6d679e34aedff02a234bbf4d40e222933 ./bin/drivers/max9296.ko +3da628587477cc35d5e3f8aee86e718e2ddf16808e893e00ba6e164b2307e843 ./bin/drivers/sgx-yuv-gmsl2.ko +9b467b4caf53d5cc5cdb5f71687e246146c05ef72fc7d7c593681409f63eec70 ./build/camera_risk +951c514ee76e10233a84746f25a884e0a1e8cbed84df57845a5aff66af9aecbd ./config/camera.json +9ba768d559fd3b64e833b50c62c70f2adfd6c169620aea5fba32cfb1b4c5b0e9 ./config/door_mask.json +ebcd09e8c2e35008adbb0c1d222e580b17e0df1c8093df3481ba3374cd9a8174 ./engines/rtmw_l_384.engine +f6a65b926ac1144484f4aa93cd26d7997d32d62310ab93fe867f2bd4412222e9 ./engines/yolo11s.engine +8dae8c557deadbe6bd7241c0dcd7025cb007077ee39a79b115e953a2b22cd9c1 ./lib/libusb-1.0.so +ab8b7f7249d5fb73d1d33d14fa7532a522088ffb6c25f37ba334daf4c6b4d313 ./lib/libusbcanfd.so +a0b083ad029fd6430941f5aff472150c441f7d5c4b6d7f201ed1999f0f86095a ./run.sh +9122cd4ed17fb26da1cb3f9456f923508430a518eb346c5038919d4475d8d2e8 ./scripts/initialize_camera.sh diff --git a/orin/build/camera_risk b/orin/build/camera_risk index 276b22c3ef1a72eb39fccf579c34880499bef9d6..c57dd892fb46bfac3c6ff3225f47941d26a46b81 100755 GIT binary patch delta 271043 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