Files
issacdataengine/workflows/simbox/solver/kpam/config/examples/constraint_lib.json
2026-03-16 11:44:10 +00:00

277 lines
8.6 KiB
JSON

[
{
"constraint_list": [
{
"keypoint_name": "tool_tail",
"target_keypoint_name": "articulated_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis_from_keypoint_name": "articulated_object_head",
"target_axis_to_keypoint_name": "articulated_object_tail",
"tolerance": 0.01,
"target_inner_product": -1,
"type": "keypoint_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis_from_keypoint_name": "articulated_object_head",
"target_axis_to_keypoint_name": "articulated_object_tail",
"tolerance": 0.01,
"target_inner_product": 0,
"type": "keypoint_axis_orthogonal"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 0,
"type": "frame_axis_orthogonal"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_head",
"target_keypoint_name": "articulated_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
0,
0,
1.0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 0,
"type": "frame_axis_orthogonal"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_tail",
"target_keypoint_name": "articulated_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
0,
0,
1.0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 0,
"type": "frame_axis_orthogonal"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_head",
"target_keypoint_name": "rigidbody_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": -1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
0,
0,
1.0
],
"target_axis_frame": "world",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_head",
"target_keypoint_name": "rigidbody_object_head",
"tolerance": 0.001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
0,
1.0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": -1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
0,
0,
1.0
],
"target_axis_frame": "world",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_tail",
"target_keypoint_name": "articulated_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
0,
1.0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": -1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
}
]
},
{
"constraint_list": [
{
"keypoint_name": "tool_tail",
"target_keypoint_name": "articulated_object_head",
"tolerance": 0.0001,
"type": "point2point_constraint"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_side",
"target_axis": [
0,
1.0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": 1,
"type": "frame_axis_parallel"
},
{
"axis_from_keypoint_name": "tool_head",
"axis_to_keypoint_name": "tool_tail",
"target_axis": [
1.0,
0,
0
],
"target_axis_frame": "object",
"tolerance": 0.01,
"target_inner_product": -1,
"type": "frame_axis_parallel"
}
]
}
]