Files
mujoco_linkerbot/tools/o30_right_calibration/side_landmarks.json
T

465 lines
7.1 KiB
JSON

{
"source": "Eight user-supplied 540x720 side-view photos; manually estimated visible hinge centres, 2026-09-21",
"note": "No local raw images or camera calibration. Covered joints have increased uncertainty or are omitted. Do not interpret pixel coordinates as measured 3-D angles. Tip contact is constrained by MuJoCo rather than occluded tip annotations.",
"image_size": [
540,
720
],
"mapping": "Photos 1..4 left index/middle/ring/pinky; photos 5..8 right index/middle/ring/pinky; same prior commands",
"photos": [
{
"name": "left_index",
"view": "left",
"pose": "index",
"points": [
[
"pinky_mcp_pitch",
232,
371,
8
],
[
"pinky_pip",
219,
269,
6
],
[
"pinky_dip",
219,
158,
8
],
[
"index_pip",
299,
305,
6
],
[
"index_dip",
373,
343,
7
],
[
"thumb_mcp",
267,
465,
15
],
[
"thumb_ip",
346,
402,
7
]
]
},
{
"name": "left_middle",
"view": "left",
"pose": "middle",
"points": [
[
"pinky_mcp_pitch",
208,
369,
8
],
[
"pinky_pip",
195,
280,
6
],
[
"pinky_dip",
185,
174,
7
],
[
"index_pip",
219,
243,
10
],
[
"index_dip",
259,
198,
9
],
[
"middle_pip",
246,
246,
6
],
[
"middle_dip",
327,
272,
6
],
[
"thumb_mcp",
259,
425,
15
],
[
"thumb_ip",
313,
360,
6
]
]
},
{
"name": "left_ring",
"view": "left",
"pose": "ring",
"points": [
[
"pinky_mcp_pitch",
266,
398,
9
],
[
"pinky_pip",
255,
316,
6
],
[
"pinky_dip",
251,
222,
7
],
[
"ring_pip",
332,
307,
6
],
[
"ring_dip",
414,
341,
6
],
[
"thumb_mcp",
307,
445,
15
],
[
"thumb_ip",
374,
418,
7
]
]
},
{
"name": "left_pinky",
"view": "left",
"pose": "pinky",
"points": [
[
"ring_mcp_pitch",
222,
377,
9
],
[
"ring_pip",
224,
295,
7
],
[
"ring_dip",
230,
202,
8
],
[
"pinky_mcp_pitch",
220,
384,
9
],
[
"pinky_pip",
310,
360,
5
],
[
"pinky_dip",
388,
404,
6
],
[
"thumb_mcp",
269,
464,
15
],
[
"thumb_ip",
332,
461,
6
]
]
},
{
"name": "right_index",
"view": "right",
"pose": "index",
"points": [
[
"middle_mcp_pitch",
339,
421,
18
],
[
"middle_pip",
325,
292,
6
],
[
"middle_dip",
334,
188,
6
],
[
"middle_tip",
339,
123,
6
],
[
"index_mcp_pitch",
319,
414,
9
],
[
"index_pip",
231,
364,
5
],
[
"index_dip",
123,
403,
5
],
[
"thumb_mcp",
241,
568,
15
],
[
"thumb_ip",
164,
505,
6
]
]
},
{
"name": "right_middle",
"view": "right",
"pose": "middle",
"points": [
[
"index_mcp_pitch",
289,
428,
8
],
[
"index_pip",
284,
320,
6
],
[
"index_dip",
212,
248,
6
],
[
"index_tip",
164,
199,
8
],
[
"ring_dip",
269,
236,
10
],
[
"ring_tip",
269,
191,
8
],
[
"middle_pip",
235,
319,
7
],
[
"middle_dip",
140,
343,
6
],
[
"thumb_mcp",
218,
555,
15
],
[
"thumb_ip",
154,
465,
6
]
]
},
{
"name": "right_ring",
"view": "right",
"pose": "ring",
"points": [
[
"index_mcp_pitch",
278,
483,
7
],
[
"index_pip",
279,
397,
5
],
[
"index_dip",
280,
299,
5
],
[
"index_tip",
284,
235,
6
],
[
"ring_pip",
195,
389,
6
],
[
"ring_dip",
115,
421,
6
],
[
"thumb_mcp",
205,
588,
15
],
[
"thumb_ip",
130,
514,
6
]
]
},
{
"name": "right_pinky",
"view": "right",
"pose": "pinky",
"points": [
[
"index_mcp_pitch",
309,
438,
7
],
[
"index_pip",
309,
321,
5
],
[
"index_dip",
317,
203,
6
],
[
"index_tip",
330,
131,
6
],
[
"pinky_pip",
201,
370,
6
],
[
"pinky_dip",
123,
402,
6
],
[
"thumb_mcp",
238,
565,
15
],
[
"thumb_ip",
143,
510,
6
]
],
"omitted": "Overlapping background finger identity is ambiguous; omit its two hinge points."
}
]
}