diff --git a/data/robot/robot.json b/data/robot/robot.json new file mode 100644 index 0000000..c437647 --- /dev/null +++ b/data/robot/robot.json @@ -0,0 +1,518 @@ +{ + "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, + "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":[300, -700,500], + "cameraPosition_c":[600, -500,600], + "cameraTarget": [210, -180, 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.70, 0.85, 1.0], + "backgroundStrength": 0.20, + "sunEnergy": 0.35, + "areaEnergy": 120, + "exposure": -1.5, + "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.20, 0.20], + "roughness": 0.35, + "metallic": 0.0 + }, + "markerBlack": { + "baseColor": [0.04, 0.04, 0.04], + "roughness": 0.80, + "metallic": 0.0 + } + }, + "skeletonDefaults": { + "radius": 4, + "color": [0.85, 0.20, 0.20] + }, + "markerDefaults": { + "size": 25, + "thickness": 1, + "color": [0.04, 0.04, 0.04] + } + }, + "defaultPosition__": { + "x": 10, + "y": 4, + "z": 20, + "a": 10, + "b": 2, + "c": 9, + "e": 1 + }, + "defaultPosition": { + "x": 140, + "y": 46, + "z": -70, + "a": 120, + "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 + }, + "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.20, 0.20] + }, + "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]} + ], + "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.20, 0.80, 0.20] + }, + "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.20, 0.20, 0.90] + }, + "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.90, 0.20, 0.20] + }, + "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 + } + ] + + }, + "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.20] + }, + "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":101, "name": "aruco_101", "position":[ 24.75, -182, -24.75],"normal":[ 1,0,-1]}, + {"id":102, "name": "aruco_102", "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.20, 0.20] + } + }, + "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.20, 0.80, 0.20] + }, + "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.20, 0.80, 0.20] + }, + "model": [ + { + "stlFile": "surfaces/Finger.stl", + "originOfModel": [-24,0,9.1], + "rotationOfModelDegree": [90, 90,0], + "material": "defaultPlastic" + } + ] + } + } +} \ No newline at end of file