/r/ControlTheory

Welcome to r/ControlTheory

Link to Subreddit wiki for useful resources

Official Discord : https://discord.gg/CEF3n5g

**Related Subreddits:**

- /r/ElectricalEngineering
- /r/ProcessControl
- /r/PLC
- /r/OutofControls - ControlTheory Memes

/r/ControlTheory

1

In smc control law can be designed as u = u^(discontinuous) or u = u^(discontinuous) + u^(equivalent) .

For a pure discontinuous control law of the form u = -k*sign(s), on the sliding surface s = 0, what is the value of the control u? Since, u = -k*sign(0) is u zero?

And how does the concept of equivalent control fit in? I understand equivalent control is a theoretical concept and it is ideally the control required to maintain the sliding motion and help to form reduced order dynamics for stability study, however it is not implementable (but can be estimated).

So kindly explain me what will be u, u^(discontinuous) and u^(equivalent) for the case when u = u^(discontinuous) + u^(equivalent) ( i.e. u = ContinuousFunction - k*sign(s) ) and when only u = u^(discontinuous) ( i.e. u = -k*sign(s) ) when s = 0.

3 Comments

2024/06/22

02:31 UTC

02:31 UTC

6

I hear from people that differential flatness only makes sense for dynamic objects. I would like to know the reason why it does not make sense for quasi-static motion ?

4 Comments

2024/06/21

12:41 UTC

12:41 UTC

46

hey everyone,

we all love controls but i was curious about this question. :)

excited to hear your thoughts.

21 Comments

2024/06/20

15:31 UTC

15:31 UTC

6

Hi all,

I am a PhD student in the topic of scene understanding in robotics. Because my research involves integrating a scene representation in the control loop of a robot, I "fell" into the local minima of needing to be more knowledgeable about modern control in general.

I have experience with the fundamentals of control (PID, transfer functions, etc.) but not that much with more modern control strategies.

Does anyone here have any recommendations on books or perhaps on online courses?

Thanks in advance! and please let me know if my post is too poor in detail so I can repost with more stuff

6 Comments

2024/06/20

04:55 UTC

04:55 UTC

2

In my assignment (first time doing this) I had to derive the equations using the Euler-Lagrange method and then first simulate the linearized system in MATLAB via state varibles (state-space representation), followed by adding a LQR controller which can be seen in the code:

m=0.1;

M=0.5;

l=0.8;

r=0.015;

I=M*l^2/12;

J=2/5*m*r^2;

g=9.81;

b1=0.1;

b2=0.7;

a22=-b2/(J/r^2+m);

a23=-(m*g)/(J/r^2+m);

a24=-(m*r*b1)/((J/r^2+m)*I);

a44=-b1/I;

b21=m*r/((J/r^2+m)*I);

b41=1/I;

A=[0 1 0 0 ; 0 a22 a23 a24 ; 0 0 0 1 ; 0 0 0 a44];

B=[0 ; b21 ; 0 ; b41];

C=[1 0 0 0 ; 0 0 1 0];

D=[0 ; 0];

q1=(1/0.4)^2; % Bryson's rule

q2=(1/1)^2;

q3=(1/0.3)^2;

q4=(1/1)^2;

Q=diag([q1,q2,q3,q4]);

R=1;

K=lqr(A,B,Q,R)

Ac = A - B*K;

Cc = C - D*K;

t = 0:0.01:10;

u = 0.15*ones(size(t));

x0 = [0.1; 0; 0.3; 0];

[y, x] = lsim(Ac, B, Cc, D, u, t, x0);

figure(1)

subplot(2,1,1)

plot(t, x(:,1), 'r')

xlabel('t(s)')

ylabel('x (m)')

legend('beam')

subplot(2,1,2)

plot(t, x(:,3), 'b')

title('With regulator')

xlabel('t(s)')

ylabel('\theta (rad)')

legend('ball')

[y1, x1] = lsim(A, B, C, D, u, t, x0);

figure(2)

subplot(2,1,1)

plot(t, x1(:,1), 'r')

xlabel('t(s)')

ylabel('x (m)')

legend('ball')

subplot(2,1,2)

plot(t, x1(:,3), 'b')

title('Without regulator')

xlabel('t(s)')

ylabel('\theta (rad)')

legend('beam')

I'd be grateful if anyone could check this. After that I have to simulate the non-linear model in Simulink and this is where I encountered problems. I put the block-diagram below but it gives the following error: Error in 'nelinearnimodel_wip/theta_ddot'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported. In the Fcn functions I put the function for the second derivative of x and theta.

1 Comment

2024/06/19

19:16 UTC

19:16 UTC

0

Sorry for the bad image but im in a dilemma because i find multiple answers. So the thing is that the this exam question is about discreet signal where i need to find its initial and final value. The thing is that when i started calculating i got the results. But after i was scrolling trough some lessons i saw that my nulls cant be greater then my polls (which is logic but then again i wasnt looking at what im doing).

1 Comment

2024/06/18

16:42 UTC

16:42 UTC

6

so for context, I am a CS major and somehow took this course with zero knowledge in this field, can anyone help to explain:

- how the Z transformation process is done to produce that result
- what is (1-e^-TsS)/S ?

i would be glad if someone can recommend me a source that teach about Z transformation from Laplacian (the equation that has s). And sorry in advance if this is not part of the control theory, because tbh I don't really know

4 Comments

2024/06/18

09:49 UTC

09:49 UTC

3

Hello! I would like to test whether or not this signal is causal. Since the even part of x(n)=1\2(x(n)+x(-n)) I simply apply this to our signal, the second term therefore is x(-n+1). Now if I try y(-5) the second term will be x(6) which is a future input, hence the condition for causality is not met, because the output of any n may only produce present and past inputs (and not future inputs). The solutions however say that this is a causal signal. And I’m hoping that’s that false.

1 Comment

2024/06/17

21:23 UTC

21:23 UTC

4

Currently I'm trying to teach myself how to use quaternions to describe the orientation of a rocket to be used to calculate error for a PID controller. As there is no roll control, this would need to describe a rotation without roll. Say q is the desired orientation, k is the current orientation, and p is the error.

I know basic information about them, and that this can be represented via q=p * k * p^-1. However, aren't there an infinite number of ps that could be used to rotate from k to q? How can I find the shortest or "best" one? and how can I make sure this error term does not describe roll?

A paper (see 7.1 in https://github.com/Zentrik/TVC/blob/master/Paper/Paper.pdf) describes how this can be done, but I'm having trouble understanding it. Could someone help me try to understand it or point me in the right direction?

13 Comments

2024/06/17

19:48 UTC

19:48 UTC

2

Hello Everyone,

I’m working on this pressure control system to keep a pipeline pressurized. I’ve got five pumps that switch on and off, adjusting the pump speed to provide eought product to keep the pressure constant.

There’s a Pressure Control connected to a Fanout that splits the signal to the pumps.

The pressure control it is working fine.

I’ve tagged the pressure control as A10PC167A and the fanout as A10PX167A.

My question is about the tag names I´m using for the Fanout according to ISA5.1 standards.

To use PX to refer to the FANOUT / Split Range is accordance with the standard ISA 5.1 or is there a better option?

Any tips, suggestions or experience are welcome!

This was done in Experion PKS from Honeywell.

5 Comments

2024/06/17

18:54 UTC

18:54 UTC

17

I'm a recent Systems and Control Masters grad. We learnt about MPC in the last semester of my last year, and it was one of the most interesting things I've studied. I was also OK at the maths, not top of the class, but I could do it. After graduating, I went into a role where I used practically zero of my engineering background, let alone anything control theory. I want to go into using MPC for complex systems, ideally in a role which requires a combination of the following - dynamic systems, system ID, and MPC. Maybe even some MBSE. These are the domains I want to get 'good' at.

Here are my questions:

What industries should I look into?

What countries may have more roles related to this?

Should I get a PhD, and if so, from where (country/uni)?

I have looked up answers to these already, but I'm curious as to what those further down the line have to say.

34 Comments

2024/06/17

10:31 UTC

10:31 UTC

5

Hello people. I want to show that a signal is periodic, i.e that x(t)=x(t+T). I don’t quite understand the solution (the grey box), I know that cosx = 1/2(e^(jx)+e^(-jx)), but they seem to use the formula for that of sinx instead, except that there’s a j missing in the denominator. Also, once they square the expression, there’s a -2 missing, which follows from (a-b)^2=a^2-2ab+b^2, why isn’t that included?

2 Comments

2024/06/16

14:56 UTC

14:56 UTC

1

Hello. I want to transform xn to x3n. Solution seems strange, I doesn’t make sense.

3 Comments

2024/06/14

16:14 UTC

16:14 UTC

5

Hi Everyone,

As part of my master thesis I have been developing an inceptor implementation (outer loop control) for an eVTOL aircraft.

Right now I'm defining the inceptor implementation. For example, how the the longitudinal channel input should define a translational rate. More specifically how can this be made in an intuitive way for the pilot. Should this translational rate be in the heading direction? Should the controller reject wind-gusts, and how can this be still intuitive for the pilot.

Mostly I'm looking into paper recommendations on how this is implemented in helicopters with automatic control, to have a better understanding of it.

Thank you for any help in advance!

1 Comment

2024/06/14

15:38 UTC

15:38 UTC

10

Hi,

I'm trying to validate by means of Matlab simulation the values obtained in P Matrix from the solution of the continuous riccati equation of the Kalman bucy filter.

I've used the following command to obtain the filter gains:

Lqe(A,B,Q,R)

As solution I obtained gains L and covariance matrix P.

After this I used one augmented system with the system and the observer. As input I put a discrete-time random vector for the process noise with Q covariance. The same with the measurement noise with R covariance.

However when I simulate the system and got covariance matrix Pexp from the estimation error it not converges to the P matrix from riccati.

I was expecting the convergence. But in prectice both values are equal only if I multiply the P matrix with Ts.

Why the solutions are not equal?

My code is below:

clear close all clc

% System

A = [-10 -20;35 -50]; B = [1; 1;]; C = [1 0]; D = 0;

Fs = 50000; % Frequency Ts = 1/Fs; % t = 0:Ts:10; L = length(t);

W = [20 0;0 10]; V = 1;

rng(10,'twister');

w = chol(W, 'lower')*randn(2,L); v = chol(V, 'lower')*randn(1,L);

mw = mean(w,2); mv = mean(v);

v = v - mean(v)*ones(1,length(v)); w = w - mw.*ones(2,length(v));

cov_w = cov(w'); cov_v = cov(v);

[Lk,P] = lqe(A,eye(2),C,W,V);

% Augmented system with plant and Kalman filter

Aak = [A zeros(2,2); Lk*C A-Lk*C];
Bak = [B eye(2) zeros(2,1); B zeros(2,2) Lk];

sys_obs_mak = ss(Aak,Bak,eye(4),0);

u(1,:) = 1*heaviside(t);

[yk,t,xk] = lsim(sys_obs_mak,[u' w' v'],t,[0 0 0 0]); % Simulation

erro = xk(:,1:2)-xk(:,3:4);

cov_erro_lsim = cov(erro)

PTs = P*Ts

P

6 Comments

2024/06/14

01:17 UTC

01:17 UTC

9

Hello everyone,

I’m considering a PhD focused on visual servoing for robotic control in Germany and would love to get your insights on the future potential of this field.

I want to ensure I am not overly confining myself in the future. I like every component in the research but I am worried about how applicable it might be career wise.

I’m particularly interested in understanding:

How significant is visual servoing expected to be in future research and industrial applications?

How is the job market shaping up for researchers specializing in this area?

I would really appreciate any insights, experiences, or references.

Thank you!

3 Comments

2024/06/14

00:11 UTC

00:11 UTC

0

Hello.I want to solve this problem, but I have a couple of questions. First of Dirac delta in continuous time is defined as infinitely large and thin, so why is it that when we multiply by x(t) the product doesn’t also become infinitely large? My second question is why we get that the product is +1/2 for both terms and not -1/2 like? Thanks!

1 Comment

2024/06/13

22:40 UTC

22:40 UTC

2

Does anyone have an expertise in per unit systems? I thought i understood it pretty good but i am totally missing the reason of the per unit conversion of lets say L*((d*i)/(d*t)) leas to (1/w_b)*L_pu*((d*i_pu)/(dt)). Maybe someone can help me with this seemingly easy question :)

4 Comments

2024/06/13

17:12 UTC

17:12 UTC

7

I am currently working on a project where I am designing and simulating a MEUR (Moment Exchange Unicycle Robot) using Simulink. I currently have a working PID controller that can stabilize along the pitch direction as well as a position controller that can displace the bot to a given reference position. Both of the controllers work independently, however, I would like to combine them together to have a cascaded control, where the position controller provides the pitch controller with a reference angle based on the prescribed displacement.

When I combine both controllers, the bot is not able to stabilize or follow the reference displacement. I assume this is a tuning problem, however my attempts at doing so haven't been successful. I wanted to get some insight into whether anyone has any suggestions. I have attached images of my Simulink model, bode plot, and step response. If there are any additional details that you guys may need please let me know. I am a bit new to control theory so please do excuse any oversight I may have had :)

0 Comments

2024/06/13

14:55 UTC

14:55 UTC

7

Hello,

I have an experimental setup with two connected chambers:

- One chamber simulates the outside climate.
- The other chamber represents the room to be heated.

- An electric heater is installed in the chamber representing the room to be heated.
- The outside climate chamber is kept at a fixed temperature.

- Temperature changes in the center of the heated room.
- The on/off status of the electric heater.
- The temperature of the outside climate.

I want to create a model using the experimental data. I'm using Matlab and Python. I tried the system identification toolbox without any success for the moment.

What is the best approach to create the model?

5 Comments

2024/06/12

07:48 UTC

07:48 UTC

13

Hey all,

Mechanical engineer here. I've got some grad work in control systems so I'm not a complete noob, but I definitely don't do this every day. Hoping you guys can help since I feel like I'm currently very inefficient in my searching.

I've got data stored in numpy arrays for both the input and output of a system. The input is an impulse generated with an instrumented impulse hammer. The output is from a sensor.

I'm trying to calculate the transfer function of the sensor so I can perform error compensation on a highly dynamic input. So far, I've been working with sympy, but I'm having trouble identifying the correct methods and tools for calculating my final result. I'm finding sympy to not be very intuitive either. I have more experience doing this stuff with Matlab, which might be why.

I prefer python, but I also have access to matlab if needed. If any of you have advice for me, it would be much appreciated!

20 Comments

2024/06/11

17:58 UTC

17:58 UTC

18

Hi fellow Controls enthusiasts,

I am starting a new job as a controls engineer. My previous roles were all on the modeling and simulation side of things, even though my masters was in Controls.

So, admittedly, I am a bit rusty. What are some good books y’all recommend to get back up to speed fast, for a controls practitioner?

Thanks!

7 Comments

2024/06/11

03:51 UTC

03:51 UTC

8

Hi everyone,

I'm having a tough time choosing which master’s degree to pursue. I just completed my bachelor's degree in automation this year, and now I'm planning to continue with a master’s. However, I'm torn between two majors.

The first major is called "Automatique et Système," which I believe is equivalent to Control Systems Engineering. This program is more theoretical and includes courses such as:

- Multivariable Linear Systems
- Signal Processing
- Converter-Machine Association
- Optimization
- Identification Techniques
- Nonlinear Systems
- Optimal Control
- Applied Electronics
- PLC and Monitoring
- Graphical Programming Concepts and Language
- Predictive and Adaptive Control
- Smart Control
- Systems Diagnostics
- Control of Handling Robots
- Real-time Systems

Additionally, it offers courses on programmable logic circuits and VHDL language, but these are more like introductory or overview courses, also to keep in mind it does not offer as robust PLC programming curriculum as the next one, although it is still decent

On the other hand, there is "Automatisme Industrie et Process," which is equivalent to Industrial Automation or Process Automation. This program is more practical and includes more lab work. The courses include:

- Industrial Process Automation 1
- Power Electronics for Industry
- Regulation in Industry
- Transduction Techniques in an Industrial Environment
- Industrial Process Automation 2
- Industrial Networks and Buses
- Advanced API Programming
- Control of Industrial Actuators
- CAD Tools
- Introduction to Artificial Intelligence
- Diagnosis of Industrial Systems
- Diagnostic Methods
- Industrial Maintenance
- Industrial Security in the Company
- Industrial Systems Monitoring

Like the first major, it also has overview courses such as Advanced System Control, which covers topics like:

- Introduction to Artificial Intelligence
- Concept of Intelligent Agent
- Fuzzy Logic, Inference, and Expert Systems
- Neural Networks
- Genetic Algorithms
- Optimization Algorithms

As for my interests, I live in a country where the research field is not well-developed or appreciated, so I’m leaning more towards the second option. However, I am also interested in control theory. My concern is that my lack of theoretical knowledge in control systems might affect my career in the future, potentially limiting my opportunities or preventing me from advancing, especially in industries like automotive or aerospace where strong theoretical knowledge is essential.

Any advice or insights would be greatly appreciated!

Thanks in advance!

9 Comments

2024/06/10

23:15 UTC

23:15 UTC

18

Hi Everyone,

I’m looking for any textbook recommendations for Spacecraft and Strategic Navigation and Tracking Algorithms in general. I’ve read Optimal Estimation of Dynamic Systems and Fundamentals of ADCS by John Crassidis and Principles of GNSS by Paul Groves. I loved all three of those books. Thanks for any recommendations!

6 Comments

2024/06/10

20:04 UTC

20:04 UTC

16

I received BS degrees in Physics and Electrical Engineering specializing in control theory.

I really enjoyed my course work in control theory and dynamical systems.

Now I have been out of school for three years and have worked industrial control and automation and power utility space.

Most of my experience consist of programming logic on PLCs and RTU, networking, and HMI design. I have not touched control theory in my jobs and I miss it.

Long term, I would like to stay in power utility space, but I am not sure where to go to get more into control theory in a power utility space. I currently work with RTUs and the SCADA systems at a power utility and from this perspective I know of interesting problems involving voltage control and stability, distributed generation, state estimation, and etc, but I do not get to work on them. Alot of interesting work is contracted out or they purchase product.

What do I need to advance in my career power utility industry where I work with control theory?

I am open to going back to school for a Masters or Phd.

What are good universities that special in power system theory and controls?

What are some companies that specialize in state estimation, power system modeling, and/or power system controls?

I have worked with or used products by: SEL, MEPPI,OSI

What are some jobs titles I should search for ?

3 Comments

2024/06/10

02:54 UTC

02:54 UTC