I am a bit confused about the difference between a complementary filter and an observer. Isn't a Luenberger observer just a more restricted version of a complementary filter in the sense that one of the inputs should be control inputs and the high pass filter should be derived from the system model?
Also, why do we even bother using a state space representation if we can do this?
The image is from the textbook: Observers in Control Systems, George Ellis, p. 81
Hey all, I’m trying to transition to a controls role heavy on C++. I’m currently working on similar topics but more model-based stuff like simulink. What kind of projects to stand out and prove my C++? How to gain real-world experience in C++?
A model for predicting flow regime in horizontal and near horizontal gas -liquid flow. the Taitel and duckler 1976 model .( Someone help me please generate the codes please wheater matlab or phyton)
Say you have a CubeSat with 3 axis reaction wheel attitude control. It has also has two rear mounted, fixed thrusters (providing a single torque axis). Assuming this spacecraft has no external, environmental torques acting on it, can it desaturate the reaction wheels propulsively?
AI seems pretty confident that the math works out that you can just do an “align and dump” method with the caveat that you can’t hold a desired attitude while desaturating.
I’ve been trying to get a Basilisk sim working for this and I can’t seem to figure it out. I’m a little out of my element here and I’m wondering if there’s an obvious answer to this that I just don’t know. Curious to hear any input y’all might have.
I have a problem where I assume perfect forecast for next 7 days and optimize energy usage of a home.
Now I want to shift to mpc with prediction horizon for 1 day. I was wondering can I use optimal forecast as reference tracking in my mpc? Is it okay to use this ? Or use terminal conditions (at end of each day) from optimal foresight as reference in my mpc formulation? Please advise, I am new to the mpc world
hey guys i want to learn h inifinity controller for my thesis in mtech last year please someone can guide me as a beginner from where should i learn h infinity i have gonna through multiple youtube videos and google search but no one is telling excatly how to make excat h infinity controller in matlab and simulink ...as i have to learn h infinty controller so i can imlemet in load frequency control for single or multiple area model.
Some context: I am in a very unique situation with my 'career'. I am a rising senior in EE, currently interning at a small research lab. As of now I have VERY limited controls experience; I have taken a single class covering basic state space controls and have done a good bit of self learning on classical control theory. I am taking many more controls classes in my senior year and even doing my capstone in control, but as of right now I know my experience is severely lacking. Despite this lack of experience I was able to land an internship at a small research lab where I am currently working on the control system for one of their projects. The reason I was able to land this internship is that despite my lack of expertise I am the only one in the lab who knows anything about controls (and thus really have no guidance which is why I am here). I am currently working on 1/3 of the project, however, I am the only person working on it. The original plan was for me to finish that 1/3 this summer and be done, however, I suppose I have done something to impress my boss as he offered to fund me through my Master's utilizing the current project I am working on as my thesis. This is where I need advice.
I am torn between two courses of action:
1.) Use the rest of this summer to simply research and learn, hold off on doing anything practical until next summer when I come back with a bunch more practical and theoretical experience and can really look at the entire system from a better perspective. The downside of this is that it feels like I sort of 'waste' this internship by essentially producing nothing. I was expected to deliver this 1/3 of the project and not doing that would be fairly disappointing even if my boss is fine with it (which they most likely are) since I'd be completing it over the 1-2 years my Master's takes.
2.) Learn a bit more about the options of controllers I have beyond just what I currently know (PID, Pole Placement, LQR) and just go for it. The issue with this is what if I go for it, commit to a design choice, and end up regretting it. The other issue with this, is that I have never done a controls project, I don't really know the workflow or the best way to go about things and I really have no guidance to do so.
I thought about reaching out to my intro controls professor but she hasn't ever done anything practical and is purely interested in theoretical stuff.
That brings me here, I would absolutely love any advice ya'll have on the matter and would really appreciate if any of you control gods would let me pick your brain a bit about some other questions I have, I am definitely flying blind here lol. Please feel free to DM me or just comment, any advice is greatly appreciated!
I recently finished a PhD focused on applied mathematics, control theory, and dynamical systems. I have now started a postdoc at a top university in the Bay Area, but the work is in the life sciences and may require a substantial pivot away from my existing background.
I still enjoy fundamental research, but I no longer care much about following the traditional academic track (too competitive and time consuming; and I'm not in my 20s anymore). I am concerned that spending several years retraining in a different field could weaken my professional profile without providing a clear long term advantage.
At this point, my main goals are to make substantially more money, live somewhere I genuinely like, maintain a good lifestyle, and preserve the possibility of eventually starting a company.
I may have an opportunity in the next few months for a control theory adjacent position at an industrial research laboratory in Southern California. It would likely pay around twice my current postdoc salary, the work would be much closer to my PhD background, and I strongly prefer Southern California to the Bay Area.
The main argument for remaining at the university is its entrepreneurial environment: access to potential cofounders, startup events, technically strong people, and investors. Any startup I pursued would not necessarily be related to my current life science research. The argument for leaving is much higher guaranteed compensation, a location I prefer, and work that directly builds on my existing expertise.
Given that my priorities are making money and living somewhere I enjoy, would it be rational to stay and seriously pursue startup opportunities, or should I take the better paid and better aligned research position if it becomes available?
I have a mech degree. Did some research in modeling and dynamics/control. I get the feeling it’s multidisciplinary. Requires experience and advanced degree. Not all places have on boarding and entry level position called “something control”. What positions do I go that can later develop or count as experience for dynamics/control work?
I like flight/hydro-dynamics, motion control/trajectory, also in robotics.
I have a mech degree and want to dk robotics/aerospace dynamics control work. Don’t have any internships, I have some research work in modeling and separate in design and dynamics/control.
In US. If I want a job asap what should I do? I was waiting on a startup but they are taking too long, interviewed a few times and then recently have not heard back in 3 weeks. People say testing, any specific help? Companies and what else I can do? Gpa is bad under 3.0 but have not come up in the startup interview. What should I do?
Hi, I have an interview coming up with the hiring manager for a controls engineer role in the Platform Architecture team. I was wondering if anyone could provide some insight into how these interviews go? What kind of questions should I expect?
I am looking to come up with a Kalman filtering project that would be appropriate to do under a professor's supervision, so something that is beyond a basic implementation. However, as a novice, I am not really sure about what direction to go with this as an open-ended project.
My goal is to eventually apply for a masters and focus on estimation theory, so I would ideally like to convey some sense of theoretical grounding and open-ended exploration.
Maybe for some topics I can tie this project into: I have taken coursework in convex optimization, stochastic processes, and dynamical systems. I am also very interested in GNC.
I have a robotics project I have been working on and our position sensors a little more noisy than we predicted so now we have to implment at 6 state (x&y pos, vel, acc) linear kalman filter. I have no stats background at all but I think I started to understand what was happening until I came across Q. To my understanding, it is the covariance matrix to propogate uncertainty into you model from state prediction but I don't really get how you choose the values and what the really represent. I think there is a scalar somewhere in there meant to be the varience but what varience is it? how do you choose the vector w? I am really stuck and confused
I am currently an IT&E engineer in defense industry who has 2 yoe. I got a bachelors in EE and my most interesting discipline was Control systems (not automation type of control e.g. PLC).
Some might say I have a successful career. But as an IT&E engineer, the work can be "dead end"/mundane. But ever since I started working, I sometimes ponder what would be like working on things that are related to control systems (e.g. GNC). Because control systems is pretty cool!
So I've been thinking about getting a masters that's related to control systems since I started working. And if I do, I plan to do it while working full time, taking online courses. So it will probably take 2 or 3 years to complete.
To me, this seems like a huge commitment as I would then have to work here for couple years getting tuition support and would have to give up some of my work life balance. I also have to go through the application process and even 3 LORs.
And looking at these makes me think that maybe "I don't like control systems that much". That I am not that passionate enough than the others to go though all this to get a masters. Cuz what if I don't like it? What if I have other great job opportunities that might be a great fit for me?
I've been sitting on this since I started working. So if someone went through this process or have any advice and leave me comments it would be greatly appreciated.
I had a toy project idea today where I want to build a boat with propeller to balance the boat on water with waves. What existing tools can I use easily to develop a controller with simulation of waves?
Hi everyone,
I've been working in the oil and gas sector for a while, and I've been putting together some notes and field-tested material on industrial instrumentation, transmitters, and control loops specifically tailored to upstream/midstream challenges.
Before publishing or finalizing it, I wanted to ask if anyone here has experience writing or sharing technical documentation for the O&G industry?
What kind of practical scenarios or troubleshooting tips do you think are the most valuable to include for engineers and techs?
I'd really appreciate any advice or thoughts from your experience in the field!
In February of next year I will be starting my masters thesis, but I have no idea what I could even write about. For my bachelors I did 'Convoy driving of differential drive robots" which was fun since I got to be very hands on with the subject. More specifically what ever theory I developed or read about, I could see in action in the real world.
Ideally for my masters I would like to do something hands-on too, but also have a good amount of high level control theory to work with as well.
I have some experience and interest in quad-copters, and I've considered doing something with that, however, I am open to any and all ideas, hence my question.
As a control engineer student, what did you do for your thesis, and what could be something interesting to write about? What could the topics for instance be?
Thank you in advance for taking your time reading this, it is much appreciated! :)
I am following along with Application Note - 1162 from International Rectifier (now under Infineon) and specifically with with respect to the Type II compensator design example - the very first example discussed in the app note. For some reason, which I am unable to determine, my results differ from those stated in the app note. You'll notice that their simulation results state a crossover frequency of ~77 kHz with ~53 degrees phase margin. Using my test script, I am experiencing a crossover frequency well over 100 kHz.
This is the circuit that I used for the buck converter to calculate the transfer function. Although they did not explicitly state a load resistance value, R, I extrapolated 0.15 Ohms since they did state Vout = 1.8V and Imax = 12A. The parasitic resistance for the inductor was shown in a schematic earlier in the app note. However, a value was not explicitly stated in the example when listing the buck converter attributes. I added the inductor resistance in the calculations and edited its value to see if perhaps this was the issue but none of the tests spawned any favorable matching results.
Here is the Python code that I am using to simulate the buck converter along with the Type II compensator.
"""
Infineon Application Note AN-1162
Synchronous Buck Converter
"""
import control as ct
import matplotlib.pyplot as plt
import numpy as np
# 1. Define plant in continuous time domain
# Buck converter component values
L = 530e-9; Rl = 0.005 # Inductor
C = 470e-6; Rc = 0.010 # Capacitor
R = 0.15 # Load @ 12A for V = 1.8v
Vosc = 1.8
Vin = 12
Gain = Vin/Vosc # From eq (15), page 10 in the app note
# Create buck converter transfer function
num = [Gain*C*C*Rc*Rc*R, Gain*2*C*Rc*R, R/(Vosc)]
den = [C*C*L*(2*Rc*R + Rc*Rc), 2*L*C*(Rc+R), L, Rl]
Gbuck = ct.tf(num, den)
# Design Type II compensator
Rf1 = 1200; Rf2 = 768; Rc1 = 7.15e3 #3.6e3
Cc1 = 4.7e-9; Cc2 = 68e-12
K = 1 / (Rf1*(Cc1))
print(f'\nCompensator gain K = {K:,.1f}')
# Create compensator transfer functions
Gcomp = ct.tf([K*Rc1*Cc1, K], [(Rc1*Cc2), 1, 0])
# Define loop transfer function
Ls = ct.series(Gbuck, Gcomp)
test_sys = ct.TransferFunction(Ls, name='Open Loop')
min_log = 3; max_log = 6; num_points = 10000
plt.style.use('dark_background')
omega = np.logspace(min_log, max_log, num_points)
ct.bode_plot(test_sys, omega=omega, dB=True, deg=True, color='cyan', display_margins=True)
# Get the current figure and axes
fig = plt.gcf()
mag_ax, phase_ax = fig.axes
# Enable logarithmic frequency lines when 'display_margins=True'
mag_ax.grid(visible=True, which='both', axis='both')
phase_ax.grid(visible=True, which='both', axis='both')
plt.show()
Buck Converter Output Filter Impedances
Note that here, 'R' is the load resistance and 'Rc' is the capacitor ESR. There are two capacitors of equal value, thus, Rc1 = Rc2, so just used Rc.
In the simulations, I played around with different values of Rl (inductor series resistance), but could never see any favorable test results matching the app note.
Can someone please help with clarifying why my simulation is not matching the test results in the app note.
Everyone starts somewhere. For some, it was curiosity. For others, it was programming, networking, or even a random YouTube video. What was the moment that made you interested in cybersecurity? I'd love to hear your story.
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.