Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OpEnでMPCへの扉をオープン
Search
ざきまつ
December 07, 2025
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpEnでMPCへの扉をオープン
制御工学勉強会第27回(2025/12/06) 制御ツール芸特別会 お気軽セッションでの発表
ざきまつ
December 07, 2025
More Decks by ざきまつ
See All by ざきまつ
フライトコントローラPX4の中身(制御器)を覗いてみた
santana_hammer
1
310
凸最適化からDC最適化まで
santana_hammer
1
420
僕の制御工学での躓きポイント
santana_hammer
0
21
Other Decks in Programming
See All in Programming
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
260
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
150
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
200
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.5k
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.4k
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
golang-bob.pdf
iwatsukayura
0
140
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
130
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
240
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
160
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
2
730
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Typedesign – Prime Four
hannesfritz
42
3.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
330
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
580
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
GitHub's CSS Performance
jonrohan
1033
470k
The Curse of the Amulet
leimatthew05
3
16k
Statistics for Hackers
jakevdp
799
230k
Transcript
OpEnでMPCへの扉をオープン(極寒) ~寒くなったって?ははは、もう既に冬だろう?~ ざきまつ(最適化屋さんのすがた) 制御工学勉強会 第027回(2025/12/06) 制御ツール芸大会 :santana_hammer :https://trigger-fk.github.io
MPCツール
MPCツール R. Vershueren et.al., “acados—a modular open-source framework for fast
embedded optimal control,” Mathematical Programming Computation, vol. 14, pp. 147-183, 2022.
acados J. Li, J. Sugihara and M. Zhao, "Servo Integrated
Nonlinear Model Predictive Control for Overactuated Tiltable-Quadrotors," IEEE Robotics and Automation Letters, vol. 9, no. 10, pp. 8770-8777, 2024.
ここで多分来るであろう質問 Q. なんでAcadosではなく、OpEnの話をするの? A. 僕が使っているから うるせぇ,組合せ最適化問題であるL0スパース最適制御問題ぶつけてNP困難に陥らせてやろうか
What is OpEn? • NMPCを組み込みマイコン等で実行するために設計 • 計算が軽量なアルゴリズムであるPANOCを採用 • ヘッセ行列の逆行列計算など計算負荷の高い処理を回避 •
OptimizerのコアをRustで構成(メモリ安全かつ高速) ➢ 依存関係のないRust/Cコードを生成するよ ➢ Pythonインターフェースに対応 ➢ MATLABはサポート終了 • Non-convex, Non-smoothな最適化問題にも対応可能 ➢ 衝突回避などの制御問題も扱えるよ
玄人向け:内部アルゴリズム PANOC (Proximal Averaged Newton-type method for Optimal Control /
Optimality Conditions) L.Stella et.al., "A Simple and Efficient Algorithm for Nonlinear Model Predictive Control," IEEE 56th Annual Conference on Decision and Control, pp. 1939-1944, 2017.
動かしてみよう サンプルコードはこちら:https://github.com/Trigger-FK/OpEn_unicycle もともとは自分の研究用テンプレなので、BSD 2-Clauseライセンスをつけてます…ごめんなさい…
ここで多分来るであろう質問 Q. ROS1とかROS2とかでも使えるの…? A. 使おうと思えば使える • ROS1については、OpEn側でちゃんと対応していて、Exampleも整備されてる • ROS2…?対応してたら今頃僕は苦労していません(吐血)
まとめ • 高速なNMPC向けのツールだよ!! • 数学的にも、解の収束について保証されているよ!! • 直感的に書けるよ!! • ROS1との連携、アルヨ!!(なおROS2)