Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.10 release branch cherry picks since beta4 #13273

Closed
wants to merge 21 commits into from

Conversation

julianoes
Copy link
Contributor

@julianoes julianoes commented Oct 25, 2019

I would like to fork the release branch and only add strict bugfixes here so that we can keep development going in master.

I looked at all commits since v1.10.0-beta4 and cherry-picked what I thought was low risk and/or bugfixes.

The crossed ones below are what's included now. Please comment where you disagree and I'll fix it.

FYI @mrpollo

  • ffefd45 - UAVCAN: Optical Flow: Bug fix (missing integration_timespan field in optical_flow topic). (UAVCAN: Optical Flow: Bug fix missing integration_timespan field #13257) (61 seconds ag
    o)
  • 4c8f27c - Fix typhoon h480 parameter (Fix typhoon h480 parameter for SITL #13263) (3 hours ago)
  • f4ee914 - DShot: updated driver to use NuttX DMA functions (DShot: updated driver to use NuttX DMA functions #13233) (4 hours ago) <Igor Mišić>
  • 7ebaf9a - mission: ensure precland::on_inactivation() is called once landed (4 hours ago)
  • 6295a55 - Mavlink Submodule update (9 hours ago)
  • 564b29c - Fix incorrect default for parser (9 hours ago)
  • a904f78 - Parameter parser/markdown includes boolean flag (9 hours ago)
  • 788b8c8 - InnovationLpf: initialize state to zero (19 hours ago)
  • 40edd33 - mc_pos_control: reduce scope of attitude setpoint (22 hours ago)
  • 7933495 - WeatherVane: only update with last row of rotation matrix (22 hours ago)
  • 9c25b98 - vehicle_local_position_setpoint: make acceleration and jerk arrays (22 hours ago)
  • 0062390 - Jenkins CI: Colcon build on ROS2 Dashing workspace (25 hours ago)
  • 45c320b - bump container tags to 2019-10-24 (25 hours ago)
  • 5b018eb - Jenkins CI: Tests: bump px4-dev-ros-melodic tag to 2019-10-23 (25 hours ago)
  • 6fbc8af - Jenkins CI: move SITL tests to Melodic container (25 hours ago)
  • a772776 - ekf2: Fix heading not stable issue. ...
  • 2fc5789 - Support offboard velocity setpoints for rover (Support offboard velocity setpoints for rover #13225) (27 hours ago)
  • b5ba166 - commander: add COM_MOT_TEST_EN parameter to enable/disable motor testing (28 hours ago) <Beat Küng>
  • 02833c6 - px4io: add support for test_motor (28 hours ago) <Beat Küng>
  • 0d91d4e - commander: do not beep on successful commands (28 hours ago) <Beat Küng>
  • f7b04d5 - commander: answer to VEHICLE_CMD_DO_ORBIT (28 hours ago) <Beat Küng>
  • bc09a87 - mixer_module: do not enter test mode if kill switch is engaged (28 hours ago) <Beat Küng>
  • 285ae60 - commander: add support for DO_MOTOR_TEST (28 hours ago) <Beat Küng>
  • eb6a9bd - px4io: add missing lock()/unlock() in ioctl (28 hours ago) <Beat Küng>
  • f317d22 - arch.sh: get rid of ignition-cmake workaround (29 hours ago)
  • 1d44231 - modalai fc-v1: add dshot support (29 hours ago)
  • 367e756 - Fix a missed refactor of board name in vscode file (29 hours ago)
  • 7389bf1 - Add rangefinder dependency to the CM8JL65 driver CMakeList and organize #includes. (30 hours ago)
  • f7871ec - Retune h480 (2 days ago)
  • 06a902f - rcS: do not wipe next flight UUID parameter when resetting parameters (2 days ago)
  • 38651ce - mc_pos_control: address @bresch's review comments (2 days ago)
  • d60e1e2 - ControlMath: switch to gtest for unit tessting (2 days ago)
  • ad60f6d - PositionControl: make it self contained library (2 days ago)
  • 549fb0d - ekf2_main - Add optical flow innovation pre-flight check (ekf2_main - Add optical flow innovation pre-flight check #13036) (3 days ago)
  • 644c816 - generate_listener.py don't use message length (3 days ago)
  • 35398e0 - perf counter cleanup (mostly intervals) (4 days ago)

Not merged yet but should be cherry-picked:

dagar and others added 21 commits October 25, 2019 13:29
Some of these perf counters were useful during initial development, but realistically aren't needed anymore, some are redundant when we can now see the average interval from `work_queue status` and some of them simply aren't worth the cost at higher rates.
* ekf2: Add FirstOrderLpf and InnovationLpf classes for innovation lowpass filtering

* ekf2: use InnovLpf filter class in preflight checks

* ekf2: move selection of yaw test limit for pre-flight check in function

* ekf2: Move pre-flight checks into separate function

* ekf2: use static constexpr insetead of inline for sq (square) function

* ekf2: Split pre-flight checks in separate functions
Also use the same check for all the innovations:
innov_lpf < test and innov < 2xtest

* ekf2: Add optical flow pre-flight check

* ekf2: Combine FirstOrderLpf and InnovationLpf in single class

* ekf2: check vel_pos_innov when ev_pos is active as well

* ekf2: transform InnovationLpf into a header only library and pass the
spike limit during the update call to avoid storing it here

* ekf2: Static and const cleanup
- set spike_lim constants as static constexpr, set innovation
- set checker helper functions as static
- rename the mix of heading and yaw as heading to avoid confusion

* ekf2: use ternary operator in selectHeadingTestLimit instead of if-else

* ekf2: store intermediate redults in const bool flags. Those will be used for logging

* ekf2: set variable const whenever possible

* ekf2: create PreFlightChecker class that handle all the innovation
pre-flight checks.
Add simple unit testing
Use bitmask instead of general flag to have more granularity

* PreFlightChecker: use setter for the innovations to check instead of sending booleans in the update function
This makes it more scalable as more checks will be added

* ekf: Use booleans instead of bitmask for ekf preflt checks
Rename "down" to "vert"
The AUR repository got fixed upstream after
I reported the issue. I tested on a fresh machine
so we can get rid of the workaround that was necessary. See
https://aur.archlinux.org/packages/ignition-cmake/#comment-712301
dt could drive the alpha filter crazy because of the small dt
approximation during the computation of the coefficient.
- Remove unused bitmask packing of the innovation checks
@julianoes
Copy link
Contributor Author

julianoes commented Oct 25, 2019

@Tony3dr this PR is to track the 1.10 release. Please test this daily whenever something has been added.

@julianoes
Copy link
Contributor Author

Replaced by #13277 because this branch name doesn't work with the branch protection.

@julianoes julianoes closed this Oct 25, 2019
@julianoes julianoes deleted the release/1.10-cherry-picks branch October 25, 2019 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.