Controversy --- does the AT (v1.1) project work

If this project works or not …this is a controversial question. For the past 2 years, I have read many threads . Some said this does not work, some said they were successful to make it work. Seriously, I really want to know the truth.

I have been working on this AT project for over 2 years using Pixhawk as the tracker controller (AT v1.1). I also post here several times. Though I got some help, the answers I got did not get me to succeed. Current situation is I get the yaw working, both at the field and on bench (SITL), but pitch is still not working.

I have tried following, without success :–

  1. Altitude source in Extended tuning : tried all : Barometer, GPS, and GPS vehicle only.
  2. Pitch servo Type : tried POSITION , ON/OFF, and CONTINUOUS ROTATION
  3. Tried using built-in compass in Pixhawk, and also stand-alone external mounted compass. Tried both after successful calibration, as witnessed by the heading displayed in HUD.
  4. Changed to different altitude in MP when doing SITL.
  5. After issuing LAND command in SITL while copter still hovering in mid air, the tracker still does not pitch to follow the copter.
  6. External compass mounted along the pitch axis of tracker.

Parameter attached.
Parameter__tracker.param (8.4 KB)

Hope someone can help before I give up.
Thank you very much in advance.

You will have to give use more to go on than ‘its not working’. There is a bug that PITCH_MIN is inverted, you have -7 so your actually getting a min pitch of +7. You can change the param to +7 to get -7. The pitch servo type should be set to the type of servo you have. Any external compass should be mounted to the ‘head’ of the tracker so it moves with the flight controller.

A picture and some logs would help us figure this out.

Thanks Peter for your help.

Attached is the link to the video of my setup.

The link to the .bin log is also attached :- (I launch SITL to generate the log)

Here is the revised parameter to take care of the bug in the pitch:–
ParamRevised__tracker.param (8.4 KB)

One basic question :–For the directional antenna connected to a telem radio, as shown in AT wiki, the purpose of pointing the tracker to the vehicle seems to EXTEND the range of the telem signal. But my initial understanding, before starting the project, was to EXTEND the range of the video singal from the vidoe Tx.
Since the directional antenna is connected to the telem radio, my understanding is wrong, unless I mount the video receiver onto the tracker with the receiver antenna properly orientated. Pls comment.

Tracker just points towards the vehicle you can put telemetry antenna, video receiver, camera whatever you like on it.

Looks like your tracker can see the vehicle it is superposed to be tracking, this is a good first step. Its is also outputting to the servos. I think you AHRS orentaition is incorrect, the front of the flight controller should point in the same direction as the antenna, this would be 4 for yaw 180. You will then have to work out the servo reversal. You can tune up the PID’s as you can with rover by setting GCS_PID_MASK

After I changed the AHRS orientation to 4, I got a very exciting breakthrough in 2 years…the tracker pitches for the first time when I set the copter (SITL) to land from 150m. It pitches in the last 10-20 m before landed. But I can’t reproduce it again.

One thing I don’t understand about the AHRS orientation : the yagi directional antenna in the video I sent you earlier was not connected to the controller. The tracker yaws based on one of the 2 telem radios connected to the controller. This radio is paired with the radio connected to the laptop for the MP. The other radio connected to the controller is idle, supposed to pair with the radio on my quadcopter which was not used in bench testing.
So since the yagi is not connected to anywhere, where did you find out the AHRS orientation is incorrect ? I realize wiki mentions about aligning the antenna to the front of the controller. But the dipole of the telem radio is omni-directional. Before I use the directional yagi, I thought AHRS oreientation is not important. I am curious. Please comment.

The “Reverse” box for the pitch servo in the Extended tuning page is inactive. Any clue ?

Thank you for your continued support.

you will have to go and find the param in the full list, SERVOx_REVERSED.

Looking at your vid is fairly clear that the yagi should be the front. You probably could get it to work with the yaw 180 deg out but is is better to have it correct.

“you will have to go and find the param in the full list, SERVOx_REVERSED.”

I changed the param in the full list, and tried again using the TEST button, but both pitch and yaw direction did not change…whatever I changed, the servos still pitch or yaw in the same direction. Is there any bug ?

Hi Frankie,

I would not recommend putting your GPS on top of the moving Pixhawk as you will lose satellites when the target plane flies overhead. Insure that the GPS receiver always faces the sky. Also, using the compass on-board the Pixhawk should work fine. If you use a SITL connection to the airplane, you can then try changing the SERVOx_REVERSED value to see which setting makes the pitch go up.

If your PID values are not correct, this may also prevent your pitch servo from working. Try changing your pitch PIDs to the default settings below. Good luck!


Hi Greg,

Thank you very much for your reply. I once thought of contacting you for help after reading your thread “Mini Ardupilot Antenna Tracker”.

I changed the pitch PID values according to your recommendation, and also tried both “0” and “1” for the SERVO2_REVERSED value(Servo 2 is for pitch). Both did not make the pitch servo work in SITL mode. At one time, while decent during landing(SITL), the tracker pitched up and down violently. But I can’t reproduce it.
“Using the compass on-board the Pixhawk”, I suppose you meant the built-in magnetometer inside the Pixhawk. I have been using the built-in mag for a long time until 1 week ago when I exhausted all the ways , then I decided to try an external compass, as suggested in another thread saying mounting an external compass along the pitch axis makes it work.
Regarding losing satellites when plane flies overhead, do you mean when the plane flies overhead, the antenna , and thus the tracker (with the GPS module mounted on top) points vertical up, the GPS thus faces sideway or horizontally, and loses satelites ? If yes, this makes sense.

I admire you guys who succeed in making the tracker work. With the yaw working, It seems I am not too far from success. But I have to keep on trying. Meanwhile, if you think of any clue, please let me know. Really appreciate your assistance in advance.

Yes, the compass and magnetometer are the same. Using the one on-board the Pixhawk allows you to mount the GPS (which usually also has a compass on it) to an area that always faces the sky. Make sure that only the on-board compass is used. You could even disconnect the I2C wires to the GPS if it also has a compass.

Yes, that is correct.

Some things to test.
I see that your pitch values are below.
Try changing PITCH_MIN to 0 as a test. It is one difference between my working setup on yours. Perhaps there is a bug.

Try swapping your Pitch Servo2 settings from
to this
You may need to then change the SERVO2_REVERSED setting but use the SITL vehicle connection to verify which is correct. I assume that your SERVO2 settings were derived from using the Test buttons and sliders on Mission Planner. Also, as a sanity check, verify that your Pitch servo works correctly using an external Servo Tester. If you can control the Pitch properly with a Servo Tester, then the Pixhawk should be able to control it.

Another difference in your setup is the Pixhawk orientation. Perhaps this may cause an issue. Both of my working Antenna Trackers use AHRS_ORIENTATION = 24 for Pitch 90 degrees. Your setup uses AHRS_ORIENTATION = 0 for None. I have never tested this configuration.

Good luck!

Hi Greg,

I tried all your suggestion, include changing PITCH_MAX and PITCH_MIN, swapping Pitch Servo2 settings, and then based on these settings, tried SERVO2_REVERSED for 0 and 1.

For all the above trials, I hold 1 param fixed, and change the other 2 in turn. So all the different combination of these 3 parameters have been tried. None of these combinations made the pitching work. The most I got is the sudden pitching (thru a large angle of 30-40 deg) of the tracker during landing mode (SITL) of the simulated vehicle with some of the combinations.

I also changed the AHRS_ORIENTATION to 24 with each value of the above 3 parameters. It still did not help.

As I do not have a servo tester, I tested the pitch servo by controlling it using the knob of my transmitter, and it works and rotates proportionally according to my turning of the knob.

Have several questions :–

  1. Why do you think of setting AHRS_ORIENTATION to 24, instead of 0 (for none) for your workable trackers ? Since according to wiki, if you mount both the controller and antenna pointing forward, the orientation should be 0.
  2. The pitch servo rotates about 135 deg (after modification with addition of resistors) as witnessed in the earlier test with the transmitter knob. At what angle should we engage the servo output spine to the stationary servo horn, so that the rotation of the tracker will not fall outside the 135 deg range in my current testing and tuning stage ? To find out if the tracker pitches (in case it works), I left the servo horn screw out so I can disengage the servo from the stationary horn from time to time during SITL, to check if the output spine is rotating.
    This query also applies to the yaw servo.
  3. Right now, the yagi antenna is not connected to the controller during testing. Does it matter ? There is only one pair of telem radio connecting the controller to the MP in laptop. And the tracker yaws.
  4. If you are familiar with SITL, did you encounter the experience that the tracker still yaws even though the vehicle in SITL is disarmed and disconnected ? What is the reason ?
  5. For the Altitude Source in the Extended tuning page, is there any difference between GPS and GPS Vehicle ? I tried both in SITL with the same result.

Thank you once again for your help.

This was only mentioned as a difference between my working setup and your non-working setup. Changing the AHRS_ORIENTATION to 24 will not have the desired effect without also changing your Pixhawk mount to 90 degrees.

Although this is a nice piece of test of equipment to have, especially one with a digital display of the PWM value, you can also use the monitor screen function on your transmitter (if you have one) when testing the servo movement with a receiver output.


When using Auto mode, the tracker attempts to track the vehicle, scanning if it ever loses contact. Simply press the hardware safety switch to stop it.

I don’t know the difference. I have ALT_SOURCE set to 0.

To set your max and min values, I use either a servo tester with digital readout or the Servo Test setup on the Extended Tuning page.

Hi Greg,

Thank you for your answer to my questions.

I did some field testing with the tracker over the weekend. Pitching still not working.

For yawing, the tracker yaws opposite to the movement of the tracker. This opposite movement did not happen before.

I then reversed the yaw servo in the Full Parameter list. But that did not help.

The way to make the tracker works seems to be a trial and error method.

Will let you know if I have any breakthrough.


Hi Frankie,

You are definitely having some odd problems that I have not seen before.

For my first Tracker, I essentially copied Randy’s project which is described in the WiKi. It was built several years ago and is detailed here. We all use the EZTracker which was sold from ReadyMadeRC at the time. I recently updated the Pixhawk firmware to v1.1 because it had the fix for the Battery Monitor…which I had been waiting years for and was very happy to use it. It still works great using the SITL vehicle connection from Mission Planner. Our flying season hasn’t started yet so my plan is to test it more this summer.

My second tracker was a quick build designed to be a smaller table top version using the inexpensive LOBOT 2DOF PTZ parts and servos along with some smaller components. It was essentially the same type of tracker as my first one where the pitch ranged from 0 to 90 degrees and the yaw was 180 degrees. This limitation is designed around a typical AMA flying field where we never fly behind ourselves.

My point here is that I can only confirm that my one type of tracker works. It might be a good test for you to initially try the same setup and see if you have some success. For the testing, you can simply remove your yagi antenna and stick with initially just testing the tracker. Use a servo tester or receiver to validate the servo positions against the SERVOx_MIN and SERVOx_MAX settings. Depending upon the servo used, the PID settings may need to change from the default settings below.

Good luck on your future testing!





Hi Greg,

Really appreciate your continued support on my AT project. With your assistance, I am determined to make it work since I have been spending over 2 years.

Yes, yagi has been removed sometime ago.

I am changing the values according to your suggestion in the full param list and use a trial and error approach. Initially it does not work. Wll be holding 1 param value fixed, and changing the others one by one, including the servo type.

Your AT0.80 indicated you chose POSITION for both servos. Some people in the forum suggest yaw servo has to be set as CONTINUOUS, and pitch servo as POSITION, and they said it works. I am confused. What is your opinion ? Can you also give details of the servos you use,

including any modification to continuous rotation, if any ? I modified my pitch servo to rotate 135 deg.

Meanwhile, did you try before simulate landing the vehicle in SITL, so as to test pitching of the tracker ? Do you think this is a good way ?

From your experience, if the tracker has reached its preset yaw range limit, will it yaw in opposite direction ? That is the hehaviour of my tracker in SITL.

The video of your first tracker shows you are also using the Eagle Tree tracker sold by Ready Made RC, same as mine.

When your vehicle is on the ground, after power up everything and safety button pressed, does the tracker and thus the

controller turn to vertical position, accomodated by AHRS Orientation: 24 ?

Other than the yawing behaviour which works from default values, i am satisfied with yawing, and I now focus mainly on the pitching of the tracker. I have changed the values of ALL relevant param without success.

Will let you know the result in few days after I finish all the trials.

Thank you.


Set the AHRS orientation so the HUD moves as a copter would with the ‘pointing’ direction. And set the servo types to the types of servo you have. I would suggest setting the pitch P and D gains to zero. You can then just use the I gain to very slowly move in the correct direction tracking a static or very slow moving thing initially. You can then use the GCS_PID mask to work out the gains. If this is not working post vids and logs and I will see if I can work out what to do.


I would follow Pete’s instructions. Also, when you post the .bin log, please post an image of the current setup.

Yes. Also use the on-board compass.

Yes, I found it best to use SITL in two ways. Put the plane or VTOL in Loiter mode in a large circle so that it goes just on top of the tracker. In this manner, the tracker is tested in both yaw and pitch modes. I also use the Guided Mode feature to fly the plane across the tracker path. See Rolf’s post #4 in my mini Tracker thread.

For my trackers with limited pitch (90 degrees) and yaw (180 degrees), I use Position servo settings.

Hi Pete,

Thank you for your opinion. For the orientation, all the time(except just recently, I changed AHRS Orientation to 24),

I mount the controller pointing forward, and the HUD responds as the copter would (controller pitching up, HUD moves to

more blue, less green, and vice versa), and AHRS orientation is set to 0 (none).

As I have no background in programming, I will google the meaning of masking and bit masking to try the GCS_PID mask param.

Will try all your other suggestions and let you know.

Thank you.

Hi Pete and Greg,

Testing on the tracker has to stop as I run into problem with SITL software that after launching, the quad appears in Australia in MP map with “green tear drop” next to it. And the quad would not move after I arm it and takeoff, as I live in Vancouver, Canada where I set home.

I have tried many different ways to make it work again, but no luck.

What is the best category to post the SITL related question (I have more details) in the forum ?

I saw that happen too. I figured it was Tridge’s house. :wink:

Simply drag the quad back to where you live and set home again.