bluer-ugv 7.607.1__py3-none-any.whl → 7.616.1__py3-none-any.whl

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.

@@ -38,4 +38,16 @@ docs = [
38
38
  }
39
39
  ),
40
40
  },
41
+ {
42
+ "path": "../docs/swallow/digital/algo/tracking/validations/three.md",
43
+ "items": ImageItems(
44
+ {
45
+ "{}/{}/{}.gif".format(
46
+ assets,
47
+ "swallow-debug-2025-12-12-14-46-34-m8ahlp",
48
+ "swallow-debug-2025-12-12-14-46-34-m8ahlp",
49
+ ): "",
50
+ }
51
+ ),
52
+ },
41
53
  ]
bluer_ugv/__init__.py CHANGED
@@ -4,7 +4,7 @@ ICON = "🐬"
4
4
 
5
5
  DESCRIPTION = f"{ICON} AI x UGV."
6
6
 
7
- VERSION = "7.607.1"
7
+ VERSION = "7.616.1"
8
8
 
9
9
  REPO_NAME = "bluer-ugv"
10
10
 
@@ -2,8 +2,9 @@ from typing import Tuple
2
2
  import numpy as np
3
3
 
4
4
  from bluer_options.timer import Timer
5
+ from bluer_algo.env import BLUER_ALGO_TRACKER_DEFAULT_ALGO
5
6
  from bluer_algo.tracker.classes.target import Target
6
- from bluer_algo.tracker.classes.camshift import CamShiftTracker
7
+ from bluer_algo.tracker.factory import get_tracker_class
7
8
  from bluer_algo.socket.message import SocketMessage
8
9
  from bluer_sbc.imager.camera import instance as camera
9
10
 
@@ -36,7 +37,7 @@ class ClassicalTrackingCamera(ClassicalCamera):
36
37
  log=True,
37
38
  )
38
39
 
39
- self.tracker = CamShiftTracker()
40
+ self.tracker = get_tracker_class(BLUER_ALGO_TRACKER_DEFAULT_ALGO)[1]()
40
41
 
41
42
  def initialize(self) -> bool:
42
43
  if not super().initialize():
@@ -120,6 +121,11 @@ class ClassicalTrackingCamera(ClassicalCamera):
120
121
  ):
121
122
  logger.warning("failed to send debug data.")
122
123
 
124
+ if not self.tracker.tracking:
125
+ logger.warning("🎯 lost target")
126
+ self.leds.flash_all()
127
+ return True
128
+
123
129
  x, _, w, _ = self.track_window
124
130
  if x + w // 2 > image.shape[1] * 2 / 3:
125
131
  self.setpoint.put(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bluer_ugv
3
- Version: 7.607.1
3
+ Version: 7.616.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.607.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.616.1`](https://github.com/kamangir/bluer-ugv).
68
68
 
69
69
 
70
70
  built by 🌀 [`blueness-3.118.1`](https://github.com/kamangir/blueness).
@@ -1,4 +1,4 @@
1
- bluer_ugv/__init__.py,sha256=1Aqi5v2UFFgvlOXOP6a1ycYk-u9v3bIcNZ854A9zGE0,288
1
+ bluer_ugv/__init__.py,sha256=0Om6tXs6AeXhzUOV4_bVajAey-2Qrxb2TbiLGc6l5BY,288
2
2
  bluer_ugv/__main__.py,sha256=77TquqyMca7qHk0XtCixGVyzfW3_9ywnl5oXEPERlls,374
3
3
  bluer_ugv/config.env,sha256=I718Cfy1GaGqVI80vb7iYsoJ0P7SKLW8USaBYb2sub4,1055
4
4
  bluer_ugv/env.py,sha256=oEJiyKf1cCJ9kgZqgwnWemT0U_cO2RmCN3MRSS2vitY,1875
@@ -98,7 +98,7 @@ bluer_ugv/README/swallow/digital/__init__.py,sha256=KTM0h2x5fzGeBSPOdD-Cp1PnP3ef
98
98
  bluer_ugv/README/swallow/digital/algo/__init__.py,sha256=uj-B69s-EP4NcmY3W_HK8MBtWPCQchlI_KxUtp6NZLE,417
99
99
  bluer_ugv/README/swallow/digital/algo/driving.py,sha256=kr-uGXePnizPAb6ceajC9ToZHsh1iwGBMGw0hzgZIJI,83
100
100
  bluer_ugv/README/swallow/digital/algo/navigation.py,sha256=Hg_tkGYnE8qbM37Go4KlAaO-sNAtOBmaNZlPda45BCc,1780
101
- bluer_ugv/README/swallow/digital/algo/tracking.py,sha256=0VmaqWWXQs8PzLL0tIAAkqNVPkVyZIAD9IbpKOCVmuY,1191
101
+ bluer_ugv/README/swallow/digital/algo/tracking.py,sha256=hHvAAIeVZ7Qlqm09_oHoQoSnp00l6rtYnnJqV8XfFUo,1568
102
102
  bluer_ugv/README/swallow/digital/algo/yolo.py,sha256=NlDISZ9LOUmMAzdEYzVYOrIwbDGdM8euMURlBOGACUk,930
103
103
  bluer_ugv/README/swallow/digital/design/__init__.py,sha256=VP_oK0MQ5yPl_FfbY9mLWNTvdi1amsau5Jkjse6a_Es,1991
104
104
  bluer_ugv/README/swallow/digital/design/mechanical.py,sha256=OwgMrFIpRA-RR9CwurXaif09GCd6_i3zGuAfkH0jtsM,983
@@ -178,7 +178,7 @@ bluer_ugv/swallow/session/classical/session.py,sha256=zdP5pUy6u35BBptkQM8kn1w1P-
178
178
  bluer_ugv/swallow/session/classical/camera/__init__.py,sha256=2GchuT19_Ns0uYRS5aUMz4pBwbK3y5XoFxoAlAnJKh8,464
179
179
  bluer_ugv/swallow/session/classical/camera/generic.py,sha256=tW7bQMzmBi9MV28cTlKlDhFdtnB-9mkpBzjaWzEJNec,1220
180
180
  bluer_ugv/swallow/session/classical/camera/navigation.py,sha256=HoeTlifGEfnedb6o8P-O0TcP1bNDRJ0M7vWupQh1pL4,6790
181
- bluer_ugv/swallow/session/classical/camera/tracking.py,sha256=Iy-IiyzWeDWPYerhnQIZ-o2NwL2tmdvieR0PXY0nT-A,4204
181
+ bluer_ugv/swallow/session/classical/camera/tracking.py,sha256=7pMweFUHZe3BETXm9fD4A1YnyJxqT7syDbZYPb2f4v4,4438
182
182
  bluer_ugv/swallow/session/classical/camera/void.py,sha256=IJkJQgTgVucTYagFIwKEchNf3Vcjl99EdCdSdvKaeJo,216
183
183
  bluer_ugv/swallow/session/classical/camera/yolo.py,sha256=i-lEsLpqlmm1v3sa5azQYk7LCgU9Me5y28-LSPurc7g,6412
184
184
  bluer_ugv/swallow/session/classical/keyboard/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -213,8 +213,8 @@ bluer_ugv/swallow/session/classical/ultrasonic_sensor/pack.py,sha256=bVcG8V0P6Sl
213
213
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/review.py,sha256=_iQmec2VSq-ORkTVpXSNJg08hrSz2M1O8LzNZEtoT9U,959
214
214
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/sensor.py,sha256=En-J8BRTiR8k9p2CBbW0cOUuw8nctD5DOXDm5uhCNO4,3987
215
215
  bluer_ugv/swallow/session/classical/ultrasonic_sensor/testing.py,sha256=yj2MY_Jo1FzeXnR_JoFAXsb9eHEVhicDiHEsUa8z03U,1525
216
- bluer_ugv-7.607.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
217
- bluer_ugv-7.607.1.dist-info/METADATA,sha256=PI1d_BksrrVTGGjZfptKjg0jWGUQU3_M6EuyFFsKkik,5579
218
- bluer_ugv-7.607.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
219
- bluer_ugv-7.607.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
220
- bluer_ugv-7.607.1.dist-info/RECORD,,
216
+ bluer_ugv-7.616.1.dist-info/licenses/LICENSE,sha256=ogEPNDSH0_dhiv_lT3ifVIdgIzHAqNA_SemnxUfPBJk,7048
217
+ bluer_ugv-7.616.1.dist-info/METADATA,sha256=GsGDESUzmkAviXPi_aK_nLmYXWA1G-gIuBA_n2WWWPI,5579
218
+ bluer_ugv-7.616.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
219
+ bluer_ugv-7.616.1.dist-info/top_level.txt,sha256=_MlDhFvIPpher9Zs7xyJTHgO2xJJTbfR1dzncz3LQnk,10
220
+ bluer_ugv-7.616.1.dist-info/RECORD,,