| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499 |
- {
- "controller_port": 5277,
- "variable_list": [
- {
- "name": "probe_in_tracker",
- "type": "transform_obj"
- },
- {
- "name": "model_ref_in_tracker",
- "type": "transform_obj"
- },
- {
- "name": "model_in_model_ref",
- "type": "transform_obj",
- "value": [
- 134.705,
- 42.6256,
- -267.533,
- 0.535693,
- 0.610751,
- -0.464744,
- -0.352178
- ]
- },
- {
- "name": "probe_in_model_ref",
- "type": "transform_obj"
- },
- {
- "name": "probe_in_model",
- "type": "transform_obj"
- },
- {
- "name": "tool_in_model",
- "type": "transform_obj"
- },
- {
- "name": "tool_in_robot_flange",
- "type": "transform_obj"
- },
- {
- "name": "robot_flange_in_base",
- "type": "transform_obj"
- },
- {
- "name": "tip_in_model_ref",
- "type": "scalarxyz_obj"
- },
- {
- "name": "picked_point_in_model_ref",
- "type": "scalarxyz_obj"
- },
- {
- "name": "model_in_model_ref_error",
- "type": "double_obj"
- },
- {
- "name": "tip_in_model",
- "type": "scalarxyz_obj"
- },
- {
- "name": "picked_point_in_model",
- "type": "scalarxyz_obj"
- },
- {
- "name": "target_tool_in_model",
- "type": "transform_obj"
- },
- {
- "name": "target_tool_offset",
- "type": "transform_obj"
- },
- {
- "name": "target_flange_offset",
- "type": "transform_obj"
- },
- {
- "name": "target_flange_pose_temp",
- "type": "transform_obj"
- },
- {
- "name": "flange_move_sig",
- "type": "bool_obj"
- },
- {
- "name": "target_flange_pose",
- "type": "transform_obj"
- },
- {
- "name": "robot_flange_speed_limit",
- "type": "double_obj",
- "value": 5
- },
- {
- "name": "kuka_joint_speed_limit",
- "type": "array7_obj",
- "value": [
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1,
- 0.1
- ]
- },
- {
- "name": "robot_is_moving",
- "type": "bool_obj"
- },
- {
- "name": "kuka_control_mode",
- "type": "u64int_obj"
- }
- ],
- "object_list": [
- {
- "type": "transform_tree",
- "name": "transform_tree",
- "init_config": {
- "node_list": [
- {
- "name": "tracker"
- },
- {
- "name": "probe",
- "parent": "tracker",
- "transform_var_name": "probe_in_tracker"
- },
- {
- "name": "model_ref",
- "parent": "tracker",
- "transform_var_name": "model_ref_in_tracker"
- },
- {
- "name": "model",
- "parent": "model_ref",
- "transform_var_name": "model_in_model_ref"
- },
- {
- "name": "robot_base",
- "parent": "tracker",
- "transform": [
- 227.964774380901,
- 408.415090613534,
- -2083.90135385252,
- 0.718310380441512,
- 0.277543700520970,
- -0.563300905075462,
- -0.299485862758597
- ]
- },
- {
- "name": "robot_flange",
- "parent": "robot_base",
- "transform_var_name": "robot_flange_in_base"
- },
- {
- "name": "tool_real",
- "parent": "robot_flange",
- "transform": [
- 193.674181012287,
- 119.007940358412,
- 0.975841097441376,
- 0.340960180366781,
- -0.343553889200713,
- -0.619099078363195,
- 0.618411846417222
- ]
- },
- {
- "name": "tool",
- "parent": "tool_real",
- "transform": [
- 6,
- 5,
- -25,
- 1,
- 0,
- 0,
- 0
- ]
- }
- ]
- },
- "start_config": {
- "watch_list": [
- {
- "target": "probe",
- "observer": "model_ref",
- "transform_var_name": "probe_in_model_ref"
- },
- {
- "target": "probe",
- "observer": "model",
- "transform_var_name": "probe_in_model"
- },
- {
- "target": "tool",
- "observer": "model",
- "transform_var_name": "tool_in_model"
- },
- {
- "target": "tool",
- "observer": "robot_flange",
- "transform_var_name": "tool_in_robot_flange"
- }
- ]
- }
- },
- {
- "type": "ndi_interface",
- "name": "ndi",
- "init_config": {
- "address_type": "ethernet",
- "ip": "10.0.0.5",
- "tcp_port": 8765,
- "com_port": "COM3",
- "tool_list": [
- {
- "rom_path": "/home/tpx/data/roms/Probe_Small_3Ball.rom",
- "outputs": {
- "transform": "probe_in_tracker"
- }
- },
- {
- "rom_path": "/home/tpx/data/roms/Drill_3Ball.rom",
- "outputs": {
- "transform": "model_ref_in_tracker"
- }
- }
- ]
- },
- "start_config": {
- "allow_unreliable": true,
- "prefer_stream_tracking": false
- }
- },
- {
- "type": "transform_obj_validity_watcher",
- "name": "probe_visibility_watcher",
- "start_config": {
- "variable_name": "probe_in_tracker"
- }
- },
- {
- "type": "transform_obj_validity_watcher",
- "name": "model_ref_visibility_watcher",
- "start_config": {
- "variable_name": "model_ref_in_tracker"
- }
- },
- {
- "type": "scalarxyz_transformer",
- "name": "probe_tip_transformer_for_reg",
- "start_config": {
- "transform_type": "point",
- "transform_var_name": "probe_in_model_ref",
- "target_value": [
- 0,
- 0,
- 0
- ],
- "output_var_name": "tip_in_model_ref"
- },
- "dependencies": [
- "ndi",
- "transform_tree"
- ]
- },
- {
- "type": "transform_stabilizer",
- "name": "point_picker_for_reg",
- "start_config": {
- "stable_type": "point",
- "input_var_name": "tip_in_model_ref",
- "output_var_name": "picked_point_in_model_ref",
- "linear_tolerance_mm": 0.05,
- "temporal_interval_s": 3
- },
- "dependencies": [
- "probe_tip_transformer_for_reg"
- ]
- },
- {
- "type": "scalarxyz_obj_watcher",
- "name": "picked_point_watcher_for_reg",
- "start_config": {
- "variable_name": "picked_point_in_model_ref"
- }
- },
- {
- "type": "landmark_registration",
- "name": "model_registrator",
- "start_config": {
- "fiducial_points": [
- [
- 9.16363,
- 245.77,
- -35.5363
- ],
- [
- -38.2517,
- 238.265,
- 15.8886
- ],
- [
- -18.4721,
- 228.506,
- -24.2903
- ]
- ],
- "point_var_name": "picked_point_in_model_ref",
- "transform_var_name": "model_in_model_ref",
- "error_var_name": "model_in_model_ref_error"
- },
- "dependencies": [
- "point_picker_for_reg"
- ]
- },
- {
- "type": "transform_obj_watcher",
- "name": "registration_result_watcher",
- "start_config": {
- "variable_name": "model_in_model_ref"
- }
- },
- {
- "type": "double_obj_watcher",
- "name": "registration_error_watcher",
- "start_config": {
- "variable_name": "model_in_model_ref_error"
- }
- },
- {
- "type": "scalarxyz_transformer",
- "name": "probe_tip_transformer_for_nav",
- "start_config": {
- "transform_type": "point",
- "transform_var_name": "probe_in_model",
- "target_value": [
- 0,
- 0,
- 0
- ],
- "output_var_name": "tip_in_model"
- },
- "dependencies": [
- "ndi",
- "transform_tree"
- ]
- },
- {
- "type": "transform_stabilizer",
- "name": "point_picker_for_icp",
- "start_config": {
- "stable_type": "point",
- "input_var_name": "tip_in_model",
- "output_var_name": "picked_point_in_model",
- "linear_tolerance_mm": 0.05,
- "temporal_interval_s": 2
- },
- "dependencies": [
- "probe_tip_transformer_for_nav"
- ]
- },
- {
- "type": "scalarxyz_obj_watcher",
- "name": "picked_point_watcher_for_icp",
- "start_config": {
- "variable_name": "picked_point_in_model"
- }
- },
- {
- "type": "kuka_interface",
- "name": "kuka",
- "init_config": {
- "address": "10.0.0.10"
- },
- "start_config": {
- "output_config": {
- "report_frequency": 60,
- "flange_info": {
- "pose": "robot_flange_in_base"
- },
- "is_moving": "robot_is_moving",
- "current_control_mode": "kuka_control_mode"
- },
- "input_config": {
- "control_mode": "hard_flange_pose",
- "flange_pose": "target_flange_pose",
- "flange_speed_limit": "robot_flange_speed_limit",
- "joint_speed_limit": "kuka_joint_speed_limit"
- }
- }
- },
- {
- "type": "five_dof_offset_calculator",
- "name": "tcp_offset_calculator",
- "start_config": {
- "current_transform_var": "tool_in_model",
- "target_transform_var": "target_tool_in_model",
- "offset_transform_var": "target_tool_offset"
- },
- "dependencies": [
- "kuka",
- "ndi",
- "transform_tree"
- ]
- },
- {
- "type": "tcp_offset_to_flange_calculator",
- "name": "flange_offset_calculator",
- "start_config": {
- "tcp_offset_transform_var": "target_tool_offset",
- "tcp_in_flange_transform_var": "tool_in_robot_flange",
- "flange_offset_transform_var": "target_flange_offset"
- },
- "dependencies": [
- "kuka",
- "tcp_offset_calculator"
- ]
- },
- {
- "type": "simple_offset_to_pose_controller",
- "name": "kuka_controller",
- "start_config": {
- "current_transform_var": "robot_flange_in_base",
- "offset_transform_var": "target_flange_offset",
- "target_transform_var": "target_flange_pose_temp"
- },
- "dependencies": [
- "kuka",
- "flange_offset_calculator"
- ]
- },
- {
- "type": "transform_obj_watcher",
- "name": "robot_old_flange_watcher",
- "start_config": {
- "variable_name": "robot_flange_in_base",
- "minimum_interval_ms": 2000
- }
- },
- {
- "type": "transform_obj_watcher",
- "name": "robot_new_flange_watcher",
- "start_config": {
- "variable_name": "target_flange_pose_temp",
- "minimum_interval_ms": 2000
- }
- },
- {
- "type": "transform_obj_d_latch",
- "name": "kuka_controller_latch",
- "start_config": {
- "input_name": "target_flange_pose_temp",
- "output_name": "target_flange_pose",
- "signal_name": "flange_move_sig"
- },
- "dependencies": [
- "kuka",
- "kuka_controller"
- ]
- },
- {
- "type": "empty_object",
- "name": "reg_model",
- "dependencies": [
- "probe_visibility_watcher",
- "model_ref_visibility_watcher",
- "picked_point_watcher_for_reg",
- "model_registrator",
- "registration_result_watcher",
- "registration_error_watcher"
- ]
- },
- {
- "type": "empty_object",
- "name": "icp_model",
- "dependencies": [
- "probe_visibility_watcher",
- "model_ref_visibility_watcher",
- "picked_point_watcher_for_icp",
- "point_picker_for_icp",
- "registration_result_watcher"
- ]
- },
- {
- "type": "empty_object",
- "name": "robot",
- "dependencies": [
- "kuka_controller_latch",
- "robot_old_flange_watcher",
- "robot_new_flange_watcher"
- ]
- }
- ]
- }
|