Not 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.
Thanks for the suggestion but I tried that also. I believe that the pitch reverse is under the RC2_REV since there is no PITCH_REV parameter. Let me know if I am wrong here...
Did you try my old firmware? It worked fine with Pixhawk and you should be able to test your setup before upgrading to 0.7.5
I tried your 0.7.2 firmware for Pixhawk (after first loading APM:Plane to completely erase eeprom) and have the same result on the Extended Tuning screen for Pitch test. The Reverse checkbox does not change the direction and moving the position slider to the left makes the AT pitch up. I did not try a live connection to the copter.
This is the same AT that was working last summer with your firmware. My only change was the Pixhawk so perhaps there is something I have not calibrated. The HUD looks good and I even tried a servo tester on the pitch servo and it behaves properly. I'll keep looking...
When I started with this project, I had the same issue. Pitch 100% not working. So I tried the Jakub software, and bingo, all well.
I did notice though that you need to test with quite some altitude difference before the tracker starts working in pitch.
I've tested in the field with my UAV's, and I must admit I am impressed with the performance. It really tracks spot on.
But I've also noticed other people have the same problem in pitch with the "official" 0.7.5 firmware.
My only problem is the logfiles in mission planner. But it is a minor issue.
in theory CR mode should work with position servos provided that I_MAX parameter is sufficient for the tracker to go from minimum servo value to maximum - CR code will keep incrementing I term until it is close to desired angle, thus acting as a standard servo controller. The reason I mention it is because you can upload my firmware, switch to CR mode and use sliders as an angular reference (in my firmware when servo mode is switched to CR sliders represent angular position, not direct servo pulse). If your servos are reversed the movement will be erratic, because tracker will be unable to reach desired position (servos will move the opposite direction). Of course PIDs will have to be different for this to work properly but for testing purposes it should be fine (with some oscillation probably). If I remember correctly pitch slider goes from -90 to +90 respecting limits applied in max_pitch_angle or something like that in full parameter list and yaw goes from 0 to 360, so if your tracker is limited in YAW you may notice it is stuck at servo limit (trying to rotate to the other side)
Just to be clear, checking the "reverse" checkbox does not change how the tracker responds to the slider but it will change the direction of movement when the tracker is used to actually track something. I thought I'd added a note saying that to the wiki but reading it again it's likely not clear.
Thanks to everyone who's worked on this so far - I'm really looking forward to using it!
Question: I've built it all, now what do I do? The AT Manual stops there.
When I have a radio connected with the same netID as the aircraft, does it automatically connect? How do I get it talking to the aircraft? I have turned both the AT and the aircraft on, and the AT just sits there.
If you're using a 3DR radio (or equivalent) the green lights on the radios should stop flashing and go solid when a connection has been made. The light on the Pixhawk should also go solid green once it's got the position from the vehicle.
Thanks for the help!
I'm using an APM 2.6.
What should happen? It should move to point at the aircraft without me doing anything? If I move the tripod around, should the antenna dynamically move to keep pointing at the aircraft?