Arduino Tracking Arch Doc

Rough Note:

Sensors:

GPS - TBS NEO8M,

IMPORTANT: Update the AAT_LONG and AAT_LAT values to the tracking antennas current longitude/latitude

Library we’ll be using: TinyGPS++, SoftwareSerial, NeoGPS GitHub - SlashDevin/NeoGPS: NMEA and ublox GPS parser for Arduino, configurable to use as few as 10 bytes of RAM

IMU- BMX160,

Library we’ll be using: Curie IMU Library

https://docs.arduino.cc/retired/archived-libraries/CurieIMU

 

Actuator:

XBee/ RFD900(talking to the ground station, so the ground station laptop needs to forward the drone gps data to tracking antenna)

Library we’ll be using: XBee Arduino Library https://www.arduino.cc/reference/en/libraries/xbee-arduino-library/

 

Servo/Motors

Library we’ll be using: Basic servo library.

https://docs.arduino.cc/learn/electronics/servo-motors

Requirement for the Arduino Board:

At least it needs to have:

2 uarts, 1 I2C port, two pwm channels

-Arduino UNO has one hardware uart port, thus we’ll be using arduino Mega that’s sitting in our bay. This device has 3 UART ports.

 

Algorithm: Using trig https://github.com/Dronolab/antenna-tracking/blob/master/Control/antennaControl.py

https://community.esri.com/t5/coordinate-reference-systems-blog/distance-on-a-sphere-the-haversine-formula/ba-p/902128 (Used to calculate distance between drone and ground station → Later used to calculate pitch rotation)

https://www.igismap.com/formula-to-find-bearing-or-heading-angle-between-two-points-latitude-longitude/ (Used to calculate the yaw rotation)

 

 

23.02.14 Note: Formal Doc (Currently just template, will be updated soon)

Principle Engineer

@Ayoung Eun @Aryan Kashem

Forced to Review

@Anthony Luo @Hardy Yu @Aaditya Chaudhary

Dragged Along

 

 

Uplifted

 

Objective

Use Arduino to add autonomous yaw/pitch motion to tracking antenna. Use drone GPS coordinates from the ground stiation to allow the antennas to track the drone.

 

 

Key outcomes

Use arduino to make the tower track the drone. It will use drone and ground station GPS data to calculate the yaw/pitch rotation of two servo motors.

Yaw adjustment should be able to rotate 360 degrees multiple times
Pitch adjustment should be able to go from ~20 to 90 degrees

Status

DESIGN

 Problem Statement

  • Use Arduino to implement a tracking algorithm to use drone and ground station GPS data to calculate the yaw/pitch rotation of two servo motors.

 Scope

Current Must Haves:

  •  Drone Tracking algorithm

  • Servo driver

  • IMU Driver

Current Must Haves:

  •  Drone Tracking algorithm

  • Servo driver

  • IMU Driver

Future Expansion:

  •  Predictive yaw/pitch motion

Not in scope:

  •  

Tasks Break Down:

 Timeline

 

Design

Coding

Testing

Design Non-Volitile Storage Arch

Review

Implement

Test Driver

Test Interface

 Implementation Details

 Actions Items

 

 Milestones and deadlines

Milestone

Owner

Deadline

Status

Milestone

Owner

Deadline

Status

Milestone

Owner

Deadline

Status

Milestone

Owner

Deadline

Status

Approved Interface Structure

 

 

In Progress

Coding

 

 

 

Driver Testing

 

 

 

Interface Testing

 

 

 

Open Questions

  • What is the performance & reliability of SDMMC versus SPI?

 Reference materials