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
I have been working on a copy of the AVR version of this project and I have replicated this same inconsistent pitch problem. In an effort to add something to solve this pitch problem I will share what I have found. I discovered that the following functions are called at different points
void Tracker::arm_servos()
{
channel_yaw.enable_out();
channel_pitch.enable_out();
}
void Tracker::disarm_servos()
{
channel_yaw.disable_out();
channel_pitch.disable_out();
}
What I have discovered is that once the pitch servo is disabled the call to arm the servo sometimes does not happen. I don't know why it was only pitch that was affected. To work around this I added a
channel_pitch.enable_out();
to the servo.cpp update pitch servo function before the
channel_pitch.calc_pwm();
channel_pitch.output();
Once I did this the pitch has not failed to update. The reasons why the call to arm the pitch is unreliable I still don't know. Hope this helps in some way.
I will look into that once I diff my (working) version with 0.7.5
Hello, ;we are africans and we want to sharemany tricks of DIY with you . To know more about what we are talking, join us here http://www.pchoco.com
Yes, I'll extract it tonight and post.
Randy,
Here is the .BIN file from my testing. I also downloaded it via Mission Planner and ZIPed the various files together. I am not sure what the difference is so it is probably the same information in different formats.
This was my AT HUD.
v075Log3.zip
3.BIN
As a side note, I realize that testing indoors is not recommended but I could rotate the AT left or right and see the yaw correct but the pitch always remained down even when I tipped the AT forward or backward. If I reversed the pitch checkbox in the Extended Tuning screen, the AT always pointed straight up using the v0.7.5 firmware.
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?