AntennaTracker: initial documentation

This commit is contained in:
Mike McCauley 2014-03-07 08:14:39 +10:00 committed by Andrew Tridgell
parent b4a0c7db63
commit 66016e3d1b
1 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,168 @@
AntennaTracker
Mike McCauley
2014-03-05
This is the ardupilot AntennaTracker
This software, combined with appropriate hardware, can be used to cause a
high-gain antenna to track a mavlink equipped air or ground vehicle in real
time, providing higher quality radio links over longer distances than a
stationary or omnidirectional antenna.
AntennaTracker can be a stationary installation on the ground, or can be
mobile, mounted on a vehicle, and moving at the same time as the vehicle it is
tracking, such as on a pursuit vehicle etc.
Antenna Tracker Hardware
The software works with:
- Alt-Azimuth mounted antenna, equipped with 2 servos: one for Azimuth (also
called bearing or yaw) -180 to 180 degreees and one for Altitude (also
called elevation, or pitch) -90 degrees (straight down) to 90 degrees
(straight up).
- Ardupilot compatible processor such as
-- Flymaple
-- others tested?
and with a radio or wired link to a source of mavlink messages with the
tracked vehicle's position data.
A suitable power supply is also needed, possibly battery powered. In the case
of Flymaple, the onboard 5V regulator is not able to drive large servos
without causing large amounts of electrical noise in the processor, so you
would probably need an external 5V regulated supply
Theory of Operation
AntennaTracker receives real-time GPS position reports from the vehicle being
tracked (in the form of GLOBAL_POSITION_INT messages sent by mavlink radio
connection or possibly by hardwired serial connection). AntennaTracker also
knows it own current position. Based on these 2 sets of coordinates, it
calculates the magnetic bearing and elevation to the vehicle. It then moves
the tracker servos until the antenna (and the AntennaTracker processor) are
aligned with the desired bearing and elevation. At this stage the antenna is
pointed straight at the tracked vehicle. As the vehicle (and possibly the
antenna mount itself) move around, the servos are continually move to track
the vehicle.
AntennaTracker currently only supports closed loop feedback to position the
antenna. This requires that AntennaTracker processor (including
accelerometers and compass) be mounted on the moving part of the antenna
tracker hardware. The servos are moved until the yaw and pitch of the processor
(and therfore of the antenna itself) matches the bearing and elevation to the
tracked vehicle.
How does AntennaTracker know where it is?
- If the tracker is equipped with a GPS and it has a good 3D fix, the most
recent good GPS fix is used.
- If the tracker is equipped with a GPS and it has lost its fix, the most
recent good GPS fix is used.
- If there is no good GPS fix since startup (either because there is no GPS
equipped or because the GPS has not yet got a fix), the most resently set HOME
location is used.
- If no HOME location has ever been set in the tracker, 0.0 Latitude, 0.0
Longitude, 0 Altitude are used (which is probably not very helpful)
How does AntennaTracker get GLOBAL_POSITION_INT messages from the tracked
vehicle?
<more here>
Mounting
The AntennaTracker processor must be mounted on the moving (ie the rotating,
tilting) part of the antenna tracker hardware. Just how you do this will
depend on your exact hardware, but if the processor is mounted in anything
other than the default orientation (ie with the processor default 'forward'
direction pointing in the direction the antenna points, you will have to
configure AHRS_ORIENTATION in the AntennaTracker configuration to suit your
mechanical mounting arrangements.
In my case, I used a Flymaple with AHRS_ORIENTATION set to 1 (Yaw45). The
Flymaple was mounted on the antenna tracker with component side up and the
green pin headers horizontal and perpendicular to the antenna beam (See
pictures???).
Configuration
It is vitally important that your AntennaTracker be properly configured for the
mounting, servos and other hardware in your tracker. Unless you do this IT
WILL PROBABLY NOT WORK AS EXPECTED. CAUTION: It might even oscillate or flap
around. It might even damage itself.
AntennaTracker (like other ardupilot software such as ArduPlane, APMRover2
etc) has configuration values that control and tailor its operation, and which
are stored in EEPROM on the processor. The configuration is restored from
EEPROM every time the processsor starts.
You can use MissionPlanner, mavproxy or apm_planner or other mavlink compatible
software to check and change the configuration of your AntennaTracker.
You will almost certainly have to change the following configuration items to
suit, and possibly others besides:
AHRS_ORIENTATION
RC1_MIN
RC1_MAX
RC1_REV
RC2_MIN
RC2_MAX
RC2_REV
PITCH2SRV_P
PITCH2SRV_I
PITCH2SRV_D
YAW2SRV_P
YAW2SRV_I
YAW2SRV_D
(more info here about how to find the right values)
You can find the complete set of configuration items I used for my Flymaple
tracker mounted on an Eagle Tree tracker WHERE?????
Levelling
Since AntennaTracker uses its internal accelerometers to determine the current
elevation/pitch of the antenna, it is important to 'level' the AntennaTracker
before use so the accelerometers are calibrated. Failure to do this will
result in the antenna constantly pointing a bit high or a bit low compared to
the tracked vehicle.
You can do this by connecting to the AntennaTracker with mavproxy and issuing
these commands:
disarm
- manually move the antenna so the antenna is level and pointing at 0 degrees elevation
i.e. at the horizon
level
- wait a minute without disturbing the antenna position
arm throttle
- this rearms the servos, allowing the antenna to move
Operation
<more here>
How to set the HOME location
If your AntennaTracker is not equipped with a GPS, you can still use it to
track vehicles. First you will have to tell AntennaTracker where it is on the
ground by setting its HOME position.
Connect to AntennaTracker with mavproxy
module load map
- the map will appear.
- Zoom and drag the map until you can see the location where
your AntennaTracker is located
- Click the mouse on the location of the antenna
wp sethome
AntennaTracker will now remember this as its HOME location whenever it is
started.