bluer-ugv 7.231.1__tar.gz → 7.262.1__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.
Files changed (173) hide show
  1. {bluer_ugv-7.231.1/bluer_ugv.egg-info → bluer_ugv-7.262.1}/PKG-INFO +3 -3
  2. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/README.md +2 -2
  3. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/__init__.py +1 -1
  4. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/consts.py +3 -0
  5. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/items.py +1 -1
  6. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/build.py +2 -2
  7. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/shortcuts.py +2 -2
  8. bluer_ugv-7.262.1/bluer_ugv/README/ugvs/comparison/db.py +15 -0
  9. bluer_ugv-7.262.1/bluer_ugv/README/ugvs/comparison/features.py +55 -0
  10. bluer_ugv-7.262.1/bluer_ugv/README/ugvs/comparison/ugvs.py +43 -0
  11. bluer_ugv-7.262.1/bluer_ugv/README/ugvs/db.py +32 -0
  12. bluer_ugv-7.262.1/bluer_ugv/README/ugvs/docs.py +30 -0
  13. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/__init__.py +1 -1
  14. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/env.py +5 -4
  15. bluer_ugv-7.262.1/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
  16. bluer_ugv-7.262.1/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
  17. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1/bluer_ugv.egg-info}/PKG-INFO +3 -3
  18. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv.egg-info/SOURCES.txt +7 -1
  19. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/setup.py +2 -0
  20. bluer_ugv-7.231.1/bluer_ugv/README/UGVs.py +0 -46
  21. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/LICENSE +0 -0
  22. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/MANIFEST.in +0 -0
  23. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/abcli.sh +0 -0
  24. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/actions.sh +0 -0
  25. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/aka.sh +0 -0
  26. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/alias.sh +0 -0
  27. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
  28. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
  29. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
  30. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
  31. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
  32. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
  33. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
  34. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
  35. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
  36. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
  37. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
  38. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
  39. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
  40. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
  41. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
  42. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
  43. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
  44. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
  45. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
  46. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/swallow.sh +0 -0
  47. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
  48. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
  49. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
  50. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
  51. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
  52. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
  53. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
  54. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
  55. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
  56. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
  57. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
  58. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/__init__.py +0 -0
  59. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/alias.py +0 -0
  60. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/algo.py +0 -0
  61. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/design.py +0 -0
  62. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/arzhang/flag.py +0 -0
  63. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/beast.py +0 -0
  64. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/consts.py +0 -0
  65. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/eagle/__init__.py +0 -0
  66. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/eagle/consts.py +0 -0
  67. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/eagle/items.py +0 -0
  68. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/fire/__init__.py +0 -0
  69. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/fire/consts.py +0 -0
  70. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/fire/items.py +0 -0
  71. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/items.py +0 -0
  72. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/rangin/__init__.py +0 -0
  73. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/rangin/consts.py +0 -0
  74. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/rangin/items.py +0 -0
  75. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/ravin/__init__.py +0 -0
  76. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/ravin/consts.py +0 -0
  77. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/ravin/items.py +0 -0
  78. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/root.py +0 -0
  79. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/shield.py +0 -0
  80. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/__init__.py +0 -0
  81. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/analog.py +0 -0
  82. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/consts.py +0 -0
  83. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
  84. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
  85. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
  86. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
  87. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
  88. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
  89. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
  90. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/README/swallow/items.py +0 -0
  91. {bluer_ugv-7.231.1/bluer_ugv/designs → bluer_ugv-7.262.1/bluer_ugv/README/ugvs}/__init__.py +0 -0
  92. {bluer_ugv-7.231.1/bluer_ugv/designs/arzhang → bluer_ugv-7.262.1/bluer_ugv/README/ugvs/comparison}/__init__.py +0 -0
  93. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/__main__.py +0 -0
  94. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/config.env +0 -0
  95. {bluer_ugv-7.231.1/bluer_ugv/designs/eagle → bluer_ugv-7.262.1/bluer_ugv/designs}/__init__.py +0 -0
  96. {bluer_ugv-7.231.1/bluer_ugv/designs/fire → bluer_ugv-7.262.1/bluer_ugv/designs/arzhang}/__init__.py +0 -0
  97. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/arzhang/parts.py +0 -0
  98. {bluer_ugv-7.231.1/bluer_ugv/designs/rangin → bluer_ugv-7.262.1/bluer_ugv/designs/eagle}/__init__.py +0 -0
  99. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/eagle/parts.py +0 -0
  100. {bluer_ugv-7.231.1/bluer_ugv/designs/ravin → bluer_ugv-7.262.1/bluer_ugv/designs/fire}/__init__.py +0 -0
  101. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/fire/parts.py +0 -0
  102. {bluer_ugv-7.231.1/bluer_ugv/designs/ravin/ravin3 → bluer_ugv-7.262.1/bluer_ugv/designs/rangin}/__init__.py +0 -0
  103. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/rangin/parts.py +0 -0
  104. {bluer_ugv-7.231.1/bluer_ugv/designs/ravin/ravin4 → bluer_ugv-7.262.1/bluer_ugv/designs/ravin}/__init__.py +0 -0
  105. {bluer_ugv-7.231.1/bluer_ugv/swallow → bluer_ugv-7.262.1/bluer_ugv/designs/ravin/ravin3}/__init__.py +0 -0
  106. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
  107. {bluer_ugv-7.231.1/bluer_ugv/swallow/dataset → bluer_ugv-7.262.1/bluer_ugv/designs/ravin/ravin4}/__init__.py +0 -0
  108. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
  109. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/env.py +0 -0
  110. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/__init__.py +0 -0
  111. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/__main__.py +0 -0
  112. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/functions.py +0 -0
  113. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/git.py +0 -0
  114. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/__init__.py +0 -0
  115. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/dataset.py +0 -0
  116. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/debug.py +0 -0
  117. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
  118. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/select_target.py +0 -0
  119. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
  120. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/host.py +0 -0
  121. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/logger.py +0 -0
  122. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/sample.env +0 -0
  123. {bluer_ugv-7.231.1/bluer_ugv/swallow/session → bluer_ugv-7.262.1/bluer_ugv/swallow}/__init__.py +0 -0
  124. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/__main__.py +0 -0
  125. {bluer_ugv-7.231.1/bluer_ugv/swallow/session/classical → bluer_ugv-7.262.1/bluer_ugv/swallow/dataset}/__init__.py +0 -0
  126. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
  127. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
  128. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/debug.py +0 -0
  129. {bluer_ugv-7.231.1/bluer_ugv/swallow/session/classical/keyboard → bluer_ugv-7.262.1/bluer_ugv/swallow/session}/__init__.py +0 -0
  130. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/__main__.py +0 -0
  131. {bluer_ugv-7.231.1/bluer_ugv/swallow/session/classical/setpoint → bluer_ugv-7.262.1/bluer_ugv/swallow/session/classical}/__init__.py +0 -0
  132. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
  133. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
  134. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
  135. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
  136. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +0 -0
  137. {bluer_ugv-7.231.1/bluer_ugv/swallow/session/classical/ultrasonic_sensor → bluer_ugv-7.262.1/bluer_ugv/swallow/session/classical/keyboard}/__init__.py +0 -0
  138. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
  139. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +0 -0
  140. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
  141. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
  142. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
  143. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
  144. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
  145. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
  146. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
  147. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
  148. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
  149. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
  150. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
  151. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
  152. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
  153. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/session.py +0 -0
  154. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +0 -0
  155. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
  156. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
  157. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
  158. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
  159. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
  160. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
  161. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
  162. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
  163. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
  164. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
  165. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/session/functions.py +0 -0
  166. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/swallow/targeting.py +0 -0
  167. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv/urls.py +0 -0
  168. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
  169. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv.egg-info/requires.txt +0 -0
  170. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/bluer_ugv.egg-info/top_level.txt +0 -0
  171. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/pyproject.toml +0 -0
  172. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/requirements.txt +0 -0
  173. {bluer_ugv-7.231.1 → bluer_ugv-7.262.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.231.1
3
+ Version: 7.262.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -48,7 +48,7 @@ pip install bluer_ugv
48
48
  | | |
49
49
  | --- | --- |
50
50
  | [`shield`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/shield.md) [![image](https://github.com/kamangir/bluer-designs//blob/main/swallow/electrical/digital.png?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/shield.md) | [`UGVs`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/UGVs) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250912_211652.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/UGVs) |
51
- | [`terraform`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) | [`arzhang validations`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang/validation) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang/validation) |
51
+ | [`terraform`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) | [`validations`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/validations) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/validations) |
52
52
 
53
53
  ## aliases
54
54
 
@@ -64,7 +64,7 @@ pip install bluer_ugv
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.231.1`](https://github.com/kamangir/bluer-ugv).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.262.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -19,7 +19,7 @@ pip install bluer_ugv
19
19
  | | |
20
20
  | --- | --- |
21
21
  | [`shield`](./bluer_ugv/docs/swallow/digital/design/shield.md) [![image](https://github.com/kamangir/bluer-designs//blob/main/swallow/electrical/digital.png?raw=true)](./bluer_ugv/docs/swallow/digital/design/shield.md) | [`UGVs`](./bluer_ugv/docs/UGVs) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250912_211652.jpg?raw=true)](./bluer_ugv/docs/UGVs) |
22
- | [`terraform`](./bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](./bluer_ugv/docs/swallow/digital/design/terraform.md) | [`arzhang validations`](./bluer_ugv/docs/arzhang/validation) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](./bluer_ugv/docs/arzhang/validation) |
22
+ | [`terraform`](./bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](./bluer_ugv/docs/swallow/digital/design/terraform.md) | [`validations`](./bluer_ugv/docs/validations) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](./bluer_ugv/docs/validations) |
23
23
 
24
24
  ## aliases
25
25
 
@@ -35,5 +35,5 @@ pip install bluer_ugv
35
35
 
36
36
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
37
37
 
38
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.231.1`](https://github.com/kamangir/bluer-ugv).
38
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.262.1`](https://github.com/kamangir/bluer-ugv).
39
39
 
@@ -1,6 +1,6 @@
1
1
  from bluer_ugv.README.arzhang.items import items
2
2
  from bluer_ugv.README.arzhang import design, algo, flag
3
- from bluer_ugv.README.arzhang.validations import docs as validations
3
+ from bluer_ugv.README.validations import docs as validations
4
4
 
5
5
  docs = (
6
6
  [
@@ -1,5 +1,8 @@
1
1
  from bluer_objects.README.consts import assets_url, designs_url
2
2
 
3
+ arzhang_assets = assets_url(
4
+ suffix="arzhang",
5
+ )
3
6
 
4
7
  arzhang_assets2 = assets_url(
5
8
  suffix="arzhang",
@@ -16,7 +16,7 @@ items = ImageItems(
16
16
  f"{arzhang_assets2}/VID-20250830-WA0000~3_1.gif": "",
17
17
  f"{arzhang_assets2}/20250901_105247.jpg": "",
18
18
  f"{arzhang_assets2}/20250905_120625.jpg": "",
19
- f"{arzhang_assets2}/VID-20250905-WA0014_1.gif": "./validation/village-1.md",
19
+ f"{arzhang_assets2}/VID-20250905-WA0014_1.gif": "../validations/village-1.md",
20
20
  f"{swallow_assets2}/20251001_185852.jpg": "",
21
21
  f"{swallow_assets2}/20251003_113240-2.jpg": "",
22
22
  f"{swallow_assets2}/20251003_121114-2.jpg": "",
@@ -16,8 +16,8 @@ from bluer_ugv.README import (
16
16
  arzhang,
17
17
  rangin,
18
18
  swallow,
19
- UGVs,
20
19
  )
20
+ from bluer_ugv.README.ugvs import docs as ugvs
21
21
 
22
22
 
23
23
  def build() -> bool:
@@ -46,6 +46,6 @@ def build() -> bool:
46
46
  + arzhang.docs
47
47
  + swallow.docs
48
48
  + alias.docs
49
- + UGVs.docs
49
+ + ugvs.docs
50
50
  + rangin.docs
51
51
  )
@@ -26,8 +26,8 @@ items = markdown.generate_table(
26
26
  "marquee": f"{swallow_assets2}/20250611_100917.jpg?raw=true",
27
27
  },
28
28
  {
29
- "name": "arzhang validations",
30
- "url": "./bluer_ugv/docs/arzhang/validation",
29
+ "name": "validations",
30
+ "url": "./bluer_ugv/docs/validations",
31
31
  "marquee": assets_url(
32
32
  suffix="{object_name}/{object_name}.gif".format(
33
33
  object_name="swallow-debug-2025-09-25-13-16-59-rnm7jd"
@@ -0,0 +1,15 @@
1
+ from bluer_ugv.README.ugvs.comparison.features import UGV_Size, UGV_Cost, UGV_Control
2
+ from bluer_ugv.README.ugvs.comparison.ugvs import List_of_UGVs
3
+
4
+ list_of_ugvs = List_of_UGVs()
5
+
6
+
7
+ list_of_ugvs.add(
8
+ name="ربات موشک‌انداز نذیر",
9
+ control=UGV_Control.RC,
10
+ size=UGV_Size.MEDIUM,
11
+ payload=700,
12
+ range=4,
13
+ cost=UGV_Cost.MEDIUM,
14
+ DYI=False,
15
+ )
@@ -0,0 +1,55 @@
1
+ from typing import Dict, Callable
2
+
3
+ from enum import Enum
4
+
5
+
6
+ class UGV_Control(Enum):
7
+ RC_AI = 3
8
+ AI = 2
9
+ RC = 1
10
+
11
+
12
+ class UGV_Cost(Enum):
13
+ LOW = 100 # < 50 mT ~= $500
14
+ MEDIUM = 10 # < 500 mT ~= $5k
15
+ HIGHT = 1 # < 5 MT ~= $50k
16
+
17
+
18
+ class UGV_Size(Enum):
19
+ SMALL = 100
20
+ MEDIUM = 10
21
+ LARGE = 1
22
+
23
+
24
+ class Feature:
25
+ def __init__(
26
+ self,
27
+ name,
28
+ score: int = -1,
29
+ better_func: Callable = lambda score_1, score_2: score_1 > score_2,
30
+ ):
31
+ self.name = name
32
+ self.score = score
33
+ self.better_func = better_func
34
+
35
+
36
+ class FeatureList:
37
+ def __init__(self):
38
+ self.db: Dict[Feature] = {}
39
+
40
+ def add(self, feature: Feature):
41
+ self.db[feature] = False
42
+
43
+
44
+ list_of_features: FeatureList = FeatureList()
45
+
46
+ for feature_name in [
47
+ "سامانه‌ی هوش مصنوعی",
48
+ "سامانه‌ی مکان‌یابی",
49
+ "فعالیت گروهی",
50
+ "شعاع عملکرد عملیاتی نامحدود",
51
+ "قابلیت استتار و کمین درازمدت",
52
+ "حمل پهپاد و رهپاد",
53
+ "تحریم گریزی",
54
+ ]:
55
+ FeatureList.add(Feature(feature_name))
@@ -0,0 +1,43 @@
1
+ from typing import List
2
+ import copy
3
+
4
+ from bluer_ugv.README.ugvs.comparison.features import (
5
+ list_of_features,
6
+ UGV_Control,
7
+ UGV_Cost,
8
+ UGV_Size,
9
+ )
10
+
11
+
12
+ class UGV:
13
+ def __init__(
14
+ self,
15
+ name: str,
16
+ control: UGV_Control,
17
+ size: UGV_Size,
18
+ payload: float, # kg
19
+ range: float, # km
20
+ cost: UGV_Cost,
21
+ DYI: bool,
22
+ ):
23
+ self.name = name
24
+ self.control = control
25
+ self.size = size
26
+ self.payload = payload
27
+ self.range = range
28
+ self.cost = cost
29
+ self.DYI = DYI
30
+
31
+ self.features = copy.deepcopy(list_of_features)
32
+
33
+
34
+ class List_of_UGVs:
35
+ def __init__(self):
36
+ self.db: List[UGV] = []
37
+
38
+ def add(
39
+ self,
40
+ **kw_args,
41
+ ):
42
+ ugv = UGV(**kw_args)
43
+ self.db.append(ugv)
@@ -0,0 +1,32 @@
1
+ from bluer_ugv.README.swallow.consts import swallow_assets2
2
+ from bluer_ugv.README.arzhang.consts import arzhang_assets, arzhang_assets2
3
+ from bluer_ugv.README.rangin.consts import rangin_assets2
4
+
5
+ dict_of_ugvs = {
6
+ "swallow": {
7
+ "items": [
8
+ f"{swallow_assets2}/20250701_2206342_1.gif",
9
+ f"{swallow_assets2}/20250913_203635~2_1.gif",
10
+ ]
11
+ },
12
+ "arzhang": {
13
+ "items": [
14
+ f"{arzhang_assets2}/20251106_111750.jpg",
15
+ ],
16
+ },
17
+ "arzhang2": {
18
+ "items": [
19
+ f"{arzhang_assets2}/20251106_111750.jpg",
20
+ ],
21
+ },
22
+ "arzhang3": {
23
+ "items": [
24
+ f"{arzhang_assets}/20251107_175506.jpg",
25
+ ],
26
+ },
27
+ "rangin": {
28
+ "items": [
29
+ f"{rangin_assets2}/rangin.png",
30
+ ]
31
+ },
32
+ }
@@ -0,0 +1,30 @@
1
+ from bluer_objects.README.items import ImageItems
2
+
3
+ from bluer_ugv.README.ugvs.db import dict_of_ugvs
4
+ from bluer_ugv.README.validations.db import dict_of_validations
5
+
6
+ docs = [
7
+ {
8
+ "path": f"../docs/UGVs/{ugv_name}.md",
9
+ "items": ImageItems({item: "" for item in info.get("items", [])}),
10
+ "macros": {
11
+ "validations:::": [
12
+ "validations: {}".format(
13
+ ", ".join(
14
+ sorted(
15
+ [
16
+ f"[`{validation_name}`](../validations/{validation_name}.md)"
17
+ for validation_name, info in dict_of_validations.items()
18
+ if any(
19
+ ugv_name_.startswith(f"{ugv_name}:")
20
+ for ugv_name_ in info["ugv_name"]
21
+ )
22
+ ]
23
+ )
24
+ )
25
+ ),
26
+ ]
27
+ },
28
+ }
29
+ for ugv_name, info in dict_of_ugvs.items()
30
+ ]
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.231.1"
7
+ VERSION = "7.262.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -1,6 +1,7 @@
1
1
  from typing import List
2
2
 
3
- from bluer_options.terminal import show_usage, xtra
3
+ from bluer_options.terminal import show_usage
4
+ from bluer_sbc import env
4
5
 
5
6
 
6
7
  def help_cp(
@@ -48,9 +49,9 @@ def help_set(
48
49
  ],
49
50
  "set env.",
50
51
  {
51
- "bps: BLUER_SBC_SWALLOW_HAS_BPS": "",
52
- "full_keyboard: BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD": "",
53
- "steering: BLUER_SBC_SWALLOW_HAS_STEERING": "",
52
+ f"bps: BLUER_SBC_SWALLOW_HAS_BPS (currently: {env.BLUER_SBC_SWALLOW_HAS_BPS})": "",
53
+ f"full_keyboard: BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD (currently: {env.BLUER_SBC_SWALLOW_HAS_FULL_KEYBOARD})": "",
54
+ f"steering: BLUER_SBC_SWALLOW_HAS_STEERING (currently: {env.BLUER_SBC_SWALLOW_HAS_STEERING})": "",
54
55
  },
55
56
  mono=mono,
56
57
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.231.1
3
+ Version: 7.262.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -48,7 +48,7 @@ pip install bluer_ugv
48
48
  | | |
49
49
  | --- | --- |
50
50
  | [`shield`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/shield.md) [![image](https://github.com/kamangir/bluer-designs//blob/main/swallow/electrical/digital.png?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/shield.md) | [`UGVs`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/UGVs) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250912_211652.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/UGVs) |
51
- | [`terraform`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) | [`arzhang validations`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang/validation) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/arzhang/validation) |
51
+ | [`terraform`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) [![image](https://github.com/kamangir/assets2/raw/main/swallow/20250611_100917.jpg?raw=true)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/swallow/digital/design/terraform.md) | [`validations`](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/validations) [![image](https://github.com/kamangir/assets/raw/main/swallow-debug-2025-09-25-13-16-59-rnm7jd/swallow-debug-2025-09-25-13-16-59-rnm7jd.gif)](https://github.com/kamangir/bluer-ugv/blob/main/bluer_ugv/docs/validations) |
52
52
 
53
53
  ## aliases
54
54
 
@@ -64,7 +64,7 @@ pip install bluer_ugv
64
64
 
65
65
  [![pylint](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pylint.yml) [![pytest](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/pytest.yml) [![bashtest](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml/badge.svg)](https://github.com/kamangir/bluer-ugv/actions/workflows/bashtest.yml) [![PyPI version](https://img.shields.io/pypi/v/bluer-ugv.svg)](https://pypi.org/project/bluer-ugv/) [![PyPI - Downloads](https://img.shields.io/pypi/dd/bluer-ugv)](https://pypistats.org/packages/bluer-ugv)
66
66
 
67
- built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.231.1`](https://github.com/kamangir/bluer-ugv).
67
+ built by 🌀 [`bluer README`](https://github.com/kamangir/bluer-objects/tree/main/bluer_objects/README), based on 🐬 [`bluer_ugv-7.262.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -53,7 +53,6 @@ bluer_ugv/.abcli/tests/swallow_dataset_list.sh
53
53
  bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh
54
54
  bluer_ugv/.abcli/tests/version.sh
55
55
  bluer_ugv/.abcli/ugv/git.sh
56
- bluer_ugv/README/UGVs.py
57
56
  bluer_ugv/README/__init__.py
58
57
  bluer_ugv/README/alias.py
59
58
  bluer_ugv/README/beast.py
@@ -92,6 +91,13 @@ bluer_ugv/README/swallow/digital/algo/yolo.py
92
91
  bluer_ugv/README/swallow/digital/design/__init__.py
93
92
  bluer_ugv/README/swallow/digital/design/mechanical.py
94
93
  bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py
94
+ bluer_ugv/README/ugvs/__init__.py
95
+ bluer_ugv/README/ugvs/db.py
96
+ bluer_ugv/README/ugvs/docs.py
97
+ bluer_ugv/README/ugvs/comparison/__init__.py
98
+ bluer_ugv/README/ugvs/comparison/db.py
99
+ bluer_ugv/README/ugvs/comparison/features.py
100
+ bluer_ugv/README/ugvs/comparison/ugvs.py
95
101
  bluer_ugv/designs/__init__.py
96
102
  bluer_ugv/designs/arzhang/__init__.py
97
103
  bluer_ugv/designs/arzhang/parts.py
@@ -22,6 +22,8 @@ setup(
22
22
  f"{NAME}.README.swallow.digital",
23
23
  f"{NAME}.README.swallow.digital.algo",
24
24
  f"{NAME}.README.swallow.digital.design",
25
+ f"{NAME}.README.ugvs",
26
+ f"{NAME}.README.ugvs.comparison",
25
27
  # designs
26
28
  f"{NAME}.designs",
27
29
  f"{NAME}.designs.arzhang",
@@ -1,46 +0,0 @@
1
- from bluer_objects.README.items import ImageItems
2
-
3
- from bluer_ugv.README.consts import bluer_ugv_assets
4
- from bluer_ugv.README.arzhang.consts import arzhang_assets2
5
- from bluer_ugv.README.rangin.consts import rangin_assets2
6
- from bluer_ugv.README.swallow.consts import swallow_assets2
7
-
8
-
9
- docs = [
10
- {
11
- "path": "../docs/UGVs",
12
- },
13
- {
14
- "path": "../docs/UGVs/swallow.md",
15
- "items": ImageItems(
16
- {
17
- f"{swallow_assets2}/20250701_2206342_1.gif": "",
18
- f"{swallow_assets2}/20250913_203635~2_1.gif": "",
19
- }
20
- ),
21
- },
22
- {
23
- "path": "../docs/UGVs/arzhang.md",
24
- "items": ImageItems(
25
- {
26
- f"{arzhang_assets2}/20251005_112530.jpg": "",
27
- }
28
- ),
29
- },
30
- {
31
- "path": "../docs/UGVs/arzhang2.md",
32
- "items": ImageItems(
33
- {
34
- f"{arzhang_assets2}/20251005_112530.jpg": "",
35
- }
36
- ),
37
- },
38
- {
39
- "path": "../docs/UGVs/arzhang3.md",
40
- "items": ImageItems({f"{bluer_ugv_assets}/bluer-light.png": ""}),
41
- },
42
- {
43
- "path": "../docs/UGVs/rangin.md",
44
- "items": ImageItems({f"{rangin_assets2}/rangin.png": ""}),
45
- },
46
- ]
File without changes
File without changes
File without changes
File without changes