53 lines
2.8 KiB
Markdown
53 lines
2.8 KiB
Markdown
|
|
graph TB
|
|||
|
|
subgraph "真实算法检测流程"
|
|||
|
|
Start[开始检测任务] --> GetCache[获取缓存的点云数据<br/>m_detectionDataCache]
|
|||
|
|
GetCache --> CheckEmpty{是否有缓存数据?}
|
|||
|
|
CheckEmpty -->|否| ReturnError[返回错误:<br/>无缓存的检测数据]
|
|||
|
|
CheckEmpty -->|是| Convert[数据格式转换<br/>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
|