Multipoint zurück
49
data/homing/20260625_172504/aruco_marker_poses.csv
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
marker_id,link,set,num_cameras,x_mm,y_mm,z_mm,nx,ny,nz,model_x_mm,model_y_mm,model_z_mm,dist_to_model_mm,delta_z_mm,edge_length_mm
|
||||||
|
0,unknown,,2,505.2,-100.88,-7.16,0.02189,0.03624,0.9991,,,,,,24.24
|
||||||
|
46,Board,A0,2,537.83,185.51,-27.88,-0.08568,-0.05354,0.99488,537.44,185.2,-27.2,0.841,-0.679,23.2
|
||||||
|
47,Board,A0,2,343.18,-286.29,-27.16,-0.03123,0.01004,0.99946,343.18,-286.05,-27.49,0.407,0.326,24.03
|
||||||
|
50,Board,A0,2,574.07,210.38,-26.23,-0.00073,0.03209,0.99948,574.23,211.48,-27.15,1.448,0.925,24.06
|
||||||
|
51,Board,A0,2,166.73,-171.08,-27.09,-0.03386,0.01172,0.99936,167.18,-170.93,-27.76,0.818,0.667,24.31
|
||||||
|
53,Board,A0,2,487.37,212.32,-27.38,-0.07361,-0.01564,0.99716,487.08,212.19,-27.28,0.33,-0.103,23.53
|
||||||
|
54,Board,A0,3,341.07,-330.3,-27.22,-0.03362,0.04017,0.99863,341.05,-330.09,-27.5,0.351,0.28,24.36
|
||||||
|
55,Arm1,A0,2,282.65,-261.75,-26.65,-0.05274,0.01696,0.99846,,,,,,24.32
|
||||||
|
58,Board,A0,2,48.62,-216.5,-27.86,-0.00162,-0.0094,0.99995,49.3,-216.52,-27.93,0.684,0.068,24.24
|
||||||
|
62,Board,A0,3,404.15,-174.92,-26.96,0.01614,-0.01502,0.99976,404.07,-174.84,-27.4,0.454,0.439,23.97
|
||||||
|
64,Board,A0,2,-22.59,-186.68,-26.97,-0.00648,0.01133,0.99991,-21.95,-186.37,-28.04,1.286,1.074,24.24
|
||||||
|
66,Board,A0,2,208.51,-363.21,-27.64,-0.04961,0.03216,0.99825,208.41,-362.24,-27.7,0.98,0.055,24.38
|
||||||
|
68,Board,A0,2,574.39,169.06,-26.11,-0.00044,0.05167,0.99866,574.4,170.26,-27.15,1.591,1.04,24.52
|
||||||
|
73,Board,A0,2,221.97,337.22,-30.29,-0.05172,0.1462,0.9879,223.01,334.05,-27.67,4.242,-2.621,26.49
|
||||||
|
76,Board,A0,2,686.21,165.02,-27.13,-0.04548,-0.03114,0.99848,685.86,166,-26.98,1.054,-0.149,23.28
|
||||||
|
79,Board,A0,2,311.51,-157.95,-27.04,0.05023,-0.04899,0.99754,311.73,-158.5,-27.54,0.776,0.496,23.36
|
||||||
|
82,Board,A0,2,219.37,300.46,-29.79,0.00751,0.1232,0.99235,220.31,298.19,-27.68,3.238,-2.111,25.14
|
||||||
|
85,Board,A0,3,503.91,-313.51,-27.06,0.00515,-0.00866,0.99995,503.43,-312.87,-27.25,0.816,0.191,24.1
|
||||||
|
90,Board,A0,2,644.93,316.2,-28.16,-0.02384,-0.04569,0.99867,644.39,315.79,-27.04,1.307,-1.118,23.32
|
||||||
|
91,Board,A0,2,725.49,327.85,-27.51,-0.02708,0.03694,0.99895,724.61,327.11,-26.92,1.289,-0.587,24.21
|
||||||
|
92,Board,A0,2,644.7,-186.93,-25.55,-0.05883,-0.0185,0.9981,644.42,-185.49,-27.04,2.094,1.489,23.69
|
||||||
|
95,Board,A0,3,184.77,-273.26,-27.61,-0.03697,0.01835,0.99915,185.04,-272.99,-27.73,0.401,0.121,24.34
|
||||||
|
96,Board,A0,3,369.2,-185.74,-27.61,-0.04836,0.02152,0.9986,369.1,-186.1,-27.46,0.398,-0.148,24.06
|
||||||
|
103,Board,A0,3,104.63,-186.32,-27.25,-0.01721,0.02455,0.99955,105.03,-186.33,-27.85,0.721,0.6,24.42
|
||||||
|
105,Board,A0,3,524.3,-267.15,-27.08,-0.016,0.01938,0.99968,523.86,-266.44,-27.22,0.848,0.137,23.92
|
||||||
|
118,unknown,,3,322.99,-174.22,47.16,0.02335,-0.99462,0.10089,,,,,,24.14
|
||||||
|
122,Ellbow,,3,359.95,-173.78,46.07,0.00204,-0.99361,0.11286,,,,,,24.26
|
||||||
|
143,Arm2,,2,340.07,-138.22,229.66,-0.72695,-0.68151,0.08421,,,,,,24.03
|
||||||
|
144,Arm2,,3,362.93,-157.15,158.16,-0.05456,-0.9917,0.11642,,,,,,24.31
|
||||||
|
146,Arm2,,2,337.31,-147.71,160.02,-0.68833,-0.72303,0.05854,,,,,,24.0
|
||||||
|
147,FingerA,,3,383.25,-144.05,226.5,0.43778,-0.89607,0.07357,,,,,,23.85
|
||||||
|
148,Arm2,,3,367.21,-142.91,264.34,-0.04936,-0.99586,0.07639,,,,,,24.28
|
||||||
|
178,FingerB,,2,287.73,-121.4,315.33,-0.67179,-0.7215,-0.16775,,,,,,23.25
|
||||||
|
179,FingerB,,2,329.15,-139.64,311.4,-0.61251,-0.17201,0.77152,,,,,,23.53
|
||||||
|
198,Arm1,,2,268.53,-53.98,84.4,0.00864,0.01319,0.99988,,,,,,24.79
|
||||||
|
200,unknown,,2,199.66,-28.82,110.04,-0.15134,-0.01695,0.98834,,,,,,23.71
|
||||||
|
204,unknown,,2,198.48,115.43,120.91,0.03546,0.04428,0.99839,,,,,,24.17
|
||||||
|
208,Board,rail,2,626.35,-98.62,-6.79,-0.00084,0.01537,0.99988,631.01,-98.43,-7.71,4.748,0.917,24.04
|
||||||
|
210,Board,rail,2,129.9,-7.86,-5.67,0.06219,0.02253,0.99781,122.63,-13.98,-0.72,10.715,-4.946,23.24
|
||||||
|
214,unknown,,2,531.62,-8.59,-6.83,-0.02922,0.04196,0.99869,,,,,,24.25
|
||||||
|
217,Board,rail,2,730.01,-8.51,-5.0,-0.08513,-0.01438,0.99627,732.39,-23.88,7.39,19.881,-12.386,23.12
|
||||||
|
229,Arm1,,3,271.17,-142.11,79.1,0.01062,-0.04516,0.99892,,,,,,23.94
|
||||||
|
243,Arm1,,2,270.3,-176.61,43.73,0.02044,-0.9996,-0.01934,,,,,,24.13
|
||||||
|
|
||||||
|
camera_id,x_mm,y_mm,z_mm,dir_x,dir_y,dir_z
|
||||||
|
cam0,335.33,-885.66,468.37,-0.06588,0.89247,-0.44628
|
||||||
|
cam1,296.81,-462.82,780.61,0.09503,0.4331,-0.89632
|
||||||
|
cam2,712.91,-665.53,724.31,-0.42887,0.59445,-0.68022
|
||||||
|
2002
data/homing/20260625_172504/aruco_marker_poses.json
Normal file
BIN
data/homing/20260625_172504/cam0.jpg
Normal file
|
After Width: | Height: | Size: 98 KiB |
2645
data/homing/20260625_172504/cam0_aruco_detection.json
Normal file
481
data/homing/20260625_172504/cam0_camera_pose.json
Normal file
@@ -0,0 +1,481 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:25:09Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_172504/cam0_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam0",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1424.7584228515625,
|
||||||
|
0.0,
|
||||||
|
635.95947265625
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1421.5770263671875,
|
||||||
|
482.1744384765625
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.05634751915931702,
|
||||||
|
0.33765655755996704,
|
||||||
|
0.002130246954038739,
|
||||||
|
-0.004022662527859211,
|
||||||
|
-1.182201862335205
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 20,
|
||||||
|
"used_marker_ids": [
|
||||||
|
97,
|
||||||
|
66,
|
||||||
|
85,
|
||||||
|
54,
|
||||||
|
105,
|
||||||
|
69,
|
||||||
|
47,
|
||||||
|
95,
|
||||||
|
58,
|
||||||
|
64,
|
||||||
|
103,
|
||||||
|
62,
|
||||||
|
96,
|
||||||
|
208,
|
||||||
|
51,
|
||||||
|
79,
|
||||||
|
210,
|
||||||
|
68,
|
||||||
|
50,
|
||||||
|
91
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.011403454671871994,
|
||||||
|
0.001728926659833975,
|
||||||
|
0.0016691755968926973,
|
||||||
|
0.0016691753847773315
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 3.4096867660331136,
|
||||||
|
"residual_median_px": 1.5691231791727809,
|
||||||
|
"residual_max_px": 12.026369061549262,
|
||||||
|
"sigma2_normalized": 3.2778193707572165e-06
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
0.9973888397216797,
|
||||||
|
0.04563671350479126,
|
||||||
|
-0.05597161129117012
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.02958603762090206,
|
||||||
|
-0.4488010108470917,
|
||||||
|
-0.8931418061256409
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.0658801719546318,
|
||||||
|
0.8924656510353088,
|
||||||
|
-0.4462788999080658
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
-0.2678244411945343,
|
||||||
|
0.030760858207941055,
|
||||||
|
1.0215346813201904
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
2.0344335845398724,
|
||||||
|
0.011289329253343375,
|
||||||
|
-0.08570511152514877
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.33533409237861633,
|
||||||
|
-0.885656476020813,
|
||||||
|
0.4683726131916046
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
335.3341064453125,
|
||||||
|
-885.656494140625,
|
||||||
|
468.37261962890625
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 116.56741333007812,
|
||||||
|
"pitch": 3.777391195297241,
|
||||||
|
"yaw": -1.6990946531295776
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
9.702707532310775e-06,
|
||||||
|
1.2273484057683694e-06,
|
||||||
|
3.575388647845507e-06,
|
||||||
|
-1.2199370555784652e-07,
|
||||||
|
-2.1440042443296295e-06,
|
||||||
|
1.039618282302021e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.22734840576837e-06,
|
||||||
|
3.358446334387221e-06,
|
||||||
|
1.8878909236797321e-07,
|
||||||
|
4.651297819399596e-07,
|
||||||
|
-8.835069052569738e-07,
|
||||||
|
6.206962238461149e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
3.5753886478454758e-06,
|
||||||
|
1.8878909236796024e-07,
|
||||||
|
1.143731789507973e-05,
|
||||||
|
-7.216885572151019e-07,
|
||||||
|
-2.2145565854988443e-06,
|
||||||
|
-3.0088157401175667e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-1.219937055578466e-07,
|
||||||
|
4.651297819399599e-07,
|
||||||
|
-7.216885572151033e-07,
|
||||||
|
2.2942348340442282e-07,
|
||||||
|
3.6332485943604063e-08,
|
||||||
|
3.2363949947789566e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-2.1440042443296215e-06,
|
||||||
|
-8.835069052569716e-07,
|
||||||
|
-2.2145565854988506e-06,
|
||||||
|
3.633248594360388e-08,
|
||||||
|
9.86494679764419e-07,
|
||||||
|
6.579597825341255e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.039618282302198e-07,
|
||||||
|
6.206962238461218e-07,
|
||||||
|
-3.0088157401175595e-06,
|
||||||
|
3.2363949947789524e-07,
|
||||||
|
6.579597825341204e-07,
|
||||||
|
2.970696318843356e-06
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.1784715940965861,
|
||||||
|
0.10500061405868079,
|
||||||
|
0.19376919211544102
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0004789817151044733,
|
||||||
|
0.0009932243854056438,
|
||||||
|
0.0017235708047084566
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.0024386451901829424,
|
||||||
|
0.0013863680263389562,
|
||||||
|
0.002737631446074117
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
2.4386451901829425,
|
||||||
|
1.3863680263389562,
|
||||||
|
2.7376314460741167
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.19011944203297743,
|
||||||
|
"pitch": 0.14270986978198957,
|
||||||
|
"yaw": 0.1181609242753551
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 97,
|
||||||
|
"observed_center_px": [
|
||||||
|
676.25,
|
||||||
|
910.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
675.9551391601562,
|
||||||
|
911.3131713867188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8649801263910383,
|
||||||
|
"confidence": 0.42385670146087856
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 66,
|
||||||
|
"observed_center_px": [
|
||||||
|
480.5,
|
||||||
|
921.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
480.5653381347656,
|
||||||
|
919.2376098632812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.763600880544741,
|
||||||
|
"confidence": 0.2797311732321247
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
1080.0,
|
||||||
|
843.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1077.551025390625,
|
||||||
|
842.6098022460938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.605749158768581,
|
||||||
|
"confidence": 0.6761152978036918
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
753.5,
|
||||||
|
868.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
753.16845703125,
|
||||||
|
868.4518432617188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.33502210609070604,
|
||||||
|
"confidence": 0.6745646371332027
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
1098.25,
|
||||||
|
783.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1096.3798828125,
|
||||||
|
782.7687377929688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.0080046589625047,
|
||||||
|
"confidence": 0.53843639257073
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 69,
|
||||||
|
"observed_center_px": [
|
||||||
|
130.25,
|
||||||
|
818.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
131.2628631591797,
|
||||||
|
816.5780639648438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.9548048201489217,
|
||||||
|
"confidence": 0.6309056746154269
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 47,
|
||||||
|
"observed_center_px": [
|
||||||
|
755.0,
|
||||||
|
810.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
754.8045043945312,
|
||||||
|
810.226318359375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.19692473653729947,
|
||||||
|
"confidence": 0.558404255319149
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
461.25,
|
||||||
|
799.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
462.01556396484375,
|
||||||
|
799.7348022460938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7657148006869643,
|
||||||
|
"confidence": 0.5573620390355706
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 58,
|
||||||
|
"observed_center_px": [
|
||||||
|
243.0,
|
||||||
|
742.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
244.86248779296875,
|
||||||
|
742.42578125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.8639659872994379,
|
||||||
|
"confidence": 0.4721784486231997
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 64,
|
||||||
|
"observed_center_px": [
|
||||||
|
139.75,
|
||||||
|
714.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
141.61831665039062,
|
||||||
|
715.1568603515625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.197483328524737,
|
||||||
|
"confidence": 0.4471706966400147
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
350.75,
|
||||||
|
708.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
352.2232971191406,
|
||||||
|
708.7933959960938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6733444379103959,
|
||||||
|
"confidence": 0.3922909999211629
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
851.5,
|
||||||
|
685.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
851.7431640625,
|
||||||
|
686.1382446289062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9209274032584249,
|
||||||
|
"confidence": 0.3564780454484243
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
793.25,
|
||||||
|
698.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
793.7991333007812,
|
||||||
|
698.2991943359375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6253516072450701,
|
||||||
|
"confidence": 0.3348906742607279
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 208,
|
||||||
|
"observed_center_px": [
|
||||||
|
1202.5,
|
||||||
|
583.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1209.5457763671875,
|
||||||
|
583.9437866210938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 7.108705775496229,
|
||||||
|
"confidence": 0.28965074531908364
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 51,
|
||||||
|
"observed_center_px": [
|
||||||
|
458.0,
|
||||||
|
690.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
459.341064453125,
|
||||||
|
691.0894775390625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4649019204351656,
|
||||||
|
"confidence": 0.34674061533734285
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 79,
|
||||||
|
"observed_center_px": [
|
||||||
|
696.25,
|
||||||
|
672.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
697.0543212890625,
|
||||||
|
673.733154296875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6872105394342276,
|
||||||
|
"confidence": 0.3256815826862768
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 210,
|
||||||
|
"observed_center_px": [
|
||||||
|
439.25,
|
||||||
|
532.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
427.3565673828125,
|
||||||
|
530.716796875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 12.026369061549262,
|
||||||
|
"confidence": 0.15571821530659996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 68,
|
||||||
|
"observed_center_px": [
|
||||||
|
1027.25,
|
||||||
|
434.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1027.0755615234375,
|
||||||
|
434.6865539550781
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.47011502613700773,
|
||||||
|
"confidence": 0.09323781394061914
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 50,
|
||||||
|
"observed_center_px": [
|
||||||
|
1017.0,
|
||||||
|
413.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1016.9035034179688,
|
||||||
|
413.9068298339844
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.41811733301008686,
|
||||||
|
"confidence": 0.08307692198670814
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 91,
|
||||||
|
"observed_center_px": [
|
||||||
|
1165.5,
|
||||||
|
355.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1165.020751953125,
|
||||||
|
355.35980224609375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6180072633772071,
|
||||||
|
"confidence": 0.06871920537654881
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_172504/cam0_debug.jpg
Normal file
|
After Width: | Height: | Size: 209 KiB |
BIN
data/homing/20260625_172504/cam1.jpg
Normal file
|
After Width: | Height: | Size: 108 KiB |
3662
data/homing/20260625_172504/cam1_aruco_detection.json
Normal file
761
data/homing/20260625_172504/cam1_camera_pose.json
Normal file
@@ -0,0 +1,761 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:25:13Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_172504/cam1_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam1",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1367.5723876953125,
|
||||||
|
0.0,
|
||||||
|
672.1165771484375
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1372.3011474609375,
|
||||||
|
445.8396911621094
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.01016925647854805,
|
||||||
|
0.7656787633895874,
|
||||||
|
-0.0031530377455055714,
|
||||||
|
-0.00288817984983325,
|
||||||
|
-2.490830183029175
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 40,
|
||||||
|
"used_marker_ids": [
|
||||||
|
54,
|
||||||
|
95,
|
||||||
|
58,
|
||||||
|
85,
|
||||||
|
47,
|
||||||
|
103,
|
||||||
|
59,
|
||||||
|
48,
|
||||||
|
105,
|
||||||
|
51,
|
||||||
|
102,
|
||||||
|
96,
|
||||||
|
62,
|
||||||
|
71,
|
||||||
|
92,
|
||||||
|
63,
|
||||||
|
208,
|
||||||
|
210,
|
||||||
|
217,
|
||||||
|
74,
|
||||||
|
75,
|
||||||
|
52,
|
||||||
|
68,
|
||||||
|
76,
|
||||||
|
46,
|
||||||
|
53,
|
||||||
|
101,
|
||||||
|
50,
|
||||||
|
100,
|
||||||
|
82,
|
||||||
|
60,
|
||||||
|
67,
|
||||||
|
73,
|
||||||
|
94,
|
||||||
|
70,
|
||||||
|
104,
|
||||||
|
98,
|
||||||
|
90,
|
||||||
|
91,
|
||||||
|
88
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.011372574297308506,
|
||||||
|
0.0021949616225605375,
|
||||||
|
0.002143709970633132,
|
||||||
|
0.002143709690342172
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 4.23364353800265,
|
||||||
|
"residual_median_px": 1.0679787737296105,
|
||||||
|
"residual_max_px": 19.348939630537274,
|
||||||
|
"sigma2_normalized": 4.968098633993014e-06
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
-0.9951881766319275,
|
||||||
|
0.019756384193897247,
|
||||||
|
-0.0959698036313057
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.02385592833161354,
|
||||||
|
0.9011316895484924,
|
||||||
|
0.4328886866569519
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.09503374248743057,
|
||||||
|
0.43309515714645386,
|
||||||
|
-0.8963242769241333
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
0.37943923473358154,
|
||||||
|
0.0862211212515831,
|
||||||
|
0.8719164729118347
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
0.0032072073338993575,
|
||||||
|
-2.967110340660477,
|
||||||
|
-0.6774876643558738
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.2968088686466217,
|
||||||
|
-0.4628157615661621,
|
||||||
|
0.7806104421615601
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
296.8088684082031,
|
||||||
|
-462.8157653808594,
|
||||||
|
780.6104125976562
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 154.21060180664062,
|
||||||
|
"pitch": -5.453261375427246,
|
||||||
|
"yaw": -178.62680053710938
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
2.2460757709580997e-06,
|
||||||
|
-1.0592111231264017e-07,
|
||||||
|
-5.911479445197522e-07,
|
||||||
|
9.807677828663091e-09,
|
||||||
|
6.656021402664132e-07,
|
||||||
|
1.8807173299942092e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-1.059211123126279e-07,
|
||||||
|
7.819602866884685e-06,
|
||||||
|
-8.896995228371429e-07,
|
||||||
|
-8.928123497147304e-07,
|
||||||
|
8.447874310868068e-07,
|
||||||
|
-3.883503279890717e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-5.911479445197253e-07,
|
||||||
|
-8.896995228370399e-07,
|
||||||
|
1.8982339503369444e-05,
|
||||||
|
-6.420456812663701e-07,
|
||||||
|
-7.934435641861599e-07,
|
||||||
|
3.082335762957178e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
9.807677828661003e-09,
|
||||||
|
-8.928123497147341e-07,
|
||||||
|
-6.42045681266356e-07,
|
||||||
|
2.4448642118127635e-07,
|
||||||
|
-7.775978286233749e-08,
|
||||||
|
3.809119252748882e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
6.656021402664136e-07,
|
||||||
|
8.447874310868029e-07,
|
||||||
|
-7.934435641861794e-07,
|
||||||
|
-7.775978286233639e-08,
|
||||||
|
4.178437168687293e-07,
|
||||||
|
-3.614395664399821e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.880717329994141e-07,
|
||||||
|
-3.883503279890717e-06,
|
||||||
|
3.08233576295777e-07,
|
||||||
|
3.809119252748862e-07,
|
||||||
|
-3.614395664399844e-07,
|
||||||
|
2.809559727575109e-06
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.08586868930820345,
|
||||||
|
0.16021935571577825,
|
||||||
|
0.24963041613501347
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0004944556817160425,
|
||||||
|
0.000646408320544166,
|
||||||
|
0.001676174134025194
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.0028646163342597826,
|
||||||
|
0.0025089246532298257,
|
||||||
|
0.001967934179216506
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
2.8646163342597823,
|
||||||
|
2.5089246532298257,
|
||||||
|
1.967934179216506
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.1994418033453169,
|
||||||
|
"pitch": 0.16062277696661237,
|
||||||
|
"yaw": 0.07987033548886921
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
735.25,
|
||||||
|
38.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
735.0857543945312,
|
||||||
|
38.939788818359375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4694580105501786,
|
||||||
|
"confidence": 0.2985929580100399
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
1005.5,
|
||||||
|
139.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1004.7282104492188,
|
||||||
|
139.58082580566406
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9659284275868637,
|
||||||
|
"confidence": 0.9357112460666233
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 58,
|
||||||
|
"observed_center_px": [
|
||||||
|
1234.75,
|
||||||
|
235.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1234.0849609375,
|
||||||
|
235.2240447998047
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6655453606389707,
|
||||||
|
"confidence": 0.36770453019575644
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
458.0,
|
||||||
|
68.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
458.2991027832031,
|
||||||
|
69.70124816894531
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2379255382753527,
|
||||||
|
"confidence": 0.8685664374455692
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 47,
|
||||||
|
"observed_center_px": [
|
||||||
|
731.5,
|
||||||
|
117.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
731.38525390625,
|
||||||
|
117.72209930419922
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.485844027498816,
|
||||||
|
"confidence": 0.9524913713047937
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
1128.75,
|
||||||
|
284.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1128.236083984375,
|
||||||
|
284.30267333984375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5504974858473882,
|
||||||
|
"confidence": 0.9144001450649527
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 59,
|
||||||
|
"observed_center_px": [
|
||||||
|
262.25,
|
||||||
|
123.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
263.9138488769531,
|
||||||
|
125.33772277832031
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.479035718842208,
|
||||||
|
"confidence": 0.9376517069038668
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 48,
|
||||||
|
"observed_center_px": [
|
||||||
|
148.5,
|
||||||
|
51.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
149.4849395751953,
|
||||||
|
51.862728118896484
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3093531891436279,
|
||||||
|
"confidence": 0.5517245546325658
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
432.0,
|
||||||
|
147.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
432.3002014160156,
|
||||||
|
149.29176330566406
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.5707179826022124,
|
||||||
|
"confidence": 0.9442241264421224
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 51,
|
||||||
|
"observed_center_px": [
|
||||||
|
1019.75,
|
||||||
|
308.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1019.1754150390625,
|
||||||
|
307.9459228515625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5771240900522866,
|
||||||
|
"confidence": 0.9297130863840988
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 102,
|
||||||
|
"observed_center_px": [
|
||||||
|
239.25,
|
||||||
|
213.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
240.9429473876953,
|
||||||
|
215.61300659179688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.5173129361648683,
|
||||||
|
"confidence": 0.9498751926981491
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
689.75,
|
||||||
|
280.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
689.872314453125,
|
||||||
|
280.85595703125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.37638575097840954,
|
||||||
|
"confidence": 0.8766456914396368
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
634.75,
|
||||||
|
296.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
634.6029052734375,
|
||||||
|
297.34588623046875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6137729696270053,
|
||||||
|
"confidence": 0.8625841801430425
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 71,
|
||||||
|
"observed_center_px": [
|
||||||
|
63.5,
|
||||||
|
113.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
64.10832977294922,
|
||||||
|
114.1216812133789
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8698003470479402,
|
||||||
|
"confidence": 0.6962965934908386
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 92,
|
||||||
|
"observed_center_px": [
|
||||||
|
256.25,
|
||||||
|
273.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
257.945556640625,
|
||||||
|
274.84429931640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.327381067178508,
|
||||||
|
"confidence": 0.8785732433921414
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 63,
|
||||||
|
"observed_center_px": [
|
||||||
|
36.75,
|
||||||
|
191.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
37.489715576171875,
|
||||||
|
191.14720153808594
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7468243819019208,
|
||||||
|
"confidence": 0.23403229407345516
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 208,
|
||||||
|
"observed_center_px": [
|
||||||
|
295.25,
|
||||||
|
413.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
288.3956298828125,
|
||||||
|
413.3526916503906
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 6.8658752994838395,
|
||||||
|
"confidence": 0.7372980849807326
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 210,
|
||||||
|
"observed_center_px": [
|
||||||
|
1059.0,
|
||||||
|
559.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1073.6019287109375,
|
||||||
|
555.7957763671875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 15.127861931469159,
|
||||||
|
"confidence": 0.6136138322804316
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 217,
|
||||||
|
"observed_center_px": [
|
||||||
|
162.25,
|
||||||
|
532.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
146.7255401611328,
|
||||||
|
520.9512939453125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 19.348939630537274,
|
||||||
|
"confidence": 0.6320655742155583
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 74,
|
||||||
|
"observed_center_px": [
|
||||||
|
1086.0,
|
||||||
|
734.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1084.8804931640625,
|
||||||
|
735.0576782226562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1610174177882524,
|
||||||
|
"confidence": 0.49861888008985367
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 75,
|
||||||
|
"observed_center_px": [
|
||||||
|
1251.5,
|
||||||
|
801.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1249.17626953125,
|
||||||
|
800.1643676757812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.8131749250632194,
|
||||||
|
"confidence": 0.06713952659324364
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 52,
|
||||||
|
"observed_center_px": [
|
||||||
|
1075.25,
|
||||||
|
807.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1073.9066162109375,
|
||||||
|
807.3248291015625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.354756379713829,
|
||||||
|
"confidence": 0.44660041827617547
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 68,
|
||||||
|
"observed_center_px": [
|
||||||
|
421.5,
|
||||||
|
733.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
422.2747497558594,
|
||||||
|
733.5101318359375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9276161243969003,
|
||||||
|
"confidence": 0.453656743367513
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 76,
|
||||||
|
"observed_center_px": [
|
||||||
|
274.0,
|
||||||
|
722.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
274.78045654296875,
|
||||||
|
723.6485595703125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.19017717876916,
|
||||||
|
"confidence": 0.42914121819077033
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 46,
|
||||||
|
"observed_center_px": [
|
||||||
|
472.5,
|
||||||
|
751.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
472.7325744628906,
|
||||||
|
751.6512451171875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4637763737575183,
|
||||||
|
"confidence": 0.42705375163400877
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 53,
|
||||||
|
"observed_center_px": [
|
||||||
|
541.0,
|
||||||
|
783.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
541.320556640625,
|
||||||
|
783.3278198242188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.32986737469810884,
|
||||||
|
"confidence": 0.4239630899600427
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 101,
|
||||||
|
"observed_center_px": [
|
||||||
|
1031.25,
|
||||||
|
900.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1029.7542724609375,
|
||||||
|
900.5302124023438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4960326401403623,
|
||||||
|
"confidence": 0.3366794154513476
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 50,
|
||||||
|
"observed_center_px": [
|
||||||
|
427.25,
|
||||||
|
777.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
427.572998046875,
|
||||||
|
777.9152221679688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5260581593870906,
|
||||||
|
"confidence": 0.3955545216798782
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 100,
|
||||||
|
"observed_center_px": [
|
||||||
|
120.0,
|
||||||
|
723.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
122.01116180419922,
|
||||||
|
723.669677734375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.018306799327716,
|
||||||
|
"confidence": 0.4621067158671878
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 82,
|
||||||
|
"observed_center_px": [
|
||||||
|
894.75,
|
||||||
|
890.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
893.3291625976562,
|
||||||
|
890.5499267578125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.523547952267044,
|
||||||
|
"confidence": 0.37908960001789416
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 60,
|
||||||
|
"observed_center_px": [
|
||||||
|
613.0,
|
||||||
|
860.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
612.6180419921875,
|
||||||
|
860.841552734375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.39277706514463534,
|
||||||
|
"confidence": 0.3907528879258137
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 67,
|
||||||
|
"observed_center_px": [
|
||||||
|
497.75,
|
||||||
|
837.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
497.95806884765625,
|
||||||
|
838.1924438476562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.48892658313275084,
|
||||||
|
"confidence": 0.3865272468846743
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 73,
|
||||||
|
"observed_center_px": [
|
||||||
|
889.25,
|
||||||
|
925.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
887.6505126953125,
|
||||||
|
926.299560546875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6912647434798707,
|
||||||
|
"confidence": 0.15682847151496923
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 94,
|
||||||
|
"observed_center_px": [
|
||||||
|
29.0,
|
||||||
|
720.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
31.336706161499023,
|
||||||
|
720.2244873046875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.3528924604549735,
|
||||||
|
"confidence": 0.09146699566173024
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 70,
|
||||||
|
"observed_center_px": [
|
||||||
|
401.25,
|
||||||
|
866.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
401.60943603515625,
|
||||||
|
867.041259765625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.46262999734212534,
|
||||||
|
"confidence": 0.35896437880813437
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 104,
|
||||||
|
"observed_center_px": [
|
||||||
|
107.5,
|
||||||
|
792.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
109.24372100830078,
|
||||||
|
792.2886352539062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.7674482353344945,
|
||||||
|
"confidence": 0.3880719051456888
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 98,
|
||||||
|
"observed_center_px": [
|
||||||
|
436.5,
|
||||||
|
882.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
436.5618896484375,
|
||||||
|
883.1439819335938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8961216581333906,
|
||||||
|
"confidence": 0.36026641726859315
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 90,
|
||||||
|
"observed_center_px": [
|
||||||
|
351.75,
|
||||||
|
880.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
352.1582336425781,
|
||||||
|
880.5147094726562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4865447685943754,
|
||||||
|
"confidence": 0.3567245846660417
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 91,
|
||||||
|
"observed_center_px": [
|
||||||
|
254.25,
|
||||||
|
887.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
255.22390747070312,
|
||||||
|
886.9551391601562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9749401296709685,
|
||||||
|
"confidence": 0.3494656541641164
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 88,
|
||||||
|
"observed_center_px": [
|
||||||
|
199.75,
|
||||||
|
872.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
201.13644409179688,
|
||||||
|
872.6148681640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3911944201992585,
|
||||||
|
"confidence": 0.347903013426907
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_172504/cam1_debug.jpg
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
data/homing/20260625_172504/cam2.jpg
Normal file
|
After Width: | Height: | Size: 220 KiB |
2521
data/homing/20260625_172504/cam2_aruco_detection.json
Normal file
495
data/homing/20260625_172504/cam2_camera_pose.json
Normal file
@@ -0,0 +1,495 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:25:15Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_172504/cam2_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam2",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1388.99072265625,
|
||||||
|
0.0,
|
||||||
|
933.082763671875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1394.8729248046875,
|
||||||
|
562.4996948242188
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.019531700760126114,
|
||||||
|
-0.11213663965463638,
|
||||||
|
0.0026758278254419565,
|
||||||
|
0.0007694826927036047,
|
||||||
|
0.05339815095067024
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 21,
|
||||||
|
"used_marker_ids": [
|
||||||
|
85,
|
||||||
|
92,
|
||||||
|
105,
|
||||||
|
54,
|
||||||
|
93,
|
||||||
|
66,
|
||||||
|
217,
|
||||||
|
62,
|
||||||
|
96,
|
||||||
|
95,
|
||||||
|
79,
|
||||||
|
76,
|
||||||
|
103,
|
||||||
|
64,
|
||||||
|
46,
|
||||||
|
90,
|
||||||
|
53,
|
||||||
|
86,
|
||||||
|
84,
|
||||||
|
82,
|
||||||
|
73
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.014228673477920699,
|
||||||
|
0.0012360717022841035,
|
||||||
|
0.0009070175499997285,
|
||||||
|
0.0009070142696966918
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 1.7852212006525887,
|
||||||
|
"residual_median_px": 1.0469264348760319,
|
||||||
|
"residual_max_px": 6.647095648204168,
|
||||||
|
"sigma2_normalized": 9.597873663078857e-07
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
0.7617526054382324,
|
||||||
|
0.6427322030067444,
|
||||||
|
0.08141452819108963
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.48559483885765076,
|
||||||
|
-0.4832412004470825,
|
||||||
|
-0.7284748554229736
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.42887139320373535,
|
||||||
|
0.5944520831108093,
|
||||||
|
-0.6802176833152771
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
-0.1742696762084961,
|
||||||
|
-0.1401522308588028,
|
||||||
|
1.1940648555755615
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
2.1767839356074785,
|
||||||
|
0.8396398702141942,
|
||||||
|
-0.2585585732707637
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.7129078507423401,
|
||||||
|
-0.6655329465866089,
|
||||||
|
0.7243147492408752
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
712.9078369140625,
|
||||||
|
-665.532958984375,
|
||||||
|
724.3147583007812
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 138.84930419921875,
|
||||||
|
"pitch": 25.395954132080078,
|
||||||
|
"yaw": 32.51630783081055
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
2.4924502189037485e-06,
|
||||||
|
7.284908255672299e-07,
|
||||||
|
2.0024504778922095e-07,
|
||||||
|
6.993863992084647e-08,
|
||||||
|
-3.359070245275866e-07,
|
||||||
|
5.600958340179941e-09
|
||||||
|
],
|
||||||
|
[
|
||||||
|
7.284908255672354e-07,
|
||||||
|
1.064107327675121e-06,
|
||||||
|
-2.3219104124960886e-08,
|
||||||
|
2.319589057300187e-07,
|
||||||
|
-2.846525717659831e-07,
|
||||||
|
1.5012786826699554e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2.0024504778920997e-07,
|
||||||
|
-2.3219104124972556e-08,
|
||||||
|
4.278959925593973e-06,
|
||||||
|
-1.4661732034947215e-07,
|
||||||
|
-6.23228741847165e-07,
|
||||||
|
-1.5703080494058352e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
6.993863992084778e-08,
|
||||||
|
2.3195890573001912e-07,
|
||||||
|
-1.4661732034946982e-07,
|
||||||
|
1.0962701995068561e-07,
|
||||||
|
-2.8204197612513988e-08,
|
||||||
|
1.4125379662533936e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-3.359070245275866e-07,
|
||||||
|
-2.8465257176598095e-07,
|
||||||
|
-6.232287418471685e-07,
|
||||||
|
-2.8204197612513405e-08,
|
||||||
|
2.305112527858795e-07,
|
||||||
|
2.649685210729187e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
5.600958340183888e-09,
|
||||||
|
1.5012786826699972e-07,
|
||||||
|
-1.5703080494058346e-06,
|
||||||
|
1.4125379662534013e-07,
|
||||||
|
2.6496852107291726e-07,
|
||||||
|
1.078572601871589e-06
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.09045568752546955,
|
||||||
|
0.05910379253809281,
|
||||||
|
0.11852002706372318
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0003310997130030251,
|
||||||
|
0.00048011587433231107,
|
||||||
|
0.0010385435002307746
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.0015926294915772563,
|
||||||
|
0.001282414773137875,
|
||||||
|
0.0014297273307869451
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
1.5926294915772563,
|
||||||
|
1.282414773137875,
|
||||||
|
1.4297273307869451
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.12744173458500993,
|
||||||
|
"pitch": 0.08524351737408967,
|
||||||
|
"yaw": 0.06595345807707714
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
943.25,
|
||||||
|
1039.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
943.3576049804688,
|
||||||
|
1037.9586181640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.0469264348760319,
|
||||||
|
"confidence": 0.25017342512163626
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 92,
|
||||||
|
"observed_center_px": [
|
||||||
|
1262.25,
|
||||||
|
1041.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1262.399658203125,
|
||||||
|
1040.8380126953125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9241852745384849,
|
||||||
|
"confidence": 0.18638720024967376
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
1019.5,
|
||||||
|
1007.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1019.3496704101562,
|
||||||
|
1006.0000610351562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2589465443049024,
|
||||||
|
"confidence": 0.7893291944675445
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
726.75,
|
||||||
|
892.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
727.0918579101562,
|
||||||
|
891.9924926757812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4279916503422691,
|
||||||
|
"confidence": 0.712278812924601
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 93,
|
||||||
|
"observed_center_px": [
|
||||||
|
1893.5,
|
||||||
|
971.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1894.048095703125,
|
||||||
|
971.9451904296875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.70611855836639,
|
||||||
|
"confidence": 0.042321015168188404
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 66,
|
||||||
|
"observed_center_px": [
|
||||||
|
548.25,
|
||||||
|
804.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
549.4153442382812,
|
||||||
|
803.2486572265625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.5364616961092168,
|
||||||
|
"confidence": 0.5883494177188935
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 217,
|
||||||
|
"observed_center_px": [
|
||||||
|
1527.25,
|
||||||
|
916.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1529.0672607421875,
|
||||||
|
922.8938598632812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 6.647095648204168,
|
||||||
|
"confidence": 0.45290577054800996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
962.0,
|
||||||
|
802.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
961.2557373046875,
|
||||||
|
802.291748046875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7728491674409725,
|
||||||
|
"confidence": 0.6057547967936824
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
912.25,
|
||||||
|
783.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
911.0736694335938,
|
||||||
|
783.0982055664062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.18608395635878,
|
||||||
|
"confidence": 0.5545391608146377
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
630.5,
|
||||||
|
709.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
631.0589599609375,
|
||||||
|
709.0905151367188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6929026563578145,
|
||||||
|
"confidence": 0.4695004591117706
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 79,
|
||||||
|
"observed_center_px": [
|
||||||
|
875.75,
|
||||||
|
715.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
875.3380126953125,
|
||||||
|
715.4541625976562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6131861090513578,
|
||||||
|
"confidence": 0.5142115324222218
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 76,
|
||||||
|
"observed_center_px": [
|
||||||
|
1551.75,
|
||||||
|
746.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1552.177490234375,
|
||||||
|
744.9830322265625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.576051752365359,
|
||||||
|
"confidence": 0.29593493306278906
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
648.5,
|
||||||
|
590.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
648.8373413085938,
|
||||||
|
590.6143798828125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7009007054415375,
|
||||||
|
"confidence": 0.39305998326235797
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 64,
|
||||||
|
"observed_center_px": [
|
||||||
|
541.0,
|
||||||
|
511.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
541.9498901367188,
|
||||||
|
512.197021484375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3413206043684687,
|
||||||
|
"confidence": 0.3099175748319284
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 46,
|
||||||
|
"observed_center_px": [
|
||||||
|
1382.0,
|
||||||
|
629.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1381.5179443359375,
|
||||||
|
628.320556640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8330791930264032,
|
||||||
|
"confidence": 0.26236530151152454
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 90,
|
||||||
|
"observed_center_px": [
|
||||||
|
1573.0,
|
||||||
|
614.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1573.05712890625,
|
||||||
|
612.7874145507812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4637007577355878,
|
||||||
|
"confidence": 0.21907023701319386
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 53,
|
||||||
|
"observed_center_px": [
|
||||||
|
1341.0,
|
||||||
|
580.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1340.56494140625,
|
||||||
|
579.7637939453125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.49504472552160556,
|
||||||
|
"confidence": 0.22146320976627604
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 86,
|
||||||
|
"observed_center_px": [
|
||||||
|
1260.75,
|
||||||
|
466.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1259.335205078125,
|
||||||
|
466.6405944824219
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4217635103809503,
|
||||||
|
"confidence": 0.19461123347835588
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 84,
|
||||||
|
"observed_center_px": [
|
||||||
|
1285.5,
|
||||||
|
508.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1284.366455078125,
|
||||||
|
507.854248046875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.200643035340168,
|
||||||
|
"confidence": 0.17943691614102802
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 82,
|
||||||
|
"observed_center_px": [
|
||||||
|
1130.0,
|
||||||
|
393.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1129.2742919921875,
|
||||||
|
393.4766540527344
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7260834289920938,
|
||||||
|
"confidence": 0.18215071600887703
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 73,
|
||||||
|
"observed_center_px": [
|
||||||
|
1154.0,
|
||||||
|
379.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1152.795654296875,
|
||||||
|
379.095703125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2081422353226527,
|
||||||
|
"confidence": 0.17728829216377978
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_172504/cam2_debug.jpg
Normal file
|
After Width: | Height: | Size: 353 KiB |
2487
data/homing/20260625_172504/robot_1781069752019.json
Normal file
59
data/homing/20260625_172504/robot_state.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:25:19Z",
|
||||||
|
"method": "hybrid",
|
||||||
|
"seeded": true,
|
||||||
|
"movements": {
|
||||||
|
"x": {
|
||||||
|
"value": 162.42504894251783,
|
||||||
|
"unit": "mm",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 4
|
||||||
|
},
|
||||||
|
"y": {
|
||||||
|
"value": -1.169420311588133,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 4
|
||||||
|
},
|
||||||
|
"z": {
|
||||||
|
"value": 98.46924561003269,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 1
|
||||||
|
},
|
||||||
|
"a": {
|
||||||
|
"value": 89.51769789582495,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 4
|
||||||
|
},
|
||||||
|
"b": {
|
||||||
|
"value": -47.89793601064412,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
},
|
||||||
|
"c": {
|
||||||
|
"value": -64.66160343747586,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
},
|
||||||
|
"e": {
|
||||||
|
"value": 15.8937800585978,
|
||||||
|
"unit": "mm",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"residual_rms": 22.202829667894964,
|
||||||
|
"num_markers": 43
|
||||||
|
}
|
||||||
105
data/homing/20260625_172504/state_Arm1.json
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Arm1",
|
||||||
|
"joint": "y",
|
||||||
|
"method": "primary",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
216.50906842923365,
|
||||||
|
108.3968,
|
||||||
|
46.3163
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
-1.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 8.73396517409613,
|
||||||
|
"circular_variance": 0.07161679045871494,
|
||||||
|
"circular_std_deg": 22.088350114431325,
|
||||||
|
"num_pairs_used": 6,
|
||||||
|
"num_markers_matched": 4,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
198
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 2.7136316277566275,
|
||||||
|
"baseline_model_mm": 120.70271952197267,
|
||||||
|
"baseline_obs_mm": 235.58340824705388,
|
||||||
|
"weight": 28435.558049674528
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 36.09512656392027,
|
||||||
|
"baseline_model_mm": 63.35571402801804,
|
||||||
|
"baseline_obs_mm": 159.67340571245236,
|
||||||
|
"weight": 10116.222630197835
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 88.90480962311312,
|
||||||
|
"baseline_model_mm": 34.32559540634365,
|
||||||
|
"baseline_obs_mm": 110.45934908729735,
|
||||||
|
"weight": 3791.582925618644
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
198,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -3.440668721283733,
|
||||||
|
"baseline_model_mm": 89.99999999999997,
|
||||||
|
"baseline_obs_mm": 88.29072557685865,
|
||||||
|
"weight": 7946.165301917275
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
198,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -2.7040713039960176,
|
||||||
|
"baseline_model_mm": 129.8075498574717,
|
||||||
|
"baseline_obs_mm": 129.20056719980755,
|
||||||
|
"weight": 16771.209068402644
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
229,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -0.7105184107327543,
|
||||||
|
"baseline_model_mm": 49.49747468305837,
|
||||||
|
"baseline_obs_mm": 49.40955380679017,
|
||||||
|
"weight": 2445.6481386528067
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 106.50906842923364,
|
||||||
|
"y": 8.73396517409613
|
||||||
|
}
|
||||||
|
}
|
||||||
101
data/homing/20260625_172504/state_Arm2.json
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Arm2",
|
||||||
|
"joint": "a",
|
||||||
|
"method": "primary",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
306.50906842923365,
|
||||||
|
-138.70421127250364,
|
||||||
|
84.27799422070137
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
0.0,
|
||||||
|
0.13361549880725562,
|
||||||
|
0.9910332479177922
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 93.37084948672933,
|
||||||
|
"circular_variance": 0.0007324693649812808,
|
||||||
|
"circular_std_deg": 2.193370075603702,
|
||||||
|
"num_pairs_used": 4,
|
||||||
|
"num_markers_matched": 4,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
144
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 89.94688841244773,
|
||||||
|
"baseline_model_mm": 26.68445427585132,
|
||||||
|
"baseline_obs_mm": 24.643765187064083,
|
||||||
|
"weight": 657.6054253190281
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
146
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": true,
|
||||||
|
"reason": "bl_model=0.3 bl_obs=2.8 < 15.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 93.80406057538599,
|
||||||
|
"baseline_model_mm": 26.836171485515575,
|
||||||
|
"baseline_obs_mm": 28.679452701596173,
|
||||||
|
"weight": 769.6467108107678
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
144,
|
||||||
|
146
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 92.82624404009415,
|
||||||
|
"baseline_model_mm": 26.791733799812224,
|
||||||
|
"baseline_obs_mm": 27.197454261300408,
|
||||||
|
"weight": 728.6669546013292
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
144,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": true,
|
||||||
|
"reason": "bl_model=0.4 bl_obs=4.3 < 15.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
146,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 96.11666161271195,
|
||||||
|
"baseline_model_mm": 26.946706663338293,
|
||||||
|
"baseline_obs_mm": 31.282017166008377,
|
||||||
|
"weight": 842.9473404099408
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 106.50906842923364,
|
||||||
|
"y": 8.73396517409613,
|
||||||
|
"z": 88.94460334069886,
|
||||||
|
"a": 93.37084948672933
|
||||||
|
}
|
||||||
|
}
|
||||||
54
data/homing/20260625_172504/state_Ellbow.json
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Ellbow",
|
||||||
|
"joint": "z",
|
||||||
|
"method": "fallback_1_child_axis",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
216.50906842923365,
|
||||||
|
-138.70421127250364,
|
||||||
|
84.27799422070137
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
-1.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 88.94460334069886,
|
||||||
|
"circular_variance": 5.079874864089007e-07,
|
||||||
|
"circular_std_deg": 0.05775162282873076,
|
||||||
|
"num_pairs_used": 2,
|
||||||
|
"num_markers_matched": 1,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
146
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "fallback_1_child_axis",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 89.03275897168004,
|
||||||
|
"baseline_model_mm": 70.00000071428568,
|
||||||
|
"baseline_obs_mm": 70.28215356251216,
|
||||||
|
"weight": 4919.750799577387
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
144,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "fallback_1_child_axis",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 88.90676969215383,
|
||||||
|
"baseline_model_mm": 106.99999999999999,
|
||||||
|
"baseline_obs_mm": 107.1349128404376,
|
||||||
|
"weight": 11463.43567392682
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 106.50906842923364,
|
||||||
|
"y": 8.73396517409613,
|
||||||
|
"z": 88.94460334069886
|
||||||
|
}
|
||||||
|
}
|
||||||
61
data/homing/20260625_175916/aruco_marker_poses.csv
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
marker_id,link,set,num_cameras,x_mm,y_mm,z_mm,nx,ny,nz,model_x_mm,model_y_mm,model_z_mm,dist_to_model_mm,delta_z_mm,edge_length_mm
|
||||||
|
0,unknown,,3,505.79,-100.06,-8.17,0.00654,-0.01478,0.99987,,,,,,23.71
|
||||||
|
46,Board,A0,2,537.9,185.52,-27.5,0.0061,0.00117,0.99998,537.44,185.2,-27.2,0.638,-0.305,23.83
|
||||||
|
47,Board,A0,3,343.34,-286.18,-27.52,-0.00826,0.02432,0.99967,343.18,-286.05,-27.49,0.21,-0.034,24.1
|
||||||
|
50,Board,A0,3,574.64,211.77,-27.34,0.00242,0.0109,0.99994,574.23,211.48,-27.15,0.539,-0.186,24.07
|
||||||
|
51,Board,A0,3,166.89,-171.06,-27.49,-0.04142,0.00081,0.99914,167.18,-170.93,-27.76,0.417,0.272,24.2
|
||||||
|
53,Board,A0,3,487.16,212.93,-27.58,0.06677,0.02171,0.99753,487.08,212.19,-27.28,0.798,-0.296,23.92
|
||||||
|
54,Board,A0,3,341.31,-330.18,-27.55,-0.01014,0.01262,0.99987,341.05,-330.09,-27.5,0.275,-0.049,24.21
|
||||||
|
55,Arm1,A0,3,282.71,-261.9,-26.63,-0.03413,0.00638,0.9994,,,,,,24.37
|
||||||
|
56,Arm1,A0,2,500.02,169.42,-27.88,-0.01336,0.00216,0.99991,,,,,,23.7
|
||||||
|
58,Board,A0,3,48.69,-216.76,-27.87,-0.0193,0.00188,0.99981,49.3,-216.52,-27.93,0.658,0.059,24.44
|
||||||
|
60,Board,A0,2,435.69,286.11,-29.34,-0.04419,0.06927,0.99662,435.46,283.95,-27.36,2.937,-1.981,24.83
|
||||||
|
62,Board,A0,3,404.22,-174.75,-27.14,0.00893,-0.00881,0.99992,404.07,-174.84,-27.4,0.313,0.259,23.96
|
||||||
|
64,Board,A0,2,-22.33,-187.15,-26.56,0.02977,0.00062,0.99956,-21.95,-186.37,-28.04,1.719,1.484,23.66
|
||||||
|
66,Board,A0,2,207.97,-362.78,-28.65,-0.08,0.0928,0.99247,208.41,-362.24,-27.7,1.18,-0.951,25.14
|
||||||
|
67,Board,A0,2,524.61,268.02,-28.51,-0.0163,-0.00123,0.99987,524.1,266.85,-27.22,1.818,-1.29,23.6
|
||||||
|
68,Board,A0,3,575.05,170.15,-27.14,0.01722,0.03205,0.99934,574.4,170.26,-27.15,0.663,0.006,24.1
|
||||||
|
69,Board,A0,2,6.91,-280.99,-27.23,-0.00089,0.03112,0.99952,6.58,-279.46,-28,1.744,0.77,24.07
|
||||||
|
70,Board,A0,2,603.56,300.57,-28.34,-0.06715,0.04327,0.9968,603.03,299.84,-27.11,1.527,-1.233,23.99
|
||||||
|
73,Board,A0,2,222.01,337.1,-29.9,-0.0437,0.11256,0.99268,223.01,334.05,-27.67,3.914,-2.235,25.6
|
||||||
|
75,Board,A0,2,-27.07,199.16,-28.78,-0.06027,0.14192,0.98804,-24.94,196.46,-28.04,3.523,-0.736,26.71
|
||||||
|
76,Board,A0,2,686.17,164.68,-26.47,-0.08323,0.00998,0.99648,685.86,166,-26.98,1.45,0.514,23.85
|
||||||
|
77,Arm1,A0,2,17.53,194.86,-28.25,-0.02333,0.14876,0.9886,,,,,,26.07
|
||||||
|
79,Board,A0,2,311.53,-157.96,-26.95,0.02919,-0.01163,0.99951,311.73,-158.5,-27.54,0.827,0.59,24.03
|
||||||
|
82,Board,A0,2,219.4,300.84,-30.04,0.00365,0.102,0.99478,220.31,298.19,-27.68,3.663,-2.363,25.25
|
||||||
|
85,Board,A0,3,504.05,-313.36,-27.37,-0.00147,-0.03538,0.99937,503.43,-312.87,-27.25,0.799,-0.124,24.1
|
||||||
|
88,Board,A0,2,767.2,313.41,-25.61,0.05089,-0.00066,0.9987,767.09,314.94,-26.86,1.978,1.252,23.68
|
||||||
|
90,Board,A0,2,644.9,315.86,-27.76,-0.00476,-0.03483,0.99938,644.39,315.79,-27.04,0.882,-0.718,23.64
|
||||||
|
91,Board,A0,2,725.06,326.79,-26.9,-0.04318,-0.00677,0.99904,724.61,327.11,-26.92,0.553,0.023,23.76
|
||||||
|
92,Board,A0,2,644.97,-186.59,-26.03,0.03072,-0.01393,0.99943,644.42,-185.49,-27.04,1.592,1.007,24.18
|
||||||
|
94,Board,A0,2,875.22,168.95,-22.69,0.07264,0.05485,0.99585,876.38,172.13,-26.7,5.244,4.006,24.44
|
||||||
|
95,Board,A0,3,184.79,-273.16,-27.83,-0.00258,0.02727,0.99962,185.04,-272.99,-27.73,0.315,-0.097,24.35
|
||||||
|
96,Board,A0,3,369.18,-185.71,-27.51,0.02262,0.01808,0.99958,369.1,-186.1,-27.46,0.4,-0.049,24.16
|
||||||
|
97,Board,A0,2,303.36,-359.54,-26.35,-0.00502,0.02288,0.99973,303.02,-359.03,-27.55,1.344,1.197,24.46
|
||||||
|
98,Board,A0,2,577.15,315.74,-29.24,-0.02274,0.04433,0.99876,576.48,314.67,-27.15,2.445,-2.094,24.33
|
||||||
|
100,Board,A0,2,803.8,169.01,-24.93,0.01883,-0.01657,0.99969,803.92,171.12,-26.81,2.829,1.882,23.24
|
||||||
|
103,Board,A0,3,104.64,-186.37,-27.12,-0.00058,0.0069,0.99998,105.03,-186.33,-27.85,0.825,0.726,24.45
|
||||||
|
104,Board,A0,2,827.17,235.41,-24.77,0.08284,0.04199,0.99568,827.64,237.83,-26.77,3.174,1.996,24.77
|
||||||
|
105,Board,A0,3,524.5,-266.88,-27.45,-0.00083,0.01085,0.99994,523.86,-266.44,-27.22,0.811,-0.234,24.19
|
||||||
|
118,unknown,,3,323.07,-174.22,47.26,0.01395,-0.99423,0.10635,,,,,,24.41
|
||||||
|
122,Ellbow,,3,360.07,-173.45,46.18,0.01114,-0.99429,0.10615,,,,,,24.51
|
||||||
|
143,Arm2,,2,339.81,-138.06,229.48,-0.73183,-0.67663,0.08126,,,,,,24.18
|
||||||
|
144,Arm2,,3,362.95,-156.86,158.05,-0.03961,-0.99309,0.11048,,,,,,24.37
|
||||||
|
147,FingerA,,3,382.82,-143.67,226.6,0.42827,-0.9012,0.06646,,,,,,24.01
|
||||||
|
148,Arm2,,3,366.84,-142.43,264.66,-0.04437,-0.99493,0.09027,,,,,,24.39
|
||||||
|
178,FingerB,,2,287.31,-120.45,315.29,-0.66387,-0.73035,-0.1608,,,,,,22.88
|
||||||
|
179,FingerB,,2,329.61,-140.32,313.07,-0.6954,-0.15177,0.70241,,,,,,26.39
|
||||||
|
198,Arm1,,2,268.82,-53.79,84.52,0.01757,0.02587,0.99951,,,,,,24.56
|
||||||
|
200,unknown,,2,199.61,-28.62,110.03,-0.06794,-0.01026,0.99764,,,,,,23.25
|
||||||
|
204,unknown,,2,198.89,116.09,120.31,0.05577,0.03761,0.99774,,,,,,24.15
|
||||||
|
208,Board,rail,3,626.32,-98.56,-6.78,0.00383,-0.01334,0.9999,631.01,-98.43,-7.71,4.781,0.93,23.72
|
||||||
|
210,Board,rail,2,129.76,-7.26,-6.27,0.028,0.01002,0.99956,122.63,-13.98,-0.72,11.263,-5.553,23.35
|
||||||
|
214,unknown,,3,532.15,-7.88,-7.33,-0.02081,0.05531,0.99825,,,,,,24.05
|
||||||
|
217,Board,rail,2,730.24,-8.43,-5.0,-0.01833,-0.01881,0.99966,732.39,-23.88,7.39,19.917,-12.387,23.61
|
||||||
|
229,Arm1,,3,271.15,-142.19,79.27,0.01827,-0.03009,0.99938,,,,,,24.04
|
||||||
|
243,Arm1,,3,270.52,-175.76,42.77,0.0038,-0.99933,-0.03654,,,,,,24.16
|
||||||
|
|
||||||
|
camera_id,x_mm,y_mm,z_mm,dir_x,dir_y,dir_z
|
||||||
|
cam0,335.07,-885.3,469.64,-0.06533,0.89189,-0.44751
|
||||||
|
cam1,297.15,-462.72,780.65,0.09465,0.43305,-0.89639
|
||||||
|
cam2,714.94,-666.29,727.22,-0.42921,0.59338,-0.68094
|
||||||
|
2542
data/homing/20260625_175916/aruco_marker_poses.json
Normal file
BIN
data/homing/20260625_175916/cam0.jpg
Normal file
|
After Width: | Height: | Size: 103 KiB |
2628
data/homing/20260625_175916/cam0_aruco_detection.json
Normal file
481
data/homing/20260625_175916/cam0_camera_pose.json
Normal file
@@ -0,0 +1,481 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:59:21Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_175916/cam0_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam0",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1424.7584228515625,
|
||||||
|
0.0,
|
||||||
|
635.95947265625
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1421.5770263671875,
|
||||||
|
482.1744384765625
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.05634751915931702,
|
||||||
|
0.33765655755996704,
|
||||||
|
0.002130246954038739,
|
||||||
|
-0.004022662527859211,
|
||||||
|
-1.182201862335205
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 20,
|
||||||
|
"used_marker_ids": [
|
||||||
|
97,
|
||||||
|
66,
|
||||||
|
85,
|
||||||
|
54,
|
||||||
|
105,
|
||||||
|
69,
|
||||||
|
47,
|
||||||
|
95,
|
||||||
|
58,
|
||||||
|
64,
|
||||||
|
103,
|
||||||
|
96,
|
||||||
|
62,
|
||||||
|
51,
|
||||||
|
79,
|
||||||
|
208,
|
||||||
|
210,
|
||||||
|
68,
|
||||||
|
50,
|
||||||
|
53
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.011436738437523918,
|
||||||
|
0.0017627388219078695,
|
||||||
|
0.0017082741597643208,
|
||||||
|
0.0017082738298200922
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 3.4895581122703203,
|
||||||
|
"residual_median_px": 1.3632084656881505,
|
||||||
|
"residual_max_px": 12.179917236270976,
|
||||||
|
"sigma2_normalized": 3.433175856049273e-06
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
0.99742591381073,
|
||||||
|
0.04507605358958244,
|
||||||
|
-0.055764634162187576
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.029563840478658676,
|
||||||
|
-0.4500020146369934,
|
||||||
|
-0.8925380110740662
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.06532628834247589,
|
||||||
|
0.891889214515686,
|
||||||
|
-0.44751107692718506
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
-0.26810967922210693,
|
||||||
|
0.0306912399828434,
|
||||||
|
1.021647572517395
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
2.035801112416453,
|
||||||
|
0.010908616696792009,
|
||||||
|
-0.08515448496251522
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.33506736159324646,
|
||||||
|
-0.8853000402450562,
|
||||||
|
0.46964067220687866
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
335.0673522949219,
|
||||||
|
-885.300048828125,
|
||||||
|
469.64068603515625
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 116.64550018310547,
|
||||||
|
"pitch": 3.745587110519409,
|
||||||
|
"yaw": -1.6977574825286865
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
1.0402983243682025e-05,
|
||||||
|
9.607061849723336e-07,
|
||||||
|
3.175419172829312e-06,
|
||||||
|
-1.413862159845341e-07,
|
||||||
|
-2.12955432250041e-06,
|
||||||
|
2.312142235999549e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
9.607061849723307e-07,
|
||||||
|
3.7788686477185887e-06,
|
||||||
|
-1.6924039364567714e-07,
|
||||||
|
5.562539816390373e-07,
|
||||||
|
-8.841983839385075e-07,
|
||||||
|
6.874403655011122e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
3.175419172829249e-06,
|
||||||
|
-1.692403936456681e-07,
|
||||||
|
1.3583347408234157e-05,
|
||||||
|
-9.175016077988046e-07,
|
||||||
|
-2.2808655354386924e-06,
|
||||||
|
-3.2773776598692575e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-1.4138621598453382e-07,
|
||||||
|
5.562539816390341e-07,
|
||||||
|
-9.175016077987983e-07,
|
||||||
|
2.6164306620048117e-07,
|
||||||
|
4.0225581275842607e-08,
|
||||||
|
3.496020393352873e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-2.1295543225004017e-06,
|
||||||
|
-8.841983839385094e-07,
|
||||||
|
-2.280865535438699e-06,
|
||||||
|
4.02255812758387e-08,
|
||||||
|
9.903676474491735e-07,
|
||||||
|
6.66954432381659e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2.3121422359997266e-07,
|
||||||
|
6.874403655011114e-07,
|
||||||
|
-3.277377659869258e-06,
|
||||||
|
3.4960203933526876e-07,
|
||||||
|
6.669544323816537e-07,
|
||||||
|
3.1141328985088255e-06
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.18479983617802564,
|
||||||
|
0.11137905544845887,
|
||||||
|
0.2111669934581791
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0005115105729117251,
|
||||||
|
0.0009951721697521356,
|
||||||
|
0.0017646905956877612
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.0026703652741227927,
|
||||||
|
0.0018374002535456223,
|
||||||
|
0.0027539784841622054
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
2.670365274122793,
|
||||||
|
1.8374002535456224,
|
||||||
|
2.7539784841622055
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.1722531066068174,
|
||||||
|
"pitch": 0.1564002711188888,
|
||||||
|
"yaw": 0.12201801252145385
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 97,
|
||||||
|
"observed_center_px": [
|
||||||
|
676.0,
|
||||||
|
910.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
675.7621459960938,
|
||||||
|
911.7245483398438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.247434633072338,
|
||||||
|
"confidence": 0.42385670146087856
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 66,
|
||||||
|
"observed_center_px": [
|
||||||
|
479.5,
|
||||||
|
922.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
480.50054931640625,
|
||||||
|
919.6788330078125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.7589850735869397,
|
||||||
|
"confidence": 0.27078087716396265
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
1079.0,
|
||||||
|
843.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1076.984619140625,
|
||||||
|
842.904296875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.1856289218368885,
|
||||||
|
"confidence": 0.6759853525830334
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
753.5,
|
||||||
|
868.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
752.8966064453125,
|
||||||
|
868.8074340820312
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.606120825922678,
|
||||||
|
"confidence": 0.6610788202218779
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
1098.25,
|
||||||
|
784.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1095.7879638671875,
|
||||||
|
782.9950561523438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.6592356150248286,
|
||||||
|
"confidence": 0.5825558453258135
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 69,
|
||||||
|
"observed_center_px": [
|
||||||
|
130.5,
|
||||||
|
818.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
131.20993041992188,
|
||||||
|
816.9083862304688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.302160444400257,
|
||||||
|
"confidence": 0.5841161997457144
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 47,
|
||||||
|
"observed_center_px": [
|
||||||
|
755.0,
|
||||||
|
810.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
754.5029907226562,
|
||||||
|
810.5115966796875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4971445511574386,
|
||||||
|
"confidence": 0.5487375886524822
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
461.0,
|
||||||
|
800.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
461.86224365234375,
|
||||||
|
800.0243530273438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8912803555986298,
|
||||||
|
"confidence": 0.5215660558894334
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 58,
|
||||||
|
"observed_center_px": [
|
||||||
|
243.25,
|
||||||
|
743.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
244.70860290527344,
|
||||||
|
742.6357421875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.5033982137941357,
|
||||||
|
"confidence": 0.468912299986827
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 64,
|
||||||
|
"observed_center_px": [
|
||||||
|
139.5,
|
||||||
|
714.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
141.43846130371094,
|
||||||
|
715.3218383789062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.346249970897008,
|
||||||
|
"confidence": 0.4334442420959473
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
350.5,
|
||||||
|
708.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
352.01885986328125,
|
||||||
|
708.9456787109375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.78920191946218,
|
||||||
|
"confidence": 0.3938267188343575
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
793.0,
|
||||||
|
697.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
793.4209594726562,
|
||||||
|
698.4274291992188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7975695565737103,
|
||||||
|
"confidence": 0.36075364145684324
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
851.25,
|
||||||
|
685.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
851.3250732421875,
|
||||||
|
686.2469482421875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7507114413671468,
|
||||||
|
"confidence": 0.34135471017020086
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 51,
|
||||||
|
"observed_center_px": [
|
||||||
|
457.75,
|
||||||
|
690.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
459.0975646972656,
|
||||||
|
691.2110595703125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4242564869760441,
|
||||||
|
"confidence": 0.3676955439548635
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 79,
|
||||||
|
"observed_center_px": [
|
||||||
|
695.75,
|
||||||
|
672.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
696.7139892578125,
|
||||||
|
673.8245849609375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.0635856097717857,
|
||||||
|
"confidence": 0.3187317073170732
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 208,
|
||||||
|
"observed_center_px": [
|
||||||
|
1201.75,
|
||||||
|
583.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1208.861572265625,
|
||||||
|
583.9735107421875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 7.177895461370356,
|
||||||
|
"confidence": 0.28568227626765064
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 210,
|
||||||
|
"observed_center_px": [
|
||||||
|
439.0,
|
||||||
|
532.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
427.0049133300781,
|
||||||
|
530.6361694335938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 12.179917236270976,
|
||||||
|
"confidence": 0.16251118951659882
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 68,
|
||||||
|
"observed_center_px": [
|
||||||
|
1027.25,
|
||||||
|
434.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1026.4912109375,
|
||||||
|
434.3568420410156
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7662741435661348,
|
||||||
|
"confidence": 0.09654486228169104
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 50,
|
||||||
|
"observed_center_px": [
|
||||||
|
1016.5,
|
||||||
|
413.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1016.3207397460938,
|
||||||
|
413.5331726074219
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.18230375891269784,
|
||||||
|
"confidence": 0.08377973241313476
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 53,
|
||||||
|
"observed_center_px": [
|
||||||
|
909.0,
|
||||||
|
416.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
909.6261596679688,
|
||||||
|
416.78497314453125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6879575734700244,
|
||||||
|
"confidence": 0.07916194626380657
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_175916/cam0_debug.jpg
Normal file
|
After Width: | Height: | Size: 223 KiB |
BIN
data/homing/20260625_175916/cam1.jpg
Normal file
|
After Width: | Height: | Size: 110 KiB |
3558
data/homing/20260625_175916/cam1_aruco_detection.json
Normal file
761
data/homing/20260625_175916/cam1_camera_pose.json
Normal file
@@ -0,0 +1,761 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:59:25Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_175916/cam1_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam1",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1367.5723876953125,
|
||||||
|
0.0,
|
||||||
|
672.1165771484375
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1372.3011474609375,
|
||||||
|
445.8396911621094
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.01016925647854805,
|
||||||
|
0.7656787633895874,
|
||||||
|
-0.0031530377455055714,
|
||||||
|
-0.00288817984983325,
|
||||||
|
-2.490830183029175
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 40,
|
||||||
|
"used_marker_ids": [
|
||||||
|
54,
|
||||||
|
95,
|
||||||
|
58,
|
||||||
|
85,
|
||||||
|
47,
|
||||||
|
103,
|
||||||
|
59,
|
||||||
|
105,
|
||||||
|
48,
|
||||||
|
51,
|
||||||
|
102,
|
||||||
|
96,
|
||||||
|
62,
|
||||||
|
71,
|
||||||
|
92,
|
||||||
|
208,
|
||||||
|
63,
|
||||||
|
210,
|
||||||
|
217,
|
||||||
|
74,
|
||||||
|
75,
|
||||||
|
52,
|
||||||
|
76,
|
||||||
|
68,
|
||||||
|
46,
|
||||||
|
53,
|
||||||
|
50,
|
||||||
|
101,
|
||||||
|
82,
|
||||||
|
100,
|
||||||
|
73,
|
||||||
|
60,
|
||||||
|
67,
|
||||||
|
70,
|
||||||
|
94,
|
||||||
|
90,
|
||||||
|
104,
|
||||||
|
98,
|
||||||
|
91,
|
||||||
|
88
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.011863062568042395,
|
||||||
|
0.0021882720514259653,
|
||||||
|
0.0021293863444762583,
|
||||||
|
0.0021293859894700134
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 4.205255463207004,
|
||||||
|
"residual_median_px": 1.1858116613812175,
|
||||||
|
"residual_max_px": 19.118438507028245,
|
||||||
|
"sigma2_normalized": 4.9019293968833265e-06
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
-0.995226263999939,
|
||||||
|
0.019625136628746986,
|
||||||
|
-0.09560120105743408
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.023808155208826065,
|
||||||
|
0.9011572599411011,
|
||||||
|
0.4328380525112152
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.09464621543884277,
|
||||||
|
0.4330478608608246,
|
||||||
|
-0.8963881134986877
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
0.37944144010543823,
|
||||||
|
0.08616430312395096,
|
||||||
|
0.8720222115516663
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
0.0032728478486759383,
|
||||||
|
-2.9675124187665194,
|
||||||
|
-0.6774800690352322
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.2971478998661041,
|
||||||
|
-0.4627215266227722,
|
||||||
|
0.7806501984596252
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
297.14788818359375,
|
||||||
|
-462.7215270996094,
|
||||||
|
780.6502075195312
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 154.2146453857422,
|
||||||
|
"pitch": -5.430957317352295,
|
||||||
|
"yaw": -178.6295928955078
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
2.216368778099703e-06,
|
||||||
|
-1.0420377127470311e-07,
|
||||||
|
-5.846035681663414e-07,
|
||||||
|
9.638753004284797e-09,
|
||||||
|
6.568277931365646e-07,
|
||||||
|
1.8540529905122184e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-1.0420377127470325e-07,
|
||||||
|
7.716359917594955e-06,
|
||||||
|
-8.780258686751835e-07,
|
||||||
|
-8.798584488389978e-07,
|
||||||
|
8.337615617564991e-07,
|
||||||
|
-3.831747509912712e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-5.846035681663423e-07,
|
||||||
|
-8.780258686751325e-07,
|
||||||
|
1.8740126796208265e-05,
|
||||||
|
-6.332974421687337e-07,
|
||||||
|
-7.826466185078999e-07,
|
||||||
|
3.040527671220899e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
9.638753004284528e-09,
|
||||||
|
-8.798584488389991e-07,
|
||||||
|
-6.332974421687222e-07,
|
||||||
|
2.409326607990254e-07,
|
||||||
|
-7.666433629844329e-08,
|
||||||
|
3.751828231192777e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
6.568277931365642e-07,
|
||||||
|
8.337615617564963e-07,
|
||||||
|
-7.826466185079048e-07,
|
||||||
|
-7.66643362984426e-08,
|
||||||
|
4.122731304646649e-07,
|
||||||
|
-3.5672545335086356e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.8540529905122184e-07,
|
||||||
|
-3.831747509912709e-06,
|
||||||
|
3.040527671221047e-07,
|
||||||
|
3.7518282311927725e-07,
|
||||||
|
-3.567254533508643e-07,
|
||||||
|
2.7716081204320043e-06
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.08529894195541628,
|
||||||
|
0.15915814568050488,
|
||||||
|
0.24803267374807242
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0004908489185065252,
|
||||||
|
0.0006420849869485074,
|
||||||
|
0.0016648147405738587
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.0027539612430056413,
|
||||||
|
0.002145451671454086,
|
||||||
|
0.0019549734255131183
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
2.7539612430056413,
|
||||||
|
2.145451671454086,
|
||||||
|
1.9549734255131184
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.19816528973825537,
|
||||||
|
"pitch": 0.158142424860459,
|
||||||
|
"yaw": 0.04543296464811841
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
735.25,
|
||||||
|
38.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
735.1257934570312,
|
||||||
|
38.84978103637695
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6125067811164705,
|
||||||
|
"confidence": 0.29867757253933086
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
1005.25,
|
||||||
|
139.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1004.7445678710938,
|
||||||
|
139.50558471679688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.714896875632619,
|
||||||
|
"confidence": 0.9333333333333333
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 58,
|
||||||
|
"observed_center_px": [
|
||||||
|
1234.75,
|
||||||
|
235.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1234.0479736328125,
|
||||||
|
235.1490020751953
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7092542569779415,
|
||||||
|
"confidence": 0.36770453019575644
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
458.0,
|
||||||
|
68.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
458.30291748046875,
|
||||||
|
69.59838104248047
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6268315699341729,
|
||||||
|
"confidence": 0.875342401743355
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 47,
|
||||||
|
"observed_center_px": [
|
||||||
|
731.75,
|
||||||
|
117.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
731.4143676757812,
|
||||||
|
117.63695526123047
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7199729591239207,
|
||||||
|
"confidence": 0.9759139241315488
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
1128.75,
|
||||||
|
284.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1128.21533203125,
|
||||||
|
284.2250061035156
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6012416152520633,
|
||||||
|
"confidence": 0.9144001450649527
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 59,
|
||||||
|
"observed_center_px": [
|
||||||
|
262.0,
|
||||||
|
123.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
263.8606872558594,
|
||||||
|
125.23478698730469
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.5439424041120047,
|
||||||
|
"confidence": 0.9428090418229809
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
432.25,
|
||||||
|
147.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
432.2873840332031,
|
||||||
|
149.19923400878906
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.449716102610904,
|
||||||
|
"confidence": 0.9442241264421224
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 48,
|
||||||
|
"observed_center_px": [
|
||||||
|
148.5,
|
||||||
|
50.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
149.40765380859375,
|
||||||
|
51.741458892822266
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3441823434382303,
|
||||||
|
"confidence": 0.5647167996853729
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 51,
|
||||||
|
"observed_center_px": [
|
||||||
|
1019.5,
|
||||||
|
307.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1019.1678466796875,
|
||||||
|
307.8690490722656
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.49651087191997795,
|
||||||
|
"confidence": 0.8824030145295596
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 102,
|
||||||
|
"observed_center_px": [
|
||||||
|
239.5,
|
||||||
|
213.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
240.8688507080078,
|
||||||
|
215.52737426757812
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.24339286525173,
|
||||||
|
"confidence": 0.9331395642876747
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
690.0,
|
||||||
|
280.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
689.8768310546875,
|
||||||
|
280.7818908691406
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.12723056481812098,
|
||||||
|
"confidence": 0.9012948266053811
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
634.75,
|
||||||
|
296.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
634.6005249023438,
|
||||||
|
297.2737731933594
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5446844617769289,
|
||||||
|
"confidence": 0.8643569912878776
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 71,
|
||||||
|
"observed_center_px": [
|
||||||
|
63.25,
|
||||||
|
113.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
63.99217224121094,
|
||||||
|
114.01245880126953
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7872129686354927,
|
||||||
|
"confidence": 0.6618010073234457
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 92,
|
||||||
|
"observed_center_px": [
|
||||||
|
256.25,
|
||||||
|
273.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
257.8680114746094,
|
||||||
|
274.7709045410156
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.220610671605798,
|
||||||
|
"confidence": 0.8785732433921414
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 208,
|
||||||
|
"observed_center_px": [
|
||||||
|
295.25,
|
||||||
|
413.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
288.319091796875,
|
||||||
|
413.3032531738281
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 6.945291300358831,
|
||||||
|
"confidence": 0.7372980849807326
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 63,
|
||||||
|
"observed_center_px": [
|
||||||
|
36.0,
|
||||||
|
190.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
37.349727630615234,
|
||||||
|
191.05543518066406
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3838552404184128,
|
||||||
|
"confidence": 0.23122213258874602
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 210,
|
||||||
|
"observed_center_px": [
|
||||||
|
1059.0,
|
||||||
|
560.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1073.5731201171875,
|
||||||
|
555.7078857421875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 15.192039848292012,
|
||||||
|
"confidence": 0.6479471317434429
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 217,
|
||||||
|
"observed_center_px": [
|
||||||
|
162.0,
|
||||||
|
532.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
146.59190368652344,
|
||||||
|
520.931640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 19.118438507028245,
|
||||||
|
"confidence": 0.6089399477645175
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 74,
|
||||||
|
"observed_center_px": [
|
||||||
|
1085.75,
|
||||||
|
734.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1084.8079833984375,
|
||||||
|
734.9703979492188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9674557011249624,
|
||||||
|
"confidence": 0.4941465175073702
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 75,
|
||||||
|
"observed_center_px": [
|
||||||
|
1251.5,
|
||||||
|
801.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1249.0706787109375,
|
||||||
|
800.055419921875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.8263781642957686,
|
||||||
|
"confidence": 0.07129070123540064
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 52,
|
||||||
|
"observed_center_px": [
|
||||||
|
1075.0,
|
||||||
|
807.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1073.82666015625,
|
||||||
|
807.2386474609375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1973633531819778,
|
||||||
|
"confidence": 0.4747611026689374
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 76,
|
||||||
|
"observed_center_px": [
|
||||||
|
273.75,
|
||||||
|
722.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
274.6397705078125,
|
||||||
|
723.6699829101562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4698814804706541,
|
||||||
|
"confidence": 0.4464638052540792
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 68,
|
||||||
|
"observed_center_px": [
|
||||||
|
421.5,
|
||||||
|
733.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
422.1742858886719,
|
||||||
|
733.5136108398438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.847618755377099,
|
||||||
|
"confidence": 0.453656743367513
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 46,
|
||||||
|
"observed_center_px": [
|
||||||
|
472.25,
|
||||||
|
751.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
472.6407165527344,
|
||||||
|
751.65087890625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.41883632713964764,
|
||||||
|
"confidence": 0.4433609532391809
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 53,
|
||||||
|
"observed_center_px": [
|
||||||
|
541.25,
|
||||||
|
783.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
541.2369384765625,
|
||||||
|
783.3223876953125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.07355665725931064,
|
||||||
|
"confidence": 0.41918904165916515
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 50,
|
||||||
|
"observed_center_px": [
|
||||||
|
427.0,
|
||||||
|
777.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
427.4671630859375,
|
||||||
|
777.926025390625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.49922568744740276,
|
||||||
|
"confidence": 0.4069334148740479
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 101,
|
||||||
|
"observed_center_px": [
|
||||||
|
1031.0,
|
||||||
|
900.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1029.668212890625,
|
||||||
|
900.4525146484375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3470965397955643,
|
||||||
|
"confidence": 0.34672467375183735
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 82,
|
||||||
|
"observed_center_px": [
|
||||||
|
894.5,
|
||||||
|
890.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
893.2540283203125,
|
||||||
|
890.4962158203125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2700660048814185,
|
||||||
|
"confidence": 0.39232527116476396
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 100,
|
||||||
|
"observed_center_px": [
|
||||||
|
120.0,
|
||||||
|
723.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
121.81710815429688,
|
||||||
|
723.7096557617188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.8291630826238716,
|
||||||
|
"confidence": 0.4207088246724057
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 73,
|
||||||
|
"observed_center_px": [
|
||||||
|
889.0,
|
||||||
|
926.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
887.5708618164062,
|
||||||
|
926.2489624023438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4291385602573807,
|
||||||
|
"confidence": 0.1469791980355697
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 60,
|
||||||
|
"observed_center_px": [
|
||||||
|
613.0,
|
||||||
|
860.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
612.533935546875,
|
||||||
|
860.8355102539062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5742675377756796,
|
||||||
|
"confidence": 0.36564926628565203
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 67,
|
||||||
|
"observed_center_px": [
|
||||||
|
497.75,
|
||||||
|
838.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
497.8586120605469,
|
||||||
|
838.2026977539062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.22996295165716743,
|
||||||
|
"confidence": 0.363884422773956
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 70,
|
||||||
|
"observed_center_px": [
|
||||||
|
401.25,
|
||||||
|
866.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
401.48388671875,
|
||||||
|
867.0733032226562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.39903379679866513,
|
||||||
|
"confidence": 0.35896437880813437
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 94,
|
||||||
|
"observed_center_px": [
|
||||||
|
29.0,
|
||||||
|
720.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
31.11460304260254,
|
||||||
|
720.2709350585938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 2.1147066710213593,
|
||||||
|
"confidence": 0.09031730482356817
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 90,
|
||||||
|
"observed_center_px": [
|
||||||
|
351.5,
|
||||||
|
880.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
352.0174560546875,
|
||||||
|
880.55810546875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.6022372857988869,
|
||||||
|
"confidence": 0.36026641726859315
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 104,
|
||||||
|
"observed_center_px": [
|
||||||
|
107.5,
|
||||||
|
792.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
109.0373764038086,
|
||||||
|
792.3465576171875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.540405654502856,
|
||||||
|
"confidence": 0.40599116793083023
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 98,
|
||||||
|
"observed_center_px": [
|
||||||
|
436.5,
|
||||||
|
882.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
436.4425048828125,
|
||||||
|
883.1728515625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.174259969580457,
|
||||||
|
"confidence": 0.35391110957760685
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 91,
|
||||||
|
"observed_center_px": [
|
||||||
|
254.25,
|
||||||
|
887.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
255.05325317382812,
|
||||||
|
887.015869140625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8034099146071898,
|
||||||
|
"confidence": 0.3494656541641164
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 88,
|
||||||
|
"observed_center_px": [
|
||||||
|
199.5,
|
||||||
|
873.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
200.95053100585938,
|
||||||
|
872.6802978515625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.4853449642002237,
|
||||||
|
"confidence": 0.33862598740745903
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_175916/cam1_debug.jpg
Normal file
|
After Width: | Height: | Size: 260 KiB |
BIN
data/homing/20260625_175916/cam2.jpg
Normal file
|
After Width: | Height: | Size: 282 KiB |
3092
data/homing/20260625_175916/cam2_aruco_detection.json
Normal file
761
data/homing/20260625_175916/cam2_camera_pose.json
Normal file
@@ -0,0 +1,761 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:59:28Z",
|
||||||
|
"source": {
|
||||||
|
"detection_json": "/app/data/homing/20260625_175916/cam2_aruco_detection.json",
|
||||||
|
"robot_json": "/app/scripts/robot_1781069752019.json"
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"camera_id": "cam2",
|
||||||
|
"camera_matrix": [
|
||||||
|
[
|
||||||
|
1388.99072265625,
|
||||||
|
0.0,
|
||||||
|
933.082763671875
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
1394.8729248046875,
|
||||||
|
562.4996948242188
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
1.0
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"distortion_coefficients": [
|
||||||
|
0.019531700760126114,
|
||||||
|
-0.11213663965463638,
|
||||||
|
0.0026758278254419565,
|
||||||
|
0.0007694826927036047,
|
||||||
|
0.05339815095067024
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"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": 40,
|
||||||
|
"used_marker_ids": [
|
||||||
|
85,
|
||||||
|
92,
|
||||||
|
105,
|
||||||
|
97,
|
||||||
|
54,
|
||||||
|
208,
|
||||||
|
217,
|
||||||
|
47,
|
||||||
|
93,
|
||||||
|
66,
|
||||||
|
62,
|
||||||
|
96,
|
||||||
|
94,
|
||||||
|
95,
|
||||||
|
79,
|
||||||
|
100,
|
||||||
|
104,
|
||||||
|
76,
|
||||||
|
69,
|
||||||
|
103,
|
||||||
|
51,
|
||||||
|
58,
|
||||||
|
68,
|
||||||
|
50,
|
||||||
|
88,
|
||||||
|
46,
|
||||||
|
91,
|
||||||
|
64,
|
||||||
|
90,
|
||||||
|
53,
|
||||||
|
72,
|
||||||
|
98,
|
||||||
|
67,
|
||||||
|
70,
|
||||||
|
60,
|
||||||
|
84,
|
||||||
|
86,
|
||||||
|
82,
|
||||||
|
75,
|
||||||
|
73
|
||||||
|
],
|
||||||
|
"history": {
|
||||||
|
"iters": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
|
"rms": [
|
||||||
|
0.00929587415047541,
|
||||||
|
0.0010748985788974661,
|
||||||
|
0.001013950655392918,
|
||||||
|
0.001013950511849939
|
||||||
|
],
|
||||||
|
"lambda": [
|
||||||
|
0.001,
|
||||||
|
0.0005,
|
||||||
|
0.00025,
|
||||||
|
0.000125
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"residual_rms_px": 1.9984633198313304,
|
||||||
|
"residual_median_px": 1.1048397349885588,
|
||||||
|
"residual_max_px": 8.012141964697209,
|
||||||
|
"sigma2_normalized": 1.1114547464625753e-06
|
||||||
|
},
|
||||||
|
"camera_pose": {
|
||||||
|
"world_to_camera": {
|
||||||
|
"rotation_matrix": [
|
||||||
|
[
|
||||||
|
0.7610290050506592,
|
||||||
|
0.6436193585395813,
|
||||||
|
0.08117286115884781
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0.4864314794540405,
|
||||||
|
-0.4833734929561615,
|
||||||
|
-0.7278286218643188
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-0.42920777201652527,
|
||||||
|
0.5933837294578552,
|
||||||
|
-0.6809379458427429
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"translation_m": [
|
||||||
|
-0.17428335547447205,
|
||||||
|
-0.14054450392723083,
|
||||||
|
1.1974174976348877
|
||||||
|
],
|
||||||
|
"rvec_rad": [
|
||||||
|
2.177352630181243,
|
||||||
|
0.841105236753405,
|
||||||
|
-0.2590449733390141
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_in_world": {
|
||||||
|
"position_m": [
|
||||||
|
0.7149407863616943,
|
||||||
|
-0.6662914156913757,
|
||||||
|
0.7272217273712158
|
||||||
|
],
|
||||||
|
"position_mm": [
|
||||||
|
714.9407958984375,
|
||||||
|
-666.2914428710938,
|
||||||
|
727.2217407226562
|
||||||
|
],
|
||||||
|
"orientation_deg": {
|
||||||
|
"roll": 138.93040466308594,
|
||||||
|
"pitch": 25.41729164123535,
|
||||||
|
"yaw": 32.58573913574219
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uncertainty": {
|
||||||
|
"pose_covariance_6x6": [
|
||||||
|
[
|
||||||
|
1.7325268790245518e-06,
|
||||||
|
5.981655510564799e-07,
|
||||||
|
1.9008081078750225e-07,
|
||||||
|
6.084320732905797e-08,
|
||||||
|
-2.3354702118446124e-07,
|
||||||
|
-3.602729870649897e-08
|
||||||
|
],
|
||||||
|
[
|
||||||
|
5.981655510564792e-07,
|
||||||
|
7.185403999584639e-07,
|
||||||
|
-1.733161988537022e-07,
|
||||||
|
1.3590794895526218e-07,
|
||||||
|
-1.804162779559688e-07,
|
||||||
|
1.5814835072347804e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1.9008081078749777e-07,
|
||||||
|
-1.733161988537059e-07,
|
||||||
|
2.5200605751354745e-06,
|
||||||
|
-7.330065793590657e-08,
|
||||||
|
-3.490611313350714e-07,
|
||||||
|
-1.0443589786543664e-06
|
||||||
|
],
|
||||||
|
[
|
||||||
|
6.084320732905791e-08,
|
||||||
|
1.3590794895526253e-07,
|
||||||
|
-7.330065793590603e-08,
|
||||||
|
6.430560370646186e-08,
|
||||||
|
-2.0737599537247602e-08,
|
||||||
|
9.272757844523572e-08
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-2.3354702118446045e-07,
|
||||||
|
-1.8041627795596826e-07,
|
||||||
|
-3.490611313350726e-07,
|
||||||
|
-2.073759953724742e-08,
|
||||||
|
1.4131779018249e-07,
|
||||||
|
1.552658806009075e-07
|
||||||
|
],
|
||||||
|
[
|
||||||
|
-3.6027298706497375e-08,
|
||||||
|
1.5814835072348006e-07,
|
||||||
|
-1.0443589786543662e-06,
|
||||||
|
9.272757844523604e-08,
|
||||||
|
1.552658806009069e-07,
|
||||||
|
7.158822480370525e-07
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"parameter_std": {
|
||||||
|
"rvec_std_deg": [
|
||||||
|
0.07541584873239728,
|
||||||
|
0.048567777257391795,
|
||||||
|
0.09095532342017693
|
||||||
|
],
|
||||||
|
"tvec_std_m": [
|
||||||
|
0.0002535854958519155,
|
||||||
|
0.0003759225853583288,
|
||||||
|
0.0008460982496359702
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"camera_center_std_m": [
|
||||||
|
0.001238859522904557,
|
||||||
|
0.0010725601282025278,
|
||||||
|
0.0013428043149285806
|
||||||
|
],
|
||||||
|
"camera_center_std_mm": [
|
||||||
|
1.2388595229045571,
|
||||||
|
1.0725601282025277,
|
||||||
|
1.3428043149285807
|
||||||
|
],
|
||||||
|
"orientation_std_deg": {
|
||||||
|
"roll": 0.09670418188338105,
|
||||||
|
"pitch": 0.07031307438362219,
|
||||||
|
"yaw": 0.04214847006011442
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"observations": {
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"marker_id": 85,
|
||||||
|
"observed_center_px": [
|
||||||
|
943.0,
|
||||||
|
1037.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
942.2024536132812,
|
||||||
|
1035.979736328125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.7167649434302272,
|
||||||
|
"confidence": 0.28339330788046485
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 92,
|
||||||
|
"observed_center_px": [
|
||||||
|
1260.5,
|
||||||
|
1040.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1260.0,
|
||||||
|
1039.166259765625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1935212170729015,
|
||||||
|
"confidence": 0.186820630468236
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 105,
|
||||||
|
"observed_center_px": [
|
||||||
|
1018.75,
|
||||||
|
1005.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1017.9473266601562,
|
||||||
|
1004.2492065429688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.48619270710366,
|
||||||
|
"confidence": 0.868630415221559
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 97,
|
||||||
|
"observed_center_px": [
|
||||||
|
650.75,
|
||||||
|
884.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
651.09619140625,
|
||||||
|
883.6798095703125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.47156166195399984,
|
||||||
|
"confidence": 0.7472812484733762
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 54,
|
||||||
|
"observed_center_px": [
|
||||||
|
727.5,
|
||||||
|
891.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
727.0736083984375,
|
||||||
|
890.49853515625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.0884583736414755,
|
||||||
|
"confidence": 0.7927270034536174
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 208,
|
||||||
|
"observed_center_px": [
|
||||||
|
1312.75,
|
||||||
|
909.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1318.954833984375,
|
||||||
|
914.5689697265625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 8.012141964697209,
|
||||||
|
"confidence": 0.5865958415608975
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 217,
|
||||||
|
"observed_center_px": [
|
||||||
|
1525.0,
|
||||||
|
915.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1526.02783203125,
|
||||||
|
921.9722290039062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 6.553334034174421,
|
||||||
|
"confidence": 0.48103075735306616
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 47,
|
||||||
|
"observed_center_px": [
|
||||||
|
779.5,
|
||||||
|
850.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
779.2447509765625,
|
||||||
|
849.6724243164062
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8660447887040601,
|
||||||
|
"confidence": 0.7324762772043267
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 93,
|
||||||
|
"observed_center_px": [
|
||||||
|
1890.0,
|
||||||
|
969.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1890.317138671875,
|
||||||
|
971.253173828125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.5362644612040617,
|
||||||
|
"confidence": 0.0615171510658591
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 66,
|
||||||
|
"observed_center_px": [
|
||||||
|
549.25,
|
||||||
|
803.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
550.2374877929688,
|
||||||
|
801.9854125976562
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6044667149644478,
|
||||||
|
"confidence": 0.526209880769093
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 62,
|
||||||
|
"observed_center_px": [
|
||||||
|
961.5,
|
||||||
|
801.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
960.479248046875,
|
||||||
|
801.3424072265625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.0328455993265524,
|
||||||
|
"confidence": 0.5777637144454008
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 96,
|
||||||
|
"observed_center_px": [
|
||||||
|
911.5,
|
||||||
|
782.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
910.5089721679688,
|
||||||
|
782.1806640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.0412068021481435,
|
||||||
|
"confidence": 0.5986996695409863
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 94,
|
||||||
|
"observed_center_px": [
|
||||||
|
1813.75,
|
||||||
|
889.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1813.9437255859375,
|
||||||
|
890.62109375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1377085738166388,
|
||||||
|
"confidence": 0.321218994735393
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 95,
|
||||||
|
"observed_center_px": [
|
||||||
|
631.25,
|
||||||
|
708.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
631.6299438476562,
|
||||||
|
708.2338256835938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.640931550393094,
|
||||||
|
"confidence": 0.5102620497459525
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 79,
|
||||||
|
"observed_center_px": [
|
||||||
|
875.5,
|
||||||
|
714.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
875.01416015625,
|
||||||
|
714.7401733398438
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.5419627173032531,
|
||||||
|
"confidence": 0.5178115536596077
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 100,
|
||||||
|
"observed_center_px": [
|
||||||
|
1710.25,
|
||||||
|
832.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1710.6463623046875,
|
||||||
|
831.8109130859375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7949489617009169,
|
||||||
|
"confidence": 0.31927346015206026
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 104,
|
||||||
|
"observed_center_px": [
|
||||||
|
1769.75,
|
||||||
|
795.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1770.6925048828125,
|
||||||
|
794.8803100585938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1279765412478604,
|
||||||
|
"confidence": 0.2820489477598529
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 76,
|
||||||
|
"observed_center_px": [
|
||||||
|
1550.0,
|
||||||
|
745.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1549.9093017578125,
|
||||||
|
744.649169921875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8556506255348009,
|
||||||
|
"confidence": 0.2957408773689774
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 69,
|
||||||
|
"observed_center_px": [
|
||||||
|
465.5,
|
||||||
|
587.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
467.173583984375,
|
||||||
|
587.0509643554688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.7327770666811397,
|
||||||
|
"confidence": 0.3850070054256877
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 103,
|
||||||
|
"observed_center_px": [
|
||||||
|
649.0,
|
||||||
|
589.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
649.4606323242188,
|
||||||
|
590.1286010742188
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.7793083142275168,
|
||||||
|
"confidence": 0.4188423377379467
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 51,
|
||||||
|
"observed_center_px": [
|
||||||
|
720.75,
|
||||||
|
621.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
720.8779907226562,
|
||||||
|
620.9248046875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.14844514174617424,
|
||||||
|
"confidence": 0.43643037974141263
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 58,
|
||||||
|
"observed_center_px": [
|
||||||
|
569.25,
|
||||||
|
573.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
570.5189208984375,
|
||||||
|
573.7750244140625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2691676279320252,
|
||||||
|
"confidence": 0.37500699513057323
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 68,
|
||||||
|
"observed_center_px": [
|
||||||
|
1415.5,
|
||||||
|
663.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1414.463134765625,
|
||||||
|
662.5946044921875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2266347402207098,
|
||||||
|
"confidence": 0.25940485673792224
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 50,
|
||||||
|
"observed_center_px": [
|
||||||
|
1438.0,
|
||||||
|
635.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1437.16650390625,
|
||||||
|
634.8544921875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.922573665375857,
|
||||||
|
"confidence": 0.270957436835909
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 88,
|
||||||
|
"observed_center_px": [
|
||||||
|
1720.5,
|
||||||
|
694.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1720.8408203125,
|
||||||
|
693.2443237304688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8289783530016113,
|
||||||
|
"confidence": 0.21331579725472802
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 46,
|
||||||
|
"observed_center_px": [
|
||||||
|
1380.75,
|
||||||
|
628.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1379.9970703125,
|
||||||
|
628.1585693359375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8267272903932755,
|
||||||
|
"confidence": 0.23649772201893263
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 91,
|
||||||
|
"observed_center_px": [
|
||||||
|
1672.75,
|
||||||
|
657.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1672.596923828125,
|
||||||
|
656.64208984375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8714597813971704,
|
||||||
|
"confidence": 0.22421739747061642
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 64,
|
||||||
|
"observed_center_px": [
|
||||||
|
541.75,
|
||||||
|
511.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
543.0106811523438,
|
||||||
|
511.8523864746094
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.5218014555032349,
|
||||||
|
"confidence": 0.3194003123985894
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 90,
|
||||||
|
"observed_center_px": [
|
||||||
|
1571.25,
|
||||||
|
614.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1571.232177734375,
|
||||||
|
612.768798828125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.2313301583159495,
|
||||||
|
"confidence": 0.21534147510121324
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 53,
|
||||||
|
"observed_center_px": [
|
||||||
|
1340.25,
|
||||||
|
579.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1339.28076171875,
|
||||||
|
579.6795654296875
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.9717941523468644,
|
||||||
|
"confidence": 0.2131836038878541
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 72,
|
||||||
|
"observed_center_px": [
|
||||||
|
1282.0,
|
||||||
|
562.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1280.0421142578125,
|
||||||
|
563.0445556640625
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.9799190939764175,
|
||||||
|
"confidence": 0.2329113678114362
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 98,
|
||||||
|
"observed_center_px": [
|
||||||
|
1493.25,
|
||||||
|
573.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1492.691650390625,
|
||||||
|
572.2074584960938
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.6404842509340254,
|
||||||
|
"confidence": 0.19836555127576866
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 67,
|
||||||
|
"observed_center_px": [
|
||||||
|
1411.0,
|
||||||
|
570.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1410.1534423828125,
|
||||||
|
569.2794799804688
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.111669419280521,
|
||||||
|
"confidence": 0.22146320976627604
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 70,
|
||||||
|
"observed_center_px": [
|
||||||
|
1516.0,
|
||||||
|
598.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1515.696044921875,
|
||||||
|
597.093505859375
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.1957706246675956,
|
||||||
|
"confidence": 0.17917987028547397
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 60,
|
||||||
|
"observed_center_px": [
|
||||||
|
1326.5,
|
||||||
|
509.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1325.19873046875,
|
||||||
|
509.093017578125
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.3634284303456619,
|
||||||
|
"confidence": 0.19672907121069258
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 84,
|
||||||
|
"observed_center_px": [
|
||||||
|
1284.5,
|
||||||
|
508.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1283.4097900390625,
|
||||||
|
507.8693542480469
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.0980100506965966,
|
||||||
|
"confidence": 0.1992299923059727
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 86,
|
||||||
|
"observed_center_px": [
|
||||||
|
1259.0,
|
||||||
|
466.5
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1258.5447998046875,
|
||||||
|
466.7055358886719
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.4994519189518402,
|
||||||
|
"confidence": 0.20697942435059868
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 82,
|
||||||
|
"observed_center_px": [
|
||||||
|
1129.75,
|
||||||
|
393.75
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1128.9288330078125,
|
||||||
|
393.5796813964844
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 0.8386439386067119,
|
||||||
|
"confidence": 0.16919547786983627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 75,
|
||||||
|
"observed_center_px": [
|
||||||
|
862.5,
|
||||||
|
325.25
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
861.7324829101562,
|
||||||
|
326.8608703613281
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.7843726640496438,
|
||||||
|
"confidence": 0.21628605150283992
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_id": 73,
|
||||||
|
"observed_center_px": [
|
||||||
|
1153.5,
|
||||||
|
379.0
|
||||||
|
],
|
||||||
|
"projected_center_px": [
|
||||||
|
1152.4403076171875,
|
||||||
|
379.2215881347656
|
||||||
|
],
|
||||||
|
"reprojection_error_px": 1.08261223328565,
|
||||||
|
"confidence": 0.1485104612681437
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"qa": {
|
||||||
|
"sanity_notes": []
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
data/homing/20260625_175916/cam2_debug.jpg
Normal file
|
After Width: | Height: | Size: 458 KiB |
2487
data/homing/20260625_175916/robot_1781069752019.json
Normal file
59
data/homing/20260625_175916/robot_state.json
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"schema_version": "1.0",
|
||||||
|
"created_utc": "2026-06-25T17:59:33Z",
|
||||||
|
"method": "hybrid",
|
||||||
|
"seeded": true,
|
||||||
|
"movements": {
|
||||||
|
"x": {
|
||||||
|
"value": 110.01986467359067,
|
||||||
|
"unit": "mm",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 6
|
||||||
|
},
|
||||||
|
"y": {
|
||||||
|
"value": 1.0330890750947754,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 6
|
||||||
|
},
|
||||||
|
"z": {
|
||||||
|
"value": 96.2744445958484,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 1
|
||||||
|
},
|
||||||
|
"a": {
|
||||||
|
"value": 86.75801106951552,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "high",
|
||||||
|
"n_markers": 3
|
||||||
|
},
|
||||||
|
"b": {
|
||||||
|
"value": 62.05866240456044,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
},
|
||||||
|
"c": {
|
||||||
|
"value": -80.56572105590129,
|
||||||
|
"unit": "deg",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
},
|
||||||
|
"e": {
|
||||||
|
"value": 35.00722900692152,
|
||||||
|
"unit": "mm",
|
||||||
|
"observable": true,
|
||||||
|
"confidence": "medium",
|
||||||
|
"n_markers": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"residual_rms": 33.572073291771,
|
||||||
|
"num_markers": 55
|
||||||
|
}
|
||||||
222
data/homing/20260625_175916/state_Arm1.json
Normal file
@@ -0,0 +1,222 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Arm1",
|
||||||
|
"joint": "y",
|
||||||
|
"method": "primary",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
154.64058080413625,
|
||||||
|
108.3154,
|
||||||
|
53.4964
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
-1.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 7.073578785211089,
|
||||||
|
"circular_variance": 0.007972526914742928,
|
||||||
|
"circular_std_deg": 7.249434372855015,
|
||||||
|
"num_pairs_used": 15,
|
||||||
|
"num_markers_matched": 6,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
56
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 0.20885786426191633,
|
||||||
|
"baseline_model_mm": 430.4301189508002,
|
||||||
|
"baseline_obs_mm": 431.321568455382,
|
||||||
|
"weight": 185653.79401629578
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
77
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 0.1534985213298885,
|
||||||
|
"baseline_model_mm": 455.14017577005876,
|
||||||
|
"baseline_obs_mm": 456.76224811573417,
|
||||||
|
"weight": 207890.84989252244
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
198
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 2.7294530137510984,
|
||||||
|
"baseline_model_mm": 120.70271952197267,
|
||||||
|
"baseline_obs_mm": 235.9270100140718,
|
||||||
|
"weight": 28477.031717386148
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 36.070256539732,
|
||||||
|
"baseline_model_mm": 63.35571402801802,
|
||||||
|
"baseline_obs_mm": 159.8295466346313,
|
||||||
|
"weight": 10126.115049811471
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
55,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 89.62500483491822,
|
||||||
|
"baseline_model_mm": 34.32559540634365,
|
||||||
|
"baseline_obs_mm": 110.61945936866468,
|
||||||
|
"weight": 3797.0788063572545
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
56,
|
||||||
|
77
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -0.8278666326016993,
|
||||||
|
"baseline_model_mm": 24.720487454740837,
|
||||||
|
"baseline_obs_mm": 25.442346313142185,
|
||||||
|
"weight": 628.9472028532032
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
56,
|
||||||
|
198
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 16.060958275347453,
|
||||||
|
"baseline_model_mm": 332.5358726513577,
|
||||||
|
"baseline_obs_mm": 249.91702454137288,
|
||||||
|
"weight": 83106.37584629621
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
56,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 10.575835506835253,
|
||||||
|
"baseline_model_mm": 421.3102260804976,
|
||||||
|
"baseline_obs_mm": 329.51739043275734,
|
||||||
|
"weight": 138829.0462606806
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
56,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 8.204562901697962,
|
||||||
|
"baseline_model_mm": 452.5694494770941,
|
||||||
|
"baseline_obs_mm": 352.3360154416916,
|
||||||
|
"weight": 159456.51653939928
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
77,
|
||||||
|
198
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 14.349880680055369,
|
||||||
|
"baseline_model_mm": 356.9731122927888,
|
||||||
|
"baseline_obs_mm": 273.03257450221435,
|
||||||
|
"weight": 97465.28787736819
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
77,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 9.66556769141446,
|
||||||
|
"baseline_model_mm": 445.86971516352173,
|
||||||
|
"baseline_obs_mm": 353.78452354827397,
|
||||||
|
"weight": 157741.80474373116
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
77,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 7.573295647776105,
|
||||||
|
"baseline_model_mm": 477.27969043318825,
|
||||||
|
"baseline_obs_mm": 377.3635068156209,
|
||||||
|
"weight": 180107.93771374188
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
198,
|
||||||
|
229
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -3.397605318552869,
|
||||||
|
"baseline_model_mm": 90.00000000000003,
|
||||||
|
"baseline_obs_mm": 88.54992394070814,
|
||||||
|
"weight": 7969.493154663735
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
198,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -3.2531512518968957,
|
||||||
|
"baseline_model_mm": 129.8075498574717,
|
||||||
|
"baseline_obs_mm": 128.9115321451203,
|
||||||
|
"weight": 16733.690136130772
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
229,
|
||||||
|
243
|
||||||
|
],
|
||||||
|
"link": "Arm1",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": -2.3933465309361535,
|
||||||
|
"baseline_model_mm": 49.49747468305833,
|
||||||
|
"baseline_obs_mm": 49.589805881590635,
|
||||||
|
"weight": 2454.5701611618097
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 44.640580804136256,
|
||||||
|
"y": 7.073578785211089
|
||||||
|
}
|
||||||
|
}
|
||||||
65
data/homing/20260625_175916/state_Arm2.json
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Arm2",
|
||||||
|
"joint": "a",
|
||||||
|
"method": "primary",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
244.64058080413622,
|
||||||
|
-139.78180740318305,
|
||||||
|
84.28236561327859
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
0.0,
|
||||||
|
0.13416044351804374,
|
||||||
|
0.9909596234938344
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 92.49229573636204,
|
||||||
|
"circular_variance": 0.0005036790852294137,
|
||||||
|
"circular_std_deg": 1.8187344232244496,
|
||||||
|
"num_pairs_used": 2,
|
||||||
|
"num_markers_matched": 3,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
144
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 90.53857082520275,
|
||||||
|
"baseline_model_mm": 26.684454275851333,
|
||||||
|
"baseline_obs_mm": 24.841154956793282,
|
||||||
|
"weight": 662.8726636038881
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
143,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 94.18507945848495,
|
||||||
|
"baseline_model_mm": 26.836171485515596,
|
||||||
|
"baseline_obs_mm": 28.506933940749555,
|
||||||
|
"weight": 765.0169677602199
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
144,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "primary",
|
||||||
|
"skipped": true,
|
||||||
|
"reason": "bl_model=0.4 bl_obs=3.9 < 15.0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 44.640580804136256,
|
||||||
|
"y": 7.073578785211089,
|
||||||
|
"z": 90.63649643342701,
|
||||||
|
"a": 92.49229573636204
|
||||||
|
}
|
||||||
|
}
|
||||||
41
data/homing/20260625_175916/state_Ellbow.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"link": "Ellbow",
|
||||||
|
"joint": "z",
|
||||||
|
"method": "fallback_1_child_axis",
|
||||||
|
"joint_origin_world_mm": [
|
||||||
|
154.64058080413625,
|
||||||
|
-139.78180740318305,
|
||||||
|
84.28236561327859
|
||||||
|
],
|
||||||
|
"joint_axis_world": [
|
||||||
|
-1.0,
|
||||||
|
0.0,
|
||||||
|
0.0
|
||||||
|
],
|
||||||
|
"mean_angle_deg": 90.63649643342701,
|
||||||
|
"circular_variance": 0.0,
|
||||||
|
"circular_std_deg": 0.0,
|
||||||
|
"num_pairs_used": 1,
|
||||||
|
"num_markers_matched": 1,
|
||||||
|
"per_pair": [
|
||||||
|
{
|
||||||
|
"marker_ids": [
|
||||||
|
144,
|
||||||
|
148
|
||||||
|
],
|
||||||
|
"link": "Arm2",
|
||||||
|
"tier": "fallback_1_child_axis",
|
||||||
|
"skipped": false,
|
||||||
|
"angle_deg": 90.63649643342701,
|
||||||
|
"baseline_model_mm": 107.0,
|
||||||
|
"baseline_obs_mm": 107.57847026231472,
|
||||||
|
"weight": 11510.896318067675
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accumulated_state": {
|
||||||
|
"x": 44.640580804136256,
|
||||||
|
"y": 7.073578785211089,
|
||||||
|
"z": 90.63649643342701
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,12 +5,12 @@
|
|||||||
> Messung beiträgt und *wie stark* sie zählt.
|
> Messung beiträgt und *wie stark* sie zählt.
|
||||||
>
|
>
|
||||||
> **Status (2026-06-25):** **Qualitäts-Gewichtung** (Doc-Punkt 3 / Schritte 1+2)
|
> **Status (2026-06-25):** **Qualitäts-Gewichtung** (Doc-Punkt 3 / Schritte 1+2)
|
||||||
> umgesetzt. **Mehrpunkt-Eckresiduen** (Doc-Punkt 1 / Schritte 3+4) umgesetzt
|
> umgesetzt. **Mehrpunkt-Eckresiduen** (Doc-Punkt 1 / Schritte 3+4) als
|
||||||
> als Opt-in-Modus `marker_observation="corner_points"` — 12 Eck-Residuen für
|
> Opt-in-Modus `corner_points` implementiert, aber nach gescheitertem
|
||||||
> Roboter-Links, 1 Center-Residuum für die (spin-unkalibrierten) Board/Rail-
|
> Live-Test wieder **DEAKTIVIERT** — robot.json steht auf `corner_pose`
|
||||||
> Marker auf dem Root-Link. Endgültiges Tuning/Validierung gegen Simulation
|
> (bewährter Zustand). Der Code bleibt inaktiv im Repo. Ursache + Vorbedingungen
|
||||||
> steht aus (siehe Notiz unten). **Einzelkamera-Einbindung** (Doc-Punkt 2 /
|
> für eine erneute Aktivierung: Notiz unten. **Einzelkamera-Einbindung**
|
||||||
> Schritte 5+6) weiterhin **offen** — siehe Status-Spalte unten.
|
> (Doc-Punkt 2 / Schritte 5+6) weiterhin **offen**.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -232,7 +232,7 @@ umsetzbar und (wo möglich) einzeln testbar, bevor der nächste beginnt.
|
|||||||
| 1 | ✅ erledigt (2026-06-17) | **(Doc-Punkt 3)** `quality`/`confidence` aus `{cam}_aruco_detection.json` bis nach `aruco_marker_poses.json` durchreichen (3b liest es, schreibt ein neues `weight`-Feld pro Marker) | Diff der Ausgabedatei: nur das neue Feld ist zusätzlich da, alles andere (Position, Normale, …) identisch zu vorher — reiner Additivitätstest | **Nein.** Rein additives Feld, kein Pflichtfeld, alte Leser ignorieren es |
|
| 1 | ✅ erledigt (2026-06-17) | **(Doc-Punkt 3)** `quality`/`confidence` aus `{cam}_aruco_detection.json` bis nach `aruco_marker_poses.json` durchreichen (3b liest es, schreibt ein neues `weight`-Feld pro Marker) | Diff der Ausgabedatei: nur das neue Feld ist zusätzlich da, alles andere (Position, Normale, …) identisch zu vorher — reiner Additivitätstest | **Nein.** Rein additives Feld, kein Pflichtfeld, alte Leser ignorieren es |
|
||||||
| 2 | ✅ erledigt (2026-06-17) | **(Doc-Punkt 3)** `residual_vector()` nutzt das neue Gewicht, hinter einem Schalter (`pose_estimation.use_marker_weight`, Default `false`) | A/B-Vergleich auf den appRobotRendering-Simulationsszenen (mit/ohne Schalter) gegen bekannte Grundwahrheit — genau der Test, der laut Nutzer beim ersten Versuch wenig brachte, jetzt wiederholbar | **Nein bei Default aus.** Mit `true`: Ergebnisse ändern sich gewollt — muss vor Produktiv-Default separat validiert werden |
|
| 2 | ✅ erledigt (2026-06-17) | **(Doc-Punkt 3)** `residual_vector()` nutzt das neue Gewicht, hinter einem Schalter (`pose_estimation.use_marker_weight`, Default `false`) | A/B-Vergleich auf den appRobotRendering-Simulationsszenen (mit/ohne Schalter) gegen bekannte Grundwahrheit — genau der Test, der laut Nutzer beim ersten Versuch wenig brachte, jetzt wiederholbar | **Nein bei Default aus.** Mit `true`: Ergebnisse ändern sich gewollt — muss vor Produktiv-Default separat validiert werden |
|
||||||
| 3 | ✅ erledigt (2026-06-25) | **(Doc-Punkt 1)** `robot_fk.py`: neue Methode liefert die 4 lokalen Eckpunkte eines Markers im Weltsystem (Baustein, noch ohne Anbindung) | Isoliert testbar, ganz ohne `5_pose_estimation.py`: gegen die wahren Eckpositionen aus `render_*.json` (Simulation liefert das schon) | **Nein.** Neue, bisher von niemandem aufgerufene Methode |
|
| 3 | ✅ erledigt (2026-06-25) | **(Doc-Punkt 1)** `robot_fk.py`: neue Methode liefert die 4 lokalen Eckpunkte eines Markers im Weltsystem (Baustein, noch ohne Anbindung) | Isoliert testbar, ganz ohne `5_pose_estimation.py`: gegen die wahren Eckpositionen aus `render_*.json` (Simulation liefert das schon) | **Nein.** Neue, bisher von niemandem aufgerufene Methode |
|
||||||
| 4 | 🟡 Code erledigt (2026-06-25), Tuning offen | **(Doc-Punkt 1)** Neuer `marker_observation`-Modus (z. B. `"corner_points"`) nutzt die 12 Eck-Residuen statt 6 Center/Normal-Residuen | Direkter Vorher/Nachher-Vergleich gegen dieselbe Validierungstabelle wie in `Homing_5_Pose.md` (10 Simulationsposen, bekannte GT) | **Nein als Opt-in** (Default bleibt `"corner_pose"`). Tuning-Punkt: `huber_delta_mm` ist auf die heutige Residuumsgröße kalibriert — mit 12 statt 6 Werten/Marker verschiebt sich die RMS-Größenordnung, müsste neu eingeordnet werden |
|
| 4 | 🔴 Code da, aber DEAKTIVIERT (live gescheitert 2026-06-25 → robot.json zurück auf `corner_pose`) | **(Doc-Punkt 1)** Neuer `marker_observation`-Modus (z. B. `"corner_points"`) nutzt die 12 Eck-Residuen statt 6 Center/Normal-Residuen | Direkter Vorher/Nachher-Vergleich gegen dieselbe Validierungstabelle wie in `Homing_5_Pose.md` (10 Simulationsposen, bekannte GT) | **Nein als Opt-in** (Default bleibt `"corner_pose"`). Tuning-Punkt: `huber_delta_mm` ist auf die heutige Residuumsgröße kalibriert — mit 12 statt 6 Werten/Marker verschiebt sich die RMS-Größenordnung, müsste neu eingeordnet werden |
|
||||||
| 5 | ⬜ **offen** (Vorarbeit/Guards ✅) | **(Doc-Punkt 2)** 3b nimmt 1-Kamera-Beobachtungen mit auf (rohe 2D-Ecken + Kamera-Referenz), statt sie zu verwerfen | Output-Diff: nur neue Einträge für vorher fehlende Marker, bestehende ≥2-Kamera-Einträge unverändert | **Ja, konkret** — siehe Konsumenten-Recherche direkt unter der Tabelle. Mehrere Stellen brauchen einen Guard, **bevor** dieser Schritt scharf geschaltet wird |
|
| 5 | ⬜ **offen** (Vorarbeit/Guards ✅) | **(Doc-Punkt 2)** 3b nimmt 1-Kamera-Beobachtungen mit auf (rohe 2D-Ecken + Kamera-Referenz), statt sie zu verwerfen | Output-Diff: nur neue Einträge für vorher fehlende Marker, bestehende ≥2-Kamera-Einträge unverändert | **Ja, konkret** — siehe Konsumenten-Recherche direkt unter der Tabelle. Mehrere Stellen brauchen einen Guard, **bevor** dieser Schritt scharf geschaltet wird |
|
||||||
| 6 | ⬜ **offen** | **(Doc-Punkt 2)** `residual_vector()` um Reprojektions-Residuen erweitert; `load_observations()`/`estimate_pose()` lesen zusätzlich Kamerakalibrierung | Zuerst an Simulationsszenen, bei denen gut beobachtete Marker künstlich auf „nur 1 Kamera" reduziert werden (GT bekannt) — saubere Kontrolle, ob das Residuum tatsächlich hilft, bevor reale Finger-Marker überhaupt existieren | **Nein strukturell** (additiver Residuumstyp), aber Regressionsrisiko durch falsche mm/px-Gewichtung — vor Produktiv-Default gegen die bestehende Validierungstabelle gegenprüfen (wie Schritt 4) |
|
| 6 | ⬜ **offen** | **(Doc-Punkt 2)** `residual_vector()` um Reprojektions-Residuen erweitert; `load_observations()`/`estimate_pose()` lesen zusätzlich Kamerakalibrierung | Zuerst an Simulationsszenen, bei denen gut beobachtete Marker künstlich auf „nur 1 Kamera" reduziert werden (GT bekannt) — saubere Kontrolle, ob das Residuum tatsächlich hilft, bevor reale Finger-Marker überhaupt existieren | **Nein strukturell** (additiver Residuumstyp), aber Regressionsrisiko durch falsche mm/px-Gewichtung — vor Produktiv-Default gegen die bestehende Validierungstabelle gegenprüfen (wie Schritt 4) |
|
||||||
| 7 | ⬜ **offen** | Zusammenführen: ein gemeinsames Gewichtsschema (Quality × Kamera-Anzahl × Residuumstyp) statt drei separater Schalter | End-to-End gegen Simulationsbenchmark **und** die drei realen Fixtures aus `Homing_5_Pose.md` | **Nein**, wenn alle Vorstufen additive Defaults hatten |
|
| 7 | ⬜ **offen** | Zusammenführen: ein gemeinsames Gewichtsschema (Quality × Kamera-Anzahl × Residuumstyp) statt drei separater Schalter | End-to-End gegen Simulationsbenchmark **und** die drei realen Fixtures aus `Homing_5_Pose.md` | **Nein**, wenn alle Vorstufen additive Defaults hatten |
|
||||||
@@ -293,13 +293,35 @@ Alle anderen Konsumenten (`homing.js`, `editRobot.js` → `assignByZRange`/`alig
|
|||||||
ziehen auch `corner_pose` leicht. Auf bereinigten Markern konvergiert
|
ziehen auch `corner_pose` leicht. Auf bereinigten Markern konvergiert
|
||||||
`corner_points` ≈ `corner_pose`. → Marker-Zuordnung korrigieren (separate
|
`corner_points` ≈ `corner_pose`. → Marker-Zuordnung korrigieren (separate
|
||||||
Kalibrier-Aufgabe).
|
Kalibrier-Aufgabe).
|
||||||
- **Scharfgeschaltet (2026-06-25, gescopt):** robot.json
|
- **DEAKTIVIERT (2026-06-25) — Aktivierung am echten Roboter gescheitert,
|
||||||
`marker_observation: "corner_points"` mit
|
zurückgedreht.** robot.json steht wieder auf `marker_observation:
|
||||||
`corner_point_links: ["Hand","Palm","FingerA","FingerB"]`. D.h. nur Hand/Finger
|
"corner_pose"` (der bewährte Zustand). Der `corner_points`-Code bleibt im
|
||||||
nutzen die 4 Ecken; Arme behalten Center+Normale, Board nur Center. Auf der
|
Repo, ist aber **inaktiv** (opt-in).
|
||||||
Arm-Capture (ohne Finger-Marker) **byte-identisch** zu `corner_pose` → keine
|
|
||||||
Regression im bestehenden Pfad. Die Arme können in die Liste, sobald die
|
**Was probiert wurde:** `corner_points` mit `corner_point_links:
|
||||||
A0→Arm1-Fehlzuordnung behoben ist.
|
["Hand","Palm","FingerA","FingerB"]` scharfgeschaltet (nur Hand/Finger über
|
||||||
|
Ecken, Arme/Board unverändert). Am echten Lauf (data/homing/20260625_175916)
|
||||||
|
kippte die Hand (`b` −52° → +62°) und `x` wanderte (160 → 110 mm).
|
||||||
|
|
||||||
|
**Belegte Ursache (Gegenprobe an denselben Daten):**
|
||||||
|
- `corner_pose` → gutes Ergebnis (`b`≈−52, `x`≈160); `corner_points` → das
|
||||||
|
schlechte. Also eindeutig der Modus.
|
||||||
|
- Die **Eck-Konvention ist NICHT der Fehler**: 2 der 3 Finger-Marker passen am
|
||||||
|
guten Pose exakt (FingerB #178/#179, ~2–3 mm, korrekte Eck-Paarung fwd+r0).
|
||||||
|
- **Eigentliche Ursache: ein einzelner schlechter Marker.** FingerA **#147**
|
||||||
|
liegt **132 mm neben dem Modell** (Position/Zuordnung in robot.json noch
|
||||||
|
provisorisch, vgl. Commits „Finger1 Marker"/„zweiter Finger – verdreht").
|
||||||
|
Im Eck-Modus liefert ein Marker **12 statt 3 Residuen** → ein einzelner
|
||||||
|
Ausreißer hat ~4× Zugkraft und reißt `global_ba` ins falsche Minimum.
|
||||||
|
`corner_pose` (3 Residuen) dämpft ihn per Huber weg.
|
||||||
|
|
||||||
|
**Damit `corner_points` je produktiv taugt, fehlen ZWEI Dinge:**
|
||||||
|
1. **Daten:** FingerA #147 sauber einmessen / Zuordnung prüfen.
|
||||||
|
2. **Code-Robustheit:** Ausreißer-Schutz im Eck-Modus (grob daneben liegende
|
||||||
|
Marker pro Marker auf Center zurückfallen lassen oder verwerfen), sonst
|
||||||
|
kippt jede reale Aufnahme mit *einem* schlechten Marker. Erst danach –
|
||||||
|
gegen GT (Simulation oder Finger-Capture bekannter Pose), **nicht** live –
|
||||||
|
erneut testen. CLI zum Vergleichen: `--marker-observation corner_points`.
|
||||||
- **Offen (Schritt 4 Tuning):** `huber_delta_mm` ist auf 6 Residuen/Marker
|
- **Offen (Schritt 4 Tuning):** `huber_delta_mm` ist auf 6 Residuen/Marker
|
||||||
kalibriert; mit 12 verschiebt sich die RMS-Größenordnung. Sauberes A/B + Tuning
|
kalibriert; mit 12 verschiebt sich die RMS-Größenordnung. Sauberes A/B + Tuning
|
||||||
der Hand/Finger-Ecken gegen appRobotRendering-Simulations-GT steht aus (hier
|
der Hand/Finger-Ecken gegen appRobotRendering-Simulations-GT steht aus (hier
|
||||||
|
|||||||
@@ -281,8 +281,7 @@
|
|||||||
},
|
},
|
||||||
"pose_estimation": {
|
"pose_estimation": {
|
||||||
"method": "hybrid",
|
"method": "hybrid",
|
||||||
"marker_observation": "corner_points",
|
"marker_observation": "corner_pose",
|
||||||
"corner_point_links": ["Hand", "Palm", "FingerA", "FingerB"],
|
|
||||||
"use_normals": true,
|
"use_normals": true,
|
||||||
"normal_weight": 100,
|
"normal_weight": 100,
|
||||||
"robust_loss": "huber",
|
"robust_loss": "huber",
|
||||||
|
|||||||