This is an update from the original blog post in October 2011:
I've updated the Ardustation 2 source code to allow compilation with Arduino 1.0 Relax and the latest libraries for ACM 2.5.3 and APM 2.3.0. This update also includes a modification of parameter names for PID editing that match ACM and APM. The updated version is 2.0.12.
The download zip file also includes the libraries used to verify compilation of the software. The software has been lightly tested with ACM and 2.5.3 and has not been tested with APM 2.3.0. If you find any issues feel free to comment here or post an issue at the Ardustation 2 Google
The software is available here:
http://code.google.com/p/ardustation-ii/downloads/list
Download 2.0.12 for ACM 2.5.3 or APM 2.3.0 - compile with Arduino 1.0 Relax
Download 2.0.11 for ACM 2.0.48 or APM 2.24 - compile with Arduino 0022 Relax
Heino R. Pull
The original 10/2011 info follows:
With the help of Jeff E and Hai Tran, I've updated the Ardustation 2 Antenna tracker code to support the detection of the UAV platform from the Mavlink heartbeat. Parameter download and editing is automatically configured for ArduPilot 2.24 or ArduCopter 2.0.48 when Mavlink connects. The key parameters available for editing is modifiable in the source code with the PID gains set as the default for both platforms. A number of bug fixes have been made to previous versions of Ardustation 2 including a more standard Mavlink interface for the latest libraries distributed with APM 2.24 and ACM 2.0.48.
This version has been ground tested with APM 2.24 and ACM 2.0.48 with parameter editing, but testing is still needed to verify that the appropriate parameters are changed correctly. Please be cautious if you try this software out and verify the parameter changes with the Mission Planner. I don't have a fixed wing setup to test APM in the air, but I plan to test ACM 2.0.48 while tuning my loiter values on my quad this week. I've included the libraries used to compile the code in the zip file.
A video describing the original antenna tracking functionality is available here: Original Ardustation 2 Antenna Tracker Post and Video
The updated code is available here: Ardustation 2 ACM/APM Version 2.0.11
This software is based on Phillip Anthony Smith's Mavlink Ardustation. Thanks also to Jeff E and Hai Tran for their code additions and suggestions.
Comments
Willem,
The Ardustation has a specific connector for the Xbee radio and I don't have a 3DR so I'm guessing a bit. The ground 3DR uses USB and that isn't compatible with the Ardustation unless the serial transmit and receive lines are broken out from the board. The Ardustation wants to see a radio with a transmit, receive, and gnd signal and normally powers the Xbee with 3.2 volts. I'm not sure what the power requirements are for 3DR and if the air 3DR could be used with another air 3DR. There is a header on the Ardustation with transmit/receive and gnd and in theory that could hook up to another radio from the Xbee. It would be best to ask in the 3DR forum where the experts on this product can answer questions with respect to the Ardustation compatibility.
Heino
Would this work with the 3DR radios?
Willem
Hi Dirk,
I've always been interested in implementing a cheap DGPS solution for increased accuracy and pursued using Garmin OEM GPS modules which had access to the raw GPS data for backing out pseudorange errors. The problem with using cheap modules such as the MTK is that in reality there positions reported from a cold or warm start is suprinsingly different given that the modules are at the same location. If you try it you'll find that the best fix for poor positioning is really letting the module see a good constellation of satellites in the sky with ideal geometry and some time to get a good fix. Doing DGPS with cheap modules at the cooked lat/lon outputs just doesn't work. The other issue is that the Ardustation only has one serial port and is limited on memory. If the Ardustation was based on a beefier Atmel processor, it would be trivial to add. Several people are working on revised Ardustations of that sort.
Here are some links on issues with "poor man differential GPS"
http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=109246
http://gpsinformation.net/main/poordgps.htm
Heino
Hello Robert,
In the default configuration of multiple ground Xbees the Xbee receiving data will not transmit the received data to an Xbee that is not receiving data due to range from the aircraft Xbee. There are advanced configurations on the Xbees (mesh) that I really haven't looked at that might do it but I'm not really certain.
Thanks. It's working great.I will try leaving the home position alone but if I have trouble I will set it each time. Tonight I'm going to put a laser on it to see how well it's tracking.
If I understand your question correctly, both Arducopter and Arduplane use Mavlink for the datalink and it is a bidirectional protocol. This complicates sharing an XBEE connected both to a PC and an Ardustation at the same time. The serial interface has a transmit wire coming from both the Ardustation and the PC and the software on both can transmit at any time (such as start/stop feed, or upload parameters) and the Ardustation and PC don't know of the existence of the other. Normally sharing the transmit line requires some handshaking between the 2 transmitters and that wouldn't exist.
What I do is to use 2 XBEEs at the same time on the ground. One for the Ardustation and one for the PC. The XBEE in the aircraft can talk to both XBEES on the ground and data transmitted to the aircraft is coordinated by the way the XBEEs create transmit packets. It works pretty well for me but you have to buy 1 extra XBEE.
Ok thank you very much for the explanation, I'm not very knowledgeable on the subject.
Ardustation not be possible to use Xbee? would be receiving from the PC with Xbee? to share the same Xbee APM and Ardustation Planner?
Congrats - that looks great.
Since your system is fixed you can leave the home setting alone - except that I found that the GPS from a cold start is always off in some direction from your actual lat/lon/alt. As time goes on, the GPS position gets better, but due to the various errors involved will always move around a bit. You can experiment with this issue by leaving your A/C with the GPS running on the ground for an hour or so and watch the position on the Mission Planner. It will be moving around the actual position based on the geometry of the current position of the GPS satellites in the sky The best performance seems to be when the satellites are distributed evenly above - not bunched up in a small area or all in a line. Therefore, I found that even though I fly a bunch in my back yard with the antenna in basically the same spot, I get better performance setting the home location just before I fly using what the GPS currently thinks is the current position of the antenna instead of the surveyed location. It makes less of a difference if you're not flying in close when the home position accuracy is not as important. In my back yard I stay within 300 feet of my antenna so I need to use what the GPS thinks is my home position. As you play with it you can leave the position as set in the antenna after you get a good lat/lon and see how it feels.
A BEC would work fine and you wouldn't need a heat sink. They usually use switching regulators which are far more efficient than the linear regulator on the Ardustation.
Heino, I was able to get it working doing as you said. It works great!! I'm going to upload some pictures later showing how I added the ardustation to the pan and tilt kit. I put it on the opposite side of the battery to help it stay balanced. Then I put everything on a really heavy piece of Ipe wood. Since I don't plan to move it. Would it be possible to set the location and altitude of the antenna instead of using the copter and pressing home? Then I can pinpoint my location of the antenna in google earth and enter those lon lat numbers. Maybe I will get a more accurate home location for the antenna so it tracks better.
For now I will run it on USB until I can replace the resistor or maybe easier would be to use a BEC and run the 5v to the board directly?
-
1
-
2
-
3
-
4
-
5
of 9 Next