DEV call May 1 2017 2300 UTC

Copter

  • AC3.5 progress - should we rebase on master?

Plane

fixed important timing bug related to parameter operations
fixed scaling error with some IMUs
added inter-EKF timing cooperation
improved hand launches,
fixed pixracer safety switch light

Issues

Attendee count (max): 27

09:01am - tridge and performance issues
Fairly major things have gone into master over last few days
Affects all vehicle types
Saturday morning remote testing of Copter in the US.
Hovering beautifully
Indoor flight
Progressively less stable
SCHED_DEBUG showed loops time getting progressively worse
We have some issues outstanding which are performance-related
Mission Planner was listening on 14550
Problem went away when MP was disconnected!
Recent innocuous change in MP and existing bad behaviour of AP
Parameter-fetching issue
Protocol is awful
The requests could effectively “bunch up”
So you could get 7ms lookups bunching up and up
160ms!
MO has released a new version which doesn’t make requests when armed
There is now an async io thread which does the lookup so we don’t pause when the mavlink request comes in
Fetching parameters now causes no timing issues
Most problematic over telemetry links which can buffer stuff up
Copter used to stop telemetry while fetching parameters (bad!)
OSDs would just freeze if the GCS refetched parameters
Solex seems to have a parameter fetching issue (ML)
Probably unrelated
Enable-parameters, probably
innovations in EKF2 and EKF3 are higher on PH2 vs PH2
Tridge is loving his eFlight convergence
Swapped IMUs (lsm first IMU, invensense second)
Problem moved!
Changed SITL to simulate 2 1KHz sensors
And various other rates
Discovered a bug in inertial sensor library where we assumed that the sensor would actually keep up with its declared samples/second value (e.g. 760 for lgd320h).
Not the case!
We used the number to scale the delta-angle and delta-velocity values
Lsm303d was giving samples faster than the 800 it said! It actually gave 1000
One-line bug in lsm303d driver
Meant the EKF was getting crap data from the lsm303d driver
Started to investigate the other sensors
Other sensors also lying about their rates
MPU9250 doing fast sampling said it would do 4kHz and 8kHz
But if the internal mag is active then it doesn’t keep up!
Px4v4
Scale factor error!
Large innovations!
Pretty much every board on tridge’s desk had a problem!
Got away with it because the first IMUs didn’t have issues
E.g. on PixRacer icm20608 doesn’t have compass
Replay logging only logged first IMU so it didn’t show it up
Tridge worked with Paul to measure and log actual sample rates


Now learns faster (in about 10 seconds)
EKF initialised in about that amount of time
Separate sensors-with-FIFOs vs sensors-without-FIFOs
With FIFO
Use delta-T is learnt delta-T
Need to deal with FIFO resets
Various other corner-cases
Without you use the system-clock to get delta-T
Keeps learning throughout flight but with reduced learning rate
Data we’re sending to EKF will be much, much better
Need people to fly master with High-G flights
May want to lower sample rate if we’re using internal compass
Disable compass if compass set to not-use, perhaps?
Maybe sample compass data at lower rate?
EKF timing cooperation changes
Fusing multiple cores of EKF can cause a loop scheduling miss
So we alternate cores
Didn’t work between the EKF versions
It does now
So you can run EKF2 and 3 at the same time and not get severe timing issues
Still need to do some tweaks for the Cube
Will be able to run EKF3 on a secondary IMU as ride-along
3 cores total is possible
4 is too many
Can mix-and-match EKF versions and cores relatively freely
3xEKF3 is still problematic
Cross-wind hand-launching has been made more robust (prioritise roll over pitch)
PixRacer safety light fixed
EKF3 as primary? (ML)
Hasn’t had as much testing as EKF3
We will be moving to it
Testing is appreciated!
Plane beta-5 has been released
Flight-testing of sensor changes would really, really be appreciated
Default parameters are fine
Dataflash logs
Please point tridge at the logs
Clear skies, need accurate GPS speeds
Log-replay off
Want to correlate accelerometers vs GPS speeds

09:43am - Randy and Copter
3.5 will be rebased on master again
Cherry-picking is going to be time-consuming and error-prone
Means a few more bits will sneak in
smart -battery
PR hopes to sneak in some more Solo-related patches
Solo-on-Master
Terrain issues related to frame
Causes vehicles to fly into ground
Good reports
Gimbal code
Want to add new features for v4 GoPro
A nice-to-have
Limp-gimbal problem and other issues were side-effects of other issues
No smoking holes in ground for some time now!
You can do many things to fix the ESC issue
Replace ESC
Optocoupler
Green cube
Level-shifter
End-of-tomorrow for rebase

10:07am: 3.4 on Heli (Rob)
User getting frustrated with EKF blowing up
Aliasing on the IMU
VIBE message showed no issues
Vibration above what IMUs can measure
VIBE can show clipping and high freqs
Misses low-freq and high-freq
Problems only showed in IMU accelerometer graphs (DC offset)
Soft mount
Stiff cable to GPS
Need to watch out for cable vibration!
Light cables
Tightly-tidied cabling cause issues
Anchor point

10:10am: Copter enhancements with Randy
Vehicle doesn’t turn too early
Leash-related issue
13.5% number?
Vehicle can get wobbly if leash point is very close
Leash short in some cases, long in others depending on nav and acc rates
Check percentage of leash we’re currently using and compare it vs this magic number
Luis is still seeing turn-too-early issue
Probably a different issue!
Crazy-long leash
Putting delays in seems to help with this sort of thing
Porpoising
When you over-specified the speed of your vehicle
Should be fixed
Rob sees pulls-up-after-corner issue
May be related to switch between spline-vs-normal waypoints
There’s a fix in for that which Rob might not be flying

10:20am - issues


Consistent units in parameters
Reduces number of units down to around 40 and makes them consistent
Could make the Python script understand the limited set of units
10:44am - sensors redux
Fast sampling on IMU will reduce compass sample rate after PR goes in
7760Hz gyro (should be 8000Hz) vs 7200Hz without patch

10:45am - more issues


already tweak based on internal/external
Or not-the-primary
Best way to do things is just to set the threshold high
BUT LOOK AT THE NUMBERS AFTER CALIBRATION!
Already really have high thresholds
Randy is going to close this issue
Good work, but not needed any more



Really important issue but we need a way to reproduce it

11:04am - hardware and Philip
hmc9183 is EOL
Imc20948 will be used instead
New flow sensor is coming out
Lidar
Indoor-use only
Canbus
Canbus escs for Solo coming out RSN
Some PH2 modules have CAN1/CAN2 reversed carrier-board-labelling-wise
Hopefully new CANBUS stuff sorts things out so it doesn’t matter