Changelog
All notable changes to this project will be documented in this file.
[0.7.2] - 2023-04-26
Bug Fixes
Proper type casting to np.float64 (0b2b805)
Ignore init for doctests due to circular import errors (3cfb121)
Inherit the action space from the base clase (423ce55)
Skip CI jobs/steps that interact with outside resources if triggered by bot (6e5c357)
Set stack=True to ensure state observations are stacked (edf45d5)
Documentation
Miscellaneous Tasks
Performance
Refactor
Stop using @property for action and observation spaces (3b89837)
Testing
[0.7.1] - 2023-04-05
Miscellaneous Tasks
Update changelog for v0.7.1 [skip pre-commit.ci] (8926597)
[0.7.0] - 2023-04-05
Bug Fixes
Position drones would crash if target position was the same as current position (1e97511)
White space in doctest for PID (ce9ef68)
White space in doctest for PID (09585ab)
Option to not show, to enable saving of figure (8c004df)
Reset was calling States(States(…)) causing invalid shaped arrays) (f8c3233)
Use local version of jdrones. Installing it previously means that a cached version could be used during unit testing (6a1edb3)
Reset was calling States(States(…)) causing invalid shaped arrays) (901cb08)
Use local version of jdrones. Installing it previously means that a cached version could be used during unit testing (3343d30)
Improve consistency between docstrings and code (#45) (2e1a819)
Documentation
Add gymnasium env names to README (42361c1)
Add gymnasium env names to README (3a1da91)
Fifth order polynomial with look-ahead drone env (fe55815)
Add new gymnasium env names to README (a94a720)
Add new gymnasium env names to README (dffdde7)
Fifth order polynomial with look-ahead drone env (bc79fa6)
Features
Miscellaneous Tasks
Add new plotting module in notebook quick setup (5cc8fc9)
Use new plotting utility functions (ec60216)
Add matplotlib and seaborn as a requirement (72f99ae)
Bump pandas from 1.5.3 to 2.0.0 (2f2f1dd)
Proper axis labels for 3D path plot (f6c03aa)
Proper axis labels for standard plots (585d2d3)
Clean up imports (b8ef4a5)
Clean up imports (16b2b94)
Update changelog for v0.7.0 [skip pre-commit.ci] (f9b1512)
Refactor
Testing
[0.6.0] - 2023-03-16
Bug Fixes
Use \mathbf instead of \textbf to ensure symbols are being rendered correctly (96e9376)
Python versions (was >3.8, now is >3.10) (8f5e9f7)
Use short ref in docstr-cov CI (ae6bf2a)
Use python 3.10 to build the package in the CD (320a88c)
–no-deps for wheels to only build jdrones and none of the deps (7b8599d)
Documentation
Features
Miscellaneous Tasks
Update graphics (d30bb66)
Update changelog for v0.5.3 [skip pre-commit.ci] (482652c)
Bump pandas from 1.3.4 to 1.5.3 (9051ed2)
Bump pydantic from 1.10.4 to 1.10.6 (5b69bd5)
Update changelog for v0.6.0 [skip pre-commit.ci] (a183231)
Delete changelog for redo of v0.6.0 [skip pre-commit.ci] (b8c872d)
Update changelog for v0.6.0 [skip pre-commit.ci] (1b98622)
Delete changelog for redo of v0.6.0 [skip pre-commit.ci] (85b3de8)
Update changelog for v0.6.0 [skip pre-commit.ci] (b714e69)
Testing
[0.5.2] - 2023-03-02
Bug Fixes
Miscellaneous Tasks
[0.5.0] - 2023-03-02
Bug Fixes
Make velocity depend on the yaw error (55e3e09)
Update states after step (e768caf)
Small changes to simplify drone model (6c540a5)
General controller as return, rather than PID (c7a0f3c)
Top-level collect errors (9d8bd3f)
Remove and add the appropriate envs (19e835e)
Incorrect classmethod implementation (df08a83)
Bug in PID code after updating to Controller parent class (93a6a5a)
Add all in the dir. Controlling what gets published is done via VSC (92db0a8)
Droneenv -> pbdroneenv as per conftest (9b7d206)
Sign changes due to linear model direction changes in d394ad6e1778d2add26d0c792f706db06c0d8ccd (72ab2cb)
Top level warning at every import to warn about the different coordinate systems in use (67d330a)
Other dependencies were causing huge increases in CI build time, so just cache them all for now (efd7e00)
Stupid dumb typo… (1702be4)
Correctly define drone motors (1860e97)
Simulation_name -> tag (80e3fa8)
Add condition within PositionDroneEnv to truncate sim if any value is nan (024387b)
Update docs to reflect changes in f56225d9 (previously forgot to do this) (4ff1508)
Typo (8af69f8)
Correction on the maths. This step is done elsewhere (3d8a93c)
Oversight from aa0e1e3 after refactor (a011166)
Documentation
Incude PositionDroneEnv (f488f7b)
Docstring for LQR solve (1730bdf)
Catagorise example notebooks (9fd5531)
Include trajectory code in docs (3057bd0)
Full docs (incl. maths) for QuinticPolynomialTrajectory (53b56c1)
Explain cost function within get_reward() (b175e1c)
Docs for BasePositionDroneEnv (aa0e1e3)
Docs for PolyPositionDroneEnv (95d28d0)
Docs for LQRPositionDroneEnv (52ab54f)
Fix intersphinx links (5e0a308)
Update README.md to show how to run all types of tests (dcb07b2)
Feat
GA-tuned LQR (d35f8b2)
Features
Allow wrappers to be added to the sub-env (647cc1f)
Implement nonlinear, linear, and nonlinear PB3 models (d394ad6)
Create helper functions for both rpm->rpyT and vise versa (6aea072)
LQR controlled drone env (eb30f2d)
Helper functions and classes to make going from and to state logs easier using pandas (8fd2b89)
Lqrdroneenv fixture (4e725fc)
Use scipy (f8c96a1)
PositionDroneEnv (11e812d)
Visually validate models to step inputs (6123dd2)
Position example (8a3c694)
Import script to make the imports less clunky across scripts (4000218)
Positiondroneenv fixture (345c5e8)
MPC Drone Example (80f4458)
Add pandas (450c653)
Quaternion multiplication (083e53f)
Rotate state by quat (8aeba67)
Ensure all models use RHR coordinate system, consistent with URDF and other sim packages (2e90952)
Polynomial trajectory drone env (7ef1768)
Stress test the position environments to ensure they don’t crash over time (513dcf2)
Miscellaneous Tasks
Clean up application of forces and torques to use body (d6b2ed4)
Commit before deleting, to save the current state of the AttitudeAltitudeDroneEnv (54c99a9)
Commit before deleting, to save the current state of the VelHeadAltDroneEnv (f312e9d)
Commit before deleting, to save the current state of the trajectory envs (fa55246)
Update Q and R matrix gains from tuning via GA (5a0c71c)
Fix API (be1e6c2)
Add more test cases to transform tests (2e850c3)
Commit before deletion for archival purposes (1b2c99c)
Specify action space (497e74f)
Implement reset in LQR controller and be more verbose about shape of error (eb828e1)
Cleanup imports (e416f5b)
Version getting (664d4aa)
Remove (c1ac6cf)
Update Q and R matrix gains from tuning via GA (e59f514)
Update graphics (d8b8ac8)
Still broken, but at least it’s been unified… (adc136a)
Mark integration tests (c54f3fe)
Rename CI step to something more descriptive (475303d)
Update Q and R matrix gains from tuning via GA (6d14ee9)
Update graphics (e78074f)
Add automatic linearisation of NL model to examples (e365fb1)
Mock pandas (4b2399c)
Document BaseControlledEnv (f4b039e)
Explicitly state the stratgies to prevent duplicates and only run the stress tests once (e976499)
Update changelog for v0.5.0 [skip pre-commit.ci] (3a7f9a7)
Refactor
Remove AttitudeAltitudeDroneEnv to be replaced by LQR controller (6df31dd)
Remove VelHeadAltDroneEnv to be replaced by LQR controller (9de143a)
Remove trajectory envs to be replaced by LQR controller (1807e57)
Reflect envs refactory changes (07e91ad)
Merge into BaseDroneEnv (d3df134)
Switch to creating matrices via staticmethod to enable easier access without creating the class (4b972da)
Move to/from x tests as per refactor (387cf9f)
Delete (1f4fd4f)
Use the new PositionDroneEnv (3149d74)
Split true types and data models into seperate files (f56225d)
Testing
Unify tests for NL and L models to ensure compatibility when designing controllers (606317d)
Correct input to rotation (820540d)
Mark pybullet env’s test_vel_from_rot as skipped for now (1b30792)
Tested State.apply_quat (683a12e)
Ensure assets are consistent between lib and tests (581d0d5)
Ensure states are float as per 683a12ec (ab208fd)
Quat mul via hypothesis using scipy.spatial.transform.Rotation (5cfcd55)
Add pytest-xdist to allow threaded test execution (92c480b)
[0.4.0] - 2023-02-09
Bug Fixes
Documentation
Features
Add GPL3 headers to all project files (737214c)
Miscellaneous Tasks
[0.3.1] - 2023-02-03
Bug Fixes
Install pandoc in CD pipeline (8ede886)
Miscellaneous Tasks
Update changelog for v0.3.1 [skip pre-commit.ci] (98c3597)
[0.3.0] - 2023-02-03
Bug Fixes
Features
Examples (8baabd4)
Miscellaneous Tasks
[0.2.0] - 2023-02-02
Bug Fixes
Unused variable in the URDFModel from refactoring (95ae8b1)
Features
Move yaw and rpy transform calculations into maths module (99e6532)
Move poly traj into own module and fully test (a727658)
Use nptyping library to define shapes of data (d824d27)
Trajectory env refactored (2aeeb96)
Cache pybullet by installing in empty workflow (15e4a88)
Properly handle asset paths (583c600)
Miscellaneous Tasks
Use more appropriate clip_scalar (e288313)
Deal with refactoring of drone envs (05fe4c5)
Give ground plane collision data in info dict (417de31)
Deal with the various refactors (0455adb)
Deal with the various refactors (76d4715)
Add nptyping to requirements (c0a45f6)
Export DronePlus from envs (7860f19)
Update changelog for v0.2.0 [skip pre-commit.ci] (1a4ccd8)
Refactor
Testing
Fully test PID controllers (94862d4)
[0.1.2] - 2023-01-31
Bug Fixes
Documentation
Miscellaneous Tasks
Refactor
[0.1.1] - 2023-01-31
Bug Fixes
Documentation
Features
Check docstr coverage isn’t being reduced (a4be21b)
Miscellaneous Tasks
Improve readme (f909511)
Add future work on motor modelling (9307e91)
Mute git checkouts in docstr-cov CI (9721eb9)
Fix flake errors (ambiguous variable, unused imports) (1f2b750)
Add intersphinx mapping for gymnasium (c0316f8)
Don’t upload badge as artifact. Can’t currently use it (6d9817b)
Upload docstr-cov badge to gh-pages (d7e923a)
Update changelog for v0.1.1 [skip pre-commit.ci] (066c6c3)
[0.1.0] - 2023-01-27
Bug Fixes
Updates to setup since there’s no CPP (6e489fb)
Use pip wheel rather than cibuildwheel as it’s currently a pure python package (94a0837)
No need for many and musl as it’s pure python for now (3e57819)
Move to only python >=3.10 (87570d9)
Space (a870dfe)
Spaces (808a9cd)
Fix issues with runners not correctly initializing due to misconfigured matrix (5c88fca)
Set correct permissions for gh pages and releases (8aabdfd)
Install docs/requiremnts.txt rather than tests/ (961f940)
Revert permissions, as this is done through settings console (07b9198)
Features
Miscellaneous Tasks
Update changelog for v0.2.0 [skip pre-commit.ci] (e4b25d4)
Update changelog for v0.1.0 [skip pre-commit.ci] (9b40238)
Update how conda is used in CI (d9704d8)
A little import cleanup (6cb83e9)
Update CI to also run integration tests but standalone (aa867ce)
Document transform funcs to show what’s happening behind the scenes in PB3 (645ce50)
Update changelog for v0.1.0 [skip pre-commit.ci] (79d9f01)
Delete changelog for redo of v0.1.0 [skip pre-commit.ci] (45f3fb3)
Update changelog for v0.1.0 [skip pre-commit.ci] (d3dc768)
Refactor
Docs filenames and symlink names (64aba9a)