NASA - Local Positioning System
|Sponsors||NASA Office of Education
|Team Name||Spud Patrol|
|Duration||2018 - 2019|
The goal of this project is to create a relatively cheap and easy to set up method of tracking people, vehicles, and equipment in real time in an area where GPS is unavailible (i.e. Mars).
- 1 Problem Definition
- 2 Design Considerations
- 3 Project Learning
- 4 Team Members
- 5 Additional Documentation
Current Global Postitioning Systems(GPS) require the use of satellites in order to determine a location. On another planet like Mars they would be expensive to ship and difficult to repair or move to a different location. By using a series of balloons tethered around a specified point, it is possible to create a system that would function at a much cheaper cost and be easier to set-up and use than satellites.
The Local Positioning System must act as an easy to set up replacement for GPS systems mounted on a series of tethered balloons. It must cost less than the price of shipping a satellite to Mars and update a users location in "real-time"
- User Interface
- The system shall take no more than 3 hours for 3 people to set up and launch
- All set up activity shall take place no more than 250 m from a defined central point.
- Postitioning Requirements
- Position information shall be displayed to a user at the defined central point or to a mobile user.
- The system shall determine the positions of one mobile unit relative to a defined central point.
- Positions shall be determined with an accuracy of +/- 4 m in any direction.
- shall be determined and displayed within 10s of a mobile unit occupying that position.
- Position measurements should be time stamped and recorded.
- The system shall be capable of determining positions of mobile units anywhere within a 7 km radius of the reference point.
- The system shall operate continuously for at least 8 hours.
- Critical subsystems shall be designed to fly on moored (tethered) balloons.
- At least one balloon shall be launched as a critical part of a demonstration of the system.
- The system is expected to have full operational capabilities in environments with ambient temperatures of -20°C to 40°C and winds of up to 9 m/s and no precipitation.
- FAA Requirements
- 14 CFR 101.13
- 14 CFR 101.15
- 14 CFR 101.17
- 14 CFR 101.19
- FCC Requirements
- Communications devices must operate in amateur radio or unlicensed frequency bands, and comply with all regulations that apply to the selected bands. See FCC frequency allocations (3) and relevant regulations.
- All components must comply with FCC regulations at all times.
- Cost of a theoretical final product shall not exceed the cost of a GPS satellite launch.
- Cost to produce the prototype shall not exceed $10,000.
The current plan is to use software-defined radio(SDR) to measure when a signal is sent and received. A SDR eliminates the need for traditional hardware components and circuits and instead implements them through the use of software running on a computer. Three balloons will be tethered 140m above the ground and mounted an SDR to receive radio signals. The receivers need to be located above the ground in order to have a clear line-of-sight to the transmitter since the radio waves will travel different speeds based on the medium they are traveling through.
Fundamentally, the location of an object can be determined by measuring its distance or angles from three or more known references. The more references used in the calculation of the position will increase the accuracy of the calculation. By measuring the time it takes for a signal of an unknown origin to travel to a receiver with a known location, it is possible to determine how far a way the signal originated from. Using the distances from known references is called Multilateration. Our current design is to use three tethered balloons who's locations are known in order to provide the known references, and use the time it takes for a radio signal to reach each of the three balloons to find the location of a mobile object.
Gnu Radio is a free, open source software used to create software defined radios and simulations. The user pieces together either pre-defined blocks or creates their own custom blocks in python to create flowgraphs that perform a specific function. We have started off by creating a flowgraph to achieve basic communication between two antennae.
GNU radio is able to run on linux and is light enough that it can be run on a small micro controller like a raspberry-pi.
Time of Arrival(ToA) calculations rely on having the exact time that the signal is sent and received to a reference point and subtracting them to get the time it takes for the signal to arrive. This system provides a 3D sphere around the reference point that can be compared with other spheres from different reference points to pinpoint a location. The point where each overlapping sphere meets is the location of the transmitter.
The biggest problem with this system is that it requires us to have a way to ensure that the clocks on the transmitter and receivers are very closely synced, as even the smallest difference will have an effect on the final answer. For this system we would have one transmitter and multiple receivers with known locations that measure the time.
Instead of measuring how long the signal takes to reach a reciever, Time Difference of Arrival(TDoA) calculations measure the difference in when multiple signals reach a receiver. While ToA calculations require a high degree of coordination from each transmitter, the TDoA calculation does not require the time the signal was sent out. They only require that the signal was sent out at the same time from all receivers.
This works in our situation since we can have each balloon physically connected to the other to send a signal whereas it is much harder to sync two clocks that are 7 km apart. The result gives a hyperboloid of the location of the receiver for each transmitter as opposed to a sphere. Each hyperboloid can then be referenced to the others and where they all intersect is where the receiver is. This system would have multiple transmitters with known locations and one receiver that we are trying to locate.
Pseudo-Random Sequence Correlation
Pseudo-Random Sequence Correlation is a way satellites are used determine the arrival time of a signal to determine the distance away an object is. Each satellite plays a unique sequence of numbers that appear random however are predetermined by a known formula. Each receiver knows the code that each satellite is playing in advance. When a receiver wants to calculate the distance to a satellite, it starts playing the code at the same time as the satellite starts it. The difference in what the receiver is creating and what it is receiving from the satellite gives the distance away from the satellite.
This system can be adapted for use with balloons just above the earths surface as opposed to satellites orbiting the planet. The only limitation is it still requires a clear line of sight between the object and the transmitter as every object in the way will increase the time it takes for a signal to travel the distance. This system also inherently supports multiple users at the same time, especially if the positioning calculation is done at the receiver as opposed to a centralized location.
Movement of Balloons
Since we are using weather balloons we have to find a way to account for the movement of the balloon in each calculation. One option is to use the same system we have for each radio however we would add in a known base station on the ground. We would then be able to find the position of each balloon just before sending the signals, and assume that the balloon was not able to move that much during the time it takes to send and receive the signal. The downsides of this is that is might be difficult to perform this calculation in a small enough time to still hold the assumption that the balloons position would not change.
Another solution to this is to use an accelerometer and strain gauge attached to each balloon. The accelerometer would provide the angle the balloon is relative to the ground. The strain gauge would give us the strain in the rope from the balloon which would give us the elongation of the rope. These combined with knowing the initial length of the rope would give us a position of the balloon. This solution provides us with a set of much less computationally intensive equations. The problem encountered with this approach is that the rope will not be a straight line connecting the balloon to the tether. The curvature of the rope will also not be consistent enough at each position in order to predict what it would be without predetermining the positions of this experimentally, removing most of the benefits we would get from this system.
As an alternative, we are looking into an Impulse tracking system, which would keep track of the position of the balloon once the system is turned on. However, these systems run into problems without a way to calibrate them as they are running as the small errors in the calculation of the impulse compounds to eventually lose the true position of the balloon. If our only problem is computational time, we might be able to use the ground stations to calculate the position of the balloon and then use the system to keep track of the balloon for a short time while the radios calculate the position of the mobile unit.
Major: Electrical Engineering
Major: Electrical Engineering
Major: Mechanical Engineering