From ef25ebc951f65c187f0377b952f3574639df132c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 04:18:21 +0000 Subject: [PATCH 1/3] Bump cvxpy from 1.5.3 to 1.6.0 in /requirements Bumps [cvxpy](https://github.com/cvxpy/cvxpy) from 1.5.3 to 1.6.0. - [Release notes](https://github.com/cvxpy/cvxpy/releases) - [Commits](https://github.com/cvxpy/cvxpy/compare/v1.5.3...v1.6.0) --- updated-dependencies: - dependency-name: cvxpy dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/requirements.txt b/requirements/requirements.txt index dbc555e0c9..b5b4697139 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,7 +1,7 @@ numpy == 2.2.0 scipy == 1.14.1 matplotlib == 3.9.3 -cvxpy == 1.5.3 +cvxpy == 1.6.0 pytest == 8.3.4 # For unit test pytest-xdist == 3.6.1 # For unit test mypy == 1.13.0 # For unit test From a0102ed4ffa875a04bb7b617d41171bdc4ba623c Mon Sep 17 00:00:00 2001 From: Atsushi Sakai Date: Sun, 22 Dec 2024 20:54:58 +0900 Subject: [PATCH 2/3] specify the order for cvxpy.reshape --- .../rocket_powered_landing.py | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py b/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py index 239f3629c1..36dd42f5f1 100644 --- a/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py +++ b/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py @@ -462,11 +462,11 @@ def __init__(self, m, K): # x_t+1 = A_*x_t+B_*U_t+C_*U_T+1*S_*sigma+zbar+nu constraints += [ self.var['X'][:, k + 1] == - cvxpy.reshape(self.par['A_bar'][:, k], (m.n_x, m.n_x)) @ + cvxpy.reshape(self.par['A_bar'][:, k], (m.n_x, m.n_x), order='F') @ self.var['X'][:, k] + - cvxpy.reshape(self.par['B_bar'][:, k], (m.n_x, m.n_u)) @ + cvxpy.reshape(self.par['B_bar'][:, k], (m.n_x, m.n_u), order='F') @ self.var['U'][:, k] + - cvxpy.reshape(self.par['C_bar'][:, k], (m.n_x, m.n_u)) @ + cvxpy.reshape(self.par['C_bar'][:, k], (m.n_x, m.n_u), order='F') @ self.var['U'][:, k + 1] + self.par['S_bar'][:, k] * self.var['sigma'] + self.par['z_bar'][:, k] + @@ -542,14 +542,15 @@ def solve(self, **kwargs): stats = self.prob.solver_stats - info = { - 'setup_time': stats.setup_time, - 'solver_time': stats.solve_time, - 'iterations': stats.num_iters, - 'solver_error': error - } + if stats is not None: + info = { + 'setup_time': stats.setup_time, + 'solver_time': stats.solve_time, + 'iterations': stats.num_iters, + 'solver_error': error + } - return info + return info def axis3d_equal(X, Y, Z, ax): From 3ab5b0d040179ced9ccd473b00e6015a37e7a036 Mon Sep 17 00:00:00 2001 From: Atsushi Sakai Date: Sun, 22 Dec 2024 21:07:42 +0900 Subject: [PATCH 3/3] using ECOS --- .../rocket_powered_landing/rocket_powered_landing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py b/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py index 36dd42f5f1..bff35b2c27 100644 --- a/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py +++ b/AerialNavigation/rocket_powered_landing/rocket_powered_landing.py @@ -536,7 +536,7 @@ def solve(self, **kwargs): with warnings.catch_warnings(): # For User warning from solver warnings.simplefilter('ignore') self.prob.solve(verbose=verbose_solver, - solver=solver) + solver=cvxpy.ECOS) except cvxpy.SolverError: error = True