Jaeyoung-Lim / mavros_controllers

Aggressive trajectory tracking using mavros for PX4 enabled vehicles
BSD 3-Clause "New" or "Revised" License
400 stars 164 forks source link

Failsafe controller implementation #205

Open shubham-shahh opened 2 years ago

shubham-shahh commented 2 years ago

Hi, do you have any plans of implementing Failsafe controllers? which can handle landing without a position estimate?

thanks

Jaeyoung-Lim commented 2 years ago

@shubham-shahh The safety should come from the autopilot, and this is why we are using the offboard interface. (in case something goes wrong it should fall back to the autopilot and not using anything from the companion computer)

Therefore there are no plans as far as I am concerned. However, I would be open for suggestions if someone would contribute such a feature and it is useful. Could you explain why you would want a failsafe controller within this package?

shubham-shahh commented 2 years ago

Hi, In case of a flight where the autopilot has no secondary sources to fallback, there is a need of a failsafe controller which can aid landing without a position estimate. If we implement a failsafe controller in this package, mavros_controllers can be used as an end to end solution for vision based flights where there are no other sources to fallback

thanks

Jaeyoung-Lim commented 2 years ago

Hi, In case of a flight where the autopilot has no secondary sources to fallback, there is a need of a failsafe controller which can aid landing without a position estimate.

Not sure if I understand this correctly. The flight controller already has safety fallbacks and can safely land without position estimates. If we want a fallback policy it should be inside the flight controller and not on the companion computer since the flight controller is more reliable than the companion computer in general

shubham-shahh commented 2 years ago

Hi, In case of a flight where the autopilot has no secondary sources to fallback, there is a need of a failsafe controller which can aid landing without a position estimate.

Not sure if I understand this correctly. The flight controller already has safety fallbacks and can safely land without position estimates. If we want a fallback policy it should be inside the flight controller and not on the companion computer since the flight controller is more reliable than the companion computer in general

Hi, for example this package implements a failsafe controller. If I am not wrong, without any external postion estimate, autopilot can only depend on dead reckoning based method for landing, and the drift is accumulated, which results in a poor landing, please correct me if I am wrong or I'm missing out on something

Jaeyoung-Lim commented 2 years ago

@shubham-shahh I think the dead reckoning part really doesn't change whether you have a failsafe controller outside the fmu. (which the fmu already has in the PX4 case)