Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: acados/acados
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.0
Choose a base ref
...
head repository: acados/acados
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.3.1
Choose a head ref
  • 16 commits
  • 191 files changed
  • 4 contributors

Commits on Feb 12, 2024

  1. Configuration menu
    Copy the full SHA
    76b7df6 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2024

  1. Support slack penalties for initial stage in MEX interface (#1037)

    Support slack penalties for initial stage in MEX interface.
    
    Follow-up on
    https://discourse.acados.org/t/issue-in-setting-slack-variable-on-control-input/1456
    
    The convention is as follows now:
    - bounds on u and general linear constraints are also enforced on the
    initial node
    - bounds on x and nonlinear constraints are fully split and have to be
    explicitly stated with `_0` correspondence to be enforced on the stage.
    FreyJo authored Feb 14, 2024
    Configuration menu
    Copy the full SHA
    e84fa19 View commit details
    Browse the repository at this point in the history
  2. Split condensing and regularization into preparation and feedback (#1034

    )
    
    Condensing modules now provide
    - `condense` - all condensing operations
    - `condense_rhs` - condensing the right hand side
    - `condense_lhs` - condensing the left hand side
    
    Similarly, regularization modules now provide
    - `regularize` - all operations
    - `regularize_rhs` - operations on the right hand side
    - `regularize_lhs` - operations on the left hand side
    
    Only if RTI is split into preparation and feedback, the `_rhs` / `_lhs`
    routines are called.
    Otherwise, operations are done all together.
    Addresses #1031
    
    NOTE: using convexify with split RTI phase has now relatively overhead,
    see #1035
    Splitting the computations for `convexify` more efficiently should be
    done in another PR.
    FreyJo authored Feb 14, 2024
    Configuration menu
    Copy the full SHA
    7cf7a3a View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. Work on core for speedups (#888)

    - **Cast highest level workspace (SQP/SQP-RTI) only in precompute for
    more speed**:
    This still allows to reuse workspace across modules. This can only break
    if one tries to reuse the acados workspace memory from outside.
    - **Add CasADi sparsity detection** that is called when creating an
    external function.
    The CasADi sparsity struct in the generated functions contains an `int`
    which always say inputs are sparse, often this is not the case. Thus, we
    check now for speed!
    - Added `sim_in_assign_and_advance`, this can be called to avoid calling
    `calculate_size` twice. Doing this everywhere is rather tedious and does
    not save very much.
    - **Breaking**: precompute is now required!
    
    On a small benchmark of an RTI with ERK and the cartpole this gives me
    >20% speedup, from 78μs to 62μs.
    FreyJo authored Feb 16, 2024
    Configuration menu
    Copy the full SHA
    37e17d3 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Configuration menu
    Copy the full SHA
    adb1244 View commit details
    Browse the repository at this point in the history
  2. Cleanup RTI, fix timings and comments (#1038)

    - fix timings for RTI: subtimers `time_qp*`, `time_reg` now start at 0
    when starting preparation and count operations in both phases
    - cleanup comments
    - make enum for RTI phase
    - precompute integrator workspace_size
    FreyJo authored Feb 19, 2024
    Configuration menu
    Copy the full SHA
    5343540 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Cleanup SQP submodules - only use single evaluation point at a time (#…

    …1040)
    
    In some places `tmp_ux` and `ux` where used in a mixed way, i.e.
    `compute_fun` of constraint modules and what was fixed in #1039
    - fixes bug when using globalization and cost computation
    - fixes bug in globalization with slacks. Constraint was evaluated with
    slack values from SQP iterate instead of values from the line search
    candidate
    
    Implementation:
    - Removed all `tmp_*` pointers in SQP submodules
    - Always evaluate at `ux`
    - When one wants to evaluate at another iterate, these pointers have to
    be temporarily set to another iterate and afterwards reset to the
    nominal SQP iterate, as done in `ocp_nlp_evaluate_merit_fun` now.
    FreyJo authored Feb 20, 2024
    Configuration menu
    Copy the full SHA
    d490843 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. Configuration menu
    Copy the full SHA
    44fb8f4 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Minor C changes (#1045)

    - formatting: tabs to spaces
    - move cost integration memory preparation to precompute
    FreyJo authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    4cfab34 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Implement advanced-step real-time iteration: AS-RTI (#1046)

    This pull request implements the advanced-step real-time iteration
    (AS-RTI)
    
    It is implemented as a feature within the `RTI` module.
    In order to use it, set the new options:
    - `as_rti_level`
    - `as_rti_iter`
    
    The feedback phase of RTI and AS-RTI is the same.
    The AS-RTI preparation phase is used instead of the "standard" RTI
    preparation phase, when the options above are set.
    
    Additionally, this adds the flag:
    - `rti_log_residuals`: which allows to log the residuals within
    (AS-)RTI. This was needed for the experiment in the paper, which reports
    the residuals of the inner iterations. Limited to convex-over-nonlinear
    and external cost modules for now.
    
    The work in this PR is presented in the publication
    "Advanced-Step Real-time Iterations with Four Levels -- New Error Bounds
    and Fast Implementation in acados" by Jonathan Frey, Armin Nurkanovic,
    Moritz Diehl
    https://arxiv.org/abs/2403.07101
    
    Limitations:
    - AS-RTI-B not implemented for ns > 0.
    - AS-RTI-C only implemented for linear inequality constraints.
    FreyJo authored Mar 14, 2024
    Configuration menu
    Copy the full SHA
    f4ea1cd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9579f1f View commit details
    Browse the repository at this point in the history
  3. Efficient factorization of diagonal outer Hessian in convex-over-nonl…

    …inear and nonlinear least-squares costs (#1024)
    
    * add flags indicating whether outer hessian is diagonal
    * if outer hessian is diagonal and `ny > 4`, its diagonal Cholesky
    factorization `W_chol` is computed manually and stored as `blasfeo_dvec`
    * adjust matrix-matrix/matrix-vector multiplications involving `W_chol`
    accordingly
    
    ---------
    
    Co-authored-by: Jonathan Frey <[email protected]>
    sandmaennchen and FreyJo authored Mar 14, 2024
    Configuration menu
    Copy the full SHA
    c52c283 View commit details
    Browse the repository at this point in the history
  4. Update MATLAB examples with general initial input constraints (#1048)

    In this PR the following changes are suggested:
    - all MATLAB examples are updated as suggested in #1009 
    - some examples were modified to remove errors caused by calling
    outdated structures (e.g., `sim.C_ocp`)
    - additional comments were added in some `getting_started` examples
    - some models were updated for improved naming consistency (e.g., using
    `constr_expr_h` instead of `expr_h`)
    - examples and tests were updated to work with the changes in variable
    naming
    - a test script that runs all the examples is added (also contains test
    results on my laptop)
    - a few lines were terminated to suppress unnecessary printing
    josipkh authored Mar 14, 2024
    Configuration menu
    Copy the full SHA
    ec60a48 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    303832b View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. Add DS1104 support (#1052)

    Co-authored-by: Hannes Homburger <[email protected]>
    FreyJo and hhomb authored Mar 18, 2024
    Configuration menu
    Copy the full SHA
    faeced4 View commit details
    Browse the repository at this point in the history
  2. Furuta example (#1053)

    * cleanup python examples
    * add Furuta pendulum
    
    ---------
    
    Co-authored-by: Jonathan Frey <[email protected]>
    sandmaennchen and FreyJo authored Mar 18, 2024
    Configuration menu
    Copy the full SHA
    097e034 View commit details
    Browse the repository at this point in the history
Loading