-
Notifications
You must be signed in to change notification settings - Fork 2
CineRat 05 Flying Instructions and Checklists
NOTE: these checklists are only verified on a bench, not in the real-world yet! Ask for help. The checklists also contain info on how to setup the ground-station and start the optitrack forwarding programs. My suggestion is to run through them step-by-step.
After substantial modification to drone and/or code, do this checklist before moving to the cyberzoo. It's for safety.
Connect to FC with INDIflight configurator or Betaflight configurator
- Check attitude directions
- Remove all propellers
- at the home-page of the Configurator, check that the PFD moves correctly according to roll/pitch/yaw of the drone
- Check RC configuration
- Remove all propellers
- set all switches to up position (arm switch, flight mode switch, throw-to-arm switch). Resulting flight modes (Modes tab in configurator) should be
- ACTIVE: angle
- NOT ACTIVE: arm
- NOT ACTIVE: pre-arm
- NOT ACTIVE: position
- NOT ACTIVE: velocity
- Check Optitrack functionality
- Remove all propellers
- Power drone
- Connect laptop to drone wifi
- Open INDIflight Configurator and connect FC via USB directly to laptop. Or use Configurator over wifi using
manual selection
andtcp://10.0.0.1
, if FC is connected to raspberry pi via USB - Open terminal in the
indiflight_groundstation
directory downloaded during Setup. Send fake optitrack numbers with./start.sh 1 --test
- GPS turns yellow in the status bar at the top of the Configurator
- Stop the Optitrack client (CTRL-C or q in the top left tmux pane)
- GPS turns red
- Check motor ordering
- Remove all propellers
- Go to the "Motor" panel in the Configurator. Then check assignment and direction of all motors. THE PROPELLER CONFIGURATION HAS TO BE "INWARDS", ie as shown below !inwards.png
- Check arming and most important failsafes
- Remove all propellers
- Check main failsafe
- Flip arm switch into safe position (up)
- Press pre-arm button
- Flip arm switch into unsafe position (down)
- Motors spinning?
- Flip arm switch into safe position (up)
- Motors stop with no delay
- Check that reactivation is impossible
- Flip arm switch into unsafe position (down)
- Motors remain stopped
- Press pre-arm button
- Motors remain stopped
- Flip arm switch into unsafe position (down)
- Check RC loss failsafe
- Flip arm switch into safe position (up)
- Press pre-arm button
- Flip arm switch into unsafe position (down)
- Motors spinning?
- Turn off transmitter
- Motors stop with max 0.5sec delay, Configurator shows "RX_FAILSAFE"
- Check that reactivation is impossible
- Turn on transmitter again
- Motors remain stopped, Configurator shows "RX_BADRECOVERY"
- Turn on transmitter again
- Check RX loss failsafe
- Flip arm switch into safe position (up)
- Press pre-arm button
- Flip arm switch into unsafe position (down)
- Motors spinning?
- Disconnect onboard receiver within 10 seconds
- Motors stop with max 0.5sec delay
- Check that reactivation is impossible
- Reconnect onboard receiver
- Motors remain stopped
- Reconnect onboard receiver
- Mount Bumpers, if required
- Mount propellers and Optitrack markers
Run this checklist before first flight at the cyberzoo.
- Setup optitrack
- Prepare drone
- Remove battery from drone (for better marker visibility during setup)
- Create rigid body
- put drone into cyberzoo, heading towards far side (as seen from observer at the desks)
- start Motive 2.x on Cyberzoo computer
- Select markers, right-click and create rigid body
- Turn off forward prediction!
- if available, rotate around drone and add bottom side markers to the rigid body for upside-down tracking
- note down rigid-body ID
- Start forwarding of data
- Power drone with battery
- Connect Laptop to Motive LAN via Ethernet cables
- Connect Laptop to Raspberry Pi via Wifi
- Open terminal in the
racebian-groundstation
folder. Run./start.sh <RIGID_BODY ID FROM MOTIVE>
- Verify stable ping below 10ms (bottom right tmux pane). Change Wifi channel as described or improve antenna placement
- Verify tracking (press "t" in top-left tmux pane)
- Verify relay is started on pi (top right tmux pane)
- Beeper/LEDs should also indicate GPS lock, if available
- Prepare drone
Repeat (only) part 3., if drone is powercycled.
Potentially re-run (parts of) "At cyberzoo checklist" if GPS shown unavailable in Configurator
- In configurator page
PID Tuning
, setMotor Output Limit
to:$$\min \left(100,\ \frac{150}{\text{max thrust to weight ratio}}\right)$$ - Flight Controller SD card inserted
- Raspberry PI SD card inserted
- If Configurator remains connected, only show the first page. Definitely not sensors or CLI (because of the amount of data that needs to flow)
- All RC switches in safe position (all up --> angle mode, no throw-to-arm)
- Mount drone on the rope for the first flight, this can save hardware and prevent injuries. Drones can go bezerk if motor numbering is wrong, for instance.
- Fly only in angle-mode or acro-mode
Potentially re-run (parts of) "At cyberzoo checklist" if GPS shown unavailable in Configurator
- Set "Motor Output Limit" back to 100%, if required
- Flight Controller SD card inserted
- Raspberry PI SD card inserted
- Battery charged. Max flight time is about 5 minutes.
- If Configurator remains connected, only show the first page. Definitely not sensors or CLI (to limit the amount of data that needs to flow)
- All RC switches in safe position (all up. This means angle mode and nothing else.)
- Issue a safe ENU position setpoint (for instance position (0 0 1), yaw 0)
- Take off in angle mode
- switch to position-mode once stabilized, be ready to switch back to angle-mode or disarm if things go south
#todo the interface of the setpoint sender is pretty bad. Some improvement is needed to make it useful for demonstrations/missions/system identification. Now it's Proof of Concept only.
- make sure all RC switches are in the up position (ie safe position)
- Download logs
- Connect the flight controller via USB
- Bring device into MSC mode (blackbox tab in configurator)
- Mount the SD card and copy logs to a local location
- Unmount/eject and don't remount
- Power-cycle the flight controller manually
- make sure all RC switches are in the up position (ie safe position)
- if you have a USB connection between FC and Raspberry PI, then you can wirelessly syncronize logs like this:
-
[ ] In Configurator, go to Blackbox tab and then click "Activate Mass Storage Device Mode"usually not needed - open a terminal in the
indiflightSupport/LogAnalysis
repo and run./log_downloader/get_logs.sh /dev/sda1 ./logfilesMIRROR
WARNING. This will SYNCHRONIZE the contents of the SD card EXACTLY. This means that if the SD is empty or some logfiles have been corrupted, then./logfilesMIRROR
will also be empty or corrupted. My recommendation is to rename and move the relevant logs elsewhere immediately. - If SWD is available, this should restart the FC into normal mode again, once the transfer is complete or failed. If you dont have it, "-r" (reset) can be omitted.
-
More info about this script is in the indiflight_groundstation README