r/ControlTheory 3m ago

Technical Question/Problem Technical archive of the CMTS (Circular Mass Transfer System) by Benoit Collin

Upvotes

Direct link to the original handwritten technical drawings and plates:
https://archive.org/details/@benoitcollinstcm

Complete mechanical archive of the CMTS (Circular Mass Transfer System) by Benoit Collin (Montreal). This link provides direct public access to all technical plates. The main focus of this archive is to demonstrate the fundamental mechanical simplicity of this kinematics for easy study and replication.


r/ControlTheory 37m ago

Technical Question/Problem Technical archive of the CMTS (Circular Mass Transfer System) by Benoit Collin

Upvotes

Direct link to the original handwritten technical drawings and plates:
https://archive.org

Complete mechanical archive of the CMTS (Circular Mass Transfer System) by Benoit Collin (Montreal). This link provides direct public access to all technical plates. The main focus of this archive is to demonstrate the fundamental mechanical simplicity of this kinematics for easy study and replication.


r/ControlTheory 1d ago

Other Do we teach control as if the whole room wants to be a controls engineer?

144 Upvotes

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 2d 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?

Thumbnail youtu.be
0 Upvotes

r/ControlTheory 3d ago

Professional/Career Advice/Question Path starting

6 Upvotes

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 3d ago

Other I built Python library for rigorous interval arithmetic and set-membership state estimation

10 Upvotes

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 arbitrary precision 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 4d ago

Technical Question/Problem Help with Tuning Controller TECS for aircraft, HIL tips

6 Upvotes

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 6d ago

Technical Question/Problem trying to understand SO(3)

Post image
10 Upvotes

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 6d ago

Other Hardest control problems you've encountered

63 Upvotes

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 7d ago

Homework/Exam Question Help with understanding Nyqvist plots

Post image
12 Upvotes

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 7d ago

Technical Question/Problem Rust for Kalman Filtering

17 Upvotes

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 7d ago

Other CDC Results Are Out

14 Upvotes

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 7d 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?

9 Upvotes

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:

  1. What's the standard way to make collocation NMPC robust to a model that's only defined on a sub-domain?

  2. 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?

    1. 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 7d ago

Educational Advice/Question FSAE System Engineer pivoting to Robot Integration. If you are in robotics give me 15 minutes

0 Upvotes

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 8d ago

Educational Advice/Question How to implement a kalman filter in reality?

54 Upvotes

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 8d ago

Asking for resources (books, lectures, etc.) Getting started with jet powered drone trajectory optimization

8 Upvotes

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 10d ago

Technical Question/Problem Control Systems Simulator

12 Upvotes

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 12d ago

Technical Question/Problem Is there anyone who has experience in designing Reaction Control System for Thrusters ?

10 Upvotes

I want guidline on how can we approach to design PWM control for thrusters for attitude control.


r/ControlTheory 12d ago

Technical Question/Problem Kalman filter for boat movement in ocean waves using IMU

40 Upvotes

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


r/ControlTheory 12d ago

Technical Question/Problem Tips for kalman filter debug

10 Upvotes

Hi, i am writing codes for kalman filter to find the quaternion and bias estimate by deriving equations by myself from reading a book.

I made the gyro model and another more precise sensor model adding noise and bias.
And, running the code, I observed oscillation in the quaternion error and bias error (true - corrected value). Both never converges, while covariance seemed to converge to a constant within a few sec.

To find the cause, what i was wrong, what should i look into the first?
I need tips to find out which block module in my gnc code is working inappropriately.

Thanks


r/ControlTheory 12d ago

Other Lag process closed loop PID-tuning method. What do you think? (and in general: does such topic suitable for this sub?)

Thumbnail gallery
95 Upvotes

I'm primitive SISO control guy. I DO know that to obtain "good" results, it's necessary to identify adequate process models and find analytical solutions to systems (and I have no problem with this).

However, the industry has a large number of not-hi-skilled personnel, and for them, I propose the Lag Process ClosedLoopPID Tuning Method.

Key assumptions and limitations of the method:

- The method does NOT require "high accuracy"

- The sequence of actions and mathematical formulas should NOT be overly complex

- The process model approximation and PID tuning should be performed in a Closed Loop (to avoid value scaling issues)

- The impact on the process/plant during approximation and PID tuning should NOT be traumatic

- PID tuning should be performed step-by-step to simplify identification of the stage at which the error occurred

In Math Sheets 1 and 2, I demonstrate the mathematical derivation of formulas for calculating innitial PID parameter values.

NOTE: This method is approximate and does not claim analytical accuracy, just like other approximate methods (such as lambda tuning).

I have also published a description of the approximate sequence of steps for using the method.

Questions:

  1. Is this topic suitable for this sub? Or is it too simplistic?

  2. What do you think about the need for such methods and the requirements for them?

  3. Finally: What do you think about the method described? (I know of at least one expert's opinion that the mathematics in the method is completely flawed.)


r/ControlTheory 13d ago

Technical Question/Problem Strategy to efficiently debug and do reward shaping for Reinforcement Learning

2 Upvotes

Hi everyone,

I'am a student in France working on a drone guidance project using reinforcement learning. The goal is to make a drone reach a sequence of checkpoints, or track a moving checkpoint using vision-based guidance as I implement this on my FPV drone, and this drone has the PX4 controller so the pipeline for the loop is : Guidance --> give accels --> PX4.

So far, I have first built everything in Python, I implemented a proportional guidance law and it worked quite well in simulation, but it did not perform very well once I used the camera-based observations.

Then, I move to an RL-based pipeline with RL policy --> accels --> PX4. I implemented the full pipeline in simulation and it technically works, but I'm seeing a lot of strange behaviours : oscillations, bang-bang commande law abusements,.... My suspicion is that the issue may be due to the reward function. I have tried tuning and cooking the reward many times but each version seems to produce a new unexpected problems or strange behaviours rather than the one I actually want. I have tried to plot many metrics to understand what is happening but debugging this RL guidance law has become frustrating.

Does anyone have suggestions or advice for debugging this kind of RL guidance or RL related problem please ? In particular, I would like to have some advice on reward shaping and how to efficiently debug trained RL policy,...

Any advice, refs, or practical debuggings, tips or discussions would be really helpful for me !

Thanks a lot and I wish you a good day !


r/ControlTheory 13d ago

Professional/Career Advice/Question Seeking advice to build domain specific competencies

9 Upvotes

I am currently a Master's student in Germany and inclined to pursue roles which involved working with control engineering. However, I have been advised to build domain specific knowledge in addition to being good at controls, in order to break into an industry. It could be motor control, power electronics, vehicle dynamics, energy, robotics, engine control, electric powertrain control and many such domains.

Question : What domain(s) would have a relative better chances of a full-time role post masters? Considering the auto-industry is on a downward trend, I am afraid to build competencies or domain knowledge let's say related to engine control or vehicle dynamics.

I was considering Battery Management Systems as a nice option since it probably also has scope beyond automotive industry and make me eligible for let's say for certain roles in energy industry.

Is this the right way to think? Or is there a different way I could approach it? Please drop in your suggestions


r/ControlTheory 13d ago

Professional/Career Advice/Question Should I learn rust?

35 Upvotes

Hi,

I'm going to start my PhD in control theory soon. (Focusing on optimal control). Until now, I have primarily worked with Matlab, Python and C++ (the latter mostly for code that runs on the systems I was controlling). I am by no means a sophisticated C++ developer. I am currently considering learning Rust. It just seems to be better in almost every aspect except for library availability.

What do you think? Is it too early to switch because of missing libraries, legacy code, etc.? Or should I become part of a general academia/industry shift towards Rust?


r/ControlTheory 13d ago

Other I built a streaming adaptive observer in python that tracks sudden parameter drift in nonlinear systems 1.8x better than batch SINDy.

Post image
110 Upvotes

I was working on parameter estimation for some non linear ODEs.. and came through this paper on WyNDA.. and since to implement it there was not a single python package.. i implemented it from scratch and verified it against 26-test verification suites..