Difference between revisions of "F16: Autonomous Nautical System"
(→Testing & Technical Challenges) |
(→My Issue #1) |
||
Line 144: | Line 144: | ||
The test plan includes unit testing, and integration testing. After writing the code for each task we used each method of each task class as the starting point. Before, during and after development any referenced class endured it's own unit testing. For example the classes which control communication protocols were heavily tested to ensure that data was not corrupted during transit. During higher level unit testing erroneous was output but testing had to be done on the classes used. By adding print statements to the data before and after packaging and transferring data. Following the results that tasks worked independently using black box testing the tasks were tested using integration testing. This area remains to this moment an area requiring further tests. In the following subsections, detailed descriptions and solutions faced in this project will be explained. | The test plan includes unit testing, and integration testing. After writing the code for each task we used each method of each task class as the starting point. Before, during and after development any referenced class endured it's own unit testing. For example the classes which control communication protocols were heavily tested to ensure that data was not corrupted during transit. During higher level unit testing erroneous was output but testing had to be done on the classes used. By adding print statements to the data before and after packaging and transferring data. Following the results that tasks worked independently using black box testing the tasks were tested using integration testing. This area remains to this moment an area requiring further tests. In the following subsections, detailed descriptions and solutions faced in this project will be explained. | ||
− | === | + | === GPS Issue #1 === |
− | + | Issue: | |
+ | GPS data is sent constantly from the GPS module through UART without the need for a command. | ||
+ | Full messages referred to as NMEA sentences are received by the module and read by the | ||
+ | microcontroller. They do not always arrive in their entirety or represent accurate data. | ||
+ | |||
+ | Solution: To counter act this problem a checksum value is included in the sentence and is | ||
+ | useful for checking the values of he payload checksum value for the specific data in the | ||
+ | message. | ||
+ | |||
+ | |||
+ | === GPS Issue #2 === | ||
+ | Issue: | ||
+ | Coordinates in the NMEA sentences are off by more than +/- 5 meters. | ||
+ | |||
+ | Solution: | ||
+ | |||
+ | === GPS Issue #3 === | ||
+ | Issue: | ||
+ | NMEA messages that represent the recommended minimum specific are around 67 characters can | ||
+ | overflow the local RX FIFO used with UART. Since the FIFO is 16 bytes long an interrupt is | ||
+ | activated when the receiving buffer is not empty to store enough values to | ||
+ | |||
+ | Solution: To counter act this problem a checksum value is included in the sentence and is | ||
+ | useful for checking the values of he payload checksum value for the specific data in the | ||
+ | message. | ||
== Conclusion == | == Conclusion == |
Revision as of 11:29, 21 December 2016
Contents
Grading Criteria
- How well is Software & Hardware Design described?
- How well can this report be used to reproduce this project?
- Code Quality
- Overall Report Quality:
- Software Block Diagrams
- Hardware Block Diagrams
- Schematic Quality
- Quality of technical challenges and solutions adopted.
Autonomous Nautical Systems for Ocean Transit and Survey (ANSOTAS)
Abstract
Constructing an autonomous navigation system responsive to GPS and Tilt Compass feedback to form and track trajectories to a given location. Low power, and observant system.
Objectives & Introduction
Show list of your objectives. This section includes the high level details of your project. You can write about the various sensors or peripherals you used to get your project completed.
Team Members & Responsibilities
- Angel Hernandez-Perez
GPS control
- Fayek Wahhab
Servo control
- Abraham Carrillo
Motor Control
Schedule
Table 1. Schedule
Week# | Date | Tasks | Actual |
---|---|---|---|
1 | 10/8 | Decide on boat hull based on the amount of devices
we planned to us. Purchased motor, servo, and battery accordingly |
Completed
Brushed DC motor powered by Electronic Speed controller was purchased. |
2 | 11/4 | Intercept the pwm signals issued by a remote
control for steering and speed throttling. Decode these signals over time to identify which values produce what kind of effect to the driving system. |
Completed
Using a logic analyzer did not work the way we planned An oscilloscope was used but only to prove that this was not necessary since the motor and servo reacts to PWM as any other motor or servo. |
3 | 11/25 | Make separate compass, gps, and pwm tasks | Completed
These tasks are a simple tasks demoing the functionality |
4 | 12/02 | Link separate task outputs together using navigation task. | Completed
Debug the steering and motor control commands issued by the state of the navigation task state machine. |
5 | 12/16 | Revise gps task to give only needed information and use
all task outputs in the navigation task |
Completed
Buggy and needs to check for invalid information using checksum |
6 | 12/20 | Update the wiki page | Completed
Clean up exceptions in the land demo program |