Developer

figuring out the Antenna Tracker

3691139590?profile=originalNot many people know but we have an piece of open source software for controlling an Antenna Tracker.  It's been built by Tridge (Arduplane lead developer) for use in the outback challenge.

Sadly we have no documentation and, as far as I know, nobody except Tridge has used it.  Still given Tridge's track record on building great software I suspect it works well and if it doesn't, I'm sure we can fix it.  So to not let this piece of code go to waste, I'd like some help from people who are interested to give it a try and help me figure out how it works.

Here's the little that I know:

  • It runs on any of our supported board (APM1, APM2, PX4, Pixhawk, Flymaple and perhaps VRBrain)
  • For APM1/APM2 users building the code is as easy as opening our hacked ArduinoIDE and selecting File > SketchBook > Tools > AntennaTracker and then building in the normal way.  For PX4/Pixhawk, our autobuilder doesn't automatically build a binary but I can provide one if people are interested.
  • It can control a Pan and Tilt gimbal like this or this found on servocity.com.
  • It may or may not require a GPS
  • It must somehow receive vehicle position updates from the ground station which has the telemetry radio that is connected to the vehicle. Maybe through a USB cable.  Tridge probably uses the python ground station, MAVProxy, to passthrough the vehicle position data to the AT but perhaps we can get MichaelO to build out a similar feature in Mission Planner.
  • I imagine this antenna tracker could also be used to keep a camera focused on the vehicle which might be good for easing the burden on creating videos of our vehicles.

So if you want to give it a try please do and stick any findings, questions or issues below. Alternatively Issues can go into the issues list.

I'll start sticking things into the wiki as they become clear.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

      • Jakub, here are some pictures of 433MHz ground module.

        20150716_184734.jpg

        20150716_182636_LLS.jpg

        20150716_182743_LLS.jpg

        • Palo,

          I made a quick drawing. You need to remove 2 components marked with circles and solder 4 wires. HM-TRP module is supposed to work off 3,3V and this is accomplished by soldering +5V wire directly to USB plug (it has an onboard regulator). My concern regards connecting it directly to APM, which operates at 5V levels. What would happen is HM-TRP will see +5V on APM's RX pin. Datasheet doesn't mention any maximum ratings and I had it working in such setup but you have to keep in mind, that it may eventually break HM-TRP chip so proceed at your own risk. Such problems don't appear with Pixhawk, since it operates at 3,3V.

          20150716_184734.jpg

      • Jakub,

        very nice to read such lines :-). I will send the detailed picture as soon as I will be at home, perhaps in 3-4 hours. I assumed that FTDI chip has to be somehow avoid to use simple serial lines from main chip...

        But I'm not very skilled in electronics :-/

  • Hi all,

    Sorry to be a noob and ask this.

    Started working on the tracker project from yesterday. My intended setup is:

    Plane RFD900 connects wireless to ground RFD900 connected directly to GCS via USB, Antenna tracker with Pixhawk as controller board connected via USB to GCS.

    The pixhawk runs AT 0.71 firmware and plane runs the latest AP 3.3 firmware. Currently using APM 2.5 inside the plane but will use pixhawk (which has been ordered already) inside the plane. MP version is 1.3.30.

    Although it doesnt matter - i m testing with 3dr v2.0 instead of the RFD900 which has been ordered and awaited.

    Till now:

    Pixhawk seem to control the servo just fine while testing.

    During bench testing, When i connect my 3dr radio and the plane, the connection is solid and i get telemetry. So i connect my tracker pixhawk to GCS via USB and it is detected in my GCS. How to go about passing the planes position data from GCS to the tracker pixhawk.

    Please advice!!!

    Thanks in advance!!

    • Karthik,

      Although Mission Planner can do it (i didn't test it) It is meant to work differently. You should move your RFD900 (or whatever you use at this time) from GCS (Laptop) to TELEM1 port on Pixhawk (the one mounted on Antenna Tracker). Then you should connect your GCS via USB cable to Pixhawk's USB port. Pixhawk will relay all communication between GCS and plane and read plane's location in the meantime. When you start Mission Planner in this setup and click "connect" (115200 baud) it will recognize 2 devices and you can choose which one you wish to connect to. The positive side of this solution is that you will see your tracker on the map while being connected to Plane.

      It doesn't really matter if you use Pixhawk or APM on both ends - I have tested it in all possible configurations. Software-wise APM and Pixhawk are nearly identical. In fact I don't see a reason for using Pixhawk on Antenna Tracker side, since APM is cheaper and gives the same results, plus most APM/Pixhawk users have at least one APM laying around and collecting dust.

      • Jakub,

        Thanks mate!!!

        Will try it immediately and disturb u again if i have any doubts!!!

        Really appreciate it. Thanks again.

  • I've got and tested the Firmware from Jakub, look here

    The Firmware works out of the Box! That is the first time that I saw my Tracker working! Great Jakub - Thanks a lot!

    The Tracker follows the Copter in the yaw-Axis very precise and fast. Only in pitch it stays in 45°, as you describes. What is the reason that the pitch stays in +45°?

    Without a MAVlink stream from the copter it is easy to tune the PIDs! great!

    I´m using this CR servo from HK 

    and find out this PIDs:

    YAW:

    P=1,5

    I=0,8

    D=0

    PITCH:

    P=0,8

    I=0,5

    D=0

    I found out that the PIDs a not critical and also works great with different PID´s

    3702046060?profile=original

    AT-Param_Jakub_version.param

    • Great news, I'm glad that my firmware works!

      The pitch should work normally as soon as it gets proper MAVLink data. I will look through the code, maybe I left some "debug" leftovers with fixed angles. In the meantime - does PITCH axis work when you move PITCH sliders in MP (screenshot in your post)? Was your copter armed during these tests? Maybe it just didn't calibrate the BARO properly. Can you verify, that your tracker is in fact in "AUTO" mode? When you enter servo_test mode it won't switch to AUTO by itself, you need to change mode via MP. You can also change mode to "SCAN" - it should rotate and move PITCH from time to time.

      • Hi Jakub,

        Yes the pitch is working if I´m using the slider, also when I´m moving the hole tracker in Pitch axis the pitch adjust to 45° again. In Scan Mode also the pitch goes up and down. When back in Auto the pitch goes back to 45° and stay there.

        The Baro is 0 as it should as normal:-)

        • What do you mean by "baro is 0"? Baro should be around 1000 in Copter during normal operation.

          AntennaTracker firmware (in this version - I'm working on a different solution) calculates pitch by dividing Tracker's baro reading by Copter's baro reading. It then uses calculated difference to estimate altitude difference based only on barometric pressure. This altitude, combined with distance to target, results in pitch angle. You can see the routine here: https://github.com/rcairman/ardupilot/blob/tracker-0.7.1-full/Anten...

          The function "tracking_update_pressure" is located elsewhere and you can see it here: https://github.com/rcairman/ardupilot/blob/tracker-0.7.1-full/libra...

          If your Copter reports press_abs = 0 then AntennaTracker firmware will stumble upon division by 0 and thus result in erratic pitch calculation. In line 151 in tracking.cpp you can see a simple check (!isnan), which returns 1 if alt_diff is not a number (division by zero results in such behavior). On the other hand, the tracker should zero pitch in such case so I am unsure what is going on. Can you make sure that your copter is armed (preferably in air) and alt_hold works as expected?

          rcairman/ardupilot
          APM Plane, APM Copter, APM Rover source. Contribute to rcairman/ardupilot development by creating an account on GitHub.
This reply was deleted.

Activity