杰仔 ae2f795d2c 初步的页面和流程
TestDATA的增加
ARM版本初步编译(代码通过,缺少opencv)
2025-06-17 00:37:05 +08:00

2.8 KiB
Raw Blame History

graph TB subgraph "真实算法检测流程" Start[开始检测任务] --> GetCache[获取缓存的点云数据
m_detectionDataCache] GetCache --> CheckEmpty{是否有缓存数据?} CheckEmpty -->|否| ReturnError[返回错误:
无缓存的检测数据] CheckEmpty -->|是| Convert[数据格式转换
SVzLaserLineData → SVzNL3DLaserLine]

    Convert --> SetParam[设置算法参数<br/>SG_bagPositionParam]
    SetParam --> SetBagParam[编织袋参数<br/>L=650, W=450, H=160]
    SetBagParam --> SetFilterParam[滤波参数<br/>continuityTh=20.0, outlierTh=5]
    SetFilterParam --> SetFeatureParam[特征参数<br/>角点/斜率参数]
    SetFeatureParam --> SetGrowParam[增长参数<br/>maxLineSkipNum=5等]
    
    SetGrowParam --> SetCalibParam[设置校准参数<br/>SSG_planeCalibPara]
    SetCalibParam --> PreProcess[数据预处理<br/>sg_lineDataR调平和去地面]
    PreProcess --> CallAlgo[调用算法检测<br/>sg_getBagPosition]
    
    CallAlgo --> ConvertResult[转换检测结果<br/>SSG_peakRgnInfo → DetectionResult]
    ConvertResult --> FreeMemory[释放内存<br/>laser3DPoints]
    
    FreeMemory --> CheckResult{检测到目标?}
    CheckResult -->|是| UpdateUI[更新UI显示结果<br/>OnDetectionResult]
    CheckResult -->|否| NoTarget[显示未发现目标]
    
    UpdateUI --> UpdateRobot[更新机械臂坐标<br/>第一个目标位置]
    NoTarget --> Complete[完成检测任务]
    UpdateRobot --> Complete
    Complete --> Ready[恢复就绪状态]
end

subgraph "数据转换详情"
    SourceData[SVzLaserLineData<br/>相机回调数据] --> TargetData[SVzNL3DLaserLine<br/>算法输入格式]
    SourceData --> CopyTime[复制时间戳<br/>nTimeStamp]
    SourceData --> CopyCount[复制点数<br/>nPointCount]
    SourceData --> CopyPoints[复制3D点坐标<br/>x, y, z]
end

subgraph "算法参数配置"
    BagSize[袋子尺寸<br/>650×450×160mm]
    FilterParams[滤波参数<br/>噪声阈值]
    FeatureParams[特征参数<br/>角点/斜率检测]
    GrowParams[增长参数<br/>连接阈值]
end

classDef processClass fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef dataClass fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef algoClass fill:#e8f5e8,stroke:#388e3c,stroke-width:2px
classDef resultClass fill:#fff3e0,stroke:#f57c00,stroke-width:2px

class Start,GetCache,Convert,SetParam,PreProcess,CallAlgo,ConvertResult,FreeMemory,Complete,Ready processClass
class SourceData,TargetData,CopyTime,CopyCount,CopyPoints dataClass
class BagSize,FilterParams,FeatureParams,GrowParams algoClass
class UpdateUI,UpdateRobot,NoTarget resultClass