= Advanced Software Training 2018 == PID Control * [https://www.simbotics.org/files/pdf/programming-pid.pdf Overview] (Start here) * [https://tutorial.cytron.io/2012/06/22/pid-for-embedded-design/ PID Tutorial] - great practical intro (even though it's in C) * [https://frc-pdr.readthedocs.io/en/latest/control/pid_control.html PRD PID Tutorial] - more advanced * [https://en.wikipedia.org/wiki/PID_controller Wikipedia] covers PID very well and in depth * [https://frc-pdr.readthedocs.io/en/latest/control/using_WPILIB%27s_pid_controller.html WPILib PID Class] * [https://wpilib.screenstepslive.com/s/currentCS/m/java/l/599736-pidsubsystems-for-built-in-pid-control ScreenStepsLive PID Subsystems] * [https://wpilib.screenstepslive.com/s/currentCS/m/shuffleboard/l/831044-testing-and-tuning-pid-loops ScreenStepsLive PID Testing/Tuning] == Machine Vision * Vision Processing with Raspberry Pi: see [https://docs.wpilib.org/en/stable/docs/software/vision-processing/raspberry-pi/ FRC Docs] * The Easy Way: [wiki:ControlSystems/SoftwareTeam/Training/AdvancedTraining/FRCVision FRCVision] * Spartan Robotics [https://www.youtube.com/playlist?list=PL-u0oNZBsNMZeG8teDHU6vBZb4_1h0H-u FRC Vision Processing Video Tutorials] * The Hard Way: * [wiki:PiSetup 1. Raspberry Pi 3 Setup] * [wiki:RPiOverview What the hell is a Raspberry Pi?] * [wiki:OpenCVPiSetup 1.5 OpenCV Setup on RPi 3] * [wiki:RaspberryPiCamera 2. Raspberry Pi 3 Camera] ---- == Lead Notes * [wiki:MachineVisionIntroduction Machine Vision Introduction] * [http://wpilib.screenstepslive.com/s/4485/m/24194/l/682117-strategies-for-vision-programming ScreenStepsLive on Vision] * [http://wpilib.screenstepslive.com/s/4485/m/24194/l/479908-reading-array-values-published-by-networktables Using Network Tables]