weitere Analysen

This commit is contained in:
chk
2026-05-30 07:52:59 +02:00
parent dd95d56790
commit 452501467e
40 changed files with 40057 additions and 108 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,73 @@
import json
import math
import argparse
def calculate_distance(point1, point2):
"""Berechnet den euklidischen Abstand zwischen zwei 3D-Punkten."""
return math.sqrt(sum([(a - b) ** 2 for a, b in zip(point1, point2)]))
def analyze_marker_detection(detected_markers_file, original_markers_file):
"""Analysiert die Markererkennung und gibt Erkennungsrate und Genauigkeit aus."""
with open(detected_markers_file, 'r') as f:
detected_data = json.load(f)
with open(original_markers_file, 'r') as f:
original_data = json.load(f)
detected_marker_ids = {marker['marker_id'] for marker in detected_data['markers']}
original_marker_ids = {marker['id'] for marker in original_data}
# Erkannte und nicht erkannte Marker
recognized_markers = len(detected_marker_ids.intersection(original_marker_ids))
missing_markers = len(original_marker_ids.difference(detected_marker_ids))
# Distanzen berechnen
distances = []
for original_marker in original_data:
marker_id = original_marker['id']
# Gefundener Marker suchen
detected_marker = next((m for m in detected_data['markers'] if m['marker_id'] == marker_id), None)
if detected_marker:
distance = calculate_distance(original_marker['position_m'], detected_marker['position_m'])
distances.append(distance)
if not distances:
print("Keine gemeinsamen Marker gefunden, um die Genauigkeit zu bewerten.")
return
# Statistiken berechnen
distances.sort()
mean_distance = sum(distances) / len(distances)
# 90%-Radius
n = len(distances)
index_90 = int(0.9 * n) - 1
radius_90 = distances[index_90]
# 80%-Radius
index_80 = int(0.8 * n) - 1
radius_80 = distances[index_80]
# Schlechtester Abstand
worst_distance = distances[-1]
print(f"Erkannte Marker: {recognized_markers}")
print(f"Nicht erkannte Marker: {missing_markers}")
print(f"Gesamtzahl der Original-Marker: {len(original_marker_ids)}")
print(f"Erkennungsrate: {recognized_markers / len(original_marker_ids) * 100:.2f}%")
print(f"Gemittelter 3D-Abstand: {mean_distance:.4f}m")
print(f"90%-Radius: {radius_90:.4f}m")
print(f"80%-Radius: {radius_80:.4f}m")
print(f"Schlechtester Abstand: {worst_distance:.4f}m")
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Analysiert die Markererkennung.")
parser.add_argument("detected_file", help="Pfad zur JSON-Datei mit den erkannten Markern.")
parser.add_argument("original_file", help="Pfad zur JSON-Datei mit den originalen Markern.")
args = parser.parse_args()
analyze_marker_detection(args.detected_file, args.original_file)

View File

@@ -1,11 +1,11 @@
{
"schema_version": "1.1",
"schema_version": "1.2",
"stage": "initial_triangulation",
"created_utc": "2026-05-29T11:11:53Z",
"created_utc": "2026-05-29T17:30:29Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 31
"num_constraints": 25
},
"markers": [
{

View File

@@ -1,121 +1,121 @@
{
"schema_version": "1.1",
"created_utc": "2026-05-29T11:11:54Z",
"schema_version": "1.2",
"created_utc": "2026-05-29T17:30:30Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 31
"num_constraints": 25
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.17089422820567965,
-0.25275415672150703,
0.17641525453920115
0.16408414603046484,
-0.2598816877789887,
0.17784668754227578
],
"position_mm": [
170.89422820567964,
-252.75415672150703,
176.41525453920116
164.08414603046484,
-259.8816877789887,
177.8466875422758
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.0782893264155328,
-0.04392881888831051,
0.12370444588754521
0.11704671868929717,
-0.05006352997427808,
0.13545744846179997
],
"position_mm": [
78.2893264155328,
-43.92881888831051,
123.70444588754522
117.04671868929717,
-50.063529974278076,
135.45744846179997
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.09810874978803365,
0.04840357531258377,
-0.061619957949719154
0.019883267288547467,
-0.019568887683375974,
-6.02159742251129e-05
],
"position_mm": [
98.10874978803365,
48.40357531258377,
-61.61995794971915
19.883267288547465,
-19.568887683375973,
-0.0602159742251129
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.26424764035228315,
-0.0563864907759364,
0.05844872874629282
0.24989200282636703,
-0.009772675866705374,
1.0334501290569615e-05
],
"position_mm": [
264.24764035228316,
-56.3864907759364,
58.448728746292815
249.89200282636702,
-9.772675866705374,
0.010334501290569615
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.34990989719464827,
-0.024224263154301,
0.01810457272024633
0.34989199483349664,
-0.009735514620349328,
1.4271508683918328e-05
],
"position_mm": [
349.9098971946483,
-24.224263154301,
18.10457272024633
349.89199483349665,
-9.735514620349328,
0.014271508683918327
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24658646632630482,
-0.07931906684450687,
-0.016131019201613698
0.24981646807454147,
-0.08977263518943693,
-1.508171313798581e-05
],
"position_mm": [
246.58646632630482,
-79.31906684450688,
-16.131019201613697
249.81646807454146,
-89.77263518943693,
-0.01508171313798581
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.1138713279648291,
-0.12617149104964914,
0.1320972625673932
0.11773154751353263,
-0.13967941405892637,
0.1437326114716167
],
"position_mm": [
113.8713279648291,
-126.17149104964915,
132.09726256739322
117.73154751353262,
-139.67941405892637,
143.7326114716167
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.1181663829394805,
-0.16401370137352922,
0.1004795056960036
0.11835862963107012,
-0.16963843269272738,
0.10433506872776273
],
"position_mm": [
118.1663829394805,
-164.01370137352922,
100.4795056960036
118.35862963107012,
-169.63843269272738,
104.33506872776273
],
"link": "Arm1"
}

View File

@@ -0,0 +1,95 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T17:28:02Z",
"summary": {
"num_cameras": 2,
"num_markers": 6,
"num_constraints": 124
},
"markers": [
{
"marker_id": 101,
"position_m": [
0.2763032509383358,
-0.2695119989339591,
0.20699150350169354
],
"position_mm": [
276.3032509383358,
-269.5119989339591,
206.99150350169353
],
"link": "Arm2"
},
{
"marker_id": 124,
"position_m": [
0.2793537536854657,
-0.19507589060009986,
0.20575080844610052
],
"position_mm": [
279.35375368546573,
-195.07589060009985,
205.75080844610054
],
"link": "Arm2"
},
{
"marker_id": 211,
"position_m": [
0.2504668030892929,
-0.009744842404164922,
0.00036153034259814553
],
"position_mm": [
250.4668030892929,
-9.744842404164922,
0.36153034259814554
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.2505650600131585,
-0.08974350678317572,
-7.314160355311047e-05
],
"position_mm": [
250.56506001315847,
-89.74350678317572,
-0.07314160355311047
],
"link": "Board"
},
{
"marker_id": 217,
"position_m": [
0.6505649424117744,
-0.08925113206211865,
5.944202640911437e-06
],
"position_mm": [
650.5649424117744,
-89.25113206211866,
0.005944202640911437
],
"link": "Board"
},
{
"marker_id": 243,
"position_m": [
0.22189116732597133,
-0.11814767263539784,
0.2410348899290192
],
"position_mm": [
221.89116732597134,
-118.14767263539784,
241.0348899290192
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,95 @@
{
"schema_version": "1.2",
"created_utc": "2026-05-29T17:27:22Z",
"summary": {
"num_cameras": 2,
"num_markers": 6,
"num_constraints": 25
},
"markers": [
{
"marker_id": 101,
"position_m": [
0.27925522736880354,
-0.26810432660177613,
0.20675746626010996
],
"position_mm": [
279.25522736880356,
-268.1043266017761,
206.75746626010996
],
"link": "Arm2"
},
{
"marker_id": 124,
"position_m": [
0.27817972721745543,
-0.198693114830424,
0.20728978938475356
],
"position_mm": [
278.1797272174554,
-198.693114830424,
207.28978938475356
],
"link": "Arm2"
},
{
"marker_id": 211,
"position_m": [
0.25188564339287434,
-0.009996760415642205,
8.624190819127337e-06
],
"position_mm": [
251.88564339287433,
-9.996760415642205,
0.008624190819127337
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24918266331600872,
-0.08994956851968179,
0.0004979860645055631
],
"position_mm": [
249.18266331600873,
-89.94956851968179,
0.49798606450556304
],
"link": "Board"
},
{
"marker_id": 217,
"position_m": [
0.6508078605096576,
-0.08875098840686577,
-0.00019743032075163398
],
"position_mm": [
650.8078605096575,
-88.75098840686577,
-0.19743032075163397
],
"link": "Board"
},
{
"marker_id": 243,
"position_m": [
0.22189115068314824,
-0.11814766370925495,
0.24103488459175698
],
"position_mm": [
221.89115068314825,
-118.14766370925494,
241.034884591757
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,95 @@
{
"schema_version": "1.2",
"created_utc": "2026-05-29T17:25:57Z",
"summary": {
"num_cameras": 2,
"num_markers": 6,
"num_constraints": 25
},
"markers": [
{
"marker_id": 101,
"position_m": [
0.27925522736880354,
-0.26810432660177613,
0.20675746626010996
],
"position_mm": [
279.25522736880356,
-268.1043266017761,
206.75746626010996
],
"link": "Arm2"
},
{
"marker_id": 124,
"position_m": [
0.27817972721745543,
-0.198693114830424,
0.20728978938475356
],
"position_mm": [
278.1797272174554,
-198.693114830424,
207.28978938475356
],
"link": "Arm2"
},
{
"marker_id": 211,
"position_m": [
0.25188564339287434,
-0.009996760415642205,
8.624190819127337e-06
],
"position_mm": [
251.88564339287433,
-9.996760415642205,
0.008624190819127337
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24918266331600872,
-0.08994956851968179,
0.0004979860645055631
],
"position_mm": [
249.18266331600873,
-89.94956851968179,
0.49798606450556304
],
"link": "Board"
},
{
"marker_id": 217,
"position_m": [
0.6508078605096576,
-0.08875098840686577,
-0.00019743032075163398
],
"position_mm": [
650.8078605096575,
-88.75098840686577,
-0.19743032075163397
],
"link": "Board"
},
{
"marker_id": 243,
"position_m": [
0.22189115068314824,
-0.11814766370925495,
0.24103488459175698
],
"position_mm": [
221.89115068314825,
-118.14766370925494,
241.034884591757
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,123 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T15:46:21Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 124
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.17089422822056546,
-0.2527541571654684,
0.1764152549940555
],
"position_mm": [
170.89422822056545,
-252.7541571654684,
176.4152549940555
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.11820089366496654,
-0.047715698517725044,
0.13484286562398873
],
"position_mm": [
118.20089366496654,
-47.715698517725045,
134.84286562398873
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.019901746801512552,
-0.01963466568686263,
9.617252287009137e-06
],
"position_mm": [
19.90174680151255,
-19.63466568686263,
0.009617252287009137
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.2499096083027387,
-0.009818013466186716,
7.989879668767411e-05
],
"position_mm": [
249.9096083027387,
-9.818013466186716,
0.0798987966876741
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.34990956338036805,
-0.009897723013002886,
0.00018350870434418896
],
"position_mm": [
349.90956338036807,
-9.897723013002885,
0.18350870434418895
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.2498458511342522,
-0.08981799167832137,
8.390710569292869e-05
],
"position_mm": [
249.8458511342522,
-89.81799167832138,
0.08390710569292868
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.11749065839320026,
-0.1374999325479895,
0.14103531578996023
],
"position_mm": [
117.49065839320026,
-137.49993254798952,
141.03531578996024
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.11810035461313918,
-0.17482765345663995,
0.10853212348806678
],
"position_mm": [
118.10035461313919,
-174.82765345663995,
108.53212348806677
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,123 @@
{
"schema_version": "1.1",
"created_utc": "2026-05-29T11:11:54Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 31
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.17089422820567965,
-0.25275415672150703,
0.17641525453920115
],
"position_mm": [
170.89422820567964,
-252.75415672150703,
176.41525453920116
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.0782893264155328,
-0.04392881888831051,
0.12370444588754521
],
"position_mm": [
78.2893264155328,
-43.92881888831051,
123.70444588754522
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.09810874978803365,
0.04840357531258377,
-0.061619957949719154
],
"position_mm": [
98.10874978803365,
48.40357531258377,
-61.61995794971915
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.26424764035228315,
-0.0563864907759364,
0.05844872874629282
],
"position_mm": [
264.24764035228316,
-56.3864907759364,
58.448728746292815
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.34990989719464827,
-0.024224263154301,
0.01810457272024633
],
"position_mm": [
349.9098971946483,
-24.224263154301,
18.10457272024633
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24658646632630482,
-0.07931906684450687,
-0.016131019201613698
],
"position_mm": [
246.58646632630482,
-79.31906684450688,
-16.131019201613697
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.1138713279648291,
-0.12617149104964914,
0.1320972625673932
],
"position_mm": [
113.8713279648291,
-126.17149104964915,
132.09726256739322
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.1181663829394805,
-0.16401370137352922,
0.1004795056960036
],
"position_mm": [
118.1663829394805,
-164.01370137352922,
100.4795056960036
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,123 @@
{
"schema_version": "1.2",
"created_utc": "2026-05-29T16:16:41Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 31
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.1640841460387451,
-0.25988168778348236,
0.1778466875479601
],
"position_mm": [
164.0841460387451,
-259.88168778348233,
177.8466875479601
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.07976244041440077,
-0.038576018828714795,
0.11487315663801236
],
"position_mm": [
79.76244041440077,
-38.576018828714794,
114.87315663801236
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.0996821756406683,
0.03710847589362415,
-0.05331635027530674
],
"position_mm": [
99.68217564066829,
37.108475893624146,
-53.31635027530674
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.2680081552819457,
-0.062117037306744734,
0.0684224623138917
],
"position_mm": [
268.00815528194573,
-62.117037306744734,
68.4224623138917
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.34938478881198143,
-0.027829551996677953,
0.02149438584856872
],
"position_mm": [
349.3847888119814,
-27.829551996677953,
21.49438584856872
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24863351055087862,
-0.08655725852674244,
-0.0052476759116907076
],
"position_mm": [
248.6335105508786,
-86.55725852674244,
-5.247675911690708
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.11002053390049146,
-0.12250830094158902,
0.12671062737439784
],
"position_mm": [
110.02053390049146,
-122.50830094158901,
126.71062737439784
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.11781900402232785,
-0.16245035968935984,
0.09853348887316105
],
"position_mm": [
117.81900402232785,
-162.45035968935983,
98.53348887316105
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,123 @@
{
"schema_version": "1.2",
"created_utc": "2026-05-29T16:20:54Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 0
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.1640841237526153,
-0.25988166817741076,
0.17784664622850113
],
"position_mm": [
164.0841237526153,
-259.88166817741075,
177.84664622850113
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.11885196815304096,
-0.054736573352492865,
0.13960310586430766
],
"position_mm": [
118.85196815304096,
-54.73657335249286,
139.60310586430765
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.020141963615235826,
-0.019634164877100443,
7.753085871262744e-06
],
"position_mm": [
20.141963615235827,
-19.634164877100442,
0.007753085871262744
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.2496593710697911,
-0.009392918889186603,
-0.0004990225599633067
],
"position_mm": [
249.65937106979112,
-9.392918889186603,
-0.49902255996330674
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.3498840377079552,
-0.009731954903122878,
9.81931763459405e-06
],
"position_mm": [
349.8840377079552,
-9.731954903122878,
0.009819317634594048
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24980138880179487,
-0.08972396993800054,
-8.289008073662344e-05
],
"position_mm": [
249.80138880179487,
-89.72396993800054,
-0.08289008073662345
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.11814536932848009,
-0.137946952742281,
0.14664027759400072
],
"position_mm": [
118.14536932848009,
-137.94695274228098,
146.64027759400074
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.11842637897038044,
-0.16941492081348128,
0.0997105370611122
],
"position_mm": [
118.42637897038044,
-169.41492081348127,
99.7105370611122
],
"link": "Arm1"
}
]
}

View File

@@ -0,0 +1,123 @@
{
"schema_version": "1.2",
"created_utc": "2026-05-29T17:29:56Z",
"summary": {
"num_cameras": 3,
"num_markers": 8,
"num_constraints": 25
},
"markers": [
{
"marker_id": 122,
"position_m": [
0.16408414603046484,
-0.2598816877789887,
0.17784668754227578
],
"position_mm": [
164.08414603046484,
-259.8816877789887,
177.8466875422758
],
"link": "Arm2"
},
{
"marker_id": 198,
"position_m": [
0.11704671868929717,
-0.05006352997427808,
0.13545744846179997
],
"position_mm": [
117.04671868929717,
-50.063529974278076,
135.45744846179997
],
"link": "Arm1"
},
{
"marker_id": 210,
"position_m": [
0.019883267288547467,
-0.019568887683375974,
-6.02159742251129e-05
],
"position_mm": [
19.883267288547465,
-19.568887683375973,
-0.0602159742251129
],
"link": "Board"
},
{
"marker_id": 211,
"position_m": [
0.24989200282636703,
-0.009772675866705374,
1.0334501290569615e-05
],
"position_mm": [
249.89200282636702,
-9.772675866705374,
0.010334501290569615
],
"link": "Board"
},
{
"marker_id": 214,
"position_m": [
0.34989199483349664,
-0.009735514620349328,
1.4271508683918328e-05
],
"position_mm": [
349.89199483349665,
-9.735514620349328,
0.014271508683918327
],
"link": "Board"
},
{
"marker_id": 215,
"position_m": [
0.24981646807454147,
-0.08977263518943693,
-1.508171313798581e-05
],
"position_mm": [
249.81646807454146,
-89.77263518943693,
-0.01508171313798581
],
"link": "Board"
},
{
"marker_id": 229,
"position_m": [
0.11773154751353263,
-0.13967941405892637,
0.1437326114716167
],
"position_mm": [
117.73154751353262,
-139.67941405892637,
143.7326114716167
],
"link": "Arm1"
},
{
"marker_id": 243,
"position_m": [
0.11835862963107012,
-0.16963843269272738,
0.10433506872776273
],
"position_mm": [
118.35862963107012,
-169.63843269272738,
104.33506872776273
],
"link": "Arm1"
}
]
}

1593
pipeline/arucos_state.json Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,799 @@
{
"schema_version": "2.0",
"created_utc": "2026-05-29T18:13:32Z",
"source": {
"marker_positions_file": "aruco_positions_optimized_Set3_v4.json",
"robot_file": "..\\robot.json"
},
"summary": {
"num_links": 9,
"num_observed_markers": 8,
"num_link_markers": 25,
"root_link": "Board",
"optimizer": {
"cost": 0.001596169080421209,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 4,
"njev": 4
},
"fit_stats": {
"num_markers_used": 8,
"mean_error_m": 0.010174015156011006,
"median_error_m": 0.0081510187450574,
"rms_error_m": 0.01234803815522387,
"worst_error_m": 0.027803375607782888,
"p80_error_m": 0.01066478101691201,
"p90_error_m": 0.016414008933028513
},
"stages": [
{
"depth": 0,
"active_links": [
"Board"
],
"active_joint_vars": [],
"mean_error_m": 4.1869206709871756e-05,
"rms_error_m": 4.423857209220498e-05,
"worst_error_m": 6.087233578986151e-05,
"num_markers_used": 4,
"optimizer_info": {
"cost": 7.828205043028872e-09,
"success": true,
"status": 1,
"message": "`gtol` termination condition is satisfied.",
"nfev": 1,
"njev": 1
}
},
{
"depth": 1,
"active_links": [
"Board",
"Base"
],
"active_joint_vars": [
"x"
],
"mean_error_m": 4.1869206709871756e-05,
"rms_error_m": 4.423857209220498e-05,
"worst_error_m": 6.087233578986151e-05,
"num_markers_used": 4,
"optimizer_info": {
"cost": 7.828205043028872e-09,
"success": true,
"status": 1,
"message": "`gtol` termination condition is satisfied.",
"nfev": 1,
"njev": 1
}
},
{
"depth": 2,
"active_links": [
"Board",
"Base",
"Arm1"
],
"active_joint_vars": [
"x",
"y"
],
"mean_error_m": 0.006745485580070273,
"rms_error_m": 0.007483965411863164,
"worst_error_m": 0.013168099127981843,
"num_markers_used": 7,
"optimizer_info": {
"cost": 0.0006290927673917855,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 5,
"njev": 5
}
},
{
"depth": 3,
"active_links": [
"Board",
"Base",
"Arm1",
"Ellbow"
],
"active_joint_vars": [
"x",
"y",
"z"
],
"mean_error_m": 0.0066626047418244985,
"rms_error_m": 0.007500866443446507,
"worst_error_m": 0.012885780730839473,
"num_markers_used": 7,
"optimizer_info": {
"cost": 0.0005983942414244817,
"success": true,
"status": 1,
"message": "`gtol` termination condition is satisfied.",
"nfev": 5,
"njev": 5
}
},
{
"depth": 4,
"active_links": [
"Board",
"Base",
"Arm1",
"Ellbow",
"Arm2"
],
"active_joint_vars": [
"x",
"y",
"z",
"a"
],
"mean_error_m": 0.01000608974879495,
"rms_error_m": 0.012284520280612297,
"worst_error_m": 0.0278453161070784,
"num_markers_used": 8,
"optimizer_info": {
"cost": 0.001600681668676478,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 5,
"njev": 5
}
},
{
"depth": 5,
"active_links": [
"Board",
"Base",
"Arm1",
"Ellbow",
"Arm2",
"Hand"
],
"active_joint_vars": [
"x",
"y",
"z",
"a",
"b"
],
"mean_error_m": 0.010093215903747043,
"rms_error_m": 0.01231106970746885,
"worst_error_m": 0.027801581705374914,
"num_markers_used": 8,
"optimizer_info": {
"cost": 0.0015973675989890592,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 4,
"njev": 4
}
},
{
"depth": 6,
"active_links": [
"Board",
"Base",
"Arm1",
"Ellbow",
"Arm2",
"Hand",
"Palm"
],
"active_joint_vars": [
"x",
"y",
"z",
"a",
"b",
"c"
],
"mean_error_m": 0.01014248256819925,
"rms_error_m": 0.012332226944012195,
"worst_error_m": 0.027800128557559874,
"num_markers_used": 8,
"optimizer_info": {
"cost": 0.0015965216948719777,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 4,
"njev": 4
}
},
{
"depth": 7,
"active_links": [
"Board",
"Base",
"Arm1",
"Ellbow",
"Arm2",
"Hand",
"Palm",
"FingerA",
"FingerB"
],
"active_joint_vars": [
"x",
"y",
"z",
"a",
"b",
"c",
"e"
],
"mean_error_m": 0.010174015156011006,
"rms_error_m": 0.01234803815522387,
"worst_error_m": 0.027803375607782888,
"num_markers_used": 8,
"optimizer_info": {
"cost": 0.001596169080421209,
"success": true,
"status": 2,
"message": "`ftol` termination condition is satisfied.",
"nfev": 4,
"njev": 4
}
}
]
},
"world_pose": {
"root_translation_m": [
-0.00010499551928665273,
-0.004122751371632455,
0.007868336770484426
],
"root_rotation_matrix": [
[
0.9998881512412199,
0.00015742221075852172,
0.01495527417545956
],
[
-0.00034452146365532657,
0.9999217021212259,
0.012508834156371969
],
[
-0.014952134040888227,
-0.012512587471746087,
0.9998099163552967
]
],
"root_euler_xyz_deg": [
-0.7170173207318126,
0.8567260997949179,
-0.019741833137479233
]
},
"movements": {
"x": {
"value_m": 0.0036718418153270935,
"value_mm": 3.6718418153270935,
"joint_type": "linear",
"link": "Base"
},
"y": {
"value_rad": 0.153997576654123,
"value_deg": 8.823411197523626,
"joint_type": "revolute",
"link": "Arm1"
},
"z": {
"value_rad": 0.3681612038699359,
"value_deg": 21.094083162202796,
"joint_type": "revolute",
"link": "Ellbow"
},
"a": {
"value_rad": 0.16870892545216015,
"value_deg": 9.666309394596011,
"joint_type": "revolute",
"link": "Arm2"
},
"b": {
"value_rad": 0.03490658503988659,
"value_deg": 2.0,
"joint_type": "revolute",
"link": "Hand"
},
"c": {
"value_rad": 0.15707963267948966,
"value_deg": 9.0,
"joint_type": "revolute",
"link": "Palm"
},
"e": {
"value_m": 0.001,
"value_mm": 1.0,
"joint_type": "linear",
"link": "FingerB"
}
},
"links": [
{
"link": "Board",
"parent": null,
"position_m": [
-0.00010499551928665273,
-0.004122751371632455,
0.007868336770484426
],
"rotation_matrix": [
[
0.9998881512412199,
0.00015742221075852172,
0.01495527417545956
],
[
-0.00034452146365532657,
0.9999217021212259,
0.012508834156371969
],
[
-0.014952134040888227,
-0.012512587471746087,
0.9998099163552967
]
],
"euler_xyz_deg": [
-0.7170173207318126,
0.8567260997949179,
-0.019741833137479233
],
"num_observed_markers": 4,
"num_markers_total": 9
},
{
"link": "Base",
"parent": "Board",
"position_m": [
0.003805719991894641,
-0.003923875053447029,
0.02381039356116952
],
"rotation_matrix": [
[
0.9998881512412199,
0.00015742221075852172,
0.01495527417545956
],
[
-0.00034452146365532657,
0.9999217021212259,
0.012508834156371969
],
[
-0.014952134040888227,
-0.012512587471746087,
0.9998099163552967
]
],
"euler_xyz_deg": [
-0.7170173207318126,
0.8567260997949179,
-0.019741833137479233
],
"num_observed_markers": 0,
"num_markers_total": 0
},
{
"link": "Arm1",
"parent": "Base",
"position_m": [
0.11448340556508642,
0.10459266895168001,
0.06580574560571159
],
"rotation_matrix": [
[
0.9998881512411962,
-0.002138424520931235,
0.014802437231208825
],
[
-0.00034452146365531843,
0.9861696920072487,
0.16573840795434897
],
[
-0.014952134040887874,
-0.16572497007647763,
0.9860586534181053
]
],
"euler_xyz_deg": [
-9.540428518246754,
0.8567260997949179,
-0.019741833137479233
],
"num_observed_markers": 3,
"num_markers_total": 4
},
{
"link": "Ellbow",
"parent": "Arm1",
"position_m": [
0.11501801169531922,
-0.14194975405013216,
0.107236988124831
],
"rotation_matrix": [
[
0.9998881512410622,
-0.007322534197157381,
0.013040916392148211
],
[
-0.00034452146365527225,
0.8604378277497007,
0.5095553217090676
],
[
-0.01495213404088587,
-0.5095028214544074,
0.8603390660764603
]
],
"euler_xyz_deg": [
-30.634511680430315,
0.8567260997949179,
-0.019741833137479233
],
"num_observed_markers": 0,
"num_markers_total": 4
},
{
"link": "Arm2",
"parent": "Ellbow",
"position_m": [
0.20500794530701483,
-0.14198076098186113,
0.10589129606115127
],
"rotation_matrix": [
[
0.9878818086254475,
-0.007322534197157173,
-0.15503519819536069
],
[
0.08521967406056483,
0.8604378277496763,
0.5023786935470759
],
[
0.12971946399655934,
-0.509502821454393,
0.8506349014648388
]
],
"euler_xyz_deg": [
-30.920246253571754,
-7.453381520416379,
4.930417324847138
],
"num_observed_markers": 1,
"num_markers_total": 8
},
{
"link": "Hand",
"parent": "Arm2",
"position_m": [
0.20683857885630413,
-0.3570902179192802,
0.23326700142474951
],
"rotation_matrix": [
[
0.9878818086254463,
-0.012728723895357681,
-0.15468520218346354
],
[
0.08521967406056473,
0.8774464358320986,
0.4720438108885581
],
[
0.12971946399655918,
-0.4795057161631937,
0.867898109703497
]
],
"euler_xyz_deg": [
-28.92024625357375,
-7.453381520416377,
4.930417324847139
],
"num_observed_markers": 0,
"num_markers_total": 0
},
{
"link": "Palm",
"parent": "Hand",
"position_m": [
0.20683857885630413,
-0.3570902179192802,
0.23326700142474951
],
"rotation_matrix": [
[
0.9515212474122047,
-0.012728723895357367,
-0.3073195329143514
],
[
0.15801439949076734,
0.8774464358320769,
0.45290087414217106
],
[
0.2638915786384106,
-0.4795057161631819,
0.8369202488231169
]
],
"euler_xyz_deg": [
-29.810153131835676,
-15.301100626605999,
9.428779059340897
],
"num_observed_markers": 0,
"num_markers_total": 0
},
{
"link": "FingerA",
"parent": "Palm",
"position_m": [
0.2120416904297017,
-0.38701077117594923,
0.2513691593836527
],
"rotation_matrix": [
[
0.9515212474122047,
-0.012728723895357367,
-0.3073195329143514
],
[
0.15801439949076734,
0.8774464358320769,
0.45290087414217106
],
[
0.2638915786384106,
-0.4795057161631819,
0.8369202488231169
]
],
"euler_xyz_deg": [
-29.810153131835676,
-15.301100626605999,
9.428779059340897
],
"num_observed_markers": 0,
"num_markers_total": 0
},
{
"link": "FingerB",
"parent": "Palm",
"position_m": [
0.20252647795558157,
-0.38859091517085653,
0.24873024359726909
],
"rotation_matrix": [
[
0.9515212474122047,
-0.012728723895357367,
-0.3073195329143514
],
[
0.15801439949076734,
0.8774464358320769,
0.45290087414217106
],
[
0.2638915786384106,
-0.4795057161631819,
0.8369202488231169
]
],
"euler_xyz_deg": [
-29.810153131835676,
-15.301100626605999,
9.428779059340897
],
"num_observed_markers": 0,
"num_markers_total": 0
}
],
"markers": [
{
"marker_id": 122,
"link": "Arm2",
"observed_position_m": [
0.16408414603046484,
-0.2598816877789887,
0.17784668754227578
],
"predicted_position_m": [
0.17125220583520576,
-0.24133248628194467,
0.15841543082416373
],
"error_m": [
0.007168059804740917,
0.018549201497044004,
-0.01943125671811205
],
"error_norm_m": 0.027803375607782888,
"error_norm_mm": 27.80337560778289,
"marker_size": null
},
{
"marker_id": 198,
"link": "Arm1",
"observed_position_m": [
0.11704671868929717,
-0.05006352997427808,
0.13545744846179997
],
"predicted_position_m": [
0.11534363879152772,
-0.047393637491077556,
0.1268337936875817
],
"error_m": [
-0.0017030798977694522,
0.0026698924832005214,
-0.008623654774218281
],
"error_norm_m": 0.009186742005462807,
"error_norm_mm": 9.186742005462806,
"marker_size": 25
},
{
"marker_id": 210,
"link": "Board",
"observed_position_m": [
0.019883267288547467,
-0.019568887683375974,
-6.02159742251129e-05
],
"predicted_position_m": [
0.019894105643575213,
-0.024124323193083167,
0.008119488814008173
],
"error_m": [
1.083835502774591e-05,
-0.004555435509707193,
0.008179704788233285
],
"error_norm_m": 0.0093626748622222,
"error_norm_mm": 9.3626748622222,
"marker_size": null
},
{
"marker_id": 211,
"link": "Board",
"observed_position_m": [
0.24989200282636703,
-0.009772675866705374,
1.0334501290569615e-05
],
"predicted_position_m": [
0.24986995465116338,
-0.014204346108511633,
0.004555372109886419
],
"error_m": [
-2.2048175203653875e-05,
-0.0044316702418062594,
0.004545037608595849
],
"error_norm_m": 0.006348035453405379,
"error_norm_mm": 6.348035453405379,
"marker_size": null
},
{
"marker_id": 214,
"link": "Board",
"observed_position_m": [
0.34989199483349664,
-0.009735514620349328,
1.4271508683918328e-05
],
"predicted_position_m": [
0.3498587697752854,
-0.014238798254877167,
0.003060158705797595
],
"error_m": [
-3.322505821123922e-05,
-0.0045032836345278385,
0.0030458871971136767
],
"error_norm_m": 0.005436735805153714,
"error_norm_mm": 5.436735805153714,
"marker_size": null
},
{
"marker_id": 215,
"link": "Board",
"observed_position_m": [
0.24981646807454147,
-0.08977263518943693,
-1.508171313798581e-05
],
"predicted_position_m": [
0.2498573608743027,
-0.09419808227820971,
0.005556379107626107
],
"error_m": [
4.089279976121629e-05,
-0.00442544708877278,
0.005571460820764092
],
"error_norm_m": 0.007115295484651995,
"error_norm_mm": 7.115295484651996,
"marker_size": null
},
{
"marker_id": 229,
"link": "Arm1",
"observed_position_m": [
0.11773154751353263,
-0.13967941405892637,
0.1437326114716167
],
"predicted_position_m": [
0.11553609699841152,
-0.13614890977172994,
0.14174904099446467
],
"error_m": [
-0.0021954505151211,
0.003530504287196423,
-0.00198357047715203
],
"error_norm_m": 0.004606410242703852,
"error_norm_mm": 4.606410242703852,
"marker_size": 25
},
{
"marker_id": 243,
"link": "Arm1",
"observed_position_m": [
0.11835862963107012,
-0.16963843269272738,
0.10433506872776273
],
"predicted_position_m": [
0.11509285655355182,
-0.17646569327038591,
0.11303736207750772
],
"error_m": [
-0.003265773077518297,
-0.006827260577658534,
0.008702293349744997
],
"error_norm_m": 0.011532851786705215,
"error_norm_mm": 11.532851786705216,
"marker_size": 25
}
]
}

BIN
pipeline/render_1a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,322 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T17:28:00Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1a_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json"
},
"camera": {
"camera_id": "cam1",
"camera_matrix": [
[
1777.77783203125,
0.0,
640.0
],
[
0.0,
1500.0,
360.0
],
[
0.0,
0.0,
1.0
]
],
"distortion_coefficients": [
0.0,
0.0,
0.0,
0.0,
0.0
]
},
"estimation": {
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 8,
"used_marker_ids": [
210,
215,
211,
208,
217,
206,
205,
207
],
"history": {
"iters": [
0,
1,
2,
3,
4,
5,
6
],
"rms": [
0.012238825888602721,
0.0013485501296120386,
0.0010720241126721643,
0.0010700649720543842,
0.0010700240850162058,
0.0010700235476777484,
0.0010700235426684534
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125,
6.25e-05,
3.125e-05,
1.5625e-05
]
},
"residual_rms_px": 2.6178729686079047,
"residual_median_px": 2.1333107363119628,
"residual_max_px": 4.82379629519028,
"sigma2_normalized": 1.8319206108523286e-06
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.6343430876731873,
-0.7725288271903992,
0.028426652774214745
],
[
-0.5990912914276123,
-0.5145038366317749,
-0.6134944558143616
],
[
0.4885677695274353,
0.37213581800460815,
-0.7891872525215149
]
],
"translation_m": [
-0.28031569719314575,
0.19169889390468597,
0.9508554935455322
],
"rvec_rad": [
2.289241976117495,
-1.068731724683893,
0.4028289864991492
]
},
"camera_in_world": {
"position_m": [
-0.17189589142799377,
-0.4717695116996765,
0.8759776949882507
],
"position_mm": [
-171.89588928222656,
-471.7695007324219,
875.9777221679688
],
"orientation_deg": {
"roll": 154.75408935546875,
"pitch": -29.24648666381836,
"yaw": -43.362918853759766
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
0.0003822156649420553,
-1.9575638833486346e-05,
0.0002401729876123921,
-3.455538550581847e-07,
-8.434305689855638e-06,
1.3315803977557116e-06
],
[
-1.9575638833486905e-05,
9.100791133973781e-06,
-2.6448385490934555e-05,
-2.887449407782355e-06,
1.4831323494675526e-07,
8.401000542324975e-06
],
[
0.00024017298761239858,
-2.644838549093476e-05,
0.00034334665759104825,
2.1171203886755963e-05,
-2.499898798243516e-05,
-0.00011374771539950262
],
[
-3.455538550575027e-07,
-2.8874494077824097e-06,
2.1171203886756332e-05,
2.9241707740779787e-06,
-1.8547372175826365e-06,
-1.2779915037331006e-05
],
[
-8.434305689856253e-06,
1.4831323494680423e-07,
-2.4998987982435484e-05,
-1.854737217582637e-06,
2.922658487863772e-06,
1.1657487325670498e-05
],
[
1.331580397752139e-06,
8.401000542325296e-06,
-0.00011374771539950486,
-1.2779915037331031e-05,
1.1657487325670554e-05,
7.504600233719707e-05
]
],
"parameter_std": {
"rvec_std_deg": [
1.120151780762652,
0.17284714323569167,
1.06166877499303
],
"tvec_std_m": [
0.00171002069404963,
0.001709578453263778,
0.008662909576879875
]
},
"camera_center_std_m": [
0.006227818662745683,
0.020598334020338196,
0.011112792063136126
],
"camera_center_std_mm": [
6.227818662745683,
20.598334020338196,
11.112792063136126
],
"orientation_std_deg": {
"roll": 1.3799127416085473,
"pitch": 0.5042660958147511,
"yaw": 0.1500547605224418
}
}
},
"observations": {
"markers": [
{
"marker_id": 210,
"observed_center_px": [
168.5,
660.5
],
"projected_center_px": [
169.5629425048828,
658.793701171875
],
"reprojection_error_px": 2.01029909703688,
"confidence": 0.5673043275049208
},
{
"marker_id": 215,
"observed_center_px": [
548.5,
487.5
],
"projected_center_px": [
550.717041015625,
487.080810546875
],
"reprojection_error_px": 2.2563223755870454,
"confidence": 0.7952557920267838
},
{
"marker_id": 211,
"observed_center_px": [
455.0,
424.25
],
"projected_center_px": [
450.42816162109375,
425.7886047363281
],
"reprojection_error_px": 4.82379629519028,
"confidence": 0.6412317666518965
},
{
"marker_id": 208,
"observed_center_px": [
657.25,
397.75
],
"projected_center_px": [
658.3648071289062,
398.7890625
],
"reprojection_error_px": 1.5239572873169531,
"confidence": 0.6280424706698967
},
{
"marker_id": 217,
"observed_center_px": [
928.5,
175.25
],
"projected_center_px": [
930.192626953125,
175.83822631835938
],
"reprojection_error_px": 1.7919252785916733,
"confidence": 0.35596573288593486
},
{
"marker_id": 206,
"observed_center_px": [
839.25,
131.25
],
"projected_center_px": [
836.46923828125,
131.34689331054688
],
"reprojection_error_px": 2.7824492897614843,
"confidence": 0.33820423087105295
},
{
"marker_id": 205,
"observed_center_px": [
1004.5,
113.0
],
"projected_center_px": [
1007.0062255859375,
112.83639526367188
],
"reprojection_error_px": 2.5115599131529316,
"confidence": 0.28724459014346065
},
{
"marker_id": 207,
"observed_center_px": [
916.5,
72.25
],
"projected_center_px": [
915.0281982421875,
71.42831420898438
],
"reprojection_error_px": 1.6856357712913363,
"confidence": 0.27228561618555186
}
]
},
"qa": {
"sanity_notes": []
}
}

BIN
pipeline/render_1b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because it is too large Load Diff

BIN
pipeline/render_1c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

File diff suppressed because it is too large Load Diff

BIN
pipeline/render_1d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,263 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T17:28:01Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_1d_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json"
},
"camera": {
"camera_id": "cam3",
"camera_matrix": [
[
1777.77783203125,
0.0,
640.0
],
[
0.0,
1500.0,
360.0
],
[
0.0,
0.0,
1.0
]
],
"distortion_coefficients": [
0.0,
0.0,
0.0,
0.0,
0.0
]
},
"estimation": {
"method": "single_camera_marker_center_lm",
"description": "Rigid init from per-marker pose estimates, followed by LM on normalized marker-center reprojection residuals.",
"marker_size_m": 0.025,
"num_used_markers": 4,
"used_marker_ids": [
215,
211,
217,
214
],
"history": {
"iters": [
0,
1,
2,
3,
4,
5
],
"rms": [
0.005359920749647414,
0.0003596216482234802,
8.587722609457216e-05,
8.267163975654815e-05,
8.265774784671822e-05,
8.265772386013678e-05
],
"lambda": [
0.001,
0.0005,
0.00025,
0.000125,
6.25e-05,
3.125e-05
]
},
"residual_rms_px": 0.20616096991738692,
"residual_median_px": 0.1548259204477796,
"residual_max_px": 0.334368679842534,
"sigma2_normalized": 2.732919724610169e-08
},
"camera_pose": {
"world_to_camera": {
"rotation_matrix": [
[
0.8698499202728271,
-0.4933161735534668,
-0.0005609216168522835
],
[
-0.014420680701732635,
-0.02429097332060337,
-0.999600887298584
],
[
0.4931056499481201,
0.8695108294487,
-0.028243456035852432
]
],
"translation_m": [
-0.27209416031837463,
0.21111075580120087,
0.8869640231132507
],
"rvec_rad": [
1.560002049077422,
-0.41202505801423905,
0.39969676868512233
]
},
"camera_in_world": {
"position_m": [
-0.1976415067911148,
-0.9003251791000366,
0.23592481017112732
],
"position_mm": [
-197.64151000976562,
-900.3251953125,
235.9248046875
],
"orientation_deg": {
"roll": 91.86042785644531,
"pitch": -29.544910430908203,
"yaw": -0.94978266954422
}
},
"uncertainty": {
"pose_covariance_6x6": [
[
5.572124225215572e-06,
1.0238412973605017e-06,
-2.623828452852646e-07,
-1.3216478710623785e-07,
2.464552358706632e-07,
1.376118360825126e-06
],
[
1.0238412973606372e-06,
1.7185895100151877e-06,
-2.1941259661160463e-06,
-2.865276101919663e-07,
4.866971629745338e-07,
2.6156272415413096e-06
],
[
-2.6238284528551765e-07,
-2.1941259661160654e-06,
4.3008457236225806e-06,
4.5954457611754067e-07,
-1.039277359784403e-06,
-4.284089217370219e-06
],
[
-1.321647871062647e-07,
-2.8652761019196723e-07,
4.5954457611753834e-07,
6.213296390305284e-08,
-1.0417950265091419e-07,
-4.7537517694908277e-07
],
[
2.4645523587072205e-07,
4.86697162974532e-07,
-1.039277359784392e-06,
-1.0417950265091408e-07,
2.937313750271454e-07,
1.119130901469573e-06
],
[
1.3761183608253812e-06,
2.615627241541313e-06,
-4.28408921737019e-06,
-4.753751769490844e-07,
1.1191309014695779e-06,
5.056766279398004e-06
]
],
"parameter_std": {
"rvec_std_deg": [
0.13524867758906906,
0.07511189357579418,
0.11882274046633103
],
"tvec_std_m": [
0.0002492648469059623,
0.0005419699023258998,
0.0022487254788875416
]
},
"camera_center_std_m": [
0.0012502905713881077,
0.002327873286067422,
0.002258043249396123
],
"camera_center_std_mm": [
1.2502905713881076,
2.327873286067422,
2.258043249396123
],
"orientation_std_deg": {
"roll": 0.1361099998273254,
"pitch": 0.12490237671576365,
"yaw": 0.050717858739607595
}
}
},
"observations": {
"markers": [
{
"marker_id": 215,
"observed_center_px": [
620.5,
697.0
],
"projected_center_px": [
620.4794311523438,
697.0128173828125
],
"reprojection_error_px": 0.024235568820809458,
"confidence": 0.04442132658717482
},
{
"marker_id": 211,
"observed_center_px": [
552.0,
670.75
],
"projected_center_px": [
551.7823486328125,
670.6954345703125
],
"reprojection_error_px": 0.22438695094761962,
"confidence": 0.08943849994625828
},
{
"marker_id": 217,
"observed_center_px": [
1171.75,
630.5
],
"projected_center_px": [
1171.666259765625,
630.4839477539062
],
"reprojection_error_px": 0.08526488994793956,
"confidence": 0.1603274772135223
},
{
"marker_id": 214,
"observed_center_px": [
702.75,
654.0
],
"projected_center_px": [
703.079345703125,
654.0577392578125
],
"reprojection_error_px": 0.334368679842534,
"confidence": 0.1074639893342158
}
]
},
"qa": {
"sanity_notes": []
}
}

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:52Z",
"created_utc": "2026-05-29T16:50:05Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "3fe0abea-8ee3-488d-afdd-ca173488bac8",
"observation_id": "c902f90e-1647-428c-a5d1-70de2978916f",
"type": "aruco",
"marker_id": 124,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.6862086405991146
},
{
"observation_id": "4ad28655-628f-4970-aee7-ac0464a422dd",
"observation_id": "77ff7696-8a93-4b4f-8483-f8c322717d80",
"type": "aruco",
"marker_id": 243,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.953171926139578
},
{
"observation_id": "39c9ae85-1343-4abd-a776-aead564c7ba2",
"observation_id": "91d2b75d-5528-4aa6-b7e1-225a3cae5400",
"type": "aruco",
"marker_id": 122,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.5964639370258038
},
{
"observation_id": "2d4f27e1-f896-4714-bea0-d66f354f65bc",
"observation_id": "e61c114e-be11-4f43-a6c5-7333afc1129e",
"type": "aruco",
"marker_id": 102,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.3578323322772018
},
{
"observation_id": "2b4ed846-8c7c-40a4-9d78-6dde96b7fb77",
"observation_id": "3c71a3a5-f9c2-4cec-93cf-5fc1cc35f02a",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.4396423002158715
},
{
"observation_id": "5ce4384f-4a4e-4dfb-9e84-cfb04b1ee009",
"observation_id": "a3790a5f-adc1-44dc-baaf-177ee62c1679",
"type": "aruco",
"marker_id": 210,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.23718801109435655
},
{
"observation_id": "b0f54f4e-c981-4c68-91f4-71796b2e1b7e",
"observation_id": "d4ded05d-c6c5-471d-8f6e-97b4c8902312",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.27797680859006363
},
{
"observation_id": "2291dd23-8cfd-4fc8-8268-3f51a4f477e3",
"observation_id": "0265278f-0be8-4a5e-ba07-2ca9f230b245",
"type": "aruco",
"marker_id": 205,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.19676029488014599
},
{
"observation_id": "1aa4305f-42cd-4a6b-bbd9-3c4779159e9f",
"observation_id": "8d2f4eef-9217-4f3c-8945-f775942823d2",
"type": "aruco",
"marker_id": 206,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.23511362818048806
},
{
"observation_id": "67d472aa-5a55-495c-84f3-9f9867b5e6bb",
"observation_id": "716fccd5-851b-4b4f-9753-0ec539b0b1af",
"type": "aruco",
"marker_id": 207,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:53Z",
"created_utc": "2026-05-29T17:30:28Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_3a_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:51Z",
"created_utc": "2026-05-29T16:50:05Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "d0acb2d6-f00e-4abb-9182-0aba44eb37b5",
"observation_id": "a409d514-f754-44e2-93e4-c995beff6c06",
"type": "aruco",
"marker_id": 243,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.8522257252911212
},
{
"observation_id": "912b4c1f-fa4d-488b-ae55-6c159b08259f",
"observation_id": "7acc74f6-773a-4585-bfd3-dbfc9d9569f1",
"type": "aruco",
"marker_id": 122,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.2874514216623714
},
{
"observation_id": "d713f49f-d43d-4181-b2c3-802fae7ac4c6",
"observation_id": "713c50a6-b73d-4dfb-9773-ec27c88351f5",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.5547001883002887
},
{
"observation_id": "b540ca35-2454-4485-b5c9-0edcffa7d655",
"observation_id": "1bcbde4a-7b55-4e8b-a2aa-46c1b144cf86",
"type": "aruco",
"marker_id": 208,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.6072727689079809
},
{
"observation_id": "fd9ca8aa-3703-4a75-99dd-61e9d6da7096",
"observation_id": "3eb7f21a-2e30-4df0-b3ae-4a0b7fb33f87",
"type": "aruco",
"marker_id": 215,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.6168610191628993
},
{
"observation_id": "b9dfaf55-fe73-4bac-a011-9ff31f13c491",
"observation_id": "77a1e244-6c0a-4fbe-a7f1-ff6fed89ce07",
"type": "aruco",
"marker_id": 214,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.5524643209674667
},
{
"observation_id": "5e971f45-cf73-466b-ade5-bd09a71a0f8e",
"observation_id": "182c1e0c-8c53-42cd-85a9-434830f57c09",
"type": "aruco",
"marker_id": 211,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.5730650050844824
},
{
"observation_id": "48a160b7-02c3-47de-8eba-01d6c15d5d42",
"observation_id": "d6cb9456-f998-48f0-8eee-deb3b12372bd",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.4163346774695628
},
{
"observation_id": "3280ec54-b129-45ec-bffb-7eb3c61d3bdd",
"observation_id": "f7a1112f-663d-4235-ba9c-31cc923a6a38",
"type": "aruco",
"marker_id": 210,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:52Z",
"created_utc": "2026-05-29T17:30:29Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_3b_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json"

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:51Z",
"created_utc": "2026-05-29T16:50:04Z",
"vision_config": {
"MarkerType": "DICT_4X4_250",
"MarkerSize": 0.025
@@ -46,7 +46,7 @@
},
"detections": [
{
"observation_id": "342af2b4-08bf-4f4c-9d28-1285278e24c1",
"observation_id": "71ee0e21-7a94-4838-a42f-50154b66dfc2",
"type": "aruco",
"marker_id": 219,
"marker_size_m": 0.025,
@@ -100,7 +100,7 @@
"confidence": 0.7735450417034769
},
{
"observation_id": "d02166a7-4c7b-4cd0-8210-124de5d533d7",
"observation_id": "84ac23e0-0c4c-41d7-a42e-5ca454fe49c5",
"type": "aruco",
"marker_id": 218,
"marker_size_m": 0.025,
@@ -154,7 +154,7 @@
"confidence": 0.7950075578135153
},
{
"observation_id": "e51ac6d6-f1ea-42af-b51d-903b881ddf01",
"observation_id": "3fea9a30-af3d-4d51-9a5b-9072d862558f",
"type": "aruco",
"marker_id": 122,
"marker_size_m": 0.025,
@@ -208,7 +208,7 @@
"confidence": 0.8202207056111124
},
{
"observation_id": "805ea7a3-250b-4fb6-afd6-4641c83240d6",
"observation_id": "75395523-76b2-41d5-b56f-b398f6b3e4af",
"type": "aruco",
"marker_id": 214,
"marker_size_m": 0.025,
@@ -262,7 +262,7 @@
"confidence": 0.1700115058329765
},
{
"observation_id": "ccb99515-0a32-410b-b271-75f6e0e0c1c8",
"observation_id": "acc65302-27db-4275-b14c-d701d51f78d3",
"type": "aruco",
"marker_id": 215,
"marker_size_m": 0.025,
@@ -316,7 +316,7 @@
"confidence": 0.9372326698512834
},
{
"observation_id": "f689811a-b001-4d21-87a2-e01ad38c1a01",
"observation_id": "bf72359a-f1d1-4ce4-abd0-ed20ea2befee",
"type": "aruco",
"marker_id": 244,
"marker_size_m": 0.025,
@@ -370,7 +370,7 @@
"confidence": 0.7137086345973509
},
{
"observation_id": "cc2ffd45-0d44-4dad-83b2-46e2dec24bc0",
"observation_id": "11e5ef60-164f-49b4-8d01-115cfd3f18da",
"type": "aruco",
"marker_id": 229,
"marker_size_m": 0.025,
@@ -424,7 +424,7 @@
"confidence": 0.8888336147757544
},
{
"observation_id": "f5127d88-2b68-4a22-b216-fdf19b4d72a2",
"observation_id": "bf21349d-ad58-4393-8701-b53d93650a2a",
"type": "aruco",
"marker_id": 211,
"marker_size_m": 0.025,
@@ -478,7 +478,7 @@
"confidence": 0.8902520865668376
},
{
"observation_id": "e418b70b-2b7e-4381-b86d-b7dc425de6f0",
"observation_id": "53c3b400-34c1-4ada-ba8d-5811b2852b1f",
"type": "aruco",
"marker_id": 246,
"marker_size_m": 0.025,
@@ -532,7 +532,7 @@
"confidence": 0.7343609168978227
},
{
"observation_id": "d8ade844-05ae-46f2-b1c1-ab84179b062f",
"observation_id": "da992668-1b15-4386-82e0-cf8ef5770050",
"type": "aruco",
"marker_id": 247,
"marker_size_m": 0.025,
@@ -586,7 +586,7 @@
"confidence": 0.72560382306579
},
{
"observation_id": "4386d50e-2ec2-4cbb-974a-d147e3498171",
"observation_id": "263d8d62-5a24-4eb6-acd4-2d7db7df60c8",
"type": "aruco",
"marker_id": 198,
"marker_size_m": 0.025,

View File

@@ -1,6 +1,6 @@
{
"schema_version": "1.0",
"created_utc": "2026-05-29T11:11:52Z",
"created_utc": "2026-05-29T17:30:29Z",
"source": {
"detection_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\pipeline\\render_3c_aruco_detection.json",
"robot_json": "C:\\Users\\kech\\SynologyDrive\\2026-AppServer-AppRobot\\appRobotRendering\\robot.json"

View File

@@ -0,0 +1,652 @@
[
{
"name": "Board_marker_210",
"id": 210,
"link": "Board",
"position_m": [
0.019999999552965164,
-0.019999999552965164,
0.000800000037997961
],
"position_mm": [
19.999999552965164,
-19.999999552965164,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_211",
"id": 211,
"link": "Board",
"position_m": [
0.25,
-0.009999999776482582,
0.000800000037997961
],
"position_mm": [
250.0,
-9.999999776482582,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_215",
"id": 215,
"link": "Board",
"position_m": [
0.25,
-0.09000000357627869,
0.000800000037997961
],
"position_mm": [
250.0,
-90.00000357627869,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_214",
"id": 214,
"link": "Board",
"position_m": [
0.3499999940395355,
-0.009999999776482582,
0.000800000037997961
],
"position_mm": [
349.9999940395355,
-9.999999776482582,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_208",
"id": 208,
"link": "Board",
"position_m": [
0.3499999940395355,
-0.09000000357627869,
0.000800000037997961
],
"position_mm": [
349.9999940395355,
-90.00000357627869,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_206",
"id": 206,
"link": "Board",
"position_m": [
0.6499999761581421,
-0.009999999776482582,
0.000800000037997961
],
"position_mm": [
649.9999761581421,
-9.999999776482582,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_205",
"id": 205,
"link": "Board",
"position_m": [
0.75,
-0.09000000357627869,
0.000800000037997961
],
"position_mm": [
750.0,
-90.00000357627869,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_207",
"id": 207,
"link": "Board",
"position_m": [
0.75,
-0.009999999776482582,
0.000800000037997961
],
"position_mm": [
750.0,
-9.999999776482582,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "Board_marker_217",
"id": 217,
"link": "Board",
"position_m": [
0.6499999761581421,
-0.09000000357627869,
0.000800000037997961
],
"position_mm": [
649.9999761581421,
-90.00000357627869,
0.800000037997961
],
"rotation_quaternion": [
1.0,
0.0,
0.0,
0.0
],
"normal": [
0.0,
0.0,
1.0
]
},
{
"name": "aruco_198",
"id": 198,
"link": "Arm1",
"position_m": [
0.11999999731779099,
-0.04913388192653656,
0.10757456719875336
],
"position_mm": [
119.99999731779099,
-49.13388192653656,
107.57456719875336
],
"rotation_quaternion": [
0.9993908405303955,
-0.03489953652024269,
0.0,
0.0
],
"normal": [
0.0,
0.06975655257701874,
0.9975640773773193
]
},
{
"name": "aruco_229",
"id": 229,
"link": "Arm1",
"position_m": [
0.11999999731779099,
-0.13891464471817017,
0.11385266482830048
],
"position_mm": [
119.99999731779099,
-138.91464471817017,
113.85266482830048
],
"rotation_quaternion": [
0.9993908405303955,
-0.03489953652024269,
0.0,
0.0
],
"normal": [
0.0,
0.06975655257701874,
0.9975640773773193
]
},
{
"name": "aruco_242",
"id": 242,
"link": "Arm1",
"position_m": [
0.11999999731779099,
-0.1438673585653305,
0.04302562028169632
],
"position_mm": [
119.99999731779099,
-143.8673585653305,
43.02562028169632
],
"rotation_quaternion": [
0.024677660316228867,
0.7066760063171387,
0.7066760659217834,
-0.024677699431777
],
"normal": [
-5.21540641784668e-08,
-0.06975650042295456,
-0.9975640773773193
]
},
{
"name": "aruco_243",
"id": 243,
"link": "Arm1",
"position_m": [
0.11999999731779099,
-0.17680451273918152,
0.08091549575328827
],
"position_mm": [
119.99999731779099,
-176.80451273918152,
80.91549575328827
],
"rotation_quaternion": [
0.7313537001609802,
0.6819983124732971,
0.0,
0.0
],
"normal": [
0.0,
-0.9975640773773193,
0.06975657492876053
]
},
{
"name": "aruco_244",
"id": 244,
"link": "Ellbow",
"position_m": [
0.24549999833106995,
-0.14139100909233093,
0.0784391462802887
],
"position_mm": [
245.49999833106995,
-141.39100909233093,
78.4391462802887
],
"rotation_quaternion": [
0.6916548013687134,
-0.1470157951116562,
0.6916547417640686,
-0.1470157951116562
],
"normal": [
1.0,
1.4901162970204496e-08,
7.264316792543468e-08
]
},
{
"name": "aruco_245",
"id": 245,
"link": "Ellbow",
"position_m": [
0.21000000834465027,
-0.15583015978336334,
0.04600828140974045
],
"position_mm": [
210.00000834465027,
-155.83015978336334,
46.00828140974045
],
"rotation_quaternion": [
0.147015780210495,
0.6916548013687134,
0.6916547417640686,
-0.1470157951116562
],
"normal": [
-4.4703490686970326e-08,
-0.4067367613315582,
-0.9135454893112183
]
},
{
"name": "aruco_246",
"id": 246,
"link": "Ellbow",
"position_m": [
0.21000000834465027,
-0.12695185840129852,
0.11087001115083694
],
"position_mm": [
210.00000834465027,
-126.95185840129852,
110.87001115083694
],
"rotation_quaternion": [
0.978147566318512,
-0.20791174471378326,
0.0,
0.0
],
"normal": [
0.0,
0.4067367911338806,
0.9135454893112183
]
},
{
"name": "aruco_247",
"id": 247,
"link": "Ellbow",
"position_m": [
0.17249999940395355,
-0.12695185840129852,
0.11087001115083694
],
"position_mm": [
172.49999940395355,
-126.95185840129852,
110.87001115083694
],
"rotation_quaternion": [
0.978147566318512,
-0.20791174471378326,
0.0,
0.0
],
"normal": [
0.0,
0.4067367911338806,
0.9135454893112183
]
},
{
"name": "Arm2_marker_120",
"id": 120,
"link": "Arm2",
"position_m": [
0.23908136785030365,
-0.25199049711227417,
0.10539114475250244
],
"position_mm": [
239.08136785030365,
-251.99049711227417,
105.39114475250244
],
"rotation_quaternion": [
0.4516582787036896,
-0.09600294381380081,
0.8676275014877319,
-0.18441995978355408
],
"normal": [
0.8191521167755127,
-0.23329465091228485,
-0.5239881277084351
]
},
{
"name": "aruco_122",
"id": 122,
"link": "Arm2",
"position_m": [
0.17503933608531952,
-0.24621543288230896,
0.11836209893226624
],
"position_mm": [
175.03933608531952,
-246.21543288230896,
118.36209893226624
],
"rotation_quaternion": [
0.6287412643432617,
-0.13364310562610626,
-0.749304473400116,
0.15926963090896606
],
"normal": [
-0.9848078489303589,
-0.07062903046607971,
-0.15863528847694397
]
},
{
"name": "aruco_218",
"id": 218,
"link": "Arm2",
"position_m": [
0.24496068060398102,
-0.2412007749080658,
0.12962521612644196
],
"position_mm": [
244.96068060398102,
-241.2007749080658,
129.62521612644196
],
"rotation_quaternion": [
0.749304473400116,
-0.15926964581012726,
0.6287412643432617,
-0.13364310562610626
],
"normal": [
0.9848078489303589,
0.0706290453672409,
0.15863528847694397
]
},
{
"name": "aruco_113",
"id": 113,
"link": "Arm2",
"position_m": [
0.20470373332500458,
-0.2954392731189728,
0.17990505695343018
],
"position_mm": [
204.70373332500458,
-295.4392731189728,
179.90505695343018
],
"rotation_quaternion": [
0.9744254350662231,
-0.20712058246135712,
-0.08525115996599197,
0.018120698630809784
],
"normal": [
-0.1736481487751007,
0.40055757761001587,
0.8996666669845581
]
},
{
"name": "aruco_101",
"id": 101,
"link": "Arm2",
"position_m": [
0.23908136785030365,
-0.31593865156173706,
0.13386270403862
],
"position_mm": [
239.08136785030365,
-315.93865156173706,
133.86270403862
],
"rotation_quaternion": [
0.4516582787036896,
-0.09600294381380081,
0.8676275014877319,
-0.18441995978355408
],
"normal": [
0.8191521167755127,
-0.23329465091228485,
-0.5239881277084351
]
},
{
"name": "aruco_102",
"id": 102,
"link": "Arm2",
"position_m": [
0.18963702023029327,
-0.31948474049568176,
0.1258980929851532
],
"position_mm": [
189.63702023029327,
-319.48474049568176,
125.8980929851532
],
"rotation_quaternion": [
0.2941346764564514,
-0.06252026557922363,
-0.93287593126297,
0.1982889324426651
],
"normal": [
-0.5735765099525452,
-0.33317920565605164,
-0.7483325600624084
]
},
{
"name": "aruco_124",
"id": 124,
"link": "Arm2",
"position_m": [
0.17503933608531952,
-0.3439647853374481,
0.1618829369544983
],
"position_mm": [
175.03933608531952,
-343.9647853374481,
161.8829369544983
],
"rotation_quaternion": [
0.6287412643432617,
-0.13364310562610626,
-0.749304473400116,
0.15926963090896606
],
"normal": [
-0.9848078489303589,
-0.07062903046607971,
-0.15863528847694397
]
},
{
"name": "aruco_219",
"id": 219,
"link": "Arm2",
"position_m": [
0.24496068060398102,
-0.33895012736320496,
0.17314603924751282
],
"position_mm": [
244.96068060398102,
-338.95012736320496,
173.14603924751282
],
"rotation_quaternion": [
0.749304473400116,
-0.15926964581012726,
0.6287412643432617,
-0.13364310562610626
],
"normal": [
0.9848078489303589,
0.0706290453672409,
0.15863528847694397
]
}
]

View File

@@ -1,10 +0,0 @@
python3 1_detect_aruco_observations.py --image render_3a.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir .
python3 1_detect_aruco_observations.py --image render_3b.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir .
python3 1_detect_aruco_observations.py --image render_3c.png -npz render.npz -robot ../robot.json -cameraId cam1 -outDir .
python3 2_estimate_camera_from_observations.py --robot ../robot.json --i render_3a_aruco_detection.json --outDir "C:/Users/kech/SynologyDrive/2026-AppServer-AppRobot/appRobotRendering/pipeline/"
python3 2_estimate_camera_from_observations.py --robot ../robot.json --i render_3b_aruco_detection.json --outDir "C:/Users/kech/SynologyDrive/2026-AppServer-AppRobot/appRobotRendering/pipeline/"
python3 2_estimate_camera_from_observations.py --robot ../robot.json --i render_3c_aruco_detection.json --outDir "C:/Users/kech/SynologyDrive/2026-AppServer-AppRobot/appRobotRendering/pipeline/"

View File

@@ -11,20 +11,22 @@ set ROBOT_JSON=..\robot.json
set OUT_DIR=.
REM Camera 1
set IMG_1=render_3c.png
set IMG_1=render_1a.png
set NPZ_1=render.npz
set CAM_ID_1=cam1
REM Camera 2 (example - you need actual second camera image)
set IMG_2=render_3b.png
set IMG_2=render_1b.png
set NPZ_2=render.npz
set CAM_ID_2=cam2
REM Camera 3 (example)
set IMG_3=render_3a.png
set IMG_3=render_1c.png
set NPZ_3=render.npz
set CAM_ID_3=cam3
echo [STEP 1] Detect ArUco markers from all cameras
python 1_detect_aruco_observations.py -i %IMG_1% -npz %NPZ_1% -robot %ROBOT_JSON% -cameraId %CAM_ID_1% -outDir %OUT_DIR%
python 1_detect_aruco_observations.py -i %IMG_2% -npz %NPZ_2% -robot %ROBOT_JSON% -cameraId %CAM_ID_2% -outDir %OUT_DIR%
@@ -32,13 +34,13 @@ python 1_detect_aruco_observations.py -i %IMG_3% -npz %NPZ_3% -robot %ROBOT_JSON
echo.
echo [STEP 2] Estimate camera poses from detections
python 2_estimate_camera_from_observations.py -i render_3c_aruco_detection.json -robot %ROBOT_JSON% -outDir %OUT_DIR%
python 2_estimate_camera_from_observations.py -i render_3b_aruco_detection.json -robot %ROBOT_JSON% -outDir %OUT_DIR%
python 2_estimate_camera_from_observations.py -i render_3a_aruco_detection.json -robot %ROBOT_JSON% -outDir %OUT_DIR%
python 2_estimate_camera_from_observations.py -i render_3b_aruco_detection.json -robot %ROBOT_JSON% -outDir %OUT_DIR%
python 2_estimate_camera_from_observations.py -i render_3c_aruco_detection.json -robot %ROBOT_JSON% -outDir %OUT_DIR%
echo.
echo [STEP 3] Triangulate marker positions from multi-view observations
python 3_multiview_bundle_adjustment_v2.py ^
python 3_multiview_bundle_adjustment_v6.py ^
-det render_3a_aruco_detection.json ^
-det render_3b_aruco_detection.json ^
-det render_3c_aruco_detection.json ^