ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Mainline PX4 or voxl-px4 bug causing inconsistent Vz and z estimates by EKF2?

    Ask your questions right here!
    4
    17
    1065
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      hmlow @Cliff Wong
      last edited by

      @Cliff-Wong

      Amended the EVV and EVP noise and gate size values..

      Doesnt seem to have made any diff; EKF2 local position Vz and z gradient are still in different directions during full left and right roll, whereas VIO reported Vz and z are seemingly correct instead. I have uploaded this log on the github post as well.

      Extrinsics are correct because the VIO outputs are correct as mentioned.
      I should also add that this is not based on the Starling but a smaller customized drone.
      Have clocked at least 50hrs of indoor flight from SDK 0.9 thru 1.0 but only recently did i realize this behavior as i adjusted the max velocities up to 3m/s from 1m/s.
      At 1m/s this issue is barely noticeable.

      ModeratorM 1 Reply Last reply Reply Quote 0
      • ModeratorM
        Moderator ModalAI Team @hmlow
        last edited by

        @hmlow there are multiple sets of extrinsics

        if you run voxl-inspect-pose vvhub_body_wrt_local on voxl2 it will apply the extrinsics and output pose that should be inline w/PX4's local position. Please verify those outputs match what px4 is reporting.

        PX4 has its own rotations as well

        H 1 Reply Last reply Reply Quote 0
        • H
          hmlow @Moderator
          last edited by hmlow

          @Moderator Yes the extrinsics are correct and the VIO pose matches PX4 EKF2 estimates well except during the segments max velocity rolling maneuvers at 3m/s where VIO and EKF2 Vz and z deviates (but VIO's estimates is correct and matches with visual observation), which is what this post was about in the first place.

          Comparison of x y z between VIO and EKF2 local position estimates:

          d4f2c137-a7db-4c80-b93c-85e5a880b550-image.png

          Comparison of Vx between VIO and EKF2 estimates:

          c2b15ad1-0f4a-4a33-bf7d-28fe1f1f57b0-image.png

          Comparison of Vy between VIO and EKF2 estimates:

          e0c3fa36-7a23-416b-8de6-d0e4023f7fb7-image.png

          Comparison of Vz between VIO and EKF2 estimates:

          e165e6e3-b396-4092-ab17-548e3c6adb83-image.png

          Im attaching the voxl-logger VIO logs and PX4 ulg file here. The 2 files are already time synced so you can plot them directly.

          VIO log
          PX4 log

          Thanks

          1 Reply Last reply Reply Quote 0
          • H
            hmlow @Cliff Wong
            last edited by hmlow

            @Cliff-Wong

            While the logs and graphs above are based on my own customized aircraft, I just tried the same maneuver on the Starling (with shipped params and configured for indoor VIO) and i can confirm that the same observation is repeatable.

            Im curious if you guys would see the same uncommanded climb/sink if you would roll your own Starling aircraft left (or right) for 10 - 20m (3m/s, with CP turned off) and then in the opposite direction. The logs would also show that the EKF2 estimates having the same issues as i have described here and on the github post..

            H 1 Reply Last reply Reply Quote 0
            • H
              hmlow @hmlow
              last edited by

              Hi did anyone manage to verify this?

              H 1 Reply Last reply Reply Quote 0
              • H
                hmlow @hmlow
                last edited by

                Any devs?

                I was able to produce this issue on two separate Starlings and a customized 250g drone

                wilkinsafW 1 Reply Last reply Reply Quote 0
                • wilkinsafW
                  wilkinsaf ModalAI Team @hmlow
                  last edited by

                  @hmlow I was seeing the same thing on my starling. Have you tried completely disconnecting the GPS/baro unit on top and turning off the parameter HAS_MAG?

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    hmlow @wilkinsaf
                    last edited by

                    @wilkinsaf That solved the issue for you?

                    wilkinsafW 1 Reply Last reply Reply Quote 0
                    • wilkinsafW
                      wilkinsaf ModalAI Team @hmlow
                      last edited by

                      @hmlow yes. Ideally you would adjust the EKF2 parameters to increase the gps/mag threshold so they wouldn't affect your local position. But, quick and dirty is to unplug the gps unit. See if that solves your issue. If it does, then worry about EKF2 parameters

                      H 1 Reply Last reply Reply Quote 0
                      • H
                        hmlow @wilkinsaf
                        last edited by

                        @wilkinsaf actually no, I'm using neither GPS nor mag (disabled both) as my flights are entirely indoors

                        wilkinsafW 1 Reply Last reply Reply Quote 0
                        • wilkinsafW
                          wilkinsaf ModalAI Team @hmlow
                          last edited by

                          @hmlow

                          So, basically the main issue is that in the logs the qvio and ekf2 are reporting different position estimates? But, everything is flying correctly?

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            hmlow @wilkinsaf
                            last edited by hmlow

                            @wilkinsaf Flying correctly for the most part yes.

                            Except during specific maneuvers as i have described in my first post (details in the github link) and the third post.
                            Its challenging to summarize the issue in a few lines..

                            wilkinsafW 1 Reply Last reply Reply Quote 0
                            • wilkinsafW
                              wilkinsaf ModalAI Team @hmlow
                              last edited by

                              @hmlow I was flying over the weekend, and saw some inconsistencies as well tbh. The quality of the QVIO was reporting not as high as it was in version 0.9.5 SDK release. I will ask the devs and see what they say.
                              First, I need to compile some logs from voxl-qvio.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Powered by NodeBB | Contributors