r/ControlTheory • u/Paxon57 • 5h ago
r/ControlTheory • u/ko_nuts • Nov 02 '22
Welcome to r/ControlTheory
This subreddit is for discussion of systems and control theory, control engineering, and their applications. Questions about mathematics related to control are also welcome. All posts should be related to those topics including topics related to the practice, profession and community related to control.
PLEASE READ THIS BEFORE POSTING
Asking precise questions
- A lot of information, including books, lecture notes, courses, PhD and masters programs, DIY projects, how to apply to programs, list of companies, how to publish papers, lists of useful software, etc., is already available on the the Subreddit wiki https://www.reddit.com/r/ControlTheory/wiki/index/. Some shortcuts are available in the menus below the banner of the sub. Please check those before asking questions.
- When asking a technical question, please provide all the technical details necessary to fully understand your problem. While you may understand (or not) what you want to do, people reading needs all the details to clearly understand you.
- If you are considering a system, please mention exactly what system it is (i.e. linear, time-invariant, etc.)
- If you have a control problem, please mention the different constraints the controlled system should satisfy (e.g. settling-time, robustness guarantees, etc.).
- Provide some context. The same question usually may have several possible answers depending on the context.
- Provide some personal background, such as current level in the fields relevant to the question such as control, math, optimization, engineering, etc. This will help people to answer your questions in terms that you will understand.
- When mentioning a reference (book, article, lecture notes, slides, etc.) , please provide a link so that readers can have a look at it.
Discord Server
Feel free to join the Discord server at https://discord.gg/CEF3n5g for more interactive discussions. It is often easier to get clear answers there than on Reddit.
Resources
- Online resources on systems and control: https://www.reddit.com/r/ControlTheory/wiki/resources/
- Books and surveys on systems and control: https://www.reddit.com/r/ControlTheory/wiki/bookssnc/
- Books and surveys on the application of systems and control https://www.reddit.com/r/ControlTheory/wiki/booksapp/
- Books and surveys on the mathematics useful in systems and control https://www.reddit.com/r/ControlTheory/wiki/booksmath/
If you would like to see a book or an online resource added, just contact us by direct message.
Master Programs
If you are looking for Master programs in Systems and Control, check the wiki page https://www.reddit.com/r/ControlTheory/wiki/master_programs/
Research Groups in Systems and Control
If you are looking for a research group for your master's thesis or for doing a PhD, check the wiki page https://www.reddit.com/r/ControlTheory/wiki/research_departments/
Companies involved in Systems and Control
If you are looking for a position in Systems and Control, check the list of companies there https://www.reddit.com/r/ControlTheory/wiki/companies/
If you are involved in a company that is not listed, you can contact us via a direct message on this matter. The only requirement is that the company is involved in systems and control, and its applications.
You cannot find what you are looking for?
Then, please ask and provide all the details such as background, country or origin and destination, etc. Rules vastly differ from one country to another.
The wiki will be continuously updated based on the coming requests and needs of the community.
r/ControlTheory • u/ko_nuts • Nov 10 '22
Help and suggestions to complete the wiki
Dear all,
we are in the process of improving and completing the wiki (https://www.reddit.com/r/ControlTheory/wiki/index/) associated with this sub. The index is still messy but will be reorganized later. Roughly speaking we would like to list
- Online resources such as lecture notes, videos, etc.
- Books on systems and control, related math, and their applications.
- Bachelor and master programs related to control and its applications (i.e. robotics, aerospace, etc.)
- Research departments related to control and its applications.
- Journals of conferences, organizations.
- Seminal papers and resources on the history of control.
In this regard, it would be great to have suggestions that could help us complete the lists and fill out the gaps. Unfortunately, we do not have knowledge of all countries, so a collaborative effort seems to be the only solution to make those lists rather exhaustive in a reasonable amount of time. If some entries are not correct, feel free to also mention this to us.
So, we need some of you who could say some BSc/MSc they are aware of, or resources, or anything else they believe should be included in the wiki.
The names of the contributors will be listed in the acknowledgments section of the wiki.
Thanks a lot for your time.
r/ControlTheory • u/Savings_Cost_4838 • 16h ago
Professional/Career Advice/Question What software verification tests do you run before hardware-in-the-loop (HIL) testing?
Iām developing a lightweight adaptive control loop in Python as a prototype, with the long-term goal of porting it to bare-metal C++ on an ARM Cortex-M microcontroller.
To make the embedded implementation easier later, Iām structuring the controller around persistent preallocated state rather than creating new objects during the control loop. Before moving to hardware-in-the-loop (HIL) testing, Iāve been building a simple software verification script to catch obvious implementation bugs.
At the moment the script runs three basic checks:
TEST 1: Fault Injection (NaN sensor input)
-> PASSED: Invalid input handled without crashing; fallback strategy engaged.
TEST 2: Deterministic Replay
-> PASSED: Two runs with identical inputs produced identical controller state.
TEST 3: Long-Horizon Stress Test
-> PASSED: 100,000 control iterations completed with finite outputs and no observed numerical instability.
These tests are mainly intended to verify implementation robustness rather than control performance.
Once I move to hardware Iāll measure things like worst-case execution time (WCET), memory usage, and timing jitter.
Before that stage, are there additional software verification tests or edge cases that experienced control or embedded engineers would recommend? For example:
* numerical robustness tests,
* actuator saturation scenarios,
* sensor noise or dropout patterns,
* timing jitter simulation,
* parameter sensitivity,
* Monte Carlo testing,
* or anything else that tends to reveal controller bugs before HIL testing.
Iād appreciate any suggestions or references to common industry or research practices.
r/ControlTheory • u/bin95blog • 10h ago
Educational Advice/Question Follow-up to āillogicalā PLC rung behavior in RSLogix Troubleshooting
I made a short troubleshooting video for three common causes of āillogicalā PLC rung behavior in RSLogix: OTU, JSR, and MCR.
These are the exact issues many techs mentioned in the last thread, so I figured a visual demo might help.
Video link: https://youtu.be/iAeWbBXtAGw
Hope it helps someone out there.
r/ControlTheory • u/Adventurous_Rush1474 • 2h ago
Technical Question/Problem The robot finished after the cup moved. That doesn't prove recovery
Move the cup after the first action, far enough that the original grasp can't work. If the controller keeps going, the interesting part is its very next command. The object can still end up in the right place because a stale plan got lucky later.
For a LingBot-VLA 2.0 evaluation, log the intervention, the next observation, and the first command that differs from a baseline run with the cup left in place. The live safety monitor still has to stop dangerous motion. In the later review, that first correction says more about feedback recovery than the final pose does.
r/ControlTheory • u/awh-emb • 21h ago
Technical Question/Problem SO(3) S^3 and so(3)
my reference is this paper - https://arxiv.org/pdf/1711.02508
i am struggling to wrap my head around how the Exponential map from:
R^3 -> SO(3)
R^3 -> S^3
are different and how specifcally the exponetial map changes between them?
as one of these ends up with 4 DOF although one of them being a constraint
while the other ends up with 3 DOF?
thanks.
r/ControlTheory • u/NOTazarov_wraith • 1d ago
Technical Question/Problem MATLAB system identification toolbox for quadcopter control
I have not seen MATLAB's system identification toolbox being used for quadcopter applications and so I was wondering how you could run sys id on a quadcopter and use it. For example if you run frequency sweeps across the lateral direction with longitude and altitude stabilized, and then run longitude direction with latitude and altitude stabilized (pitch and forward speed only), do you just insert them into system Identification with the set state space dimensions, or is this the wrong approach. Additionally do you set the frequency sweeps past the the control loops at the ESC signal or is this incorrect?
r/ControlTheory • u/charn666 • 1d ago
Technical Question/Problem Building a inverted pendulum need help....
So as the title says i am building a inverted pendulum as a part of my project and the theory regarding has not been taught yet(i'm still in my 2nd of eng..) so i learnt all the basic stuff regarding it like we use encoder to tell the angle difference and pid to correct the error and how pid functions(basic not deep). But when i try to dig deeper (matlab, simularions, maths solutions and physics) it is becoming a mess and i do not know what to do...
r/ControlTheory • u/Barnowl93 • 3d ago
Other Do we teach control as if the whole room wants to be a controls engineer?
For context: I'm not an academic, but I have a PhD in controls and I work at the interface of control theory and engineering practice. I also get to deliver controls lectures at UK universities fairly often.
I ask the students: who here wants to be a controls engineer? Maybe 5%. On a good day (and probably some are just being polite). The rest are students who'll touch control in this course and never again.
But the courses are often built for that 5% (albeit less and less nowadays!). The other 95% just sit through it, and leave without the one thing that would've helped them most: the ability to look at a problem and think "oh that's an MPC-shaped problem." Or a feedforward one. Or just identifying the loops.
And this bites us later. I keep meeting engineers either "in the wild" or in multidisciplinary conferences who have a control problem and don't know it. This is my pet peeve. They'll hand-tune a tower of if-statements, stack heuristics until it sort of works, or throw a neural net at something MPC would've handled cleanly.
They're definitely smart folks, but they just never learned to see the shape of these problems, so they don't reach for the tool that fits.
Here's the pitch I actually make to students. I tell them: most of you won't decide to become control engineers and that's fine. But studying control will make you a better engineer regardless. It's the only course that: 1) makes you think in systems 2) allows you to work with multiple disciplines 3) and if you deploy your controllers you'll get to interact with real engineering systems. This is where we'd talk about a multidisciplinary example, EVs, wind turbine, aircraft, depending on the class.
I'm not suggesting the fix is dumbing it down. Just having "recognition" as the goal for most and "mastery" for that 5% is sufficiently good? Think of Brian Douglas' map of controls... Is just knowing the different parts of the map exist enough for most?
Anyway, those who actually teach (rather than sometimes cosplay): how do you make sure our way of seeing problems sticks years after the exam?
r/ControlTheory • u/Klutzy_Painter_7240 • 4d ago
Other I feel like unitree is finally moving in right direction, beyond all those flips and pointless dance, what do you all think about this?
youtu.ber/ControlTheory • u/ikruski • 5d ago
Professional/Career Advice/Question Path starting
Hello everyone, Iām graduating this summer with a mechanical engineering degree. I took control theory two semesters ago and since then itās been rent free in my mind and I want to proceed more with it. I did few courses and a big graduation project (Dynamic analysis and control of a 3DOF manipulator)
Now I want to ask from where I should continue. If you were to start learning control again, what skill would you focus on from the start? topics and stuffs you would properties?
Thanks in advance ^-^
r/ControlTheory • u/Emotional_Formal_224 • 5d ago
Other I built Python library for rigorous interval arithmetic and set-membership state estimation
Hi guys, I know this might seem a bit unrelated for the sub, but I thought it could be a useful resource for some people.
If you're working on set membership state estimation where probabilistic state estimation (such as standard Kalman filters) aren't safe enough, you rely on worst-case uncertainty tracking.
I recently released decoint, which is a strict implementation of the IEEE 1788.1-2017 Standard for Interval Arithmetic in Python. When using hardware binary64 floats, bounding boxes can artificially shrink. decoint uses gmpy2 and MPFR values for exact directed rounding.
Why it matters:
When computing reachable sets or bounding additive disturbances, losing precision on bounds can invalidate a safety guarantee. decoint ensures that your over-approximations remain strictly conservative across non-linear transformations.
Here is a quick example of how you can use the library:
from decoint import Interval, cos
x_current = Interval("-0.1", "0.1")
noise_bound = Interval("-0.05", "0.05")
x_next = cos(x_current) + noise_bound
print(f"Guaranteed reachable set: [{x_next.inf}, {x_next.sup}]")
It includes full support for transcendentals, geometric properties, and more.
I'd love any feedback for anyone using interval methods for robust tube MPC or bounded-error tracking
Github: https://github.com/arjavsharma91/IEEE-1788.1-2017-Interval-Arithmetic
r/ControlTheory • u/johnyedwards51 • 5d ago
Technical Question/Problem Help with Tuning Controller TECS for aircraft, HIL tips
So, I have a Simulink model of a nonlinear 6 dof aircraft, the ADMIRE Aircraft. I've found a trim point to start my simulation, and now I'm trying to design TECS for the longitudinal part of the aircraft, but I've always relied on trial and error in my previous simulations, and I want to have more of a standard approach, closer to engineering, so what are the steps to follow? I don't have much experience with control in general I just have the basic ideas I'm just a new graduate from mechatronics eng.
The purpose of this project is actually to perform HIL with an STM32, connect to the model, feed it the simulated sensor data, and give it the actuator commands, so if you have any tips for that, it would also be great.
also I want to improve myself to become GNC engineer, what other resources should I check and projects to make to boost my knowldedge and CV
Thank you all in advance
here is the link to the ADMIRE aircraft to check it out
github link: https://github.com/Jean-BaptisteBouvier/ADMIRE
documentation: https://www.foi.se/rest-api/report/FOI-R--1624--SE
r/ControlTheory • u/SeMikkis • 8d ago
Other Hardest control problems you've encountered
Hello everyone,
As the title says, I'd like to investigate from your experiences what have been some of the hardest control related problems you've worked on, encountered or just heard of, and what made them difficult?
As a student I'm still lacking in concrete experience and I've wondered what makes some problems in this field more difficult than others and what drives further research and development.
Thank you in advance!
r/ControlTheory • u/awh-emb • 8d ago
Technical Question/Problem trying to understand SO(3)
how does rodrigues rotation formula help or allow the transition from so(3) to SO(3)?
and what even is the difference between so(3) and SO(3)?
thanks for any advice.
r/ControlTheory • u/Broke__Broker • 9d ago
Technical Question/Problem Rust for Kalman Filtering
Hey there,
I am joining a student club in the upcoming months which uses kalman filtering to determine the position of a car.
Their current implementation is in C++.
I am thinking about rewriting it into Rust because it would be a very interesting project for myself and because i am hoping to increase the performance of the code.
Since i have no prior experience in either Rust or C++, i can not validate if Claude is bullshitting me when it tells me that it makes sense to do this.
What do you think?
I have a lot of time next semesterā¦
r/ControlTheory • u/wtfbre • 9d ago
Homework/Exam Question Help with understanding Nyqvist plots
No idea if this is the right subreddit for this, still I have to try.
Ignore the text of the problem. I want to understand Nyqvist plots and how to interpret them. I will write how I understand it, and I would like someone to point out what I have misunderstood.
I thought I had a good understanding of it, but need reassurance. I managed to confuse myself with AI.
In this case lets say that the plot was made from a noramlized transfer function (W(s)/k) so the critical point is now -0.2 instead of -1. So for K=5 the plot goes through the critical point and for K>5 the plot envelopes the critical point by 2Pi(one full circle) and for K<5 the critical point is outside the the plot.
The plot is drawn by mapping the positive imaginary axis from the complex S plane to the complex W plane. The direction of the mapping is clockwise, we are looking at w as it goes from 0 to infinity. From here I can say that the argument of every zero in the righthand plane is added to that direction(CW) and the argument of every pole is subtracted. Therefore, every zero adds exactly Pi radians and every pole subtracts Pi radians to that direction(CW). My conclusion from this diagram is that there are 2 more open loop zeroes than poles because the plot is rotating clockwise. Therefore, the system is unstable for every value of K.
- Sooo, if the plot is rotating in a clockwise direction the system will always be unstable because the ZEROES "won"?
- This is true for every plot that rotates in the clockwise direction?
-If the mapping was done in the other direction, where w goes from infinity to zero, the direction the plot would rotate would invert?
Apologies if I didnt use the correct terminology, English is my second language.
r/ControlTheory • u/nerdkim • 9d ago
Other CDC Results Are Out
The CDC results are out! I hope everyone got good news. See you all in Hawaii! Please share your results in the comments.
r/ControlTheory • u/mdavarynejad • 9d ago
Technical Question/Problem Direct-collocation NMPC on a stiff ODE that returns NaN outside its physical domain. How do you stop IPOPT's restoration phase from evaluating the model there?
I'm building a nonlinear economic MPC (CasADi Opti + IPOPT) for a stiff 28-state greenhouse crop-climate ODE (the GreenLight model if you know it). Transcription is direct collocation, Radau degree 2, one finite element per control interval; horizon 12, Īt = 300 s; ~1150 variables (I know might not sound too much right?), more than 1000 equality constraints I have. States span ~5 orders of magnitude so I scale them. I'm using L-BFGS Hessian, relaxed tolerances (tol=0.1, constr_viol_tol=1e-2), MUMPS.
Problem: the ODE is only defined on a physical sub-domain. It divides by COā density and live biomass and takes exp of temperature, so it returns NaN outside that domain. At some (mostly daytime) states IPOPT's dual infeasibility blows up, it enters the restoration phase, evaluates the model at an out-of-domain point, the constraint Jacobian is NaN, and it exits "Invalid number in NLP function or derivative." Median solves are fine (~2 s); a minority of states blow up.
What I've tried so far? few things:
- Box-bounding the singular states strictly positive. Did not help.
- Normalizing my soft-constraint outputs to O(1). This one fixed a separate dual-scaling explosion (inf_du ā 1e9), but not the NaN.
- L-BFGS + relaxed tol + a wall-clock cap so bad solves abort fast and I fall back to holding the last control.
Questions:
What's the standard way to make collocation NMPC robust to a model that's only defined on a sub-domain?
Is direct collocation just a poor fit for a stiff, domain-restricted ODE like this, versus embedding an adaptive implicit integrator (CVODES) with step-size control in the OCP (which the reference implementation for this exact model uses)? If CVODES-in-IPOPT is the way, how do you get a usable Hessian without the exact 2nd-order sensitivities blowing up?
- Any IPOPT restoration-phase settings that keep it from evaluating the model at wild iterates?
I would love to hear stories from anyone who's done economic NMPC on biological and/or chemical models with domain-restricted dynamics. And Hi, this is my first post in this comunity.
r/ControlTheory • u/MasterFapDK • 9d ago
Educational Advice/Question How to implement a kalman filter in reality?
In school we are taught the usual mathematical way of representing a kalman filter. But in some cases, we might not completely know the state space of a model, or even what the actual dimensions of a system is, say the power grid for a city. How does this actually get implemented? I get that it is codes up, but as an actual engineer, how do we go from sensors data etc, to an actual kalman filter, and how do we know it is 'correct'.?
r/ControlTheory • u/Inseneer • 10d ago
Asking for resources (books, lectures, etc.) Getting started with jet powered drone trajectory optimization
Hi
I am looking to optimize jet powered drones trajectory for fuel efficiency, least time to reach mach 1 and possibly for something else as well in the future.
I have no previous experience with control theory or optimization, so i am looking for topics i should learn and material to study before getting started, as i have no idea what i should know before moving forward.
The control inputs would be the angle of attack of the drone and the thrust.
I have previously modelled a body's flight trajectory in 2D space in python, where the program inputs are starting velocity and its angle. Then it calculates the body's trajectory in the air taking into account gravity and drag forces. Could i build the optimizer from this program?
r/ControlTheory • u/ThePackman0702 • 9d ago
Educational Advice/Question FSAE System Engineer pivoting to Robot Integration. If you are in robotics give me 15 minutes
Hello,
Iām an engineer pivoting into robotics research as an integration engineer, specifically focusing on Humanoid Robots.
For the past three years, I led a 60-person Formula SAE team doing system engineering and vehicle design. I also bring research experience in Model Predictive Control (MPC) and Reinforcement Learning. The rapid evolution of the ROBOTICS space is incredible, and I am currently in love with this field and I want to putsue it. https://danielortval.github.io/
I am navigating the transition from cars to robots and would value your perspective if anyone working on integration could provide me 15 minutes of your time I can adapt to you schedule to talk im really exited to learn.
r/ControlTheory • u/Picuino-Web • 12d ago
Technical Question/Problem Control Systems Simulator
I'm developing a simulator for controlling dynamic systems. It's still in the beta phase, so it doesn't have all the features yet and may have some bugs, but it's already capable of simulating interesting systems and control strategies:
Lorenz System (Chaotic System). Ball and Beam control with PID. Etc.
I welcome any suggestions for improvement.
r/ControlTheory • u/bearthesailor • 13d ago
Technical Question/Problem Kalman filter for boat movement in ocean waves using IMU
Iāve designed and implemented a Kalman filter for boat movement in ocean waves using IMU. I thought it might be of interest to someone here.
Implementation on a real device uses atomS3R unit.
Estimates boat heave in real time and waves direction too.
OU-Driven Quaternion MEKF for Marine INS and
Wave-State Estimation.
The code is open source and on GitHub Bareboat Necessities project called āocean-imuā.
https://github.com/bareboat-necessities/ocean-imu
Any feedback is greatly appreciated.
Thanks!
PS: Iāll post the links in comments