| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- {
- "controller_port": 5277,
- "variable_list": [
- {
- "name": "ref_in_tracker",
- "type": "transform_obj"
- },
- {
- "name": "bone_in_tracker",
- "type": "transform_obj"
- },
- {
- "name": "robot_in_tracker",
- "type": "transform_obj"
- },
- {
- "name": "target_in_robot",
- "type": "transform_obj"
- },
- {
- "name": "bone_in_robot",
- "type": "transform_obj"
- },
- {
- "name": "bone_in_ref",
- "type": "transform_obj"
- },
- {
- "name": "collect_result",
- "type": "transform_obj"
- },
- {
- "name": "robot_control_mode",
- "type": "u64int_obj"
- },
- {
- "name": "robot_is_moving",
- "type": "bool_obj"
- }
- ],
- "object_list": [
- {
- "type": "transform_tree",
- "name": "transform_tree",
- "init_config": {
- "node_list": [
- {
- "name": "tracker"
- },
- {
- "name": "ref",
- "parent": "tracker",
- "transform_var_name": "ref_in_tracker"
- },
- {
- "name": "bone_target",
- "parent": "ref",
- "transform": [
- -35.592,
- 31.7571,
- -0.923395,
- 0.991606,
- 0.05668,
- 0.0567023,
- -0.101438
- ]
- },
- {
- "name": "bone",
- "parent": "tracker",
- "transform_var_name": "bone_in_tracker"
- },
- {
- "name": "robot",
- "parent": "tracker",
- "transform_var_name": "robot_in_tracker"
- }
- ]
- },
- "start_config": {
- "watch_list": [
- {
- "target": "bone_target",
- "observer": "robot",
- "transform_var_name": "target_in_robot"
- },
- {
- "target": "bone",
- "observer": "robot",
- "transform_var_name": "bone_in_robot"
- },
- {
- "target": "bone",
- "observer": "ref",
- "transform_var_name": "bone_in_ref"
- }
- ]
- }
- },
- {
- "type": "ndi_interface",
- "name": "ndi",
- "init_config": {
- "address_type": "serial",
- "ip": "10.0.0.5",
- "tcp_port": 8765,
- "com_port": "COM9",
- "tool_list": [
- {
- "rom_path": "D:\\Program\\Robot\\Tools\\roms\\TZL_Ref.rom",
- "outputs": {
- "transform": "ref_in_tracker"
- }
- },
- {
- "rom_path": "D:\\Program\\Robot\\Tools\\roms\\TZL_Bone.rom",
- "outputs": {
- "transform": "bone_in_tracker"
- }
- },
- {
- "rom_path": "D:\\Program\\Robot\\Tools\\roms\\TZB_Robot.rom",
- "outputs": {
- "transform": "robot_in_tracker"
- }
- }
- ]
- },
- "start_config": {
- "allow_unreliable": true,
- "prefer_stream_tracking": false
- }
- },
- {
- "type": "transform_obj_validity_watcher",
- "name": "ref_visibility_watcher",
- "start_config": {
- "variable_name": "ref_in_tracker"
- }
- },
- {
- "type": "transform_obj_validity_watcher",
- "name": "bone_visibility_watcher",
- "start_config": {
- "variable_name": "bone_in_tracker"
- }
- },
- {
- "type": "transform_obj_validity_watcher",
- "name": "robot_visibility_watcher",
- "start_config": {
- "variable_name": "robot_in_tracker"
- }
- },
- {
- "type": "fracture_robot_interface",
- "name": "frac_robot",
- "init_config": {
- "com_port": "COM4",
- "screw": {
- "top": {
- "origin": [
- 193.62,
- 274.24,
- -169.95
- ],
- "direction": [
- 0.2580,
- -0.8932,
- -0.3682
- ]
- },
- "side": {
- "origin": [
- 225.42,
- 262.80,
- -195.37
- ],
- "direction": [
- 0.9044,
- 0.4147,
- 0.1004
- ]
- }
- }
- },
- "start_config": {
- "input_config": {
- "max_velocity": 5.0,
- "controller_gain": 0.5,
- "control_mode": "cartesian",
- "current_tcp": "bone_in_robot",
- "target_tcp": "target_in_robot"
- },
- "output_config": {
- "current_control_mode": "robot_control_mode",
- "is_moving": "robot_is_moving"
- }
- },
- "dependencies": [
- "transform_tree",
- "ndi"
- ]
- },
- {
- "type": "empty_object",
- "name": "all",
- "dependencies": [
- "frac_robot",
- "ref_visibility_watcher",
- "bone_visibility_watcher",
- "robot_visibility_watcher"
- ]
- },
- {
- "type": "transform_stabilizer",
- "name": "target_collector",
- "start_config": {
- "stable_type": "transform",
- "input_var_name": "bone_in_ref",
- "output_var_name": "collect_result",
- "linear_tolerance_mm": 0.05,
- "temporal_interval_s": 3
- },
- "dependencies": [
- "ndi"
- ]
- },
- {
- "type": "transform_obj_watcher",
- "name": "result_watcher",
- "start_config": {
- "variable_name": "collect_result"
- }
- },
- {
- "type": "empty_object",
- "name": "collect",
- "dependencies": [
- "target_collector",
- "result_watcher",
- "transform_tree"
- ]
- }
- ]
- }
|