Dev Call Aug 28, 2017 2300 UTC

Copter

  • 3.5.3 Planning
  • Safe RTL
  • collective pitch quads
  • inverted heli flight
  • notch filter

Rover

  • 3.2 Testing

Plane

  • v3.8.1 beta1 released
  • DO_LAND_CONFIG

Sub

Issues

General

  • Partnership Renewals
  • GSOC

Attendee count (max): 31

09:01 - Randy and Copter
Not much work on Copter 3.5 this week
3.5.3 release candidate later this week
FPE in spline waypoint followed by loiter at exactly the same point
Unlikely in real life
Still needs to be squashed quickly
Guided yaw and yaw rate controls
Important for ROS guys
PR: Is there a driver for icm20948 i2c compass?
09916 driver used
It’s in master
Not currently in 3.5
PR: Run out of the hmc compasses, so really need it
Tridge: should be safe to pull into 3.5
Tridge will do that
Typemask will also be coming in
Complicated by UAVCAN changes
Plans for 3.5: Copter 3.5 Backports · GitHub

09:12 - Sebastian and SafeRTL
Randy: Close to coming into master
Great feedback from Peter and MdB
It’s been decided that a semaphore should be used to mediate access between the main and backend thread
PR#2 in place ATM
PR#3 will replace it
Sebastian thanks everyone who reviewed it
Should be mergeable pretty soon
blog post immediately got 3 or 4 comments
Lots of positive feedback
Yet to see how someone flies a complicated path
Luis has tested it using MP’s circular path thing
Results not satisfying
Only 120 points
Could increase this
Pruning step gets more complicated
Circular pattern with increasing heights
Default parameters
The simplification step won’t cope well with this
Could dynamically reduce the accuracy
High velocity drones == less accuracy
Might be able to do better by giving a point a rank

09:20 - tridge and Copter
Rainy Sunday
Procrastinating mood
Collective-pitch quadcopter
Clone of the Curtis Youngblood device
It now flies in SITL
Fast response in roll/pitch
Potential to work well with much larger quadcopters

Helicopter not multicopter
Does fly as a multicopter 3.5 on this thing as-is, but no negative collective or inverted flying
Inverted flight support has been added
Flick a switch and you can loiter upside down
Affects all flight modes
Inverts collective and adds 180 to demanded roll
Ch7 option is only for heli ATM
Three devs have these
Randy, tridge and Mark
Race is on for first flight
Much stepping back
Been some requests for fast-descent mode
Where vehicle stabilises itself upside down
Side-chat on flip mode
Which does work on master
Yaw_coll doesn’t change sign when you pass through zero
Does collective compensation in same direction for both positive and negative
On these you have to reverse the yaw correction
Why isn’t it the same on these?
Tridge tried setting all yaw gains to zero
Stable
Bot not yaw control
At zero collective unstable in yaw and pitch
[9:32 AM] (Channel) MS: At average zero, the non-zero props are either positive or negative. Is the copter having trouble deciding which direction to go?
Randy things it might be stability patch
roll/pitch getting squash be amount of collective
Reversing ESCs?
The transition between right-side-up and upside-down is the problem
The crossover point on collective pitch shouldn’t be a problem
But is
Wants to be able to fly it in Acro as well as it does on the original controller
Inverted patch works OK on a normal heli too
Tic-tocs tridge doesn’t understand just yet
Can kinda do it with the inverted switch
[9:38 AM] (Channel) AT: hahaha… i love the idea of you guys automating 3d flying…
[9:39 AM] (Channel) LV: @A: target is automating the entire F3C routine :slight_smile:
[9:39 AM] (Channel) AT: You can watch videos of the stick inputs for 3d maneuvers and you could see how many maneuvers could be easily automated. Or i guess just record someone doing it and reolicate inputs.

09:38 - tridge and notch filters
Added for mulitcopters
Probably good for lots of vehicles with frame resonances
Set three parameters
Centre-frequency
Bandwidth
Attenuation in dB
80/30/15
Attenuation at 75Hz is very very small
Very sharp
Jello reduction
Some way to visualise this would be good
Pid filter frequency at 15 to 20Hz
Not that interested in signal coming in >30Hz
In-line with all gyro’s output
EKF gets unfiltered data
Log at 1Khz
Do an FFT
DataFlash over mavlink doesn’t have enough bandwidth on 625000 uart on SkyViper for this
Tridge has patches to split the high-bandwidth logging
Having a step in autotune would be nice
Would be nice to be able to dataflash-log an array of data
Would be nice to run an fft as a low-priority thread and adjust the notch filter dynamically
Betaflight does something like this
Making vehicle heavier didn’t change the frequency
Making it a resonance not a blade-passage frequency
INS_NOTCH_ENABLE
Eliminate ICE vibration, maybe?
Average / low / notch filters is the filering
Another filter in gyro library
Four filters before the D gets modified
TP has phase concerns
RL asks: why not just use a low-pass?
Low-pass doesn’t roll off fast enough
Get one that rolls off faster?
Phase problems, probably
Need to ask LH or PR
currently use a two-pole butterworth
Maybe there’s something better out there?
The 80Hz thing was extremely obvious in the FFT

FFT on stm32 is surprisingly practical
DSP instructions built-in
PH2 should always do a flight with high-bandwidth logging and do an fft to find the ight IMU for their airframe
Logging of arrays:
9:58 AM] (Channel) MdB: 16x64 bytes is a 1k array…
[9:58 AM] (Channel) MdB: so it just drops in, but your parser needs to understand to structure that as a single array
[9:59 AM] To Weekly devcall: @MdB yeah, that’s what I was originally thinking :slight_smile: Efficiency becomes a problem, possibly.
@Peter: But you have to have the 16 letters anyways, so I don’t think thats a hit, unless someone wants a 16K array

09:59 - Randy and Rover
Beta testers requested!
Throttle and steering contorller
Skid steering fixes

10:00 tridge and Plane
3.8.1-beta out today
Removed autotrim
Fixed bug where trim=min
Fixed launch thresholds
Allow nsh port to be used for other things
Probably release 3.8.1 after a test flight this weekend
Unless someone else can do a test flight
DO_LAND_CONFIG
Landing refactor has worked well
Idea is to have lots of different modes
New mission item DO_LAND_CONFIG
How does this work?
Application has just come up that could use this
Touch-n-go
So now we have a test case
MdB wants a do-not-fly-these-areas
For deepstall
Reject flying across a runway etc etc
Probably not really human readable as such
ML: make sure this isn’t confused with go-around
Abort-landing should be called go-around
Go-around does work with both deep-stall and glideslope landing
Might be multiple messages
If you find a do-land-start you go back and have a look at what your config is
Tridge - why not just store your state?
MdB - what if you’ve jumped somewhere?
Tridge: add a reset?
MdB thinks accumulating will be error-prone so looking back makes sense
Maybe the configures are after the do-land-start
[10:11 AM] (Channel) https://www.youtube.com/watch?v=xqkmGOor3yk
A go-round had the demo plane there pitch up really hard
No logs yet
MdB: FYI tom: there is a param that allows rejecting aborts below an altitude btw
[10:18 AM] (Channel) MdB: At least its used on deepstall
StollTech
They use PH2.1
I2c based sensors for motors
Want to create drivers in ArduPilot for them
Hardware add-on to create the form-factor the the plugs they need for their motors
Tridge suggests asking on Mumble or gitter for any assistance
Tridge: main difficulty you will hit is that you will have one library creating multiple types of data source
FF: Yeah, that’s a problem we can have in other places. I was thinking of a library that have drivers that have multiple purposes, then other libraries have simpler drivers that talk to the actual driver
Multi-slave buses?
8 or 16 motors on the one bus
CAN has an allocation mode
Rotate rotors by hand to give them an address…
Plug them all in
Configuration mode initially
Check which motor is spinning
Configure appropriate motor
Also takes the direction
Code is in UAVCAN website
I2c vs CAN?
I2c was chosen because it was easy to implement on the atmel processor
Already had “that discussion”
Motors are still controlled via PWM
GitHub - OpenMotorDrive/OMD_Hardware: Reference schematics used for the design of the OMD
JC and PR’s project
Actively encouraging people to build versions of that
plug!
https://www.stoll-tech.com/
Could be issues with i2c and its inherent limits
10cm total length of wire…
LV: Anyone that worked with Mikrokopter knows that the i2c motor control was lets say it “challenging”…

10:30 - Jacob and Sub
2 pull requests for people to consider

Turning boot-time gyro calibration off
Accel cal does gyro cal at the same time
Don’t want to do this at sea…
On a PH2.1 make sure it comes up to temperature first
Could emit a warning if you’re not up to temperature
On a boat is a problem!
EKF convergence of gyro drift is probably the only problem
Check the logs!
Gyro bias logging
NKF1.GX, NKF1.GY, NKF1.GZ
Copter’s do this without issue
http://ardupilot.org/copter/docs/boat-mode.html
Disabling INS and compass checks by default
Can work without any stabilisation if required…
GPS typically not used on subs….

PR: If you’re going to fly professional, set it to 60, wait for it to warm up
15 minutes to get there
This is as aggressive as you can heat it safely
Throttle down, current-limited
Tom thinks it should go much faster
PB: maybe a “turbo heat mode” that can be enabled from the GCS
Cube Red will heat faster

10:46am -Francisco and a PR about clearing mission on boot

Only concern is the name
Having MIS_CLEAR_TYPE or MIS_FLAGS means we can add stuff to a bitmask later
Relocatable missions?
Randy thinks this should be part of the mission, not of the vehicle
MIS_OPTIONS possibility
Another option to not allow a mission to be flying when not all terrain tiles flown
Fence relevant for sanity checks
MISSION_CLEAR_ALL fails if last command in mission is RTL · Issue #6324 · ArduPilot/ardupilot · GitHub ← Don’t RTL issue
Arming check for mission sanity-check · Issue #4701 · ArduPilot/ardupilot · GitHub ← sanity checking missions

10:59am - Randy and admin
Sending emails out asking partners if they’d like to renew or not
Only asked 4 so far
2 out of four so far
1 unresponsive
2 have merged
So really ⅔ so far
But 15-20 to go out in the next month or so

11:03am - Olivier and GSoC
Mentors evaluating this week
Google conference
No decision on who’s going as yet
Need to specify this week

11:04am - sUAS news
Really good interview, thanks to tridge and Luis!
We’re missing technical podcasts
E.g. Analyzing logs
“Way technical”
Maybe a “tutorial of the month”?

11:04am - PR count?
161 ATM!
Tridge
Not a terrible situation
But would be good to get through them
Randy
Need to find another Francisco
Funding might not be solid enough
Need to see how many partners renew
Amilcar
PR count has been going up significantly
Need to find someone else?
No suggestions

11:07am - Random
Chibios port from Sid

Initial copter build is on there
690k
Vs 1.3Mbye on NuttX
No i2c or SPI backends
Eliminating PX4Firmware and NuttX?
Newer than FreeRTOS
NightGhost’s port is an OpenPilot HAL port
ISR timers and a 1kHz timer
We’ve moved on
Probably explains scheduling issues
No POSIX
Nicely structured
Already in use on CAN BUS devices
SkyViper at Interdrone
As well as lots of stuff from Philip

Droneshare-like-site from Amilcar?
Decision in next few days
2-tier partnership contributions?
Been there with dronecode, it was unpleasant
Universal vote retained is the suggestion
As opposed to what happened at DroneCode
Could display how much people have donated….
Could change how prominent they are
Some already donate more
Even without being asked
Changed the wording afterwards to “minimum contribution of $1000” rather than “minimum contribution of $1000”