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

    Starling 2 Max Crashes in Position Hold Mode After Disabling Magnetometer for Indoor Flight

    Starling & Starling 2
    4
    21
    539
    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.
    • B
      berayksl @Cliff Wong
      last edited by

      @Cliff-Wong I applied the param file you provided and did some test flights recently. Before the flight, I checked the VIO accuracy by moving the drone around in my hand while monitoring the trajectory in the VIO tab on the portal, and it seemed to be working fine.

      During the first flight, I put the drone in “Position Hold” mode. It was holding its position quite well initially. I moved it around and rotated it, and it continued to hold position accurately when I released the sticks.

      However, after landing and taking it for another test flight a short while later (same area), it wasn’t able to hold its position well in the z-axis. The drone kept ascending and didn’t respond to RC inputs, so I had to trigger the kill switch for safety.

      I noticed that VIO performance seems to vary even when flying in the same area, making it unreliable at times. Additionally, I occasionally get a “Yaw estimate error” message on the portal, but there are no corresponding errors on the QGroundControl terminal, and it still allows me to arm.

      Do you have any suggestions on what might be causing:

      • The inconsistent VIO performance between flights
      • The drone ignoring RC inputs during the second flight
      • The “Yaw estimate error” message (should I be concerned if QGC shows no error)?

      I also tried calibrating the cameras (even though I haven’t changed their locations since delivery) by following the link you provided. I was able to calibrate the front camera successfully, but when I try to calibrate the downward-facing camera, the camera feed on the portal becomes extremely laggy, and the calibration app becomes unresponsive after a while, requiring me to reboot the drone each time.

      Hector GutierrezH B 2 Replies Last reply Reply Quote 0
      • Hector GutierrezH
        Hector Gutierrez @berayksl
        last edited by

        @berayksl : I had similar behavior on a Starling2: after arming on position mode, sometimes it would fly fine, other times it would take off vertically at fast speed and only option to stop it would be the kill switch.
        Have you tried to set the parameter SYS_HAS_GPS to "disable" in QGroundControl ? In my case it made a huge difference. If you are flying indoors (no GPS) but keep the GPS active on EKF2, it seems to deteriorate the sensor fusion, leading to inconsistent estimates of altitude that can lead to instability in the vertical axis.

        B 1 Reply Last reply Reply Quote 0
        • B
          berayksl @Hector Gutierrez
          last edited by

          @Hector-Gutierrez Hi Hector,
          Thanks for your reply. Yes, I have set the parameter 'SYS_HAS_GPS' to 0 (disable) but still had the same issue. Did yours fly fine consistently after disabling the GPS? Did you do anything else to resolve the issue?

          Hector GutierrezH 1 Reply Last reply Reply Quote 0
          • Hector GutierrezH
            Hector Gutierrez @berayksl
            last edited by

            @berayksl : IN my case the problem has not appeared again (fingers crossed !) since I deactivated GPS from the EKF2.
            From what you described above, it seems you also deactivated the magnetometer (SYS_HAS_MAG = 0), have you tried to enable that ?
            Lack of magnetometer may lead to unstable EKF2 sensor fusion ?

            B 1 Reply Last reply Reply Quote 0
            • B
              berayksl @Hector Gutierrez
              last edited by

              @Hector-Gutierrez The magnetometer was enabled by default but I was getting 'magnetometer interference' error, which prevented arming the drone. One of the devs told me it's okay to disable magnetometer for indoor flights. I guess the interference was caused by the drone cage that I was flying in. What kind of environment are you flying your drone in?

              Hector GutierrezH 2 Replies Last reply Reply Quote 0
              • Hector GutierrezH
                Hector Gutierrez @berayksl
                last edited by

                @berayksl - we have an indoor lab . There is a large steel table on one side of the room that affects the magnetometer. The drone has to stay away from that object to be able to arm. Large ferromagnetic objects definitely affect the magnetometer. Can you arm and fly position mode in a regular room with magnetometer enabled and GPS disabled ?

                B 1 Reply Last reply Reply Quote 0
                • Hector GutierrezH
                  Hector Gutierrez @berayksl
                  last edited by

                  @berayksl : If your problem is with the height estimate and your VIO is working well and gives you good estimates of altitude, try disabling the barometer as well: SYS_HAS_BARO = disable, SYS_HAS_GPS = disable.

                  1 Reply Last reply Reply Quote 0
                  • B
                    berayksl @Hector Gutierrez
                    last edited by

                    @Hector-Gutierrez Unfortunately, I have to fly the drone inside the drone cage due to safety reasons. I haven't tried disabling the barometer yet but I've already set the EKF height reference to visual odometry as suggested by the devs. I used this param file.

                    Starling 2 Max also comes with a downward facing range finder sensor. Maybe I can also use that sensor for altitude reference.

                    1 Reply Last reply Reply Quote 0
                    • B
                      berayksl @berayksl
                      last edited by

                      @berayksl said in Starling 2 Max Crashes in Position Hold Mode After Disabling Magnetometer for Indoor Flight:

                      @Cliff-Wong I applied the param file you provided and did some test flights recently. Before the flight, I checked the VIO accuracy by moving the drone around in my hand while monitoring the trajectory in the VIO tab on the portal, and it seemed to be working fine.

                      During the first flight, I put the drone in “Position Hold” mode. It was holding its position quite well initially. I moved it around and rotated it, and it continued to hold position accurately when I released the sticks.

                      However, after landing and taking it for another test flight a short while later (same area), it wasn’t able to hold its position well in the z-axis. The drone kept ascending and didn’t respond to RC inputs, so I had to trigger the kill switch for safety.

                      I noticed that VIO performance seems to vary even when flying in the same area, making it unreliable at times. Additionally, I occasionally get a “Yaw estimate error” message on the portal, but there are no corresponding errors on the QGroundControl terminal, and it still allows me to arm.

                      Do you have any suggestions on what might be causing:

                      • The inconsistent VIO performance between flights
                      • The drone ignoring RC inputs during the second flight
                      • The “Yaw estimate error” message (should I be concerned if QGC shows no error)?

                      I also tried calibrating the cameras (even though I haven’t changed their locations since delivery) by following the link you provided. I was able to calibrate the front camera successfully, but when I try to calibrate the downward-facing camera, the camera feed on the portal becomes extremely laggy, and the calibration app becomes unresponsive after a while, requiring me to reboot the drone each time.

                      @Eric-Katzfey can you help me with this as @Cliff-Wong was last online 14 days ago?

                      Cliff WongC 1 Reply Last reply Reply Quote 0
                      • Cliff WongC
                        Cliff Wong ModalAI Team @berayksl
                        last edited by

                        @berayksl Hi there, to address your questions:

                        • The inconsistent VIO performance between flights

                        appears the inconsistent vio behavior on multiple arm/disarms is due to the way voxl-open-vins-server re-initializes after a disarm event. Are you still using in the voxl-open-vins-server.conf option "en_vio_always_on": false and "en_auto_reset": true?

                        If so, the next thing that can be an issue is takeoff speed. To ensure VIO has the correct origin (0,0,0) we have a conf parameter called: "takeoff_accel_threshold": 0.5, This is essential a takeoff detector and is set for a aggressive take off (>80% throttle)

                        If you are taking off very slow and gentle, it's possible the detector is not being tripped. Try lowering it from 0.5 to 0.3.

                        • The “Yaw estimate error” message (should I be concerned if QGC shows no error)?

                        If the error doesn't repeat, it's just VIO telling PX4 to reset it's heading and PX4 complains on reset. This can be ignored. BUT if QGC keeps repeating the announcement, you have a PX4 yaw_gate issue--make sure in PX4 the param EKF2_EV_CTRL has the 'yaw' option checked.

                        And as a sanity check cause you are seeing an R/C issue: goto the radio tab in QGC and confirm your pitch/roll/yaw inputs are calibrated and centered such that you are not sending biased commands.

                        • The drone ignoring RC inputs during the second flight

                        Are you getting a r/c "manual control lost" announcement in QGC or just lack of control when trying to move the drone? On the former case we have notice users in environments with lots of metal (e.g. warehouse) will have RF interference issues.

                        At this point, we have numerous improvements in SDK 1.5.0 for Max and it maybe worth the upgrade if your system design allows it. It has improvements with the vio-always-on issues, vio resets, and some PX4 altitude improvements.

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