Autonomous correction for failed Precision landing

I am currently working on a project where a quadcopter needs to fly autonomously and land on a platform in order to be charged without any direct involvement from a person. We’re currently using an IR-Lock sensor and MarkOne beacon and ArduCopter 4.0.

There is a chance of the UAV either landing incorrectly on the platform so it cant be charged, or that is misses the platform entirely, and we are required to correct for this. I was wondering if there is any function in ArduPilot that would allow the UAV to recognise that it failed to land properly and take off again to try another landing.

Maybe when the landing fails its precision is because the irlock was not locked. You can see it in mavlink before it lands. When the beacon is locked there is a value that goes to 1 but can’t recall the name off it.
Edit: i was taking a look at the pull requests for the feature and i am not sure is merged yet.