Precision Landing and Loiter with IR-LOCK¶
Copter 3.4 (and higher) supports Precision Landing using the IR-LOCK sensor and a sonar or lidar. Using this system, when the vehicle enters LAND mode (and has GPS lock) it is possible to reliably land within 30cm of an IR beacon that is moving at less than 1m/s.
Copter 3.5 (and higher) additionally supports Precision Loiter which allows a vehicle to maintain its position above a target while in Loiter mode. The Pilot can enable this using one of the transmitter’s auxiliary function switches.
Where to get it¶
The IR-LOCK sensor can be purchased from irlock.com. 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.
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 irlock.com Documentation. The IR-LOCK sensor can also be connected via USB to a Linux system, and sensor output can be retrieved in Python.
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.
Setup through Mission Planner¶
Set the following parameters through the Mission Planner (or other GCS) to enable the precision landing feature and then Reboot the flight controller.
To enable Precision Loiter, an Auxiliary Function Switch must be set to “Precision Loiter”:
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.
Precision Loiter demonstration: