Dev Call Aug 5, 2019 2300 UTC

Student Updates

Issues & Pull Requests


  • New release update



1 Like

Attendee count (max): 18

UTC2304 - GSoC - Matt and autorotation

  • Developing bail-out state in controller
  • Written a new one
    • State in autorotation flight mode
    • Operators have a bail-out-time parameter
      • Set based on performance
      • Nurses controller into next mode
      • Position controller
      • Match current descent velocity
        • And checking pilot input
      • Linear accel/decel
    • Tests out OK in SITL
      • If bail-out-time is 3s motor doesn’t go to maximum
    • Real-world testing on bail-out controller once heli is repaired
  • Flare controller under dev as well
    • Matlab work at this point
    • Trying to develop a trajectory/profile that can be described mathematically that doesn’t introduce any jerk
    • known/planned path
    • Tuned by user with a few boundary conditions
      • Exit velocity
      • Exit headspeed
      • Should match trajectory to what heli is capable of performing
        • Calculate how much energy is consumed in flare phase
        • Calculate current energy state, calculate consumed energy
        • Flare when these match
  • Everything on hold until porting to master is done
  • Funding for a more suitable heli
    • Funding committee is currently looking at the request
      • Chatting with a partner over supplying a vehicle
    • Clear support to provide the outcome
    • Remember batteries are not free

UCC2306 - GSoC - Rajat

  • AirSim
  • Now works correctly with follow-me between Copters
    • Can interact with each other
    • LIDAR data
    • Environment with immersive graphics with multi-vehicle and LIDAR data!
  • Car support

UTC2311 - GSoC - Akshath

  • Good progress on the parameter editor

UTC2312 -

  • Abstract filesystem operations
  • Make logging more reliable on ChibiOS
  • Can remount the filesystem on errors
  • Can pull SD card out, replace it and logging will continue
  • Can eject card, put scripts on cards and replace card and it can list those scripts
  • Reopen files when it remounts the filesystem
  • AP_FileSystem
  • Fixes readdir issues with two directories open at the same time
  • New parameter
    • Number of seconds of IO error before it gives up and stops logging
      • 5 seconds by default
    • Should we just always retry?
    • Only retries on specific errno from FatFS
  • Need to make sure this works with AP_Scripting
  • Want to get this in quickly as it touches a lot of files

UTC2322 -

  • Must always return bool from a boolean function
    • Particularly when doing “&=”
  • Test with mavlink10

UTC2334 -

  • Use rangefinders for landing where the approach point is on a slope
  • Compensate using terrain data
  • Landing on a plateau where the approach was very steep
  • Merged

UTC2336 -

  • Alpine linux fixes
  • CI for Apple would be good
  • Fixed for Apple

UTC2338 -

  • No response from Sub guys
  • Merged

UTC2339 -

  • People have been unable to reproduce the crash
  • Peter and tridge have been trying to reproduce and failed to reproduce it
    • Even after 6 reliable crashes in a row
    • Delighted we had a reproducible test case
      • Then it just stopped
      • Extended internal error stuff to hard faults
        • extra logging
    • Not a persistent function in the code
      • Not tied to a particular scheduling function
    • Possibly a stack overflow
    • Or an interrupt storm
      • Smbus i2c
      • Tridge tested this by moving sampling rate up a ot
      • And used the electric-drill trick
    • Eliminated dataflash-over-mavlink
    • Eliminated the gimbal code
    • Smart battery monitor
      • Tridge looked through the smart battery code
  • Bit stuck here
    • Eliminated several possibilities
    • Tridge would like to branch master for a new Plane stable release
    • Would prefer to do it when we don’t have a potential crash bug
    • If we can get a reproducible test case we should turn battery logging off and seeing what happens
  • Magnetometer disconnect mentioned on issue
    • No logs from user
    • Tridge will try emailing him
  • GPS compass is 5883
    • Matt was having issues with f405 boards
    • Common link is the QMC5883
    • Mini-Pix also uses this…
    • Matt could reproduce the problem by re-requesting parameters from Mission Planner
      • MON messages when this happened would be good
  • Logs from Matt K, hopefully
  • Matt L will be trying to prod the external compass on a Solo

UTC2356 -

  • EKF in mount library is complete out of whack
  • When moving the tilt paddle the mount moves way too fast
  • Position estimator is out-of-whack from where gimbal actually is
  • Gimbal already level but estimator thinks it is at 45 degrees moving slowly up
    • So it overshoots
  • Tridge thinks it might be lag on the uart
  • Code archeology required on this one
  • State estimation or UART?
  • Baud rates?
  • Scalars on uarts are different between ChibiOS and NuttX
    • Sid did some work to make our uart stuff really accurate
    • Lights on Solo went out when the fix went in
      • Could be something similar to that

UTC0003 -

  • Randy to look at this

UTC0009 -

  • Returns appropriately
  • MdB isn’t happy with the readability
    • Speed is important, ‘though
  • Needs to be tested with nmea
  • Produces same results as old code
  • Merged!

UTC0013 -

  • Tridge talked about this back in February
  • Implements AP_Periph firmware
  • ArduPilot running on peripherals using ArduPilot drivers
  • Supports F103 from MRo and Jani
  • Design based on uc4h stuff done ages ago by OlliW
  • CAN GPS based on F412 support coming
  • Using successfully in production by PhillipK
  • Build up CAN ecosystem!
    • CAN airspeed
    • CAN GPS/Baro/LEDs/safety/Compass
  • Ifdefs are a bit invasive
  • This allows us to use our existing drivers
  • Lots and lots of #ifdefs
  • MdB spotted an issue with F9 baudrates
    • Uart buffers size too small
  • Inheritance instead?
  • MdB: Getting AP::logger().Write* to just be null would make me a lot happier
  • [10:30 AM] (Channel) MdB: But needs testing
  • [10:31 AM] (Channel) MdB: LTO would save the day there as well :slight_smile:
  • MdB: It’s the increased dev load/breakage which is my concern.
  • [10:37 AM] (Channel) MdB: Has the header empty implementation been tried?
  • [10:37 AM] (Channel) MdB: Because if so then I’m a lot less woried about it
  • [10:37 AM] (Channel) MdB: But others I’m dreading this being like examples that I find by breaking it in CI all the time and blidnly guessing if I fixed or broke everything
  • Try changing AP::gcs(). to gcs(). And setting gcs() in the header to return either an empty-definition class or AP::gcs()
  • F1
    • 128k flash
    • 20kB SRAM
  • Trade-off between developer effort and hardware manufacturer costs
    • U4ch was based on 64kB chip
    • So tridge forced the 128kB
    • 10kB free flash with current AP_Periph
    • 28kB for bootloader + parameters
    • 100kB for AP at the moment
      • Using 90kB
  • Flexibility on adaptor boards seems good
    • All-one-piece boards need that
    • How about more-specific boards?
  • [10:48 AM] (Channel) JP:
  • Once FDCAN becomes a thing, the manufacturers will likely shift to more capable silicon anyway
  • [10:48 AM] (Channel) MdB: Not guranteed on H7 :smiley: It’s actually cheaper to buy the 128k chip + external flash :smiley:
  • Cutting drivers helps a bit with flash
    • [10:50 AM] (Channel) MdB: How far do we let them take that? IE you can cut a lot of ublox flash space if you know what hardware generation you are connecting to
  • Makes it really, really easy to make CAN-based devices
  • [10:51 AM] (Channel) MdB: We still are losing features with this though (IE ublox on serial is still more capable then CAN due to the configuration stuff) Just ignoring the higher level stuff like RTCM, we are missing some real safety features with the CAN stuff :confused:
  • [10:52 AM] (Channel) MdB: And that’s hard in the driver side
  • Open source!
    • Bugfixes!
  • Compass+gps almost fills the 128k F1
  • will serve the firmware
  • Future
    • May be able to port to original Zubax
    • CAN servo support
    • CAN ESC support
  • MdB: GPS-over-CAN still sucks
    • Need health status
    • Need sensor-present
    • CAN does NOT magically fix everything
    • Tridge: remote-uart-driver could still be reimplemented
      • Invasive in ArduPilot
      • Simple in AP_Periph
  • MdB would like to look harder at this
    • Suggests if he hasn’t looked at it by Monday then merge it

UTC0105 -

  • Closed

UTC0112 - Plane

  • Version numbers for next major release needs discussion
  • Stable release done
  • [11:12 AM] (Channel) RM: did we miss this one?
  • [11:12 AM] (Channel) MdB: Randy: Needs testing from tridge and I didn’t tag it
  • [11:12 AM] (Channel) MdB: But since he’s rather busy and it’s low priority I’m not to fussed
  • [11:12 AM] (Channel) MdB: And we can skip it

UTC0112 - Copter/Rover update

  • Omnibus v2 not working?
  • Mini-pix board labels case labels reversed
    • Which is why the telemetry ports swapped
    • User claims it has swapped back
    • Need to check history on hwdef.dat
  • Reset of AK failed
    • Completely benign
    • Will supress
  • SBUS setup not working
    • Need feedback
  • Copter stable doesn’t have separate Omnibus boards
  • Fixes merged for omnibus bootloader
  • Tridge will rebuild and push up new bootloader
  • Getting closer to next major release beta
    • Stay-out zone support required yet