{ "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": 1440, "height": 1080, "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.0 ], "backgroundStrength": 0.2, "sunEnergy": 0.35, "areaEnergy": 120, "exposure": -1.5, "lensDirt": true, "lensDirtStrength": 0.08, "dofEnabled": true, "dofFStop": 11.0, "arucoDust": true, "arucoDustStrength": 1.6, "markerOffsetMaxMm": 4.0, "markerOffsetSeed": 0, "markerRotationMaxDeg": 3, "motionBlur": true, "motionBlurMaxPx": 5.5, "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.0 }, "plaWhite": { "baseColor": [ 0.95, 0.95, 0.95 ], "roughness": 0.45, "metallic": 0.0 }, "steel": { "baseColor": [ 0.72, 0.72, 0.75 ], "roughness": 0.25, "metallic": 1.0 }, "powderCoatBlue": { "baseColor": [ 0.15, 0.25, 0.7 ], "roughness": 0.55, "metallic": 0.0 }, "defaultPlastic": { "baseColor": [ 0.95, 0.95, 0.95 ], "roughness": 0.4, "metallic": 0.0 }, "skeletonRed": { "baseColor": [ 0.85, 0.2, 0.2 ], "roughness": 0.35, "metallic": 0.0 }, "markerBlack": { "baseColor": [ 0.04, 0.04, 0.04 ], "roughness": 0.8, "metallic": 0.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": 180, "y": 86, "z": -120, "a": -60, "b": 22, "c": 91, "e": 10 }, "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.0 }, "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.0, "border_ref_px": 120.0, "center_ref_norm": 0.01, "sharpness_ref": 2500.0, "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_pose", "use_normals": true, "normal_weight": 100.0, "robust_loss": "huber", "huber_delta_mm": 8.0, "max_iterations": 200, "min_cameras_per_marker": 2, "finger_block_joints": [ "b", "c", "e" ], "per_link_method": {} }, "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 }, "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 } }, "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 } }, "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.0, "revolute_search_fine_deg": 1.0, "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": 210, "position": [ 20, -20, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 211, "position": [ 250, -10, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 215, "position": [ 250, -90, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 214, "position": [ 350, -10, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 208, "position": [ 350, -90, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 206, "position": [ 650, -10, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 205, "position": [ 750, -90, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 207, "position": [ 750, -10, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 217, "position": [ 650, -90, 0.3 ], "normal": [ 0, 0, 1 ] }, { "id": 46, "position": [ 536.71, 185.44, -27.3 ], "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, "position": [ 344.23, -286.54, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 48, "position": [ 688.69, -320.72, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 49, "position": [ 1006.0, 158.33, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 50, "position": [ 573.41, 211.86, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 51, "position": [ 167.8, -172.08, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 52, "position": [ 94.68, 208.66, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 53, "position": [ 486.25, 212.24, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 54, "position": [ 342.27, -330.59, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 55, "position": [ 283.72, -262.58, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 56, "position": [ 498.68, 168.67, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 57, "position": [ 602.86, -364.05, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 58, "position": [ 50.09, -218.11, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 59, "position": [ 626.21, -278.75, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 60, "position": [ 434.36, 283.81, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 61, "position": [ -22.42, 335.83, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 62, "position": [ 404.7, -175.1, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 63, "position": [ 777.4, -236.15, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 64, "position": [ -21.27, -188.23, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 65, "position": [ 803.39, -297.37, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 66, "position": [ 209.75, -363.23, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 67, "position": [ 523.07, 267.04, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 68, "position": [ 573.73, 170.64, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 69, "position": [ 7.61, -281.21, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 70, "position": [ 601.87, 300.33, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 71, "position": [ 749.75, -284.01, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 72, "position": [ 440.99, 194.32, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 73, "position": [ 221.73, 333.11, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 74, "position": [ 93.78, 144.5, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 75, "position": [ -25.7, 194.58, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 76, "position": [ 685.21, 166.8, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 77, "position": [ 18.19, 191.57, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 78, "position": [ 823.11, -344.38, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 79, "position": [ 312.3, -159.11, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 80, "position": [ 863.59, -335.92, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 81, "position": [ 132.14, 169.03, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 82, "position": [ 219.16, 297.24, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 83, "position": [ 44.16, 339.22, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 84, "position": [ 407.49, 258.42, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 85, "position": [ 504.58, -312.75, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 86, "position": [ 362.89, 292.01, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 87, "position": [ 943.63, -245.76, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 88, "position": [ 765.87, 316.04, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 89, "position": [ 988.02, -369.14, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 90, "position": [ 643.17, 316.43, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 91, "position": [ 723.35, 328.05, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 92, "position": [ 645.09, -184.84, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 93, "position": [ 934.88, 143.6, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 94, "position": [ 875.7, 173.65, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 95, "position": [ 186.04, -274.07, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 96, "position": [ 369.77, -186.49, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 97, "position": [ 304.35, -359.67, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 98, "position": [ 575.27, 315.06, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 99, "position": [ 959.16, -321.55, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 100, "position": [ 803.25, 172.36, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 101, "position": [ 117.7, 298.66, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 102, "position": [ 649.69, -223.0, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 103, "position": [ 105.71, -187.71, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 104, "position": [ 826.71, 239.16, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 }, { "id": 105, "position": [ 524.84, -266.25, -27.3 ], "normal": [ 0, 0, 1 ], "spin": 90 } ], "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 ] }, "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, 108, 45 ], "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, -160, 35 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 0 }, { "id": 229, "name": "aruco_229", "position": [ 0, -250, 35 ], "normal": [ 0, 0, 1 ], "size": 25, "spin": 0 }, { "id": 242, "name": "aruco_242", "position": [ 0, -250, -35 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 0 }, { "id": 243, "name": "aruco_243", "position": [ 0, -285, 0 ], "normal": [ 0, -1, 0 ], "size": 25, "spin": 0 } ], "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": 244, "name": "aruco_244", "position": [ 125, 0, 0 ], "normal": [ 1, 0, 0 ], "size": 25, "spin": 0 }, { "id": 245, "name": "aruco_245", "position": [ 90, 0, -35 ], "normal": [ 0, 0, -1 ], "size": 25, "spin": 0 }, { "id": 246, "name": "aruco_246", "position": [ 90, 0, 35 ], "normal": [ 0, 0, 1 ], "size": 25 }, { "id": 247, "name": "aruco_247", "position": [ 52.5, 0, 35 ], "normal": [ 0, 0, 1 ], "size": 25 }, { "id": 248, "name": "aruco_248", "position": [ 52.5, 0, -35 ], "normal": [ 0, 0, -1 ], "size": 25 }, { "id": 232, "name": "aruco_232", "position": [ 90, 24.75, -24.75 ], "normal": [ 0, 1, -1 ], "size": 25 }, { "id": 231, "name": "aruco_231", "position": [ 90, 24.75, 24.75 ], "normal": [ 0, 1, 1 ], "size": 25 } ] }, "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": 120, "position": [ 24.75, -112, -24.75 ], "normal": [ 1, 0, -1 ] }, { "id": 122, "name": "aruco_122", "position": [ -35, -112, 0 ], "normal": [ -1, 0, 0 ] }, { "id": 218, "name": "aruco_218", "position": [ 35, -112, 0 ], "normal": [ 1, 0, 0 ] }, { "id": 113, "name": "aruco_113", "position": [ 0, -182, 30 ], "normal": [ 0, 0, 1 ] }, { "id": 114, "name": "aruco_114", "position": [ 24.75, -182, -24.75 ], "normal": [ 1, 0, -1 ] }, { "id": 115, "name": "aruco_115", "position": [ -24.75, -182, -24.75 ], "normal": [ -1, 0, -1 ] }, { "id": 124, "name": "aruco_124", "position": [ -35, -219, 0 ], "normal": [ -1, 0, 0 ] }, { "id": 219, "name": "aruco_219", "position": [ 35, -219, 0 ], "normal": [ 1, 0, 0 ] } ] }, "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": 40, "position": [ 12, -24, -17.1 ], "normal": [ -10.98, 0, -23.56 ] }, { "id": 41, "position": [ 1.5, -2.2, 25.8 ], "normal": [ 0, -25.6, 9.5 ] }, { "id": 42, "position": [ 13.9, -40, 0 ], "normal": [ 1, -0.35, 0.4 ], "spin": 27 } ], "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": 43, "position": [ -12, -24, 17.1 ], "normal": [ 10.98, 0, 23.56 ], "spin": 90 }, { "id": 44, "position": [ -1.5, -2.2, -25.8 ], "normal": [ 0, -25.6, -9.5 ], "spin": 90 }, { "id": 45, "position": [ -13.9, -40, 0 ], "normal": [ -1, -0.35, -0.4 ], "spin": -27 } ], "model": [ { "stlFile": "surfaces/Finger.stl", "originOfModel": [ -24, 0, 9.1 ], "rotationOfModelDegree": [ 90, 90, 0 ], "material": "defaultPlastic" } ] } } }