122 lines
6.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ScrewPositionConfig>
<!-- 摄像头配置:两台相机 -->
<Cameras>
<Camera name="Camera1" ip="192.168.1.100" index="1"/>
<Camera name="Camera2" ip="192.168.1.101" index="2"/>
</Cameras>
<!-- 多相机平面校准(相机级共享,不随检测对象切换) -->
<PlaneCalibParams>
<CameraCalibParam cameraIndex="1" cameraName="Camera1" isCalibrated="false"
planeHeight="0.0"
planeCalib_00="1.0" planeCalib_01="0.0" planeCalib_02="0.0"
planeCalib_10="0.0" planeCalib_11="1.0" planeCalib_12="0.0"
planeCalib_20="0.0" planeCalib_21="0.0" planeCalib_22="1.0"
invRMatrix_00="1.0" invRMatrix_01="0.0" invRMatrix_02="0.0"
invRMatrix_10="0.0" invRMatrix_11="1.0" invRMatrix_12="0.0"
invRMatrix_20="0.0" invRMatrix_21="0.0" invRMatrix_22="1.0" />
<CameraCalibParam cameraIndex="2" cameraName="Camera2" isCalibrated="false"
planeHeight="0.0"
planeCalib_00="1.0" planeCalib_01="0.0" planeCalib_02="0.0"
planeCalib_10="0.0" planeCalib_11="1.0" planeCalib_12="0.0"
planeCalib_20="0.0" planeCalib_21="0.0" planeCalib_22="1.0"
invRMatrix_00="1.0" invRMatrix_01="0.0" invRMatrix_02="0.0"
invRMatrix_10="0.0" invRMatrix_11="1.0" invRMatrix_12="0.0"
invRMatrix_20="0.0" invRMatrix_21="0.0" invRMatrix_22="1.0" />
</PlaneCalibParams>
<!-- 4 套 (相机, 对象) 独立配置:每条都含一份手眼矩阵 + 一份算法参数 -->
<DetectionConfigs>
<!-- Camera 1 - 螺杆 -->
<DetectionConfig cameraIndex="1" detectionType="screw">
<HandEyeCalibMatrix cameraIndex="1"
m0="1" m1="0" m2="0" m3="0"
m4="0" m5="1" m6="0" m7="0"
m8="0" m9="0" m10="1" m11="0"
m12="0" m13="0" m14="0" m15="1"
eulerOrder="11" rotX="0" rotY="0" rotZ="0"
approachOffset="0" offsetX="0" offsetY="0" offsetZ="0"
outRotX="0" outRotY="0" outRotZ="14.56" />
<AlgorithmParams>
<ScrewParam rodDiameter="10.0" isHorizonScan="true" />
<FilterParam continuityTh="20.0" outlierTh="5.0" />
<CornerParam cornerTh="60.0" scale="50.0" minEndingGap="20.0" minEndingGap_z="20.0"
jumpCornerTh_1="10.0" jumpCornerTh_2="60.0" />
<GrowParam maxLineSkipNum="10" yDeviation_max="10.0" maxSkipDistance="10.0"
zDeviation_max="10.0" minLTypeTreeLen="100.0" minVTypeTreeLen="100.0" />
</AlgorithmParams>
</DetectionConfig>
<!-- Camera 1 - 工具盘 -->
<DetectionConfig cameraIndex="1" detectionType="toolDisk">
<HandEyeCalibMatrix cameraIndex="1"
m0="1" m1="0" m2="0" m3="0"
m4="0" m5="1" m6="0" m7="0"
m8="0" m9="0" m10="1" m11="0"
m12="0" m13="0" m14="0" m15="1"
eulerOrder="11" rotX="0" rotY="0" rotZ="0"
approachOffset="0" offsetX="0" offsetY="0" offsetZ="0"
outRotX="0" outRotY="0" outRotZ="14.56" />
<AlgorithmParams>
<ScrewParam rodDiameter="10.0" isHorizonScan="true" />
<FilterParam continuityTh="20.0" outlierTh="5.0" />
<CornerParam cornerTh="60.0" scale="50.0" minEndingGap="20.0" minEndingGap_z="20.0"
jumpCornerTh_1="10.0" jumpCornerTh_2="60.0" />
<GrowParam maxLineSkipNum="10" yDeviation_max="10.0" maxSkipDistance="10.0"
zDeviation_max="10.0" minLTypeTreeLen="100.0" minVTypeTreeLen="100.0" />
</AlgorithmParams>
</DetectionConfig>
<!-- Camera 2 - 螺杆 -->
<DetectionConfig cameraIndex="2" detectionType="screw">
<HandEyeCalibMatrix cameraIndex="2"
m0="1" m1="0" m2="0" m3="0"
m4="0" m5="1" m6="0" m7="0"
m8="0" m9="0" m10="1" m11="0"
m12="0" m13="0" m14="0" m15="1"
eulerOrder="11" rotX="0" rotY="0" rotZ="0"
approachOffset="0" offsetX="0" offsetY="0" offsetZ="0"
outRotX="0" outRotY="0" outRotZ="14.56" />
<AlgorithmParams>
<ScrewParam rodDiameter="10.0" isHorizonScan="true" />
<FilterParam continuityTh="20.0" outlierTh="5.0" />
<CornerParam cornerTh="60.0" scale="50.0" minEndingGap="20.0" minEndingGap_z="20.0"
jumpCornerTh_1="10.0" jumpCornerTh_2="60.0" />
<GrowParam maxLineSkipNum="10" yDeviation_max="10.0" maxSkipDistance="10.0"
zDeviation_max="10.0" minLTypeTreeLen="100.0" minVTypeTreeLen="100.0" />
</AlgorithmParams>
</DetectionConfig>
<!-- Camera 2 - 工具盘 -->
<DetectionConfig cameraIndex="2" detectionType="toolDisk">
<HandEyeCalibMatrix cameraIndex="2"
m0="1" m1="0" m2="0" m3="0"
m4="0" m5="1" m6="0" m7="0"
m8="0" m9="0" m10="1" m11="0"
m12="0" m13="0" m14="0" m15="1"
eulerOrder="11" rotX="0" rotY="0" rotZ="0"
approachOffset="0" offsetX="0" offsetY="0" offsetZ="0"
outRotX="0" outRotY="0" outRotZ="14.56" />
<AlgorithmParams>
<ScrewParam rodDiameter="10.0" isHorizonScan="true" />
<FilterParam continuityTh="20.0" outlierTh="5.0" />
<CornerParam cornerTh="60.0" scale="50.0" minEndingGap="20.0" minEndingGap_z="20.0"
jumpCornerTh_1="10.0" jumpCornerTh_2="60.0" />
<GrowParam maxLineSkipNum="10" yDeviation_max="10.0" maxSkipDistance="10.0"
zDeviation_max="10.0" minLTypeTreeLen="100.0" minVTypeTreeLen="100.0" />
</AlgorithmParams>
</DetectionConfig>
</DetectionConfigs>
<!-- 调试参数 -->
<DebugParam enableDebug="true" savePointCloud="false" saveDebugImage="false" printDetailLog="true" debugOutputPath="" />
<!-- 串口配置 -->
<SerialConfig portName="COM6" baudRate="115200" dataBits="8" stopBits="1" parity="0" flowControl="0" enabled="false" />
<!-- TCP端口 -->
<NetworkConfig tcpServerPort="7800" poseOutputOrder="0" byteOrder="0" />
<TCP port="7800" />
</ScrewPositionConfig>