Rocket PID/.idea/.gitignore # Default ignored files /shelf/ /workspace.xml Rocket PID/.idea/inspectionProfiles/profiles_settings.xml Rocket PID/.idea/inspectionProfiles/Project_Default.xml Rocket...

In pdf


Rocket PID/.idea/.gitignore # Default ignored files /shelf/ /workspace.xml Rocket PID/.idea/inspectionProfiles/profiles_settings.xml Rocket PID/.idea/inspectionProfiles/Project_Default.xml Rocket PID/.idea/misc.xml Rocket PID/.idea/modules.xml Rocket PID/.idea/Rocket PID.iml Rocket PID/.idea/workspace.xml 1602343612725 1602343612725 file://$PROJECT_DIR$/RocketPIDStudent_submission.py 51 Rocket PID/cs7638-rocket-pid.pdf CS 7638 - AI for Robotics - Mini Project: PID Fall 2020 - Deadline: Monday October 19, Midnight AOE (7am EST) Introduction This projects involves creating a Proportional-Integral-Derivative (PID) controller that: * maintains a simulated turbo pump * controls a rocket’s thrust Project Description The goal of Rocket PID is to give you more practice implementing your own Proportional-Integral-Derivative Controller that you learned about from the PID lesson. The main objective of this project is to write your own PID controllers to solve certain problems that are more easily solved using such controllers. The project is split into three sections, Part A, Part B and Part C. It is suggested that you use a PD controller to solve Part A and a PID controller to solve parts B and C but any approach that can solve the student testing suite will be accepted. You may also use Twiddle to find an optimal solution, but it is not required. This project requires the SciPy library and can display a graph using turtle or optionally the Matplotlib library. PART A: A liquid rocket engine requires precise control of the pressure for the feed system of liquid oxidizer and fuel into the engine turbopumps. A failure of engine turbopumps to supply the pressure to meet feed demands of the engine could force an abort of the launch or a disaster after liftoff. The main purpose of Part A will be to solve the problem of maintaining the fuel mixture pressure supplied by the rocket’s turbopumps. In order for the rocket to leave the launchpad, the pumps must be pressurized up to their max required level as quickly as possible. Once there, the pressure must be maintained for the duration of the launch. Therefore, the goal will be to create a simple PD based controller that can make adjustments to the pump’s output in order to meet pressure demands. Your pressure tank starts initially at a level of 10 units. A constant consumption rate of 5 units is applied during this entire test (i.e. consumption does not change over any operating conditions and the system is always losing 5.0 units per time step). This over two time steps, the pressure level will fall to zero and if the pressure continues to fall below zero, you will fail the test. To counteract this, you have control of a pressure feed that supplies or removes pressure from the system. Your pressure feed initially starts at zero but you can adjust the flow from the feed system in increments of +/- 1.0 pressure unit per time step. Thus, after three time steps of adjusting your pressure feed by +1.0 units, your pressure feed would be supplying +3.0 units of pressure to the system per time step. A final constraint on your feed system is that it is only capable of a maximum rate of change in system pressure of +/- 10.0 pressure units per time step. Overall, 1 this dynamic between a constant consumption and your feed system results in your controller being capable of altering the system pressure in the range of -15.0 to +5.0 units of pressure per time step. For example, if the current system pressure was 95 and your feed system was supplying 10.0 units per time step, the overall system pressure change would be from 95 to 100 in the next time step. Thus, it is impossible to increase the pressure more than 5.0 units or to fall by more than 15.0 units in a single time step. However, if the turbopump current pressure goes below 0 or above 105, it will result in damage to the engines and failure of the test. For Part A complete the “pressure_pd_solution” in RocketPIDStu- dent_submission.py. To test your pressure PD controller, see the “test_running_pumps” test case located in “RocketPID_tester.py. PART B: The second part of the assignment is a slightly more difficult adaption of the PID controller for controlling a rocket launch and reentry. It requires your controller be able to control the output of rocket engines on a simulated rocket ship such that it is able to successfully maintain two specific velocity profiles through different atmospheric flight regimes as parameters such as thrust, weight, and air drag change over the time of flight. You will be given an evaluation file that you can use to determine how well your PID solution and parameters are working. The controller can only operate the throttle on the rocket’s engines in a range of [0,1] and the rocket engine only pushes the rocket upwards (i.e. only gravity pulls the rocket downward). When enough throttle is applied, the rocket will “liftoff” and continue to ascend until it runs out of fuel or “lands”. The flight plan is set in the Test Cases.
Oct 14, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here