Nautical Autonomous System with Task...

65
Nautical Autonomous System with Task Integration (code name NASTI) Students: Terry Max Christy, Jeremy Borgman Advisors: Dr. Gary Dempsey, Nick Schmidt 1

Transcript of Nautical Autonomous System with Task...

Page 1: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Nautical Autonomous System with Task Integration

(code name NASTI)

Students: Terry Max Christy, Jeremy Borgman

Advisors: Dr. Gary Dempsey, Nick Schmidt

1

Page 2: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

2

Page 3: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

3

3

Page 4: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Background Information

4

4

Page 5: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

NASTI

5

5

Page 6: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

6

6

Page 7: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

System Overview

7

7

Page 8: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

8

8

Page 9: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

9

9

Page 10: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Thruster 1

10

10

Page 11: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Thruster 1

Thruster 2

Thruster 3

Thruster 4

11

11

Page 12: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Thruster Circuitry

12

12

Page 13: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Left Drive

Thruster 1

Thruster 2

Thruster 3

Thruster 4

13

13

Page 14: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Left Drive Right Drive

Thruster 1

Thruster 2

Thruster 3

Thruster 4

14

14

Page 15: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Main Drive Circuitry

15

15

Page 16: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Left Drive Right Drive

Direction

ControlThruster 1

Thruster 2

Thruster 3

Thruster 4

16

16

Page 17: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M+-

R2

Vcc

17

17

Page 18: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M+-

18

18

Page 19: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M+-

19

19

Page 20: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M+-

20

20

Page 21: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M+-

21

21

Page 22: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Bi-Directional Motor Control

R1

Vcc

M-

+

22

22

Page 23: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Left Drive Right Drive

Direction

Control

Master POWER

Thruster 1

Thruster 2

Thruster 3

Thruster 4

23

23

Page 24: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Left Drive Right Drive

Direction

ControlAtMega

368

Thruster 1

Thruster 2

Thruster 3

Thruster 4

Master POWER

24

24

Page 25: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

25

25

Page 26: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Communication Overview

26

26

Page 27: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Master AtMega 128

27

Atmega128

Remote Control Output50Hz Servo Signal

PWM Output0 – 99% 1KHz PWM…

Direction Output0 – 5v GPIO

27

Page 28: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Servo Signals

28

w1

w2 Threshold

w3

w1

w4 Threshold

w5

Forward Backward

28

Page 29: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Communication Protocol

29

* * * M0 M1 M2 M3 M4 M5

3 Byte Header Packet 6 Byte Motor Info Packet

10101010

7 bits for PWM resolution 1 bit for direction

29

Page 30: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

30

30

Page 31: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

31

R/C Control

31

Page 32: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

32

R/C Control

32

Page 33: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

33

R/C Control

33

Page 34: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

34

R/C Control

34

Page 35: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

35

R/C Control

35

Page 36: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

36

R/C Control

36

Page 37: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

37

R/C Control

37

Page 38: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

38

R/C Control

38

Page 39: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

39

39

Page 40: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Beagleboard Overview

40

40

Page 41: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Used Narcissus image builder to create low profile custom image

∗ Configured serial port for remote programming

∗ Set up Samba server for remote login via PuTTy

∗ Installed kernel modules for webcam/wireless adapter

∗ Installed and configured openCV

∗ Learned how to write makefiles for multifile compiling

Beagleboard

41

41

Page 42: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Embedded System

∗ Image Processing

∗ Path Planning

∗ Results

Outline

42

42

Page 43: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

43

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures43

43

Page 44: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

44

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures44

44

Page 45: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

45

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures45

45

Page 46: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

46

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures46

46

Page 47: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

47

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures47

47

Page 48: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

48

Receive Target Image

Convert Image to HSV Color

Space

Filter via Thresholding

cvErode/ cvDialate

Blob Detection

Store Buoy Information

in an array of buoy

structures48

48

Page 49: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

4949

49

Page 50: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Beagle Board

∗ Image Processing

∗ Path Planning

∗ Results

Outline

50

50

Page 51: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Path Planning

5151

51

Page 52: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Image Processing

5252

52

Page 53: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Path Planning

5353

53

Page 54: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

54

Control Block Diagram Forward Path

54

Page 55: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ Original Goals

∗ System Overview

∗ Review of Completed Work

∗ Motor Interfacing Module

∗ Communication

∗ RC Control

∗ Beagle Board

∗ Image Processing

∗ Path Planning

∗ Results

Outline

55

55

Page 56: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Path Planning

5656

56

Page 57: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Results

5757

57

Page 58: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Questions?

58

58

Page 59: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

HSV chart

59

59

Page 60: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

60

Serial Communication

� TTL vs RS-232 voltage levels

� Three pins RX, TX, and GND

� Multiple Baud Rates

� Baud Rate vs Bit Rate

� Computing Baud Rate error

� Baud rate test method

60

Page 61: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

61

Thruster 1

Circuit Calculation

Ic2 = Ib2 = 67mA

Ib1 = .7mA

Ic2 = 1.5A

+ 0

.3V

-

+ 1

.2V

-

61

Page 62: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Structures

62

62

Page 63: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

Degrees of Freedom

63

63

Page 64: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ BeagleBoard is 32 bit ->32 bit value.

∗ Same as int, less than a double

∗ +-3.4*10^+-38 roughly 7 bits of precision

∗ ARM – A8 contains a NEON coprocessor

∗ Dedicated to floating point operations

∗ 1 instruction/cycle

Floating point values

64

Page 65: Nautical Autonomous System with Task Integrationcegt201.bradley.edu/projects/proj2012/nasti/project/finalpresentation… · Nautical Autonomous System with Task Integration (code

∗ [1] “The Five Card Draw" 5th RoboBoat Competition -

Preliminary Rules Arlington, VA: AUVSIfoundation. PDF.

Sources

65

65