Skip to content

Virtual history, sensible constraints and a fancy crane

Compare
Choose a tag to compare
@jengstud jengstud released this 06 Aug 14:23
· 17 commits to master since this release
28458f3

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