ndi_stabilizer_config.json 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. {
  2. "controller_port": 5277,
  3. "variable_list": [
  4. {
  5. "name": "probe_in_tracker",
  6. "type": "transform_obj"
  7. },
  8. {
  9. "name": "probe_uncertainty",
  10. "type": "double_obj"
  11. },
  12. {
  13. "name": "tip_in_tracker",
  14. "type": "scalarxyz_obj"
  15. },
  16. {
  17. "name": "picked_tip_in_tracker",
  18. "type": "scalarxyz_obj"
  19. },
  20. {
  21. "name": "picked_probe_in_tracker",
  22. "type": "transform_obj"
  23. }
  24. ],
  25. "object_list": [
  26. {
  27. "type": "ndi_interface",
  28. "name": "ndi",
  29. "init_config": {
  30. "address_type": "ethernet",
  31. "ip": "169.254.132.51",
  32. "tcp_port": 8765,
  33. "com_port": "COM3",
  34. "tool_list": [
  35. {
  36. "rom_path": "D:\\Program\\Robot\\Tools\\roms\\Probe_Small_4Ball.rom",
  37. "outputs": {
  38. "transform": "probe_in_tracker",
  39. "marker_uncertainty": "probe_uncertainty"
  40. }
  41. }
  42. ]
  43. },
  44. "start_config": {
  45. "allow_unreliable": true,
  46. "prefer_stream_tracking": true
  47. }
  48. },
  49. {
  50. "type": "scalarxyz_transformer",
  51. "name": "probe_tip_transformer",
  52. "start_config": {
  53. "transform_type": "point",
  54. "transform_var_name": "probe_in_tracker",
  55. "target_value": [
  56. -0.02,
  57. -0.92,
  58. 1.54
  59. ],
  60. "output_var_name": "tip_in_tracker"
  61. },
  62. "dependencies": [
  63. "ndi"
  64. ]
  65. },
  66. {
  67. "type": "transform_stabilizer",
  68. "name": "point_picker",
  69. "start_config": {
  70. "stable_type": "point",
  71. "input_var_name": "tip_in_tracker",
  72. "output_var_name": "picked_tip_in_tracker",
  73. "linear_tolerance_mm": 0.02,
  74. "angular_tolerance_deg": 0.01,
  75. "temporal_interval_s": 1.5,
  76. "counting_interval": 150
  77. },
  78. "dependencies": [
  79. "probe_tip_transformer"
  80. ]
  81. },
  82. {
  83. "type": "scalarxyz_obj_watcher",
  84. "name": "picked_point_watcher",
  85. "start_config": {
  86. "variable_name": "picked_tip_in_tracker"
  87. }
  88. },
  89. {
  90. "type": "transform_stabilizer",
  91. "name": "transform_picker",
  92. "start_config": {
  93. "stable_type": "transform",
  94. "input_var_name": "probe_in_tracker",
  95. "output_var_name": "picked_probe_in_tracker",
  96. "linear_tolerance_mm": 0.02,
  97. "angular_tolerance_deg": 0.01,
  98. "temporal_interval_s": 3,
  99. "counting_interval": 150
  100. },
  101. "dependencies": [
  102. "ndi"
  103. ]
  104. },
  105. {
  106. "type": "transform_obj_watcher",
  107. "name": "picked_transform_watcher",
  108. "start_config": {
  109. "variable_name": "picked_probe_in_tracker"
  110. }
  111. },
  112. {
  113. "type": "empty_object",
  114. "name": "all",
  115. "dependencies": [
  116. "point_picker",
  117. "picked_point_watcher",
  118. "transform_picker",
  119. "picked_transform_watcher"
  120. ]
  121. }
  122. ]
  123. }