isar 1.23.1__tar.gz → 1.23.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of isar might be problematic. Click here for more details.

Files changed (204) hide show
  1. {isar-1.23.1 → isar-1.23.3}/PKG-INFO +1 -1
  2. {isar-1.23.1 → isar-1.23.3}/requirements.txt +8 -8
  3. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/models/start_mission_definition.py +1 -3
  4. {isar-1.23.1 → isar-1.23.3}/src/isar/config/settings.py +3 -5
  5. {isar-1.23.1 → isar-1.23.3}/src/isar/services/utilities/scheduling_utilities.py +1 -1
  6. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/monitor.py +2 -2
  7. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/PKG-INFO +1 -1
  8. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/exceptions/robot_exceptions.py +18 -5
  9. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/telemetry/mqtt_client.py +9 -3
  10. {isar-1.23.1 → isar-1.23.3}/.dockerignore +0 -0
  11. {isar-1.23.1 → isar-1.23.3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  12. {isar-1.23.1 → isar-1.23.3}/.github/ISSUE_TEMPLATE/feature.md +0 -0
  13. {isar-1.23.1 → isar-1.23.3}/.github/ISSUE_TEMPLATE/improvement.md +0 -0
  14. {isar-1.23.1 → isar-1.23.3}/.github/release.yml +0 -0
  15. {isar-1.23.1 → isar-1.23.3}/.github/workflows/compile_requirements.yml +0 -0
  16. {isar-1.23.1 → isar-1.23.3}/.github/workflows/project_automations.yml +0 -0
  17. {isar-1.23.1 → isar-1.23.3}/.github/workflows/publish_isar_base_image.yml +0 -0
  18. {isar-1.23.1 → isar-1.23.3}/.github/workflows/pythonpackage.yml +0 -0
  19. {isar-1.23.1 → isar-1.23.3}/.github/workflows/pythonpublish.yml +0 -0
  20. {isar-1.23.1 → isar-1.23.3}/.github/workflows/stale.yml +0 -0
  21. {isar-1.23.1 → isar-1.23.3}/.gitignore +0 -0
  22. {isar-1.23.1 → isar-1.23.3}/.pre-commit-config.yaml +0 -0
  23. {isar-1.23.1 → isar-1.23.3}/Dockerfile +0 -0
  24. {isar-1.23.1 → isar-1.23.3}/LICENSE +0 -0
  25. {isar-1.23.1 → isar-1.23.3}/README.md +0 -0
  26. {isar-1.23.1 → isar-1.23.3}/SECURITY.md +0 -0
  27. {isar-1.23.1 → isar-1.23.3}/docker-compose-turtlebot.yml +0 -0
  28. {isar-1.23.1 → isar-1.23.3}/docker-compose.yml +0 -0
  29. {isar-1.23.1 → isar-1.23.3}/docs/Makefile +0 -0
  30. {isar-1.23.1 → isar-1.23.3}/docs/make.bat +0 -0
  31. {isar-1.23.1 → isar-1.23.3}/docs/rst_processing.py +0 -0
  32. {isar-1.23.1 → isar-1.23.3}/docs/source/conf.py +0 -0
  33. {isar-1.23.1 → isar-1.23.3}/docs/source/index.rst +0 -0
  34. {isar-1.23.1 → isar-1.23.3}/docs/source/readme_link.md +0 -0
  35. {isar-1.23.1 → isar-1.23.3}/docs/state_machine_diagram.png +0 -0
  36. {isar-1.23.1 → isar-1.23.3}/main.py +0 -0
  37. {isar-1.23.1 → isar-1.23.3}/pyproject.toml +0 -0
  38. {isar-1.23.1 → isar-1.23.3}/radixconfig.yml +0 -0
  39. {isar-1.23.1 → isar-1.23.3}/setup.cfg +0 -0
  40. {isar-1.23.1 → isar-1.23.3}/src/isar/__init__.py +0 -0
  41. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/__init__.py +0 -0
  42. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/api.py +0 -0
  43. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/models/__init__.py +0 -0
  44. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/models/models.py +0 -0
  45. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/schedule/__init__.py +0 -0
  46. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/schedule/scheduling_controller.py +0 -0
  47. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/security/__init__.py +0 -0
  48. {isar-1.23.1 → isar-1.23.3}/src/isar/apis/security/authentication.py +0 -0
  49. {isar-1.23.1 → isar-1.23.3}/src/isar/config/__init__.py +0 -0
  50. {isar-1.23.1 → isar-1.23.3}/src/isar/config/certs/ca-cert.pem +0 -0
  51. {isar-1.23.1 → isar-1.23.3}/src/isar/config/configuration_error.py +0 -0
  52. {isar-1.23.1 → isar-1.23.3}/src/isar/config/keyvault/__init__.py +0 -0
  53. {isar-1.23.1 → isar-1.23.3}/src/isar/config/keyvault/keyvault_error.py +0 -0
  54. {isar-1.23.1 → isar-1.23.3}/src/isar/config/keyvault/keyvault_service.py +0 -0
  55. {isar-1.23.1 → isar-1.23.3}/src/isar/config/log.py +0 -0
  56. {isar-1.23.1 → isar-1.23.3}/src/isar/config/logging.conf +0 -0
  57. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/JSP1_intermediate_deck.json +0 -0
  58. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/JSP1_weather_deck.json +0 -0
  59. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/default_map.json +0 -0
  60. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/klab_b.json +0 -0
  61. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/klab_compressor.json +0 -0
  62. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/klab_turtlebot.json +0 -0
  63. {isar-1.23.1 → isar-1.23.3}/src/isar/config/maps/turtleworld.json +0 -0
  64. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_mission_definition/__init__.py +0 -0
  65. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_mission_definition/default_exr.json +0 -0
  66. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_mission_definition/default_mission.json +0 -0
  67. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_mission_definition/default_turtlebot.json +0 -0
  68. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_missions/__init__.py +0 -0
  69. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_missions/default.json +0 -0
  70. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_missions/default_turtlebot.json +0 -0
  71. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_poses/__init__.py +0 -0
  72. {isar-1.23.1 → isar-1.23.3}/src/isar/config/predefined_poses/predefined_poses.py +0 -0
  73. {isar-1.23.1 → isar-1.23.3}/src/isar/config/settings.env +0 -0
  74. {isar-1.23.1 → isar-1.23.3}/src/isar/mission_planner/__init__.py +0 -0
  75. {isar-1.23.1 → isar-1.23.3}/src/isar/mission_planner/local_planner.py +0 -0
  76. {isar-1.23.1 → isar-1.23.3}/src/isar/mission_planner/mission_planner_interface.py +0 -0
  77. {isar-1.23.1 → isar-1.23.3}/src/isar/mission_planner/sequential_task_selector.py +0 -0
  78. {isar-1.23.1 → isar-1.23.3}/src/isar/mission_planner/task_selector_interface.py +0 -0
  79. {isar-1.23.1 → isar-1.23.3}/src/isar/models/__init__.py +0 -0
  80. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/__init__.py +0 -0
  81. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/message.py +0 -0
  82. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/queues/__init__.py +0 -0
  83. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/queues/queue_io.py +0 -0
  84. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/queues/queue_timeout_error.py +0 -0
  85. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/queues/queues.py +0 -0
  86. {isar-1.23.1 → isar-1.23.3}/src/isar/models/communication/queues/status_queue.py +0 -0
  87. {isar-1.23.1 → isar-1.23.3}/src/isar/models/mission_metadata/__init__.py +0 -0
  88. {isar-1.23.1 → isar-1.23.3}/src/isar/modules.py +0 -0
  89. {isar-1.23.1 → isar-1.23.3}/src/isar/script.py +0 -0
  90. {isar-1.23.1 → isar-1.23.3}/src/isar/services/__init__.py +0 -0
  91. {isar-1.23.1 → isar-1.23.3}/src/isar/services/auth/__init__.py +0 -0
  92. {isar-1.23.1 → isar-1.23.3}/src/isar/services/auth/azure_credentials.py +0 -0
  93. {isar-1.23.1 → isar-1.23.3}/src/isar/services/readers/__init__.py +0 -0
  94. {isar-1.23.1 → isar-1.23.3}/src/isar/services/readers/base_reader.py +0 -0
  95. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/__init__.py +0 -0
  96. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/mqtt/__init__.py +0 -0
  97. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/mqtt/mqtt_client.py +0 -0
  98. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/mqtt/robot_heartbeat_publisher.py +0 -0
  99. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/mqtt/robot_info_publisher.py +0 -0
  100. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/request_handler.py +0 -0
  101. {isar-1.23.1 → isar-1.23.3}/src/isar/services/service_connections/stid/__init__.py +0 -0
  102. {isar-1.23.1 → isar-1.23.3}/src/isar/services/utilities/__init__.py +0 -0
  103. {isar-1.23.1 → isar-1.23.3}/src/isar/services/utilities/queue_utilities.py +0 -0
  104. {isar-1.23.1 → isar-1.23.3}/src/isar/services/utilities/threaded_request.py +0 -0
  105. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/__init__.py +0 -0
  106. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/state_machine.py +0 -0
  107. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/__init__.py +0 -0
  108. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/idle.py +0 -0
  109. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/initialize.py +0 -0
  110. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/initiate.py +0 -0
  111. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/off.py +0 -0
  112. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/offline.py +0 -0
  113. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/paused.py +0 -0
  114. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states/stop.py +0 -0
  115. {isar-1.23.1 → isar-1.23.3}/src/isar/state_machine/states_enum.py +0 -0
  116. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/__init__.py +0 -0
  117. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/blob_storage.py +0 -0
  118. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/local_storage.py +0 -0
  119. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/slimm_storage.py +0 -0
  120. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/storage_interface.py +0 -0
  121. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/uploader.py +0 -0
  122. {isar-1.23.1 → isar-1.23.3}/src/isar/storage/utilities.py +0 -0
  123. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/SOURCES.txt +0 -0
  124. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/dependency_links.txt +0 -0
  125. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/entry_points.txt +0 -0
  126. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/requires.txt +0 -0
  127. {isar-1.23.1 → isar-1.23.3}/src/isar.egg-info/top_level.txt +0 -0
  128. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/__init__.py +0 -0
  129. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/__init__.py +0 -0
  130. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/exceptions/__init__.py +0 -0
  131. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/initialize/__init__.py +0 -0
  132. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/initialize/initialize_params.py +0 -0
  133. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/inspection/__init__.py +0 -0
  134. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/inspection/inspection.py +0 -0
  135. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/mission/__init__.py +0 -0
  136. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/mission/mission.py +0 -0
  137. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/mission/status.py +0 -0
  138. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/mission/task.py +0 -0
  139. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/robots/__init__.py +0 -0
  140. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/models/robots/robot_model.py +0 -0
  141. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/robot_interface.py +0 -0
  142. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/telemetry/__init__.py +0 -0
  143. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/telemetry/media_connection_type.py +0 -0
  144. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/telemetry/payloads.py +0 -0
  145. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/test_robot_interface.py +0 -0
  146. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/utilities/__init__.py +0 -0
  147. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/utilities/json_service.py +0 -0
  148. {isar-1.23.1 → isar-1.23.3}/src/robot_interface/utilities/uuid_string_factory.py +0 -0
  149. {isar-1.23.1 → isar-1.23.3}/tests/__init__.py +0 -0
  150. {isar-1.23.1 → isar-1.23.3}/tests/conftest.py +0 -0
  151. {isar-1.23.1 → isar-1.23.3}/tests/integration/__init__.py +0 -0
  152. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/__init__.py +0 -0
  153. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/config/__init__.py +0 -0
  154. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/config/maps/__init__.py +0 -0
  155. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/config/maps/turtleworld.json +0 -0
  156. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/config/missions/__init__.py +0 -0
  157. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/config/missions/default.json +0 -0
  158. {isar-1.23.1 → isar-1.23.3}/tests/integration/turtlebot/test_successful_mission.py +0 -0
  159. {isar-1.23.1 → isar-1.23.3}/tests/isar/__init__.py +0 -0
  160. {isar-1.23.1 → isar-1.23.3}/tests/isar/apis/__init__.py +0 -0
  161. {isar-1.23.1 → isar-1.23.3}/tests/isar/apis/scheduler/__init__.py +0 -0
  162. {isar-1.23.1 → isar-1.23.3}/tests/isar/apis/scheduler/test_scheduler_router.py +0 -0
  163. {isar-1.23.1 → isar-1.23.3}/tests/isar/apis/security/__init__.py +0 -0
  164. {isar-1.23.1 → isar-1.23.3}/tests/isar/apis/security/test_authentication.py +0 -0
  165. {isar-1.23.1 → isar-1.23.3}/tests/isar/mission/__init__.py +0 -0
  166. {isar-1.23.1 → isar-1.23.3}/tests/isar/mission/test_mission.py +0 -0
  167. {isar-1.23.1 → isar-1.23.3}/tests/isar/models/__init__.py +0 -0
  168. {isar-1.23.1 → isar-1.23.3}/tests/isar/models/communication/__init__.py +0 -0
  169. {isar-1.23.1 → isar-1.23.3}/tests/isar/models/communication/test_queues.py +0 -0
  170. {isar-1.23.1 → isar-1.23.3}/tests/isar/models/example_mission_definition.json +0 -0
  171. {isar-1.23.1 → isar-1.23.3}/tests/isar/models/test_start_mission_definition.py +0 -0
  172. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/__init__.py +0 -0
  173. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/readers/__init__.py +0 -0
  174. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/readers/test_base_reader.py +0 -0
  175. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/readers/test_mission_reader.py +0 -0
  176. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/service_connections/__init__.py +0 -0
  177. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/service_connections/echo/__init__.py +0 -0
  178. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/service_connections/test_base_request_handler.py +0 -0
  179. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/utilities/__init__.py +0 -0
  180. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/utilities/test_queue_utilities.py +0 -0
  181. {isar-1.23.1 → isar-1.23.3}/tests/isar/services/utilities/test_scheduling_utilities.py +0 -0
  182. {isar-1.23.1 → isar-1.23.3}/tests/isar/state_machine/__init__.py +0 -0
  183. {isar-1.23.1 → isar-1.23.3}/tests/isar/state_machine/states/__init__.py +0 -0
  184. {isar-1.23.1 → isar-1.23.3}/tests/isar/state_machine/states/test_monitor.py +0 -0
  185. {isar-1.23.1 → isar-1.23.3}/tests/isar/state_machine/test_state_machine.py +0 -0
  186. {isar-1.23.1 → isar-1.23.3}/tests/isar/storage/test_blob_storage.py +0 -0
  187. {isar-1.23.1 → isar-1.23.3}/tests/isar/storage/test_uploader.py +0 -0
  188. {isar-1.23.1 → isar-1.23.3}/tests/mocks/__init__.py +0 -0
  189. {isar-1.23.1 → isar-1.23.3}/tests/mocks/blob_storage.py +0 -0
  190. {isar-1.23.1 → isar-1.23.3}/tests/mocks/mission_definition.py +0 -0
  191. {isar-1.23.1 → isar-1.23.3}/tests/mocks/mqtt_client.py +0 -0
  192. {isar-1.23.1 → isar-1.23.3}/tests/mocks/pose.py +0 -0
  193. {isar-1.23.1 → isar-1.23.3}/tests/mocks/request.py +0 -0
  194. {isar-1.23.1 → isar-1.23.3}/tests/mocks/robot_interface.py +0 -0
  195. {isar-1.23.1 → isar-1.23.3}/tests/mocks/status.py +0 -0
  196. {isar-1.23.1 → isar-1.23.3}/tests/mocks/task.py +0 -0
  197. {isar-1.23.1 → isar-1.23.3}/tests/mocks/token.py +0 -0
  198. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_json_file.json +0 -0
  199. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_map_config/test_map_config.json +0 -0
  200. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_mission_not_working.json +0 -0
  201. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_mission_working.json +0 -0
  202. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_mission_working_no_tasks.json +0 -0
  203. {isar-1.23.1 → isar-1.23.3}/tests/test_data/test_thermal_image_mission.json +0 -0
  204. {isar-1.23.1 → isar-1.23.3}/tests/test_modules.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isar
3
- Version: 1.23.1
3
+ Version: 1.23.3
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
@@ -8,7 +8,7 @@ alitra==1.1.3
8
8
  # via isar (pyproject.toml)
9
9
  annotated-types==0.7.0
10
10
  # via pydantic
11
- anyio==4.6.0
11
+ anyio==4.6.2.post1
12
12
  # via
13
13
  # httpx
14
14
  # starlette
@@ -18,7 +18,7 @@ azure-core==1.31.0
18
18
  # azure-keyvault-secrets
19
19
  # azure-storage-blob
20
20
  # opencensus-ext-azure
21
- azure-identity==1.18.0
21
+ azure-identity==1.19.0
22
22
  # via
23
23
  # isar (pyproject.toml)
24
24
  # opencensus-ext-azure
@@ -37,7 +37,7 @@ certifi==2024.8.30
37
37
  # requests
38
38
  cffi==1.17.1
39
39
  # via cryptography
40
- charset-normalizer==3.3.2
40
+ charset-normalizer==3.4.0
41
41
  # via requests
42
42
  click==8.1.7
43
43
  # via
@@ -54,13 +54,13 @@ dacite==1.8.1
54
54
  # via
55
55
  # alitra
56
56
  # isar (pyproject.toml)
57
- fastapi==0.115.0
57
+ fastapi==0.115.2
58
58
  # via
59
59
  # fastapi-azure-auth
60
60
  # isar (pyproject.toml)
61
61
  fastapi-azure-auth==5.0.1
62
62
  # via isar (pyproject.toml)
63
- google-api-core==2.20.0
63
+ google-api-core==2.21.0
64
64
  # via opencensus
65
65
  google-auth==2.35.0
66
66
  # via google-api-core
@@ -81,7 +81,7 @@ idna==3.10
81
81
  # requests
82
82
  injector==0.22.0
83
83
  # via isar (pyproject.toml)
84
- isodate==0.7.0
84
+ isodate==0.7.2
85
85
  # via
86
86
  # azure-keyvault-secrets
87
87
  # azure-storage-blob
@@ -174,7 +174,7 @@ sniffio==1.3.1
174
174
  # via
175
175
  # anyio
176
176
  # httpx
177
- starlette==0.38.6
177
+ starlette==0.40.0
178
178
  # via fastapi
179
179
  transitions==0.9.2
180
180
  # via isar (pyproject.toml)
@@ -189,7 +189,7 @@ typing-extensions==4.12.2
189
189
  # pydantic-core
190
190
  urllib3==2.2.3
191
191
  # via requests
192
- uvicorn==0.31.0
192
+ uvicorn==0.31.1
193
193
  # via isar (pyproject.toml)
194
194
  wrapt==1.16.0
195
195
  # via opencensus-ext-requests
@@ -8,7 +8,6 @@ from pydantic import BaseModel, Field
8
8
  from isar.apis.models.models import InputPose, InputPosition
9
9
  from isar.config.settings import settings
10
10
  from isar.mission_planner.mission_planner_interface import MissionPlannerError
11
- from robot_interface.models.inspection.inspection import Inspection, InspectionMetadata
12
11
  from robot_interface.models.mission.mission import Mission
13
12
  from robot_interface.models.mission.task import (
14
13
  TASKS,
@@ -21,7 +20,6 @@ from robot_interface.models.mission.task import (
21
20
  TakeThermalVideo,
22
21
  TakeVideo,
23
22
  )
24
- from robot_interface.models.mission.task import Task
25
23
 
26
24
 
27
25
  class InspectionTypes(str, Enum):
@@ -51,7 +49,7 @@ class StartMissionInspectionDefinition(BaseModel):
51
49
  class StartMissionTaskDefinition(BaseModel):
52
50
  type: TaskType = Field(default=TaskType.Inspection)
53
51
  pose: InputPose
54
- inspection: StartMissionInspectionDefinition
52
+ inspection: Optional[StartMissionInspectionDefinition] = None
55
53
  tag: Optional[str] = None
56
54
  id: Optional[str] = None
57
55
 
@@ -8,7 +8,7 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
8
8
 
9
9
  from isar.config import predefined_missions
10
10
  from robot_interface.models.robots.robot_model import RobotModel
11
- from robot_interface.telemetry.payloads import VideoStream, DocumentInfo
11
+ from robot_interface.telemetry.payloads import DocumentInfo, VideoStream
12
12
 
13
13
 
14
14
  class Settings(BaseSettings):
@@ -54,10 +54,10 @@ class Settings(BaseSettings):
54
54
  # Determines the number of state transitions that are kept in the log
55
55
  STATE_TRANSITIONS_LOG_LENGTH: int = Field(default=20)
56
56
 
57
- # Number of attempts to initiate a step or mission before cancelling
57
+ # Number of attempts to initiate a task or mission before cancelling
58
58
  INITIATE_FAILURE_COUNTER_LIMIT: int = Field(default=10)
59
59
 
60
- # Number of attempts to request a step status in monitor before cancelling
60
+ # Number of attempts to request a task status in monitor before cancelling
61
61
  REQUEST_STATUS_FAILURE_COUNTER_LIMIT: int = Field(default=3)
62
62
 
63
63
  # Number of attempts to stop the robot before giving up
@@ -236,7 +236,6 @@ class Settings(BaseSettings):
236
236
  TOPIC_ISAR_STATUS: str = Field(default="status", validate_default=True)
237
237
  TOPIC_ISAR_MISSION: str = Field(default="mission", validate_default=True)
238
238
  TOPIC_ISAR_TASK: str = Field(default="task", validate_default=True)
239
- TOPIC_ISAR_STEP: str = Field(default="step", validate_default=True)
240
239
  TOPIC_ISAR_INSPECTION_RESULT: str = Field(
241
240
  default="inspection_result", validate_default=True
242
241
  )
@@ -290,7 +289,6 @@ class Settings(BaseSettings):
290
289
  "TOPIC_ISAR_STATUS",
291
290
  "TOPIC_ISAR_MISSION",
292
291
  "TOPIC_ISAR_TASK",
293
- "TOPIC_ISAR_STEP",
294
292
  "TOPIC_ISAR_ROBOT_INFO",
295
293
  "TOPIC_ISAR_ROBOT_HEARTBEAT",
296
294
  "TOPIC_ISAR_INSPECTION_RESULT",
@@ -128,7 +128,7 @@ class SchedulingUtilities:
128
128
  """
129
129
  is_state_machine_ready_to_receive_mission = state == States.Idle
130
130
  if not is_state_machine_ready_to_receive_mission:
131
- error_message = f"Conflict - Mission already in progress - State: {state}"
131
+ error_message = f"Conflict - Robot is not idle - State: {state}"
132
132
  self.logger.warning(error_message)
133
133
  raise HTTPException(status_code=HTTPStatus.CONFLICT, detail=error_message)
134
134
 
@@ -67,7 +67,7 @@ class Monitor(State):
67
67
  self._run_get_status_thread(
68
68
  status_function=self.state_machine.robot.task_status,
69
69
  function_argument=self.state_machine.current_task.id,
70
- thread_name="State Machine Monitor Get Step Status",
70
+ thread_name="State Machine Monitor Get Task Status",
71
71
  )
72
72
  try:
73
73
  status: TaskStatus = self.task_status_thread.get_output()
@@ -229,7 +229,7 @@ class Monitor(State):
229
229
  error_description=e.error_description,
230
230
  )
231
231
  self.logger.error(
232
- f"Step will be cancelled after failing to get task status "
232
+ f"Task will be cancelled after failing to get task status "
233
233
  f"{self.request_status_failure_counter} times because: "
234
234
  f"{e.error_description}"
235
235
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: isar
3
- Version: 1.23.1
3
+ Version: 1.23.3
4
4
  Summary: Integration and Supervisory control of Autonomous Robots
5
5
  Author-email: Equinor ASA <fg_robots_dev@equinor.com>
6
6
  License: Eclipse Public License version 2.0
@@ -9,13 +9,14 @@ class ErrorReason(str, Enum):
9
9
  RobotInfeasibleTaskException: str = "robot_infeasible_step_exception"
10
10
  RobotInfeasibleMissionException: str = "robot_infeasible_mission_exception"
11
11
  RobotMissionStatusException: str = "robot_mission_status_exception"
12
- RobotStepStatusException: str = "robot_step_status_exception"
12
+ RobotTaskStatusException: str = "robot_task_status_exception"
13
13
  RobotAPIException: str = "robot_api_exception"
14
14
  RobotActionException: str = "robot_action_exception"
15
15
  RobotInitializeException: str = "robot_initialize_exception"
16
16
  RobotRetrieveDataException: str = "robot_retrieve_data_exception"
17
17
  RobotRetrieveInspectionException: str = "robot_retrieve_inspection_exception"
18
18
  RobotTelemetryException: str = "robot_telemetry_exception"
19
+ RobotTelemetryPoseException: str = "robot_telemetry_pose_exception"
19
20
  RobotMapException: str = "robot_map_exception"
20
21
  RobotTransformException: str = "robot_transform_exception"
21
22
  RobotUnknownErrorException: str = "robot_unknown_error_exception"
@@ -66,7 +67,7 @@ class RobotCommunicationTimeoutException(RobotException):
66
67
 
67
68
 
68
69
  # An exception which should be thrown by the robot package if it is unable to start the
69
- # current step.
70
+ # current task.
70
71
  class RobotInfeasibleTaskException(RobotException):
71
72
  def __init__(self, error_description: str) -> None:
72
73
  super().__init__(
@@ -102,11 +103,11 @@ class RobotMissionStatusException(RobotException):
102
103
 
103
104
 
104
105
  # An exception which should be thrown by the robot package if it is unable to collect
105
- # the status of the current step.
106
+ # the status of the current task.
106
107
  class RobotTaskStatusException(RobotException):
107
108
  def __init__(self, error_description: str) -> None:
108
109
  super().__init__(
109
- error_reason=ErrorReason.RobotStepStatusException,
110
+ error_reason=ErrorReason.RobotTaskStatusException,
110
111
  error_description=error_description,
111
112
  )
112
113
 
@@ -165,7 +166,7 @@ class RobotRetrieveDataException(RobotException):
165
166
 
166
167
 
167
168
  # An exception which should be thrown by the robot package if it is unable to collect
168
- # the inspections that were generated for the currently executing step or mission.
169
+ # the inspections that were generated for the currently executing task or mission.
169
170
  class RobotRetrieveInspectionException(RobotException):
170
171
  def __init__(self, error_description: str) -> None:
171
172
  super().__init__(
@@ -189,6 +190,18 @@ class RobotTelemetryException(RobotException):
189
190
  pass
190
191
 
191
192
 
193
+ # An exception which should be thrown by the robot package if it is unable to retrieve
194
+ # telemetry pose data. It should be used exclusively by the telemetry pose publisher.
195
+ class RobotTelemetryPoseException(RobotException):
196
+ def __init__(self, error_description: str) -> None:
197
+ super().__init__(
198
+ error_reason=ErrorReason.RobotTelemetryPoseException,
199
+ error_description=error_description,
200
+ )
201
+
202
+ pass
203
+
204
+
192
205
  # An exception which should be thrown by the robot package if it is unable to load the
193
206
  # configuration for maps and transformations. This could be caused by faulty
194
207
  # configuration and this exception will cause ISAR to crash as further execution is not
@@ -5,7 +5,10 @@ from datetime import datetime, timezone
5
5
  from queue import Queue
6
6
  from typing import Callable, Tuple
7
7
 
8
- from robot_interface.models.exceptions.robot_exceptions import RobotTelemetryException
8
+ from robot_interface.models.exceptions.robot_exceptions import (
9
+ RobotTelemetryException,
10
+ RobotTelemetryPoseException,
11
+ )
9
12
  from robot_interface.telemetry.payloads import CloudHealthPayload
10
13
  from robot_interface.utilities.json_service import EnhancedJSONEncoder
11
14
 
@@ -63,7 +66,7 @@ class MqttTelemetryPublisher(MqttClientInterface):
63
66
  self.retain: bool = retain
64
67
 
65
68
  def run(self, isar_id: str, robot_name: str) -> None:
66
- self.cloud_healt_topic: str = f"isar/{isar_id}/cloud_health"
69
+ self.cloud_health_topic: str = f"isar/{isar_id}/cloud_health"
67
70
  topic: str
68
71
  payload: str
69
72
 
@@ -71,12 +74,15 @@ class MqttTelemetryPublisher(MqttClientInterface):
71
74
  try:
72
75
  payload = self.telemetry_method(isar_id=isar_id, robot_name=robot_name)
73
76
  topic = self.topic
77
+ except RobotTelemetryPoseException:
78
+ time.sleep(self.interval)
79
+ continue
74
80
  except RobotTelemetryException:
75
81
  payload = json.dumps(
76
82
  CloudHealthPayload(isar_id, robot_name, datetime.now(timezone.utc)),
77
83
  cls=EnhancedJSONEncoder,
78
84
  )
79
- topic = self.cloud_healt_topic
85
+ topic = self.cloud_health_topic
80
86
 
81
87
  self.publish(topic=topic, payload=payload, qos=self.qos, retain=self.retain)
82
88
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes