Skip to content

CineRat 05 Flying Instructions and Checklists

Till Blaha edited this page Aug 28, 2024 · 2 revisions

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-build checklist

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
    1. 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
    1. 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
    1. Power drone
    2. Connect laptop to drone wifi
    3. Open INDIflight Configurator and connect FC via USB directly to laptop. Or use Configurator over wifi using manual selection and tcp://10.0.0.1, if FC is connected to raspberry pi via USB
    4. 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
    5. Stop the Optitrack client (CTRL-C or q in the top left tmux pane)
      • GPS turns red
  • Check motor ordering
    • Remove all propellers
    1. 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
    1. Check main failsafe
      1. Flip arm switch into safe position (up)
      2. Press pre-arm button
      3. Flip arm switch into unsafe position (down)
        • Motors spinning?
      4. Flip arm switch into safe position (up)
        • Motors stop with no delay
    2. Check that reactivation is impossible
      1. Flip arm switch into unsafe position (down)
        • Motors remain stopped
      2. Press pre-arm button
        • Motors remain stopped
    3. Check RC loss failsafe
      1. Flip arm switch into safe position (up)
      2. Press pre-arm button
      3. Flip arm switch into unsafe position (down)
        • Motors spinning?
      4. Turn off transmitter
        • Motors stop with max 0.5sec delay, Configurator shows "RX_FAILSAFE"
    4. Check that reactivation is impossible
      1. Turn on transmitter again
        • Motors remain stopped, Configurator shows "RX_BADRECOVERY"
    5. Check RX loss failsafe
      1. Flip arm switch into safe position (up)
      2. Press pre-arm button
      3. Flip arm switch into unsafe position (down)
        • Motors spinning?
      4. Disconnect onboard receiver within 10 seconds
        • Motors stop with max 0.5sec delay
    6. Check that reactivation is impossible
      1. Reconnect onboard receiver
        • Motors remain stopped
  • Mount Bumpers, if required
  • Mount propellers and Optitrack markers

At cyberzoo checklist

Run this checklist before first flight at the cyberzoo.

  • Setup optitrack
    1. Prepare drone
      • Remove battery from drone (for better marker visibility during setup)
    2. 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
    3. 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

Repeat (only) part 3., if drone is powercycled.

Before-first-takeoff checklist

Potentially re-run (parts of) "At cyberzoo checklist" if GPS shown unavailable in Configurator

  • In configurator page PID Tuning, set Motor 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

Before-takeoff checklist

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)

Flight

  1. Take off in angle mode
  2. 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.

After-flight checklist -- No USB connection from FC to Pi

  • 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

After-flight checklist -- USB connection available

  • 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