Releases: zauberzeug/rosys
Releases · zauberzeug/rosys
v0.29.1
Bugfixes
- Limit NiceGUI to 2.x.x for now (#344 by @pascalzauberzeug)
v0.29.0
New features and enhancements
- Introduce a new image recorder and replay module (#341 by @denniswittich, @NiklasNeugebauer)
- Add optional
DriveParameters
argument to theDriver
(#340 by @pascalzauberzeug, @falkoschindler) - Allow customization of the KPI, logging, and video pages (#327, #338 by @pascalzauberzeug)
- Implement API calls for Learning Loop Node 0.17 (#335 by @denniswittich)
- Introduce
is_simulation
in RoSys and fix time calculation outside of the simulation (#331 by @pascalzauberzeug) - Simulate delay of GNSS measurements (#329 by @pascalzauberzeug)
- Introduce
@automation.uninterruptible
decorator (#328, #333 by @falkoschindler, @pascalzauberzeug) - Let the Lizard firmware check if the Robot Brain is ready (#324 by @pascalzauberzeug)
- Send events when the battery starts and stops charging (#323 by @pascalzauberzeug)
- Restructure GNSS developer UI to make it more flexible (#322 by @pascalzauberzeug)
- Add a wrapper for the perspective-n-points (PNP) problem to SpatialResection (#320 by @NiklasNeugebauer, @denniswittich, @falkoschindler)
- Improve BMS simulation and add a developer UI (#319 by @pascalzauberzeug, @falkoschindler)
⚠️ Breaking change:- Instead of
is_charging: Callable
, BmsSimulation now expectsvoltage_per_second: float
(can be updated later).
- Instead of
- Expand IMU simulation by roll and pitch (#318 by @pascalzauberzeug)
Bugfixes
- Cancel unfinished coroutines after tests (#334 by @pascalzauberzeug)
- Correctly clean up events after tests (#330 by @pascalzauberzeug)
- Read bumper values even if an e-stop is active (#326 by @pascalzauberzeug)
- Handle hard and soft e-stop events more consistently (#325 by @pascalzauberzeug)
- Stop driver when spline is too short and
stop_at_end
is set (#321 by @pascalzauberzeug) - Handle projection of 0 points (#337 by @denniswittich, @NiklasNeugebauer)
v0.28.0
New features and enhancements
- Upgrade to Python 3.13 as the default version, drop support for Python 3.10 (#316 by @falkoschindler)
⚠️ Breaking change:- Now RoSys requires at least Python 3.11 to run.
- The RoSys Docker container is now based on Python 3.13.
- Allow defining a custom host for hardware detectors (#315 by @denniswittich)
- Allow customizing the reprojection tolerance for
project_from_image
(#317 by @denniswittich, @falkoschindler)
v0.27.0
New features and enhancements
- Introduce an algorithm for advanced spatial resection (#310 by @denniswittich, @NiklasNeugebauer, @falkoschindler)
- Make automator notifications deactivatable (#314 by @pascalzauberzeug, @falkoschindler)
- Add a new camera parameter
avdec
(#312 by @denniswittich, @falkoschindler, @NiklasNeugebauer) - Remove deprecations (#313 by @NiklasNeugebauer)
⚠️ Breaking changes- The
jovision_profile
parameter has been renamed tosubstream
.
If there is persistence of cameras that still contains this parameter, their creation will cause an exception.
Recently updated persistence (since 0.22.0) should have removed this parameter automatically.
Your persistence files can be found in~/.rosys/
. - The function
Calibration.undistort_array
has been merged intoCalibration.undistort_image
.
Calling the latter with a NumPy array containing an image will have the same effect asundistort_array
.
- The
v0.26.0
New features and enhancements
- Ignore
TimeoutError
when restarting the ESP (#304 by @falkoschindler, @pascalzauberzeug) - Make throttle-at-end ramp configurable (#303 by @SeaTechRC, @falkoschindler)
Bugfixes
- Fix memory leak using weak references to cameras in image route functions (#308 by @NiklasNeugebauer, @falkoschindler)
- Disable persistence in tests (#306 by @pascalzauberzeug, @falkoschindler)
- Reset GNSS buffer after discarding a late message (#302 by @pascalzauberzeug)
v0.25.0
New features and enhancements
- Make
garbage_collection_mbyte_limit
configurable (#300 by @Johannes-Thiel) - Make the driver's minimum spline length configurable (#298 by @pascalzauberzeug)
- Add a notification to warn about wrong Lizard configuartion (#295 by @Johannes-Thiel, @pascalzauberzeug, @falkoschindler)
- Verify ESP readiness before sending data (#292 by @pascalzauberzeug, @falkoschindler)
- Add "Uniarch" vendor (#291 by @denniswittich)
Bugfixes
- Fix
throttle_at_end
forlinear_speed_limit
lower than 1m/s (#297 by @pascalzauberzeug, @falkoschindler) - Check correct strapping pins when flashing Lizard firmware (#296 by @SeaTechRC)
- Allow to forcefully send Lizard commands when ESP is not ready (#293, #294 by @Johannes-Thiel, @pascalzauberzeug)
v0.24.1
Bugfixes
- Clear
Persistable
instances after test (#290 by @pascalzauberzeug, @falkoschindler)
Documentation
- Generate breaking change warnings for release notes (#289 by @pascalzauberzeug)
v0.24.0
New features and enhancements
- Improve GNSS message processing to avoid time discrepancies (#285, #287, #288 by @rodja, @evnchn, @Johannes-Thiel, @pascalzauberzeug, @falkoschindler)
- Allow disabling the ESP (#284 by @pascalzauberzeug, @falkoschindler)
- Add another Dahua MAC prefix (#283 by @denniswittich, @evnchn)
- Add Reolink vendor MAC and URL (#282 by @NiklasNeugebauer)
- Allow inverting e-stops and bumpers (#281 by @Johannes-Thiel)
⚠️ With this change RoSys requires Lizard >=0.1.10. - Add configurable logging level and NiceGUI keyword arguments to notify function (#280 by @pascalzauberzeug, @falkoschindler)
- Add
run.retry()
utility for handling function retries (#278 by @pascalzauberzeug, @falkoschindler) - Add properties to
Rotation
to get roll, pitch and yaw in degrees (#277 by @pascalzauberzeug, @falkoschindler) - Make color configurable in detection SVG rendering (#273 by @pascalzauberzeug)
- Allow downloading the Lizard configuration (#272 by @pascalzauberzeug)
- Introduce a new
Persistable
mixin (#266 by @falkoschindler, @denniswittich)
⚠️ This is a breaking change. Migration guide for persistent objects:- Replace
PersistentModule
withPersistable
in the class definition. - Rename the
backup
andrestore
methods tobackup_to_dict
andrestore_from_dict
. - Use the
persistent
method to make objects persistent which used to be derived fromPersistentModule
:
KpiLogger
,Schedule
,PathPlanner
,CameraProvider
and derived classes. - If you called
PersistentModule
with apersistence_key
,
remove it and use thekey
parameter of thepersistent
method instead.
- Replace
Bugfixes
- Fix compatibility with NiceGUI 2.16.x (#286 by @pascalzauberzeug, @codingpaula, @evnchn, @falkoschindler)
- Fix GNSS noise simulation (#279 by @pascalzauberzeug, @falkoschindler)
- Use generic camera type
T
forCAMERA_ADDED
event parameter (#274 by @NiklasNeugebauer)
Documentation
- Merge examples/ folder into docs/examples/ (#275 by @falkoschindler)
v0.23.0
New features and enhancements
- Add resulting
classifications
to theDetections
class (#271 by @denniswittich) - Add more methods for converting Rosys images from and to PIL images and NumPy arrays (#270 by @denniswittich, @NiklasNeugebauer)
- Introduce
AxesObject
for visualizing 3D frames and poses (#268 by @pascalzauberzeug, @falkoschindler) - Allow adding modules to a robot after initialization (#267 by @pascalzauberzeug)
- Add RTSP camera support to Docker image (#265 by @falkoschindler)
- Add type annotations to RoSys events (#264 by @NiklasNeugebauer, @falkoschindler, @codingpaula)
- Improve distortion API (#262 by @NiklasNeugebauer, @denniswittich)
⚠️ Breaking change:distort_points
andundistort_points
now return arrays of shape (N, 2) - Make IMU gyro calibration threshold configurable (#261 by @pascalzauberzeug)
- Improve type annotation of the persistence converter function
from_dict
(#260 by @codingpaula) - Introduce redistortion for the pinhole model (#259 by @NiklasNeugebauer)
- Improve the videos page to only include date picker and video titles but no previews (#256 by @codingpaula, @falkoschindler)
- Set NiceGUI version to lowest possible one (#255 by @codingpaula)
Bugfixes
- Fix tag upload in detector hardware (#269 by @NiklasNeugebauer)
- Use new
substream
parameter in camera control example (#263 by @NiklasNeugebauer) - Use
args_from_dict
in all camera classes (#257 by @NiklasNeugebauer, @codingpaula)
v0.22.2
Dependency
- Bump Starlette to 0.45.3 to fix zauberzeug/nicegui#4255