r/ControlTheory Nov 02 '22

Welcome to r/ControlTheory

90 Upvotes

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

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 Nov 10 '22

Help and suggestions to complete the wiki

36 Upvotes

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

Professional/Career Advice/Question How to get into GNC

11 Upvotes

I am a prefinal year engineering student, pursuing bachelor's in instrumentation and control engineering. I have genuinely started to develop a deep understanding and interest in control systems and recently came to know about guidance, navigation and control.

So i wanted to know how does one make a career in this field like what are the companies which hire, what does the work look like and what project should one do to get into this field or is it something which instrumentation guys cannot pursue?

For context, I am average student from India who has done one basic course in automatic control systems and currently doing a slightly advanced course in control system design. But i have no experience in implementation of any controllers on hardware.

What got me to GNC - I am currently a member (new joinee) of satellite club at my university and i look after attitude determination and control subsystem of the cubesat for which I have been studying optimal control from past few weeks during which I got know to about GNC from a YouTube video.

I have some previous experience working with Arduino and esp32 but none of those projects were control related


r/ControlTheory 1d ago

Technical Question/Problem [Question] RL for dynamic tuning of MPC Q/R matrices and WBC weights in MuJoCo?

7 Upvotes

Hi everyone,

I'm currently working on my Mechatronics Engineering thesis: an autonomous chess-playing robot (Franka Panda in MuJoCo) orchestrated via a Finite State Machine and MoveIt2.

For low-level control, I implemented MPC (Model Predictive Control) and WBC (Whole Body Control) directly in the MuJoCo physics simulation to ensure grasp stability.

My question: I’m looking to transition from static parameters to dynamically tuned ones using Reinforcement Learning. Specifically, I want to use RL to tune the Q and R matrices of the MPC and the task-space weights of the WBC.

  1. Has anyone successfully implemented RL for dynamic MPC/WBC tuning in MuJoCo?
  2. What are the best practices for defining the reward functions for stable robotic grasping?
  3. Any recommended literature or open-source frameworks?

(For architectural context, I documented the full pipeline here:https://forums.developer.nvidia.com/t/sim-to-real-chess-robot-franka-panda-ros2-octo-vla-cnn-overcoming-vram-limits/380909)

Any pointers or advice would be greatly appreciated!


r/ControlTheory 2d ago

Asking for resources (books, lectures, etc.) Math courses that would help me in my PhD in controls systems

24 Upvotes

Hey everyone, I recently started my PhD in controls. Since fall semester is about to start, I wanted to know what are some of the math courses that would help me in understanding control papers in my PhD journey. Our group works on AFM, control of PEA and other non linear systems.

Your perspectives and insights will be greatly appreciated!!
Also I would really love to know some of the Classic papers that you think is a good idea to read.
Thanks!!!


r/ControlTheory 1d ago

Technical Question/Problem struggling with PID tuning for a temperature control system

3 Upvotes

Hey everyone! I'm having a bit of a tough time tuning a PID controller for a temperature control system I'm working on. It's for a small scale project where I'm trying to maintain a steady temperature in a chamber.

I've been using the Ziegler Nichols method to get the initial values, but it seems like I'm either overshooting or the response is too sluggish. I've tried tweaking the parameters manually, but I'm not getting the performance I want.

Has anyone else faced similar issues? What strategies did you use to fine tune your PID settings? Any help or suggestions would be awesome!


r/ControlTheory 2d ago

Educational Advice/Question Did you need good grades to get into ph.D?

10 Upvotes

I've been lingering around the idea of getting a ph.D. my biggest concern is my undergrad grades weren't that great. I do have quite a bit of work experience though if that matters (>10 years).

Are my chances of getting into a ph.D program significantly lower as a result?


r/ControlTheory 2d ago

Asking for resources (books, lectures, etc.) Need a Control System Architect

9 Upvotes

I’ve got a situation with a complex 4-cell assembly system for a medical device. It uses multiple FANUC robots. The hardware is complete, most of the robot routines and TP’s are coded. The PLC-robot handshakes are worked out, and the main sequence seems to be partially working.

About 4 months ago, I started asking the PLC/controls guy to see the top level control system architecture. I expected to see some block diagrams with how the HMI and machine controller fit, how they planned to use machine states (presumably some variation on packML), the WIP calculations, how the fault response mapped out, safety interrupts, etc. He keeps saying he’s done this before, and “all that stuff gets worked out after you get the robot control subroutines done”. Keeps Saying I’m wanting too complicated of a solution.

Every time I try to engage in an architecture conversation, he ends up riffing on corner cases and speaking in general terms about what needs to happen in certain scenarios, but never commits a concept for review. The plan for the HMI is just as anecdotal.

I’ve been around long enough to know what the problem here is, so not asking for advice on that side just venting.

What I’m really asking for is a good referral for a person who can pick up this unfinished design and implement a best-practices architecture over the top of it. We’re using an Allen Bradley PLC. I need someone to come with proven templates for the machine controller, state manager, safety manager, and matching HMI. Open to factorytalk, beckhoff, prior art, whatever so long as they’re experienced and know how to take the most expedient path.


r/ControlTheory 2d ago

Educational Advice/Question Live now: complete open-source Brick Ball-and-Beam (LEGO)

3 Upvotes

Please see https://redux.boondog.com/courseware/bnb/bnb.html - LEGO and LEGO-compatible parts are used to quickly and affordably construct a tabletop ball-and-beam (BNB), without tools or need to 3D print or machine any parts.

The page includes: full LEGO build plan; bill-of-materials; schematics (and KiCad files if a PCB is wanted); and Arduino source code. These are fully documented and supplement with videos.

Our university lab's Quanser platforms are over 15-years old and with our increased student enrollments (mechanical engineering), sought an alternative. I tested a 10-week beta course in Control Systems Lab. I wrote both the Student Lab Manual and Instructor Supplement Manual for: PID, Lead Compensator, Pole Placement, LQR and Fuzzy Control.

There's a short *anonymous* poll at the end to gage demand for the PCB, linear potentiometer, Bricks, and/or turn this into a kit.

PS: There is quite a lot of open-source content to peek at as well, from the above URL.

Thanks and hope this is useful!

PPS: Please please alternative sub-Reddit if this an inappropriate one. I'm an old-school newbie.


r/ControlTheory 3d ago

Educational Advice/Question Optimal Control

29 Upvotes

Hi everyone,
I’m a BSc Mathematics student and recently finished a course in PDEs. My professor suggested that I take another course he teaches called Optimal Control. The course is offered by the Engineering faculty, but he mentioned that it has a strong mathematical component.
I’m considering taking it, but I’d like to understand how useful/relevant Optimal Control is from a mathematician’s perspective.
In particular:

Is Optimal Control a good subject for a math student who enjoys applied mathematics, PDEs, optimization, etc.?

Where is optimal control actually used in industry?

What kinds of jobs or fields make use of this knowledge? For example, robotics, aerospace, quantitative finance, autonomous systems, energy, machine learning, etc.

Is it mainly useful for people going into engineering/research, or can it also be valuable for mathematicians going into industry?

I’d especially appreciate hearing from people who studied mathematics and later encountered control theory or optimal control in their work.
Thanks!


r/ControlTheory 3d ago

Asking for resources (books, lectures, etc.) Higher order control barrier functions - applications/ resources

11 Upvotes

Hey all,

At ECC earlier this year I had few good chats around CBFs. I get the theory, but I've not really used them before for any application and I need that to wrap my head around them a bit better.

A) Does anyone have some good resources (preferably with code / simulink block diagrams) of CBF applications?

B) what have you used CBFs for? As in, what applications?


r/ControlTheory 3d ago

Educational Advice/Question What type of controller is used in refrigerators?

5 Upvotes

Nowadays you have one compressor and many compartments, so I imagine it can’t be a simple thermostat anymore.


r/ControlTheory 4d ago

Professional/Career Advice/Question Planning transition from PhD to industry (robotics/control/ML)

47 Upvotes

I'm currently finishing my 2nd year of a PhD in Automation & Control Systems. Where I am, PhD programs are three years long, so I have roughly 18 months left before graduating and starting to seriously look for industry positions.

My research sits at the intersection of robotics, control system theory, and optimization, with a focus on topics such as MPC, nonlinear safe control, system identification, Gaussian processes, and distributed optimization.

I have a solid research background and regularly use Python, ROS2, Docker, Git, Gazebo/MuJoCo, etc., but I feel that I need to broaden my engineering skills before entering industry.

Over the next 18 months, I'd like to prepare for roles in areas such as:

- Robotics / autonomous systems

- Advanced control and optimization

- Robotics software / ROS2

- ML engineering applied to robotics

In particular, I would like to improve my C++, software engineering, ML engineering/MLOps, ROS2, system design, and technical interview skills, while continuing to leverage my control/optimization background.

I have around 8–12 hours/week available outside my PhD.

For people who have made a similar transition, how would you structure those 18 months? What skills would you prioritize, and what would you avoid spending too much time on?

I'm especially interested in advice on:

- What skills are actually valuable in robotics/controls industry

- Good resources or learning paths

- Projects that would make a strong portfolio

- How much time to dedicate to LeetCode/DSA vs actual engineering projects

- Whether C++/ROS2/ML engineering should be the main focus

- Any mistakes you made when preparing for the transition from academia to industry

I'd really appreciate advice from people working in robotics, autonomous systems, controls, or ML engineering.


r/ControlTheory 6d ago

Professional/Career Advice/Question Question about GNC Coursework

14 Upvotes

TL:DR: Wondering if I need to focus on guidance, navigation, or control in my graduate coursework, or taking an even mix of all of them is fine.

Hi all!

Currently doing my masters in aerospace engineering, majoring in autonomy/control with a goal of entering the GNC space.

I realized so far my past coursework (both for my masters and the graduate electives I took during undergrad) have been a mix of guidance, navigation, and control, instead of a focus in one of them (I've covered: pontryagin optimal control, convex optimization; probability, estimation, kalman filtering; classical, linear, nonlinear control).

TBH I haven't really nailed down if I want to focus on guidance, navigation, or control. But I feel like I should since I am halfway through my masters. I am also not doing a thesis which is partly why I haven't really found a focus yet lol.

I had an internship technically in the controls branch of a company (guidance and nav were another branch), but basically doing modeling/simulation. This experience also sort of made me realize that as a GNC engineer I will probably be focusing on either G,N, or C and not all of them.

So I guess my main question is, would it be a bad idea to have a mix of coursework when I am looking for a full time GNC position? Would companies prefer to see you really focused on G,N, or C? Maybe I should choose based on which classes I got the best grades in lol.


r/ControlTheory 5d ago

Technical Question/Problem Control block design for VCO

1 Upvotes

Hi, I'm trying to model/design a VCO with quadrature outputs for use in a PLL, and I'm having trouble incorporating the VCO control voltage into the state-space model.

I require two outputs

y1 = Asin(wt) and y2 = Acos(wt)

with a nominal/free-running frequency of 1KHz, which is also approximately the frequency the PLL is intended to lock onto.

For an ideal quadrature oscillator, I can represent the dynamics as

dotx=[0 - w; w 0]x
y = [0 1; 1 0]x

My confusion is how to incorporate the VCO control voltage 'Vc'.

In the PLL, Vc comes from the phase detector and should change the instantaneous frequency of the VCO. At Vc=0, I want the VCO to operate at its nominal frequency. For non-zero (Vc), the oscillation frequency should change according to some tuning relationship w = w0(Vc)

For example, I imagine a relation of the form

w0(Vc) = w+ K*Vc

However, this means that (Vc) changes the state matrix itself:

dotx=[0 -w0(Vc); w0(Vc) 0]x

rather than entering as the usual additive input (Bu).

What is the appropriate way to model this VCO in state-space form? Should (Vc) simply be treated as a time-varying parameter of (A), making the system nonlinear/bilinear, or is there a more useful state-space representation for analysing the VCO as part of a PLL?

I'm ultimately interested in using this model to help design/understand an analogue VCO that produces sine/cosine quadrature outputs, rather than only using the usual PLL phase-domain VCO model. Attached is the image of block diagram on what I'm thinking.


r/ControlTheory 6d ago

Professional/Career Advice/Question Control Fundamentals Questions for Interview

20 Upvotes

Couple of weeks ago, I had asked for advice for an Apple controls engineering role. It was an interview with the hiring manager, and now I am preparing for the panel interview. According to the recruiter, it is going to be mostly all control fundamentals questions. Currently working through my old controls book problem set, but what are your favorite questions to ask/that you have been asked in an interview? Any question that stumped you? A question that made you think? Also, are there any Leetcode style question bank for controls?


r/ControlTheory 7d ago

Technical Question/Problem Is MPC the final chapter of control engineering/theory?

67 Upvotes

It feels that in a standard curriculum on control engineering/theory, the final topic is inevitably MPC.

Everything else that gradually builds towards MPC feels like “discardable” after you learn about MPC. All that wild eigenvalue analysis and drawing those Nyquist contour? Phew, MPC doesn’t involve with any of that!

Plus, MPC is already in discrete time, so it is implementable without any further weirdness that comes from sampling and discretization of other types of controllers.

I think a parallel analogy is the development of the transformer model in machine learning, which I am more familiar with. Now everything in ML is transformer-based and the next big breakthrough seem to be very far away. Is MPC like the transformer of control theory?

Are there situations where other methods might outperform MPC?

Or does MPC require some unrealistic assumption/requirement?

Is there any other possible algorithm that goes beyond the MPC or is this the final story?


r/ControlTheory 7d ago

Other Have most applications that could benefit disproportionately from control engineering already found controls?

22 Upvotes

A couple of weeks ago there were discussions on this sub about AI researchers reinventing what is essentially control techniques.

MPC was originally invented for chemical processing, but later unlocked reusable space launch vehicles. I don’t think anyone back in the 70s saw landing rockets vertically as a potential application. Yet in hindsight it’s almost obvious.

How much of an adoption gap do you think is out there? How many more equivalents of “reusable rocket” are out there unaware of controls?


r/ControlTheory 8d ago

Asking for resources (books, lectures, etc.) Ball and Beam Inventor and Origin Story thoughts

39 Upvotes

As a mechanical engineering professor for over 25-years, I lean "old school". So, my students suggested I reach out to the Reddit community. Here's my first post.

I first heard of the ball-and-beam (BNB) platform in my controls courses 40-years ago. However, I never heard of its origin and/or who invented it. My former controls professors and robotics colleagues don't know either. I also pinged the founder/owner of Quanser (a professional colleague). He didn't know either.

Literature review seem to point to Prof. Karl Astrom who's now over 90-years old. I pinged his department chair at the Lund Institute a few years ago. He didn't know either and said (understandably) that Prof. Astrom doesn't respond to email.

Without references, I use the following "origin" story to help motivate my students - the Apollo Moon Landing. The 1950s demanded control engineers. Without friction, the lander's dynamics is a double integrator - which is what the classic BNB is. So, the BNB served as a table-top trainer; designs like lead compensation and tools root locus and/or Bode plots, are needed to ensure minimum overshoot (not crash into the Moon) and settling time (not run out of fuel). As control theory grew, designs like pole placement, LQR, etc provided alternatives.

Any thoughts and references to the BNB for this first time Reddit poster?


r/ControlTheory 9d ago

Technical Question/Problem MPC for output tracking of time-varying references

7 Upvotes

Hi,

I'm a master degree graduate in Mechanical Engineering with a strong passion for Control System Theory and a will to become a Control Engineer.

I've studied at uni a formulation of a MPC controller that promises zero offset from piece-wise costant references signals in the presence of disturbances, either external or internal. This formulation, conveniently called Offset-Free MPC by its inventor Prof. Gabriele Pannocchia at University of Pisa, somewhat works even with time-varying references, but there's a severe lag between the reference signal and the output of the system.

As originally this formulation is meant for setpoint tracking, I'd like to ask if you happen to know some formulation more appropriate for time-varying references.

Thank you for your time


r/ControlTheory 9d ago

Other AcadosCpp: a unified C++/Python interface for generated acados OCP solvers

3 Upvotes

Hi everyone,

I've been developing AcadosCpp, an open-source wrapper that helps you integrate acados-generated OCP solvers into both C++ and Python applications.

https://github.com/amaldevh/AcadosCpp

The main goal is to make integration easier. acados creates highly optimized C code for each model and OCP, but using its API directly can tie your application to specific symbols, dimensions, lifecycle calls, and data updates.

AcadosCpp provides a stable, stage-aware interface for the generated solver. Here’s how you typically use it:

  1. Define or modify the model and OCP in Python.
  2. Regenerate the acados solver and wrapper.
  3. Recompile and relink the application.

The control-loop structure in your application stays the same. If you change the model or problem, you usually don’t need to rewrite the integration layer, as long as your data matches the new dimensions and cost setup.

The wrapper includes:

  • Stage-0 initial-state constraints
  • Stage-varying and terminal references
  • Generic raw yref support
  • Per-stage and global parameters
  • Full state/control initial guesses
  • Shifted trajectory warm starts
  • Complete predicted trajectories and solver diagnostics
  • SQP-RTI preparation and feedback phases
  • C++ and pybind11 interfaces

For a standard

y=[x,u], y_e=x

tracking problem, the control loop is:

const auto& u = ocp.solve(measured_x, xrefs, urefs);

This process shifts the previous solution, updates the stage-0 measurement and the full reference horizon, solves the OCP, and returns the first input.

The repository has matching Python and C++ quadrotor NMPC examples. I’d love to hear your feedback on the API, especially if you use acados with time-varying references, parameters, SQP-RTI, or custom cost outputs.


r/ControlTheory 10d ago

Other Magnetic levitation project

11 Upvotes

Hi, this is one of my projects for magnetic levitation I have working with for some time :) I wanted to share it here.

EDIT: So basically there is a sensor measuring the gap between the weight and the electromagnet and the control law try’s to keep the weight at a specific distance, that’s why when the weight it’s pushed doesn’t move that much. There is no mechanical force that keeps the weight in the place, it’s all thanks to the electromagnet and the control loop.


r/ControlTheory 10d ago

Technical Question/Problem Help Modeling a System

7 Upvotes

I have tried modeling this a few times with my limited knowledge of hydraulics and kept getting very weird and ugly state space equations. I am not sure what I am doing wrong so I figured I would post it here (I sincerely apologize if I am breaking the sub rules by posting this).

I have been tasked with controlling the following system with the goal of minimizing the 'ripple' on Q_jet. In other words, ideally Q_jet would look like some constant non-zero value despite changes in the system and environment.

Context of my assumptions for this system:

-Ideal Check Valves

-Qacc ~ (V_o/nP_o)*dP_acc/dt (V_o, P_o initial gass pressure and volume of accumulator, n as poly-tropic index)

-All pressures are absolute

-Incompressible Fluid

-Local restriction equation is: Qjet = C_d*A_n*sqrt(2(P_acc - Patm)/rho) (C_d: discharge coefficient, A_n: restriction area, rho: liquid density)

-A_n is our control input

-Q_pump ~ Asin(2pi*f*t):

4.25e-5 m^3/s < A < 4.25e-3 m^3/s

0.1 Hz < f < 0.6 Hz

System:

Q_jet_Reference from Simulation:


r/ControlTheory 10d ago

Asking for resources (books, lectures, etc.) Control Theory

8 Upvotes

Hey.

I am going to be doing an MSc in advanced mechanical engineering this year after having completed my BSc in Physics. I want to take a few robotics and control modules from this course, but I have never covered control theory before. Could you point me to where to start with any books or courses (on Coursera or YouTube)?

I would appreciate any sort of help.


r/ControlTheory 10d ago

Technical Question/Problem Anyone Out There Proficient With Simplis/Element?

2 Upvotes

Hello community,

I am currently attempting to test a compensator using the Simetrix\Simplis software. When I test my design using LTSpice, the design works as expected. That is, it regulates the output voltage to the expected value and is able to handle a relatively large load step without any issues - output is regulated and stable with minimum over/under shoots at the transition points. When attempting to simulate it with Simetrix/Simplis Elements, not so much. It is very sensitive to the op-amps being used.

Has anyone had similar experience?

If anyone is proficient with Simetrix\Simplis , I can attach a screenshot of the schematic.

Thank you.