2.8 KiB
2.8 KiB
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