Skip to content

Releases: teamparodis/parodis

Bug fixes and minor updates - 2023 edition

29 Nov 14:04
25a0ae8
Compare
Choose a tag to compare

Bugs

  • Fixed logging in Pareto evaluation methods, now correct reference to simulation instance variable
  • eval_parameter helper function now correctly supported predict = false case
  • If simulation doesn't start at 0, then simulation time in agent's history is now correctly prefilled

Improvements

  • Agents' doNegotiation now predicts state trajectory xPred as well as eval predictions and stores them in the status

Bug fixes and minor updates

14 Feb 15:48
af54b32
Compare
Choose a tag to compare

Bugs

  • Fixed a typo in lexicographic extreme point method
  • Comparison of equality between extreme point solutions now with tolerance instead of exact comparison
  • Fixed ParetoController breaking, when a cost function with weight = 0 was added to the controller
  • Fixed prediction horizon status.horizonTime not being set in negotiation
  • Fixed fixed eval predictions accidentally being cleared in previousStatus when eval function is scenario dependent

Improvements

  • The simulation results directory can now be set freely, by passing it as a an argument when creating a Simulation
  • Slight cleanup of Pareto code
  • Front determination methods will now print progress to log
  • Added section on how to cite PARODIS to the readme

Virtual history, sensible constraints and a fancy crane

06 Aug 14:23
28458f3
Compare
Choose a tag to compare

Bugs

  • Constraint on du(0|k) = u(0|k) - u(k-1) is now considered in delta constraints, u(k-1) is automatically provided
  • Pareto optimization now works if no additional slack variables are defined
  • Figures which shall not be live plotted will no longer be opened when simulation starts with livePlots = true
  • Fixed FPBI front determination scheme storing broken fronts
  • Fixed wrong handling of extreme points in AWDS and ASBI front determination schemes
  • Ugly error when no point was selected for plotting trajectories in Pareto interactivity tool
  • sdpvars created by createModel and the controllers are now always full n x m matrices, even if n == m

Improvements

  • Introduced the virtual history, which tracks the predicted system behaviour in each timestep, while the history tracks the actual system behaviour, caused through state measurement or real vs. predicted disturbances
  • PARODIS now delivers a pre-built cost function for the classical min xQx + uRu control case in the functions directory called LQRCostFunction
  • Added another example, a container crane system, which can be found in examples/crane
  • Added a hierarchical MPC example, namely the one presented in the CCTA paper on the PARODIS framework
  • Refactoring, mainly regarding how the history (and virtual history) is updated, better code encapsulation
  • Pareto front determination schemes now log errors to agent log
  • Added warmstarting option for (nonlinear) solvers in explicit and pareto controllers, can speed up solver time for some NLPs

Changes

  • Arguments in createModel and the controller constructors for the number of scenarios to be considered are now optional and default to 1
  • Argument scenarioDependent in controller.addParam is now optional, defaults to true
  • Simulation option doCopyCallingScript is now false per default

Again, lots of fixes and some Pareto improvements

18 May 18:29
fec0c3d
Compare
Choose a tag to compare

Bugs

  • Fixed broken delta constraints for du
  • Bug fixed in lexicographic extreme point method that would result in the same extreme point twice
  • Fixed the ParetoController accidentally storing data in the status struct wrapped in cell arrays

Improvements

  • Added new Pareto front determination scheme, Adaptive Search Boundary Intersection (ASBI)
  • getSlacks and getConstraints methods in CostFunction are no longer abstract and have default implementations
  • Controller now checks if getSlacks correctly returns a struct
  • RoC metric now ignores concave parts on fronts
  • Refactoring

Lots of fixes

19 Apr 12:56
e4a83a0
Compare
Choose a tag to compare

After about two months of fixes culminating on the develop branch, we're ready for another release!

  • Fixed critical bug where non-implicit constraints caused crash when using ExplicitController/ParetoController
  • Lots of refactoring in ParetoController
  • Added checking for invalid initial state x0
  • Better warnings when things go bad in multi-agent use
  • Fixed bug where sdp variables where passed to a cost function's evaluateHorizon method instead of numerical values

Initial Release

01 Feb 09:35
Compare
Choose a tag to compare

Initial public release of PARODIS 🎉