Precision Landing with IR-LOCK


Copter 3.4 supports precision landing using the IR-LOCK sensor and a sonar or lidar. Using this system, it is possible to land within 30cm of an IR beacon that is moving at less than 1m/s.


This feature is supported in Copter 3.4 (and higher). As of Oct 2016, Copter-3.4 can be loaded using the Mission Planner’s Install Firmware screen’s “Beta firmwares” link.

Where to get it

The IR-LOCK sensor can be purchased from The IR-LOCK sensor is a modified version of the Pixy camera, which comes pre-configured to work as an IR beacon detector. There are multiple IR beacons which are compatible with the sensor. The MarkOne Beacon can be reliably detected in all lighting conditions, with a detection range of 15 meters. Beacon (V1.1) is a more cost-effective option which can be reliably detected in most lighting conditions.


IR-LOCK Sensor and IR Beacons

Connecting to Pixhawk

The IR-LOCK sensor can be connected directly to Pixhawk via an I2C cable. If you are using multiple I2C sensors, then you will need an I2C splitter. More detailed instructions are included in the Documentation. The IR-LOCK sensor can also be connected via USB to a Linux system, and sensor output can be retrieved in Python.


IRLock sensor/Pixhawk Wiring

Mounting to the frame

The IRLOCK sensor should be mounted to the underside of the frame with the camera lens pointing directly down toward the ground. A mounting bracket for IRIS is sold here (and pictured below). The sensor board should be oriented so that the white button on the board points towards the front of the vehicle (or to put it another way, the side closest to the camera lens should be towards the front of the vehicle).

The image below shows the camera mounted on the bottom of a 3DR IRIS+. It is probably best to mount the sensor as close as possible to the Pixhawk, but successful tests have also been performed with various mounting locations.


IR-LOCK Sensor Mounted onBottom of Iris+

Setup through Mission Planner

Set the following parameters through the Mission Planner (or other GCS) to enable the precision landing feature.


Remember to reboot the Pixhawk after making these changes.

Flying and Testing

Setup the vehicle with one of the flight modes set to LAND (as of the time this wiki page was written, the precision landing function only operates in LAND mode).

Place the IR beacon on the ground and take-off to approximately 10m above the target. Switch the vehicle to LAND. If everything is working properly, the copter should move toward the IR beacon. A successful demo is shown below (using an older firmware).


Be prepared to retake control if there are sudden unexpected movements (Change mode to Stabilize, AltHold or Loiter).

If the vehicle does behave appropriately, download the dataflash logs and examine the PL messages.

  • If the “Heal” (meaining health) field is not “1” then there may be a communication issue between the Pixhawk and IR-LOCK sensor.
  • If the “TAcq” (meaning Target Acquired) field is not “1” then the sensor is not seeing the target.
  • The pX, pY values show the horizontal distance to the target from the vehicle.
  • The vX, vY values show the estimated velocity of the target relative to the vehicle.

Refer to the IR-LOCK wiki page for more trouble-shooting information.