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

    Land Detector on pure VIO

    VOXL Flight
    1
    2
    111
    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
      last edited by hmlow

      Hi all

      I have a customized drone running purely on VIO (EKF2_AID_MASK == 280, GPS and mag are both not attached) with the various hardware transplanted from a seeker.

      I just cant seem to get the Land Detector working when on Position mode (does not disarm on landing). Works fine on Manual/Stabilized mode though.

      Just wondering if anyone knows what might be the cause.

      Saw a similar topic here but unrelated:
      https://forum.modalai.com/topic/471/land-detector-not-working-after-several-landings

      Some of the Land Detector params that i have:

      LNDMC_ALT_MAX -1.00
      LNDMC_ROT_MAX 500
      LNDMC_XY_VEL_MAX 1.50
      LNDMC_Z_VEL_MAX 0.50
      MPC_THR_HOVER 0.51
      MPC_THR_MAX 0.70
      MPC_THR_MIN 0.15
      COM_DISARM_LAND 0.10

      Thanks

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

        I've figured out why.

        My original MPC_LAND_SPEED and MPC_Z_VEL_MAX_DN were 0.6 and 0.5 respectively.

        Thanks to the following chunk of code from MulticopterLandDetector.cpp, descend_vel_sp will never be true.

        	if (_flag_control_climb_rate_enabled) {
        		vehicle_local_position_setpoint_s vehicle_local_position_setpoint;
        
        		if (_vehicle_local_position_setpoint_sub.update(&vehicle_local_position_setpoint)) {
        			// setpoints can briefly be NAN to signal resets, TODO: fix in multicopter position controller
        			const bool descend_vel_sp = PX4_ISFINITE(vehicle_local_position_setpoint.vz)
        						    && (vehicle_local_position_setpoint.vz >= land_speed_threshold);
        

        Had to increase MPC_Z_VEL_MAX_DN and that solved my problem

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