ctu-mrs / mrs_uav_trackers

UAV reference trackers in ROS, part of the "mrs_uav_core" package.
https://github.com/ctu-mrs/mrs_uav_core
BSD 3-Clause "New" or "Revised" License
34 stars 5 forks source link

"IDLE: Tracker Status State when transitioning from LandOffTracker -> MpcTracker #11

Closed MarlonRiv closed 1 month ago

MarlonRiv commented 1 month ago

To be able to detect the completion of the TAKEOFF, we currently check if the tracker state transitions from: TAKEOFF -> REFERENCE -> HOVER.

However, during this transition, when TAKEOFF is finished and the system switches between active trackers, from LandOffTracker to MpcTracker, there are instances where the tracker state being published is IDLE. This results in the state sequence being: TAKEOFF -> IDLE -> REFERENCE -> HOVER.

Is this the expected behavior? If i am not mistaken, the idle state is used when there is no tracker active (NullTracker). Having an IDLE state during the switch between trackers could potentially cause confusion, as it may be interpreted as no active tracker being present.

In our case, this leads to failures in detecting that takeoff has completed when an IDLE state is received, as it is mistaken for the NullTracker.

We've observed this issue intermittently, likely because our node operates at a lower frequency. Most of the time, we can correctly detect that the takeoff is finished and proceed with trajectory tracking.

Completion of takeoff unsuccessful: image

Successful completion: Selection_528

MarlonRiv commented 1 month ago

Bug from robot_diagnostics partially solved, To be properly implemented: infering takeoff from uav_manager diagnostics msg with tracker states.