1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Windows+MATLABでacadosをドスドス(導入だけ)

Posted at

はじめに

はじめまして,制御初心者 兼 永遠の数理最適化初心者 兼 最適化ツール素人のざきまつです.
今回は,acadosをWindows11に入れてみたので,それの備忘録として書いておこうという記事です.

今まで別のものを使っていたのですが,サポートが終了していることから,サポートがまだ続いているツールに乗り換えたほうがいいと思い,今回ドローンの最適制御でよく使われているacadosを導入したという経緯になります.
acados - Fast and embedded solvers for real-world applications of nonlinear optimal control.

調べてみたところ,ACAODO Toolkitの後継に当たるそうですね.
ACAODO Toolkit - Toolkit for Automatic Control and Dynamic Optimization

本記事の目標は,とりあえずインストールして動くことを確認しようといった感じです.
後々,MacOSやLinuxでの導入方法について記述する予定でございます.

「なんだこのクソみたいなタイトルは」と思った人,書いた張本人の僕も思っています.
それでは,やっていきましょうか.

Installation

Requirements

以下のソフトウェアが必要です,インストールしておいてください.

Clone acados from GitHub

acadosを設置したいフォルダの中で以下のスクリプトを実行してください.

git clone https://github.com/acados/acados.git
cd acados
git checkout v0.4.5
git submodule update --recursive --init

v0.5.0 (latest) を入れようとした場合,最新版のblasfeohpipm が互換性を持っておらず,CMakeを走らせたときにエラーが発生するので,v0.4.5以前のacadosを入れると安心です.
(2025/07/18 現在)

Prepare acados build (minGW)

  1. MATLABのアドオンである”MATLAB Support for MinGW-w64 C/C++/Fortran Compiler”をインストール

mingw_w64.png

その後,以下について確認してください.

  • cmake.exe へのpathが通っているか確認.デフォルトのままだと,pathはC:\Program Files\CMake\bin
  • mingw32-make.exe へのへのpathが通っているか確認.デフォルトのままだと,pathはC:\ProgramData\MATLAB\SupportPackages\<matlab_version>\3P.instrset\mingw_w64.instrset\bin
    (<matlab_version> はインストールしているMATLABのバージョンを入力すること)

path.png

Automatic build of acados (minGW)

<acados_root_folder>/interfaces/acados_matlab_octave にて,以下のスクリプトを実行.

acados_install_windows()

このコマンドでは通常設定のbuildが走り,casaditerra render が自動的にインストールされます.

Try a MATLAB example

まず,MATLABを起動します.
起動後,mex -setup を実行し,出力に従ってMinGW64 Compiler (C) を使用するように設定します.

setup.png

その後, <acados_root_folder>/examples/acados_matlab_octave に移動し,以下のスクリプトを実行.

acados_env_variables_windows

最後に, <acados_root_folder>/examples/acados_matlab_octave/getting_started に移動し,以下のスクリプト実行.

minimal_example_ocp

実行が成功すると,以下のような出力が得られます.人によって変わるかも.

result.png

Trouble shooting

Cmake Error

-- Configuring incomplete, errors occurred!
次を使用中のエラー: acados_install_windows ( 62)
cmake command failed. Command was:
cmake.exe -G "MinGW Makefiles" -DACADOS_INSTALL_DIR=%ACADOS_INSTALL_DIR% -DBUILD_SHARED_LIBS=OFF
-DACADOS_WITH_OSQP=OFF ..

CMakeのバージョンが古い or 4.0以上のバージョンが入っていますcmake version 3.31.8 を入れてください.4.0以上だとexternal/blasfeo への互換性がなく,buildができないです.

CasADi Error

次を使用中のエラー: check_acados_requirements ( 93)
Sorry, we could not set up CasADi for your system, please try manually\n.Instructions can be found on
https://web.casadi.org/get/\nWe recommend using CasADi version3.x.x

エラー: acados_install_windows ( 100)
    check_acados_requirements(true);
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

CasADiを自動でインストールできなかったようです.acadosはbuild中に自動でCasADiをインストールするようになっていますが,何かしらが原因でできていないようです.

please try manually\n.Instructions can be found on
https://web.casadi.org/get/\nWe recommend using CasADi version3.x.x

とあるので,3.x.x のCasADiをacados/external/casadi-matlab に手動で入れてください.

その後,再度acados_install_windows() を実行してください.うまくいくと,以下のような出力が得られます.

success.png

おわりに

いかがでしたか?
死ぬほどエラー吐きまくって何とか導入できたのですが,正しく進めるとまぁこんな簡単に入るんですね.
見てください,この苦労.

まぁ,そのうち使い方とかも書きたいですね.

それでは,また今度.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?