Table of Contents | ||||
---|---|---|---|---|
|
Controls:
Anni + ??
Attitude Manager ??
Roadmap Planner | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Specification & Modules
Controls Module ??
Handles the control of the aircraft
Sensorfusion Module
Most of the work as the same as done by Tony, but we need to run local sensorfusion for fastest IMU updates.
(ground-side) Simulation
hopefully have some simulation done in matlab or smth?
Targets & Questions
Target 1: Stable flight in all directions
Target 2: Fancy flight in all directions
How are we localizing - how does PM know to tell us which way to go!?
do we operate under one local heading as 0 and PM handles the rest of the spinny localization?
local or global reference frame? → not high priority (but I think local is easier?)
matters for directional flight (left/right/up/down), but we dont really care about the ORIENTATION of the robot
see VRC 5225A global positioning system premilinary doc from 5225a, 5225a code release
Other Considerations:
How to handle pre-flight sensor calibration (is it triggered by user for tele-op or occurs automatically before flying?)
How to handle catastrophic failure - if the entire controller system fails to work, would we shut off all motors and let it fall? Or is there a defualt motor PWM value that can allow the drone to fall softly without damaging itself?
Timeline
development start by reading week.
Wednesday reading week → discuss how to approach this in terms of implementation
Manual controls with RAW PWM values can be done by E.O. reading week.
Implementing fancier methods later
Project Tasks
- Implement MANUAL PWM based controls for quadcopter.
- Sensorfusion for IMU data.
- Determine Controls architecture for remote control control
- Stability Simulation
- Stability Code????
- to be expanded
Meetings
October 12, 2021
Might be better to go through articles and guides.
Have somebody start something soon for raw pwm values.
Iterate later.
Alternatively use Tony’s Sensor Fusion and some PID values to keep heading.
Local reference frame updated against global frame soon.
Center sticks should hover in place, no motion.
MAP RC values to PID heading
PID → PWM values.
Anthony B
how do stick inputs translated into direction (radius, %, rate?)
Max angle determined by how the drone can fly stably.
Full stick = go that way as fast as you can.
PID auto-tunes to go as fast as you can without dropping altitude as you go.
how did he setup his pid if he used any?
Did he use matlab/simulink?
How does stabilization work.
PID sets to 0 and just keeps it there.
MAX PWM set after testing (with PID values).
Attempt testing for PID’s in waterloo.
October 7, 2021
Send E-mail to Stephen Smith Friday Oct 8th 2021 → end of day. (or early saturday).
come up with some ideas to send to him about controls
hopefully get guidance wrt our specific requirements → help us choose methods?!
Sending info to the drone as a spline (especially for autonomous flight)
→ see FRC 254 controls giving splines and not raw values (link to 254 presentation)
can fall back to raw pwm % difference if necessary
Focus on two aspects
teleop and autonomous. → both get pretty ok with vectors.
for autonomous → pm should give us a vector.
for tele-op, depending on how we handle it, calculate internally or in PM - also consider that PM is on Autopilot while Teleop and RC input will be on safety (prob best to keep teleop localized completely on safety)
PM → tell you where to go | AM → figure out how to get there without crashing
Definitely can get manual control done by end of reading week with raw pwm values.
fancier flight will have to come later.
October 5, 2021:
Start development by the end of reading week.
Meet next Thursday 7:30.
Come with ideas. Be prepared to prepare documents.
Questions and critical areas to ask the experts.
Reach out on friday.
Take weekend to look over data
Try to meet next tuesday.
Aim for reading week start
Try to make applicable for hexa/quadcopter (depending on what’s chosen). Worry about layout agnostic controls later