{"version":1,"pages":[{"id":"BGywWughZ8u1bU48rafk","title":"CTRL ALT FTC","pathname":"/","siteSpaceId":"sitesp_DjLFi","description":"FIRST Tech Challenge Team #22377 The Sigmacorns presents CTRL ALT FTC — the most comprehensive Control Theory guide for *FIRST* Tech Challenge Teams."},{"id":"-MXxJsTsX5hIAFcaIrsA","title":"Why Control Theory is A Must Have","pathname":"/introduction-to-controls","siteSpaceId":"sitesp_DjLFi","description":"What are control systems, and why do we use them?"},{"id":"-MXn09x57UZ0LA_PWepZ","title":"Introduction to Open Loop Control","pathname":"/introduction-to-open-loop-control","siteSpaceId":"sitesp_DjLFi","description":"Introduction to open loop control in FTC"},{"id":"-MXn0DGNeQdmSAlw0c_l","title":"Introduction to Closed Loop Control","pathname":"/introduction-to-closed-loop-control","siteSpaceId":"sitesp_DjLFi","description":"Introduction to feedback control in FTC"},{"id":"-MXn0HmHXdGmvReAfxpe","title":"The PID Controller","pathname":"/the-pid-controller","siteSpaceId":"sitesp_DjLFi","description":"From the Proportional Controller to the PID Controller."},{"id":"-MXn0RrTlh6ef3vhqASu","title":"The Proportional Term","pathname":"/the-pid-controller/the-proportional-term","siteSpaceId":"sitesp_DjLFi","description":"More information on the proportional term of t he PID Controller.","breadcrumbs":[{"label":"The PID Controller"}]},{"id":"-MXn0VX98PCCJkjPxj8C","title":"The Integral Term","pathname":"/the-pid-controller/the-integral-term","siteSpaceId":"sitesp_DjLFi","description":"Introduction to the integral term","breadcrumbs":[{"label":"The PID Controller"}]},{"id":"-MXn0XRuChdP7yHwwa4e","title":"The Derivative Term","pathname":"/the-pid-controller/the-derivative-term","siteSpaceId":"sitesp_DjLFi","description":"Introduction to the Derivative term","breadcrumbs":[{"label":"The PID Controller"}]},{"id":"-MXxDfjFO-7-M1Ce-H_m","title":"Tuning Methods of A PID Controller","pathname":"/the-pid-controller/tuning-methods-of-a-pid-controller","siteSpaceId":"sitesp_DjLFi","description":"Now that we understand the fundementals of a PID controller, how do we tune it?","breadcrumbs":[{"label":"The PID Controller"}]},{"id":"-MXxDMszO5no2wDii6kq","title":"Improvements to the PID Controller","pathname":"/the-pid-controller/practical-improvements-to-pid","siteSpaceId":"sitesp_DjLFi","description":"Discussion of methods to improve the PID controller such as anti-integral windup, low-pass filter derivative, and gain scheduling.","breadcrumbs":[{"label":"The PID Controller"}]},{"id":"-MdVxD5AoLWVAbqWiCYJ","title":"Feedforward Control","pathname":"/feedforward-control","siteSpaceId":"sitesp_DjLFi","description":"Re-opening the loop"},{"id":"-MjtRZAcWHGSEDnj3zor","title":"Full State Feedback","pathname":"/advanced/full-state-feedback","siteSpaceId":"sitesp_DjLFi","description":"A modern control theory approach to feedback control","breadcrumbs":[{"label":"Advanced"}]},{"id":"-Me3K50FWNWqOTjrlmMo","title":"The Kalman Filter","pathname":"/advanced/the-kalman-filter","siteSpaceId":"sitesp_DjLFi","description":"State observation is a crucial component of control theory but is often overlooked in FTC","breadcrumbs":[{"label":"Advanced"}]},{"id":"lo20YAoVXV4FFYNzmESa","title":"Gain Scheduling","pathname":"/advanced/gain-scheduling","siteSpaceId":"sitesp_DjLFi","description":"Some systems may fail with a simple linear controller such as PID. Let's fix that!","breadcrumbs":[{"label":"Advanced"}]},{"id":"CUyf68akkoERwPpTlymV","title":"Motion Profiling","pathname":"/advanced/motion-profiling","siteSpaceId":"sitesp_DjLFi","description":"What are motion profiles, and how can they help us in FTC?","breadcrumbs":[{"label":"Advanced"}]},{"id":"Aum2fpPyPjcXNRtpee4T","title":"SMARTDAMP Algorithm","pathname":"/advanced/smartdamp-algorithm","siteSpaceId":"sitesp_DjLFi","description":"Our custom approach to PID tuning","breadcrumbs":[{"label":"Advanced"}]},{"id":"-MYM6RqebApx65RARRQ_","title":"Extra Resources","pathname":"/continued-learning/extra-resources","siteSpaceId":"sitesp_DjLFi","description":"Extra resources to continue learning","breadcrumbs":[{"label":"Continued Learning"}]},{"id":"uPyb1c3Ei7C3HcdmP509","title":"Video Tutorials","pathname":"/continued-learning/video-tutorials","siteSpaceId":"sitesp_DjLFi","description":"A series of tutorials that will aid in your mastery of FTC Control Theory.","breadcrumbs":[{"label":"Continued Learning"}]},{"id":"hTtOrzEEtLs8Bexcl4FP","title":"Glossary","pathname":"/continued-learning/glossary","siteSpaceId":"sitesp_DjLFi","description":"Let's be real,  the nomen clature around control theory is incredibly intimidating at first; it should't be like this. Also this is not in alphabetical order lol.","breadcrumbs":[{"label":"Continued Learning"}]},{"id":"iSfiPazuKwx4lnLLHF6I","title":"FTC Motor Control","pathname":"/practical-examples/ftc-motor-control","siteSpaceId":"sitesp_DjLFi","description":"This page will help teams that may be new to FTC begin by starting with basic motor movement and then working them through the various different ways to control such a motor.","breadcrumbs":[{"label":"Practical Examples"}]},{"id":"-MkZENzUVKLeeXLHmMb-","title":"Drivetrain Control","pathname":"/practical-examples/drivetrain-control","siteSpaceId":"sitesp_DjLFi","description":"Drivetrains are arguably the most important part of a *FIRST* Tech Challenge autonomous and are crucial to get correct.","breadcrumbs":[{"label":"Practical Examples"}]},{"id":"-MYJYn0y_l6uwkU6q9x3","title":"Dealing with Angles","pathname":"/practical-examples/controlling-heading","siteSpaceId":"sitesp_DjLFi","description":"A very common use case for PID controllers in FTC is turning your robot to a desired heading. However, a few modifications are necessary.","breadcrumbs":[{"label":"Practical Examples"}]},{"id":"B3nc1WMnm67Aa0YJWvFX","title":"Roadrunner Control Explained","pathname":"/practical-examples/roadrunner-control-explained","siteSpaceId":"sitesp_DjLFi","description":"Roadrunner is a library used by many successful teams, and understanding why we utilize it in specific ways and not others is key to avoiding common pitfalls.","breadcrumbs":[{"label":"Practical Examples"}]},{"id":"-Me3KBr9LQO2Ej_Ervl8","title":"What is Homeostasis?","pathname":"/homeostasis-by-thermal-equilibrium/what-is-homeostasis","siteSpaceId":"sitesp_DjLFi","description":"Introduction to the Homestasis library by FTC #19376 Thermal Equilibrium","breadcrumbs":[{"label":"Homeostasis Library"}]},{"id":"-Me3SFJUMJBcHE8RFVBZ","title":"Installation","pathname":"/homeostasis-by-thermal-equilibrium/installation","siteSpaceId":"sitesp_DjLFi","description":"In this chapter we will detail how to install the homeostasis library","breadcrumbs":[{"label":"Homeostasis Library"}]},{"id":"ruQxMdpmbbkmY4ElnHBD","title":"Included Controllers","pathname":"/homeostasis-by-thermal-equilibrium/included-controllers","siteSpaceId":"sitesp_DjLFi","description":"Homeostasis provides a few different types of controllers, all of which with their own utility.","breadcrumbs":[{"label":"Homeostasis Library"}]},{"id":"GinEJjwfTbE8axMiexSO","title":"State Estimation and Filters","pathname":"/homeostasis-by-thermal-equilibrium/state-estimation-and-filters","siteSpaceId":"sitesp_DjLFi","description":"The utility of sensors in FTC can be improved with a variety of algorithms.","breadcrumbs":[{"label":"Homeostasis Library"}]},{"id":"R3vbMjxp7KL8FjqIpHJN","title":"Systems in Homeostasis","pathname":"/homeostasis-by-thermal-equilibrium/systems-in-homeostasis","siteSpaceId":"sitesp_DjLFi","description":"Throughout the world, systems containing many parts work together to achieve homeostasis; Our robot is no different.","breadcrumbs":[{"label":"Homeostasis Library"}]}]}