bluer-ugv 7.616.1__tar.gz → 7.628.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.

Potentially problematic release.


This version of bluer-ugv might be problematic. Click here for more details.

Files changed (228) hide show
  1. {bluer_ugv-7.616.1/bluer_ugv.egg-info → bluer_ugv-7.628.1}/PKG-INFO +2 -2
  2. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/README.md +1 -1
  3. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/build.py +20 -5
  4. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/ps.py +1 -1
  5. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/size.py +1 -1
  6. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/ugvs/classes.py +3 -0
  7. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/ugvs/db.py +30 -2
  8. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/__init__.py +1 -1
  9. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1/bluer_ugv.egg-info}/PKG-INFO +2 -2
  10. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/LICENSE +0 -0
  11. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/MANIFEST.in +0 -0
  12. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/abcli.sh +0 -0
  13. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/actions.sh +0 -0
  14. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/aka.sh +0 -0
  15. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/alias.sh +0 -0
  16. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/bluer_ugv.sh +0 -0
  17. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset/combine.sh +0 -0
  18. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset/download.sh +0 -0
  19. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset/edit.sh +0 -0
  20. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset/list.sh +0 -0
  21. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset/upload.sh +0 -0
  22. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/dataset.sh +0 -0
  23. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/debug.sh +0 -0
  24. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/env/cp.sh +0 -0
  25. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/env/list.sh +0 -0
  26. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/env/set.sh +0 -0
  27. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/env.sh +0 -0
  28. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/git/rm_keys.sh +0 -0
  29. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/git.sh +0 -0
  30. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/keyboard/test.sh +0 -0
  31. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/keyboard.sh +0 -0
  32. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/select_target.sh +0 -0
  33. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/session.sh +0 -0
  34. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/ultrasonic/review.sh +0 -0
  35. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/ultrasonic/test.sh +0 -0
  36. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/ultrasonic.sh +0 -0
  37. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/play.sh +0 -0
  38. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/playlist/cat.sh +0 -0
  39. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/playlist/download.sh +0 -0
  40. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/playlist/edit.sh +0 -0
  41. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/playlist/upload.sh +0 -0
  42. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video/playlist.sh +0 -0
  43. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow/video.sh +0 -0
  44. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/swallow.sh +0 -0
  45. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/README.sh +0 -0
  46. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/help.sh +0 -0
  47. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine.sh +0 -0
  48. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_explicit.sh +0 -0
  49. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_combine_sequence.sh +0 -0
  50. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_download_upload.sh +0 -0
  51. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_edit.sh +0 -0
  52. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_dataset_list.sh +0 -0
  53. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_video_play.sh +0 -0
  54. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/swallow_video_playlist.sh +0 -0
  55. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/ultrasonic_sensor_review.sh +0 -0
  56. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/tests/version.sh +0 -0
  57. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/.abcli/ugv/git.sh +0 -0
  58. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/__init__.py +0 -0
  59. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/alias.py +0 -0
  60. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/__init__.py +0 -0
  61. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/algo.py +0 -0
  62. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/consts.py +0 -0
  63. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/design.py +0 -0
  64. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/flag.py +0 -0
  65. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/arzhang/items.py +0 -0
  66. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/beast.py +0 -0
  67. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/build.py +0 -0
  68. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/__init__.py +0 -0
  69. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/box.py +0 -0
  70. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/docs.py +0 -0
  71. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/power.py +0 -0
  72. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/schematics.py +0 -0
  73. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/shield/__init__.py +0 -0
  74. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/shield/docs.py +0 -0
  75. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/shield/testing.py +0 -0
  76. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/shield/v1.py +0 -0
  77. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/shield/v2.py +0 -0
  78. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/computer/testing.py +0 -0
  79. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/consts.py +0 -0
  80. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/eagle/__init__.py +0 -0
  81. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/eagle/consts.py +0 -0
  82. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/eagle/items.py +0 -0
  83. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/fire/__init__.py +0 -0
  84. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/fire/consts.py +0 -0
  85. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/fire/items.py +0 -0
  86. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/items.py +0 -0
  87. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/rangin/__init__.py +0 -0
  88. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/rangin/consts.py +0 -0
  89. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/rangin/items.py +0 -0
  90. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ravin/__init__.py +0 -0
  91. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ravin/consts.py +0 -0
  92. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ravin/items.py +0 -0
  93. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/releases.py +0 -0
  94. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/root.py +0 -0
  95. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/shortcuts.py +0 -0
  96. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/__init__.py +0 -0
  97. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/analog.py +0 -0
  98. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/consts.py +0 -0
  99. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/__init__.py +0 -0
  100. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/algo/__init__.py +0 -0
  101. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/algo/driving.py +0 -0
  102. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/algo/navigation.py +0 -0
  103. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/algo/tracking.py +0 -0
  104. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/algo/yolo.py +0 -0
  105. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/design/__init__.py +0 -0
  106. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/design/mechanical.py +0 -0
  107. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/design/parts.py +0 -0
  108. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/digital/design/ultrasonic_sensor.py +0 -0
  109. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/swallow/items.py +0 -0
  110. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/__init__.py +0 -0
  111. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/__init__.py +0 -0
  112. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/DYI.py +0 -0
  113. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/__init__.py +0 -0
  114. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/classes.py +0 -0
  115. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/concealment.py +0 -0
  116. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/control.py +0 -0
  117. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/cost.py +0 -0
  118. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/db.py +0 -0
  119. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/payload.py +0 -0
  120. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/range.py +0 -0
  121. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/sanction_proof.py +0 -0
  122. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/speed.py +0 -0
  123. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/swarm.py +0 -0
  124. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/features/uv_delivery.py +0 -0
  125. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/references/__init__.py +0 -0
  126. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/references/classes.py +0 -0
  127. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/references/db.py +0 -0
  128. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/comparison/ugvs/__init__.py +0 -0
  129. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/db.py +0 -0
  130. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/README/ugvs/docs.py +0 -0
  131. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/__main__.py +0 -0
  132. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/assets/comparison.html +0 -0
  133. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/config.env +0 -0
  134. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/__init__.py +0 -0
  135. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/eagle/__init__.py +0 -0
  136. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/eagle/parts.py +0 -0
  137. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/fire/__init__.py +0 -0
  138. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/fire/parts.py +0 -0
  139. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/rangin/__init__.py +0 -0
  140. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/rangin/parts.py +0 -0
  141. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/ravin/__init__.py +0 -0
  142. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/ravin/ravin3/__init__.py +0 -0
  143. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/ravin/ravin3/parts.py +0 -0
  144. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/ravin/ravin4/__init__.py +0 -0
  145. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/designs/ravin/ravin4/parts.py +0 -0
  146. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/env.py +0 -0
  147. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/__init__.py +0 -0
  148. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/__main__.py +0 -0
  149. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/functions.py +0 -0
  150. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/git.py +0 -0
  151. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/__init__.py +0 -0
  152. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/dataset.py +0 -0
  153. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/debug.py +0 -0
  154. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/env.py +0 -0
  155. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/git.py +0 -0
  156. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/keyboard.py +0 -0
  157. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/select_target.py +0 -0
  158. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/ultrasonic_sensor.py +0 -0
  159. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/video/__init__.py +0 -0
  160. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/video/functions.py +0 -0
  161. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/help/swallow/video/playlist.py +0 -0
  162. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/host.py +0 -0
  163. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/logger.py +0 -0
  164. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/sample.env +0 -0
  165. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/__init__.py +0 -0
  166. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/__main__.py +0 -0
  167. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/dataset/__init__.py +0 -0
  168. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/dataset/__main__.py +0 -0
  169. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/dataset/combination.py +0 -0
  170. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/debug.py +0 -0
  171. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/__init__.py +0 -0
  172. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/__main__.py +0 -0
  173. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/__init__.py +0 -0
  174. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/__init__.py +0 -0
  175. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/generic.py +0 -0
  176. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/navigation.py +0 -0
  177. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/tracking.py +0 -0
  178. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/void.py +0 -0
  179. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/camera/yolo.py +0 -0
  180. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/keyboard/__init__.py +0 -0
  181. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/keyboard/__main__.py +0 -0
  182. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/keyboard/classes.py +0 -0
  183. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/keyboard/keys.py +0 -0
  184. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/keyboard/testing.py +0 -0
  185. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/leds.py +0 -0
  186. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/mode.py +0 -0
  187. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/__init__.py +0 -0
  188. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/generic.py +0 -0
  189. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/left.py +0 -0
  190. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/rear.py +0 -0
  191. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/right.py +0 -0
  192. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/motor/steering.py +0 -0
  193. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/mousepad.py +0 -0
  194. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/position.py +0 -0
  195. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/push_button.py +0 -0
  196. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/__init__.py +0 -0
  197. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/classes.py +0 -0
  198. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/video/__init__.py +0 -0
  199. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/video/__main__.py +0 -0
  200. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/video/engine.py +0 -0
  201. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/video/player.py +0 -0
  202. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/screen/video/playlist.py +0 -0
  203. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/session.py +0 -0
  204. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/setpoint/__init__.py +0 -0
  205. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/setpoint/classes.py +0 -0
  206. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/setpoint/steering.py +0 -0
  207. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__init__.py +0 -0
  208. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/__main__.py +0 -0
  209. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/classes.py +0 -0
  210. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/consts.py +0 -0
  211. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection.py +0 -0
  212. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/detection_list.py +0 -0
  213. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/log.py +0 -0
  214. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py +0 -0
  215. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py +0 -0
  216. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py +0 -0
  217. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py +0 -0
  218. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/session/functions.py +0 -0
  219. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/swallow/targeting.py +0 -0
  220. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv/urls.py +0 -0
  221. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv.egg-info/SOURCES.txt +0 -0
  222. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv.egg-info/dependency_links.txt +0 -0
  223. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv.egg-info/requires.txt +0 -0
  224. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/bluer_ugv.egg-info/top_level.txt +0 -0
  225. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/pyproject.toml +0 -0
  226. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/requirements.txt +0 -0
  227. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/setup.cfg +0 -0
  228. {bluer_ugv-7.616.1 → bluer_ugv-7.628.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.616.1
3
+ Version: 7.628.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -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.616.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.628.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -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.616.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.628.1`](https://github.com/kamangir/bluer-ugv).
39
39
 
@@ -3,7 +3,8 @@ from typing import List, Union
3
3
  from functools import reduce
4
4
 
5
5
  from blueness import module
6
- from bluer_objects import file
6
+ from bluer_objects import file, objects
7
+ from bluer_objects.README.consts import assets_url
7
8
 
8
9
  from bluer_ugv import NAME
9
10
  from bluer_ugv.README.ugvs.comparison.ugvs.db import list_of_ugvs
@@ -13,6 +14,8 @@ from bluer_ugv.logger import logger
13
14
 
14
15
  NAME = module.name(__file__, NAME)
15
16
 
17
+ OBJECT_NAME = "bluer-ugv-comparison-v1"
18
+
16
19
 
17
20
  def build(
18
21
  log: bool = True,
@@ -45,9 +48,10 @@ def build(
45
48
  contents[:content_index]
46
49
  + row_of(
47
50
  [
51
+ "تصویر",
48
52
  "رديف",
49
53
  "نام محصول مشابه",
50
- "مشابهت و تفاوت ها محصول شما با آنها ",
54
+ "مشابهت و تفاوت های محصول ما با آنها ",
51
55
  ],
52
56
  header=True,
53
57
  )
@@ -56,6 +60,17 @@ def build(
56
60
  [
57
61
  row_of(
58
62
  [
63
+ (
64
+ '<img src="{}" alt="{}" style="width: 200pt;"/>'.format(
65
+ assets_url(
66
+ suffix=f"{OBJECT_NAME}/{ugv.image}",
67
+ volume=2,
68
+ ),
69
+ ugv.name,
70
+ )
71
+ if ugv.image
72
+ else ""
73
+ ),
59
74
  str(index + 1),
60
75
  ugv.description,
61
76
  reference_ugv.compare(ugv),
@@ -97,9 +112,9 @@ def build(
97
112
  )
98
113
 
99
114
  return file.save_text(
100
- file.absolute(
101
- "../../../docs/UGVs/comparison.html",
102
- reference_path=file.path(__file__),
115
+ objects.path_of(
116
+ filename="comparison.html",
117
+ object_name=OBJECT_NAME,
103
118
  ),
104
119
  contents,
105
120
  log=log,
@@ -3,6 +3,6 @@ from bluer_ugv.README.ugvs.comparison.features.classes import Feature
3
3
 
4
4
  class PSFeature(Feature):
5
5
  nickname = "ps"
6
- long_name = "سامانه‌ی مکان‌یابی محلی"
6
+ long_name = "سامانه‌ی مکان‌یابی و ارتباطی محلی"
7
7
 
8
8
  comparison_as_str = {}
@@ -8,7 +8,7 @@ from bluer_ugv.README.ugvs.comparison.features.classes import (
8
8
 
9
9
 
10
10
  class UGV_Size(Feature_Enum):
11
- SMALL = 100 # < 5 kg
11
+ SMALL = 100 # < 20 kg
12
12
  MEDIUM = 10 # < 50 kg
13
13
  LARGE = 1
14
14
 
@@ -15,6 +15,7 @@ class UGV:
15
15
  name: str,
16
16
  features: Dict[str, Any],
17
17
  deficiencies: List[str] = [],
18
+ image: str = "",
18
19
  ):
19
20
  self.nickname = nickname
20
21
  self.name = name
@@ -34,6 +35,8 @@ class UGV:
34
35
 
35
36
  self.deficiencies = deficiencies
36
37
 
38
+ self.image = image
39
+
37
40
  def compare(
38
41
  self,
39
42
  ugv: "UGV",
@@ -26,6 +26,7 @@ list_of_ugvs.add(
26
26
 
27
27
  list_of_ugvs.add(
28
28
  nickname="nazir",
29
+ image="nazir.jpg",
29
30
  name="ربات موشک‌انداز نذیر",
30
31
  features={
31
32
  "control": UGV_Control.RC,
@@ -39,6 +40,7 @@ list_of_ugvs.add(
39
40
  list_of_ugvs.add(
40
41
  nickname="heydar",
41
42
  name="ربات حیدر",
43
+ image="heydar.jpg",
42
44
  features={
43
45
  "concealment": True,
44
46
  "control": UGV_Control.AI,
@@ -58,6 +60,7 @@ list_of_ugvs.add(
58
60
  list_of_ugvs.add(
59
61
  nickname="karakal",
60
62
  name="ربات جنگجوی هوشمند کاراکال",
63
+ image="karakal.jpg",
61
64
  features={
62
65
  "control": UGV_Control.AI,
63
66
  "cost": UGV_Cost.MEDIUM,
@@ -70,6 +73,7 @@ list_of_ugvs.add(
70
73
  list_of_ugvs.add(
71
74
  nickname="qasem",
72
75
  name="ربات قاسم",
76
+ image="qasem.jpg",
73
77
  features={
74
78
  "cost": UGV_Cost.MEDIUM,
75
79
  "size": UGV_Size.MEDIUM,
@@ -81,6 +85,7 @@ list_of_ugvs.add(
81
85
  list_of_ugvs.add(
82
86
  nickname="arya",
83
87
  name="ربات آریا",
88
+ image="arya.jpg",
84
89
  features={
85
90
  "control": UGV_Control.AI,
86
91
  "cost": UGV_Cost.MEDIUM,
@@ -102,6 +107,7 @@ list_of_ugvs.add(
102
107
  list_of_ugvs.add(
103
108
  nickname="raad1",
104
109
  name="متلاشی‌کننده بمب و تله انفجاری رعد ۱",
110
+ image="raad1.jpg",
105
111
  features={
106
112
  "control": UGV_Control.RC,
107
113
  "cost": UGV_Cost.MEDIUM,
@@ -113,6 +119,7 @@ list_of_ugvs.add(
113
119
  list_of_ugvs.add(
114
120
  nickname="uran_6",
115
121
  name="Uran-6",
122
+ image="Uran-6.jpeg",
116
123
  features={
117
124
  "control": UGV_Control.AI,
118
125
  "cost": UGV_Cost.HIGH,
@@ -126,6 +133,7 @@ list_of_ugvs.add(
126
133
  list_of_ugvs.add(
127
134
  nickname="uran_9",
128
135
  name="Uran-9",
136
+ image="Uran-9.jpg",
129
137
  features={
130
138
  "control": UGV_Control.AI,
131
139
  "cost": UGV_Cost.HIGH,
@@ -139,6 +147,7 @@ list_of_ugvs.add(
139
147
  list_of_ugvs.add(
140
148
  nickname="uran_14",
141
149
  name="Uran-14",
150
+ image="Uran-14.jpg",
142
151
  features={
143
152
  "control": UGV_Control.AI,
144
153
  "cost": UGV_Cost.HIGH,
@@ -153,6 +162,7 @@ list_of_ugvs.add(
153
162
  list_of_ugvs.add(
154
163
  nickname="themis_9",
155
164
  name="THeMIS-9",
165
+ image="THeMIS-9.jpeg",
156
166
  features={
157
167
  "control": UGV_Control.AI,
158
168
  "cost": UGV_Cost.HIGH,
@@ -167,6 +177,7 @@ list_of_ugvs.add(
167
177
  list_of_ugvs.add(
168
178
  nickname="type_x",
169
179
  name="Type-X",
180
+ image="Type-X.jpg",
170
181
  features={
171
182
  "control": UGV_Control.AI,
172
183
  "cost": UGV_Cost.HIGH,
@@ -181,6 +192,7 @@ list_of_ugvs.add(
181
192
  list_of_ugvs.add(
182
193
  nickname="centaur",
183
194
  name="Centaur",
195
+ image="Centaur.jpg",
184
196
  features={
185
197
  "control": UGV_Control.RC,
186
198
  "cost": UGV_Cost.HIGH,
@@ -196,6 +208,7 @@ list_of_ugvs.add(
196
208
  list_of_ugvs.add(
197
209
  nickname="xm1219",
198
210
  name="XM1219",
211
+ image="XM1219.jpeg",
199
212
  features={
200
213
  "control": UGV_Control.RC,
201
214
  "cost": UGV_Cost.HIGH,
@@ -207,6 +220,7 @@ list_of_ugvs.add(
207
220
  list_of_ugvs.add(
208
221
  nickname="talon",
209
222
  name="Foster-Miller TALON",
223
+ image="talon.jpg",
210
224
  features={
211
225
  "control": UGV_Control.RC,
212
226
  "cost": UGV_Cost.HIGH,
@@ -219,6 +233,7 @@ list_of_ugvs.add(
219
233
  list_of_ugvs.add(
220
234
  nickname="gladiator",
221
235
  name="Gladiator TUGV",
236
+ image="Gladiator.jpg",
222
237
  features={
223
238
  "control": UGV_Control.RC,
224
239
  "cost": UGV_Cost.HIGH,
@@ -230,6 +245,7 @@ list_of_ugvs.add(
230
245
  list_of_ugvs.add(
231
246
  nickname="ukap",
232
247
  name="UKAP",
248
+ image="UKAP.jpg",
233
249
  features={
234
250
  "control": UGV_Control.RC,
235
251
  "cost": UGV_Cost.HIGH,
@@ -241,6 +257,7 @@ list_of_ugvs.add(
241
257
  list_of_ugvs.add(
242
258
  nickname="ripsaw",
243
259
  name="Ripsaw",
260
+ image="Ripsaw.jpg",
244
261
  features={
245
262
  "control": UGV_Control.AI,
246
263
  "cost": UGV_Cost.HIGH,
@@ -254,6 +271,7 @@ list_of_ugvs.add(
254
271
  list_of_ugvs.add(
255
272
  nickname="teodor",
256
273
  name="tEODor",
274
+ image="tEODor.png",
257
275
  features={
258
276
  "control": UGV_Control.RC,
259
277
  "cost": UGV_Cost.HIGH,
@@ -267,6 +285,7 @@ list_of_ugvs.add(
267
285
  list_of_ugvs.add(
268
286
  nickname="black_knight",
269
287
  name="Black Knight",
288
+ image="black_knight.jpeg",
270
289
  features={
271
290
  "control": UGV_Control.AI,
272
291
  "cost": UGV_Cost.HIGH,
@@ -279,6 +298,7 @@ list_of_ugvs.add(
279
298
  list_of_ugvs.add(
280
299
  nickname="guardium",
281
300
  name="Guardium",
301
+ image="Guardium.jpg",
282
302
  features={
283
303
  "control": UGV_Control.AI,
284
304
  "cost": UGV_Cost.HIGH,
@@ -290,6 +310,7 @@ list_of_ugvs.add(
290
310
  list_of_ugvs.add(
291
311
  nickname="milica",
292
312
  name="Milos & Milica",
313
+ image="Milos.jpg",
293
314
  features={
294
315
  "control": UGV_Control.RC,
295
316
  "cost": UGV_Cost.MEDIUM,
@@ -304,6 +325,7 @@ list_of_ugvs.add(
304
325
  list_of_ugvs.add(
305
326
  nickname="taifun_m",
306
327
  name="Taifun-M",
328
+ image="Taifun-M.jpg",
307
329
  features={
308
330
  "control": UGV_Control.RC,
309
331
  "cost": UGV_Cost.HIGH,
@@ -317,6 +339,7 @@ list_of_ugvs.add(
317
339
  list_of_ugvs.add(
318
340
  nickname="jackal",
319
341
  name="Jackal",
342
+ image="Jackal.jpeg",
320
343
  features={
321
344
  "control": UGV_Control.AI,
322
345
  "cost": UGV_Cost.HIGH,
@@ -330,6 +353,7 @@ list_of_ugvs.add(
330
353
  list_of_ugvs.add(
331
354
  nickname="avantguard",
332
355
  name="AvantGuard UGCV",
356
+ image="avantguard.jpg",
333
357
  features={
334
358
  "control": UGV_Control.AI,
335
359
  "cost": UGV_Cost.HIGH,
@@ -343,6 +367,7 @@ list_of_ugvs.add(
343
367
  list_of_ugvs.add(
344
368
  nickname="sr-lambda",
345
369
  name="SIM-RACAR-Lambda",
370
+ image="SIM-RACAR-Lambda.jpg",
346
371
  features={
347
372
  "control": UGV_Control.AI,
348
373
  "cost": UGV_Cost.HIGH,
@@ -355,7 +380,8 @@ list_of_ugvs.add(
355
380
 
356
381
  list_of_ugvs.add(
357
382
  nickname="sharp_claw_1",
358
- name="Sharl Claw 1",
383
+ name="Sharp Claw 1",
384
+ image="Sharp-Claw-1.jpg",
359
385
  features={
360
386
  "control": UGV_Control.RC,
361
387
  "cost": UGV_Cost.HIGH,
@@ -369,7 +395,8 @@ list_of_ugvs.add(
369
395
 
370
396
  list_of_ugvs.add(
371
397
  nickname="sharp_claw_2",
372
- name="Sharl Claw 2",
398
+ name="Sharp Claw 2",
399
+ image="Sharp-Claw-2.jpg",
373
400
  features={
374
401
  "control": UGV_Control.RC,
375
402
  "cost": UGV_Cost.HIGH,
@@ -385,6 +412,7 @@ list_of_ugvs.add(
385
412
  list_of_ugvs.add(
386
413
  nickname="robattle",
387
414
  name="Robattle",
415
+ image="Robattle.jpeg",
388
416
  features={
389
417
  "control": UGV_Control.AI,
390
418
  "cost": UGV_Cost.HIGH,
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.616.1"
7
+ VERSION = "7.628.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.616.1
3
+ Version: 7.628.1
4
4
  Summary: 🐬 AI x UGV.
5
5
  Home-page: https://github.com/kamangir/bluer-ugv
6
6
  Author: Arash Abadpour (Kamangir)
@@ -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.616.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.628.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
File without changes
File without changes