{ "coordinateSystem": { "handedness": "right", "x": "right", "y": "backward", "z": "up" }, "units": { "length": "mm", "rotation": "degree" }, "vision_config": { "MarkerType": "DICT_4X4_250", "MarkerSize": 0.025 }, "renderingInfo": { "width": 1280, "height": 720, "renderDefaults": { "width": 1280, "height": 720, "dofFStop": 11 }, "cameraPosition__1": [ -10, -800, 500 ], "cameraPosition__2": [ -500, 300, 1200 ], "cameraPosition__3": [ -200, -900, 200 ], "cameraPosition__4": [ 1200, 200, 300 ], "cameraPosition_a": [ -300, -800, 500 ], "cameraPosition": [ -200, 200, 1400 ], "cameraPosition_c": [ 600, -500, 600 ], "cameraTarget": [ 200, -200, 180 ], "cameraUpVector": [ 0, 0, 1 ], "lightPosition": [ -500, -500, 500 ], "lightTarget": [ 0, 0, 0 ], "lightUpVector": [ 0, 0, 1 ], "metric": "mm", "showSkeleton": true, "showMarkers": true, "backgroundColor": [ 0.7, 0.85, 1 ], "backgroundStrength": 0.2, "sunEnergy": 0.35, "areaEnergy": 120, "exposure": -1.5, "lensDirt": true, "lensDirtStrength": 0.08, "dofEnabled": true, "dofFStop": 11, "arucoDust": true, "arucoDustStrength": 1.6, "markerOffsetMaxMm": 4, "markerOffsetSeed": 0, "markerRotationMaxDeg": 3, "motionBlur": true, "motionBlurMaxPx": 5.5, "focalErrorPct": 0.5, "principalErrorPx": 3, "residualDistortion": [ 0.02, -0.01 ], "localizedBlur": false, "localizedBlurStrength": 0.15, "vignette": true, "vignetteStrength": 0.08, "sensorNoise": true, "sensorNoiseStrength": 0.01, "lensDistortion": true, "lensDistortionStrength": 0.002, "materials": { "wood": { "baseColor": [ 0.72, 0.52, 0.33 ], "roughness": 0.85, "metallic": 0 }, "plaWhite": { "baseColor": [ 0.95, 0.95, 0.95 ], "roughness": 0.45, "metallic": 0 }, "steel": { "baseColor": [ 0.72, 0.72, 0.75 ], "roughness": 0.25, "metallic": 1 }, "powderCoatBlue": { "baseColor": [ 0.15, 0.25, 0.7 ], "roughness": 0.55, "metallic": 0 }, "defaultPlastic": { "baseColor": [ 0.95, 0.95, 0.95 ], "roughness": 0.4, "metallic": 0 }, "skeletonRed": { "baseColor": [ 0.85, 0.2, 0.2 ], "roughness": 0.35, "metallic": 0 }, "markerBlack": { "baseColor": [ 0.04, 0.04, 0.04 ], "roughness": 0.8, "metallic": 0 } }, "skeletonDefaults": { "radius": 4, "color": [ 0.85, 0.2, 0.2 ] }, "markerDefaults": { "size": 25, "thickness": 1, "color": [ 0.04, 0.04, 0.04 ] }, "defaultPosition": { "x": 80, "y": 20, "z": 80, "a": -120, "b": 23, "c": 9, "e": 3 } }, "defaultPosition__": { "x": 10, "y": 4, "z": 20, "a": 10, "b": 2, "c": 9, "e": 1 }, "defaultPosition": { "x": 50, "y": 4, "z": 176, "a": 20, "b": 60, "c": 9, "e": 5 }, "recognized": { "x": null, "y": null, "z": null, "a": null, "b": null, "c": null, "e": null }, "constraint_rules": { "rigid_distance": { "enabled": true, "mode": "mst", "weight": 1 }, "joint_axis_projection": { "enabled": true, "max_pairs": 2, "weight": 0.35 }, "chain_axis_projection": { "enabled": false, "max_depth": 3, "max_pairs": 2, "weight": 0.15 }, "axis_alignment_threshold": 0.95 }, "observation_weighting": { "enabled": true, "distance_weight": true, "marker_size_weight": true, "view_angle_weight": true }, "multiview_calculation": { "combine_mode": "mean", "size_ref_px": 50, "border_ref_px": 120, "center_ref_norm": 0.01, "sharpness_ref": 2500, "homography_ref": 0.18, "size_factor": 0.3, "aspect_factor": 0.3, "border_factor": 0.01, "center_factor": 0.01, "sharpness_factor": 0.5, "homography_factor": 0.2, "normal_visibility_factor": 0.01, "spin_factor": 0.3, "weight_floor": 0.3 }, "pose_estimation": { "method": "hybrid", "marker_observation": "corner_points", "corner_point_links": ["Hand", "Palm", "FingerA", "FingerB"], "use_normals": true, "normal_weight": 100, "robust_loss": "huber", "huber_delta_mm": 8, "max_iterations": 200, "min_cameras_per_marker": 2, "finger_block_joints": [ "b", "c", "e" ], "per_link_method": {}, "fit_origin_link": "Arm1" }, "robot_test_poses": { "4": { "x": 70, "y": 50, "z": -70, "a": 120, "b": 50, "c": 30, "e": 20 }, "5": { "x": 180, "y": 86, "z": -120, "a": -60, "b": 22, "c": 91, "e": 10 }, "6": { "x": 80, "y": 20, "z": 80, "a": -120, "b": 23, "c": 9, "e": 3 }, "7": { "x": 30, "y": -2, "z": 95, "a": 20, "b": 23, "c": 9, "e": 9 }, "8": { "x": 50, "y": -2, "z": 95, "a": 20, "b": 60, "c": 9, "e": 3 }, "9": { "x": 60, "y": -2, "z": 95, "a": 200, "b": 60, "c": 9, "e": 8 }, "10": { "x": 120, "y": 60, "z": -110, "a": 20, "b": 30, "c": 180, "e": 4 }, "11": { "x": 50, "y": 4, "z": 176, "a": 20, "b": 60, "c": 9, "e": 5 }, "12": { "x": 50, "y": 0, "z": 178, "a": 210, "b": 80, "c": 90, "e": 6 }, "9a": { "x": 60, "y": -2, "z": 95, "a": 200, "b": 60, "c": 9, "e": 8, "rendering": { "width": 1440, "height": 1080, "dofFStop": 11 } }, "9b": { "x": 60, "y": -2, "z": 95, "a": 200, "b": 60, "c": 9, "e": 8, "rendering": { "width": 4896, "height": 3264, "dofFStop": 5.6 } } }, "test_camera_positions": { "a": [ -300, -800, 800 ], "b": [ 300, -900, 1200 ], "c": [ 300, -900, 400 ], "d": [ 700, -800, 400 ], "e": [ 1200, -900, 400 ], "f": [ 500, -300, 1400 ], "g": [ -200, 200, 1400 ] }, "test_camera_targets": { "a": [ 210, -100, 180 ], "b": [ 310, -80, 180 ], "c": [ 210, -100, 150 ], "d": [ 210, -100, 150 ], "e": [ 210, -100, 50 ], "f": [ 200, -200, 180 ], "g": [ 200, -200, 180 ] }, "movements": { "x": null, "y": null, "z": null, "a": null, "b": null, "c": null, "e": null }, "state_pose_params": { "numbers_of_Elements_to_consider_start": 3, "numbers_of_Elements_to_consider_final": 5, "solver_in_between_geometrical": false, "solver_after_geometrical": false, "geometric_passes_per_stage": 2, "revolute_search_coarse_deg": 5, "revolute_search_fine_deg": 1, "root_pose_min_markers": 3, "use_marker_normals_flip_tiebreak": true, "normal_flip_weight": 0.05 }, "links": { "Board": { "parent": null, "size": [ 1000, 200, 25 ], "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "skeleton": { "from": [ 0, 0, 16 ], "to": [ 1000, 0, 16 ], "radius": 4, "color": [ 0.85, 0.2, 0.2 ] }, "markers": [ { "id": 46, "set": "A0", "position": [ 537.44, 185.2, -27.2 ], "normal": [ 0, 0, 1 ], "spin": 90, "info": "is placed on a white paper, A0_60Arucos_25mm_Seet223.pdf, with the following marker placements:" }, { "id": 47, "set": "A0", "position": [ 343.18, -286.05, -27.49 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 48, "set": "A0", "position": [ 687.51, -321.53, -26.98 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 49, "set": "A0", "position": [ 1006.62, 156.32, -26.5 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 50, "set": "A0", "position": [ 574.23, 211.48, -27.15 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 51, "set": "A0", "position": [ 167.18, -170.93, -27.76 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 52, "set": "A0", "position": [ 95.5, 210.08, -27.86 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 53, "set": "A0", "position": [ 487.08, 212.19, -27.28 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 54, "set": "A0", "position": [ 341.05, -330.09, -27.5 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 58, "set": "A0", "position": [ 49.3, -216.52, -27.93 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 59, "set": "A0", "position": [ 625.19, -279.32, -27.07 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 60, "set": "A0", "position": [ 435.46, 283.95, -27.36 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 61, "set": "A0", "position": [ -21.12, 337.69, -28.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 62, "set": "A0", "position": [ 404.07, -174.84, -27.4 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 63, "set": "A0", "position": [ 776.54, -237.29, -26.85 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 64, "set": "A0", "position": [ -21.95, -186.37, -28.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 65, "set": "A0", "position": [ 802.3, -298.61, -26.81 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 66, "set": "A0", "position": [ 208.41, -362.24, -27.7 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 67, "set": "A0", "position": [ 524.1, 266.85, -27.22 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 68, "set": "A0", "position": [ 574.4, 170.26, -27.15 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 69, "set": "A0", "position": [ 6.58, -279.46, -28 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 70, "set": "A0", "position": [ 603.03, 299.84, -27.11 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 71, "set": "A0", "position": [ 748.71, -285.05, -26.89 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 72, "set": "A0", "position": [ 441.75, 194.44, -27.35 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 73, "set": "A0", "position": [ 223.01, 334.05, -27.67 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 74, "set": "A0", "position": [ 94.36, 145.93, -27.87 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 75, "set": "A0", "position": [ -24.94, 196.46, -28.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 76, "set": "A0", "position": [ 685.86, 166, -26.98 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 79, "set": "A0", "position": [ 311.73, -158.5, -27.54 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 80, "set": "A0", "position": [ 862.35, -337.39, -26.72 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 81, "set": "A0", "position": [ 132.81, 170.31, -27.81 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 82, "set": "A0", "position": [ 220.31, 298.19, -27.68 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 83, "set": "A0", "position": [ 45.47, 340.83, -27.94 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 84, "set": "A0", "position": [ 408.49, 258.67, -27.4 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 85, "set": "A0", "position": [ 503.43, -312.87, -27.25 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 86, "set": "A0", "position": [ 364.02, 292.42, -27.46 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 87, "set": "A0", "position": [ 942.73, -247.53, -26.6 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 88, "set": "A0", "position": [ 767.09, 314.94, -26.86 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 89, "set": "A0", "position": [ 986.65, -371.08, -26.53 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 90, "set": "A0", "position": [ 644.39, 315.79, -27.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 91, "set": "A0", "position": [ 724.61, 327.11, -26.92 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 92, "set": "A0", "position": [ 644.42, -185.49, -27.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 93, "set": "A0", "position": [ 935.44, 141.86, -26.61 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 94, "set": "A0", "position": [ 876.38, 172.13, -26.7 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 95, "set": "A0", "position": [ 185.04, -272.99, -27.73 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 96, "set": "A0", "position": [ 369.1, -186.1, -27.46 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 97, "set": "A0", "position": [ 303.02, -359.03, -27.55 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 98, "set": "A0", "position": [ 576.48, 314.67, -27.15 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 100, "set": "A0", "position": [ 803.92, 171.12, -26.81 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 101, "set": "A0", "position": [ 118.86, 300, -27.83 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 102, "set": "A0", "position": [ 648.88, -223.66, -27.04 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 103, "set": "A0", "position": [ 105.03, -186.33, -27.85 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 104, "set": "A0", "position": [ 827.64, 237.83, -26.77 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 105, "set": "A0", "position": [ 523.86, -266.44, -27.22 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 217, "set": "rail", "position": [ 732.39, -23.88, 7.39 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 210, "set": "rail", "position": [ 122.63, -13.98, -0.72 ], "normal": [ 0, 0, 1 ] }, { "id": 215, "position": [ 335.09, -95.39, -9.19 ], "set": "rail" }, { "id": 208, "position": [ 631.01, -98.43, -7.71 ], "set": "rail" } ], "model": [ { "stlFile": "surfaces/Board.stl", "originOfModel": [ 0, 0, 0 ], "rotationOfModelDegree": [ 0, 0, -90 ], "material": "wood" }, { "stlFile": "surfaces/BoardRail.stl", "originOfModel": [ 0, 0, 0 ], "rotationOfModelDegree": [ 0, 0, -90 ], "material": "steel" } ] }, "Base": { "parent": "Board", "size": [ 150, 200, 150 ], "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Slider", "type": "linear", "axis": [ 1, 0, 0 ], "origin": [ 0, 0, 16 ], "rotation": [ 0, 0, 0 ], "variable": "x" }, "skeleton": { "from": [ 0, 108, 45 ], "to": [ 110, 108, 45 ], "radius": 4, "color": [ 0.2, 0.8, 0.2 ] }, "skeletonCorrected": { "from": [ 0, 108, 45 ], "to": [ 110, 101.1, 55.2 ], "radius": 4, "color": [ 0.2, 0.8, 0.2 ] }, "markers": [], "model": [ { "stlFile": "surfaces/Base.stl", "originOfModel": [ -30, 0, -35 ], "rotationOfModelDegree": [ 0, 0, 0 ], "material": "plaWhite" } ] }, "Arm1": { "parent": "Base", "size": [ 70, 250, 70 ], "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Joint1", "type": "revolute", "axis": [ -1, 0, 0 ], "origin": [110, 101.6224, -13.1631], "rotation": [ 0, 0, 0 ], "variable": "y" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 0, -250, 0 ], "radius": 4, "color": [ 0.2, 0.2, 0.9 ] }, "markers": [ { "id": 198, "name": "aruco_198", "position": [ -0.66, -158.22, 34.29 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 90 }, { "id": 229, "name": "aruco_229", "position": [ -1, -248.22, 34.29 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 90 }, { "id": 242, "name": "aruco_242", "position": [ -0.9, -248.22, -35.71 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 0 }, { "id": 243, "name": "aruco_243", "position": [ -1.08, -283.22, -0.71 ], "normal": [ 0, -1, 0 ], "size": 25, "spin": 90 }, { "id": 197, "name": "aruco_197", "position": [ -35.95, -248.08, -0.76 ], "normal": [ -1, 0, 0 ], "size": 25, "spin": 0 }, { "id": 55, "set": "A0", "position": [ 282.76, -261.86, -27.58 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 56, "set": "A0", "position": [ 499.34, 168.57, -27.26 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 57, "set": "A0", "position": [ 601.52, -364.54, -27.11 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 77, "set": "A0", "position": [ 18.94, 193.28, -27.98 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 99, "set": "A0", "position": [ 957.97, -323.38, -26.58 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 78, "set": "A0", "position": [ 821.84, -345.7, -26.78 ], "normal": [ 0, 0, 1 ], "spin": 90 } ], "model": [ { "stlFile": "surfaces/Holm.stl", "originOfModel__": [ -25, 29, -28.5 ], "originOfModel": [ -29, 25, 28.5 ], "rotationOfModelDegree__": [ 0, 0, 0 ], "rotationOfModelDegree": [ 180, 0, -90 ], "material": "powderCoatBlue" } ] }, "Ellbow": { "parent": "Arm1", "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Joint2", "type": "revolute", "axis": [ -1, 0, 0 ], "origin": [ 0, -250, 0 ], "rotation": [ 0, 0, 0 ], "variable": "z" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 90, 0, 0 ], "radius": 4, "color": [ 0.9, 0.2, 0.2 ] }, "model": [ { "stlFile": "surfaces/Ellebogen.stl", "originOfModel": [ 90, 0, 0 ], "rotationOfModelDegree": [ 0, -90, -90 ], "material": "defaultPlastic" } ], "markers": [ { "id": 116, "name": "aruco_116", "position": [ 124.99, 1.31, -0.52 ], "normal": [ 1, 0, 0 ], "size": 25, "spin": 0 }, { "id": 122, "name": "aruco_122", "position": [ 90.04, 1.44, -35.57 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 90 }, { "id": 129, "name": "aruco_129", "position": [ 89.94, 1.44, 34.43 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 90 }, { "id": 132, "name": "aruco_132", "position": [ 52.44, 1.58, 34.37 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 90 }, { "id": 248, "name": "aruco_248", "position": [ 52.54, 1.58, -35.63 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 90 }, { "id": 232, "name": "aruco_232", "position": [ 90.12, 26.19, -25.32 ], "normal": [ 0, 1, -1 ], "size": 25, "spin": 90 }, { "id": 121, "name": "aruco_121", "position": [ 90.05, 26.19, 24.18 ], "normal": [ 0, 1, 1 ], "size": 25, "spin": 90 } ] }, "Arm2": { "parent": "Ellbow", "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Joint3", "type": "revolute", "axis": [ 0, -1, 0 ], "origin": [ 90, 0, 0 ], "rotation": [ 0, 0, 0 ], "variable": "a" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 0, -250, 0 ], "radius": 4, "color": [ 0.95, 0.85, 0.2 ] }, "model": [ { "stlFile": "surfaces/Unterarm.stl", "originOfModel": [ 0, -250, 0 ], "rotationOfModelDegree": [ 180, 0, -90 ], "material": "defaultPlastic" } ], "markers": [ { "id": 148, "name": "aruco_148", "position": [ -35.83, -217.09, -0.76 ], "normal": [ -1, 0, 0 ], "size": 25, "spin": 90 }, { "id": 144, "name": "aruco_144", "position": [ -35.43, -110.09, -0.76 ], "normal": [ -1, 0, 0 ], "size": 25, "spin": 90 }, { "id": 146, "name": "aruco_146", "position": [ -25.22, -110.12, 24.01 ], "normal": [ -1, 0, 1 ], "size": 25, "spin": 90 }, { "id": 143, "name": "aruco_143", "position": [ -25.48, -180.12, 24 ], "normal": [ -1, 0, 1 ], "size": 25, "spin": 90 }, { "id": 151, "name": "aruco_151", "position": [ 25.48, -180.12, 24 ], "normal": [ 1, 0, 1 ], "size": 25, "spin": 90 }, { "id": 154, "name": "aruco_154", "position": [ 35, -110.09, 0 ], "normal": [ 1, 0, 0 ], "size": 25, "spin": 90 }, { "id": 153, "name": "aruco_153", "position": [ 35, -217, 0 ], "normal": [ 1, 0, 0 ], "size": 25, "spin": 90 }, { "id": 157, "name": "aruco_157", "position": [ 0, -180.12, -30 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 90 } ] }, "Hand": { "parent": "Arm2", "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Joint4", "type": "revolute", "axis": [ 1, 0, 0 ], "origin": [ 0, -250, 0 ], "rotation": [ 0, 0, 0 ], "variable": "b" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 0, -35, 0 ], "radius": 4, "color": [ 0.95, 0.55, 0.15 ] } }, "Palm": { "parent": "Hand", "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Joint3", "type": "revolute", "axis": [ 0, -1, 0 ], "origin": [ 0, 0, 0 ], "rotation": [ 0, 0, 0 ], "variable": "c" }, "skeleton": { "from": [ -50, -35, 0 ], "to": [ 50, -35, 0 ], "radius": 7, "color": [ 0.95, 0.2, 0.2 ] } }, "FingerA": { "parent": "Palm", "size": [ 80, 60, 20 ], "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Slider", "type": "linear", "axis": [ 1, 0, 0 ], "origin": [ 4, -35, 0 ], "rotation": [ 0, 0, 0 ], "variable": "e" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 0, -60, 0 ], "radius": 4, "color": [ 0.2, 0.8, 0.2 ] }, "markers": [ { "id": 147, "position": [ 12, -24, -17.1 ], "normal": [ -10.98, 0, -23.56 ], "spin": 90 }, { "id": 196, "position": [ 1.5, -2.2, 25.8 ], "normal": [ 0, -25.6, 9.5 ], "spin": 270 }, { "id": 137, "position": [ 13.9, -40, 0 ], "normal": [ 1, -0.35, 0.4 ], "spin": 207 } ], "model": [ { "stlFile": "surfaces/Finger.stl", "originOfModel": [ 24, 0, -9.1 ], "rotationOfModelDegree": [ 90, -90, 0 ], "material": "defaultPlastic" } ] }, "FingerB": { "parent": "Palm", "size": [ 80, 60, 20 ], "mountPosition": [ 0, 0, 0 ], "mountRotation": [ 0, 0, 0 ], "jointToParent": { "name": "Slider", "type": "linear", "axis": [ -1, 0, 0 ], "origin": [ -4, -35, 0 ], "rotation": [ 0, 0, 0 ], "variable": "e" }, "skeleton": { "from": [ 0, 0, 0 ], "to": [ 0, -60, 0 ], "radius": 4, "color": [ 0.2, 0.8, 0.2 ] }, "markers": [ { "id": 142, "position": [ -12, -24, 17.1 ], "normal": [ 10.98, 0, 23.56 ], "spin": 0 }, { "id": 179, "position": [ -1.5, -2.2, -25.8 ], "normal": [ 0, -25.6, -9.5 ], "spin": 90 }, { "id": 178, "position": [ -13.9, -40, 0 ], "normal": [ -1, -0.35, -0.4 ], "spin": -117 } ], "model": [ { "stlFile": "surfaces/Finger.stl", "originOfModel": [ -24, 0, 9.1 ], "rotationOfModelDegree": [ 90, 90, 0 ], "material": "defaultPlastic" } ] } } }