Servers by jDrones

Copter-3.6.9 Precision Landing Issue (IR-Lock) [Solved]

(Thomas Stone) #8

Good Day @James_Megariotis,

Thank you for your message. Can you provide a .log/.bin file from your flight?


(Wang Louis) #9

Hi~ @ThomasSFL
I have use GPS with IR-LOCK to do precision Loiter is awesome,
i want to only use IR-LOCK to do precision Loiter, (No GPS)
but It was very windy at my city.
if i use gimbal with ir-camera to do precision Loiter, is batter?
thank you~


(Thomas Stone) #10

Good Day @WangLouis,

Thank you for your message. This seems like a different topic. You can contact me directly at this link or at

In short, if your copter experiences a large amount of pitch/roll, you may need to select a wider-angle lens and modify the lens model. If you use a downward-facing gimbal, you will need to modify the sensor angle geometry in the code.


(James Megariotis) #11


Attached are 3 logs from the flights. It may not be immediately apparent what was happening from the logs as they do not appear that out of the ordinary. Unfortunately I do not have footage of said flights.

As stated before, the first flight had some massive instability on initiating landing, leading to manual takeover. The second and third flights had similar instabilities that the vehicle recovered from and during descent exhibited a violent twitching, leading to manual takeover. I have never seen behavior like this and after reverting to 3.5.5 firmware, the instability and twitching were no longer present.

Note: Some parameters were changed between each of the 3 flights. Between First and second flight I changed the PLND_ACC_P_NSE param from 2.5 to 0.5. Between the second and third flights I changed from EKF3 to EKF2. I was just attempting to eliminate possible causes of the weird behaviors. None of the changes fixed them.

(Thomas Stone) #12


I briefly inspected one of your logs. The Precision Landing seems to be performing as expected. It could potentially be improved, but it definitely does not exhibit the issue experienced by @samucs.

You could try PLND_EST_TYPE = 1 and see if that works better on your copter (sometimes 1 works better, and sometimes 0 works better).

Also, your PL readings are a bit ‘jumpy’. You may want to check the vibration/flex in the mounting of your IR-LOCK Sensor. Also, use Pixymon to make sure your lens is optimally adjusted for the best MarkOne detection quality.

I have included a simple log analysis below.

(James Megariotis) #13

I wish I had a recording of how the first flight looked (the one you took a look at the log for). It appeared nearly identical to what was seen in the video in the initial post on this thread. That’s the main reason I even took the time to post. My issue was solved by reverting to 3.5.5 and It could be as simple as suggested by the original poster that I just had to re-upload firmware.

I just find it odd that we both saw something very similar upon the same upgrade from an earlier build to 3.6.9 chibios. In my experience on monday, flights with identical params on 2 different firmware builds perform vastly different. On 3.5.5 everything was smooth and performed normally. On 3.6.9 visually the craft looked like it was going to crash and was incredibly jittery/twitchy. On log analysis It was not easy to see the same signature we saw visually (although you may see it if you look at the pitch/roll plots see below image). I thought it was pretty puzzling and worth mentioning.

We are quite experienced in using these sensors and other custom precision landing solutions. We have a small fleet of identical aircraft all using the same frames, sensors, and firmware. So we know that the configuration used on these aircraft work consistently. I was concerned after seeing such a bizarre result upon testing our upgraded firmware and also to see that the top post on the forum related to an issue that sounded strikingly similar.

When I get a chance, I will try to replicate this result and provide a bit more evidence (i.e. video) if it occurs again.

(Thomas Stone) #14

We appreciate the input. Have you tried re-uploading the firmware? If that solves the problem, then @rmackay9 may be able to comment on that (I am not sure why re-uploading firmware seems to solve issues).

It is worth noting that the issue in @samucs’s case (before re-uploading) was particularly severe. The roll/pitch went up to ~35 degrees :open_mouth:

(James Megariotis) #15

Yes we have had a few instances in the past where reuploading inexplicably solved an issue. Never understood why.

Also I did notice his looked more severe but just figured it might be related as I have never seen IRLock precision landing behave like that before.

We plan to re-run the 3.6.9 testing at some point in the near future. I will be sure to record as to provide some visual evidence, as it looked far more alarming than it does from log analysis. I will keep you updated If we can replicate this event or get any additional information.

Thanks for your attention,

1 Like
(Samuel Salomão) #16

Hello @ThomasSFL and @James_Megariotis,

Hope this is a helpful thread, and let me explain what I did to solve my problem. It was not just uploading the firmware. First, we spent hours trying to understand what was going on, but with no luck. Then we started to isolate the whole setup:

  1. Copter-3.6.9 was re-uploaded to the Cube connected to a carrier board from SpektreWorks.
  2. Params from IRIS were loaded using Mission Planner.
  3. Then we configured all params needed for the hexacopter from scratch.
  4. Lightware rangefinder was configured for SERIAL2.
  5. IR-Lock sensor was configured for I2C2.
  6. Just one Here GPS connected.

With this setup, after all calibrations done, the first flight was quite good as you can see in my “Solved” video. After that we started to connect the other peripherals (companion computer, a second GPS for blending, LEDs, 4G telemetry, etc). Then we went for the second test, and it was all good.

With that said, the solution in my case was probably to erase the Cube, re-upload a brand new firmware with brand new params, and then reconfigure and calibrate everything. It’s vague, I know. But unfortunately I was unable to find the cause.

Let me know if you can do the same and share the results.
Kind regards.

1 Like
(rmackay9) #17

Uploading the same firmware shouldn’t resolve problems I think. In fact, some ground stations will refuse to upload the exact same firmware.

What’s far more likely is that some configuration is changed one way or the other. For example in this case it looks like @samucs has completely wiped all parameters and started again. If we had a dataflash log from before and after we could more precisely pin down which parameters have been modified.

1 Like
(mtbsteve) #18

Need to join the club here unfortunately.
I just maidened my new Tarot 650 build with IR Lock and AC 3.6.9.
I experience the same behavior as the OP.
As soon as IRLock detects the Markone beacon during LAND or in PrecisionLoiter mode the copter starts bouncing around.

Differences to the reports from @samucs and @James_Megariotis are:

  • I am on 3.6.9 NuttX, not ChiBios
  • My IRLock mount is rotated by 180 degrees (due to spacing reasons I had to turn around the IRLock sensor)

In order to adjust the orientation, I set the PLND_YAW_ALIGN parameter to 180 degrees. However this has no effect on the issue.
Here is the log with PLND_YAW_ALIGN set to 0:!AnKeW8KMoCcyvBOW9IFVZq8xdBgn

Here is the log with PLND_YAW_ALIGN set to 180:!AnKeW8KMoCcyvBI060aLgtgemzES

@ThomasSFL @rmackay9 any ideas what went wrong?

(Corrado Steri) #19

Is it set to Raw or Kalman?

(Thomas Stone) #20

Hi @mtbsteve,

Thank you for your input.

Some clarifying questions:
(1) What do you mean by AC 3.9? (I think the latest release is still 3.6._)
(2) Was PL on this copter previously working with another AC firmware?
(3) Is the sensor rotated 180 degrees in both tests? (i.e., when PLND_YAW_ALIGN is set to 180, AND when PLND_YAW_ALIGN is set to 0)

I look forward to your responses. However, my initial recommendation is to align the sensor at 0 degrees and set PLND_YAW_ALIGN = 0.


(mtbsteve) #21

Thanks for getting back Thomas!

  1. sorry, a typo - I am on AC 3.6.9.
  2. This is a new build, not flown with IR Lock before. However I was using the same sensor on other copters with AC 3.4 and AC 3.5 w/o problems before.
  3. Yes. There is not enough space to mount the IRLock at 0 degrees. Therefore I need to rotate it with the YAW_ALIGN parameter.

I have set PLND_EST_TYPE = 0 (Raw)

EDIT: the documentation in the code
says that PLND_YAW_ALIGN is menat to be entered in cdeg - centidegrees?? That would mean to enter a yaw alignment of 180 deg as 18000 - correct? However the range allowed in MP is only 0-360.

(Thomas Stone) #22


My pleasure!

I am a bit suspicious of the YAW_ALIGN parameter. I have never used it (i.e., I always mount the IR-LOCK Sensor at 0 degrees).

And yes, you may be correct in your code observation:

    // Apply sensor yaw alignment rotation
    float sin_yaw_align = sinf(radians(_yaw_align*0.01f));
    float cos_yaw_align = cosf(radians(_yaw_align*0.01f));


(mtbsteve) #23

Thanks Thomas.
I can confirm that the PLND_YAW_ALIGN parameter works fine.
I have set it now to 18000 to compensate for my 180 degrees rotated IR Lock mount and precision landing works perfectly well now.
What distracted me is the incorrect documentation in MP about the yaw angle to be between 0 - 360 deg instead of 0 - 36000 in cdeg.

1 Like
(Tom) #24

Hi all,

I have just experienced what appears to be this exact same issue.

I’m running 3.6.9 on a Pixhawk 4, and had just figured out how to get the Pixy to communicate with the flight controller successfully (the I2C configuration is a bit different on a Pixhawk 4).

Once I got it working, I took it out to test, and when switching to land mode, I observed the same initial jerkiness that @samucs did. The jerkiness lasts about 2 or 3 seconds, with copter looking out of control and as though it’s going to flip itself (as in samucs video), then the copter begins to descend, but does not land very accurately. You can see it trying to make adjustments but they’re way too small.

I was using PLND_EST_TYPE=0. As suggested above, I will try setting this to 1, and if that doesn’t work, I can try a clean install. But I’d be really interested to figure out what is causing this, as it seems to be an issue multiple people have had.

I had also recently updated the firmware from 3.63 FMUv5 to 3.6.9 Pixhawk 4, so it could definitely be the case that’s it’s something to do with the parameter saving when updating vs a clean install.

I’ll recover a log file and post a video tomorrow, but it looks like it’s the same issue.


Pixhawk 4 with IRLOCK: No communication
(Thomas Stone) #25

Good Day @tbrs2 ,

Thank you for your message. Can you provide a .log/.bin file from your flight?


(Tom) #26

Thanks for getting in touch Thomas. I’ve emailed you a .bin file (was too large to upload here).


(Thomas Stone) #27

Thanks! I sent a reply.


1 Like