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.
Replies
For my next test, I'll try the v0.7.5 firmware again with a live link to a copter in another room. The yaw worked fine and if I move the AT clockwise or counter-clockwise it would change the antenna position to follow the (stationary) copter in another room. The pitch, however, would always point down and not change when I tipped the AT forward and backward. This used to work on my previous Pixhawk setup so now I suspect I need to try the Reverse checkbox with a live link and perhaps Jakub's firmware again. I also now realize that I should not see any effect from PID changes when using the slider and test button on the Extended Tuning screen. The slider and test button appear to be used for testing min and max PWM values. In my AT, I have restricted these values to a 180 degree range for yaw and a 90 degree range for pitch. My target copter or plane will always be in this area.
As a future enhancement, perhaps the Reverse checkbox and PID settings could be either removed from the Extended Tuning screen or have their effect added to the pitch and roll testing. It seems that there are two functions mixed together in this screen.
On a completely unrelated note, when using the v0.7.5 firmware, the second telemetry link from the AT to the GCS works perfectly and the latest Mission Planner allows for an easy change for the GCS to look at the copter telemetry. It appears seamless and works very well! My AT uses 900MHz for the copter telemetry and 433MHz for the GCS telemetry.
With my new understanding of the Extended Tuning Screen, I retested the both AT firmwares Official v0.7.5 and Jakub's v0.7.2 using a live copter telemetry link. As far as the Reverse checkbox functionality, it worked fine on both firmwares. However, in actual use with a telemetry link to my Tarot hexacopter, the pitch did not work on the Official v0.7.5 firmware but worked fine when using Jakub's v0.7.2 firmware.
So there may still be a bug in the v0.7.5 firmware as others have reported similar findings.
Greg,
Any chance you could extract a dataflash log from the antenna tracker?
Hi Randy,
I installed my new Pixhawk on the AT and I'm having an issue with pitch on the v0.7.5 firmware.Yaw works fine but pitch just points down. According to the Wiki,
"Lower pwm values should cause the tracker to aim down, higher pwm values to aim up."
On my AT, the yaw follows the Wiki, but for pitch, lower pwm makes the pitch go higher. I have tried unchecking the "Reverse" box for pitch and nothing changing. Even after a re-boot, the box remains unchecked but the pitch still goes higher with a lower pwm value. Also related, the "Pitch Gain" parameters seem to have no effect. I can set them all to zero values and see no difference in operation. My current settings are in the image below.
Any ideas on these issues?
Hi Sebastian,
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
Hi Jakub,
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...
Hi Greg,
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.
Greg,
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)
-
35
-
36
-
37
-
38
-
39
of 104 Next