How to define a reference signal for MPC in yalmip as a value between two bounds? #1264
Replies: 3 comments 2 replies
-
Not sure what the question really is, but a problem with your setup is that you try to follow a reference, while at the same time try to have u 0. More reasonale is that you should penalize deviation from steady-state input for that particular reference value, or just changes input. |
Beta Was this translation helpful? Give feedback.
-
Many thanks for your response. In order to explain the problem more clearly, my goal is to keep the temperature of a room (x{k} in objective) in a comfortable range (e.g. 22°C to 25°C) while using the controller with the lowest u value possible. But the problem I'm having is that I cant provide MPC with a reference bound in the 22 to 25 degree range. MPC only uses one of the bounds as a reference, even when I define reference (r{k}) in constraints with an upper bound and lower bound as you can see in the code. For example, if the room temperature is 24, it will rise to 25. However, the purpose is to keep the temperature in the ideal range (22-25 degrees), NOT to keep track of any references. The URL of a related paper and the cost function that I am trying to implement is attached below. |
Beta Was this translation helpful? Give feedback.
-
I apologize for my negligence in the notation. The code and the cost function depicted in the picture both utilize the value of room temperature, denoted by x(in the code) and y(in the picture). Anyway, my question is about defining z (comfort zone, as shown in the cost function) for the objective in the code. How would you suggest doing so? |
Beta Was this translation helpful? Give feedback.
-
Hi Johan and everyone,
I am a student in Control and working with a thermal system and MPC. I need to define an area for a comfort zone in the thermal system that temperature stays within the area, but I don't know how can I. I tried to define a reference signal (r) as a constraint in code that has a lower and an upper bound (r_lowerb & r_upperb) but MPC still behaves like a reference tracking problem, it chooses the nearest bound as the reference with regard to the current temperature. So, I want to ask how can I define an area for my MPC's reference signal?
I was wondering if you can help me.
some piece of code is attached below:
Beta Was this translation helpful? Give feedback.
All reactions