15
GPS Waypoint GPS Waypoint Navigation Navigation Team M-2: Team M-2: Charles Norman (M2-1) Charles Norman (M2-1) Julio Segundo (M2-2) Julio Segundo (M2-2) Nan Li (M2-3) Nan Li (M2-3) Shanshan Ma (M2-4) Shanshan Ma (M2-4) Design Manager Design Manager : Zack Menegakis : Zack Menegakis Presentation 2: Architecture Proposal January 30, 2006 Overall Project Objective: Design a chip that navigates an aircraft to pre-determined waypoints.

GPS Waypoint Navigation

Embed Size (px)

DESCRIPTION

GPS Waypoint Navigation. Team M-2: Charles Norman (M2-1) Julio Segundo (M2-2) Nan Li (M2-3) Shanshan Ma (M2-4) Design Manager : Zack Menegakis. Presentation 2: Architecture Proposal January 30, 2006. Overall Project Objective: - PowerPoint PPT Presentation

Citation preview

Page 1: GPS Waypoint Navigation

GPS Waypoint NavigationGPS Waypoint NavigationTeam M-2:Team M-2:

Charles Norman (M2-1)Charles Norman (M2-1)Julio Segundo (M2-2)Julio Segundo (M2-2)

Nan Li (M2-3)Nan Li (M2-3)Shanshan Ma (M2-4)Shanshan Ma (M2-4)

Design ManagerDesign Manager: Zack Menegakis : Zack Menegakis

Presentation 2: Architecture ProposalJanuary 30, 2006

Overall Project Objective:Design a chip that navigates an aircraft to pre-determined waypoints.

Page 2: GPS Waypoint Navigation

StatusStatus

Design ProposalDesign Proposal Project chosenProject chosen

Architecture ProposalArchitecture ProposalMATLAB simulatedMATLAB simulatedBehavioral Verilog writtenBehavioral Verilog written Behavioral Verilog simulatedBehavioral Verilog simulated

FloorplanFloorplan Schematic DesignSchematic Design LayoutLayout SimulationsSimulations

Page 3: GPS Waypoint Navigation

Application DescriptionApplication Description

We are designing a GPS based waypoint navigation We are designing a GPS based waypoint navigation system for use in an aircraft.system for use in an aircraft.

The system will be able to autopilot the craft through a The system will be able to autopilot the craft through a series of user specified GPS coordinates in 3 dimensions.series of user specified GPS coordinates in 3 dimensions.

Page 4: GPS Waypoint Navigation

Why Use a Chip?Why Use a Chip?

Our system would be perfect for an Unmanned Aerial Vehicle (UAV) Our system would be perfect for an Unmanned Aerial Vehicle (UAV) due to its light weight, low power consumption, low cost, and specific due to its light weight, low power consumption, low cost, and specific capabilitiescapabilities

The system is designed to do exactly what UAVs are best at: flying The system is designed to do exactly what UAVs are best at: flying over an area in order to observe it. The UAV has many military and over an area in order to observe it. The UAV has many military and civilian applications.civilian applications.

Page 5: GPS Waypoint Navigation

System FlowSystem Flow

Inputs will consist of GPS waypoint coordinates for the Inputs will consist of GPS waypoint coordinates for the vehicle itself taken from a satellite or given by a user.vehicle itself taken from a satellite or given by a user.

The system will continually sample the position of the The system will continually sample the position of the aircraft while holding the previous and current positions in aircraft while holding the previous and current positions in memorymemory

Calculate and output the course corrections that must be Calculate and output the course corrections that must be made in order to proceed toward the next destination.made in order to proceed toward the next destination.– Angle needed to hit next waypoint within 1 second (~106 feet)Angle needed to hit next waypoint within 1 second (~106 feet)– Difference in current and destination altitudes needs to be within 15 Difference in current and destination altitudes needs to be within 15

feet.feet.– Maximum speed must always be achieved.Maximum speed must always be achieved.

Page 6: GPS Waypoint Navigation

Block Description FSM Controller – Controls state flow in systemFSM Controller – Controls state flow in system

– Setup modeSetup mode– Navigation modeNavigation mode– Arrival modeArrival mode

SRAM – Stores up to 5 GPS waypoint coordinate setsSRAM – Stores up to 5 GPS waypoint coordinate sets Waypoint Reached Comparator – Decides whether the aircraft is Waypoint Reached Comparator – Decides whether the aircraft is

sufficiently close to the next waypointsufficiently close to the next waypoint Altitude Comparator – Compares current altitude to next Altitude Comparator – Compares current altitude to next

waypoint’s altitudewaypoint’s altitude Speed Comparator – Compares current speed to max speedSpeed Comparator – Compares current speed to max speed Speed Calculator – Calculates current speed at which the Speed Calculator – Calculates current speed at which the

aircraft is travelingaircraft is traveling Distance Calculator – Calculates distance between current Distance Calculator – Calculates distance between current

position and next waypointposition and next waypoint Sexagesimal Degrees to Decimal Degrees Converter – Converts Sexagesimal Degrees to Decimal Degrees Converter – Converts

Degrees/Minutes/Seconds to Decimal DegreesDegrees/Minutes/Seconds to Decimal Degrees ““Black Box” – Used to calculate arctan’s and squares for angle Black Box” – Used to calculate arctan’s and squares for angle

and speed calculationsand speed calculations

Page 7: GPS Waypoint Navigation

Block Level System DiagramBlock Level System Diagram

Page 8: GPS Waypoint Navigation

Behavioral VerilogBehavioral Verilog module FSMmodule FSM (output reg control, output reg [2:0] counter,(output reg control, output reg [2:0] counter, input [1:0] rw, input range, clk);input [1:0] rw, input range, clk); reg [1:0] state, nextState;reg [1:0] state, nextState; parameter A = 2'b00, //Navigate/readparameter A = 2'b00, //Navigate/read B = 2'b01, //Setup/writeB = 2'b01, //Setup/write C = 2'b10, //No OpC = 2'b10, //No Op D = 2'b11; //ResetD = 2'b11; //Reset

always @ * beginalways @ * begin case (state)case (state) A: beginA: begin nextState = rw;nextState = rw; if (range == 0) //not within rangeif (range == 0) //not within range control = 1; //turn on all functionscontrol = 1; //turn on all functions else //within rangeelse //within range control = 0; //turn off all functionscontrol = 0; //turn off all functions endend B: beginB: begin nextState = rw;nextState = rw; control = 0; //turn off all functionscontrol = 0; //turn off all functions counter = counter + 1;counter = counter + 1; endend C: beginC: begin nextState = rw;nextState = rw; endend D: beginD: begin nextState = rw;nextState = rw; control = 0; //turn off all functionscontrol = 0; //turn off all functions counter = 0;counter = 0; endend default: nextState = D;default: nextState = D; endcase // case(state)endcase // case(state) endend always @(posedge clk)always @(posedge clk) state <= nextState;state <= nextState; endmodule // FSMendmodule // FSM

module Distance_calmodule Distance_cal (output [11:0] result,(output [11:0] result, input [5:0] lat, lon);input [5:0] lat, lon); result = lat*lat+lon*lon;result = lat*lat+lon*lon;endmodule // Distance_calendmodule // Distance_cal

module wp_comp( output result , [22:0] lon_dif , [22:0] lat_dif, input [22:0] curlon, [22:0] curlat, [22:0] lat2, [22:0] lon2);

[22:14] lat_dif = [22:14] lat2 - [22:14] curlat; [13:7] lat_dif = [13:7] lat2 - [13:7] curlat; [6:0] lat_dif = [6:0] lat2 - [6:0] curlat;

[22:14] lon_dif = [22:14] lon2 - [22:14] curlon; [13:7] lon_dif = [13:7] lon2 - [13:7] curlon; [6:0] lon_dif = [6:0] lon2 - [6:0] curlon;

if ( ([21:14] lat_dif == 0) && ([12:7] lat_dif == 0) && ([21:14] lon_dif == 0) && ([12:7] lon_dif == 0) ) result = 1; else result = 0;

endmodule // wp_comp

Page 9: GPS Waypoint Navigation

Inputs / OutputsInputs / Outputs InputsInputs

– Latitude & Longitude Coordinates : 46 bitsLatitude & Longitude Coordinates : 46 bits Latitude : -180˚ to 180˚, Longitude : -90˚ to 90˚Latitude : -180˚ to 180˚, Longitude : -90˚ to 90˚ Degrees : 9-bit 2's complementDegrees : 9-bit 2's complement Minutes : 7-bit 2's complementMinutes : 7-bit 2's complement Seconds : 7-bit 2's complementSeconds : 7-bit 2's complement

– Speed :10-bit signed magnitudeSpeed :10-bit signed magnitude– Altitude : 15-bit unsignedAltitude : 15-bit unsigned– Mode : 2-bit unsignedMode : 2-bit unsigned

OutputsOutputs– Angle Correction : 9-bit signed magnitudeAngle Correction : 9-bit signed magnitude– Speed Correction : 11-bit signed magnitudeSpeed Correction : 11-bit signed magnitude– Altitude Correction : 16-bit signed magnitudeAltitude Correction : 16-bit signed magnitude

TotalTotal– 109 bits109 bits

Page 10: GPS Waypoint Navigation

Rough Transistor EstimateRough Transistor EstimateComponentComponent Number of TransistorsNumber of Transistors

FSMFSM 100100

SRAMSRAM 35503550

RegistersRegisters 25002500

Comparators (Waypoint Comparators (Waypoint Reached, Altitude, Speed)Reached, Altitude, Speed)

23752375

Heading CalculatorHeading Calculator 12801280

Angle CalculatorAngle Calculator 300300

Distance CalculatorDistance Calculator 26502650

Speed CalculatorSpeed Calculator 950950

Sexagesimal/Second Sexagesimal/Second ConverterConverter

30003000

TotalTotal 16,70516,705

Page 11: GPS Waypoint Navigation

Design DecisionsDesign Decisions

Merge groups M2 & M3 since 3 people in each group leftMerge groups M2 & M3 since 3 people in each group left Use a “black box” for the arctan and square functionsUse a “black box” for the arctan and square functions

– Each of these functions are projects by themselvesEach of these functions are projects by themselves– Increased accuracyIncreased accuracy

Implement speed and altitude calculatorImplement speed and altitude calculator Decrease number of GPS waypoint coordinate inputs from Decrease number of GPS waypoint coordinate inputs from

10 to 5 to reduce SRAM by a factor of approximately 210 to 5 to reduce SRAM by a factor of approximately 2 Use 2’s Complement for representation for coordinates & Use 2’s Complement for representation for coordinates &

Signed Magnitude for everything elseSigned Magnitude for everything else Sample current position every one second which allows for Sample current position every one second which allows for

up to 16.99 seconds (distance) of changeup to 16.99 seconds (distance) of change

Page 12: GPS Waypoint Navigation

AssumptionsAssumptions

Latitude & Longitude are always constantLatitude & Longitude are always constant– In reality, longitude is not constant (ranges from 0 – 69 miles per In reality, longitude is not constant (ranges from 0 – 69 miles per

degree) while latitude is usually 69 miles per degreedegree) while latitude is usually 69 miles per degree– This is really not a factor anyway because, we usually doing This is really not a factor anyway because, we usually doing

computations on the seconds aspect of the coordinatescomputations on the seconds aspect of the coordinates

Altitude is independent of speedAltitude is independent of speed– The speed we are calculating refers to latitude and longitudinal The speed we are calculating refers to latitude and longitudinal

directionsdirections– The plane will rise by a proportional amount determined by avionicsThe plane will rise by a proportional amount determined by avionics

Achieve maximum speed at all timesAchieve maximum speed at all times

Page 13: GPS Waypoint Navigation

Alternate Projects ConsideredAlternate Projects Considered

Parking garage management systemParking garage management system Guitar tuner/effects processorGuitar tuner/effects processor Swimming pool monitorSwimming pool monitor Smart sensor systemSmart sensor system Smart RefrigeratorSmart Refrigerator PID ControllerPID Controller Smart WatchSmart Watch

Page 14: GPS Waypoint Navigation

What’s Next…What’s Next…

Here’s what’s on our agenda for next week…Here’s what’s on our agenda for next week… Complete Verilog simulationsComplete Verilog simulations Decide types of adders, subtractors, etc. would be best for Decide types of adders, subtractors, etc. would be best for

our designour design Better estimate the size of our project and decide if we are Better estimate the size of our project and decide if we are

able implement one or both of the operations of the “black able implement one or both of the operations of the “black box”box”

Implement countdown until arrival at next waypoint?Implement countdown until arrival at next waypoint? Additional functionality?Additional functionality? Structural Verilog & Initial FloorplanStructural Verilog & Initial Floorplan

Page 15: GPS Waypoint Navigation

Questions???Questions???