Dev Call July 2, 2018 2300 UTC

Pull Requests & Issues







plot.ardupilot.org

SITL OSD and possible graphics display support

GSOC

Plane

  • Update

Copter

  • Update copter-3.6.0-rc3 released

Rover

  • Update

Attendee count (max): 23

UTC2300 - https://github.com/ArduPilot/ardupilot/pull/8789

  • BRD_PARAM_HIDE with tridge
  • Updating as we speak!
  • Discussed it with Don last week
  • Don hates parameter hiding
    • Makes UI difficult
  • Don wants magic hash
  • Enable major / enable minor
  • Volatile flag
    • Not included in hash if volatile
    • Batt serial number should be volatile
      • Smart batteries
      • Semi-volatile
  • We need to ensure the parameters appear in the tlogs
    • Tlog wouldn’t naturally contain the parameters as the GCS wouldn’t need to fetch them so they wouldn’t appear in the stream
    • MdB doesn’t want to inject locally as it’s not what a tlog is supposed to be
  • Use the parameter io-thread routine to send stuff out
  • Lie to GCS about parameter count?
  • How does QGC do this?
  • Hash check code is harmless if you don’t ask for it
    • Putting it in will allow for testing
    • This may not make QGC work as it may doing more magic stuff
  • Need to discuss this with Don
  • major/minor stuff
    • Major subsystem like quadplane-enable not sent unless enable is set
    • Minor sent regardless of whether they are enabled or not
  • Magic parameter name may mean GCSs fighting
    • Tracking per-GCS could be done
    • Mavlink message instead?
      • Both?
    • Twiddling parameter before fetching it seems odd
      • Does the autopilot even handle this protocol?
    • Capability bit?
    • Indexes will get mucked up with different values
    • Different sets of indexes for different GCSs?
      • Where would we even store that?
  • Parameters 2.0
    • Tridge wants strings in parameters
    • new , more flexible parameter protocol
  • Will pull the hash stuff out
    • Too many questions
    • Send-everything major/minor stuff will still go in

UTC2323 - https://github.com/ArduPilot/ardupilot/pull/8740

  • Peter just waiting merge
  • Andrew wants randy to test
  • Has it been tested? Peter - Sitl only
  • Randy will look it over - assigned

UTC 2327 - https://github.com/ArduPilot/ardupilot/pull/8729

  • This will help move some copter arming checks into base class like gps glitching
  • Don’t matter for planes does matter for quadplane
  • Ahrs/gps position aligned
  • Tridge doesn’t see anything wrong - merged
  • Psych - Fransisco - delete copy constructor
  • Merge it after

UTC 2330 - https://github.com/ArduPilot/ardupilot/pull/8727

  • Trying to add type safety to avoid silly mistakes like comparing to incorrect but closely named enumeration

UTC 2331 - https://github.com/ArduPilot/ardupilot/pull/8719

  • Some question of race conditions with notify peter doesn’t believe there are
  • Something about arming checks failing while arming and latching the pass value in notify
    • There is some bug involving arming/healthy flags/checks. Tridge pulled sd card out and was still able to arm.
  • Tridge and peter will work that out
  • This one ensures flag is correctly set to false until very end of routine
  • Merged

UTC2335 - compass and sitl and devid 0

  • FF has reservations about the implementation
  • Copter adding compass calibration checks
  • John has a system with matternet where the GCS sets the IDs to the values it expects for a specific vehicle
    • Expected it to refuse to arm
    • It doesn’t
      • We check if the compass-id is in storage
      • We check at startup whether the values are consistent
      • If it wasn’t calibrated and the GCS sets the ID it shows up as calibrated and allows you to arm/takeoff
    • This implementation has some rough edges
      • But we want GCS to be able to set the IDS
        • Could extend to IMUs
      • If vehicle doesn’t have these IDs - don’t arm
      • Currently if you boot and the compasses aren’t like they were last time we will still let you arm/takeoff
        • JC doesn’t want that!
    • New parameters? COMPASS_EXPC_ID (MdB)
  • If you do a preflight reboot you would need to refetch all parameters
    • GCS would have to monitor time-since-boot to know it has to refetch parameters
    • GCS doesn’t have all of the information it needs like “do I have all of the IDs”
  • Tridge thinks the concept does-no-harm
    • Fixes quirk that allows you to arm when missing a compass
    • Doesn’t stop us doing offboard checks later
  • COMPASS_EXPC_ID parameter?
    • Specifies what the expected ID is
    • Maybe a checksum of critical parameters instead?
  • [9:45 AM] (Channel) MdB: Commercial user speaking: 6 params is worth it for the feature
  • [9:45 AM] (Channel) MdB: That’s a great improvement in reliability
  • Lots of parameters won’t hurt so much when we get the hashing stuff
  • Randy likes MdB’s more-parameters thing
  • We’ll check with JC as to whether the extra parameters do the job

UTC2335 - plot.ardupilot.org?

  • Plot.dron.ee
  • Brothers
  • Standard plotting tool for ArduPilot?
  • Droneshare-type thing
  • Built-in-plotting
  • Browser-based client-sized tool
    • A lot of nice tools out there, but based on uploading logs
  • Browser-based makes it client-based
  • Gets dates wrong
  • They’d like to improve the tool
    • They’d be willing to host stuff
  • Not open source
    • Tridge wants to write one which is Open-Source but browser-based
  • They’d like to have this tool associated with them as an SEO thing
  • Needs multi-axis plotting
  • And correct dates
  • [9:53 AM] (Channel) JW: We can do this open source
  • [9:53 AM] To Weekly devcall: @Jacob but we haven’t :slight_smile:
  • [9:53 AM] (Channel) JW: I know it
  • [9:53 AM] (Channel) JW: we need to
  • [9:53 AM] (Channel) LV: for more than 2 years
  • [9:53 AM] (Channel) MdB: If we can’t extend it as we need/when we need I’d rather not accept it…
  • [9:54 AM] (Channel) PR: I may have capability soon to help get this done open
    • They’ve offered to send the code to people
    • Tridge doesn’t want it as he may want to implement his own later
  • [9:54 AM] (Channel) JW: I’d be very interested to see a list of existing log plotting tools
  • [9:55 AM] (Channel) JW: We want to have mavlink overlay + video and log synchronization
  • [9:55 AM] (Channel) JW: and mavlink -> subtitle creation
  • [9:55 AM] (Channel) LV: use the gopro tool
  • [9:55 AM] (Channel) MdB: Just gave up and crashed a tab with 439MB log
  • We would want to do our own hosting
  • Links from ardupilot.org to multiple different sites?
  • Tridge wants a tool where someone can upload the log and then link to it from the forums
    • So tridge can get graphs in a few seconds
  • This tool can only plot one graph at a time
  • [9:58 AM] (Channel) DI: Isn’t part of the data to have a repository of log data owned by the organization and available to the dev team? That is one thing that we lose out on if they are hosting it themselves.
  • [9:58 AM] (Channel) JW: It’s not working at all with Sub logs
  • Would need a discuss forum section
  • We don’t have an Open Source solution. Tridge is uncomfortable pushing this.
  • More than one tool is good?
    • On discuss we’d probably suggest “please put your log here”
  • Server-side plotting is a problem scalability-wise
  • Do we just point to their solution for the time being?
    • We’d have to ask for more features
    • Don’t want to ask for features if we’re going to switch away arbitrarily
    • Revenue model?
      • Not this at the moment
  • [10:04 AM] (Channel) MdB: http://geotag.dron.ee <- possibly more intresting :stuck_out_tongue:
  • Probably need a vote on the team mailing list for this
  • Randy: having a landing page which points to all the graphing tools would be fine
    • Open and closed
    • Be clear that things are external
  • They have location obfuscation
  • Password-for-log
    • Encryption?
  • Analyzing lots of lots can be useful
  • Buzz deobfuscated stuff
    • Most of it is open-sourced
    • Looks repeatable
  • They’ve been good to us and are offering to do a lot of work
  • Let them know we want to do plot.ardupilot.org
    • With their logo “plotting provided by dron.ee” present
  • Tridge will open an expanded discussion with dron.ee
    • They’ll come back with a more coherent proposal

UTC0015 - SITL OSD (and world-building)

  • We have good OSD support now
    • Thanks sh83 and others!
  • SITL now has an OSD
  • First time we’ve had SITL doing graphics
    • Representing the state of the vehicle in a graphical form directly
  • Tridge wants terrain and buildings and collisions and rangefinders and proximity
  • [10:19 AM] (Channel) MdB: Then you embed the param and mission protocols!
  • [10:19 AM] (Channel) MdB: Then
  • Tridge will work on this eventually
    • But would like others to help out
  • https://www.youtube.com/watch?v=xLx2ukmIVS0&list=LLJzpx7cFPmzIW1RbGpZesYA&index=4&t=3s
    • Tiny flight simulator
    • Same libraries tridge used
    • Builds and runs
      • Multi-platform
  • Please contract tridge about helping out with models and the like
  • Tridge thinks a week of solid work could produce something useful
  • [10:21 AM] (Channel) TP: woudl be super cool to see the flight surfaces too
  • Sfml allows mixed-mode operation
    • Opengl and sfml in the one window
  • Tridge only used 2D sprite primitives for the OSD
  • Virtual FPV view?
  • Tridge wants to know if this works on Windows

UTC0027 - GSoC - Ebin

  • Going really well
  • Auto-mode next

UTC0028 - GSoC Dmitri

  • Can send messages over serial and appear them as uavcan frames on the Babel
  • Working on sending Tom’s tunnel packets

UTC0029 - GSoC - Arnav

  • Video quality drops as range increases but doesn’t drop out

UTC0030 - Tom and Plane and Onion

  • Breaking up flight modes into the way Copter/Rover does it
  • Tom tried to do mode-takeoff and it was way too hard to debug
    • So he started to do this split
  • Need to work out where to draw the line on an initial merge

UTC0033 - tridge and Plane

  • Pending a flight-test by Nate there’s the GPS timestamping stuff
    • Nate has posted a log
    • Tridge will look after call
    • Setting M8N with three GNSS concurrently is bad!
      • uBlox say “don’t do that!”
      • MdB hasn’t chased it because we’d end up with a large table in the code
      • Fingerprinting the GPS is hard
        • Here+ could automatically override so it doesn’t do three constellations
      • The GPS will spit data out but mess all its timing up
    • Upping the GPS update rate to 10Hz screwed things up
    • “Is the rate stable” is a check we could move to
  • Arming check isn’t quite right
    • More satellites when up-and-flying means the fix changed
    • RTK-mode also infers 5Hz
  • Sizing for 10Hz at boot means EKF has allocated for that amount of data
    • Dropping back could be problamatic

UTC0039 - Randy

  • Wiki updates for new supported boards
  • Clear time now so he can focus more on Copte rrelease
  • Loiter choppy under ChibiOS?
    • To be re-tested
  • No beeps when using RC sticks commands to calibrate compass
  • [10:41 AM] (Channel) tridge: https://github.com/ArduPilot/ardupilot/issues/8109
    • [10:42 AM] (Channel) MdB: Peter was voulntold on the wheel encoder :smiley:
    • [10:42 AM] (Channel) MdB: I was there
  • MissionPlanner rendering issues and rc input calibration problems
  • Should we treat trim <min as min?
    • Could be surprising
    • Maybe in the middle?
  • Gimbal and landing gear on auxillary channels don’t work?
    • Check BRD_PWM_COUNT!
    • [10:46 AM] To Weekly devcall: This is a NuttX vs ChibiOS change, I think?
      • Probably
  • SmartRTL
    • How can we determine a good number of points?
    • Greedily grab as much as possible?
    • How does it scale cpu-wise?

UTC0048 - Randy and Rover

  • Still working on lane problems

UTC0051 - docs for new boards?

  • Auto-generate Wiki pages out of the source code?
  • Jpegs and README.MD markup file in hwdef directory
    • Contributed by person who does the port?
    • Might encourage people as part of PR to do Wiki
  • Some issues
    • Rights on push rights to repos
  • We have twenty boards at the moment
    • 80 would be a real problem
    • Video of each board flying would be good
    • Where-to-buy would be good
    • Is a dev going to provide all that?
    • Is moving where that information is provided a good thing?
      • Editor in github handles .md correctly
  • We could just accept images and readme.md as source material in the hwdef.dat directory
  • Will discuss on ChibiOS gitter channel to see if it works

UTC0059 - contact from conference

  • Interested in working with us on OSD / video stuff
  • Taisync
  • COFDM
    • Really smart way of getting rid of reflections etc
    • Gold standard
  • 300ms+ latency
  • How does he make it more flexible - interface with us?
  • “More people against DJI!”
  • http://www.taisync.com/en/products/8672/8673/53111.html
  • Price?
    • $1000?!
  • AP_OSD is gaining a lot of features very rapidly
    • A backend would be good
    • AP_OSD means the displays can be a lot dumber
  • [11:07 AM] To Weekly devcall: I wonder how this compares to CUAV HackLink.
  • [11:07 AM] (Channel) LV: We already have closed source Amimon and the other that the name escapes me
  • [11:07 AM] (Channel) JW: it looks like the same sort of stuff @peter
  • [11:08 AM] (Channel) LV: Amimon and Teradek
  • [11:08 AM] (Channel) LV: these are the professional standards
  • [11:09 AM] (Channel) FF: HackLink is standard wifi though, this doesn’t look like it
  • Maybe sh83 would like to work on this?

UTC0112 - https://www.youtube.com/watch?v=ZqzPOa3buXw&list=LLJzpx7cFPmzIW1RbGpZesYA&index=2&t=0s
*