Difference between revisions of "F16: Autonomous Nautical System"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Autonomous Nautical Systems for Ocean Transit and Survey (ANSOTAS))
m (= Implementation)
Line 128: Line 128:
 
Show your software design.  For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level.  Do not show the details of the code.  For example, do not show exact code, but you may show psuedocode and fragments of code.  Keep in mind that you are showing DESIGN of your software, not the inner workings of it.   
 
Show your software design.  For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level.  Do not show the details of the code.  For example, do not show exact code, but you may show psuedocode and fragments of code.  Keep in mind that you are showing DESIGN of your software, not the inner workings of it.   
  
=== Implementation ==
+
== Implementation ==
 
This section includes implementation, but again, not the details, just the high level.  For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash.  You can include sub-sections for each of your component implementation.
 
This section includes implementation, but again, not the details, just the high level.  For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash.  You can include sub-sections for each of your component implementation.
  

Revision as of 02:32, 21 December 2016

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

Parts List & Cost

  • SJ One Board | $80.00
  • Tilt Corrected Compass | $30.00
  • GPS | $50.00
  • 7.2V 2600mAH Battery (included w/hull)
  • 5V 5200mAH Battery | $13.00
  • Hull | $155.00
  • DC Motor (included w/hull)
  • Servo (included w/hull)
  • Electronic Speed Controller (included w/hull)

Design & Implementation

The design section can go over your hardware and software design. Organize this section using sub-sections that go over your design and implementation.

Hardware Design

Considerations for our hardware include power consumption and usefulness in a water scenario. The root of this project where sensor input is analyzed and output signals are distributed is the SJ One board. Using the FreeRTOS OS an autonomous system can adjust its velocity and direction by controlling the motor and servo. GPS and Tilt compass provides the feedback needed to make adjustments.


Hardware Interface

I2C

I2C was used to communicate to and from the SJ One board to the tilt adjusted compass. This protocol allows numerous sensors to be connect to a single wire to all devices for transmitting and receiving address and data information. This is possible because of synchronization of a clock signal and a pull-up resistor used in setting up the data/address bus. The disadvantage with this choice is speed since it can only transfer a max of 100KHz.

For our design we use our SJ One board as the master and the compass as the slave device. It is only enabled if it receives it's address from the master. Through out the operation of protocol a slave and master are under constant bidirectional communication. Using a byte or more to communicate what is desired in the form of an slave address, byte address and a quantity for receiving or transferring data. This continuous process follows a state machines for both the slave and master devices.

SPI

UART

PWM

Software Design

Show your software design. For example, if you are designing an MP3 Player, show the tasks that you are using, and what they are doing at a high level. Do not show the details of the code. For example, do not show exact code, but you may show psuedocode and fragments of code. Keep in mind that you are showing DESIGN of your software, not the inner workings of it.

Implementation

This section includes implementation, but again, not the details, just the high level. For example, you can list the steps it takes to communicate over a sensor, or the steps needed to write a page of memory onto SPI Flash. You can include sub-sections for each of your component implementation.

Testing & Technical Challenges

Describe the challenges of your project. What advise would you give yourself or someone else if your project can be started from scratch again? Make a smooth transition to testing section and described what it took to test your project.

Include sub-sections that list out a problem and solution, such as:

My Issue #1

Discuss the issue and resolution.

Conclusion

Conclude your project here. You can recap your testing and problems. You should address the "so what" part here to indicate what you ultimately learnt from this project. How has this project increased your knowledge?

Project Video

Upload a video of your project and post the link here.

Project Source Code

References

Acknowledgement

Any acknowledgement that you may wish to provide can be included here.

References Used

GPS module DataSheet

NMEA Decoding

GPS Recommended Minimum Specifics Parsing

SJ One board MCU Datasheet

SJ One board Introduction

Appendix

You can list the references you used.

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