User Tools

Site Tools


ece6554:project_ductedfan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ece6554:project_ductedfan [2022/04/23 17:26] – [References] pvelaece6554:project_ductedfan [2023/03/20 19:22] (current) – [Implementation] classes
Line 51: Line 51:
 The thrust vector angle range should be $\psi \in [-\pi/3, \pi/3]$. Make sure to implement these limits in the simulation.  It is best to design trajectories that do not hit these limits in the closed-loop. More aggressive trajectories is best saved for future self-study. The thrust vector angle range should be $\psi \in [-\pi/3, \pi/3]$. Make sure to implement these limits in the simulation.  It is best to design trajectories that do not hit these limits in the closed-loop. More aggressive trajectories is best saved for future self-study.
  
 +===== Implementation =====
 +
 +Functional code stubs for the implementation are provided in the {{ ECE6554:projects:ductedfan.zip | ducted fan zipfile}}.  They implement a constant control signal that most definitely fails to do the job, but provide enough structure to complete the project.  Comments in the code should help to realize the necessary improvements.
 ====== Activities ======= ====== Activities =======
 ----------------------- -----------------------
Line 71: Line 74:
 **Considerations:** When the model parameters are unknown, that influences the baseline control $u_0$.  Since the baseline control is a constant, it is possible to adapt the parameter as a form of structured uncertainty. Treating the $\Phi(x)$ function to have the constant bias term $1$, the baseline control $u_0$ can be adapted online to recover its value.  Doing so will improve the performance of the linear DMRAC controller. It is highly recommended to add this term. Otherwise, the adaptive gains will increase to large values in order to compensate for the constant gravity term that was incorrectly "cancelled." **Considerations:** When the model parameters are unknown, that influences the baseline control $u_0$.  Since the baseline control is a constant, it is possible to adapt the parameter as a form of structured uncertainty. Treating the $\Phi(x)$ function to have the constant bias term $1$, the baseline control $u_0$ can be adapted online to recover its value.  Doing so will improve the performance of the linear DMRAC controller. It is highly recommended to add this term. Otherwise, the adaptive gains will increase to large values in order to compensate for the constant gravity term that was incorrectly "cancelled."
  
-Likewise, for better tracking some feedforward term can be added that looks a lot like a reference signal. The feedforward term to add is the acceleration needed to track the desired height of the birotor. It is recovered from the second derivative of the desired height (the $y$ coordinate). Adding this term will remove some of the gain/phase differences between the desired trajectory and the model reference trajectory, which means that the birotor will better track the desired trajectory.  This feedforward term can have an adaptive effectiveness gain that is tuned during online operation. It's not necessary, but you'll find that it enhances performance.+Likewise, for better tracking some feedforward term can be added that looks a lot like a reference signal. The feedforward term to add is the acceleration needed to track the desired height of the ducted fan. It is recovered from the second derivative of the desired height (the $y$ coordinate). Adding this term will remove some of the gain/phase differences between the desired trajectory and the model reference trajectory, which means that the ducted fan will better track the desired trajectory.  This feedforward term can have an adaptive effectiveness gain that is tuned during online operation. It's not necessary to add this feedforward term, but you'll find that it enhances performance.
  
 ===== Step 2: Nonlinear Controller ===== ===== Step 2: Nonlinear Controller =====
  
-Rearrange the equations to see if they can be put into a form that looks more like a linear system plus a non-linear defect. Design a controller with nonlinear cancelling terms.  Can they all be cancelled or are there constraints on what can be done? How were those constraints, if any, managed by you, the designer? Repeat the same procedure with parameter mismatch and demonstrate improved performance relative to the static nonlinear controller design.+Rearrange the equations to see if they can be put into a form that looks more like a linear system plus a non-linear defect. Design a controller with nonlinear cancelling terms.  Can they all be cancelled or are there constraints on what can be done? How were those constraints, if any, managed by you, the designer?  
 +Compare this controller with the purely linear approach and quantify performance differences if any. Do not consider parameter mismatch, just solve this as a standard control problem.
  
 //Tip:// The ducted fan is similar to the bi-rotor but has the added challenge of being non-minimum phase. The same transformation of state described in the bi-rotor project should apply to the ducted fan.  You can use it as one approach to creating an adaptive controller for the nonlinear system. //Tip:// The ducted fan is similar to the bi-rotor but has the added challenge of being non-minimum phase. The same transformation of state described in the bi-rotor project should apply to the ducted fan.  You can use it as one approach to creating an adaptive controller for the nonlinear system.
  
-===== Step 3: Not Sure Yet =====+===== Step 3: Nonlinear Controller with Adaptation =====
  
-**Only Steps 1+2 are to be done.**+Now consider parameter mismatch and augment the nonlinear controller to be an adaptive one.  Repeat the same procedure as for Step 1 with parameter mismatch and demonstrate improved performance relative to the static nonlinear controller design.  If possible, compare performance of linear vs nonlinear adaptive controllers (best to quantify) 
  
-==== Nonlinear Control Lyapunov Approach, the PWMN Controller ====+//Note:// One thing to be careful about is the initial transient experienced by the adaptive controllers.  When comparing, it is usually best to separate the transient time period from the non-transient period. Also, one could argue that the most important comparison is with the repeated run since that would be the normal use case for an adaptive controller. Thuslimiting comparison to the repeat run outcomes is acceptable and may even be preferred for simplicity of data collected and analyzed.
  
-==== Performance Reference Adaptive Control ===== 
  
 ====== Report Considerations ======= ====== Report Considerations =======
Line 95: Line 98:
 Just like in homeworks, attention should be paid to highlighting how the static controller fails to perform under incorrect parameters estimates. Otherwise, the Final Deliverable assignment item should cover what's needed.  Just like in homeworks, attention should be paid to highlighting how the static controller fails to perform under incorrect parameters estimates. Otherwise, the Final Deliverable assignment item should cover what's needed. 
  
 +When possible, try to stick to canonical control forms.  What's the simplest way of providing the equations? Writing it all out coordinate-wise is not sensible; in fact almost all of the time it is the worst thing that can be done since it will hide any underlying structure or geometry and not necessarily be any more informative.
  
 ====== References ======= ====== References =======
ece6554/project_ductedfan.1650749195.txt.gz · Last modified: 2023/03/06 10:31 (external edit)