Releases: iwishiwasaneagle/jdrones
Releases · iwishiwasaneagle/jdrones
Release v0.8.0
[0.8.0] - 2024-08-07
Bug Fixes
- Use py3.11 as it still ships pkg_resources by default which docstr-coverage needs (25d649f)
- Issue was with CI.yml not installing jdrones (7898915)
- Check for different env types (5aae992)
- Check for different env types (d24b766)
- Legacy imports (f6f196c)
- Tensorflow-probability 0.24.0 not compatible with sbx 0.12.0 (6441dc2)
- Reset to initial state z not current z (5679bf1)
- Re-added is_success logging (f429dd1)
- Switch to vector-based velocity method (04ea745)
- Enable policy net_arch for RecurrentPPO to be customizable from the CLI (dcea513)
- Success distance is 1 not 1.5 (32e96bd)
- Don't break the loop if a target is reached to ensure that time stays synchronized (7a2db4a)
- Switch to SB3's DummyVecEnv to handle the multi-env logic (29bbe52)
- Properly handle collision reward (703274e)
- Ensure eval env is the same as training env (3a7833f)
- Re-include time in the observation (a5c30e4)
- Ensure observation is (1,X) in shape (a7ee23c)
- Disable JIT for codecov, but also run the same setup with jit without codecov (4f2e626)
Documentation
- Quick readme for the drl example (e1cdc81)
Features
- Install pytest-testmon from git and run in CI (#61) (b54d03b)
- Switch to Hatch from setuptools (8ce1d14)
- Energy consumption (5dc0a29)
- Energy consumption (23ca884)
- Energy consumption (75c28be)
- DRL controlled drone going from A to hovering at B (675947e)
- A working DRL example with plotting (2e42527)
- Use optuna for hyperparameter sweep in DRL example (f244822)
- A working DRL example with plotting (34014e2)
- Add wandb to example (a5204d3)
- LQR+DRL meta-controller framework (2be6be6)
- Additional eval logging (da18e46)
- Change LQR tuner to be velocity centric (c0f4849)
- Add 2D plot to graphing callback (38b4a5e)
- Swap to velocity-based action space (3afe0a2)
- Add colors and circles to 2D position plot to show the targets, their radius and order (e8d6e71)
- Multi-env DRL (d21b26d)
- Extend to any n env (04d3e72)
- Number of sub-envs from CLI (91209c0)
- Tensorboard and optuna for the 3d drl example (73bed0d)
- Optimal quintic poly trajectory generation (aa8b488)
Miscellaneous Tasks
- Remove the status updater. Was causing more issues than was worth. (bd80432)
- Bump pandas from 2.0.0 to 2.1.0 (51ff0a1)
- Bump pydantic from 1.10.6 to 2.3.0 (2f309aa)
- Bump gymnasium from 0.28.1 to 0.29.1 (234a5bb)
- Bump actions/download-artifact from 3 to 4 (0f3299c)
- Bump actions/setup-python from 4 to 5 (d56ff9e)
- Bump actions/upload-artifact from 3 to 4 (d406f45)
- Flake8 config in .flake8 ini file (871c0ca)
- Explicitly add gitignored file version.py (c2d4183)
- Use requirements.txt file for all so that dependabot can auto-update (6b68265)
- version -> _version to avoid name conflicts (f93a6df)
- Bump seaborn from 0.12.2 to 0.13.2 (3af4c7b)
- Bump matplotlib from 3.7.1 to 3.8.3 (0f7149f)
- Bump codecov/codecov-action from 3.1.1 to 4.0.2 (dd37dc5)
- Bump orhun/git-cliff-action from 2 to 3 (e4c9070)
- Bump JamesIves/github-pages-deploy-action (71b93c7)
- Bump actions/checkout from 3 to 4 (465029a)
- Bump scipy from 1.10.1 to 1.12.0 (386e883)
- Bump numpy from 1.24.2 to 1.26.4 (8a02a35)
- Bump pydantic from 2.3.0 to 2.6.2 (ff1f8a6)
- Bump codecov/codecov-action from 4.0.2 to 4.1.0 (bb6c90e)
- Bump pandas from 2.1.0 to 2.2.1 (cd083b1)
- Bump pydantic from 2.6.2 to 2.7.1 (a10848d)
- Add a fifth action that controls the scaling of the propeller actions (17a6e79)
- Switch to using "unwrapped" (a5467e2)
- Import order (d6f9879)
- Further edits to energy example (5371a38)
- Try out sbx [(556968c)](https:...
Release v0.7.2
[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
- Docstring for new DType and FloatLike types (dd9551a)
- Describe the reason behind the util functions for step (25ffe00)
Miscellaneous Tasks
- Replace np.matrix with np.array (5ab2a94)
- Bump loguru from 0.6.0 to 0.7.0 (edfb2ca)
- Bump gymnasium from 0.27.1 to 0.28.1 (7068122)
- More sensible dependabot settings to prevent the PR spam (29e781e)
- Update changelog for v0.7.2 [skip pre-commit.ci] (b50132b)
Performance
- Optimize numpy state update code for non-linear drone model (7de713f)
- Use caching to pre-calculate time invariant params (154f3af)
- Use caching to pre-calculate mixing matrix for drone plus (a0a207f)
Refactor
Testing
Release v0.7.1
[0.7.1] - 2023-04-05
Bug Fixes
- 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)
Documentation
- Add new gymnasium env names to README (dffdde7)
- Fifth order polynomial with look-ahead drone env (bc79fa6)
Miscellaneous Tasks
Testing
- Fifth order polynomial with look-ahead drone env (ccdf8eb)
Release v0.7.0
[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)
- 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)
Features
- Move state labels to an enum to ensure consistency across the codebase (c4e5229)
- Plotting utility functions (1da6998)
- Allow velocity as an input to the polynomial position envs (13cc6de)
- Fifth order polynomial with look-ahead drone env (5f9d8bd)
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)
- Update changelog for v0.7.0 [skip pre-commit.ci] (f9b1512)
Refactor
Testing
Release v0.6.0
[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
- Docstr for parent poly traj class (3874400)
- Docstring for Controller base class (0c7c2c6)
- Docstring for AngleController (8daafa2)
- Docstring for PID (3a5fbd5)
- Docstring for LQR top-level (fdaed6a)
Features
- Extract integration test markers to seperate package (pytest-extra-markers) (f0453b2)
- Stabilize the simple position drone by using a straight line trajectory (35d3b70)
- Update check status for docstr-cov (a3f275c)
Miscellaneous Tasks
- Bump nptyping from 2.4.1 to 2.5.0 (2d615da)
- 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
Release v0.5.2
Release v0.5.1
Release v0.5.0
All notable changes to this project will be documented in this file.
[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 d394ad6 (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 f56225d (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)](https://github.com/iwishiwasaneagle/j...
Release v0.4.0
[0.4.0] - 2023-02-09
Bug Fixes
- Getting versions via setuptools_scm.get_version in docs (9355812)
- Import errors when getting version for docs (0366a1f)
Documentation
- PID trajectory env documentation to explain the control logic (f9568f0)
- Improve envs page readability through headings which now show up in toctree (cedc2cc)
Features
- Add GPL3 headers to all project files (737214c)