Autonomous AI-Assisted Solar Farm Grass Cutter

Download as pdf or txt
Download as pdf or txt
You are on page 1of 173

Autonomous AI-Assisted Solar Farm Grass Cutter

Department of Electrical Engineering and Computer Engineering


University of Central Florida
Dr. Lei Wei and Dr. Samuel Richie
Sponsors: Duke Energy and Orlando Utility Commission

April 22nd, 2019


Senior Design I
Spring 2019

Group 19
Brandei Dieter Electrical Engineering
Christopher Entwistle Electrical Engineering
Mario Mcclelland Computer Engineering
Daniel Warner Electrical Engineering
Table of Contents
1 Executive Summary ........................................................................... 1
2 Project Description ............................................................................ 2
2.1 Project Motivation ................................................................................. 2
2.2 Goals ...................................................................................................... 3
2.3 Existing Projects and Products .............................................................. 3
2.3.1 The Manscape: Autonomous Lawn Mower [2] ...................................... 3
2.3.2 Husqvarna Auto Mower Series [3] ......................................................... 4
2.3.3 IPFW Autonomous Lawn Mower [4] ..................................................... 5
2.3.4 Existing Kill Switch Systems ................................................................. 5
2.3.5 Existing Grass Cutting Systems .............................................................. 6
2.3.5.1 Standard Blades [5] .................................................................................. 7
2.3.5.2 Mulching Blades [5] ................................................................................. 7
2.3.5.3 High Lift Blades [5] ................................................................................. 7
2.3.5.4 String-Based Grass Cutting ...................................................................... 7
2.4 Engineering Specifications .................................................................... 8
2.4.1 Project Requirement Specifications ........................................................ 8
2.4.2 Technical Requirement Specifications ................................................. 10
2.4.3 Engineering Market House of Quality Analysis ................................... 11
2.5 Possible Designs and Block Diagrams ................................................ 12
2.5.1 Hardware Block Diagram ..................................................................... 12
2.5.2 Software Block Diagram....................................................................... 14
3 Research and Part Selection ........................................................... 15
3.1 Relevant Technologies ........................................................................ 15
3.1.1 Navigation Technology......................................................................... 15
3.1.1.1 Path Planning .......................................................................................... 15
3.1.1.2 Map Building .......................................................................................... 16
3.1.1.2.1 Lasers for Map Building...................................................................................16
3.1.1.2.2 Cameras for Map Building ...............................................................................17
3.1.1.3 Self-Localization .................................................................................... 18
3.1.1.3.1 Odometry [6] ....................................................................................................18
3.1.1.3.2 Simultaneous Localization and Mapping (SLAM) [7].....................................20
3.1.1.3.3 Large Scale Direct Simultaneous Localization and Mapping [7] ....................20
3.1.1.4 Night Vision ........................................................................................... 21
3.1.1.5 Computer Vision .................................................................................... 21
3.1.1.6 Location and Positioning ........................................................................ 21
3.1.1.6.1 GPS and Compass Module ...............................................................................22
3.1.1.6.2 Inertial Measurement Units [8] ........................................................................22
3.1.2 Batteries ................................................................................................ 22
3.1.2.1 Lithium-Ion ............................................................................................ 23
3.1.2.2 Nickel Chemistry-Based ........................................................................ 24
i
3.1.2.3 Lead-Acid ............................................................................................... 24
3.1.3 Battery Charge Sensors ......................................................................... 24
3.1.4 Overall System Control ........................................................................ 24
3.1.4.1 Microcontrollers ..................................................................................... 25
3.1.4.2 Processors [4] ......................................................................................... 26
3.1.4.3 Development Boards .............................................................................. 27
3.1.5 Motor Technology ................................................................................ 29
3.1.5.1 Motor Control ......................................................................................... 29
3.1.5.1.1 H-Bridge PWM Driver ICs [5] .........................................................................29
3.1.5.1.2 Dual, Full-Bridge PWM Motor Driver ICs [7] ................................................30
3.1.5.1.3 Motor Encoders [8] [9] .....................................................................................30
3.1.5.2 Types of DC Motors ............................................................................... 30
3.1.5.2.1 DC Brush Motors [10] ......................................................................................31
3.1.5.2.2 DC Brushless Motors [11] ................................................................................32
3.1.6 Voltage Regulators................................................................................ 32
3.1.6.1 Linear Voltage Regulators [12] .............................................................. 33
3.1.6.2 Standard (NPN) Regulators [13] ............................................................ 34
3.1.6.3 Low Dropout (LDO) Regulators [14] .................................................... 34
3.1.6.4 Step-Down Converters [15] ................................................................... 34
3.1.7 Switches Technology ............................................................................ 35
3.1.7.1 Toggle Switches [18] ............................................................................. 35
3.1.7.2 Pushbutton Switches [17] ....................................................................... 36
3.1.7.3 Selector Switches [19] ............................................................................ 36
3.1.7.4 Speed Switches [20] ............................................................................... 36
3.1.7.5 Diode Switches [21] ............................................................................... 36
3.1.8 Programming......................................................................................... 37
3.1.8.1 C Programming Language [22] .............................................................. 38
3.1.8.2 Python Programming Language [22] ..................................................... 38
3.1.8.3 C++ Programming Language [22] ......................................................... 39
3.1.8.4 OpenCV [23] [24] .................................................................................. 39
3.1.9 Obstacle Avoidance Sensors ................................................................. 40
3.1.9.1 Ultrasonic Sonar Sensors ....................................................................... 40
3.1.9.2 Lidar Sensors .......................................................................................... 40
3.1.9.3 Infrared Sensors ...................................................................................... 41
3.1.10 Operating Systems ................................................................................ 41
3.1.11 Perimeter Boundary Wire [25] ............................................................. 41
3.1.12 Wireless Communications [26] ............................................................ 43
3.1.12.1 Wi-Fi™ [26] [27] ................................................................................... 43
3.1.12.2 Bluetooth [26] ........................................................................................ 44
3.1.13 I2C Protocols [28] ................................................................................. 45
3.1.14 SPI Protocols [29] ................................................................................. 46
3.1.15 UART [30] ............................................................................................ 46

ii
3.2 Strategic Components and Part Selections .......................................... 46
3.2.1 Development Boards Selection ............................................................. 51
3.2.2 Raspberry Pi Model 3 B [31] ................................................................ 52
3.2.3 Odroid-XU4 .......................................................................................... 52
3.2.4 Arduino Mega 2560 [33] [34] ............................................................... 53
3.2.5 Microcontrollers Selection .................................................................... 53
3.2.5.1 ATMEGA2560 [35] ............................................................................... 54
3.2.6 ATMEGA16U2 [36] [37] ..................................................................... 55
3.2.7 ATMEGA328P ..................................................................................... 56
3.2.8 Perimeter Boundary Wire Selection ..................................................... 56
3.2.8.1 Automower Boundary Wire [38] ........................................................... 56
3.2.8.2 Extreme Dog Fence Wire [39] ............................................................... 56
3.2.9 Timer for Perimeter Generator Circuit Selection ................................. 57
3.2.9.1 NE555P Timer [40] ................................................................................ 58
3.2.9.2 CD4541B Timer [41] ............................................................................. 58
3.2.10 Operational Amplifier for Perimeter Receiver Circuit ......................... 59
3.2.10.1 LM324N Operational Amplifier [42] ..................................................... 60
3.2.10.2 LF351 Operational Amplifier [43] ......................................................... 60
3.2.10.3 LM324M Operational Amplifier ............................................................ 60
3.2.11 Camera Selection .................................................................................. 61
3.2.11.1 oCam 5MP USB 3.0 Camera ................................................................. 61
3.2.11.2 Raspberry Pi 3 Model B Camera Fisheye [44] ...................................... 62
3.2.11.3 Raspberry Pi Camera Module V2 [45]................................................... 62
3.2.12 Lidar Selection ...................................................................................... 62
3.2.12.1 SLAMTEC RPLidar A2M8 ................................................................... 63
3.2.12.2 SLAMTEC RPLidar A1M8 ................................................................... 64
3.2.13 Obstacle Avoidance Sensors Selection ................................................. 64
3.2.13.1 HC-SR04 Ultrasonic Ranging Module [46] ........................................... 64
3.2.13.2 PING by Parallax [47] ............................................................................ 65
3.2.13.3 Arduino Infrared Collision Avoidance Module [48] ............................. 65
3.2.14 Battery Charge Sensors Selection ......................................................... 65
3.2.14.1 MAX17043 Fuel Gauge Power Management Board [49] ..................... 66
3.2.14.2 BQ27441-G1 System-Side Impedance Track Fuel Gauge [50]............. 66
3.2.15 Digital Compass and GPS Module Selection ....................................... 67
3.2.15.1 Holybro Micro M8N GPS Module ........................................................ 67
3.2.15.2 RadioLink SE100 GPS Module ............................................................. 68
3.2.16 Wireless Chip Selection ........................................................................ 68
3.2.16.1 USB Wi-Fi Module with Antenna for Raspberry Pi [52] ...................... 69
3.2.16.2 GP-Xtreme Mini Compact USB 2.0 N [51] ........................................... 69
3.2.17 Motor Driver Chip Selection ................................................................ 70
3.2.17.1 VNH7100AS Motor Driver Chip ........................................................... 71

iii
3.2.17.2 L293DNE Motor Driver Chip [54] ........................................................ 71
3.2.17.3 DRV8432 DC Motor Driver IC [53] ...................................................... 71
3.2.18 Wheel DC Motors Selection ................................................................. 72
3.2.18.1 Robot Zone DC Planetary Gear Brush Motor ........................................ 72
3.2.18.2 DC 12V 180RPM Geared Motor [55] .................................................... 73
3.2.18.3 Cytron 12V Spur Gear Motor [56] ......................................................... 73
3.2.19 String-Based Blades DC Motors Selection........................................... 73
3.2.19.1 XD-3420 Permanent Magnet DC Motors .............................................. 74
3.2.19.2 Machifit 895 DC Gear Motor [57] ......................................................... 75
3.2.19.3 RS-775 DC Gear Motor [58] .................................................................. 75
3.2.20 Voltage Regulators Selection................................................................ 75
3.2.20.1 LMZ31506 Power Module DC-DC Converter ...................................... 76
3.2.20.2 LD1117S50CTR Low-Drop Positive Voltage Regulator ...................... 77
3.2.20.3 LP2985 Low-Noise Low-Dropout Regulator ........................................ 77
3.2.20.4 LM2596S-ADJ Step-Down Voltage Regulator [59].............................. 78
3.2.21 DC Motors Battery Selection ................................................................ 78
3.2.21.1 Ovonic 11.1V LiPo Battery.................................................................... 78
3.2.21.2 DMD BMS 100Ah/12V Dry Cell Lithium Ion Battery [60] ................. 79
3.2.21.3 DMD 100AH/12V Lithium Ion Battery [61] ......................................... 79
3.2.22 Electrical Components Battery Selection ............................................. 79
3.2.22.1 Ovonic 11.1V LiPo Battery.................................................................... 80
3.2.22.2 Shenzhen 20Ah/12V Lithium Polymer Battery [62] ............................. 80
3.2.22.3 Yinkai Power 20Ah/12V Lithium Ion Battery [63] ............................... 81
3.2.23 Perimeter Wire Battery Selection ......................................................... 81
3.2.23.1 3.7V MXJO Lithium Ion Battery ........................................................... 82
3.2.23.2 DTP 10Ah/12V Lithium Polymer Battery [64] ..................................... 82
3.2.23.3 Great Max 10Ah/12V Lithium Polymer Battery [65] ............................ 82
3.2.24 Front Wheels Selection ......................................................................... 82
3.2.25 Caster Wheels Selection ....................................................................... 83
3.2.26 String-Based Blades and Trimmer Head Selection .............................. 84
3.2.27 Framework Material Selection.............................................................. 84
3.2.28 Mounting Material Selection ................................................................ 84
4 Related Standards and Design Constraints .................................. 85
4.1 ABET Design Constraints ................................................................... 85
4.1.1 Time Constraints ................................................................................... 85
4.1.2 Economic Constraints ........................................................................... 85
4.1.3 Environmental Constraints ................................................................... 86
4.1.4 Weight Constraints................................................................................ 86
4.1.5 Size Constraints .................................................................................... 87
4.1.6 Ethical Constraints ................................................................................ 87
4.1.7 Health and Safety Constraints............................................................... 88

iv
4.1.8 Manufacturability Constraints .............................................................. 89
4.1.9 Power Constraints ................................................................................. 90
4.2 Standards.............................................................................................. 91
4.2.1 IEEE Standards ..................................................................................... 91
4.2.1.1 Battery Standards [68] [69] .................................................................... 92
4.2.1.2 C Language Standards [70] .................................................................... 92
4.2.1.3 Wireless Standards ................................................................................. 92
4.2.1.4 Software and Systems Engineering- Software Testing .......................... 93
4.2.1.5 Robot Map Data Representation for Navigation Standard [76] ............. 94
4.2.2 Robotics Standards [77] ........................................................................ 95
4.2.3 Inter-Integrated Circuit (I2C) Standards ............................................... 96
4.2.4 Universal Serial Bus (USB) Standards ................................................. 96
4.2.5 Electromagnetic Compatibility (EMC) Standards ................................ 97
4.2.6 Institute for Printed Circuits (IPC) PCB Standards .............................. 99
5 Overall Integration, PCB Design and System Testing ............... 100
5.1 Hardware Design ...............................................................................100
5.1.1 Initial Design Architectures and Related Diagrams ........................... 100
5.1.1.1 Sensors Subsystem 1 ............................................................................ 102
5.1.1.2 Location and Positioning Subsystem ................................................... 102
5.1.1.3 Control Subsystem 1 ............................................................................ 103
5.1.1.4 Control Subsystem 2 ............................................................................ 103
5.1.1.5 Sensors Subsystem 2 ............................................................................ 104
5.1.1.6 Power Subsystem 1 .............................................................................. 105
5.1.1.7 Power Subsystem 2 .............................................................................. 105
5.1.1.8 Boundary Subsystem 1 ......................................................................... 107
5.1.1.9 Drive Subsystem .................................................................................. 108
5.1.1.10 Wireless Communications Subsystem ................................................. 109
5.1.1.11 Web Server Subsystem......................................................................... 109
5.1.1.12 Camera Subsystem ............................................................................... 110
5.1.1.13 Boundary Subsystem 2 ......................................................................... 110
5.1.1.14 Power Subsystem 3 .............................................................................. 110
5.1.2 Final Design Architectures and Related Diagrams ............................. 110
5.2 Project Software Design Details........................................................112
5.2.1 Overall Software Functionality ........................................................... 112
5.2.1.1 Ultrasonic Sensor and Obstacle Avoidance ......................................... 113
5.2.1.2 Camera and Obstacle Detection ........................................................... 114
5.2.1.3 Perimeter Wire System Software Design ............................................. 115
5.2.1.4 GPS Module with Compass ................................................................. 116
5.2.1.5 Motor Control System .......................................................................... 116
5.3 Final Software Design .......................................................................117
6 Project Testing and Prototype Design ......................................... 119
v
6.1 Prototype Design ...............................................................................120
6.1.1 First Grass Cutter System Circuit Schematic ..................................... 120
6.1.2 Final Grass Cutter System Schematic ................................................. 121
6.1.3 Final Grass Cutter System PCB .......................................................... 123
6.1.4 Initial Perimeter Wire Generator Schematic....................................... 124
6.1.5 Final Perimeter Wire Generator Schematic ........................................ 124
6.1.6 Initial Perimeter Wire Generator PCB ................................................ 125
6.1.7 Final Perimeter Generator PCB .......................................................... 125
6.2 Testing ...............................................................................................126
6.2.1 Motor Control Breadboard Testing..................................................... 127
6.2.2 Ultrasonic Breadboard Testing ........................................................... 127
6.2.3 Motor Testing with the Ultrasonic Sensor .......................................... 128
6.2.4 Perimeter Boundary System Breadboard Testing............................... 129
6.2.5 Camera Raspberry Pi Testing ............................................................. 130
6.2.6 Location and Positioning Breadboard Testing ................................... 130
6.2.7 Final Prototype .................................................................................... 131
7 Administrative Content ................................................................. 132
7.1 Fall 2018 Senior Design I Milestones ...............................................132
7.2 Spring 2019 Senior Design II Milestones .........................................133
7.3 PCB Vendor [90] ...............................................................................134
7.4 Budget and Financing ........................................................................135
8 Project Summary and Conclusion ............................................... 138
8.1 Project Roles ......................................................................................138
8.2 Potential Project Design Issues .........................................................139
8.2.1 Navigation through Uneven Terrain ................................................... 140
8.2.2 Charge Regulator Limitations ............................................................. 140
8.2.3 GPS and Digital Compass Limitations ............................................... 140
8.2.4 Navigation and Object Avoidance ...................................................... 141
8.2.5 String-Based Blade Limitations .......................................................... 141
8.3 Future Goals ......................................................................................142
8.3.1 Solar Panel Charging Station .............................................................. 142
8.3.2 Solar Panel on Grass Cutter ................................................................ 142
8.3.3 Computer Vision for Field Mapping .................................................. 142
8.3.4 Metal Blades for Durability ................................................................ 142
8.3.5 Weather Sensor Sheltering Application.............................................. 143
8.4 Conclusion .........................................................................................143
9 Appendices ......................................................................................... A
9.1 Copyright Permissions.......................................................................... A

vi
9.2 Datasheets ............................................................................................. E
9.3 References............................................................................................. G

Table of Figures
Figure 1: House of Quality Trade-Off Table made by Christopher Entwistle ............................. 12
Figure 2: Possible Hardware Block Diagram for the Grass Cutter System made by Brandei Dieter
....................................................................................................................................................... 13
Figure 3: Possible Hardware Block Diagram for Boundary System made by Brandei Dieter ..... 13
Figure 4: Possible Software Block Diagram made by Brandei Dieter ......................................... 14
Figure 5: Path Planning Diagram around PV Structures made by Brandei Dieter ....................... 15
Figure 6: Laser Map Building made by Brandei Dieter ............................................................... 17
Figure 7: Camera Map Building made by Brandei Dieter ............................................................ 17
Figure 8: Borenstein’s Model Diagram on Grass Cutter Model made by Brandei Dieter ........... 19
Figure 9: Overview of How LSD-SLAM Works used with reference from medium.com [3] ..... 21
Figure 10: Brush DC Motors Diagram used with reference from Allegro Micro Systems [10] .. 31
Figure 11: Brushless Motors Diagram used with reference from electricaltechnology.com [11] 32
Figure 12: Canny Edge Detection Process .................................................................................... 39
Figure 13: Boundary System Diagram used with Permission from Robotshop.com [25] ........... 43
Figure 14: I2C Bus Configuration made by Mario Mcclelland..................................................... 45
Figure 15: Bit fields of data transmission on an I2C Bus made by Mario Mcclelland ................. 46
Figure 16: Raspberry Pi Model 3 B used with permission from Adafruit.com [32] .................... 52
Figure 17: Odroid-XU4 used with reference from Ameridroid.com ............................................ 53
Figure 18: Arduino Mega picture taken by Brandei Dieter .......................................................... 53
Figure 19: Atmega2560 Microcontroller picture taken by Brandei Dieter ................................... 55
Figure 20: ATmega16U2 used with reference from Microchip.com [37] .................................... 55
Figure 21: Xtreme Dog Fence used with permission from Amazon.com .................................... 57
Figure 22: NE555P Timer picture taken by Brandei Dieter ......................................................... 58
Figure 23: LM324N Operational Amplifier picture taken by Brandei Dieter .............................. 60
Figure 24: LM324M Operational Amplifier with reference from Mouser.com ........................... 60
Figure 25: Raspberry Pi 3 Model B Night Vision Camera picture taken by Brandei Dieter ....... 62
Figure 26: SLAMTEC RPLidar A2M8 with permission from Robotshop.com ........................... 63
Figure 27: HC-SR04 Ultrasonic Sensor picture taken by Brandei Dieter .................................... 65
Figure 28: MAX17043 Fuel Gauge Power Management Board picture taken by Brandei Dieter 66
Figure 29: Holybro Micro M8N GPS Module picture taken by Brandei Dieter .......................... 68
Figure 30: VNH7100AS Motor Driver Chip with reference to Mouser.com ............................... 71
Figure 31: DC Planetary Gear Brush Motor used with permission from Robotshop.com ........... 73
Figure 32: XD-3420 Permanent Magnet DC Motors with reference to Amazon.com ................. 74
Figure 33: 895 DC Gear Motor used with permission from Banggood.com [57] ........................ 75
Figure 34: LMZ31506 Power Module DC-DC Converter referenced from Mouser.com ............ 77
Figure 35: LD1117S50CTR Low-Drop Positive Voltage Regulator referenced from Mouser.com
....................................................................................................................................................... 77
Figure 36: LP2985 Low-Noise Low-Dropout Regulator referenced from Mouser.com .............. 77
Figure 37: Ovonic 11.1V LiPo Battery referenced from Amazon.com ........................................ 79
Figure 38: Ovonic 11.1V LiPo Battery referenced from Amazon.com ........................................ 80

vii
Figure 39: 3.7V MXJO Lithium Ion Battery taken by Brandei Dieter ......................................... 82
Figure 40: Flow of PCB Design and Implementation made by Christopher Entwistle ................ 99
Figure 41: Updated Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter
..................................................................................................................................................... 100
Figure 42: Final Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter
..................................................................................................................................................... 101
Figure 43: Updated Hardware Block Diagram of the Boundary System made by Brandei Dieter
..................................................................................................................................................... 101
Figure 44: Final Hardware Block Diagram of the Boundary System made by Brandei Dieter . 102
Figure 45: Sensors Subsystem 1 Design made by Brandei Dieter.............................................. 102
Figure 46: Location and Positioning Subsystem Diagram made by Brandei Dieter .................. 103
Figure 47: Control Subsystem 2 Camera Diagram made by Brandei Dieter .............................. 104
Figure 48: Battery Charge Sensor Diagram made by Brandei Dieter ........................................ 104
Figure 49: LM2673 Circuit Design from TI Webench Power Design Simulator....................... 106
Figure 50: Efficiency Versus Output Current Plot from TI Webench Power Design Simulator 106
Figure 51: Load Transient Plot from TI Webench Power Design Simulator ............................. 106
Figure 52: Bode Plot from TI Webench Power Design Simulator ............................................. 107
Figure 53: LMZ31506 Voltage Regulator for the Odroid-XU4 ................................................. 107
Figure 54: Drive Subsystem Flowchart made by Brandei Dieter ............................................... 108
Figure 55:Drive Subsystem Diagram made by Brandei Dieter .................................................. 109
Figure 56: Wireless Communications Diagram made by Brandei Dieter .................................. 109
Figure 57: Updated Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter
..................................................................................................................................................... 111
Figure 58: Updated Hardware Block Diagram of the Boundary System made by Brandei Dieter
..................................................................................................................................................... 111
Figure 59: LMZ31506 Circuit Design designed by Brandei Dieter ........................................... 112
Figure 60: Subsystem Features and Software Design Space made by Mario Mcclelland.......... 112
Figure 61: Initial Start Up flow chart made by Mario Mcclelland ............................................. 113
Figure 62: Sample Code for Sensors made by Mario Mcclelland .............................................. 113
Figure 63: Microcontroller to Ultrasonic Sensor Communications Diagram made by Mario
Mcclelland................................................................................................................................... 114
Figure 64: Microcontroller to Camera Communications Diagram made by Mario Mcclelland 114
Figure 65: Camera Software Flowchart made by Mario Mcclelland ......................................... 115
Figure 66: Sample Code for Perimeter Wire System made by Mario Mcclelland ..................... 116
Figure 67: Sample Code for GPS Module made by Mario Mcclelland ...................................... 116
Figure 68: Software Class Diagram ............................................................................................ 117
Figure 69: Robot State Machine ................................................................................................. 117
Figure 70: Startup Software Flowchart ....................................................................................... 118
Figure 71: Grass Cutter System Circuit Schematic made by Brandei Dieter ............................. 120
Figure 72: Schematic of ATMEGA2560 and Voltage Regulators made by Brandei Dieter ...... 121
Figure 73: Schematic of ATMEGA16U2 and USB Connection made by Brandei Dieter ......... 121
Figure 74: Schematic of Wheel and Blade Motor Drivers made by Brandei Dieter .................. 122
Figure 75: Schematic of Voltage Regulator for Odroid made by Brandei Dieter ...................... 122
Figure 76: Schematic of Perimeter Wire Receiver made by Brandei Dieter .............................. 123
Figure 77:PCB of Grass Cutter System made by Brandei Dieter ............................................... 123
Figure 78: Perimeter Wire Generator Circuit Schematic made by Brandei Dieter .................... 124

viii
Figure 79: Schematic of Perimeter Wire Generator Circuit made by Brandei Dieter ................ 124
Figure 80: Perimeter Wire Generator Circuit PCB made by Brandei Dieter ............................. 125
Figure 81: PCB of Perimeter Wire Generator made by Brandei Dieter ..................................... 125
Figure 82: Motor Driver Chip and DC Motors Tested picture taken by Brandei Dieter ............ 127
Figure 83: Ultrasonic Sensors Tested picture taken by Brandei Dieter ...................................... 127
Figure 84: Ultrasonic Sensors Accuracy Tested picture taken by Brandei Dieter ..................... 128
Figure 85: Motor and Ultrasonic Sensor Testing ........................................................................ 128
Figure 86: Perimeter Boundary System Tested picture taken by Brandei Dieter ....................... 129
Figure 87: Perimeter Boundary System Functionality Tested picture taken by Brandei Dieter 129
Figure 88: Camera Tested picture taken by Brandei Dieter ....................................................... 130
Figure 89: GPS Tested picture taken by Mario McClelland....................................................... 130
Figure 90: Standard Example GPS Output by Mario McClelland ............................................. 131
Figure 91: Final Prototype Pictures ............................................................................................ 131
Figure 92: Pololu Permission Request ........................................................................................... A
Figure 93: Adafruit Permission Request Approved ........................................................................ B
Figure 94: AliExpress Permission Request..................................................................................... B
Figure 95: Amazon Permission Request ......................................................................................... C
Figure 96: Digikey Permission Request ......................................................................................... C
Figure 97: Robotshop Permission Request Approved ................................................................... D
Figure 98: Permission Request ...................................................................................................... D

Table of Tables
Table 1: Grass Cutting Systems Comparison ................................................................................. 7
Table 2: Overall Requirement Specifications (ORS)...................................................................... 9
Table 3: Billing Requirement Specifications (BRS) ....................................................................... 9
Table 4: Project Requirement Specifications (PRS) ....................................................................... 9
Table 5: Project Requirement Specifications (PRS) Continued ................................................... 10
Table 6: Technical Requirement Specifications ........................................................................... 10
Table 7: Technical Requirement Specifications Continued.......................................................... 11
Table 8: Technologies used for Map Building ............................................................................. 16
Table 9: Self-Localization Technologies ...................................................................................... 18
Table 10: Odometry Equations [2] ............................................................................................... 18
Table 11: Odometry Equations Continued [2] .............................................................................. 19
Table 12: Borenstein’s Method Equations [2] .............................................................................. 19
Table 13: Location and Positioning Technologies........................................................................ 22
Table 14: Battery Type Comparison ............................................................................................. 23
Table 15: Processors Comparison ................................................................................................. 27
Table 16: DC Motor Types Comparison ...................................................................................... 31
Table 17: Voltage Regulators Comparison ................................................................................... 32
Table 18: Switches Technology Comparison ............................................................................... 35
Table 19: Programming Languages and Libraries Comparison ................................................... 38
Table 20: Wi-Fi™ versions suitable for autonomous grass cutter [27] ........................................ 44
Table 21: Wireless Communications Comparison [26] ................................................................ 45
Table 22: Microcontrollers and Development Boards Parts Selection Overview ........................ 47
Table 23: Boundary System Parts Selection Overview ................................................................ 47

ix
Table 24: Sensors and Location Parts Selection Overview .......................................................... 48
Table 25: Navigation and Drive Parts Selection Overview .......................................................... 48
Table 26: Power System Part Selection Overview ....................................................................... 49
Table 27: Mechanical Part Selection Overview............................................................................ 50
Table 28: PCB Components Part Selection Overview ................................................................. 50
Table 29: Development Boards Selection..................................................................................... 51
Table 30: Microcontrollers Selection............................................................................................ 54
Table 31: Perimeter Boundary Wire Selection ............................................................................. 56
Table 32: Timer for the Boundary System Selection.................................................................... 57
Table 33: Perimeter Wire Receiver Operational Amplifier Selection .......................................... 59
Table 34: Camera Selection .......................................................................................................... 61
Table 35: Lidar System Selection ................................................................................................. 63
Table 36: Obstacle Avoidance Sensors Selection ......................................................................... 64
Table 37: Battery Charge Sensors Selection ................................................................................. 66
Table 38: Digital Compass and GPS Module Selection ............................................................... 67
Table 39: Wireless Chip Selection ................................................................................................ 69
Table 40: Motor Driver Chip Selection ........................................................................................ 70
Table 41: Wheel DC Motors Selection ......................................................................................... 72
Table 42: String-Based Blades DC Motors Selection................................................................... 74
Table 43: Voltage Regulators Selection ....................................................................................... 76
Table 44: DC Motors Battery Selection........................................................................................ 78
Table 45: Electrical Components Battery Selection ..................................................................... 80
Table 46: Perimeter Wire Battery Selection ................................................................................. 81
Table 47: Wheel Selection from Mechanical Team ..................................................................... 83
Table 48: Caster Wheel Selection by Mechanical Team .............................................................. 83
Table 49: String Trimmer Head Selection by Mechanical Team ................................................. 84
Table 50: ISO/IEC/IEEE 29119 Standards ................................................................................... 94
Table 51: ISO/TC 299 Robotic Standards .................................................................................... 96
Table 52:International Electrotechnical Commission 62680 Universal Serial Bus Standards Suite
....................................................................................................................................................... 97
Table 53: Applicable EMC Standards .......................................................................................... 98
Table 54: Motors Power Specifications Table ............................................................................ 105
Table 55: Final Motors Power Specifications Table................................................................... 105
Table 56: Perimeter Wire Specifications Table .......................................................................... 110
Table 57: Parts Ordered and Received for Testing ..................................................................... 119
Table 58: Overall Testing Results............................................................................................... 126
Table 59: Fall 2018 Senior Design I Milestones Table .............................................................. 132
Table 60: Spring 2019 Senior Design II Milestones Table......................................................... 133
Table 61: Prices and Specifications of PCBs from JLCPCB.com [90] ...................................... 134
Table 62: Shipping Details from JLCPCB.com [91] .................................................................. 134
Table 63: PCB Capabilities from JLCPCB.com [92] ................................................................. 135
Table 64: Project Budget and Financing Table1......................................................................... 136
Table 65: Project Budget and Financing Table2......................................................................... 137
Table 66: Team Member’s Project Roles ................................................................................... 138
Table 67: Updated Primary Roles and Work Distribution Table ............................................... 139
Table 68: Datasheets ....................................................................................................................... E

x
Table 69: Datasheets ....................................................................................................................... F

xi
1 Executive Summary
Traditionally, gas powered lawn mowers pose an environmental threat. As Solar Farms
become more popular, the use of traditional lawn mowers to maintain the local vegetation
has become a focus. According to Duke Energy and Orlando Utility Commission,
maintaining the vegetation growth of the Solar Farms costs roughly $150,000 to $200,000
per 500 acres per year. To lower the maintenance costs, they are requesting designs and
prototypes of an Articulated Autonomous AI-Assisted Solar Farm Grass Cutter. The
purpose is to design a solution for them to lower the costs of maintenance and manpower
for solar farm vegetation control, while also creating less of a carbon footprint compared
to traditional solutions. The solar farm grass cutter is sponsored by Duke Energy and
Orlando Utility Commission with a $1,500 budget. It will be developed in conjunction
with interdisciplinary teams consisting of Computer Science, Electrical Engineering,
Computer Engineering, and Mechanical Engineering students. After the final product is
designed, implemented and built, a competition between University of Central Florida and
University of South Florida teams will have the chance in competing against each other.
This will be judged on the overall design, elements, precision, accuracy and capabilities.

Three teams will work together with various different tasks and roles. The focus of the
Electrical and Computer Engineering team will be on the hardware, software, power
systems, electrical designs and implementations of the overall grass cutter system. This
includes specifications for the components, the design and implementation of the hardware
and software and the integration of components to create a fully functional prototype that
meets all the engineering standards and requirements. The focus of the Mechanical
Engineering team will be on the framework, wheels, string-based blade, motion and size
of robot design and implementations. The focus of the Computer Science team will be on
the Laptop application for the robot, computer vision, path planning, image processing,
mapping, self-localization and communication to the electrical designs.

The documentation identifies and explains the motivation, goals, related work, engineering
specifications and block diagrams. Technical requirements by the sponsors, Duke Energy
and Orlando Utility Commission, are identified within this documentation. An Engineering
Market House of Quality Analysis Table is generated to identify and compare the sponsor’s
requirements to the technical requirements to show positive and negative correlations
between them. Extensive research on existing products/projects, relevant components and
technologies, and applicable tradeoffs were used to design a functioning autonomous grass
cutter. The research will provide resources from which the rest of the design can be
influenced upon. Applicable design constraints and engineering standards will be enforced.
Selected components will be identified along with an explanation of choice and comparison
to other candidate parts. A series of components breadboard testing will ensure the
functionality of each component and design. This will be conducted before the assembly
of an overall prototype. The breadboard testing will follow guidelines based on research,
standards, design constraints and specific requirements to assure functionality.

1
2 Project Description
This section provides background information to provide a scope of what this project is
going to be designed upon. The following sub-chapters include information on the project
motivation, goals, existing projects and products, engineering specifications, possible
designs and block diagrams.

2.1 Project Motivation


Solar farms are built upon concrete or grass terrains but most solar farms that exist today
are built on top of grass terrains. Although the sun could be considered a free source of
energy, solar energy solutions are far from it. One of the biggest costs that are factored in
when an energy company considers a solar farm is the cost of the farm itself. By creating
a more cost-effective solution, it is possible that more energy companies will take on the
mission of using alternative and renewable energy sources in lieu of today’s fossil fuel
powered society.

The approach to a more cost-effective solution is to use engineering practices to integrate


modern technology into today’s traditional lawn mowing process and to ultimately create
an autonomous lawn mower. When it comes to comparing current solutions, there is a
monetary gap. Autonomous lawn care solutions from well-known lawn care brand, such
as John Deere and Husqvarna, start from about $1500 to $2500 USD for robots that are not
capable of maintaining half an acre. Using the figures from Duke Energy and Orlando
Utility Commission’s estimate for solar farm maintenance, the solution would need to be
between $300 to $400 USD per acre.

There are numerous factors on whether the project or even current products will be
implemented as a solution. One factor is cost. Robotic solutions come with an upfront cost.
The best way to beat the current solution is to build a robot that is maintenance free with a
long lifespan. Another factor is coverage. To have a cost-effective solution, a coverage
area greater than the current competitors, that range around $5000 to $6000 per acre. It
would not be financially ideal to come up with a solution that needs over a decade of zero
maintenance to break the cost difference of just contracting the solar farm lawn
maintenance. The solution must have the least amount of points of failure possible.

This project could possibly lay the foundation of what could be an entire industry or even
societal shift away from nonrenewable energies. In an article written August 6th, 2018, by
Yasemine Saplakoglu on livescience.com, it is estimated that a roughly 2-degree Celsius
rise in global temperature could cause Earth to enter a “Hot House” state. The article
defines a “Hot House” state as a point in which “natural feedback systems that currently
keep the Earth cool will unravel.” While it is unlikely that just solving a labor-intensive
problem for an energy company would begin an industry or societal shift towards
alternative energy, this project could be one of the many approaches towards encouraging
implementation of renewable energy [1].

2
2.2 Goals
The goals of this project are to design and implement a power efficient, functional and
prestige Autonomous AI-Assisted Solar Farm Grass Cutter. The main goal is to cut the
grass areas under, around and below the Solar PV Structures without damaging or having
any contact with the structures, humans, obstacles and/or objects that might be in the way.
The Grass Cutter should stay in the boundaries of the set areas and cut the grass in an
efficient matter in a reasonable time frame.

2.3 Existing Projects and Products


This section displays similar finished projects or products that have similar technologies
that may be used in this project. These projects or products showcase an autonomous grass
cutting solution. While it is possible that there is already a finished product or project that
already fits within the design constraints, it is unlikely. The goals while researching was to
pull specific ideas or approaches to the design constraints that would be useful to
implement or use while designing for this project.

2.3.1 The Manscape: Autonomous Lawn Mower [2]


The first project, “The Manscaper: Autonomous Lawn Mower” was a University of Central
Florida senior design project. The Manscaper was developed by UCF students Andrew
Cochrum, Joseph Corteo, Jason Oppel, and Matthew Seth. The Manscaper utilizes a
commercial blade system (the blade system of a commercial lawn mower) with custom
built charging and navigation systems appended to the commercial blade system. It uses a
combination of software and components to maintain the grass, maintain the product itself,
and to safely operate within a desired area.

The battery of choice for The Manscaper was 2 lead acid batteries. Their two-battery
system was able to power their device for an hour per full charge but had a recharge time
of 3 hours. While their own requirements were met, this project needs to have a lower
recharge time. Weight is a design constraint for this project. This project’s two lead-acid
batteries only provided an hour’s worth of power. It is not an ideal case for this project’s
design. Though the Manscaper’s battery choice is not ideal for this project, the charging
system of their project is worth analyzing. The Manscaper utilized a battery monitoring
system. The battery monitor module is manufactured by Texas Instruments and is Part No.
BQ34Z110. This battery monitor is accurate up to 95% and provides up to 5 output pins
for LEDS to display battery life. This component was shown to have a simple
implementation process and intuitive integration.

Components used in the implementation of The Manscaper included a microcontroller,


ultrasonic sensors and rubber bumpers. It utilized a high mounted camera to map the area
of choice and marked the boundaries or points of interest (POI) using Computer Vision
(CV) Technology. The software algorithms can control the navigation of the device
through series of obstacles with a combination of its ultrasonic distance sensors, camera,

3
and rubber bumpers. The software utilized the camera to map the layout of an area and
mark boundaries, like the perimeter fence.

2.3.2 Husqvarna Auto Mower Series [3]


A variety of commercial products were researched to influence the design of this project.
Some interesting devices were the Auto mower line from Husqvarna. Husqvarna’s Auto
mower line is a series of different autonomous lawn mowers. Their products range from
$1,500 USD MSRP to $3,500 USD MSRP. They have a cutting range of 0.25 to 1.25 acres
respectively. This project’s ceiling cost is $1,500.00 USD. The Auto mower 310 is
analyzed due to the ideal budget range for this project. Although analysis of Husqvarna’s
Auto mower line was limited due to lack of information on their website, it did provide
lists of capabilities, specifications and form factors pertaining to their Auto mower
products.

Looking at a comparison of Husqvarna’s Auto mower line of products, it appears that form
factor and physical aspects were prioritized over electrical capabilities in terms of what
your money buys. For example, Husqvarna’s budget option, the Auto mower 310, provides
almost no capabilities that the customer requires. On the other hand, Husqvarna’s top-tier
Auto mower product, the Auto mower 450X, fulfills all the customer’s requirements along
with providing extra capabilities. While it makes sense that physical constraints are met
first, i.e., the autonomous mower must autonomously cut grass, it was both disappointing
and inspiring to see that the autonomous mower we design could possibly be a comparable
to a $3,500 USD product. Drawing from Husqvarna’s pricing approach, we decided that it
would make sense to allocate most of the funding to the mechanical engineering team less
the battery we choose. Allocating more funds to the mechanical engineering team means
that the grass cutter will be more robust. It is also possible to integrate the better physical
components into the field of electrical and computer engineering that could include
bumpers that send signals to a microcontroller. This means that an extra focus is needed on
cost effectiveness when it comes to selecting the components. Examination on Husqvarna’s
pricing comparison is that the lower priced models come with a “guide wire” for a
perimeter while the higher priced models come with a settable perimeter within the Auto
mower’s software. Considering that a price difference decides between whether a physical
perimeter wire is required or is built into the software, the consideration of the budget will
decide which system to use.

Another examination of the cost comparisons between Husqvarna’s Auto mower models
showed that the higher priced models have a patented GPS assisted navigation. In a
discussion on GPS navigation with the other interdisciplinary teams designing this project
of the grass cutter, the GPS assisted navigation was a possible design to implement into the
grass cutter. Coordinated with the Electrical and Computer Engineering, and Computer
Science Team led to the decision of using a GPS assisted navigation by using an Inertial
Measurements Unit to track its position, speed and location. The Inertial Measurements
Unit has an onboard gyroscope, accelerometer and GPS capabilities. The technical
requirements of this project include the use of a secondary power system to last after the

4
main power system drained, to ping the location of the grass cutter to the laptop application.
This will
allow the users to find the grass cutter using the location pinged to the application and
send someone to go find and charge the grass cutter’s batteries. This system will be
designed, implemented and tested by the Computer Science, Electrical and Computer
Engineering Teams.

2.3.3 IPFW Autonomous Lawn Mower [4]


The last project, “Autonomous Lawn Mower” was a senior design project. This senior
design project, at Indiana University – Purdue University – Fort Wayne, was developed by
IPFW students consisting of a three-person electrical and computer engineering (ECE)
team and a three-person mechanical engineering (ME) team. The IPFW students used a
lawn mower deck from a commercially available lawn mower (Craftsman Professional
88776) and had their Mechanical Engineering team design and fabricate a frame along with
necessary components for a rear wheel drive system.

The IPFW “Autonomous Lawn Mower” used a shaft encoder and digital compass for
primary navigation. Their drivetrain was created using a commercial wheelchair’s set of
wheels and motors, a design constraint was created of a minimum voltage requirement of
24 volts. To fulfill the previously mentioned design requirement, along with their
requirement of time per charge, the IPFW team utilized a pair of 12-volt lead-acid batteries,
connected in series. The lead-acid batteries are energy dense, their choice of power storage
fulfilled design constraint and requirements, allowing them 768-watt hours of power or 1.6
hours of run time for their configuration.

Although the IPFW team used an off the shelf development board as their main
microcontroller system, lessons can be learned through a flowchart provided on their
project documentation. The IPFW team explains in detail the overall thought process of
the steps the microcontroller goes through, as the lawn is getting cut. This system process
may be suitable for their project, but this project of the grass is planned to be more
intelligent than the IPFW Autonomous Lawn Mower. The thought process previously
mentioned is nowhere near robust enough for the goals and requirements of this project but
provides an excellent foundation on how to program a logical flow onto the processor that
will be selected.

2.3.4 Existing Kill Switch Systems


The Manscaper mower project influenced a kill switch to be activated in the design of the
autonomous grass cutter if the mower needs to be shut off immediately. Sensors and
computer vision will indicate whether the machine is moving towards an obstacle; the
obstacle should be avoided. In the case that the mower does not avoid the obstacle in time,
or while turning, collides into a different obstacle, the Manscaper project incorporated a
switch under the bumper of the machine. The bumper was pushed outward using a spring
load and when pushed inward while experiencing a collision, a switch would be activated

5
to send a signal to the microcontroller. The signal shuts off the cutting mechanism to
prevent any injury to the obstacle or the machine.

The Auto mower products manufactured by Husqvarna implemented kill switching


techniques in an alternative manner. The suspension system underneath the mowers within
the commercial line of Auto mower products stop operation of blade motors when the
machine is lifted or turned over. The process is executed by notifying the control system
when weight is lifted off the wheels. In the worst-case scenario of the Auto mower tipping
over, the same signal processing design cuts off the machine. An accelerometer can be used
for this type of shut-off signal as well. This is an efficient approach for initiating the kill
switch signal because the same input takes care of two faulty mishaps that may occur while
the machine is in operation. A remote kill switch must shut off the dc motor that operates
the string blades from a 50-foot distance as a requirement in this project. The signal can be
sent to a location port on the microprocessor that is designated for shorting out motors. The
DC motor controlling the string cutter will cut off as well. In exploration of the options to
shut down one to all three motors, the safest option would be to shut down all three motors.
Nonetheless, the disconnection of all three motors simultaneously may result in more
circuitry and components on a limited processor. Therefore, killing the battery alone will
make for a simpler task. A reason for not wanting to kill the entire battery would be to keep
the software running on the machine while the motionless mower awaits a resume signal.
Startup time would also be saved from the amount of times the system needs rebooted.

The overall goal for design regarding a kill switch is safety. Safety needs prioritized over
efficiency and complexity, yet these other factors must be considered if the final product
will be valued in comparison to the already manufactured autonomous mowing machines.
Single options of kill switches being initiated to cease operation of motors or entire battery
have been discussed regarding the wireless transmitted signal that is managed manually.
Maintaining a designated control port for this kill switching purpose for the incoming
wireless signal is a must in the design. Different motors can also be cut-off for protection
using the obstacle avoidance system as well as the kill switch signal that is wirelessly
processed from an observer. If the use of manual shut-off for an emergency or ‘done for
the day’ type of kill-switch is used, then shutting off the entire battery or electrical system
would be a good option for safety purposes. The other options for motor control signals
can be produced by the navigating sensor system while maintaining safety as the highest
priority.

2.3.5 Existing Grass Cutting Systems


Since the intent of the project is to create an autonomous grass cutter, research into the way
the autonomous grass cutter physically cuts the grass is of great importunate. Depending
on application, there are different styles of blade when it comes to cutting grass. Factors
such as desirable cutting capability, power demand, and clippings management affect what
type of blade to choose for cutting grass. According to cyclonerake.com, there are three
main types of rotary rower blades; standard blades (low/medium lift), mulching blades and
high-lift blades. In Table 1 below, the grass cutting technologies are compared.

6
Table 1: Grass Cutting Systems Comparison
Standard Blades Mulching Blades High Lift Blades
Key -Curve in the blade -Greater curved edge than -Pulls up the grass to
Elements creates a lifting air standard blades cut
flow to pull up the -Provides multiple fine -Very exaggerated
grass for a uniform cut cuts instead of one big cut curve in the blade

2.3.5.1 Standard Blades [5]

Standard blades, also known as low-lift or medium-lift blades are designed with a slight
curve along the edges. The curve in the blade creates a lifting air flow, which, assuming
the grass is not wet, pulls it up for a uniform cut. The disadvantage of using standard blades
is that it would need the implementation of a bagging system for clippings as the grass
clippings will be the size of the excess grass less the blade height.

2.3.5.2 Mulching Blades [5]

Mulching blades, also known as three-in-one blades, are designed with a greater curved
edge than that of the standard blade. The ends of mulching blades also usually contain
“teeth” that allow the grass to pass through the blade, meaning that the same blade of grass
experiences multiple fine cuts instead of one big cut. The fine cuts allow for faster
decomposition, hence the name “Mulching” in the name of the blade. Mulching blades are
ideal for the autonomous mower because grass clippings won’t have to be accounted for.

2.3.5.3 High Lift Blades [5]

High lift blades are basically standard blades but with a much more exaggerated curve.
This exaggerated curve means that the mower system will be able to pull the grass up for
cutting. It is advantageous to use a high lift blade when considering that the autonomous
grass cutter is most likely going to encounter wet conditions. However, for this iteration
of the project, the sponsor has specified that the grass cutter should be designed with base
functionality when considering ideal conditions and wet conditions are not considered an
ideal condition. Also, as the lift of a blade system increases, the power demand increases
proportionally.

2.3.5.4 String-Based Grass Cutting

Since the customer’s health and safety constraint limits the only option of blade material
to be durable, string-based nylon blade, further research was conducted on string-based
methods of cutting. Using the previously researched information about the types of blades
to cut the grass, it would be ideal to have a string-based blade with the high lift and
mulching capability. High lift would pull the grass up, providing uniform cutting capability
along with ensuring the lowest and cleanest possible cut. Mulching capability would make
grass clippings an afterthought. However, the requirement of having a string-based cutting
solution arises some challenges not considered when using a metal blade. Instead of relying
on an actual metal blade to cut grass, a string-based grass cutter works on the principle of
using centripetal acceleration to spin a line fast enough to stretch and thus taut the line.
7
When the line is stretched and taut, it becomes a cutting disk. This disk depends on factors,
such as speed, torque, and line thickness to determine whether it will cut grass. The string-
based blade must have enough speed to stretch and taut the line. A significant disadvantage
of having to stretch and taut a string line in comparison to a metal blade is that is it not
possible to design a curve into the string-based blade. Having no curve means that it is not
possible to achieve a lifting feature to pull up the grass for a uniform cut. However, saving
too much speed can create turbulent forces that create an unpredictable movement of the
grass, including pushing the grass down and away from the string-based blade, resulting in
a cut that is not uniform.

While speed is required for a string line to become a cutting disk, high torque is required
to continuously overcome the resistance caused when the cutting disk encounters the shear
force of grass. Torque and speed are inversely related. With that in mind, a low speed of
3000 rpm with a torque of 0.5099458 N-m has enough force to cut the grass depending on
the radius of the string-based blade accounting for the design constraints of cost and power.
With a radius of 3 inches, it will result in a force of 6.692 Newtons. With a radius of 4
inches, it will result in a force of 5.019 Newtons. With a radius of 5 inches, it will result in
a force of 4.015 Newtons. These observations show that with a larger string radius, the less
force that will be outputted with the same amount of torque. Due to this research, a low
speed, high torque and lowest string radius possible that will need to be considered to
efficiently cut the grass. The thickness of the string has very small impact on the force of
the strings to cut the grass since Nylon strings are very lightweight. On conventional metal
cutting blades, the thickness and weight does have an impact on the force of the strings to
cut the grass.

2.4 Engineering Specifications


The engineering specifications chapter describes and compares the project requirement
specifications, technical requirements and the customer’s desires. Engineering
specifications that relate to this project are the records that provide detailed documentation
of the construction, wiring, design, arrangement and applicable engineering details of the
overall system design and processing components.

2.4.1 Project Requirement Specifications


The project requirement specifications refer to the specific design of the overall grass cutter
system. The goal of this project is to use the components listed in the tables below to design
a fully functional, AI-Assisted Solar Farm Grass Cutter. The project must contain a
microcontroller, motor driver chips, GPS module, voltage regulators, lidar, batteries,
development boards, obstacle avoidance sensors, obstacle detection sensors and camera.
The grass cutter will use low voltage and power consumption. Five batteries are being used
for each part of the system that includes the PCB, Odroid-XU4, wheel motors, blade motors
and boundary system. Table 2 shown below shows the overall project requirement
specifications table with the description, target values and related standards.

8
Table 2: Overall Requirement Specifications (ORS)
Designation Description Target Value ABET Related Standards
ORS-1 Dimensions of Robot ≤ 2x2x2 feet ABET Size Design Constraint
ORS-2 Dimensions of PCB ≤6x7 inches ABET Size Design Constraint
ABET Weight Design
ORS-3 Weight ≤40 pounds
Constraint
ABET Power Design
ORS-4 Power Consumption ≤4000Wh
Constraint
ABET Time Design
ORS-5 Time to cut 50x10 area ≤15 minutes
Constraint
ABET Health and Safety
ORS-6 Safe cutting and navigation ≥95% Accuracy
Design Constraint
ABET Environmental Design
ORS-7 Damage to Environment ≥95% Accuracy
Constraint
ABET Economic Design
ORS-8 Maintenance Costs ≤$10K per year
Constraint
ABET Ethical Design
ORS-9 Design Integrity 100%
Constraint
ABET Manufacturability
ORS-10 Manufacturability 100%
Design Constraint

Table 3 shown below shows the billing requirement specifications table with the
description, target values and related standards. Duke Energy and Orlando Utility
Commission provided a budget of $1,500. The target value is $2,000 in case the budget
goes over what the sponsors have provided for this project.
Table 3: Billing Requirement Specifications (BRS)
Related
Designation Description Target Value
Standards
None, typical
BRS-1 Project Cost Ceiling <$2000
competitive size

Table 4 shown below shows the project requirement specifications table with the
description, target values and related standards if applicable. The project requirement
specifications are the selected components and parts needed to design and implement this
project. The project requirement specifications are shown below in tables 4 and 5.

Table 4: Project Requirement Specifications (PRS)


Related
Designation Description Target Value
Standards
USB Wireless IEEE Wireless
PRS-1 ≥50-foot range
Communications Standard
≥1200Wh battery IEEE Battery
PRS-2 Motors Lithium Ion Battery
capacity Standard
Electrical Components ≥240Wh battery IEEE Battery
PRS-3
Lithium Ion Battery capacity Standard
Perimeter Wire Lithium Ion ≥120Wh battery IEEE Battery
PRS-4
Battery capacity Standard
PRS-5 GPS location and positioning ≥90% accuracy IEEE Standard

9
Table 5: Project Requirement Specifications (PRS) Continued
Related
Designation Description Target Value
Standards
PRS-6 Camera Vision ≥5-foot range IEEE Standard
PRS-7 I2C Interface >95% Accuracy IEEE I2C
Standard
PRS-8 UART Communication >95% Accuracy IEEE Standard
PRS-9 SPI Interface >95% Accuracy IEEE SPI
Standard
PRS-10 C Programming Language >90% Accuracy IEEE C Standard
PRS-11 Python Programming >90% Accuracy IEEE Standard
Language
PRS-12 C++ Programming Language >90% Accuracy IEEE C++
Standard
PRS-13 Voltage Regulators ≥85% power efficiency IEEE Standard
PRS-14 Obstacle Avoidance Sensors ≥300-meter range IEEE Standard
PRS-15 Induction Sensors ≥2-foot range IEEE Standard
PRS-16 Battery Charge Sensors ≥90% accuracy IEEE Standard
PRS-17 Operational Amplifiers ≥90% efficiency IEEE Standard
PRS-18 DC Wheel Motors ≥0.5 N-m of Torque IEEE Standard
PRS-19 DC String Motors ≥1 N-m of Torque IEEE Standard
PRS-20 Software Testing >95% accuracy IEEE Standard
PRS-21 Hardware Testing >95% accuracy IEEE Standard

2.4.2 Technical Requirement Specifications


This section will describe all the technical requirements required with their target range
and technical difficulty on a scale from 1 to 5 (1:Least Difficult to 5: Most Difficult). This
is shown in Tables 6 and 7 below.

Table 6: Technical Requirement Specifications


Technical
Number Technical Requirement Target
Difficulty
Provide an articulated sweeping
motion needed to move the weed
1 ≥90% Efficiency 2
whacker across the terrain and cut
grass
To identify grass areas that need
2 ≥90% Efficiency 3
attention
3 Obstacle Avoidance ≥2 feet Range 3
4 Motion Control ≥90% Efficiency 3
Defined battery storage technology
5 ≥90% Efficiency 1
with charging capability
6 Nylon String-Based Blade to cut grass ≥90% Efficiency 2
Kill Switch that can turn off the
7 ≥50 ft. 5
cutting system and locomotion
Safely Navigating through uneven
8 terrain without capsizing while ≥3 in. differential over 4
avoiding a series of obstacles

10
Table 7: Technical Requirement Specifications Continued
9 Cut grass under obstacles ≤2 ft. above the ground 2
10 Maintain acceptable grass height ≤6 in. 2
Must cut large areas and trim around
11 ≥500 sq. ft. 4
PV Support Structures
12 Size of Robot ≤2x2x2 ft. 1
13 Obstacle Detection < 5 inches 3
Avoid any damage to surrounding
14 infrastructure, the environment and ≥90% Efficiency 3
humans
Time to charge from 25% level to
15 ≤2 Hours 1
100%
16 Uniformity of cut ≤6 in. 4
Percent of total grass area cut and
17 ≥500 sq. ft. in 15 minutes 2
time
18 Stay in Boundaries ≥90% Efficiency 3
19 System Weight ≤40 lbs. 1
20 System Cost ≤$1500 3
21 Torque of Blade Motors ≥1 N·m 5
22 Force of Blade Motors ≥5N 5

2.4.3 Engineering Market House of Quality Analysis


The Engineering Market House of Quality Analysis establishes the connection between the
customer’s desires and technical requirements to improve the product. Of the 22 technical
requirement specifications listed in Table 3 in chapter 2.5, the 10 most important ones were
selected to compare with the customer’s desires. This table shows the positive and negative
correlations between the customer’s desires and technical requirements of the grass cutter.
Every technical requirement has a corresponding target value with the corresponding
technical difficulty from 1 to 5, with 1 being the easiest and 5 being the most difficult. A
few of the demonstratable specifications that will be shown will include avoiding obstacles
at a range greater than 2 feet, detecting obstacles at a range greater than 5 inches, uniform
cut of grass of at least 6 inches, and kill switch technology of a range of at least 50 feet.
Figure 1 below shows the correlation between the Customer’s Desires and Technical
Requirements. The house of quality trade-off table is shown below in Figure 1.

11
Figure 1: House of Quality Trade-Off Table made by Christopher Entwistle

2.5 Possible Designs and Block Diagrams


In this section, the possible hardware and software designs and block diagrams are
described and shown. This includes the hardware design of the grass cutter and boundary
system. This includes the software design of the grass cutter system.

2.5.1 Hardware Block Diagram


The possible Hardware Block Diagram shows the overall main components of the
hardware that will be needed in the Grass Cutter System. There will be a battery that will
power the electrical components through a voltage regulator. The electrical components
will communicate with the laptop, motors and microcontroller. The possible hardware
block diagram for the Grass Cutter System is shown in Figure 2 below.

12
Figure 2: Possible Hardware Block Diagram for the Grass Cutter System made by Brandei Dieter

In Senior Design II, the hardware block diagram has stayed the same except for the battery
charge sensor. The battery charge sensor was no longer used due to the battery charger
being able to show the charge percent while charging. The possible Hardware Block
Diagram shows the overall main components of the hardware that will be needed in the
boundary system. There will be a battery powering the perimeter wire generator circuit
through a voltage regulator. The boundary receiver circuit will detect the signal given off
from the perimeter wire from the perimeter wire generator circuit and relay the signal to
the microcontroller to do the proper operations. The possible hardware block diagram for
the Boundary System is shown in Figure 3 below.

Figure 3: Possible Hardware Block Diagram for Boundary System made by Brandei Dieter

In Senior Design II, the hardware block diagram for the boundary system stayed the same.
The perimeter wire receiver circuit is located on the main printed circuit board design and
the generator circuit is separate connected to the boundary wire.

13
2.5.2 Software Block Diagram
The possible Software Block Diagram shows the overall software functions of the overall
main components that will be needed in this System. Once the battery is powered on, it
will power on the microcontroller and components. The functions of the obstacle avoidance
sensors, obstacle detection, GPS module, motor control, battery charge sensor and the
laptop application are shown below. The possible software block diagram is shown in
Figure 4 below.

Figure 4: Possible Software Block Diagram made by Brandei Dieter

In Senior Design II, the software diagram has had some modifications. The obstacle
avoidance sensors were still used to detect objects and turn to avoid objects. The obstacle
detection was no longer used to detect if the grass was cut above a certain height. Instead,
a lidar system was used to map the entire area and detect the obstacles that relay to a
map. The gps module was no longer used to navigate to keep the robot in the boundaries.
Instead, the gps module pings to a web server that can be accessed through the Odroid-
XU4. The battery charge sensor and laptop application were not used anymore. A web
server replaced the laptop application. The kill switch now is done through a remote and
manual kill switch. The motor control operates controlling three blade motors and two
front wheels.

14
3 Research and Part Selection
Prior to building a prototype, research was conducted to find technologies that relevant to
the project. After choosing which technologies would be relevant toward the project, parts
and components were explored, compared, and chosen. This section of the project
documentation is used to identify and describe the relevant technologies that may be used
in this project, the research done to help with the part selections, and the strategic parts
comparison and selections.

3.1 Relevant Technologies


This section contains technologies that were found to be relevant towards the design of the
project. Extensive research was then conducted to aid in the process of selecting the
technologies, parts and components that will be used in the prototype.

3.1.1 Navigation Technology


This section will describe the different technologies that may be used in this project. This
will include path planning, obstacle detection, location and positioning, map building and
types of localization and mapping. This technology is vital for the overall navigation and
motion of the grass cutter robot.

3.1.1.1 Path Planning

Path planning will be useful for this project to cover all the areas that need to be cut in an
intelligent way. Of the relatively straight routes that could be implemented, it could either
repeatedly go through the field from top to bottom, or spiral around from the boundary line
to the middle of the field. The spiral seems like the more ideal selection because that will
result in fewer 180° turns. 90° turns will be easier for the mower to turn and get all the
areas of the grass. For the competition for this project, the grass cutter will be tested in a
500 square foot area. This area will be rectangular and irregular boundary lines are unlikely,
which is perfect for the spiral route. This method will reduce the amount of times the robot
will visit a path that it has already completed and maintain the speed of utilizing a uniform
navigational pattern. Figure 5 below shows an example of how the path planning could
work around the PV structures in the Solar Farms.

Figure 5: Path Planning Diagram around PV Structures made by Brandei Dieter

15
In Figure 5, the curves will change depending on the shape and layout of Solar Panel
Infrastructures. The red and blue paths are alternating passes the robot may take in route.
The purple path is the overlapping passes the robot may take to cut around the PV
structures. With path planning, it could minimize the amount of overlapping passes it may
take. The robot will need to adjust its navigation depending where the obstacle is
positioned. This can be done with minimal computations and algorithms. This should make
the grass cutter more efficient by planning its path and never cutting over the same spot
twice. This technology is one of the most intelligent ways to maintain the grass.

3.1.1.2 Map Building

Several different methods are available for autonomous vehicles to map the environment
around them. Different methods depend on the type of sensors that are being used for
Obstacle Detection and mapping. Common applications used for map building are lasers,
LiDAR sensors and cameras. Table 8 below shows the technologies that may be used for
Map Building.

Table 8: Technologies used for Map Building


Lasers Cameras
-Use of lasers for map building -Lower Costs
-Creates a 2-D occupancy grid -Use of cameras for map
map of the objects and free space building
-Predicts the odds of an object -Utilizes Computer Vision
being present -3-D imaging
Key Elements
-Higher Costs -3-D image reconstruction
-More comprehensive -Aid in Path Planning
-Great for indoor environments -Obstacle Detection
-Obstacle Recognition
-Tracking

3.1.1.2.1 Lasers for Map Building

In Senior Design II, the laser map building technology was used through the lidar system.
This was selected through the computer science team. With lasers, there is a technology
that uses lasers to fill in a 2-D occupancy grid map. This technology does not require the
use of cameras or computer vision. It uses lidar which is more comprehensive and
expensive. For instance, a rotating sensor can be placed on top of the robot and constantly
scans the environment in every direction. This will fill a grid map with all the obstacles
and objects that may be in its line of path. A lot of lidar applications are used in indoor
environments. The way the lidar process works is the created grid map divides the
environment into a grid where each cell contains the probability of an obstacle or object
present by using the measurements from the sensors. A laser can either pass through free
space or hit an obstacle or object in its path. The open space is updated with (0.0,white)
and cells with an obstacle or object are updated with (1.0, black). Although this method is
an efficient and intelligent way to map the field of the Solar Farm, it is not feasible with
the resources available for this project. It is too expensive for the budget of this project.
Figure 6 below shows how the lasers map build.
16
Figure 6: Laser Map Building made by Brandei Dieter

3.1.1.2.2 Cameras for Map Building

In Senior Design II, the computer science team decided to exclude the use of the camera
and just use the lidar system for more accuracy. With cameras, the use of computer vision
can be implemented for map building. Digital cameras create images consisting of pixels
which can be analyzed using the open source computer vision and OpenCV libraries and
algorithms. Cameras have various applications that can be used for map building such as
3-D imaging, 3-D image reconstruction, path planning, deep learning, obstacle detection,
object recognition and tracking. They can be used to perform visual simultaneous
localization and mapping. The implementations of techniques such as Simultaneous
Localization and Mapping (SLAM) and Large Scale Direct Simultaneous Localization and
Mapping (LSD-SLAM), can be used in conjunction with a camera. This offers a wide range
of features that are extremely useful for the autonomous AI-Assisted Solar Farm Grass
Cutter in this project. The use of the camera and its capabilities offer a huge advantage for
autonomous robots. With cameras, the use of sonar, lidar or infrared sensors are not needed
but an added feature as a secondary protection element. Cameras are an ideal, cost efficient
way to implement intelligent tracking, mapping and detection to this project. The
autonomous mower could be capable of starting in an unknown environment then build an
entire map of the environment and simultaneously localize itself within the map it created.
For instance, the autonomous grass cutter would be able to enter any solar farm and
immediately adapt and learn the environment around it. This feature is a very useful and
new growing technology that is a strong element for autonomous devices like this project.
Cameras for map building are the most ideal given the resources and design constraints of
this project. Figure 7 below shows a simple diagram of a camera for map building of 3-D
reconstructions.

Figure 7: Camera Map Building made by Brandei Dieter

17
3.1.1.3 Self-Localization

Self-Localization has an important role in robots. It is used to estimate the distance of the
robot from a specific object and find the position and direction of the robot with respect to
a global fixed coordinate grid. Various types of self-localization will be explained in the
following sub-chapters such as odometry, Simultaneous Localization and Mapping
(SLAM) and Large Scale Direct Simultaneous Localization and Mapping (LSD-SLAM).
These self-localization technologies would be extremely useful to implement into this
project. It will provide efficient processes that can keep track of the robot’s position and
location, creating maps using its surround environment and landmark extraction and
capable of depth map estimation to reconstruct dense 3D images and using image
intensities for tracking and mapping. All these techniques rely on math and measurement
models to optimize its functionality. Table 9 below shows the technologies used and its
key elements for the technologies with Self-Localization.

Table 9: Self-Localization Technologies


Odometry SLAM LSD-SLAM
-Can keep track of -The surrounding -Depth Map Estimation
where the robot is at environment is used -Directly operates on
anytime to update the image intensities for
-Algorithms are position of the robot tracking and mapping
utilized for calibration -Uses an Extended -Runs in real time
Key
and optimization Kalman Filter -Uses raw information
Elements
-Positions are -Landmark from the image sensor
determined by the Extraction -Higher accuracy in
velocity of the wheels -State/Position sparsely textured
and the forces acting Estimation environments
on the robot -Landmark Update -Denser 3D reconstruction

3.1.1.3.1 Odometry [6]

In Senior Design II, odometry was used to correct the movement and filter the map of the
lidar system. Using the motor encoders, odometry helps synchronize the wheels to prevent
any drifting and keep the movements accurate. Odometry is a vital element in using the
data from the sensors to estimate the change in position over time. It can be used to estimate
the robot’s location relative to a starting point and keep track of where the robot is at any
time. Since the robot is driven by the two front wheels on either side of the grass cutter
with one caster wheel following, the unicycle model of control can be implemented. The
equations are shown in Tables 10 and 11 below.

Table 10: Odometry Equations [2]


Equations Descriptions
𝑥 ′ (𝑡) = 𝑣(𝑡) cos(𝜃𝑡) Robot’s state of 𝑥 with respect to (𝑥, 𝑦, 𝜃)
𝑦 ′ (𝑡) = 𝑣(𝑡) sin(𝜃𝑡) Robot’s state of 𝑦 with respect to (𝑥, 𝑦, 𝜃)
𝜃 ′ (𝑡) = 𝜔(𝑡) Robot’s state of 𝜃 with respect to (𝑥, 𝑦, 𝜃)

18
Table 11: Odometry Equations Continued [2]
Equations Descriptions
𝑣𝑟 (𝑡) + 𝑣𝑙 (𝑡)
𝑣𝑟 (𝑡) = Velocity of the right wheel
2
𝑣𝑟 (𝑡) − 𝑣𝑙 (𝑡) Velocity of the left wheel
𝑣𝑙 (𝑡) = 𝑏 is the length of the base from each wheel
𝑏

This odometry will shift over time without a method to correct it. An optimization method
that can be used is Borenstein’s method. It can be used in modeling and estimating the error
of odometry of a robot. A planned arbitrary test route is needed to calibrate and optimize
the odometry. The model will calculate repeatedly by taking the robot along a path several
times until the odometry is fully optimized and accurate. It uses all the forces that will be
acting on or from the robot. The equations that are used are shown below in Table 12.

Table 12: Borenstein’s Method Equations [2]


Equations Descriptions
Incremental distance for the left wheel. 𝑁𝐿,𝑘 is the left pulse
∆𝑈𝐿 = 𝑐𝐿 𝑁𝐿,𝑘 increment for the wheel encoders for a sample time 𝑘. 𝑐𝐿 is
the conversion factor that translates the encoder’s pulses
into linear wheel displacement for the left wheel
Incremental distance for the right wheel. 𝑁𝑅,𝑘 is the left
pulse increment for the wheel encoders for a sample time 𝑘.
∆𝑈𝑅 = 𝑐𝑅 𝑁𝑅,𝑘
𝑐𝑅 is the conversion factor that translates the encoder’s
pulses into linear wheel displacement for the left wheel
(∆𝑈𝑅 + ∆𝑈𝐿 ) Incremental displacement of the center point 𝑐
∆𝑈𝑘 =
2
(∆𝑈𝑅 − ∆𝑈𝐿 ) Incremental angular displacement
∆𝜃𝑘 = 𝑏 is the length of the base from each wheel
𝑏
𝜃𝑘 = 𝜃𝑘−1 + ∆𝜃𝑘 Robot’s kinematic state of 𝜃𝑘 with respect to (𝑥𝑘 , 𝑦𝑘 , 𝜃𝑘 )
𝑥𝑘 = 𝑥𝑘−1 + ∆𝑈𝑘 𝑐𝑜𝑠𝜃𝑘 Robot’s kinematic state of 𝑥𝑘 with respect to (𝑥𝑘 , 𝑦𝑘 , 𝜃𝑘 )
𝑦𝑘 = 𝑦𝑘−1 + ∆𝑈𝑘 𝑠𝑖𝑛𝜃𝑘 Robot’s kinematic state of 𝑦𝑘 with respect to (𝑥𝑘 , 𝑦𝑘 , 𝜃𝑘 )

This model can be shown in Figure 8 below.

Figure 8: Borenstein’s Model Diagram on Grass Cutter Model made by Brandei Dieter

19
3.1.1.3.2 Simultaneous Localization and Mapping (SLAM) [7]

In Senior Design II, SLAM was implemented using the lidar system. Through this system,
the lidar maps the area and localizes its position inside of the map. Simultaneous
Localization and Mapping is a concept used to create algorithms that combine the map
making and self-localization elements of navigation. This process uses the relationship of
self-localization and human perception of their environment. It uses the environment to
update the position of the robot like how the human eye perceives an environment and will
know its position. This is done mostly through an Extended Kalman Filter (EKF), a
recursive filter. Being a recursive filter, the equations can effectively be updated and
expressed in closed form. An Extended Kalman Filter estimates the position of the robot
using odometry data and observed landmarks in an environment. Simultaneous localization
and mapping use the Extended Kalman Filter by constantly updating a map design. It uses
a group of matrices and set equations to do so. It will constantly update the current position
using odometry data, the estimated position from re-observed landmarks and new
landmarks pertaining to its current position.

3.1.1.3.3 Large Scale Direct Simultaneous Localization and Mapping [7]

Large Scale Direct Simultaneous Localization and Mapping (LSD-SLAM) is capable of


depth map estimation, map optimization and tracking. It runs in real time and directly
operates on image intensities for tracking and mapping. This system works by utilizing
computer vision using one camera and uses all the raw information from the image sensor
which results in higher accuracy than other methods in sparsely textured environments and
provides a much denser 3D reconstruction. LSD-SLAM does not require high processing
specifications. It uses a monocular SLAM algorithm. For depth map estimation, it takes
each image that the microcontroller receives as a frame and the algorithm identifies the
important keyframes and adds them to the map. In the case that the camera moves outside
the range of the current keyframe, a new keyframe is initialized from the most recent image.
This is done by projecting points from nearby keyframes to create a depth map. A current
keyframe is replaced with a new keyframe and then used along with the other keyframes
to track any new frames. For each subsequent frame that is not a keyframe, the algorithm
performs a baseline comparison to optimize the map. For tracking, it takes the new image
and tries to estimate the current camera pose with respect to the current key-frame pose by
using formulas to minimize the variance-normalized photometric errors. For map
optimization, each key-frame is scaled to have an average inverse depth of one. The
alignment of the key-frames is required with the consideration of each key-frame having a
different scale. This is done using formulas to minimize errors on the photometric and
depth residual. After the key-frame is added to the map, detection of loop-closure is done
with several key-frames that are close enough in proximity to detect a loop, also known as
loop-closure. This process is done by utilizing a reciprocal tracking track that compares the
transformation of the original key-frames to the other key-frames while still accounting for
uncertainties. The solution is found when the algorithm has detected a loop-closer. This
form of optimization provides high accuracy and calibration for mapping. This method is
easily implemented with an open source library. The suggested applications to use this
method is a monochrome, global-shutter camera with fisheye lenses with a visual input of

20
480 pixels at 30Hz. Figure 9 below shows an overview of how the Large Scale Direct
Simultaneous Localization and Mapping works.

Figure 9: Overview of How LSD-SLAM Works used with reference from medium.com [3]

3.1.1.4 Night Vision

Night vision will be useful for the grass cutter if it had the capability of cutting during
anytime throughout the day. For instance, the grass cutter could charge during the day via
solar power in the future and cut at night while the temperatures are down. The Night
Vision cameras that are of interest have LEDs that turn on automatically when it gets dark.
This will allow the computer vision to run at any time during the day. They include
automatic IR-cut when the surrounding light is dark. They automatically recognize day and
night modes. The camera has 2 photosensitive resistances that detect ambient light intensity
and the center sensor has a switch for control.

3.1.1.5 Computer Vision

Computer Vision is an efficient way to control navigation of the robot. Open Source
Computer Vision was originally developed by Intel, to provide real time computer vision
and image processing. It can efficiently help robot localization, obstacle detection, obstacle
avoidance, path planning and mapping. These strong elements are intelligent ways to
minimize interaction with other objects, infrastructures and humans, minimize damage to
the surrounding environment, maximizing efficiency of the energy spend versus distance
travelled, and map building. Computer Vision works by segmenting images to obtain
useful data about its surrounding environment which is used in conjunction with a camera.
It will analyze the pixels in the images it takes. There are many technologies that can be
applied to computer vision such as blob detection, facial detection, object recognition and
image recognition.

3.1.1.6 Location and Positioning

Location and positioning of the robot is vital to this project. This could be an important
piece of technology that will pinpoint the location of the grass cutter after the main system

21
has run out of battery life. The technologies that can be implemented are shown in Table
13 below.

Table 13: Location and Positioning Technologies


GPS and Compass Module Inertial Measurement Units
-Positioning and location -Positioning
-Indicates direction -Velocities, Angular Rates,
-Mapping Altitudes and Speeds
Key
-Precise overall locomotion and -Specific Forces
Elements
position of the robot -Magnetic Fields
-Gyroscope, accelerometers,
magnetometers

3.1.1.6.1 GPS and Compass Module

In Senior Design II, the GPS and compass module was used successfully and pinged the
data directly to the web server provided by the computer science team. GPS and Compass
Modules are capable of positioning and location. The compass will aide in indicating
directions. The GPS module in conjunction with the compass has the capabilities of control
to a destination or location selected, how much distance a robot has covered, how much
further a robot can go, recognize on a map where a robot is and what position the robot is
in. These are widely used for commercial and personal uses. Algorithms can be
implemented in conjunction with a GPS and compass module. Working together, the
overall locomotion and position of the robot can be more precise. When the grass cutter
dies, the location can be pinged to an application to let the user know where the grass cutter
is, so the system can be charged. The compass can be used to aide in the turns the robot
will need to make and provide the angles to which the robot will turn.

3.1.1.6.2 Inertial Measurement Units [8]

Inertial Measurement Units is a device that can measure and report data such as altitudes,
velocities, specific forces, angular rates, magnetic fields, and position. They come with
various applications on board such as gyroscopes, accelerometers or magnetometers. Some
models can be used in conjunction with a GPS module. Though the information an Inertial
Measurement Units could provide for this project, it is unnecessary for this application.
They are typically used in applications such as maneuvering aircrafts, spacecrafts,
unmanned aerial vehicles and satellites.

3.1.2 Batteries
The battery is going to be the main source of power for the grass cutter’s system. Multiple
batteries will be used based on the design constraints and requirements. The battery
selection is vital to the overall output, functionality and capability of autonomous mower.
The concern of the battery regarding to weight is how it will affect the speed, traction and
weight distribution of the grass cutter. For example, if the battery is too heavy, it could
affect the speed negatively and not cut at a desirable speed. The same case, previously

22
discussed, would also occur if the chosen battery doesn’t meet the power demands of the
system.

Researching a variety of batteries led to the discovery that there are 2 types of batteries,
primary and secondary. A primary battery is a battery that is charged using a non-
repeatable chemical reaction, meaning that it is not rechargeable. The device should have
the least amount of maintenance. It is impractical to use a non-rechargeable battery. A
secondary battery is rechargeable which is ideal for this project. There are basically four
major chemistry categories for rechargeable (secondary) batteries; Lithium-ion (Li-ion),
Nickel Cadmium (Ni-Cd), Nickel-Metal Hydride (Ni-MH), and Lead-Acid. In Table 14
below, it shows the comparison of different battery types.

Table 14: Battery Type Comparison


Nickel Chemistry-
Lithium-Ion Lead-Acid
Based
-High battery capacity -Best cost per -Relatively cheap
-High discharge rate amount of charge compared to
-Low charge time cycles Lithium-Ion
Key Elements -High Power -Perform well in hot Batteries
Efficiency environments -Really heavy
-Really light -Lower discharge
rate

3.1.2.1 Lithium-Ion

Lithium-ion batteries are generally a lot lighter than the other types of rechargeable
batteries. Lithium-ion is a highly reactive element. They have a higher energy density
compared to other batteries. For a perspective, an article titled “How Lithium-ion Batteries
Work” written by Marshall Brain, says that a typical lithium-ion battery can store 150 watt-
hours of electricity per 1 kilogram of battery. The article then goes on to list that the typical
nickel-metal hydride battery has about 60 to 70 watt-hours per kilogram and that a lead-
acid battery has about 25 watt-hours per kilogram. When compared to a lead-acid battery,
a lithium-ion battery saves a sixth of the weight a lead-acid battery to store the same charge.
Also, a lithium-ion battery can handle numerous charge/discharge cycles with little
degradation and without a memory effect when compared to the other 3 chemistry
categories.

Although a lithium-ion battery sounds ideal, the battery does come with a couple trade-offs
and disadvantages when compared to the other chemistry categories. One of the biggest
trade-offs that will affect the budget is the fact that a lithium-ion battery is the most
expensive battery out of all the options. The Lithium Ion batteries require a battery
management system to prevent operation outside of the cell’s safe maximum charge,
minimum charge and temperature ranges. The Lithium Ion batteries that will be chosen in
this project will have security features that include over-charge protection, over-voltage
protection, short circuit protection, over-temperature protection, over-discharge protection
and over-power protection. They are available with productA+Chip increases 20% of
power. These batteries have large capacities and persistent outputs. This battery is ideal for
23
this project despite the higher costs. Compared to the Lead-Acid battery, it is a lot light.
Comparing the 1200W-h batteries, the lithium ion would weigh an average of 5 pounds
versus the Lead-Acid battery that would weigh an average of 50 to 60 pounds. There are
battery charge sensors built in, charging ports and power terminals available already
integrated into some options of Lithium Ion batteries available online.

3.1.2.2 Nickel Chemistry-Based

The nickel chemistry-based family of batteries are known are for ruggedness. Nickel
chemistry batteries have the best cost per amount of charge cycles and perform better than
lithium-ion batteries in hot environments. The nickel-metal hydride battery is a non-toxic
evolution of the nickel cadmium battery. The comparisons made in this document will be
made against the Ni-MH chemistry battery. When compared to a lithium ion battery,
although the nickel-metal hydride battery is better in higher temperatures, it has significant
draw backs. The nickel-metal hydride battery requires complex charging algorithms to
avoid any memory effects or overcharging. On top of requiring complex charging
algorithms, the Ni-MH battery has a high self-discharge rate; as high as about 20%
discharge over 24 hours.

3.1.2.3 Lead-Acid

The lead-acid batteries are relatively cheap compared to the Lithium Ion batteries but
extremely heavier. The lead-acid batteries come in two configurations of starter and deep-
cycle batteries. The consideration of deep-cycle over a starter lead-acid battery would be
more ideal due to the mower will need constant power instead of demanding a high spike
like starting a combustion engine would have. The advantages are the lower costs. It has
the lowest self-discharge rate. This battery is not ideal for this project because it is too
heavy despite the cheaper costs.

3.1.3 Battery Charge Sensors


The battery charge sensors are a great way to manage the power systems in this project.
LiPo Fuel Gauges connect to the battery of choice and uses an algorithm to detect the
relative state of charge and direct Analog/Digital measurements of the battery voltages. It
communicates over the I2C and will alert the pin when the charge has dropped below a
certain percentage to do the proper operations.

3.1.4 Overall System Control


The overall system control will be made up of different subsystems for the electrical and
computer science team to design. Overall control of the subsystem requires path planning,
motor drive system, and power distribution throughout these subsystems. Research
throughout the elements required for this project will lead to in depth detailed descriptions
of subsystems within the overall control operations for the autonomous grass cutter. Having
discussed the basics of what battery and how computer vision works, it is known that these
resources are needed and will be assigned to different electrical sub systems. From the

24
computer vision inputs, appropriate outputs need to be established through a
microcontroller. The overall system must communicate through inputs and outputs. Almost
every electrical component discussed in the control system section, 3.1.4, needs to be
compatible. The reasonings as to why these components are selected and what system
responsibilities each one is used for will be elaborated on.

3.1.4.1 Microcontrollers

Microcontrollers considered for this project must include video input for the path planning
control. More than one microcontroller may be required. A microcontroller generally
consists of a processor, memory, and input/output peripherals. Inputs for the path control
for the autonomous robot may include sensor signals as well as the Computer Vision
signals being inputted. The inputs must lead to several outputs for the driving motors used
to control the wheels on the robot. The amount of control provided by the
microcontroller(s) used in the path planning and driving system of the robot do have some
limitations based on which controller is used.

As stated, the CV input may be necessary and video input is required. Through product
research, the Raspberry Pi 3 contains a camera serial interface (CSI) port to connect a
Raspberry Pi camera for video input. This application allows for the CV to be directly
inputted into the device. Through further microcontroller investigation of autonomous
robots, it is found that some widely used Arduino microcontrollers are used. The
Manscaper project used the ATMega328P microprocessor board. The Arduino board
mentioned did not contain a direct video input from the CV camera located on the mower.
Instead of direct input, for this project the team installed a RN-XV Wifly Module. This
product wirelessly connected the video inputs from the CV program to the Arduino board
used. Limitations and constraints are created when operating wirelessly with the use of a
laptop. Distance of signal processing may become reduced too much for the specification
requirements of this project.

The size of different controllers has an impact as to how many input and output options are
available. The minimum amount of inputs for the autonomous robot to avoid all obstacles
is desired for the grass cutter to keep a minimum amount of outputs. However, a goal for
this project is to cut grass as close to an object as possible; in order to get close, many
sensors and the use of multiple object avoidance systems may be carried-out resulting in
many inputs. A single smaller microcontroller may not maintain enough pin locations. To
establish how many locations will be necessary, it will be important to create a subsystem
for the obstacle avoidance and the microcontroller must be assigned and used in the
operations for this system.

Since path planning involves avoiding obstacles and the microcontroller is used to process
all the signals inputted from sensors and CV, the microcontroller must also use output pins
to control wheel and blade motors. This is if the blades must be turned off when certain
obstacles are approached. With the chosen microcontroller being assigned to the avoidance
subsystem, it must also communicate to these motors. Consequently, the drive system also

25
uses the microcontrollers and the outputs available on the equipment must have enough
room to create motor movements accordingly.

3.1.4.2 Processors [4]

The microcontroller unit contains an on-board processor. A processor or the CPU located
on the microcontroller, PCB, or development board used in the project must be capable to
read and exchange data types between the signals processed in the different subsystems.
This is only if the data needs to be transferred between units. The size of the main processor
located on the Arduino boards primary used for autonomous robotic projects depends on
how many inputs are on the board and how many bits of certain data types may need to be
executed on. The given CPU spec comparisons between different boards can be found at
the Arduino online site listed in the references of this document. Determining which size
processor is required to compute the delivered signals will need to be determined in
reference to which desired board contains all needed electrical processing components.
Certain types of processors require certain types of memory to maintain CPU speed. The
processor reads and writes data to and from certain memory locations differently. This may
create problems regarding speed and efficiency. Bit processing processors for Arduino
boards ranges from 8-bits, to 16-bits, to the largest 32-bit processor.

Certain used processors for each board also operate at different CPU speeds. The minimum
speed of different processors located on the Arduino boards is 8MHz to the highest speed
of 48MHz. The wide variety of speeds given to the processors is mainly a consequence of
the size of flash memory being interfaced with the processor. For alternative memory and
cache hierarchies being practiced on the device, more clock cycles become needed to read
and write data using the processor. The overall system operation for this project will need
a decent amount of flash memory to download and hold the computer science team’s
obstacle avoiding pathing codes for the robot. It can be expected to have a CPU clock rate
greater than 8MHz to assure no delays can occur that take too long for the robot to respond
accordingly. Another note is that the video input must be executed on a Raspberry Pi type
of video input before the path control signals are processed onto the Arduino
microprocessor type of controller board. Coding interrupts may also be necessary for the
robot to make use of sensors and not only depend on CV. For these reasons it is important
for the robot to quickly receive instructions after the code has been operated on by the
processors ALU. The speed must provide the data quickly enough to assure signals reach
motor shields and drive operations are executed before the robot collides with approaching
obstacles.

After determining the bit size required and processor speed, power consumption becomes
the constraint between electrical subsystem units. The studied Arduino microcontroller
voltage inputs range from 2.7V to 12V. These voltages are required for the processors
interfaced and practiced on the boards. It becomes apparent that, to save energy, a low
input voltage into a processor is desired. If only a 32-bit processor can get all the tasks
needed for the grass cutter project accomplished, then a 64-bit processor that requires a
higher input voltage should be avoided. Keeping a minimum input voltage into the
processing unit will require the team to sufficiently make used of all the ALU power

26
possible. Another aspect of energy consumption on the Arduino processors is the Universal
Asynchronous Receiver/Transmitter (UART) operation provided. The UART system is
created to transmit data into the processors and interrupt an executing code. The UART
system is designed and added into some of the processors used for Arduino
microcontrollers. If the team decides not to transfer data using the UART option, then
choosing a processor without this incorporated mechanism will save voltage supplied from
the power distributing subsystem. A chart of different processors used from Arduino is
provided, explaining the trade-offs between different input voltage needed, available
memory interfaces, and bit sized operations allowed in ALUs. The processors are
compared as shown in Table 15 below with reference to datasheets [A14], [A19] and
[A20].

Table 15: Processors Comparison


ATmega2560 [A14] ATmega328P [A19] Intel Curie [A20]
-High Performance -High Performance -Low-power
Low Power 8 Bit Low Power 8 Bit integrated DSP
Processor Processor sensor hub and
-Interfaces 256 KB of -Interfaces with 32 KB pattern matching
Flash Memory for flash memory with technology-32 Bit
Code read-while-write -Interfaces 384 KB of
-Contains 4 UART capabilities to further flash memory with 80
Key
digital signal reduce power KB SRAM
Elements
peripherals with 6 other consumption. -Bluetooth Low
digital signal -Contains 1 UART Energy (BLE)
transmitters digital signal Capability
-Operates input voltage peripherals -Operating input
of 5V -Input voltages voltage of 3.3V
-CPU speed 16 MHz between 1.8-5.5V -CPU speed of
-CPU speed 20MHz 32MHz

3.1.4.3 Development Boards

As for a development board for the grass cutter project, a specified amount of memory on
a microprocessor will be implemented on the board. A development board is a printed
circuit board (PCB) that contains minimal electronic components necessary for the
computer engineer to develop and download applications onto. The computer science team
and the computer science engineer will program and interface the chosen components onto
one PCB, unless two different platforms are needed. The processor required to compute bit
results and properly format data onto the microcontrollers will need to be redesigned onto
the PCB that incorporates more technologies used for this project. There are many
historical manufactured development boards that were built to offer and supply the
electrical and computer science industries foundations for technological growth. Some
were designed originally with accurate clocking and digital ASCII displays. Some were
developed for analyzing different types of instruction-set architectures such as stack
memory, register-only memory, accumulator memory, etc. By designing and including
different types of architecture that can be practiced on a uniquely designed development
board, the electrical and computer science engineers working on the project can build a
27
development board capable of completing tasks only suitable for the at-hand project.
Therefore, designing power efficient interacting mechanisms onto a PCB that designate
power distribution to each component functioning in a timely manner for the project.
Development board research is necessary for this project to discover exactly what
electronic mechanisms are implemented onto different manufactured development boards
while answering the questions as why and how the electronic devices were constructed to
help future engineering projects as this one.

In the instance of alternative development boards, the 8085 AT development board from
Intel is design like a micro-processing unit with its own assembly code building and decode
compilation capabilities. It contains its own instruction set for assembly coding an
embedded program onto the board. Stack pointer for operation is included in the firmware
for the development board. Additionally, an accumulator is provided and connected to an
8-bit data bus and the ALU for logical operations and LD/SW operations. The board
contains five flag registers for embedded system coding manipulations. The intel
development board comes equipped with its own interrupting digital signal controls and
support UART functionality. An equipped 16-bit address bus can map 64KB of memory
locations. The board can also include add-ons if desired. This is an example of a
development board that intel has created and made available for future project goals.

Another example of a development board is through Texas Instruments. The


MSP430FR5994 developer kit. The system provides all aspects of a microcontroller kit
with debugging firmware for on-device coding with the use of flash memory. The
development board has MSP compatible software available through Texas instruments’
website that allows users to experiment different types of code algorithms. LED lights on
the board represent different signals to pin locations for assurance that the software is
accurately running on the device. The digital signal processing UART functionality also
has been added onto the development board for signal transmitting applications. Like all
manufactured microprocessors, example codes are provided for users and future code
writers. C-programming standards and assembly coding standards are interfaced with the
hardware on the development boards and the OS of linked machines making the
development boards compatible between many different devices. The manufactured
development boards and their datasheets provided by Intel, Texas Instruments, and
Arduino online help realize functionalities of different electrical devices that can be
implemented onto any PCB. The significance of the different instruction sets with unique
compilers on the development boards allows researchers to test coding algorithms with the
use of LED lights.

The computer architecture on different boards may have evolved into requiring more
memory space for further complexity in memory hierarchy. For the grass cutter project,
simple stack machine instruction set architecture, or an accumulator will not work for the
in-depth coding required for path planning in the obstacle avoidance system. The
complexity of cache sizes and compilers required to carry-out the needed complex
instructions may also result in the need of more memory space on the development board.
Choosing a microcontroller from the previous section or one already located on a
development board handles the interfacing compatibility challenges of designing a

28
development board from scratch. Instead, the already built software and compilers that are
designed to assure correct code implementation may be used for test running potential
parts.

3.1.5 Motor Technology


DC motors are analyzed and researched to obtained appropriate wheel torque and blade
torque. DC motors are constructed using field windings and an armature. Armature
windings have current running through the conductive material used. The different ways
to carry-out the practice of using polarities and windings to initiate motor rotation is
summarized in this section. The brushed DC motors and brushless DC motors will be
described in section 3.1.5.2. of the document. Motor control and different rotating motor
methods will be explained first.

3.1.5.1 Motor Control

The overall motor control can be resolved provided the use of a microcontroller and motor
drivers. The idea of motor drivers is to take in signals from the processed microcontroller
unit sensors and Computer Vision application. The signals are then amplified to drive an
electrical current to the motor load. The amplified current drives through the armature
windings of the DC motor creating the potential voltage needed for the motor to begin
turning. The direction of the current or the voltage polarity across the load can control the
direction of motor rotation. The practice of these concepts will control the direction and
speed of DC motors for the grass cutter project.

3.1.5.1.1 H-Bridge PWM Driver ICs [5]

H-Bridge configurations are capable of bidirectional control of DC brush motors. The H-


Bridge is in the shape of an “H”. This is because it has four drivers making the upper and
lower vertical lines on either side in conjunction with the motor on the horizontal bar in the
middle. It uses Pulse Width Modulation (PWM) control that is used to regulate the DC
motor’s speed, torque and position. It includes forward, reverse, coast and brake modes,
and slow, fast and mixed PWN decay modes [6]. These are useful for full functionality of
the DC motors. The simple ‘H’ shaped circuitry described to control speeds and direction
will also require additional circuitry in the IC for protection. Protection circuits for the H-
Bridge drivers include overvoltage protection, under voltage lockout, Overcurrent
protection, thermal shutdown, Overlap or ‘shoot-through’ protection and high electrostatic
discharge protection [6]. Therefore, the circuitry in the IC is not as easily built as a simple
‘H’ design. Digital logic inputs need a control unit for processing signals that are dispersed
accordingly. The digital logic control unit is used to control the MOSFET switches in the
H-Bridge circuit, providing options of the motors turning direction, speeds, and braking.
The protection circuits are typically connected to the control unit.

The ’shoot-through’ or overlap case occurs when and if all switches become in the closed
position at once. This could occur when the MOSFET gate voltage values are changing the
allowed current flow through the device. In the case of overlap, the current will flow

29
through all the closed MOSFET switches of the H-Bridge circuit delivering nothing to the
motor load. Overlap is not desired for efficiency of the source when current is being
provided for no reason. Also, undivided current may become too high and damage
components in the circuit. To protect the circuit from the shoot-through case from
happening, an amount of time must be inserted between switching occurrences to allow for
the MOSFETs in the circuits to fully come to a closed or open position before the next
input voltage becomes active in the circuitry.

3.1.5.1.2 Dual, Full-Bridge PWM Motor Driver ICs [7]

Dual, full-bridge Pulse Width Modulation (PWM) motor driver ICs can independently
operate two separate DC motors using the same H-Bridge MOSFET methods described in
the above section. The typical applications these are used for are brushed DC motors,
brushless DC motors and Stepper motors. The IC chips are designed to accept logical input
voltages for switching controls that drive inductive loads. For PWM current control, they
have capabilities of selecting the maximum output current of a reference voltage and
sensing resistor. Two logic-level inputs can be selected of the current limit percentage from
0 to 100 percent. The phase input to each full-bridge determines the direction of the load
current. These types of motor drivers usually have high efficiencies in the range of 90 to
96%.

3.1.5.1.3 Motor Encoders [8] [9]

Motor encoders are used to set perimeters of speed and position control for electrical
motors. Encoders sense mechanical motion and produce digital signals. There are two
different types of encoders, linear and rotary. Linear encoders sense and detect speed on a
specified path while rotary encoders read speeds of circular paths. Essentially, the encoders
work in two ways. One way is defined as incremental; the incremental linear or rotary
speed identifying method uses opaque grooves in a line or disk [9]. Photo sensors are
implemented with the use of light emitting diodes to sense the groove patterns that are
equally spaced apart in the material. As the disk rotates, pulses are generated from the
sensors that sense each groove [9]. Each revolution’s generated pulses are recorded to
derive speed of the unit. Linear encoders make use of sensors. The sensors are linked to a
scale for reference to locate exact position. After the scale is read by the sensors an analog
or digital signal is produced. These signals are converted to a digital output that can sense
movement using the distance and timing changes of the digital output [9].

3.1.5.2 Types of DC Motors

The type of DC motors chosen are vital for the overall motion and cutting of the system.
There are a variety of DC Gear Motors in the market today. The crucial specifications in
picking what kind of DC motor will be focused on low power consumption, high torque
and low speed. For the string-based blades, the DC gear motor will need a considerable
amount of torque and a speed of around 3000 rpm to efficiently cut the grass. For the front
wheels, it will need a considerable amount of torque and a speed of around 2000 rpm to
efficiently maneuver the grass cutter through uneven terrain. Table 16 below shows the
comparison of different DC motor types.

30
Table 16: DC Motor Types Comparison
DC Brush Motors [10] DC Brushless Motors [11]
-Simplified wiring -Longer lifespan due to no
-Can be wired directly to DC brushes to wear out
power -Low maintenance due to no
-Can be controlled as a simple brushes needing replacement
as a switch -High efficiency
Key Elements -Lower costs -High initial costs
-Electrically noisy -Needs commutating device such
-Less lifespan due to shaft, as an encoder and a drive or
brushes and commutators wear controller
out -Typically, 85-90% efficient
-Typically, 75-80% efficient

3.1.5.2.1 DC Brush Motors [10]

DC Brush Motors are one of the most popular types of motors to use because of their simple
drive control options and relatively low costs. It has a simplified wiring that can be directly
wired to DC power such as a battery. It can be controlled as a simple as a switch. The
disadvantages are that they are electrically noisy, have lower lifespan due to the shaft,
brushes and commutators wearing out, and only 75-80% efficiency. Due to the lower costs,
it is more ideal. It does not need an encoder and a drive or controller. They contain a
rotating electromagnet that is surrounded by a permanent magnet. This pair creates a
rotational torque that is produced from the interaction of the magnetic fields. This is done
by the continuous rotation that is produced from the change of polarities of the rotating
coils with the mechanical brushes and commutator. They come in a variety of
configurations such as Half and H-Bridges. A Half-Bridge configuration is for single
direction operations. A H-Bridge configuration is for bi-directional operations. Figure 10
below shows the diagram of the construction, working principle and operation of a Brushed
DC Motor.

Figure 10: Brush DC Motors Diagram used with reference from Allegro Micro Systems [10]

31
3.1.5.2.2 DC Brushless Motors [11]

DC Brushless Motors, also known as electronically commutated motors, can provide


higher efficiencies, lower power losses, improved reliability, and excellent torque-to-
weight properties. The advantages of this motor over other DC motors are it has no
mechanical commutator and the associated problems with them, has high efficiency of 85-
90% because of the permanent magnet rotor, long life span with no inspections and
maintenance required, and high speed of operations despite the load conditions. The
brushless motors are not noisy or have any limits of speed due to the absence of brushes.
They have less electromagnetic interference, weight and smaller motor geometry. These
motors have some disadvantages of not being cost-efficient, an electronic controller is
required to control this motor, requirement of complex drive circuitry and needs additional
sensors to operate. Although this motor would be ideal for this project, it is not feasible
due to the limited budget and resources. Figure 11 below shows the diagram of the
construction, working principle and operations of a Brushless DC Motor.

Figure 11: Brushless Motors Diagram used with reference from electricaltechnology.com [11]

3.1.6 Voltage Regulators


Voltage level control within different hardware components for a system is crucial. Voltage
regulators create fixed voltage amplitudes as an output regardless of changes made to a
present input voltage. In nearly every electronic there exists a voltage regulating building
block that is easily used to control a power supply. Voltage regulators IC circuit are
inexpensive and are, almost always, compatible. The two types of voltage regulators are
linear and switching voltage regulators. In Table 17 below, the types of Voltage Regulators
are compared.

Table 17: Voltage Regulators Comparison


Linear Voltage Standard (NPN) LDO Step-Down
Regulators [12] Regulator [13] Regulator [14] Converters [15]
-Uses voltage -Uses a pass -Lower dropout -DC-to-DC
controlled NPN BJT voltage converter
current sources -High current -Potential -Great for
-Uses BJTs or gains voltage is fully regulating power
Key
MOSFETs -Ground pin utilized from batteries
Elements
-High efficiency current is -Ground current -Operates at max
ineffective is the highest 150kHz and 3
regarding and wastes Amps
efficiency power -High Efficiency

32
3.1.6.1 Linear Voltage Regulators [12]

According to Chester Simpson, a member of Technical Staff in power management


applications at Texas Instruments, a control loop operation can give detailed visualization
as to how typical linear regulators are implemented [12]. The control loop that is used to
construct the most common types of voltage regulators consists of a circuit with a ‘pass
device’ in the beginning that allows current to pass through once then remain trapped in a
loop. Additionally, an error detecting amplifier, two sensor resistors and a load are also
components that are used in the controlled loop operation. The pass device is where the
initial input voltage is accepted into the circuit. After the initial voltage is inputted and the
source is passed through an initial transistor, this current is no longer about to pass back
through that first transistor. Voltage potentials are dived through resistors that create and
sense a reference voltage.

Linear voltage regulators are used with a voltage controlled current source that is controlled
through two resistors to provide a desired reference voltage. With use of bipolar junction
transistors (BJTs) or MOSFETs, current is looped through an ‘error amp.’ The error
amplifier in the IC accepts a voltage reference as well as low input current, the current is
low and the resistance on this line is in parallel to a load line. The amplifier’s input
impedance is significantly higher than the reference voltage line impedance. With high
input impedance inside op amps, little current can enter the amplifier. Furthermore, there
exists two resisters on both sides of the voltage reference. These resistor values divide the
voltage between the output voltage and the reference voltage. the load line and the amount
of load current on the line is not what controls the voltage output of the regulator. The
reference voltage being multiplied by the amplifier gain in the feedback control loop is
what manages the output. If input voltage changes, a transient response is required for the
error amplifier to fix the voltage back to a specifically engineered amount delivered to the
output. Sense the resistors on the reference line initially divide the input voltage and have
a ratio to the load line resistance as well as the internal amplifier resistance, many linear
voltage regulators cannot except any voltage input amount. An interval of input voltage
can be accepted. If an input voltage does not meet the range of allowed input amounts, then
two regulators in series having different internal impedance values may have to be used to
fully break down voltage levels.

Research on three different types of linear voltage regulator circuits can generally explain
how regulators work. These basic voltage regulators can be further modified if more
complexity is needed in the circuitry for the electrical design of the autonomous grass cutter
project. Modified output voltages are feasible with these regulators. The three types include
the standard NPN regulator, the low dropout (LDO) regulator, and the Quasi-LDO
regulator. The most important difference between the three types of linear voltage
regulators is the dropout voltage that relates to efficiency. Three or four voltage regulators
will be needed in the grass-cutter project for drop down or step-down voltage purposes.
The dropout voltage can be described as the minimum voltage drop required across the
regulator required to regulate the output of the IC. The larger this dropout voltage gets, the
less efficient the circuit is. The LDO regulator requires the least amount of a dropout

33
voltage and saves the design on efficiency this way. The standard regulator requires the
highest amount of dropout voltage and is less efficient in this manner. Even though the
dropout voltage is a contributing factor of the overall efficiency, there exists a ground pin
current factor as well. Trade-offs between the regulators are analyzed to determine which
type of regulator may be a better choice. The ground pin current takes amperes produced
from a source and grounds the current, wasting power. The higher the ground pin current,
the less efficient the IC becomes. The standard voltage regulator has the lowest ground pin
current with the highest dropout voltage and the LDO regulator has the highest ground pin
current but a lowest dropout voltage. These trade-offs should be recalled as further
demonstration of the different voltage regulators designs are discussed in this section.

3.1.6.2 Standard (NPN) Regulators [13]

The standard regulator uses a pass NPN bipolar junction transistor internally. For the
manufacturer of this semiconducting device to guarantee operation, a specified voltage
interval is requested to be, typically, between 2.5V and 3V (standard). Depending on the
manufactured model of a standard regulator, provided datasheets can explain a temperature
margin required for the IC to operate as intended. The standard regulator has the highest
dropout voltage due to these transistors requiring a minimum amount of voltage for current
control. The dropout voltage amount can be calculated using the base-emitter voltage and
the collector emitter voltage required in each transistor to activate the device. Three
transistors are used in the standard regulator; one PNP junction and two NPN junctions.
Additionally, the current gains are extremely high in the standard regulator IC. Therefore,
the ground pin current is so ineffective regarding efficiency.

3.1.6.3 Low Dropout (LDO) Regulators [14]

The low dropout regulator maintains a lower dropout voltage across a single PNP
transistor. Battery operating applications use this type of voltage regulator more frequently
than others because of the potential voltage needed is fully utilized. Ground pin current in
this type of regulator is almost equivalent to the load current divided by the gain of the
PNP transistor. Therefore, of the three types of linear voltage regulators the ground current
for this type is the highest. This will be used for the application of converting 5-Volts to
3.3-Volts on the ATmega2560 implementation on the custom-made PCB design.

3.1.6.4 Step-Down Converters [15]

The buck converters, also known as step-down converters, is a DC-to-DC converter that
will step down the voltage from the battery to the components. This is an important
technology that will be used in this project. It is ideal for regulating the power from the
battery to the components. It can handle the 12-Volt batteries that will be used in this
project. The electrical components will have their own power supply in which they will
have to be stepped down from 12-Volts to 3.3 to 5-Volts. A popular technology is using
the LM2673 step-down voltage regulator. The LM2673 will be used for this application of
converting the unregulated 12-Volt battery voltage to a regulated 5-Volts to the electrical
components on the custom-made PCB design.

34
3.1.7 Switches Technology
Switches technologies in electrical circuits are designed for different purposes. Having a
manual switch or ‘hand switch’ as an emergency kill switch for the entire system would be
a safe decision to assure there is always a way to shut down the grass cutter when the 50-
foot wirelessly transmitted kill switch is out of range or malfunctioning. When the term
manual switch or hand switch is used to describe a switch in this text, it is intended to state
that these described switches will not be constructed with the use of any semiconducting
technologies. The idea of a manual switch is that physical contact is required to move the
position of the switch either by pulling, pushing inward, rotating, or sliding a physical
component. Some manual switches frequently used in current technologies are
manufactured as different switch types. Although there exist many types of ‘hand
switches,’ only relative and convenient types of switches that may be necessary in the
autonomous grass cutter project will be mentioned. Three different hand switches with
their schematic representations are provided below alongside a ‘speed switch.’ The speed
switch is different in a way that it is not a manual switch; it is a process switch that can use
sensors to indicate speeds of mechanical components. [16]. Table 18 below compared the
different types of kill switch technologies.

Table 18: Switches Technology Comparison


Toggle Selector
Pushbutton Speed Diode
Switch Switch
Switch [17] Switch [20] Switch [21]
[18] [19]
-Can have red -Level -Can have -senses -Uses
LED light Connected three or speeds in voltage
-Cost ranges switch. more rpm to potential to
from $2.50 to -Two option protect logically
$5.00 options, modes. machinery create 4
depending on two -Low, -activates outputs
size. physical Medium, from 0.3 rpm -Not as
-Implements directions High through energy
Key
by pushing -Cost range Modes 25000 rpm efficient as
Elements
switch inward, from -Cost range -Costs other
changing $1.00- of $10.00 – ranges from switches
between $26.00 $26.00 $38.00 to -uses ground
ON/OFF for depending $45.00 to initiate
each inward on quality -Can OFF
push. and size. measure belt switches
speeds -Costs less
than $3.00

3.1.7.1 Toggle Switches [18]

The toggle switch is commonly used in house hold lighting switches. This type of switch
is actuated by a lever connection at an angle. The lever is commonly at an angle

35
representing an open circuit with a closing possibility. In general, the toggle switch
positions come to rest at a one of two available position settings but sometimes can connect
to a wire when in the ‘open’ position. The toggle switch does not always have to come to
rest in a position. A spring load can be added to return the altered connection of the toggle
switch to a desired ‘normal’ position. This type of switch may be considered as a possibility
for a manual kill switching mechanism located on the solar farm grass-cutter in case of
remote kill switching not operating properly.

3.1.7.2 Pushbutton Switches [17]

Pushbutton switches can be actuated by two positions, either in the ‘pressed’ position or
the ‘out/pulled’ position. Some pushbutton switches are implemented with an internal
spring force returning the pushbutton to the ‘out’ position. This type alternates the
connection with every push-in and release physicality used together [1]. Each time the
button is pushed and then released the unit creates an alternate an ‘on’ or ‘off’ output while
returning the button to the ‘out’ position. The other way these pushbutton switches are
constructed is without an internal spring load. The switch comes to rest in the ‘pressed’
position and the ‘out’ position. Typically, when pushed in the switch is in the closed
position and when pulled out the switch is open.

3.1.7.3 Selector Switches [19]

Selector switch use a rotary lever (like a stove top dial) [1]. The rotary lever switching
mechanism acts like the toggle switch. A spring load can be inserted to force the lever to
return to a normal position for momentary operations. Many different selection options can
be chosen within the circumference a knob by using this type of switch.

3.1.7.4 Speed Switches [20]

Speed switches are not manual switches but may be useful as an internal kill switch. The
switch actuates when the rotary speed of a shaft reaches a preset level that can be detected
by a sensor. If a shaft is rotating at a dangerous speed, the switch can shut down the machine
avoiding destructive or hazardous accidents. There can exists more than one kind of sensor
within a speed switch. The sensor can detect shaft speed optically or magnetically [1].
Speed can also be measured with a centrifugal weight mechanism if mounted onto the shaft.
Speed switch applications may be useful when prototyping the autonomous grass cutter’s
blade motor for safety purposes.

3.1.7.5 Diode Switches [21]

Other switching designs include semiconducting devices such as MOSFETS and diodes.
At a specified potential voltage, current can flow through the device creating a closed-
circuit schematic. At lower voltages than the specified amount the device acts as an open
circuit and current may not flow through. Diode circuits can uniquely be used as switches
using more than one input for output direction. Diode circuits can perform digital logic
fundamentals that introduce options of having a switch activated in a case of numerous

36
events happening simultaneously. Logical operands being fashioned using diodes and
switches can implement two or more input signals. AND logical gates, as well as OR
logical gates can be designed using the diode circuits with toggle switches on the lines. An
output signal is obtained using two inputs provided by the internal diodes when the input
voltage is above an estimated 0.7 Volts.

In consideration of inductive sensors which may be used for detecting perimeters on the
autonomous grass cutter, the voltage processed for each sensor can possibly control current
flow through a MOSFET. MOSFET devices can be used as the switches. With MOSFET
gates being activated by potential voltages from sensor signals, logical operands can be
implemented and can accept more than one sensor signal at a time. These diode switching
circuits provide many switching capabilities and control over more than just one input. The
manual switches mentioned previously only use one input generally shutting off or
disconnecting all or one motor at a time (one chosen output). Diode switching circuits can
deactivate and reactivate different motors autonomously based on sensor inputs or inputs
from any other processor involved in the navigation system.

3.1.8 Programming
An appropriate programming language that fits the projects unique requirements must be
chosen. To select a programming language, some of the factors considered are the length
of the code as well as the runtime of the code itself. It would be best to use a language that
optimizes the use of the hardware. However, if one piece of hardware needs to
communicate with another by sending interrupt signals, the complexity of the code may
get long. The problem with lengthy code relates to the amount of flash memory required
versus the amount provided on each piece of hardware. While the mower is turned on and
in operation, coding interrupts must be running continuously in order to detect and avoid
obstacles. The rate of these interrupts does not have to be faster than the source code itself.
Furthermore, the interrupts can be ideally slow compared to the program awaiting an
interrupt signal. This way, the delivered interrupting signals can be inputted at a rate that
is energy efficient and have time to decode image inputs. By running at a slower rate, the
CPU will require less work at any given clock rate that is higher than that of the CV
program, perhaps. Signals sent to hardware through either sensors or computer vision must
be directed to a designated pin location. Once these locations hold a voltage potential,
interrupts in the programming code must check for the inputs then cease operations in the
primary code and use alternative coded methods to control the motors. Secondary code, or
other pieces of code in hardware components, are designated greater hierarchy over the
primary code that runs the grass-cutter in a forward position. The hardware codes will
interrupt and execute to avoid obstacles. Whether an input signal is received into hardware
from the computer vision application or a sensor application, the robot should avert away
from whatever obstacle the grass-cutter may be approaching. If the avoidance coding
system fails to avoid an obstacle in the first cycle of an interrupt program, then the
avoidance signal remains ‘on.’ The system program must continuously check whether an
obstacle remains in the path. Many of the programs involved with the control of the
autonomous grass-cutter consists of assembly code for each piece of hardware. In addition
to the basic hardware coding, a Raspbian Pi development board can also make use of Java

37
and C++ coding applications that regulate picture imaging for a computer vision program.
With the capability of hardware linking to a Windows or Linux operating system, C-Code
as well as any higher language program can be implemented to send and receive signals.
The programming techniques and applications used in the grass-cutter project must make
every decision regarding the robot’s path. Blade motor operation control decisions are also
predicted and decoded. In Table 19 below, the comparison of different programming
languages and libraries.
Table 19: Programming Languages and Libraries Comparison
C [22] Python [22] C++ [22] OpenCV [23]
-Structure- -Advanced -Object-Oriented - Open source
Oriented programming -Middle-level computer vision
-Middle-level language programming and machine
programming -Object- language learning software
language oriented -An extension of library
-Used to -Built on C language -Has over 2500
develop low- flexible and -Quick optimized
level robust processing and algorithms
Key applications semantics compilation -many advanced
Elements -High memory -Faster by mechanism algorithms used
management integrating -Robust standard in image
-High syntax to systems as a library (STL) processing
support abstract scripting or -Specializes in -Algorithms
data types glue language embedded include detecting,
-Most device -Simple to firmware and identifying,
drivers are learn and client-server tracking, and
developed using easily read applications classifying
C objects/humans

3.1.8.1 C Programming Language [22]

C is a middle-level programming language usually used to develop low-level and system


applications such as graphics packages, spreadsheets, word processors, compilers,
assemblers and operating system development. The C language can be used to support
many technical needs and is compatible with the Raspberry Pi and Arduino boards. One
problem with the C language is its lack of support for higher ordered data structures.
Memory management is a crucial element to pay attention to in this language. It requires
high syntax to support the abstract data types. Developers should efficiently write the code
to avoid degenerating the system and creating long runtimes. This is beneficial to this
project due to the high capabilities with the components that will be used such as
ATmega2560, motor driver chips and ATmega16U2.

3.1.8.2 Python Programming Language [22]

Python is an advanced programming language that can be used for many applications. This
language is used to develop applications such as Rapid Application Develop (RAD) and
web-based applications. It is better known for their libraries such as SciPy and NumPy.

38
Python is an intuitive language that can be used to write fast code with little experience. It
is built on flexible and robust semantics. It is faster due to the integrating systems as a
scripting or glue language. It is very simple to learn and easily read. This is beneficial to
this project due to the high capabilities in Raspbian Operating System. It can be used in
conjunction with C++ on the Raspberry Pi.

3.1.8.3 C++ Programming Language [22]

C++ is a middle-level programming language that is an extension of the C language. It is


used to develop applications such as computer programs, packaged software, games, office
applications, video editors and operating systems. The same applications apply to the C
language. The C++ language can be used to support many technical needs and is
compatible with the Raspberry Pi and Arduino boards. It has a robust standard library
(STL) and a quick processing and compilation mechanism. This is beneficial to this project
due to the higher performance and high capabilities with the components that will be used
such as the Raspberry Pi and camera.

3.1.8.4 OpenCV [23] [24]

OpenCV is an open source computer vision and machine learning software library that
provide over 2500 optimized algorithms. This includes applications such as detecting,
identifying, tracking and classifying objects/humans. It supports operating systems such as
Windows, Linux, Android and Mac OS. Programming languages such as C++ and Python
are supported which are ideal for this project. This library will serve a very good purpose
because being open source will allow the use of any existing code without the legal
repercussions associated. There is a lot of overhead with re-writing algorithms that can be
called with a simple API call. This framework can be used to help the robot make informed
decisions associated relating to its driving subsystem.

One use of open CV for this project is to detect objects in the range of the robot. There are
many useful ways to do this, and one method is to use an edge detection algorithm. To
simply put, an edge detection implements the idea of finding the edges of an image by
taking the gradient of the image in the vertical x, or horizontal y direction pixel by pixel
and finding their respective magnitudes. By finding an image gradient, the edges of an
image can be found because there will be a jump change of pixel intensity on an edge.
Canny edge detection is a very useful algorithm that can also be found on OpenCV. Canny
edge detection goes through a 4-step process to find the edges of an image and is shown
below in Figure 12 [24].

Figure 12: Canny Edge Detection Process

39
Although this technique is powerful, this is only one step in the bigger picture of a neural
network. OpenCV is a very valuable library that will be used in this project for all the
computer vision, machine learning and image processing algorithms needed.

3.1.9 Obstacle Avoidance Sensors


Obstacle Avoidance Sensors are vital to this project. The grass cutter must be capable of
avoiding all obstacles, objects, humans and infrastructure. It must not damage any
surrounding environment or infrastructures such as the Solar PV Panels and PV Structures.
There are various technologies that can be used such as Ultrasonic Sonar, LiDar and
Infrared sensors. This will be described in the following sub-chapters.

3.1.9.1 Ultrasonic Sonar Sensors

Ultrasonic Sonar sensors, also known as proximity sensors, determines the distance to an
object by measuring the time lapses between the sending and receiving of the ultrasonic
pulses. This is done by using a single transducer to send a pulse through the trig pin and
receiving the echo through the echo pin. When an object is in its line of sight, the signal
will be received back to the sensor. If there is a clear path, no signal will be received. The
distance of how far the object is measured by the time it takes for the signal to come back.
This is calculated using the frequency and wavelength of the sound waves. This system
works by sending out high frequency sound waves that reflect from boundaries to produce
distinct echo patterns. The Ultrasonic sound vibrates at a frequency above the range that a
human can hear. These sensors can be used in any environment whether it is light or dark,
inside or outside. They handle lots of movement and vibrations well. Common applications
that they are used for are presence, level, position and distance. An advantage is that they
work well in dark, smoky, misty and foggy areas as well. A disadvantage of the ultrasonic
sensors are they do not do well against soft surfaces such as cotton or wool. Those surfaces
absorb the sound wave instead of reflecting them. These sensors are reliable, feasible,
accurate, low-cost, and effective for distance sensing, obstacle detection, obstacle
avoidance and leveling.

3.1.9.2 Lidar Sensors

Lidar is a remote sensing technology that use pulses from lasers to collect measurements.
These measurements can be used to create useful information such as 3D models and maps
of the surrounding environment, objects and obstacles. Lidar works in a similar way to
Sonar but uses light waves from lasers instead of sound waves. It calculates the time it
takes for the light wave to hit an object and reflect to the scanner. This is calculated using
the velocity of light and time of flight measurements. Intelligent Lidar systems can fire an
average of one million pulses per second. The measurements data can then be utilized and
processed into 3D visualization that is also known as point cloud. Lidar is very effective in
navigating autonomous vehicles. Although Lidar could bring tremendous amounts of
elements to improve the mapping and navigation system of this project, Lidar systems are
not cost efficient; they are very expensive relative to infrared and sonar systems.

40
3.1.9.3 Infrared Sensors

Infrared sensors on the principle of reflected light waves. The light waves are reflected
from the object that may be in line of path that is used to estimate the distance between
them. The disadvantage is the infrared sensors cannot work in dark environments. They are
sensitive to dark surfaces and dark lighting. An advantage over other sensors is that
although they can detect motion, they also have the capabilities of measuring the emission
of heat by an object. This is a useful element for the robot not to go into areas that are too
hot that might damage the system. Although this may be useful in a Solar Farm, it is not
ideal due to the budget and resources of this project.

3.1.10 Operating Systems


The use of an operating system will play a crucial role of the software system to run
Computer Vision on the Raspberry Pi Development board. The options that could be used
are Windows, Linux or Raspbian Operating System. After extensive research, Raspbian
would be the best Operating System for this project’s applications. The Raspbian would be
most compatible with running algorithms for OpenCV.

The Arduino ATmega2560 will be used in conjunction with Windows Operating System.
It was decided a Windows Operating System would be the best programming environment
to work in to load the code into the microcontroller.

After an initial round of parts were selected for the project, it was identified that there was
significant portion of the allotted budget unused. In order to expand upon the autonomous
capabilities of the project, it was decided that a Robot Operating System or ROS, would be
implemented under the guidance of the Computer Science team. ROS is not exactly an
operating system by definition. Instead, ROS is considered a middleware because it is a
collection of software frameworks. To implement the ROS, Linux will be required on the
now added Odroid-XU4 and will replace the previously mentioned Raspbian/OpenCV
combination.

3.1.11 Perimeter Boundary Wire [25]


An autonomous vehicle and the methods used to control its direction can be done using a
perimeter wire. A wire enclosing the desired area to be mowed can be detected by two
inductor sensors. Through signal processing at a specified frequency inside the wire, an
electromagnetic field can be detected using an inductive sensor that is to be located on the
mower. The same concept is used frequently today for maintaining a perimeter for pets. A
sensor is placed in the pet’s collar that reacts to the electromagnetic field around the wire.
The convenience of using a perimeter wire gives the user an exact boundary of the grass
area that needs to be maintained. Obstacles within this boundary can be detected and
avoided using computer vision that will be discussed in section 3.1.2.6. In Senior Design
II, obstacles within this boundary were detected using ultrasonic and lidar systems. Though
the lidar and ultrasonic system cannot detect the boundary wire, the inductor sensors will
always be able to keep the robot inside the boundaries . In Senior Design I however, the

41
boundary can be difficult to declare by using a camera that detects objects as well. For the
CV system to differentiate between a boundary and an object, the configuration method to
distinguish a difference may get too complex for the programmer. This leads to a perimeter
wire being a constructive tool to be considered as the mechanism keeping the autonomous
grass cutter inside a given square footage of are.

An integrated precision circuit timer, the NE555 (or 555), is an integrated circuit that can
be used to control the resonance frequency in the wire. The same chip can be used as a
pulse generation or an oscillator as described and manufactured by Texas Instruments. The
signal can be a digital or analog, the frequency may alter minorly and this can be accounted
for. The IC can be used to generate a rough square-wave that is ran through the entirety of
the wire. Reactive components are easily added to the IC to produce the desired frequency
of the signal in the wire. The receiver sensor should be made using an LC circuit allowing
the voltage in the wire to be transmitted at the same frequency. When the sensor on the
grass cutter approaches the wire, the amplifier in the sensor should have a high enough
gain to amplify the signal high enough to pass current through a diode. The signal is then
processed on the microcontroller board where a decision is to be made for the navigation
of the robotic machine. This constructed example is just one ideal way for a sensor to
transmit the signal when approaching the wire.

This is an ideal approach for setting boundaries for the grass cutter project at hand and is
easily implemented. However, the wire perimeter will require more preparation along with
a generator circuit that requires its own power supply. In preparation of the wire, a weather
proof coating should surround it to assure no deteriorating can occur. Shielding the
perimeter wire may reduce the electromagnetic field induced around the wire as the current
passes through it. This reduction in the radius of the field may lessen the distance in which
the sensor detects the boundary wire. Sense alternative wire shielding techniques may
fluctuate the range of detection, the chosen shield radius must maintain a minimum
electromagnetic field voltage that the sensor can detect at a reasonable range.

As for the mentioned generator circuit. The circuit’s responsibility is to maintain current at
a given frequency value. The generator circuit requires a power supply as well. Goals of
the project consists of eliminating costs and maintenance. If the generator is dependent on
a battery that needs replaced periodically, this would increase the cost and influence the
overall efficiency of the project. The generator may need to be surrounded with a weather
proof casing as well given that the area of vegetation needing maintained has no shelter
nearby. This system is capable of being configured to drive on the boundary line, drive
beside the boundary line and not to go on a certain side of the boundary line. This is done
by setting a threshold through the software to allow the inductor coils to only be able to
reach a certain distance from the perimeter wire. The inductor coils detect the square wave
through the perimeter wire and that signal is routed through an operational amplifier to two
analog pins on the main microcontroller. Once this is done, the necessary operations are
called to keep the robot inside of the boundary. As shown below in Figure 13, the Perimeter
Wire Generator Circuit will produce a square wave output that the Perimeter Receiver
Circuit will receive. Figure 13 is referenced below with permission from Robotshop.com.

42
Figure 13: Boundary System Diagram used with Permission from Robotshop.com [25]

3.1.12 Wireless Communications [26]


Wireless communications are a key element to implement into the project because wireless
communications can enable an established method of sending inputs and receiving outputs
between the autonomous grass cutter and other peripheral components. Wireless
communications can enable features such as, boundary zone implementation, operating
system application, video streaming, and remote control of the autonomous grass cutter.
Wireless Communications can be used to fulfill a customer requirement of a kill switch
with a range of at least 50 feet using an established communications link between the
autonomous grass cutter and an operating system application. For example, a remote kill
switch function can be implemented by sending a “kill” command from an operating
system application to the autonomous grass cutter via an established wireless
communications link. The “kill” command would ultimately be received by the
microcontroller to then proceed into a shutdown procedure. It is also possible to program
the autonomous grass cutter to send signals to an operating system application to output
statistical data such as GPS location, battery information, troubleshooting information, and
operating statistics. Modern wireless communications consist of mostly two standardized
protocols; the IEEE 802.11 specification of wireless local area networks (LANs), also
known as Wi-Fi™, and Bluetooth.

3.1.12.1 Wi-Fi™ [26] [27]

In Senior Design II, Wi-Fi was chosen to be able to access the web server that the computer
science team designed. But due to incompatibilities, the Wi-Fi boards selected previously
in Senior Design I would not work for the Odroid-XU4. Based on the IEEE 802.11
standards, Wi-Fi™ is a radio frequency technology used for wireless local area networking
(WLAN). There are multiple versions of the 802.11 standard where each version has its
own name, denoted by the standard version, and specifications. Modern Wi-Fi™ most
commonly uses 2.4 gigahertz (UHF) or 5.8 gigahertz (SHF) radio bands. Table 20 below
lists the most commonly used Wi-Fi™ versions used and the capabilities that will be
compared for selection.

43
Table 20: Wi-Fi™ versions suitable for autonomous grass cutter [27]
802.11 Protocol Stream Data Rate (Mbit/s) Outdoor Range
802.11b 1, 2, 5.5, 11 140m (460ft)
802.11g 6, 9, 12, 18, 24, 36, 48, 54 140m (460ft)
802.11n Up to 288.8 250m (820ft)
802.11n (5 GHz) Up to 600 250m (820ft)

The highest range wireless versions, 802.11b, 802.11g and 802.11n were chosen to be
compared over versions that are capable of higher data rates because most of the data sent,
whether it is for a kill switch or an operating system application, will most likely be
parameters from the autonomous grass cutter and not something data intense, such as video
streaming (although it may still be capable of video streaming). Each version has a
specified frequency and range. A most likely case for this project is that the autonomous
grass cutter will be transmitting and receiving on a 2.4 gigahertz (UHF) radio frequency
band, unless 5.8 gigahertz (SHF) is chosen under the 802.11n version.

Since Wi-Fi™ creates a wireless local area network (WLAN), it is possible to connect the
created local area network (LAN) to a metropolitan area network (MAN) or wide area
network (WAN) and establish communications to the autonomous grass cutter from remote
locations as far as from the other side of the world. The one caveat to the previously
mentioned scenario, however, is that additional networking equipment will be required. It
is doubtful that the WLAN created for the autonomous grass cutter will connect to a WAN
or MAN through the solar farm’s networking equipment as network security problems
could arise or the solar farm could simply not support outside internet access. However,
using the WLAN created for the autonomous grass cutter, other devices can connect within
a range of 140 to 280 meters. Since the kill switch requirement is of at least 50 meters,
using a kill switch implemented with Wi-Fi™ will meet the requirement.

3.1.12.2 Bluetooth [26]

Over recent years, Bluetooth has become more accessible in applications requiring a
personal area network (PAN). Due to Wi-Fi being a more convenient technology in Senior
Design II, Bluetooth was not selected as a form of wireless communications. Spun off from
IEEE wireless standards, Bluetooth uses 2.4 gigahertz (UHF) radio frequency to transmit
and receive. Although Bluetooth is a great low power solution for wireless communication,
Bluetooth only allows for a maximum range of 10 meters in most cases. There is a class
of Bluetooth capable of 100-meter range, but the technology is too expensive when
compared to the cost of Wi-Fi™.

Since the Bluetooth transceivers within the project’s budget have of range of typically 10
meters and the customer’s kill switch requirement is of at least 50 meters, Bluetooth would
not be an acceptable technology to use for implementation of the kill switch. The range
limitation of Bluetooth provides a significant drawback even when considering that
Bluetooth consumes less power than Wi-Fi™. Table 21 below shows a comparison
between Wi-Fi™ and Bluetooth.

44
Table 21: Wireless Communications Comparison [26]
Wi-Fi [26] Bluetooth [26]
-Operates at 2.4-5 GHz -Operates at 2.4GHz
-High Cost -Low Cost
Key -Up to 11Mbps bandwidth -800Kbps bandwidth
Elements -600Mbps Bit Rate -2.1Mbps Bit-rate
-High Power Consumption -Low Power Consumption
-High Range -Low Range

3.1.13 I2C Protocols [28]


To communicate devices with a microcontroller, one might use the I2C communication
bus. This technology is very popular and used in many designs due to the nature of its
simplicity. The I2C communication bus is widely used and easily allows projects to adapt
with ease. Conceptually, the I2C protocol is used when a master device is used to
communicate with a slave device, or many slave devices. This is unique because only two
wires are needed to implement communication between these slave devices and their
master. These two wires can be used to communicate up to 128 different slave devices with
7-bit addressing, or 1024 with 10-bit addressing. The two wires are named Serial Clock
Line (SCL) and Serial Data Line (SDA). The data line will contain the ID of the device to
be communicated, packed in a series of 8-bit sequences. This will allow the master to
communicate with any device. The SCL is use as the clock signal and is synchronized with
the master device and synchronized with the data transfer bus. These two wires are
typically open joined, which means it will require pull up resistors to function, because the
wires operate on an active high, whereas each device along the I2C bus will operate on
active low. The I2C bus configuration is shown below in Figure 14.

Figure 14: I2C Bus Configuration made by Mario Mcclelland

The image in Figure 15 below represents the sequence at which a packet of data would be
transmitted from a master device to a slave device. Here you can see it starts off by
transmitting the address at which the slave is located, then it will access any internal
registers within the slave module, and lastly transmit or receive the data.
Acknowledgement bits are used to indicate successful transmission, as well as indicating
an end to the data transmission. This can be done bi-directionally along the line for
communication between both master and slave. The bit fields of data transmission on an
I2C bus is shown below in Figure 15.

45
Figure 15: Bit fields of data transmission on an I2C Bus made by Mario Mcclelland

3.1.14 SPI Protocols [29]


Serial Peripheral Interface, better known as SPI was introduced by the company Motorola.
SPI is used to communicate a single master device and it will output to many slave devices.
Using the SPI protocol on an Arduino is very simple. There are four wires used to
implement this communication system and they are as follows. First wire is SCK or Serial
Clock wire, this is the wire that propagates the clock signal from the master device. The
second wire is MOSI, which is Master Out, Slave In this wire is used as the output from
the master device and an input to the slave device. The MISO line, or Master in Slave Out
is used as input to the master, and output from the slave device. The last wire is the SS or,
Slave Selection, this wire will send the signal to the slave that will be selected for data
transmission.

3.1.15 UART [30]


UART stands for Universal Asynchronous Receiver/Transmitter. It is not a communication
protocol like SPI and I2C. It is a physical circuit that is implemented inside devices such as
microcontrollers and stand-alone Integrated Circuits (ICs). It can be applied to applications
through hardware such as transmitting and receiving data. This integrated circuit can
transmit serial data between two UART devices connected to each other. UART does not
rely on a clock signal to transmit data, therefore it needs another way of indicating when
to begin and end data transmission. In a UART signal, there are start and stop bits in the
data packets that are communicated between the devices, this will indicate when to start
and stop receiving or transmitting data. the data transmitted through the UART devices
originated from the data bus on the circuit the UART is implemented within. When
sampling, the two UARTS must have the same sampling baud rate, this will ensure the data
isn’t sent too quickly which will output erroneous data that will not be consistent with the
receiver or transmitter. UART follows the IEEE communication standards. This will be
used in this project as the Raspberry Pi, Arduino Mega, ATmega2560 and the
ATmega16U2 have UART on board. This may be used to communicate these development
boards and microcontrollers to each other or certain electrical components that are
applicable.

3.2 Strategic Components and Part Selections


This section of the project documentation identifies and establishes the parts selected to
build the autonomous grass cutter. Selected parts will be decided by the Mechanical
Engineering Team. Those parts have a summary of the elements that need to be taken
account for in the selection process. Each sub section will identify and establish each
component chosen and the research behind why a specific component was chosen. There
will be a comparison with other components that were considered. It is possible that what
could be a better component was not selected due to any of the applicable standards, limited
budget, limited resources or design constraints. The tables below show the parts selection
46
overview and descriptions that may be used for this project. The tables below are split up
into categories that will follow the part selection descriptions in the following sub-chapters.
In Senior Design II, the Raspberry Pi 3 Model B was changed to the Odroid-XU4. Table
22 below shows the microcontrollers and development boards part selection overview.

Table 22: Microcontrollers and Development Boards Parts Selection Overview


Item Description
Development Board 1xRaspberry Pi 3 Model B
Development Board 1xOdroid-XU4
Microcontroller 1xATmega2560
Development Board 1xArduino Mega
Microcontroller 1xATmega16U2

In Senior Design II, the LM324N was changed to the LM324M. This chip is the surface
mount version of the LM324N. The EJ503A Power Jack was changed to a 2-Pin screw
terminal to connect the battery to the generator circuit. The higher rated screw terminals
were selected versus the original ED10561 ND screw terminals. Table 23 below shows the
boundary system part selection overview. This includes parts for the perimeter receiver and
generator circuits.

Table 23: Boundary System Parts Selection Overview


Item Description
Perimeter Wire 1xAutomower Boundary Wire
20AWG 1M Cable 1x20AWG 1M cable for testing the perimeter wire system
Screw Terminals 3xED10561-ND, 125V, 6A, 1x02 2.54mm Screw Terminals
NE555P Timer 1xNE555P Timer to generate square wave signal
1xEJ503A Power Jack used as a power connector to
EJ503A Power Jack
generator circuit from the 12-Volt battery
4x2-Pin Screw Terminal 16A/400V to connect the battery,
2-Pin Screw Terminal
two inductors and the perimeter wire
1xLM324N Operational Amplifier to amplify the signal
LM324N
detected from boundary system
1xLM324M Operational Amplifier to amplify the signal
LM324M
detected from the boundary system
Various resistors used that include:
Resistors 4x1MΩ(1206), 4x10kΩ(1206), 1x3.3kΩ(1206),
1x12kΩ(1206), 1x47Ω(2W Axial-0.6)
1xS64W Variable resistor 4.7kΩ, 3296W to adjust
Variable Resistor
frequencies of square wave signal
Various capacitors used that include:
Capacitors 2x22nF(1206), 1x100nF(50V 1206), 1x100nF(1206),
1x1µF(1206), 1x1.2nF(1206)
Inductors 2xRLB0914 Inductors 1mH, 420mA use as receiver sensors
Inductor Wires Wires to connect the inductors to the circuit

47
Table 24 below shows the sensors and location part selection overview. This includes all
the sensors, camera and GPS module.

Table 24: Sensors and Location Parts Selection Overview


Item Description
Night Vision Camera 1xRaspberry Pi 3 Model B Night Vision Camera
Ultrasonic Sensor 2xHC-SR04 Ultrasonic Sensor
Battery Charge Sensor 1xLiPo Fuel Gauge Battery Charge Monitor
GPS Module 1xHolybro Micro M8N GPS Module
Pin Header 1x08 Pin Header for Ultrasonic Sensors
Pin Header 1x06 Pin Header for GPS Module

Table 25 below shows the navigation and drive part selection overview. This includes the
motor control parts, motors and wireless communication parts. In Senior Design II, the
navigation and drive parts selection has changed. The USB Wi-Fi module is no longer
used. The motor driver chips upgraded to the VNH7100AS to be able to handle a high
current load. The wheel motors were upgraded to the planetary gear motors to handle a
higher load with more torque. The blade motors were upgraded to the permanent magnet
DC gear motors to handle a higher load as well with more torque. These selections are
shown below in Table 25.
Table 25: Navigation and Drive Parts Selection Overview
Item Description
USB Wi-Fi Module 1xUSB Wi-Fi (802.11b/g/n) Module with Antenna
Motor Driver Chip 3xL293DNE Motor Driver Chip
Wheel Motors 2xDC 12V/180RPM Geared Motor
Motor Driver Chips 4xVNH7100AS Motor Driver Chips
Wheel Motors 2x23RPM, 4166 oz-in Planetary Gear Motors
Blade Motors 3xPermanent Magnet DC Gear Motors
String-Based Blade Motors 3xMachifit 895 DC Gear Motor

Table 26 below shows the power system part selection overview. This includes the voltage
regulators, batteries and circuit components. In Senior Design II, the LM2673S voltage
regulator was changed to the LMZ31506 power module DC-DC converter due to the
specific need of a 5-Volt, 4-Amp output needed from a 12-Volt battery to power the
Odroid-XU4. The wheel motors, blade motors, pcb and Odroid batteries were changed to
the 11.1V Ovonic Li-Po batteries due to the unavailability of the first selected batteries that
may have been unreliable shipping from China. The perimeter wire generator circuit
battery was changed to the 3.7V MXJO Lithium Ion battery due to the unnecessary need
of a large battery to power a low power consumption circuit. The screw terminals were
upgraded to high rated specifications of 400V and 16A. This is due to the large current load
the screw terminals will have to handle to the motors. There were five of these screw
terminals used to connect inA and inB of each of the two wheel motors and three blade
motors. This is shown below in Table 26.

48
Table 26: Power System Part Selection Overview
Item Description
Step-Down Voltage 1xLM2673S-ADJ 3-A Step-Down Voltage Regulator with
Regulator Adjustable Current Limit
DC-DC Converter
1xLMZ31506 Power Module DC-DC Converter
Power Module
Linear Regulator 1xLD1117 Linear Regulator
LDO Voltage
1xLP2985-33 Low Drop Out Voltage Regulator
Regulator
LMV358
1xLMV358 Low-Voltage Rail-to-Rail Output Operational
Operational
Amplifier
Amplifier
Various chip resistor arrays used that include:
Chip Resistor Array
1x1kΩ(CAY16), 2x10kΩ(CAT16), 1x22Ω(CAY16)
Various resistors used that include:
Resistors
1x8.25kΩ(1206), 1x1kΩ(1206), 1x3.16kΩ(1206)
Diode 1xMBRD360T4G T0-252-2 Schottky Diode
Various capacitors used that include:
Capacitors 2x100nF(1206), 1x10nF(1206), 2x100µF(595D),
1x330µF(Case-D 7343), 1x1µF(1206), 1x100nF (1206)
Inductors 1xXAL1010-152MEB Fixed Inductor 1.5µH
1xFDN340P Single P-Channel, Logic Level, Power Trench
MOSFET
MOSFET
Screw Terminals 7xED10561-ND, 125V, 6A, 1x02 2.54mm Screw Terminals
2-Pin Screw 5x2-Pin Screw Terminal 16A/400V to connect the wheel
Terminal motors and blade motors
Battery Wires 6xBattery Wires to the battery terminals
Wheel Motor
1x11.1V Ovonic Li-Po Battery
Battery
Blade Motor Battery 1x11.1V Ovonic Li-Po Battery
PCB Battery 1x11.1V Ovonic Li-Po Battery
Odroid Battery 1x11.1V Ovonic Li-Po Battery
Generator Battery 1x3.7V MXJO Lithium Ion Battery
Motors Battery 1xDMD 100Ah/12V Li-Ion Battery
Electrical
1xYinkai Power 20Ah/12V Li-Ion Battery
Components Battery
Perimeter Wire
1xGreatMax 10Ah/12V Li-Po Battery
Battery

Table 27 below shows the mechanical part selection overview selected by the Mechanical
Engineering Team. This includes the frame material, wheels, bade type and trimmer head.
In Senior Design II, the base plate used was aluminum and the cover material used was
plexiglass. The trimmer heads were changed to custom 3D printed cutter heads that the
mechanical engineering team designed. The shaft adapters were changed to a 6mm D-shaft
adapter with 5 screw holes to the front wheels. The mechanical part selection is shown
below in Table 27.

49
Table 27: Mechanical Part Selection Overview
Item Description
Frame Material Plastic
String-Based Trimmer Head Pivotrim Pro String Trimmer
Base Plate Material Aluminum
Cover Material Plexiglass
Cutter Heads 3D Printed Plastic
String-Based Blade Nylon String-Based Blade
Shaft Adapters 0.5-inch shaft
D-Shaft Adapters 2x6mm D-Shaft Wheel-Motor Adapters
Caster Wheels Powertec Swivel Heavy Duty Caster
Front Wheels MaxPower 335100 Lawn Mower Wheel

Table 28 below shows the PCB components part selection overview. This includes the
circuit components such as resistors, capacitors, inductors, transistors, pin headers and
screw terminals. All these components are integrated with the other parts mentioned above
to create a custom-made PCB that will result in a fully functional grass cutter system. PCB
components part selection is shown below in Table 28.

Table 28: PCB Components Part Selection Overview


Item Description
PCB Ordered from JLCPCB and designed on EasyEDA.com
Resistors Various resistors used that include: 2x1MΩ(1206),
Various capacitors used that include:
Capacitors
7x100nF(1206), 3x22pF(1206), 1x1µF(1206)
Solder Jump 2xSJ
Wires Pack Variety of Jumper Wires
Chip Resistor Array 1x1kΩ(CAY16)
Crystal 1xCSTCE16M0V53-R0 16MHz Crystal
Crystal 1xQS 16MHz Crystal
Inductor 1xBLM21(0805)
Reset Fuse 1xMF-MSMF050-2 500mA
Varistor 2xCG0603MLC-05E Varistor (0603)
Diodes 2xCD1206-S01575 Diode 100V, 150MA (1206)
Tactile Switch 1xTS42031-160R-TR-7260 Tactile Switch
Pin Header 2x(3x2M 2x03 Pin Header)
Pin Header 1x(2x2M -NM 2x02 Pin Header)
Pin Header 5x(8x1F-H8.5 1x08 Pin Header)
Pin Header 1x(10x1F-H8.5 1x10 Pin Header)
Pin Header 1x(18x2F-H8.5 2x18 Pin Header)
USB port 1xPN61729 USB-B Port
Breadboard 1xBreadboard for testing the circuitry
Bolts Variety
Nuts Variety

50
3.2.1 Development Boards Selection
Exploring the needs of the project will help determine an appropriate development board.
In this case, a development board is needed that can support the high processing power
demands of computer vision and image processing and wireless communications. Another
development board is needed to test the microcontroller that will be implemented onto the
custom-made PCB for the overall grass cutter system. The development board with the
selected microcontroller that is applicable, can be tested through the development board
and then later implemented onto the final PCB design. The development boards can support
the testing of the electrical components such as the motor driver chips, ultrasonic sensors,
GPS module, voltage regulators, and camera. The combination of these systems will be
programmed using familiar languages such as C, C++ and Python. The navigational system
will use a camera. In Senior Design II, the Raspberry Pi was upgraded to the Odroid-XU4.
It has a significant amount more processing power and be able to process all the software
to control the PCB and Lidar system. The development boards selection are shown below
in Table 29 with reference to datasheets [A11], and [A2].
Table 29: Development Boards Selection
Raspberry Pi 3 Arduino Mega 2560 Odroid-XU4
Model B [A11] [A2]
Manufacturer Raspberry Pi Arduino Odroid
Price $35.00 $38.50 $51.95
Size 85x56mm 101.52x53.3mm 82x58x22mm
-BCM43428 -54 Digital I/O pins -Samsung Exynos5422
Wireless LAN and -15 PWM outputs Cortex-A15 2GHz and
BLE on board from Digital I/O Pins Cortex-A7 Octa Core
-40-pin extended -16 Analog Input Pins CPU
GPO -256KB of Flash -Mali-T628 MP6
-CSI camera port Memory -2GB LPDDR3 RAM
Key Elements
-DSI display port -8KB of SRAM PoP stacked
-1GB of Ram -4KB of EEPROM -eMMC5.0 HS400
-Quad Core -16MHz Clock speed Flash Storage
1.2GHz Broadcam -ATmega2560 -Gigabit Ethernet Port
BCM2837 64-bit Microcontroller
CPU
In Senior Design This part highlighted This part highlighted
II, this part was was selected for the was selected for the 7
upgraded to the high compatibilities times faster processing
Odroid-XU4 and with controlling the speed than the
Part Selected no longer used. overall system of the Raspberry Pi. It will
robot. This board will be used to
be used for testing the communicate with the
ATmega2560 PCB and control the
microcontroller chip. Lidar system.

51
3.2.2 Raspberry Pi Model 3 B [31]
Raspberry Pi 3 Model B runs at 1.4GHz with 1GB of memory. It is manufactured by
Raspberry Pi and costs $35.00. Capable of supporting a camera input, as well as enough
I/O pins to support the many different sensors desired in the design. This microcontroller
also operates at 5V and has 4 USB 2.0 ports. It supports Wi-Fi, and BLE protocols. This
model includes the Quad Core Broadcom BCM2837 64-bit ARMv8 processor. It also
includes an integrated GP-Video Core IV, which runs at 400MHz. This selection should
be suitable enough for the needs of this project, as the robot will have a demanding
computer vision architecture to make important navigational decisions. It can be
programmed in many different languages including C, and C++. It also supports its very
own operating system, the Raspbian OS. This is the development board that will be used
in the project as shown below in Figure 16, used with permission from Adafruit.com. .

Figure 16: Raspberry Pi Model 3 B used with permission from Adafruit.com [32]

3.2.3 Odroid-XU4
The Odroid-XU4 is a single board computer that has an 8 core CPU running at a frequency
of 2Ghz, 2 Gigabytes of RAM, and necessary IO ports to implement a LIDAR system into
the project. This powerful microcomputer board has the powerful Samsung Exynos5422
Cortex-A15 and the Cortex-A7 Octa Core Central Processing Unit. This incredible
combination provides seven times faster processing speeds and capabilities than the
Raspberry Pi 3. This board is capable of handling multiple operations at once such as serial
communications with the ATMEGA2560, operating the lidar system, path planning,
mapping and on top of that be able to handle image processing from a camera. Odroid-
XU4offers open source support and runs various flavors of Linux. The purpose of selecting
this computer is that it provides the processing power necessary to implement a Robot
Operating System and lidar system. This is shown below in Figure 17.

52
Figure 17: Odroid-XU4 used with reference from Ameridroid.com

3.2.4 Arduino Mega 2560 [33] [34]


The Arduino Mega 2560 is a development board with the ATmega2560 microcontroller. It
is manufactured by Arduino and costs $38.50. The purpose of selecting this board is to test
the functionality and specifications of the ATmega2560 microcontroller before the
implementation of this microcontroller onto the final PCB design. This is done because
this chip is hard to test on a breadboard due to it being a surface mount device. The Arduino
Mega 2560 that will be used in this project for testing is shown below in Figure 18, picture
taken by Brandei Dieter.

Figure 18: Arduino Mega picture taken by Brandei Dieter

3.2.5 Microcontrollers Selection


The microcontrollers need to be able to support the overall motor control, GPS modules,
obstacle avoidance, obstacle detection, USB communications, and overall system control
of the grass cutter robot. The microcontrollers on a development board can be integrated
into a custom-made PCB design which is ideal for this project per ECE requirements. The
combination of these systems will be programmed using familiar languages such as C and
C++. It will communicate with the obstacle avoidance system that will use an ultrasonic
sensor to measure the distance away from objects using an RF signal. The microcontroller
needs to be able to utilize I2C, UART, and SPI communication protocols with RF
capabilities. A high performance, but low power microcontroller is an important feature
because much of the power will be allocated to the navigation as well as driving the motors.
53
DC motors will be used in the implementation of the drive system. The microcontrollers
selection are shown below in Table 30 with reference to datasheets [A14] and [A22].

Table 30: Microcontrollers Selection


ATmega2560 [A14] ATmega16U2 [A22] ATMEGA328P
Manufacturer Microchip/Atmel Microchip/Atmel Microchip/Atmel
Price $12.00 $2.53 $1.95
Size 14x14x1mm 5x5x0.95mm 34.79x7.49x4.57mm
-54 Digital I/O pins -16KB of In-System -32x8 General
-15 PWM outputs Self-Programmable Purpose Working
from Digital I/O Pins Flash Registers
-16 Analog Input -512B of EEPROM -32KB Program
Pins -512 of Internal Memory Size
-256KB of Flash SRAM -2KB Data RAM
Memory -126 powerful Size
-8KB of SRAM instructions -23 Input and
-4KB of EEPROM -32x8 general purpose Output Pins
-Operating Voltage working registers -1KB EEPROM
of 5-Volts -22 Programmable ROM Size
Key Elements
-Input Voltage of 6- I/O lines -8-bit
20-Volts -Operating Voltage Microcontroller
-16MHz clock speed range of 2.7 to 5.5-
-5 SPI pins for SPI Volts
communication -1 UART and 2 SPI
-2 TWI pins for TWI Digital
communication Communication
-4 hardware UARTs Peripherals
and 8 Serial pins for
TTL serial data
communication
This part highlighted This part highlighted This part was not
was selected for the was selected for the used due to not
high compatibilities high compatibilities enough pins and
with controlling the with communicating memory available
overall system of the with the USB port that is required for
Part Selected robot. This chip will and the ATmega2560. this project.
be used on the This chip will be used
custom-made PCB on the custom-made
design for the overall PCB design for the
grass cutter system. overall grass cutter
system.

3.2.5.1 ATMEGA2560 [35]

The ATMEGA2560 is a microcontroller with many capabilities. It is manufactured by


Microchip/Atmel and costs $12.00. This microcontroller is already implemented onto the

54
Arduino Mega development board. In this project, the ATMEGA2560 will be integrated
onto the PCB. It has 54 Digital I/O pins, 15 PWM pins, and 16 Analog Input Pins. It
operates at 5 Volts. It has a clock speed of 16MHz with a flash memory of 256 KB, 8 KB
of SRAM and 4 KB of EEPROM. This microcontroller will be used for overall locomotion,
motor control, obstacle detection, obstacle avoidance and sensors. It is not compatible of
running OpenCV, but the Raspberry Pi will run the OpenCV and deliver the outputs to the
Inputs of the ATMEGA2560. This is the microcontroller that will be used in Figure 19
below.

Figure 19: Atmega2560 Microcontroller picture taken by Brandei Dieter

3.2.6 ATMEGA16U2 [36] [37]


The ATMEGA16U2 is a microcontroller with many capabilities. It is manufactured by
Microchip/Atmel and costs $2.53. This microcontroller is already implemented onto the
Arduino Mega development board. In this project, the ATMEGA16U2 will be integrated
onto the PCB. It has 22 programmable I/O lines and 32x8 general purpose working
registers. The purpose of this device is to communicate and process the USB port with the
ATMEGA2560. This will allow the microcontrollers to have a port to be programmed and
hooked to a computer to implement many software algorithms for the overall grass cutter
system. It operates at a range of 2.7 to 5.5-Volts. It has a clock speed of 16MHz at 4.5-
Volts with a flash memory of 16KB, EEPROM of 512B and Internal SRAM of 512B. This
is the microcontroller that will be used in this project, shown below in Figure 20, used with
reference from Microchip.com.

Figure 20: ATmega16U2 used with reference from Microchip.com [37]

55
3.2.7 ATMEGA328P
The ATMEGA328P is a microcontroller with many capabilities but not enough required
for this project. It is manufactured by Microchip/Atmel and costs $1.95. This
microcontroller is implemented on the Arduino Uno but only has 32x8 general purpose
working registers and 32KB program memory size. Due to the scale of this project, this
chip would not suffice for all the demands needed.

3.2.8 Perimeter Boundary Wire Selection


The perimeter boundary wire is a crucial element in the functionality of the boundary
system. A Buried Wire Fence (BWF) would be an ideal selection for this system. It is
crucial to protect the perimeter wire from weathering to not interfere with the set frequency
value flowing through it. Some shielding options are available to protect the BWF from
being disturbed by local pest and deterioration. Once installed, the perimeter wire should
not need any maintenance until being relocated in order to expand or change the
autonomous grass-cutter’s service area. The Perimeter boundary wire selection is shown
below in Table 31.

Table 31: Perimeter Boundary Wire Selection


Automower Boundary Wire [38] Extreme Dog Fence Wire
Manufacturer McCulloch Extreme
Price $59.00 $25.71
Length (m) 150 152.4
- Already water proofed with -Already water proofed with
polyethylene plastic polyethylene plastic
Key Elements -Very durable -Very durable
-Used for mower and uses same type -Multiple lengths of product
of inductive sensors are available
This part highlight was due to the lower costs, mower compatibility
Part Selected
and specifications.

3.2.8.1 Automower Boundary Wire [38]

The Automower Boundary Wire is manufactured by McCulloch and costs $59.00. One roll
comes with 150 meters of wire which is plenty for the boundaries this project will be
testing. This is an ideal choice due to its durability and low costs compared to other
boundary wires researched. This boundary wire is used for the McCulloch rob R600 and
R1001.

3.2.8.2 Extreme Dog Fence Wire [39]

The Extreme Dog Fence Wire is manufactured by Extreme and costs $25.71. The wire is
used as an underground fence with a generated clock running through the wire that signal
processes to the collar around a dog’s neck. For this reason, the pet market for perimeter
wires was used to find this product, the Extreme Dog Fence Wire. This wire comes with

56
different gauge sizes. The chosen gauge size is 14 gauge which is the largest offered by
this company. The larger diameter the wire, the stronger the signal and the more durable
the wire is. This product if very durable and is water proofed already; because pet
perimeters are outside, the product is designed with a coating around the copper inside of
the wire. Instead of using a vinyl coat, this wire is coated with a polyethene plastic as a
better weather proofed option. Both wire shielding approaches do not disturb the signal
transmission as the product in design to signal a sensor. This is the boundary wire that will
be used in this project as shown below in Figure 21.

Figure 21: Xtreme Dog Fence used with permission from Amazon.com

3.2.9 Timer for Perimeter Generator Circuit Selection


The timer for the boundary system is crucial for the system to function properly. The timer
should be able to output a square wave signal throughout the Perimeter Wire. The circuit
can be referred to as the ‘generator circuit’ that is implemented to generate a pulse at a
specific frequency. The generator circuit, with its own power source, must also be kept safe
from weather deterioration. Every time the grass-cutting robot is in operation, a timer like
pulse must be generated through the perimeter wire. The perimeter wire power supply
should have a battery life longer than the grass cutter to always maintain the boundaries.
The timer for the boundary system selection is shown below in Table 32 with reference to
datasheets [A10] and [A24].

Table 32: Timer for the Boundary System Selection


NE555 Timer [A10] CD4541B Timer [A24]
Manufacturer Texas Instruments Texas Instruments
Price $0.95 $0.51
Size 8 Pins 14 Pins
-Frequency range of 32kHz to - Frequency range of 1kHz to
44kHz 100kHz
-Operating temperature range from -Oscillator Option or
Key Elements
-55 degrees to 125 degrees Clocking Option
-Vcc range from 5V-15V -Operating temperature range
-Reset mode from

57
-TTL-Compatible Output can sink -55 degrees to 125 degrees
or source up to 200mA -5, 10, and 15V parametric
-Timing from microseconds to hours ratings
-Adjustable duty cycles -Auto reset mode and master
-Accurate time delays and reset mode (Auto mode not
oscillations efficient)
This part highlight was selected due to its specifications and
Part Selected compatibility with the circuit design of the perimeter wire generator
circuit.

3.2.9.1 NE555P Timer [40]

The NE555P timer is manufactured by Texas Instruments and costs $0.95. The Perimeter
Wire Generator System will use 1x3.3𝑘Ω, 1x 12𝑘Ω, 1x 47Ω resistors, 1x 4.7𝑘Ω
potentiometer, 2x 100𝑛𝐹, 1x 1.2𝑛𝐹, 1x 1𝜇F Capacitors, 2.5mm center positive barrel
connector, screw terminal (2P) and a NE555P Timer. The NE555P Timer will generate a
square wave between the frequencies of 32kHz to 44kHz. This range of frequencies should
not interfere with other electronic components frequency ranges. The NE555P Timer will
require its own power source to control and deliver a pulse through the perimeter wire. The
timer IC is equipped with a reset option to initiate a new timing cycle overriding all other
inputs. The flip-flop is reset when the reset pin input is set to 0 (or low). This timer is
manufactured by Texas Instruments as well as the CDC4541B Timer. While the NE555
timer does not come with an automatic reset option, by not including an automatic reset
option power is saved within the circuit. The size of the circuit also remains smaller; only
8 pins are needed to implement the design of the timer onto a breadboard or a PCB board.
This part is shown below in Figure 22.

Figure 22: NE555P Timer picture taken by Brandei Dieter

3.2.9.2 CD4541B Timer [41]

The CD4541B timer is a CMOS programmable timer manufactured by Texas Instruments


and costs $0.51. The timer can be programmed to produce a square wave output at
frequency levels anywhere from 1kHz to 100kHz. Input voltages can range from 0.5V to
18V. The operating temperature range of the timer is anywhere from 55 degrees Celsius to
125 degrees Celsius. The device contains two pin outputs, one being the external clock
(square-wave). Located at the other output pin, the device operates as an oscillator with
frequency ranging from DC or 0Hz to 100kHz. Reset modes include an auto-reset and
master option. The auto-reset option wastes a considerable amount of power and is not

58
recommended for continued use if efficiency is desired. The master reset option resets the
device by switching the amplitude back to a low position to begin recounting. Although
this is a cheaper component, the NE555P timer is more ideal for this project.

3.2.10 Operational Amplifier for Perimeter Receiver Circuit


The operational amplifier is a crucial element for amplifying the signal received from the
inductor coils from the signal captured from the perimeter wire. The purpose of this
receiver circuit is to detect the square wave outputted by the Perimeter Wire Generator
circuit and not go out of bounds. It will send the signals to the ATmega2560
microcontroller and generate an interrupt to the system to tell the grass cutter to do the
proper operations (i.e. turn around, reverse). The perimeter's signal receiving operational
amplifier selection is shown below in Table 33 with reference to datasheets [A9] and [A23].

Table 33: Perimeter Wire Receiver Operational Amplifier Selection


LM324M
LM324N Operational LF351 Operational
Operational
Amplifier [A9] Amplifier [A23]
Amplifier
Texas Instruments Fairchild
Manufacturer Texas Instruments
Semiconductor
Price 0.48 $0.52 $1.18 per amplifier
-8.75x4x1.5mm -14 PINS, 19.56 mm ×
Size -8 PINS, Tiny
6.67 mm
-Large DC gain of -Large DC gain of -Vcc -18 to +18V
100DB 100DB -Power Dissipation
-Power Dissipation -Power Dissipation is is 500mW
is from 800mW- from 800mW-1130mW -Operational Temp
1130mW (depending on used is from 0 to 70
(depending on used operations) degrees Celsius
operations) - Operational Temp is -Wide bandwidth
- Operational Temp from 0 to 70 degrees 4MHz
is from 0 to 70 Celsius -JFET internal
degrees Celsius -Wide bandwidth inputs
Key Elements
-Wide bandwidth 1MHz -Input Impedance
1MHz -Input Voltage range value of 1012 Ω
-Input Voltage from 0-30V - Input Voltage
range from 0-30V -Four internal Op +
15𝑉

-Four internal Op Amps in one package
Amps in one -Power Drain suitable
package for battery operation
-Power Drain
suitable for battery
operation
This part highlight was selected due to its specifications required for
Part Selected this project. The LM324M was chosen over the LM324N due to it’s
mounting style of being a surface mount device.

59
3.2.10.1 LM324N Operational Amplifier [42]

This Perimeter Wire Receiver System will use 3x 10𝑘Ω, 3x 1𝑀Ω resistors, 2x 2𝑛𝐹
Capacitors, an LM324N Quad Operational Amplifier, 2 2.54mm 3-pin M/M headers, and
2 1𝑚𝐻 inductors. The LM324N operational amplifier is used to amplify the signal received
through the inductors and send that amplified signal to the microcontroller. This part is
shown below in Figure 23.

Figure 23: LM324N Operational Amplifier picture taken by Brandei Dieter

3.2.10.2 LF351 Operational Amplifier [43]

Another option of an operational amplifier to use for the perimeter boundary system is the
LF351N Operational Amplifier having a wide bandwidth in case the signal in the perimeter
wire gets distorted. If the copper wire around the perimeter has ever been broken and re-
spliced, the signals frequency may have a wider marginal error. Therefore, it is thought
that this operational amplifier may be of use for the design. There is a supply voltage of
±18-Volts with a differential input voltage of 30-Volts. Although this operational amplifier
has good specifications, the LM324N operational amplifier is more ideal for this project.

3.2.10.3 LM324M Operational Amplifier

The LM324M Operational Amplifier is the surface mount version of the LM324N. This
operational amplifier is used to amplify the signal received through the two inductor coils
from the square wave signal from the perimeter wire. Once the signal is amplified, the
signal is sent to two analog pins on the ATMEGA2560 and then the proper operations are
done in the software to keep the robot inside the boundaries. This device was implemented
into the PCB design in Senior Design II and is shown below in Figure 24 used with
reference to Mouser.com.

Figure 24: LM324M Operational Amplifier with reference from Mouser.com

60
3.2.11 Camera Selection
The camera for this system will be used to help determine any obstructions in its path as
well as give the robot instructions on which direction to move. Some of the factors are
combability with the microcontroller that is used to create the robot. In this case, we want
a camera that will work with the microcontroller, but also be efficient enough to give us
good quality imaging for robustness when implementing computer vision software onto
the system. There are many ways to connect a camera, some require specific ports, while
others merely use USB port to transmit the video. The camera selection is shown below in
Table 34 with reference to datasheets [A17] and [A25].

Table 34: Camera Selection


oCam 5MP USB 3.0 Raspberry Pi 3 Raspberry Pi
Camera Model B Night Camera Module
Vision Camera [A17] V2 [A25]
Manufacturer oCam Unistorm Raspberry Pi
Price $99.95 $25.99 $24.90
Size 42x42x30mm 4.5x2x1.2 in 4.7x0.9x3 in
Key Elements -OmniVision OV5640 -Night Vision -8 MP native
CMOS image sensor capability resolution high
-Standard M12 Lens -Low costs quality Sony
with Focal Length of -5 MP Fisheye IMX219 Image
3.6mm Camera Lenses sensor
-FOV of 65 Degrees -1080P sensor -Capable of
-Electric Rolling resolution 3280x2464 pixel
Shutter - 72 degrees field of static images
-Camera Control view -Compatible with
includes brightness, -infrared or flash LED Raspberry Pi
contrast, hue, compatibility -Maximum of
saturation, and white -Compatible with 1080P30 in
balance Raspberry Pi Raspberry Pi
-Various Frame Rates -LEDs automatically Board
available from 7.5-120 turn on when the
frames per second environment around
the camera gets dark
Part Selected This part was selected due to the high compatibilities with the
Odroid-XU4.

3.2.11.1 oCam 5MP USB 3.0 Camera

The oCam 5MP USB 3.0 Camera has a Omnivision OV5640 CMOS image sensor with a
standard M12 lens with a focal length of 3.6mm. This camera provides the capabilities of
controlling the brightness, contrast, hue, saturation and white balance. This is helpful for
filtering out images for a clearer image to process. Though the plan was to use the camera
in conjunction with computer vision and image segmentation on the Odroid-XU4, in Senior

61
Design II, the computer science team decided to not use the camera anymore and just use
the Lidar system due to lack of time.

3.2.11.2 Raspberry Pi 3 Model B Camera Fisheye [44]

In Senior Design II, the raspberry pi and the raspberry pi camera were not used anymore
but upgraded to the Odroid-XU4 and oCam 5MP Camera. Raspberry Pi 3 Model B Camera
Fisheye 5 Mega Pixel. This camera comes well equipped with night vision as well as small
flashlights on either side. The LEDs automatically detect when it is in a light or dark
environment and turn on to aide in the camera’s vision despite what time of day it is. This
device is manufactured by Unistorm and costs $25.99. This camera is a very good selection
for the project because it will allow the robot to cut grass at night, which satisfies a design
principle stated in the requirement specifications. This camera is connected through CSI
(Camera Serial Interface), so the microcontroller must be compatible and have the correct
ports to meet the need of this technology. This camera also has a best resolution of 1080p,
focal length of 2.1, diagonal angle of 130 degrees and provides 3.3V power output. This
camera has very high quality and a variety of capabilities. It is cost efficient and meets all
the requirements of the project. This is the camera shown below in Figure 25.

Figure 25: Raspberry Pi 3 Model B Night Vision Camera picture taken by Brandei Dieter

3.2.11.3 Raspberry Pi Camera Module V2 [45]

Raspberry Pi Camera Module V2 is an 8 Megapixel camera that can handle multiple


resolutions that can be used in different circumstances. This device is manufactured by
Raspberry Pi and costs $24.90. It includes a high quality 8MP Sony IMX210 image sensor
with a fixed focus lens. It is capable of supporting 3280x2464 pixel static images along
with 1080p30, 720p60 and 640x480p60/90 videos. Perhaps this selection for the project
can prove to be modest, however it lacks in features. Some features this camera could
include are night vision, as well as a light attachment for illumination. This camera is also
compatible with Raspberry Pi, which would be ideal for this project’s conditions. Although
the compatibilities and specifications of this camera would be suitable for this project, this
camera will not be chosen due to its poor quality of vision at night.

3.2.12 Lidar Selection


In Senior Design II, a lidar system was selected for the simultaneous localization and
mapping and to aide in path planning. The lidar system was selected for accuracy and
range. Table 35 below shows the lidar system selection.

62
Table 35: Lidar System Selection
RPLidar A2M8 RPLidar A1M8
SLAMTEC RPLidar A2M8 SLAMTEC RPLidar A1M8 360º
Manufacturer
360º Laser Scanner Laser Scanner
Price $299.00 $99.00
Size 75.7x75.7x40.8mm 70.28x70.28x51mm
-Sample Frequency of 2000- -Sample Frequency of ≥2000-
4100 Hz 2010 Hz
-Scan Rate of 5-15 Hz -Scan Rate of 1-10 Hz
-0.15-8-meter range -0.15-6-meter range
-Angular Resolution of 0.45- -Angular Resolution of less than
Key Elements 1.35º equal to 1º
-0-360º Laser Scanner -0-360º Laser Scanner
-4000 samples of laser ranging -Samples 360 points each round
per second with high rotation at 5.5Hz
speed -5V Operating Voltage
-5V Operating Voltage
This part highlighted was selected due to the higher range, accuracy
Part Selected
and specifications.

3.2.12.1 SLAMTEC RPLidar A2M8

The RPLidar A2M8 was selected due to the high capabilities, greater range and 360 degree
rotational scan for self-localization, mapping and path planning using lidar. This system’s
software was done in conjunction with the computer science team with the Odroid-XU4 to
effectively map the area with its’ obstacles and path plan accordingly to not cut the same
spot twice. It operates at a sample frequency of 2000-4100 Hertz with a scan rate of 5-15
Hertz. This device has 4000 samples of laser ranging per second with high rotational speed
and only operates at 5-Volts. This device was used in this project and is shown below in
Figure 26 with permission from Robotshop.com.

Figure 26: SLAMTEC RPLidar A2M8 with permission from Robotshop.com

63
3.2.12.2 SLAMTEC RPLidar A1M8

The RPLidar A1M8 was not selected due to the shorter range despite the cheaper cost. It
operates at a sample frequency of 2000-2010 Hertz and a scan rate of 1-10Hz. It has a range
of 0.15-6 meters. This device samples 360 points each round at 5.5Hz.

3.2.13 Obstacle Avoidance Sensors Selection


There are many options for implementing an obstacle avoidance sensor. For this project
some considerations were an ultrasonic sensor to calculate the distance between the system
and any objects or obstacles in its path to avoid damaging the surrounding infrastructure,
objects, obstacles, humans and the robot itself. Ultrasonic sensors can measure the distance
by emitting a sound wave via a transducer. As a result, the signal will reflect off anything
in in the signal’s path and will be listened to by the sensor. Since the frequency of the signal
is known and can be measured, then the wavelength is known. The distance can be
calculated using the time it took to transmit back to the sensor and the wavelength. Another
option to use would be an infrared sensor that can be used for motion detection as well as
serving as a proximity sensor. The Obstacle avoidance sensors selection is shown below in
Table 36 with reference to datasheets [A13], [A26] and [A27].

Table 36: Obstacle Avoidance Sensors Selection


HC-SR04 Ultrasonic Arduino IR
PING Ultrasonic
Ranging Module Collision
Module [A26[
[A13] Avoidance [A27]
Manufacturer Arduino Parallax Gikfun
Price $2.50 $18.00 $7.98
Size 42x20x15mm 22x46x16mm 3.7x2.8x1.2in
-Min. range of 2cm -Minimum range of -Minimum range
-Max. range of 4m 2cm of 2cm
-Sends out eight -3 meters of accuracy -Maximum range
Key Elements
40kHz frequency -Operates at a 40kHz of 30cm
signals short ultrasonic bursts -Operates using
-Operates using sonar -Operates using sonar Infrared
This part highlighted was selected due to the lower costs, high
Part Selected
maximum range and accuracy

3.2.13.1 HC-SR04 Ultrasonic Ranging Module [46]

The HC-SR04 Ultrasonic Ranging Module includes ultrasonic transmitters, receivers and
control circuit. It is manufactured by Arduino and costs $2.50. The IO trigger will be used
for at least 10us high level signals. The module will automatically send eight 40kHz
frequency signals and detect if a pulse signal is sent back. When an object is detected, it
will send the pulse signal back as a high-level signal. The time of high output IO duration
is the time from when the signal was sent to when the signal was returned. This model has
four pins that includes a 5 Volt power supply, trigger pulse input, echo pulse output and
ground. It has a working voltage of 5 Volts DC, working current of 15mA, working

64
frequency of 40Hz, a maximum range of 4 meters and a minimum range of 2 centimeters.
The Trigger Input signal is a 10 micro second TTL pulse and the Echo Output signal is
proportional to the input signal. This is the ultrasonic sensor, in Figure 27, that will be used
in this project as shown below.

Figure 27: HC-SR04 Ultrasonic Sensor picture taken by Brandei Dieter

3.2.13.2 PING by Parallax [47]

The PING sensor manufactured by Parallax provides a pulse in, and a pulse out. It is
manufactured by Parallax and costs $18.00. It operates at a working current of 20mA. The
range is a minimum of 2 centimeters to a maximum of 3 meters of accuracy. The supply
voltage for this device is 5V. It will operate at a frequency of 40KHz short ultrasonic bursts
to measure the distance between itself and any obstructions in its path. Some issues with
this sensor are reflective surfaces and poor positioning. This part was not selected due to
the higher costs.

3.2.13.3 Arduino Infrared Collision Avoidance Module [48]

The Arduino Infrared Collision Avoidance Module operates using Infrared. It has a range
of 2 to 30 centimeters. It is manufactured by Gikfun at a cost of $7.98. It consists of an
infrared transmitter and an infrared detector. It uses a LM393 comparator and has an
operating voltage range of 3.3 to 5 Volts. It has two digital output interfaces. The light
sensors are adaptable to the environment but does not do well in dark areas. This is not
ideal for this project due to customer’s desires of the grass cutter being able to run at any
time throughout the day.

3.2.14 Battery Charge Sensors Selection


In Senior Design II, the battery charge sensors were not used anymore due to the batteries
being able to be monitored while charging through the battery charger. The battery charge
sensors are necessary to monitor the battery charge percent left for the motor’s battery. The
motors battery only needs to be monitored due to the high-power usage. The electrical
component’s battery and the perimeter wire generator battery will last long after the motors
battery has run out of charge. When the charge gets below a certain percentage, around
30%, the system will send off a ping of the location. This is done so the user can go have
the batteries charged. The battery charge sensor selection is shown below in Table 37 with
reference to datasheet [A16].

65
Table 37: Battery Charge Sensors Selection
MAX17043 Fuel Gauge [A16] BQ27441-G1 Fuel Gauge [A28]
Manufacturer Robotshop.com Texas Instruments
Price $9.95 $19.95
Size 8-Pin, 2mm x 3mm 12-pin, 2.50 mm × 4.00 mm
-Compatible with Lithium-Ion -Compatible with single cell
and Lithium-Polymer Batteries lithium-Ion batteries
-Compatible with single cell or -Maximum voltage rating is
two cell batteries roughly 5V
Key Elements -High efficiency -Reports battery capacity
-Max. voltage rating is 12V remaining and state of charge
-Low battery alert signal -Temp range -40 to +85 degrees
-Temp range -20 to +70 degrees Celsius
Celsius
Part Selected This device was not used anymore in Senior Design II.

3.2.14.1 MAX17043 Fuel Gauge Power Management Board [49]

The MAX17043 Fuel gauge power management evaluation board are ultra-compact, low-
cost, host-side fuel gauge systems for lithium ion batteries. It is manufactured by Spark
Fun Electronics and costs $9.95 from Robotshop.com. It requires a supply voltage of 2.5-
4.5 Volts. It has a SCL clock frequency of 0-400kHz. The precision voltage measurement
is ±12.5mV accuracy to 5-Volts. It has no offset accumulation on measurements, no full-
to-empty battery relearning necessary and no sense resistor required. It has 1 cell host-
side/battery-side fuel gauging. They cost on an average of $9.95 from Robotshop.com. This
device is ideal for this project due to the low power consumption, high capabilities,
specifications and capability of monitoring Lithium Ion batteries that will be used in this
project. This device is shown below in Figure 28.

Figure 28: MAX17043 Fuel Gauge Power Management Board picture taken by Brandei Dieter

3.2.14.2 BQ27441-G1 System-Side Impedance Track Fuel Gauge [50]

Texas Instruments manufactures the BQ27441-G1 fuel gauge using patented Impedance
Track technology. The board reports remaining battery capacity and the state of charge.
This information can be found on the products datasheet located on the Texas Instruments
website. The small 12-pin, 2.50 mm × 4.00 mm fuel gauge microcontroller board is used
for single-cell lithium Ion batteries. The maximum input voltage for this battery fuel gauge
is roughly 5V and the board also regulates an output voltage of 1.8V. The fuel gauge board
is to be directly connected to the battery source and can be connected to battery packs as

66
well as embedded batteries. The price to purchase this board from Digikey is $19.95.
Although this board has great specifications for this project, it has a higher cost than the
previous battery charge sensor module.

3.2.15 Digital Compass and GPS Module Selection


The digital compass and GPS Module are necessary for the position and location of the
Grass Cutter. It will be needed to ping the location of the grass cutter after the main system
battery has died. The considerations of selecting this module would be the accuracy,
efficiency and range of the GPS and Compass. A possible technology combination that
could be used with the digital compass and GPS module is mapping the field and obstacles
and tracking the location of the robot from the start point to get a more precise location.
This application may work in conjunction with the camera’s path planning, mapping and
self-localization to get more accurate positioning and location. The digital compass and
GPS module selection are shown below in Table 38 with reference to datasheet [A12].

Table 38: Digital Compass and GPS Module Selection


Holybro Micro M8N GPS Module RadioLink SE100 GPS
[A12] Module
Manufacturer Holybro RadioLink
Price $36.99 $30.00
Size 38x38x11mm 48.5x48.5x15.3mm
-167 dBm navigation sensitivity -167 dBm sensitivity
-Update rate up to 10Hz -Cold starts at 26s
-Cold starts at 26s -Hot starts at 1s
-LNA MAX2659ELT+ -Max Update rate up to 18Hz
-Rechargeable 3 Volt backup battery -2.5 dbI High gain and
Key Elements for warm starts selectivity ceramic antenna
-Low noise 3.3 Volt regulator -MMIC BGA715L7 IC
-HMC5983L Built-in Compass Power Amplifier
-Ceramic Path Antenna -SAWF double filter
-Radiolink M8N GPS with U-
Blox UBX-M8030(M8)
This part highlighted was selected due to the backup lithium ion
Part Selected battery for the GPS module that is required in this project and
specifications of this device.

3.2.15.1 Holybro Micro M8N GPS Module

The Holybro Micro M8N GPS Module includes an industry leading -167 dBm navigation
sensitivity, navigation update rate up to 10Hz, rechargeable 3 Volt lithium backup battery,
low noise 3.3V regulator, power and fix indicator LEDs, 15cm PIXFALCONµAPM
compatible 6-pin cable, 25x25x4mm ceramic patch antenna and an LNA MAX2659ELT+.
This new design incorporates the HMC5983L digital compass that uses the Ublox latest
8series module providing a convenient method of mounting the compass away from source
of interferences from surrounding devices. This device costs an average of $36.99. In

67
Senior Design II, this GPS module was still used to ping the location of the grass cutter
system when needed. This is used to find the robot once the main battery is about to die
and the robot is not in use. This is the device that will be used in this project for location
and position, shown below in Figure 29.

Figure 29: Holybro Micro M8N GPS Module picture taken by Brandei Dieter

3.2.15.2 RadioLink SE100 GPS Module

The RadioLink SE100 GPS Module has GPS decode chips of the RadioLink M8N GPS
with U-Bloc UBX-M8030 (M8), 72-channels and a MMIC BGA715L7 Power amplifier.
This design includes a geomagnetic HMC5983. It has a 50-centimeter position accuracy,
positions 20 satellites in 6 seconds at open ground and a valley station-keeping ability.
Although the specifications of this device are quite good, the need of a backup battery to
ping of the location is needed for this project.

3.2.16 Wireless Chip Selection


In Senior Design II, the wireless chip was not used due to the computer science team no
longer needing Wi-Fi. The web server can be accessed directly through the Odroid-XU4.
This was originally going to be used for the laptop application but the computer science
team changed to a web server that can be accessed through a local host that will ping the
location using the GPS module and show the location on a map powered through google
maps. The wireless chip selection is vital to this project to communicate information to and
from the laptop application. The wireless chip should provide a longer range of the Wi-Fi
module on the Raspberry Pi 3 Model B Development board. The on-board Wi-Fi module
on the Raspberry Pi 3 Model B has an unreliable short-range wireless communication. This
wireless chip should boost the signal to a range of at least 50 feet from the grass cutter to
the laptop application. It should be able to transmit and receive all the data needed from
the grass cutter robot to the laptop application. The Wireless Chip Selection is shown below
in Table 39 with reference to datasheet [A15].

68
Table 39: Wireless Chip Selection
USB Wi-Fi Module with
GP-Xtreme Mini Compact USB
Antenna for Raspberry Pi
2.0 N [51]
[A17]
Manufacturer Adafruit.com GP-Thunder
Price $19.95 $9.99
Antenna Length of 150mm
Size Sticks out 48mm beyond USB 19x11x6mm
port
-Mini USB Wi-Fi Adapter
-High speed USB 2.0/1.1
-802.11b/g/n WLAN USB
Interface
adapter
-Data rate up to 150Mbps
-Supports up to 150Mbps high-
downlink and uplink
speed wireless network
-Frequency band of 2.5GHz ISM
connections
-Data security 64/128-bit WEP
Key Elements -Supports 802.11i (WPA, WPA2)
Encryption
-Supports 802.11e Qos
-Supports wireless roaming, data
Enhancement (WMM)
rate auto fallback under noisy
-Supports 802.11h TPC,
environments and longer-range
Spectrum Measurement
distance
-Ultra compact size
-Compatible with Raspberry Pi
-Compatible with Raspberry Pi
Part Selected This part was no longer used in Senior Design II.

3.2.16.1 USB Wi-Fi Module with Antenna for Raspberry Pi [52]

The USB Wi-Fi Module comes with an antenna to boost the signal range. The wireless
chip is about the size of a quarter, not including the antenna. This chip has a range coverage
up to three times farther than 802.11g. It supports 14 universal domain radio channels. It
has full mobility and seamless roaming from cell to cell. It has an antenna length of 150mm,
sticks out 48mm beyond the USB port, and weighs 6 grams. This module uses the
RTL8192cu Chipset. It follows the wireless standards of IEEE 802.11n, IEEE 802.11g and
IEEE 802.11b. It has a high-speed USB 2.0/1.1 interface, frequency band of 2.4GHz ISM,
RF frequency of 2412-2462 MHz in North America, an RF output power of 13-17 dBm
and 64/128-bit WEP security encryption. The advantages are the low costs, security, high
range and quality. This module costs $19.95 from adafruit.com. This is the wireless chip
that will be used in this project.

3.2.16.2 GP-Xtreme Mini Compact USB 2.0 N [51]

The GP-Xtreme Mini Compact USB 2.0N is a wireless chip with an antenna built-in. This
chip has an antenna that can transmit greater than 305mA and receive less than 190mA. It
is about the size of a penny. This module uses the Ralink RT5370 RF chipset. It supports
up to 150Mbps high-speed wireless network connections. This wireless chip has an
operating range up to 300 meters depending on the environment it is in. It operates at a
frequency range of 2.412 to 2.484 GHz. It follows the wireless standards of IEEE 802.11b,

69
IEEE 802.11g and IEEE 802.11n. It supports 64/128bit WEP encryption security types.
Although this would be ideal, the above choice has a greater range which would be more
ideal in the solar farms.

3.2.17 Motor Driver Chip Selection


In Senior Design II, the VNH7100AS was selected due to the higher current load to operate
the motors. The original choices had too low of a current rating which was not ideal to run
the big load of the wheels and robot. The Motor Driver Chip Selection is a crucial element
for the control of the motors to power the string-based blades and rear wheels. The need of
H-bridges is needed to control the motors bi-directionally. They should be capable of
controlling at least 2 DC motors bi-directionally and independently. The elements that
should be considered are the number DC motors it can control, the compatibilities of
controlling the motors bi-directionally, what loads it can handle, the current limits and
voltage specifications needed. The Motor Driver Chip Selection is shown below in Table
40 with reference to datasheet [A4].

Table 40: Motor Driver Chip Selection


VNH7100AS Motor L293DNE Motor DRV8432 Motor
Driver Driver [A4] Driver [53]
Manufacturer Texas Instruments Texas Instruments
Price $4.65 $3.34 $10.75
Size 9.90x6.00mm 19.8x6.35mm 15.9x11mm
-Automotive Qualified
-Maximum Operating -Quadruple Half-H
-High-Efficiency
Voltage of 41 V Drivers
Power Stage up to
-Output Current of 15A -Each pair of
97%
-PWM operation up to drivers form a full-
-Maximum Operating
20kHz H (or bridge)
Voltage of 52 V
-5 Multi-sense -Reversible drive
-Up to 2x7Amp
diagnostic functions suitable for motor
Continuous Output
-Half-bridge and Multi- applications
Current with a
Key Elements Motors Configuration -Drive two DC
2x12Amp Peak
-Incorporates a dual motors bi-
Current in Dual Full-
monolithic high-side directionally
Bridge Mode
driver and two low-side -Control motors
-Undervoltage,
switches speeds and motors
Overtemperature,
-Can monitor motor voltages from 4.5
Overload and Short
current by delivering a to 36 V
Circuit Protection
current proportional to -Function table to
the motor current value control motors

This motor driver highlighted was selected due to the specifications,


Part Selected higher current output, higher voltage ratings and compatibilities
needed to drive the DC motors for this project.

70
3.2.17.1 VNH7100AS Motor Driver Chip

The VNH7100AS Automotive Fully Integrated H-Bridge Motor Driver was selected over
the other motor drivers mainly due to the higher current ratings per channel. It is a
automotive qualified device that incorporates a dual monolithic high-side driver and two
low-side switches. This device has a maximum operating voltage of 41-Volts and a PWM
operation up to 20kHZ. This device also has the capabilities of monitoring the motor
currents by delivering a current proportional to the motor current value to the analog pins
on the ATMEGA2560. It also includes five multi-sense diagnostic functions and
protections such as over-current and over-voltage shut off. This device is shown below in
Figure 30 and referenced from Mouser.com.

Figure 30: VNH7100AS Motor Driver Chip with reference to Mouser.com

3.2.17.2 L293DNE Motor Driver Chip [54]

The L293DNE Motor Driver Chip contains quadruple Half-H drivers or two full H-
Bridges. It can drive two DC motors bi-directionally with a current limit of 600mA. Some
applications that it supports are DC motor drivers, stepper motor drivers and latching relay
drivers. It can control the motors speed and motor voltages from 4.5 to 36 Volts. There is
internal ESD protection and high-noise-immunity inputs. Each output of the motor driver
is a complete totem-pole drive circuit that includes a Darlington transistor sink and a
pseudo-Darlington source. There are six inputs and three outputs in the function table of
each driver. The inputs include H(High level), L(Low level) and X(Irrelevant) states. The
outputs include H(High level), L(Low level) and Z(High impedance-off) states. Using this
function table, the motor driver will send the outputs to the DC motors and control the
speed, operation and direction. In the case of thermal shutdown mode, the output is in the
Z state regardless of what the input state is.

3.2.17.3 DRV8432 DC Motor Driver IC [53]

The DRV8432 DC Motor Driver IC features a dual Full-Bridge current-controlled motor


driver. It has an operating supply voltage range up to 52 Volts. It can handle up to 2x7-
Amps of continuous output current and 2x12-Amp peak current in Dual Full-Bridge Mode.
It has protections of undervoltage, overtemperature, overload and short circuit protection.
It has a five-bit winding current control that allows up to 32 different current levels.
Although the specifications of this driver are quite good, the need of this driver to control
multiple DC motors at once is not ideal.

71
3.2.18 Wheel DC Motors Selection
In Senior Design II, the wheel motors upgraded to the DC planetary gear brush motors
since the previous wheels tested did not have enough torque for the load applied. The wheel
DC Motors Selection is a crucial element for the motion and navigation of the grass cutter.
They should be capable of handling a large load, high torque specifications and low power
consumption. The wheel DC motors selection is shown below in Table 41.

Table 41: Wheel DC Motors Selection


DC Planetary Gear Brush Cytron 12V
DC 12V/180RPM
Motor Spur Gear
Geared Motor [55]
Motor [56]
Robot Zone Cytron
Manufacturer Banggood.com
Technologies
Price $59.99 $12.68 $14.61
Size 38mmDx97.6mmL Not Available Not Available
-12V Operating Voltage
-No-load speed of 23 RPM -High rated
-Rated-Load Current 1.2A -High rated torque of torque of 194
-Max Stall current 20A 27.0 Kg-cm oz-in
Key Elements -Torque of 260 lb-in -Low rated speed of -Low rated
-Reduction Ratio of 1:369 120 RPMs speed of 12.5
-6mm D-Type Output Shaft -Low costs RPMs
-12mm Output Shaft Length -Low costs
-Bidirectional Capability
This part highlighted was selected due to the higher torque, low
Part Selected
speed, low power and specifications.

3.2.18.1 Robot Zone DC Planetary Gear Brush Motor

The DC planetary gear brush motor can handle a significant amount more force than the
other DC motors compared. This motor has a torque rating of 260lb-in which with 10-inch
wheels allows for support for over 60 pounds per motor. This motor operates at a maximum
of 23 RPM and a rated-load current of 1.2A. At a maximum load, the maximum stall
current is 20A. This is a significant amount of current that requires high rated motor drivers
to effectively control these DC motors. These motors require significant power to operate
which is why one battery operates these two motors to operate the front wheels and able to
handle the weight of the robot. In Senior Design II, the weight of the robot increased due
to the mechanical teams want to use heavy duty front wheels and caster wheels to
efficiently navigate through the uneven, grass terrain. These motors are operating the two
10-inch diameter no air wheels. This motor has a bidirectional capability that allow for
motions of forward, reverse, left and right. It also includes encoders that were used to aide
in the odometry software. These encoders signals were sent to the digital pins on the
ATMEGA2560 and further processed to the Odroid-XU4 into the path planning and
odometry software. This motor used for the two front wheels is shown below in Figure 31.

72
Figure 31: DC Planetary Gear Brush Motor used with permission from Robotshop.com

3.2.18.2 DC 12V 180RPM Geared Motor [55]

The DC 12V 180RPM Geared Motor is manufactured by banggood.com. It has an input


voltage of 12 Volts and retarder reduction ratio of 1:90. It has a rated torque of 27.0 Kg-
cm and rated speed of 120 RPMs. This motor choice is ideal for the low costs, high torque,
low speed, low power consumption and meets the specifications needed for the wheel
motors. This motor costs $12.68 from Banggood.com.

3.2.18.3 Cytron 12V Spur Gear Motor [56]

The Cytron 12-Volt Spur Gear Motors are manufactured by Cytron Technologies. It has a
gear ratio of 270:1, nominal voltage rating of 12-Volts, rated torque of 194 oz-in and a
rated RPM of 12.5. The D-Shaped shaft type is a perfect type for the wheel shaft adapters
included with the Dagu Wild Thumper Wheels. Each motor is priced at $14.61 each.
Although these specifications are good, it does not have enough torque needed for this
project’s applications.

3.2.19 String-Based Blades DC Motors Selection


In Senior Design II, the blade motor selection changed to the XD-3420 Permanent Magnet
DC motors. Three of these motors were used to effectively cut the grass and not miss any
areas due to the triangular orientation of the motor placements. The string-based blade DC
Motors Selection is a crucial element for the rotating motion to cut the grass to an
acceptable height across the terrain of a Solar Farm. They should be capable of handling a
large load, high torque specifications and low power consumption. The DC motors need to
rotate at around 3000 rpm for the nylon string-based blade to effectively and efficiently cut
grass. The longer the string, the less force it will output to cut the grass. The DC Gear
motors should maintain an average of 3000rpm to efficiently cut the grass. Three DC
motors are going to be designed onto the grass-cutter robot in a triangular orientation
attached to the frame of the robot. With three motors working independently, the edges and
middle of the grass area relative to the robot will be cut. The power supply will support the
DC motors with enough power to cut the grass efficiently. The String-Based Blades DC
Motors selection is shown below in Table 42.

73
Table 42: String-Based Blades DC Motors Selection
XD-3420 Permanent Machifit 895 DC RS-775 DC Gear
Magnet DC Motor Gear Motor [57] Motor [58]
Manufacturer Guang Wan Machifit Robotshop.com
Price $26.29 $15.99 $10.00
Size 50.8x114.3mm Not Available 46Dx66.5L mm
-12V Operating Voltage
-High Torque
-No-Load Speed of
-Shaft Diameter -Shaft Diameter
3000rpm
of 5mm of 5mm
-No-Load Current of 2.42A
-Rated voltage of - Rated voltage of
-Rated Revolution of
12-24 V 12V
Key Elements 3000rpm
-Rated speed of -Rated speed of
-Rated Current of 3.1A
3000 rpm 6070 rpm
-Rated Power of 30W
-Rated torque of -Rated torque of
-Copper Wire Stator
0.5099458 N-m 10 oz-in
Windings
-CW/CCW Control

This part highlighted was selected due to the availability, high torque,
Part Selected
low speed and low power specifications.

3.2.19.1 XD-3420 Permanent Magnet DC Motors

In Senior Design II, the XD-3420 Permanent Magnet DC Motors were selected to operate
the string-based nylon blades to cut the grass. Three of these motors were used. They have
an operating voltage of 12-Volts at 3000 RPM. At no-load, these motors pull a current of
2.42A and have a rated current of 3.1A at a rated power of 30W. These motors are bi-
directional but only a clockwise motion was used to cut the grass. These powerful motors
have an anatomy of copper wire stator windings. These are the motors that were selected
for this project and are shown below with reference to Amazon.com in Figure 32.

Figure 32: XD-3420 Permanent Magnet DC Motors with reference to Amazon.com

74
3.2.19.2 Machifit 895 DC Gear Motor [57]

The Machifit 895 DC Gear Motor is manufactured by Machifit. It has a rated voltage of
12-24Volts. For this application, 12 Volts will be used with a rated speed of 3000rpm,
0.5099458 Nm of torque, shaft diameter of 5mm and rated power of 200 Watts. To cut the
grass with enough force, it will require a high torque motor that can handle a high load.
Each motor is priced at $15.99 each. This motor is a good consideration and has enough
torque and force to cut the grass. This is the motor that was not in stock when it came to
buy the parts but is shown in Figure 33 below.

Figure 33: 895 DC Gear Motor used with permission from Banggood.com [57]

3.2.19.3 RS-775 DC Gear Motor [58]

The RS-775 DC Gear Motor is a high power and torque motor with vent holes. It is
manufactured from Robotshop.com. It has an acceptable voltage of 6-30 Volts. It has a
shaft diameter of 5mm and a shaft length of 16mm. At max power output, the power
efficiency is 47.38%, torque of 361.51 mNm, speed of 4150 RPM, current of 13.822 A and
output power of 157.21 Watts. These specifications are a good candidate for the
specifications needed for the String-Based Blade motors, but the Machifit 895 DC Gear
Motor is a better choice.

3.2.20 Voltage Regulators Selection


Voltage regulators are used to generate a fixed output voltage that remains constant
regardless of the changes to its input voltage or load conditions. It is necessary to regulate
the voltage from the batteries to the components. High efficiency is required to avoid
power losses. In Senior Design II, three voltage regulators were used. This includes a 12-
Volt to 5-Volt conversion to power the PCB, there is a 5-Volt to 3.3-Volt conversion to
power the lower power components and a 12-Volt to 5-Volt, 4-Amps to power the Odroid-
XU4. The 12-Volt to 5-Volt conversion for the PCB also powers the low voltage
components such as the ultrasonic sensors, operational amplifier and the GPS module. The
12-Volts input on the voltage regulators are powered straight from a 12-Volt Ovonic
battery. For the PCB, it is connected by a 2.1mm DC power jack. The 5-Volt to 3.3-Volt
conversion is done through the wiring on the PCB. For the Odroid, it is connected by a
dean T-plug connector from the 12-Volt Ovonic battery and it outputs to the Odroid by a
dean T-plug connector to a 2.1mm DC power jack wire connector. Voltage Regulators
selection is shown below in Table 43 with reference to datasheets [A21] and [A7].

75
Table 43: Voltage Regulators Selection
LMZ31506 LM2596- LD1117S50CT
Power ADJ Step- R Low-Drop LP2985 Low-
Module DC- Down Positive Noise Low-
DC Voltage Voltage Dropout
Converter Regulator Regulator Regulator
[A21]
Texas Texas STMicroelectro Texas
Manufacturer
Instruments Instruments nics Instruments
Price $11.76 $4.73 $0.41 $0.58
15.2x9.2x2.9 367x367x45m 6.5x3.5x1.8mm
Size 367x367x45mm
mm m
-Greater than -Greater than -Low dropout -Ultra-low
92.5% 80% efficient voltage (1V dropout at
efficient -3.3 V, 5V, typ.) 280mV at Full
-Adjustable 12V and -Output current Load of 150mA
output Adjustable up to 800mA and 7mV at
versions from output -Fixed output 1mA
0.6-5.5V versions voltages of -Maximum
-Adjustable available 1.2V, 1.8V, voltage input
Switching -150kHz 2.5V, 3.3V and range up to 16-
Frequencies Fixed- 5V Volts
of 250- Frequency -Internal current -Overcurrent
780kHz Internal and thermal and thermal
-High Oscillator limit protection
Key Elements
efficiency at -Low power -Supply voltage -Available in
5-V, 4A standby mode rejection at 75 voltages of
output ~80µA dB (typ.) 1.8V, 2.5V,
-Offers -Current-limit -High efficiency 2.8V, 2.9V, 3V,
Flexibility and Thermal is assured by a 3.1V, 3.3V, 5V
and feature- Shutdown NPN pass and 10V
set of a protection transistor -Output
discrete point- -On-card tolerance of 1%
of-load design switching
-Over-Current regulators
and -Maximum
Temperature 3A output
Protection load current
These parts highlighted were selected due to the higher power
Part Selected efficiency percentage, adjustable outputs, more capabilities and
specifications.

3.2.20.1 LMZ31506 Power Module DC-DC Converter

The LMZ31506 Power Module DC-DC Converter was selected to power the Odroid-XU4
with a 5-Volt, 4-Amp output. This device has high efficiency up to 96%. It has a wide
output voltage adjust from 0.6-5.5V and adjustable switching frequencies from 250kHz to
76
780kHz. It has many protection capabilities such as output voltage sequencing/tracking,
programmable undervoltage lockout, output overcurrent protection, over-temperature
protection and adjustable slow-start. This device combines a 6A DC-DC converter with
power MOSFETs, a shielded inductor and passives into a QFN package that allows for
very few external components and requires no use of loop compensation and magnetics
parts. This is the device that was used for this project referenced from Mouser.com shown
below in Figure 34.

Figure 34: LMZ31506 Power Module DC-DC Converter referenced from Mouser.com

3.2.20.2 LD1117S50CTR Low-Drop Positive Voltage Regulator

The LD1117S50CTR Low-Drop Positive Voltage Regulator was selected to step-down the
voltage from the 12-Volt battery to the PCB and related components. This device has a low
dropout voltage of typically 1-Volt and an output current up to 800mA. It has many fixed
output voltage choices from 1.2-5-Volts. This device provides high efficiency by the NPN
pass transistor. There are internal current and thermal limits as protection protocols. This
is the device that was used for this project referenced from Mouser.com shown below in
Figure 35.

Figure 35: LD1117S50CTR Low-Drop Positive Voltage Regulator referenced from Mouser.com

3.2.20.3 LP2985 Low-Noise Low-Dropout Regulator

The LP2985 Low-Noise Low-Dropout Regulator was selected to step-down the voltage
from 5-Volts to 3.3-Volts to power the lower voltage components if needed. This device
has a output tolerance of 1% and an ultra-low dropout typically at 280mV at a full load of
150mA and 7mV at 1mA. It has a maximum input voltage range up to 16-Volts and a low
noise of 30 micro-volts RMS with a 10nF bypass capacitor. It has a wide range of output
voltages from 1.8-10-Volts. It is capable of outputting 150mA of continuous output load
current. This is the device that was used for this project referenced from Mouser.com
shown below in Figure 36.

Figure 36: LP2985 Low-Noise Low-Dropout Regulator referenced from Mouser.com

77
3.2.20.4 LM2596S-ADJ Step-Down Voltage Regulator [59]

This information was provided by the datasheet from Texas Instruments of the LM2596
Simple Switched Power Converter 150-kHz 3-A Step-Down Voltage Regulator. This
device is manufactured by Texas Instruments and costs $4.73. The power efficiency ranges
from 80-86%. The LM2596S-ADJ Step-Down Voltage Regulator has an adjustable output
version of 3.3, 5, and 12- Volts. The input is a 12 Volt unregulated DC input. It operates at
a switching frequency of 150kHz. This package has a 3-A output load current and an input
voltage range of up to 40 Volts. The advantages of this chip are the high efficiency, low
costs, thermal shutdown and current-limit protections.

3.2.21 DC Motors Battery Selection


In Senior Design II, one of the Ovonic 11.1V LiPo batteries was used to power both the
wheel motors and one of the Ovonic batteries was used to power three of the blade motors.
The DC Motors battery selection will be selected upon the considerations of high Watt-
Hours, low-costs, high efficiency, and high cycle life. The proposed Watt-Hours of the
battery should be between the range of 800-1500Watt-Hours. The selection details are
shown below in the subchapters. The motors battery must have high Watt-Hours due to it
supporting 5 DC motors. The DC Motors Battery selection is shown below in Table 44.

Table 44: DC Motors Battery Selection


DMD BMS DMD
100Ah/12V Dry 100Ah/12V Li-
Ovonic 11.1V LiPo Battery
Cell Li-Ion Ion Battery
Battery [60] [61]
Manufacturer Ovonic DMD DMD
Price $49.99 $180.00 $169.00
Size 130x40x31mm 346x262x62mm 260x260x60mm
-11.1V LiPo Battery -Mid-Range -Lower Costs
-High Discharge Rate of 50C Costs -Seven smart
-3 Series -Seven smart security
-Single Cell of Capacity to security features features
Key Elements reach 8000mAh -Cycle life of -Cycle life of
-Deans Plug Connection 1800 or more 2000 times or
-Weighs 0.93476 pounds times more times
-Widely used for RC cars and
4WD Racing Trucks
This battery highlighted was selected due to the low costs, portability,
Part Selected
and specifications of power.

3.2.21.1 Ovonic 11.1V LiPo Battery

In Senior Design II, two of the Ovonic LiPo batteries were selected to power the two dc
wheel motors and three dc blade motors. These batteries provide a high discharge rate of
50C and a battery capacity of 8000mAh. This battery is composed of 3 series and have

78
dean T-plug connectors to connect to the PCB to power the motors. This battery is light
weight, efficient and lasts long enough for this application. This battery is referenced from
Amazon.com and is shown below in Figure 37.

Figure 37: Ovonic 11.1V LiPo Battery referenced from Amazon.com

3.2.21.2 DMD BMS 100Ah/12V Dry Cell Lithium Ion Battery [60]

The DMD Lithium Ion battery has a nominal voltage of 12 Volts and 100 Ah. It includes
smart security features of over-temperature protection, over-current protection, over-
voltage protection, overload protection, reverse protection, short circuit protection and low
voltage protection. This battery includes a charging system with a charge current of
10A/Flash charge. The cycle life is greater than 1800 times. The battery will automatically
cut down when discharged to 9 Volts. The advantages of this battery are the power indicator
shown on the battery, charging terminals, power on/off switch, light weight, portable and
relatively low costs. This battery costs $180.00 from Alibaba.com.

3.2.21.3 DMD 100AH/12V Lithium Ion Battery [61]

The DMD Lithium Ion Battery has a nominal voltage of 12 Volts and 100 Ah. It includes
smart security features of over-voltage, over-charge, short circuit, over-charge, over-
temperature, over-discharge and over-power. This battery includes a charging system with
a charge current of 5A. It has a large battery capacity and persistent output of 80%. The
cycle life is 2000 times. The advantages of this battery are the large battery capacity, light
weight, portable, charging terminals and relatively low costs. This battery costs $169.00
from Alibaba.com. Due to the higher cycle life and lower costs than the other batteries
compared, this battery was a good consideration but not reliable shipping from China.

3.2.22 Electrical Components Battery Selection


In Senior Design II, two of the Ovonic 11.1V LiPo batteries were used to power the
electrical components and system. This includes the PCB, ultrasonic sensors, GPS module,
operational amplifier, Odroid-XU4, RPLidar and related components. The electrical
components battery will power all the electrical components even after the DC motors
battery has died. The purpose of this battery is to ping the location to the web server after
the DC motors battery has died to have the grass cutter found and charged. The Electrical
Components Battery Selection is shown below in Table 45.

79
Table 45: Electrical Components Battery Selection
Shenzhen Yinkai Power
Ovonic 11.1V LiPo
20Ah/12V Li-Po 20Ah/12V Li-Ion
Battery
Battery [62] Battery [63]
Manufacturer Ovonic Shenzhen Yinkai Power
Price $49.99 $59.00 $50.00
Size 130x40x31mm Not available Not available
-11.1V LiPo Battery
-High Discharge Rate of -Highest Cost
-Lowest Cost
50C -5 Smart security
-Designed to operate
-3 Series features
outside
-Single Cell of Capacity -Portable
-High performance
Key Elements to reach 8000mAh -Cycle life of 800
-Low maintenance
-Deans Plug Connection or more times
(no acid or water)
-Weighs 0.93476 pounds -Greater than 60%
-Cycle life of 800 or
-Widely used for RC of the original
more times
cars and 4WD Racing capacity
Trucks
This battery highlighted was selected due to the specifications, lower
Part Selected costs, lower maintenance and designed to operate in outside
conditions.

3.2.22.1 Ovonic 11.1V LiPo Battery

In Senior Design II, two of the Ovonic LiPo batteries were selected to power the PCB,
Odroid-XU4 and related components. This battery directly powers the PCB through a 12-
Volt to 5-Volt regulator and then to a 3.3-Volt regulator. It also directly powers the Odroid-
XU4 through a 12-Volt to 5-Volt, 4-Amp regulator. These batteries provide a high
discharge rate of 50C and a battery capacity of 8000mAh. This battery is light weight,
efficient and lasts long enough for this application. This battery is referenced from
Amazon.com and is shown below in Figure 38.

Figure 38: Ovonic 11.1V LiPo Battery referenced from Amazon.com

3.2.22.2 Shenzhen 20Ah/12V Lithium Polymer Battery [62]

The Shenzhen Lithium polymer battery has a nominal voltage of 12 Volts and 20Ah. It
includes smart security features of over-discharge protection, over-current protection,
over-charge protection, over-temperature protection and secondary protection. This battery

80
is compatible for applications such as digital products, portable electronics, and electrical
applications. It has a cycle life greater than 800 cycles and greater than 60% of the original
capacity. The advantages of this battery are the light-weight, portability, and low-costs.
This battery costs $59.00 from Alibaba.com.

3.2.22.3 Yinkai Power 20Ah/12V Lithium Ion Battery [63]

The Yinkai Power Lithium Ion battery has a nominal voltage of 12 volts and 20 Ah. It has
a long life, large capacity, good shock resistance, low self-discharge, good discharge
performance at low temperatures, strong charging acceptance, quick-charging capabilities,
strong over-discharge resistance and charge retention. The advantages of this battery are
the low-costs, low maintenance (no acid or water maintenance), environmentally friendly,
light weight, and very safe (no explosions or fire). This battery has been through several
tests that include the aging test, charging-discharging test, pull out test and the loop test.
This battery is compatible for applications such as lights, outdoor sports products, customer
electronics, home appliances, electric transportation vehicles, GPS and power tools. This
battery has a cycle life of 800 times or more. This battery costs $50.00 from Alibaba.com.
Although this was a good choice, batteries from China may have been unreliable and costs
the same as a battery from the United States.

3.2.23 Perimeter Wire Battery Selection


In Senior Design II, the 3.7V MXJO Lithium Ion battery was selected over the other two
options looked at. The Perimeter Boundary Battery will power the Perimeter Boundary
System. The purpose of this battery is to power the circuit that will send the signals through
the perimeter wire to act as a virtual fence. It will mainly need to power the 555 Timer that
is generating the square wave output. The Perimeter Wire Battery selection is shown below
in Table 46.

Table 46: Perimeter Wire Battery Selection


3.7V MXJO
DTP 10Ah/12V Li-Po Great Max 10Ah/12V
Lithium Ion
Battery [64] Li-Po Battery [65]
Battery
Manufacturer MXJO DTP Great Max
Price $10.00 $20.00 $13.00
Size 65mmLx18mmD As requested Not available
-Current rating of -Highest Cost
-Lowest Cost
20A -Cycle life of 500
-Cycle life of 500 times
-3.7V Lithium times or more
or more 70% DOD
Ion -Charge current of
Key Elements -Discharge current of
-3500mAh 0.5C
1C
battery capacity -Grade A Cells
-Designed for outside
-Designed for outside
conditions
conditions
This battery highlighted was selected due to the lower costs,
Part Selected
specifications and portability.

81
3.2.23.1 3.7V MXJO Lithium Ion Battery

In Senior Design II, the 3.7V MXJO Lithium Ion battery was selected due to its low costs
and low voltage rating. Through research, a 12-Volt battery was not needed anymore. This
battery has a current rating of 20A, a voltage rating of 3.7V and a battery capacity of
3500mAh. This is the battery that was used to power the perimeter generator circuit and is
shown below in Figure 39.

Figure 39: 3.7V MXJO Lithium Ion Battery taken by Brandei Dieter

3.2.23.2 DTP 10Ah/12V Lithium Polymer Battery [64]

The DTP Lithium Polymer Battery has a nominal voltage of 12 Volts and 10Ah. It has a
cycle life of more than 500 cycles. It has a charge current of 0.5C and discharge current of
1C. This battery is compatible for applications such as solar street lamps, emergency
starting, VR and other electronic products, digital products and electric scooters. The
advantages of this battery are the low costs, portable, light weight, grade A cells, CE
certifications, RoHS certifications, FC certifications, UN38.3 certifications and
rechargeable. This battery costs $20.00 from Alibaba.com.

3.2.23.3 Great Max 10Ah/12V Lithium Polymer Battery [65]

The Great Max Lithium polymer battery has a nominal voltage of 12 Volts and 10 Ah. It
has a cycle life of more than 500 cycles. It has a discharge current of 1C. This battery is
compatible for applications such as electric bikes/scooters, energy storage equipment,
digital products, walkie-talkies, lights, tools, and toy cars. The advantages of this battery
are the low costs, portable, light weight, high quality, CE certificate, RoHS certificates,
UN38.3 certificates, and rechargeable. This battery costs $13.00 from Alibaba.com.
Although this was a good choice at a low cost, this battery may be unreliable shipping from
China and the shipping time would take too long.

3.2.24 Front Wheels Selection


In Senior Design II, the front wheels selected by the Mechanical Team stayed the same.
The front wheels of this project are very important for the overall locomotion of the grass
cutter. They should be capable of navigating through uneven terrain, inclines and declines.
The wheel selections should consider wheels with high traction and durability. The more
resistant the wheels from turning, the more energy required from the source to keep the
motors turning at a given rpm. If the mower is ongoing in a declined position, governing
the wheels may be required determined by the grade of the area being mowed. The selection
is shown below in Table 47 by the Mechanical team.

82
Table 47: Wheel Selection from Mechanical Team
MaxPower 335100 Lawn
Arnold Steel Wheel [67]
Mower Wheel [66]
Manufacturer MaxPower Arnold
Price $23.59 $16.77
Size 10-inch diameter 10-inch diameter
-1.75-inch thickness
-1.75-inch thickness
-80-pound load capacity
-Hard rubber tread
-0.5-inch ball bearing in hub
-ABS plastic hub
-Steel hub
-Weights 2.5 lbs.
Key Elements -Heavy
-0.5-inch shaft hole
-Air-filled
-No air required
-Smooth, sturdy ride
-Diamond Tread
-Good traction and level cutting
-Plastic Wheel
for mowers
This part highlighted was selected due to the low maintenance
Part Selected
required due to no air required and light weight.

3.2.25 Caster Wheels Selection


In Senior Design II, the caster wheel selected by the Mechanical Team stayed the same.
The caster wheels are a vital part of the 360 degree turns the grass cutter will be capable of
making. Picking the caster wheel’s material is a vital part of for the overall motion of the
rover. The caster wheels must also have a large enough diameter for the wheel to roll over
uneven terrain, allowing the caster to easily glide over obstacles rather than being driven
into the ground. The grass-cutting robot can maneuver forward/reverse with 360-degree
rotation; therefore, the caster wheels must be able to spin in any direction without adjusting
the other two synchronized wheels too far from their desired positions. The selection is
shown below in Table 48 by the Mechanical Team.

Table 48: Caster Wheel Selection by Mechanical Team


Powertec Swivel Heavy Duty Ironton Swivel Pneumatic
Caster Caster
Manufacturer Powertec Ironton
Price $19.99 $22.99
Size 6.25-inch diameter 7.563-inch diameter
-2-inch thickness
-2-inch thickness
-300-pound load capacity
-200-pound load capacity
-Hard rubber tread
Key Elements -Rubber tread
-Precision ball-bearing
-Unpainted Steel Frame
-Solid rubber wheel
-Air-filled wheel
-Weighs 5 pounds
This part highlighted was selected due to the low maintenance
Part Selected
required due to no air required and lower costs.

83
3.2.26 String-Based Blades and Trimmer Head Selection
In Senior Design II, the string-based trimmer heads were no longer used. The mechanical
team decided to design and make custom 3D printed cutter heads. The String-Based
trimmer head selection will be done by the Mechanical Engineering Team. The customer
requires the use of Nylon String-Based Blades due to safety reasons. Having a non-metal
blade for the autonomous mower reduces the risk for serious injury. This is shown below
in Table 49.

Table 49: String Trimmer Head Selection by Mechanical Team


Ball’s Home Universal Trimmer
Pivotrim Pro String Trimmer
Head
Manufacturer Pivotrim Ball’s Home
Price $10.99 $23.99
Size 4.5-inch Disc Diameter 4.92-inch Disc Diameter
-Adjustable string diameter
-Adjustable string diameter
-Fixed string trimmer head
-Threaded shaft bore size
Key Elements -Threaded shaft bore size of
M10*1.25
M10*1.25
-3-string mounting locations
-4-string mounting locations
These parts were no longer used and were designed and 3D printed
Part Selected
by the Mechanical Engineering Team.

3.2.27 Framework Material Selection


In Senior Design II, the mechanical engineering team decided to design and construct an
aluminum base plate and a plexiglass cover. This was designed for stability of the moving
robot across uneven terrain. The plexiglass cover provides protection for the electrical
system and the power system.

3.2.28 Mounting Material Selection


In Senior Design II, the mechanical engineering team decided to use aluminum 1.5-inch
brackets to mount the two wheel motors onto via 32mm clamping motor mounts. Both the
wheel motor brackets are mounted together by a 12-inch 3/8 rod for stability. All the
framework was mounted using L-shaped brackets with four holes in each.

84
4 Related Standards and Design Constraints
A standard is a document the defines the characteristics of a product, process or service,
such as dimensions, safety aspects, and performance requirements. Standards are usually
an enforceable means to evaluate acceptability and sale-ability of products and/or services.
Design constraints are limitations or limits upon certain features or aspects of the project.
Since standards are usually enforceable, standards are design constraints, but a design
constraint does not necessarily have to be a standard. This project is a combination of
numerous components, powered by both software and hardware. The following sections
will identify design constraints related to the project, standards related to the project, and
additional design constraints that arise from the previously mentioned standards.

4.1 ABET Design Constraints


According to the ABET Design Requirements, students in Senior Design should be able to
attain an ability to design a system, components, or process to meet desired needs within
the realistic design constraints. These realistic design constraints, named: time, economic,
environmental, weight, size, ethical, health and safety, manufacturability, and power, are
design constraints that must be addressed when it comes to designing the autonomous grass
cutter. This includes finding information on the design constraints in professional
publications in the areas related to this project. These mentioned design constraints and
their relation to the project will be described in the following sub chapters.

4.1.1 Time Constraints


This project will span a design and development time of around 30 weeks – from
September 2018 to April 2019. This time constraint is calculated from the length of a
typical semester where this project will span two semesters with a one month break in
between. Within this timeframe, the autonomous grass cutter must meet additional time
constraints, such as the competition between all involved teams and their autonomous grass
cutters as was the intent of the sponsors, Duke Energy and Orlando Utility Commission.

While the competition does not currently have a set date, it is expected to occur within
April. Shortly after the competition, the project must be presented to a panel of University
of Central Florida (UCF) professors for an evaluation of the project’s design and
performance. The project must have a working prototype prior to the competition and
presentation.

4.1.2 Economic Constraints


Economic design constraints affect overall project expenses. The sponsor has limited the
project to $1,500 dollars. Although researching is usually free, component testing and
prototyping may also cut into the budget before a working prototype is complete. In order
to reduce any unrecoverable losses from the budget from situations such as part failure or
change of part selection after order, it is imperative that as much research as possible be
completed. Having the most information, comparisons, and components available that fit

85
within the following design constraints will allow for the project to have unrecoverable
expenses, such as the ones previously mentioned, minimized. The project itself should not
exceed the sponsor’s budget, nor should the cost to build a working prototype. While
maintenance costs are not factored into the budget, research will be done so that
components and parts are chosen with a sense of longevity.

4.1.3 Environmental Constraints


Environmental design constraints refer to the physical surrounding environment and
conditions that will affect the performance of the grass cutter. The environment of the
grass cutter will be outside on solar farms that consists of uneven terrains. Narrowing the
scope of outside environment down to the average of the state of Florida, the grass cutter
will have to endure environmental conditions where the average temperature ranges from
50 to 110 degrees Fahrenheit, humidity averages 70% daily and rain occurs an average of
1 out of every 3 days. Heat, humidity, and water affect the performance of batteries and
electronics.

The prototyping environment will be indoors at roughly 70 degrees Fahrenheit. While the
final prototype may be built to withstand all environmental conditions, the base
requirement for this iteration of the project is that the working prototype be able to meet
functional requirements in an environment that is assumed to be always sunny, never
raining, and 70% humidity. Also, the terrain differential has been giving a floor of roughly
3 inches by the sponsor; meaning that the grass cutter shall have functionality up to a height
differential of 3 inches on each side of the wheels.

4.1.4 Weight Constraints


Weight design constraints affect the overall performance of the grass cutter. It is obvious
that the weight of the grass cutter has an inverse relationship to the longevity and efficiency
of the grass cutter. As the grass cutter becomes heavier, the battery must provide a greater
amount of force to maintain the same speed when compared to a lighter grass cutter. Also,
the rear caster wheel may get stuck if the grass cutter becomes too heavy.

Since most electrical components that will be designed or chosen, such as the printed circuit
boards or chips, will be light, only the major components, such as the batteries, must be
considered by the electrical engineering team when it comes to weight design constraints.
Lithium-ion batteries offer the greatest energy density per weight, but then economic
design constraints must be considered because of their cost. Lead-acid batteries offer the
best economic solution in terms of energy density per dollar, but they also weight the most,
affecting the weight design constraints.

The overall weight of the grass cutter will be a combination of the materials and parts
designed by both the mechanical and electrical engineering teams. Materials have tradeoffs
between durability and weight that may require consideration. The weight must be
considered carefully to ensure the overall locomotion, longevity, and efficiency of the grass

86
cutter. The ideal situational would be for the lightest possible parts to obtain the highest
amount of operation time for the grass cutter per charge.

4.1.5 Size Constraints


Size design constraints affect the design of the grass cutter. While size design constraints
mostly affect the mechanical engineering team, the electrical engineering team must
consider the size design constraints when it comes to sensor placement. The size design
constraint is 2 cubic feet, imposed and enforced by the sponsor, Duke Energy and Orlando
Utility Commission. The 2 cubic feet size design constraint was created because the grass
cutter must navigate through a solar farm without risking damage to any of the solar farm’s
infrastructure.

An additional size design constraint is imposed by the sponsor’s requirement for the grass
cutter to maintain grass to a height between 3 to 6 inches. Although the grass cutter will
have wheels that touch the ground, a string-based blade must be able to cut grass down that
is possibly above 3 to 6 inches. Since the motors will most likely be mounted in a “top
down” configuration, it is safe to assume that the motors will be coming out from the
bottom of the frame designed by the mechanical engineering team.

With the two previously mentioned size design constraints and the grass cutter design
considered, they must be minimized in order to satisfy both mentioned size design
constraints. Having the grass cutter satisfy both mentioned size design constraints will
allow clearance below and around PV panel structures on the solar farm. Finally, to ensure
clearance of PV panel structures, it was decided to give an additional 6-inch height
clearance to the grass cutter meaning that the final design size is aimed to be at 2 feet in
length, 2 feet in width, and 18 inches in height.

4.1.6 Ethical Constraints


Ethical design constraints affect the overall product integrity for the autonomous grass
cutter. Ethical design for electrical engineers focuses on compliance with laws and
regulatory codes, sustainability in various aspects, and service to the public good. Since
the culmination of this project results in a competition between multiple engineering teams
from both the University of Central Florida and the University of South Florida, ethical
design constraints also include consideration of upholding a sense of fair play between
opposing teams. Product integrity, or ethical design implies that the autonomous grass
cutter would be delivered functioning and operating to the requirements at a minimum.
Ethical design also includes the ethical practice of being transparent about design pitfalls
or requirements not meant even though the cause could be from limitations of resources or
from other constraints.

Part of ethical design begins with the choosing of parts and components. Considering the
competition, it would be unethical to use parts out of budget to gain an advantage. For
example, an unethical case would arise if more expensive and capable parts were used on
the prototype but were out of the budget of a similar team. Another ethical design concern

87
arises when it to choosing parts and components; if the parts or components themselves are
ethical. The choosing of ethical parts or components is critical for the project because the
consequence of using an unethical part could mean that the prototype is not allowed to
operate, thus making the prototype useless and nonfunctioning. Selecting commercial parts
and components assures that standardized processes are met and that this portion of ethical
design is met.

A constraint imposed by ethical design is that the operations of the grass cutter needs to be
designed in a way the minimizes risk and disturbance to nearby life and minimizes possible
damage to the grass cutters surrounding environment. An example of minimizing risk to
nearby life would be to design the grass cutting blades to have a guard that stops unintended
cutting. The example previously mentioned imposes an ethical design constraint because
the design of a guard is then required for the cutting blades, thus adding weight and
complexity to the overall design of the cutting assembly. This project achieves ethical
design by designing around the environment of the solar farm. It is possible that critters or
wild life can encounter the grass cutter. An ethical design constraint is that the prototype
must have a design that does damage equipment and minimizes risk and disturbance to
nearby life. Since the grass cutter is required to have autonomy, decisions must be made
without human intervention. Considering the information given by computer vision, its
sensors, and any other inputs such as time of day (if tracked), the grass cutter must make
ethical decisions without human intervention (definition of autonomy). To employ an
ethical design when it comes to the operation autonomous grass cutter mostly comes down
to the programming of the grass cutter. As the grass cutter traverses and encounters
obstacles, it must be programmed to prioritize the safety of the environment prior to cutting
the grass. This ethical design constraint means that fail safes or protocols must be
implemented into the programming of the autonomous grass cutter to safely operate within
the solar farm environment.

Once the ethical design constraints are addressed in the design and programming of the
autonomous grass cutter, an ethical design will be achieved. Having an ethical product
ensures the integrity of the product. Customers trust that engineers design a product with
high integrity to ensure the functionality and safety of the product. The Mission of The
IEEE Global Initiative on Ethics of Autonomous and Intelligent Systems is “To ensure
every stakeholder involved in the design and development of autonomous and intelligent
systems is educated, trained, and empowered to prioritize ethical considerations so that
these technologies are advanced for the benefit of humanity.”

4.1.7 Health and Safety Constraints


Health and safety design constraints affect the overall capability of the grass cutter. The
underlying objective of the autonomous grass cutter is to remove the need for human labor
to maintain a solar farm’s vegetation levels, thus removing any possible human injury when
it comes to mowing grass in the Florida environment, there are still health and safety design
constraints that affect the grass cutter. It is imperative that the grass cutter fulfill all its
requirements, such as cutting grass, but the safety and health of the grass cutter’s
surrounding infrastructure and environment must be considered. Although a solar farm

88
does not usually have humans nearby, a human must interact with the grass cutter to start
and stop it. Human well-being is of the highest priority for this project’s health and safety
design constraints. Along with human well-being, the grass cutter must be designed with
other forms of life, such as animals, in mind.

Batteries impose a health and safety design constraint. Batteries use dangerous chemicals
to store energy and it is possible for a battery to start a fire or leak the previously mentioned
dangerous chemicals upon failure. Understanding that humans and animals will possibly
interact with the grass cutter is important when it comes to considering what components
to use and how to program the grass cutter.

In order to reduce risk of serious injury to humans and animals, the sponsor has required a
health and safety design constraint of using only string-based blades on the grass cutter.
Opting to use a string-based blade instead of a metal blade to cut grass imposes possible
longevity and maintenance issues to the grass cutter but is necessary as a failsafe incase
built in algorithms and methods fail.

4.1.8 Manufacturability Constraints


Manufacturability design constraints apply to the reproducibility of the grass cutter. Since
the grass cutter is designed to be a revolutionary method to vegetation growth control over
human labor, one prototype will not be enough to address any possible consumer demand
in the future. By using a combination of off the shelf hardware and having readily available
schematics, it will be possible for the sponsors to redesign or manufacture the grass cutter
once complete.

Having batteries in the grass cutter device imposes a manufacturing design constraint.
Depending on the type of battery, the grass cutter may not be able to be flown on via
airplane. While it is possible to have the grass-cutter designed to have a replaceable battery
so that a battery could be “dropped in” when the grass cutter reaches its destination, the
engineering design’s focus is on functionality and a “drop in” capability would be an
afterthought once a working prototype is created.

The manufacturing industry with the use of CNC (Computer Numerical Control)
Machinery has the capability to cut, drill, and bend different types of materials. For every
manufacturing data sheet there are marginal errors specified. While manufacturing
constraints for electrical components involve voltages, currents, watts, etc. other
measurements of hole diameter, metal softness, depths, etc. in 3D Solid Works or CAD
(computer aided design) modeling for the mechanical engineers are where a cost constraint
due to the manufacturing process primarily is. As stated previously, off-the-shelf hardware
will reduce the cost in immediate regards of cost to the grass-cutter project. However, when
building a structural model for the grass-cutter, specs of marginal error limitations are
required by and given to the manufacturer. The difficulty of drilling a 5-inch hole of a small
diameter in a softer metal with a marginal error set to .1 mm will cost a small fortune of
design. It is left to the mechanical team not to design difficult parts for the manufacturer to
take time ‘cutting.’ Machine time is the overall factor that needs minimized to maintain a

89
cheap source; next is the material itself. The electric grass-cutter must be durable, and the
required parts in design cannot take an abundant amount of CNC machine time to produce.
The more time it takes, the more expensive the product will become. This creates a
manufacturing constraint if the product is ever going to be mass produced.

4.1.9 Power Constraints


Power design constraints affect the longevity and efficiency of the autonomous grass cutter.
How long the grass cutter can cut the grass on one full charge is important because it sets
the time limit that the grass cutter is effectively doing its job of cutting. Different
quantifiable power constraints arise depending on the choice of battery used for the
autonomous grass cutter. Not only will previously mentioned constraints, such as
economic, environmental, weight, and size affect the decision of the battery used for the
project, but the same mentioned constraints will become an additional factor towards
considering the longevity and efficiency of the autonomous grass cutter. Battery standards
identified and explained upon in the standards section of this documentation provided a
good place to reference to address current power constraints.

The design of the autonomous grass cutter will most likely implement interconnects that
act as voltage regulators. Voltage regulators supply power to the various systems used
within the robot, however it comes with a cost. The use of voltage regulators will
contribute to power loss within the robot. No circuit can be 100% efficient and with
semiconducting devices in the ICs that construct the voltage regulators, power loss will be
established in ground currents and voltage drops over transistors. Multiple design
approaches can be designed, viewed and selected using the Texas Instruments Webench
tool. Today, power design trade-offs factor into production more significantly than ever.
As time moves forward, evolved technologies will prefer a high fraction power factor. In
China a minimum power factor for energy conservation is already established. It is
possible that many other countries around the world can follow suit and establish their own
minimum requirements for a power factor to enforce energy conservation. Power
constraints not only relate to performance but also to where in the world the product can
be sold and used. Minimum power factor or power efficiency regulations aren’t currently
required by United States federal law.

Lastly, another consideration of ethical constraints imposes a power constraint. Renewable


energy solutions are used to save resources and prevent global warming. One of the
purposes of providing solar energy farms with an electric grass-cutter solution is to further
conserve energy. Batteries are perceived to reduce the amount of fossil fuels needed to
power an engine, however many do not consider the source of what is providing charge to
the batteries. Unless the battery is recharged using the infrastructure of the solar farm, it
most likely will be charged using power provided by a local power station. A case of ethics
in terms of power constraints arises because most local power stations still burn fossil fuels
to provide power to its area of responsibility. Having a fossil fuel powered autonomous
grass cutter responsible for vegetation control of a renewable or alternative energy solar
farm does not make ethical sense. This issue is further magnified depending on the power
factor or power loss the autonomous grass cutter ultimately has.

90
As previously mentioned, power design constraints affect the longevity and efficiency of
the autonomous grass cutter. The combination of previously mentioned constraints, such
as economic, environmental, weight, and size will affect the decision of the battery used
for the project, but the same mentioned constraints will become an additional factor
towards considering the longevity and efficiency of the autonomous grass cutter. The use
of voltage regulators will contribute to power loss within the robot. Tradeoffs between
efficient and economical interconnects will ultimately decide the power factor, which could
affect manufacturability.

4.2 Standards
A standard is a document that defines the characteristics of a product, process or service,
such as dimensions, safety aspects, and performance requirements. Standards are usually
an enforceable means to evaluate acceptability and sale-ability of products and/or services.
Standards are usually formed by committees or communities, known as Standards
Development Organizations (SDOs), that specialize in a specific product, process or
service. Some of the most well-known SDOs are; the Institute of Electrical and Electronics
Engineers Standards Associated, the International Standards Organization, the
International Electrotechnical Commission and the International Special Committee on
Radio Interference.

By adhering to the standards created by SDOs, more focus can be done on the overall
design of the project itself and priority can be assigned to operability or functionality.
Recognizing and adhering to standards provides a mutual assurance and protection for
engineers and customers alike. Engineers are protected because when it comes to part
selection, a part is guaranteed to have a capability that is at least the minimum of the
standard. Customers are protected because they are guaranteed that the product that they
buy will fulfill at least the minimum requirements for a standard to be adhered to.

Having standards allows for either a designer or customer to choose a specific capability
that a standard requires for a certain product, process or service, and to trust that if they
purchase a product that adheres to any applicable or desirable standards, that the product,
process, or service will work as intended. Using parts or components that meet the
standardization process means that the autonomous grass cutter should safely operate
within the environment of a solar farm.

4.2.1 IEEE Standards


The Institute of Electrical and Electronics Engineers (IEEE) Standards Association
provides a wide range of technical and geographic points of origin to facilitate standards
development and standards related collaboration. IEEE is one of the biggest publishers of
standards, especially in the subject of electronics. IEEE forms committees to decide how
a product, process, or service should be standardized. The IEEE standards related to this
project will be described in the following sub chapters.

91
4.2.1.1 Battery Standards [68] [69]

The battery standards that apply to this project are the IEEE 1679.1 and IEEE 1625. IEEE
1625 guides manufacturers and suppliers in planning and implementing the controls for the
design and manufacture of lithium-ion and lithium-ion polymer rechargeable battery packs.
IEEE 1679.1 guides the rechargeable electro-chemistries with lithium ions and lithium-ion
polymers as the active species exchanged between the electrodes during charging and
discharging. Technology description information on aging and failure modes, safety issues,
evaluation techniques and regulatory issues are also standardized in IEEE 1679.1.

The use of rechargeable lithium-ion and lithium-ion polymer batteries apply to this project.
Battery standards exists in regulation of fire and safety codes. By law, in different states
the disposal of batteries is regulated as well. Local battery retailers are paid to accept used
batteries for recycling to avoid pollution to the environment. Due to a significant negative
impact on the environment once disposed of, batteries are regulated to assure that, once
manufactured, the costly process to store the energy inside a battery is minimized. Battery
cells storing potential voltage are designed to maintain stability at different temperature
standards as well.

4.2.1.2 C Language Standards [70]

Standardized by a joint effort between the International Organization for Standardization


(ISO) and the International Electrotechnical Commission (IEC), the C language for
programming offers multiple benefits towards this project, such as simplicity and
portability. Since the C programming language has had multiple revisions to its
standardization, it is fundamental to understand which revision that this project must adhere
to. Formally called ISO/IEC 9899, the C language currently has 3 majorly used revisions
that have different trade-offs. As this project may utilize either of the 3 standards, it is
important to understand each of them. Each revision has an informal name, released
chronologically in the following order: C99, C11 and C18.

In time, C language standards have been modified to include many libraries, functions and
I/O options that allow users to easily implement and design complex codes. Most
importantly is that these standards are followed and enforced by compilers. Since most
major compilers will not allow deviation from a standard, the only thing that must be
verified is that the desired C language standard is chosen in the compiler. Most revisions
envelop the previous revisions in terms of capability, however an older revision may be
chosen for applications where memory is limited or smaller libraries. For example, it is
possible that a compiler that is compiling with a newer C standard uses more lines of code
to implement a code than an older C standard. An older C standard could be chosen for
system designs where memory is a limited resource.

4.2.1.3 Wireless Standards

The wireless standards that apply to this project are a part of the IEEE standard 802.11,
versions: 802.11b, 802.11g and 802.11n. IEEE standard 802.11 is a set of media access

92
control (MAC) and physical layer (PHY) specifications for implementing wireless local
area network (WLAN) computer communications in specified frequencies. Any device
that uses wireless communications today must adhere to IEEE standard 802.11. IEEE
standard 802.11 is created and maintained by the IEEE local area network and metropolitan
area network (LAN/MAN) standards committee, also known as IEEE 802.

While the previously mentioned 802.11b, 802.11g and 802.11n are amendments to the
original 802.11 standard, the industry and commercial world usually refer to the revisions
individually because they have standardized capabilities. Table 17 in section 3.1.12
“Wireless Communications” lists three of the amendments/versions that are of interest for
the project because of their capabilities. Understanding that the goal of having the grass
cutter maintain the most area possible, range is of a priority over data rate.

The highest range wireless standards were chosen to be implemented over standards that
are capable of higher data rates because most of the data sent, whether it is for a kill switch
or an operating system application, will most likely be parameters from the autonomous
grass cutter and not something data intense, such as video streaming (although it may still
be capable of video streaming). The 802.11 standard suite and its respective amendments
also specify what frequency the wireless local area network will be communicating at. A
most likely case for this project is that it will be transmitting and receiving on a 2.4
gigahertz (UHF) radio frequency band, unless 5.8 gigahertz (SHF) is chosen under the
802.11n standard.

4.2.1.4 Software and Systems Engineering- Software Testing

Software testing has been standardized by a joint effort between the International Standards
Organization (ISO), the International Electrotechnical Commission (IEC) and the IEEE.
This joint effort of standardization for software testing has resulted in the formal standard
named ISO/IEC/IEEE 29119. Since the autonomous grass cutter may implement computer
vision or interfaces through an application via an operating system, it is most likely that
software will be integrated into the project. Software creation or testing will most likely be
handled by the computer science team however, it may be possible that the electrical
engineering team will create or test software. Software testing on this project will adhere
to the international standards in ISO/IEC/IEEE 29119. ISO/IEC/IEEE 29119 is a series of
five international standards for software testing, where part 1 through 5 is named
ISO/IEC/IEEE 29119-1 through ISO/IEC/IEEE 29119-5. The entire ISO/IEC/IEEE 29119
suite is a standardized process for testing software.

Part 1 facilitates the use of the other parts of the standards by introducing the vocabulary
on which the rest of the standard will be using. It provides a description of the concepts to
software testing, standardized definitions, and how to navigate the other parts of the
standard by applying the definitions and testing concepts. [71]

Part 2 of ISO/IEC/IEEE 29119 defines a general model for software testing that is intended
to be used when performing software testing. The model specifies test processes that may
be used to manage and implement software testing in an organization, project, or any

93
general testing activity. The testing process is based on a three-layer process model that
covers organizational test specifications, test management, and dynamic testing. The
standard uses a risk-based approach to testing, specifying that a risk-based approach is the
best-practice approach to strategizing and managing testing. Using a risk-based approach
for software testing on the project means that the most important features (the
requirements) are prioritized and ensures that the software meets requirements using the
most efficient process possible. [72]

Part 3 of ISO/IEC/IEEE 29119 focuses on defining templates for test documentation to


cover the entire life cycle for software testing. The templates provided in the standard can
be tailored to suit the unique needs for the project while also implementing the standard.
Having the project’s documentation follow a standardized template will ensure that
processes and tested are properly recorded or documented. [73]

Part 4 of ISO/IEC/IEEE 29119 defines an international standard covering software test


design techniques. These software design techniques, also known as test methods, can be
used during the test design and implementation process for the project. The test methods
in part 4 incorporate the risk-based approach that is described in part 2 of the standard. The
test design techniques that are presented in this standard can be used to derive test cases
and collect evidence for the project to prove that a requirement has been met by a certain
software. [74] Part 5 of ISO/IEC/IEEE 29119 addresses test automation which does not
apply to this project in terms of software testing. [75] The five standards are shown below
in Table 50.

Table 50: ISO/IEC/IEEE 29119 Standards


ISO/IEC/IEEE International Standard - Software and Systems Engineering -
Software Testing Suite (29119)
29119-1 Part 1: Concepts and Definitions
29119-2 Part 2: Test Processes
29119-3 Part 3: Test Documentation
29119-4 Part 4: Test Techniques
29119-5 Part 5: Keyword-Driven Testing

4.2.1.5 Robot Map Data Representation for Navigation Standard [76]

Since navigation will be done autonomously by the grass cutter, a form a mapping must be
integrated into the grass cutter. IEEE has acknowledged and standardized the way that
which a robot’s map data for navigation is represented with “1873-2015 – IEEE Standard
for Robot Map Data Representation for Navigation.” Although the topic of mapping for
robots is very broad when considering that there are multiple methods of which an
autonomous robot can implement to map an area, the standard provides a scope of what
exactly is being standardized so that a clear process is identified and explained. IEEE
1873-2015 is used for defining terminologies related to 2D robot maps of navigation in
both indoor and outdoor environments. IEEE 1873-2015 specifies a data model for each
possible element and defines a format to exchange the previously mentioned data model
among computers and other robots.

94
The importance of IEEE 1873-2015 is that the way robot mapping data is represented has
become standardized. This standardization of robot mapping data allows an accessible use
of software exchange among other robotic systems which expands the range of application
and operational use among robots. The standard contains a section of definitions as well
as a section of mathematical definitions for a reader to use this standard and understand the
terms or models presented within the standard. Within the standard there are several tables
labeled with either an “M” or an “O”, where “M” stands for mandatory and “O” stands for
optional. IEEE 1873-2015 provides detailed descriptions for how to format mapping data
between different types of mapping, such as metric or topological mapping.

Using the definitions and math models provided in the standard, the standard itself specifies
that the XML language will be used to transfer mapping data among computers or other
robot systems. The standard explains that XML is a platform-independent language that
is accessible across multiple operating systems and that XML language stores files in a
human readable format. IEEE 1873-2015 is important because having the mapping data
standardized means it is transferrable between computer systems or other robotic systems.
Adhering to the IEEE 1873-2015 standard addresses a manufacturing constraint in that it
may be possible to preload a map into the grass cutter prior to deployment or first operation.
Having the ability to preload mapping data onto the grass cutter opens the possibility of
not requiring a physical boundary wire, however this project will not be exploring this
possibility until bare functionality requirements are met.

4.2.2 Robotics Standards [77]


The field of robotics is a product of the quickly evolving technologies in modern times.
Although the field of robotics is hard to standardize because of the vast range of tasks a
robot can complete, the International Organization for Standards or ISO, has created a
committee, known as technical committee 299, to standardize the field of robotics.
According to ISO 8373, a robot is defined to be an “automatically controlled,
reprogrammable, multipurpose manipulator, programmable in three or more axes, which
can either be fixed in place or mobile for use in automation applications. By the definition
of a robot in ISO 8373, the autonomous grass cutter is a robot. Thus, it is required that the
robot standards that apply to this project be identified and followed.

Table 51 below identifies the applicable ISO/TC 299 robot standards that apply to this
project. The titles of the released standards are included to provide the scope of each
applicable standard. Most of the robot standards that apply to this project are related to
locomotion, navigation and safety. These standards do not necessarily express how a robot
must behave, but instead the standards present criteria that the robot must meet to achieve
a certain process or functionality. The ISO/TC 299 Robotic standards are shown below in
Table 51.

95
Table 51: ISO/TC 299 Robotic Standards
ISO Standard Release Year Standard Title
ISO 8373 2012 Robots and robotic devices -- Vocabulary
Manipulating industrial robots – Performance
ISO 9283 1998
criteria and related test methods
Robots and robotic devices – Coordinate systems
ISO 9787 2013
and motion nomenclatures
Robots and robotic devices – Safety requirements
ISO 10218-1 2011
for industrial robots – Part 1: Robots
Robots and robotic devices – Safety requirements
ISO 10218-2 2011 for industrial robots – Part 2: Robot systems and
integration
Robotics – Performance criteria and related test
ISO 18646-1 2016 methods for service robots – Part 1: Locomotion for
wheeled robots

4.2.3 Inter-Integrated Circuit (I2C) Standards


To reduce the complexity and cost of connecting the embedded systems and peripheral
devices such as sensors, the I2C bus may be utilized. I2C is a flexible serial bus solution
that has been standardized by the company “NXP Semiconductors” (previously known as
“Phillips Semiconductor”). The I2C serial bus is used to provide intra-board lower-speed
peripheral interconnects to processors and microcontrollers. NXP Semiconductors has
released multiple revision to the I2C bus specification with the latest version being version
6, released in April 2014.

4.2.4 Universal Serial Bus (USB) Standards


This project may implement the use of USB to interconnect certain peripheral devices or
sensors. This document identifies any applicable USB standards to ensure that the project
adheres to any of the standards identified. Following applicable standards ensures that all
interconnected peripheral devices or sensors will communicate using the same protocols.

USB standards are created by the Universal Serial Bus Implementers Forum, also known
as USB-IF, and enforced by the International Electrotechnical Commission (IEC). Any
time there is a change in a USB standard, USB-IF submits documentation for changes to
be implemented into IEC’s documentation. Like the wireless standard IEEE 802.11, every
amendment to the USB standard is usually referred to as its name. For example, USB
version 3.2 is referred to as USB 3.2. USB 3.2 is the most up to date version of the standard,
however USB 2.0 is still the most common as of today. Although USB 2.0 is the most
common, USB 3.2 has the highest data capability. Since it is most likely that any peripheral
devices or sensors used on the project will be using, USB 2.0, USB 3.2 or any USB version
in between, the standards that are applicable are mentioned in this section.

96
IEC 62680 refers to an entire suite of USB standards ranging from definitions, to
components, to specifications. IEC 62680 is a series of eight international standards broken
into three parts for the USB, where specifications are defined for the various versions of
USB. Table 52 below lists the entire IEC 62680 suite which includes all three parts. The
project will ensure that peripheral devices or sensors that require the USB are
interconnected using the international USB standards listed in the IEC 62680 suite. This is
shown below in Table 52.

Table 52:International Electrotechnical Commission 62680 Universal Serial Bus Standards Suite
IEC Standard Year Standard Title
Part 1-1: Common components – USB Battery Charging
62680-1-1 [78] 2015
Specification
Part 1-2: Common components – USB Power Delivery
62680-1-2 [79] 2018
Specification
Part 1-3: Common components – USB Type-C™ Cable and
62680-1-3 [80] 2018
Connector Specification
Part 1-4: Common components – USB Type-C™
62680-1-4 [81] 2018
Authentication Specification
62680-2-1 [82] 2015 Part 2-1: Universal Serial Bus Specification
62680-2-2 [83] 2015 Part 2-2: Micro-USB Cables and Connectors Specification
Part 2-3: Universal Serial Bus Cables and Connectors Class
62680-2-3 [84] 2015
Document
62680-3-1 [85] 2017 Part 3-1: Universal Serial Bus 3.1 Specification

4.2.5 Electromagnetic Compatibility (EMC) Standards


Electromagnetic compatibility is a branch of electrical engineering that addresses the
concern of unwanted effects, such as electromagnetic interference or damage to other
electronic equipment, caused by unintentional generation, propagation and reception of
electromagnetic energy. The focus of electromagnetic compatibility is the harmonious
operation of different equipment within an electromagnetic environment. The autonomous
grass cutter must meet EMC standards outlined by applicable SDOs. EMC has three
classes; Emission, susceptibility, and coupling.

Emission is the generation of electromagnetic energy from an electronic device that


releases into its surrounding environment. Since the autonomous grass cutter may utilize
AC power, DC, power or a combination of both AC and DC power, it is highly likely that
the grass cutter will have electromagnetic emissions. These electromagnetic emissions
could possibly damage the electronic equipment required for solar farm operation. It is
also possible for the solar farm’s electronic equipment to emanate electromagnetic energy
into the grass cutter’s electronics. Additionally, the use of wireless communications
requires the emissions of electromagnetic energy. Having a requirement for an
independently powered location device on the grass cutter means that some form of
wireless communication will be used. Since wireless communication uses low power, the

97
only concern when it comes to interference would be the attenuation of communication
signals between the solar farm and grass cutters electrical equipment. The Federal
Communications Commission (FCC) addresses any concern of signal attenuation by
standardizing the frequency spectrum. Between the standardization of frequency use and
802.11 signaling protocols, wireless communication is possible using electromagnetic
energy without interfering with other electronic equipment.

Susceptibility refers to how prone a piece of electronic equipment is to malfunction or


damage when experiencing nearby electromagnetic energy emissions. It is important that
both the grass cutter and the solar farm electronic equipment not be susceptible to any
possible emissions from each other to ensure longevity and operability of both the grass
cutter and solar farm electronic equipment. EMC uses the term “Immunity” to refer to a
piece of electronic equipment’s ability to correctly function in the presence of
electromagnetic interference. It is ideal to have the grass cutter and solar farm equipment
be immune to each other’s electromagnetic emanations. Since the grass cutter is utilizing
a form of electromagnetic emission (wireless communications), the grass cutter must be
immune to any interference from the solar farm electrical equipment, but also susceptible
to emissions necessary for wireless communication. The mechanism or method by which
emitted electromagnetic interference travels to an electronic device is referred to in EMC
as coupling. Unless there is a direct connection, almost all coupling will be done through
the dielectric of the air in the environment.

By adhering to the EMC standards created by the SDOs, there is an understood underlying
assurance that the grass cutter and solar farm electronic equipment will operate as intended.
Table 53 below list all applicable EMC standards for this project. Along with identifying
all applicable EMC standards, Table 49 below will also identify the SDO, the release year
and the standard’s title. Not listed in Table 53, but still applicable is the Federal
Communications Commission (FCC) Part 15 under Title 47 of the Code of Federal
Regulations which covers EMC for unintentional and intentional radiators. The applicable
EMC standards are shown below in Table 53.

Table 53: Applicable EMC Standards


Standard Release Year Standard Title
Electromagnetic compatibility – Requirements for
CISPR 14-1
2016 household appliances, electric tools and similar
[86]
apparatus – Part 1: Emission
Electromagnetic compatibility – Requirements for
CISPR 14-2
2018 household appliances, electric tools and similar
[87]
apparatus – Part 2: Product family standard
Electromagnetic compatibility – Part 6-3: Generic
IEC 61000-
2006+AMD:2010 standards – Emission standard for residential,
6-3 [88]
commercial and light-industrial environments
Electromagnetic compatibility – Part 6-4: Generic
IEC 61000-
2018 standards – Emission standard for industrial
6-4 [89]
environments

98
4.2.6 Institute for Printed Circuits (IPC) PCB Standards
The design, production and assembly of a printed circuit board (PCB) is standardized by
the IPC. Presently called the Association Connecting Electronics Industries, IPC develops
standards collaboratively with the following; IPC members, academics, government
agencies, original equipment manufacturers, and electronic manufacturing firms. The
IPC’s goal is to standardize the assembly and production requirements of electronic
equipment and assemblies. The regulated standards that commercial PCBs follow ensure
the reliability and longevity of products that utilize electronic equipment. IPC standards
apply to all types of printed circuit boards, such as single-sided, double-sided and
multilayer. IPC’s standard includes all topics related to the printed circuit board including,
design specifications, material specifications, material standards, flex assembly,
performance and inspection documents, and general documentation. The design,
manufacture and integration of the PCBs used in the autonomous grass cutter must meet
the standards outlined by the IPC.

Since the requirement of Senior Design for electrical engineers at the University of Central
Florida is to design a PCB, the electrical engineering team will design the major PCBs that
will interconnect the electronic devices within the autonomous grass cutter. IPC has
standardized the process of printed circuit board design by releasing multiple standards that
address design specifications of PCBs. By designing to IPC’s standards, the schematic can
be sent to electronics manufacturing service firm (EMS) to be built. IPC has also
standardized the process of building the PCB for an EMS to follow. Once the PCB that is
designed by the electrical engineers has been built by the EMS, the PCB is the sent back
to the engineers for integration into the autonomous grass cutter. Figure 40 below depicts
the flow of how a PCB will be designed by the electrical engineers, built by the EMS, and
integrated into the autonomous grass cutter according to IPC’s standards. The flow
depicted in Figure 40 also identifies applicable IPC standards along the PCB designing life
cycle.

Figure 40: Flow of PCB Design and Implementation made by Christopher Entwistle

99
5 Overall Integration, PCB Design and System Testing
This section describes and shows the overall integration of the hardware and software, the
PCB designs and the system testing of the major components.

5.1 Hardware Design


The hardware design refers to the electrical and mechanical components that will be used
to for overall motion control, obstacle detection, obstacle avoidance, power design, overall
locomotion, and electrical design. This section will display information for each
subsystem.

5.1.1 Initial Design Architectures and Related Diagrams


In Senior Design I, the block diagram shown below shows the overall system and power
control. The green lines are the bi-directional power and control lines, the red lines are the
one-way power and control lines and the blue dashed lines are the bi-directional control
lines. The electrical component’s battery powers the ATmega2560 and the Raspberry Pi 3
Model B through a LM2596 Voltage Regulator that takes the unregulated 12 Volts from
the battery and regulates it to a 5 Volts output. The Raspberry Pi powers and communicates
with the Night Vision Camera and the Wireless Chip. It also communicates with the
ATmega2560. The ATmega2560 powers and communicates with the Ultrasonic Sensors,
Perimeter Wire Receiver Circuit, GPS/compass module and the L293DNE Motor Driver
Chips. It also communicates with the Raspberry Pi Board. The Motor’s battery powers the
DC Motors through the L293DNE Motor Driver Chips through a LM2596 Voltage
Regulator that takes the unregulated 12 Volts from the battery and regulates it to a 12 Volts
output. The Motor’s battery is connected to a battery charge sensor. The updated Hardware
Block Diagram of the grass cutter system is shown below in Figure 41.

Figure 41: Updated Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter

In Senior Design II, the final hardware block diagram was constructed. This block diagram
below shows the overall system and power control. The PCB battery powers the

100
ATMEGA2560, ultrasonic sensors, GPS module, perimeter receiver circuit and related
components. The wheel motor battery powers solely the two front wheels and motor
drivers. The blade motor battery powers the three blade motors and drivers. All the
communications and control to the electrical components are connected to the
ATMEGA2560 microcontroller. The Odroid-XU4 operates the software with the overall
grass cutter system and operates the software for path planning, mapping and
communications with the ATMEGA2560 and related components. This final hardware
block diagram of the grass cutter system is shown below in Figure 42.

Figure 42: Final Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter

In Senior Design I, the Perimeter Wire Battery powers the Perimeter Wire Generator
Circuit through a LM2596 Voltage Regulator that takes the unregulated 12 Volts from the
battery and regulates it to a 5 Volts output. The Perimeter Wire Generator Circuit produces
a square wave that the Perimeter Wire Receiver Circuit will detect. This detection will send
an interrupt signal to the ATmega2560 that the grass cutter has reached the boundary of
the area. The updated hardware block diagram of the boundary system is shown below in
Figure 42.

Figure 43: Updated Hardware Block Diagram of the Boundary System made by Brandei
Dieter

In Senior Design II, the final hardware block diagram of the boundary system was
constructed. A 3.7-Volt Lithium Ion battery operates the perimeter generator circuit. The
signals outputted by the generator circuit throughout the perimeter wire are detected by the

101
perimeter wire receiver circuit on the PCB through the inductor coil sensors. This final
block diagram is shown below in Figure 44.

Figure 44: Final Hardware Block Diagram of the Boundary System made by Brandei Dieter

5.1.1.1 Sensors Subsystem 1

The Sensors Subsystem 1 will include the two ultrasonic sensors. This will be designed
and implemented by the ECE team. They will be used for obstacle avoidance, obstacle
detection and measuring the distance from an object to the grass cutter. The design of the
Ultrasonic Sensors on the grass cutter robot is shown below in Figure 45.

Figure 45: Sensors Subsystem 1 Design made by Brandei Dieter

In Senior Design II, the ultrasonic sensors placement was changed. Two ultrasonic sensors
were placed at the front of the robot; one on the left and one on the right. This is to ensure
that the robot does not hit any obstacles and objects.

5.1.1.2 Location and Positioning Subsystem

The Location and Positioning Subsystem will include the GPS/compass module. This will
be designed and implemented by the ECE team. It has a 3V lithium ion backup battery, so
it can operate for a defined period after the main batteries have been completely drained to

102
ping the location of the robot. The GPS/compass module will provide the grass cutter
system with the location and position of the robot. The GPS/compass module will
communicate with the ATmega2560 and that information will also be routed through the
Raspberry Pi 3 Model B through the wireless chip to send the data to the laptop application.
This system is shown below in Figure 46.

Figure 46: Location and Positioning Subsystem Diagram made by Brandei Dieter

In Senior Design II, the location and positioning subsystem diagram changed. The GPS
module communicated with the ATMEGA2560 microcontroller to the Odroid-XU4 to a
web server host on the Odroid. When the web server is accessed, the location of the robot
is shown on the map in real-time.

5.1.1.3 Control Subsystem 1

The Control Subsystem 1 will operate as the main control system of the robot. This will be
designed and implemented by the ECE team. The ATmega2560 will communicate and
power the applicable electrical components such as the Ultrasonic Sensors, the Perimeter
Wire Receiver circuit, the GPS/compass module and the L293DNE motor driver chips. It
will be powered by the Electrical Component’s battery through the LM2596 Voltage
Regulator. In Senior Design II, the L293DNE motor driver chips were upgraded to the
VNH7100AS motor driver chips because of the demand for a higher current load. The
electrical component’s battery was not powered through the LM2596 voltage regulator
anymore. It is powered through the LD1117 voltage regulator.

5.1.1.4 Control Subsystem 2

The Control Subsystem 2 will operate as the main system for wireless communications and
the camera. This will be designed and implemented by the ECE and Computer Science
team. It will process all the computer vision, image processing, path planning and map
building. It will also communicate with the Laptop application and the ATmega2560. The
wireless communication will send data to the laptop application for the battery charge
percentage, the math model and location. The wireless communication will receive the
operation of the kill switch from the laptop application and send it to the ATmega2560.
The design of the camera is shown below in Figure 47.

103
Figure 47: Control Subsystem 2 Camera Diagram made by Brandei Dieter

In Senior Design II, the computer science team decided to change this system. The camera
was no longer used and a lidar system was implemented. The lidar system was used to aide
in odometry, path planning, localization and mapping. With this advanced technology, the
use of a camera was decided to not be needed by the computer science team. The wireless
communications of the kill switch was changed to a remote controlled kill switch that has
a more reliable and higher range.

5.1.1.5 Sensors Subsystem 2

The Sensors Subsystem 2 will include the battery charge sensor. This will be designed and
implemented by the ECE team. It will operate by monitoring the motor’s battery charge
percent and send the data to the Raspberry Pi to the wireless chip to the laptop application.
The laptop application will always show the battery charge percent of the motor’s battery.
This diagram is shown below in Figure 48.

Figure 48: Battery Charge Sensor Diagram made by Brandei Dieter

In Senior Design II, the battery charge sensor was no longer used. The battery charge
percentage, current and voltage specifications can be shown on the battery charger when
plugged into the batteries. This applies to all four of the Ovonic 11.1V batteries. The
Raspberry Pi was no longer used as well. The batteries are connected to manual switches
and remote relays which left no more room for the battery charge sensors.

104
5.1.1.6 Power Subsystem 1

The Power Subsystem 1 will be the system of the power to the motors. This will be
designed and implemented by the ECE team. This battery will power the L293DNE motor
drivers with 12-Volts. The motors will be powered through the L293DNE motor drivers to
the six DC motors. Two DC motors will be used for the front wheels and three DC motors
will be used for the blades. The motors power specifications table is shown below in Table
54.

Table 54: Motors Power Specifications Table


DC Motor Operating
Quantity Current (A) Torque (Nm) Power (W)
Type Voltage (V)
Wheel
2 6 12 2.6477955 72
Motors
Blade
3 16.67 12 0.5099458 600
Motors
Total Maximum Power 672

In Senior Design II, the motors power specifications table changed due to the change in
motors. The final table is shown below in Table 55.

Table 55: Final Motors Power Specifications Table


DC Motor Max. Stall Operating Max. Torque Total Max.
Quantity
Type Current (A) Voltage (V) (Nm) Power (W)
Wheel
2 20 12 29.376 480
Motors
Blade
3 3.1 12 0.1 90
Motors
Total Maximum Power 570

5.1.1.7 Power Subsystem 2

In Senior Design II, the power subsystem has changed and is shown below after the initial
design from Senior Design I. The Power Subsystem 2 will be the system of the power to
the electrical components. This will be designed and implemented by the ECE team. The
reason to have a separate battery for the electrical components is to limit the noise produced
from the battery to the DC motors. If the electrical components and DC motors were
powered by the same battery, there would be a lot of interference with the sensitive
components, such as the sensors and inductors, on this system. This power system will
include a voltage regulator to regulate the unregulated DC Input of 12 Volts to the regulated
output of 5 Volts to the electrical components. This voltage regulator was simulated using
TI Webench power design. The electrical components were adjusted to ensure the use of
surface mount components. It has an efficiency of 89.6%, a bill of materials of $4.94, and
a footprint of 1201 mm2. The circuit simulated is shown below in Figure 49.

105
Figure 49: LM2673 Circuit Design from TI Webench Power Design Simulator

The efficiency peaks at about 93.5%. As the output current increases from one to three
amperes, the efficiency rises then drops suddenly. The comparison plot between efficiency
and output current at the voltages of 11 to 13 volts, is shown below in Figure 50.

Figure 50: Efficiency Versus Output Current Plot from TI Webench Power Design Simulator

This plot shows the output current and output voltage waveforms over time. The load
transient plot is shown below in Figure 51.

Figure 51: Load Transient Plot from TI Webench Power Design Simulator

106
The bode plot shows the magnitude and phase responses of the simulated voltage regulator
circuit. The bode plot is shown below in Figure 52.

Figure 52: Bode Plot from TI Webench Power Design Simulator

In Senior Design II, three voltage regulators were used. One voltage regulator was used to
convert a 12-Volt input to 5-Volt output to the PCB and related components needing 5-
Volts. One voltage regulator takes that 5-Volt as an input to output 3.3-Volt for lower
voltage components if needed. These two voltage regulators have high efficiencies and
were implemented off the Arduino Mega Rev3 development board. One voltage regulator
was used to convert a 12-Volt input to 5-Volt, 4-Amp output to the Odroid-XU4. The
Odroid-XU4 takes a very specific amount of voltage and current input. If the current is too
low or too high, it will not stay powered on. This voltage regulator was selected by using
TI Webench power design and is shown below in Figure 53.

Figure 53: LMZ31506 Voltage Regulator for the Odroid-XU4

5.1.1.8 Boundary Subsystem 1

The Boundary Subsystem 1 will include the Perimeter Wire Receiver circuit. This will be
designed and implemented by the ECE team. Once the square wave signal is detected from
the Perimeter Wire Generator Circuit, it will output an interrupt to the ATmega2560
microcontroller to do the proper operations. This subsystem will help guide the grass cutter
robot along the boundary wire and cut as close to the boundary as possible. The Perimeter
Wire Receiver circuit will have the LM324N that will amplify the signal detected from the
107
Perimeter Wire Generator Circuit. The signal will be detected by two inductors on each
side of the robot.

5.1.1.9 Drive Subsystem

In Senior Design II, the drive subsystem avoided obstacles using ultrasonic sensors and a
lidar system to effectively map, path plan and avoid obstacles/objects. The Drive
Subsystem will be the system of the grass cutter’s movement. This will be designed and
implemented by the ECE team. One Motor will be allocated to the front left wheel, front
right wheel, right string-based blade, middle string-based blade and left string-based blade.
Both the front wheel motors are connected to one motor driver chip. The left and right
string-based blade will be connected to one motor driver chip and the middle string-based
blade will be connected to one motor driver chip. The motor driver chips will be
programmed to control the motor functionality, speed and direction. To turn right, more
power will be allocated to the right rear wheel. To turn left, more power will be allocated
to the left rear wheel. When the kill switch signal is sent, all the motors will be instructed
to turn off. When an obstacle is detected, the motors will operate to turn the wheels
according to the decision that is made by the Ultrasonic Sensors and the lidar system for
the new cutting path. The drive subsystem flowchart is shown below in Figure 54 to show
the functions of the drive subsystem.

Figure 54: Drive Subsystem Flowchart made by Brandei Dieter

In Senior Design II, there were four motor drivers used and the wheel motor batteries, three
blade motors, PCB and Odroid all have its own battery. The drive subsystem of the grass
cutter will include 5 DC motors and 3 motor drivers. They will be powered by the
ATmega2560 and the 12-Volt Motor’s battery. Figure 55 below shows a diagram of the
drive subsystem on the grass cutter.

108
Figure 55:Drive Subsystem Diagram made by Brandei Dieter

5.1.1.10 Wireless Communications Subsystem

In Senior Design II, the wireless communications subsystem was no longer used due to the
computer science team changing to a web server host that can be directly accessed through
the Odroid-XU4. The Wireless Communications Subsystem was the system that
communicates from the ATmega2560 to the Raspberry Pi 3 Model B to the Laptop
Application. This will be designed and implemented by the ECE and Computer Science
Team. This will communicate through a wireless chip to transmit and receive information.
The information that will be sent through the wireless communications system will be the
remote kill switch instruction, location, and battery charge percent data. The diagram of
the wireless communications system is shown below in Figure 56.

Figure 56: Wireless Communications Diagram made by Brandei Dieter

5.1.1.11 Web Server Subsystem

In Senior Design II, the laptop application was changed to a web server. In Senior Design
I, the Laptop Application Subsystem will be the system that will communicate with the
Raspberry Pi. This will be designed and implemented by the Computer Science Team. This
application will include a remote kill switch that will be capable of turning the cutting
system and locomotion off at approximately 50 feet. It will also include a math model that
will estimate how much grass area the robot can cut per hour for analysis. The application

109
will show the main battery’s charge percent to show a real-time charge percent on the
battery. The application will be capable of showing the location of the grass cutter even
after the main batteries die so someone can go find the grass cutter to charge the batteries.

5.1.1.12 Camera Subsystem

The Camera Subsystem will include the Night Vision Camera. This system will be
designed, implemented and tested by the Computer Science team. The camera will be used
in conjunction with the Raspberry Pi Board for computer vision, map building, image
processing and path planning. In Senior Design II, the night vision camera was no longer
used. After extensive testing, the night vision camera got way too hot for our applications
and also the raspberry pi was no longer used.

5.1.1.13 Boundary Subsystem 2

The Boundary Subsystem 2 will include the Perimeter Wire Generator Circuit. This system
will be designed, implemented and tested by the ECE team. This system is crucial for the
grass cutter to stay inside the set boundaries to cut the grass in. The perimeter wire
generator circuit will output a square wave signal that the receiver circuit on the grass cutter
will receive. This subsystem is vital for the operation of the boundary system to function
properly. The perimeter wire generator circuit will have the NE555 Timer as the main
component to generate the square wave output. There will be a 12 Volt Lithium Polymer
battery powering this circuit. In Senior Design II, a 3.7-Volt lithium ion battery was used
over the 12-Volt battery.

5.1.1.14 Power Subsystem 3

The Power Subsystem 3 will be the system of the power to the Perimeter Wire Generator
Circuit. This system will be designed, implemented and tested by the ECE team. This
battery will only power the perimeter boundary circuit and perimeter boundary wire. It is
crucial for the boundary system to function properly. The Perimeter wire specifications is
shown below in Table 56.

Table 56: Perimeter Wire Specifications Table


Electrical
Quantity Current (A) Operating Voltage (V) Power (W)
Component
NE555 Timer 1 0.2 12 2.4
Total Maximum Power 2.4

5.1.2 Final Design Architectures and Related Diagrams


In Senior Design II, the hardware block diagram of the Grass Cutter System was finalized
and shown below in Figure 57.

110
Figure 57: Updated Hardware Block Diagram of the Grass Cutter System made by Brandei Dieter

In Senior Design II, the hardware block diagram of the boundary system was finalized and
is shown below in Figure 58.

Figure 58: Updated Hardware Block Diagram of the Boundary System made by Brandei Dieter

In Senior Design II, the power system has been updated and finalized. The LMZ31506
power module was simulated on TI Webench Power Designer. This system schematic is
shown below in Figure 59.

111
Figure 59: LMZ31506 Circuit Design designed by Brandei Dieter

5.2 Project Software Design Details


The software design refers to the overall programming of the Printed Circuit Board. This
will control the whole system using ultra sonic sensors and Computer Vision (CV). The
program will be capable of taking all the inputs from different devices, make decisions and
appropriate outputs to the motors. The ATMega2560 will handle the program control flow
to give the robot driving instructions. This machine will also have various other features
including a magnetic compass, a boundary circuit, and a wireless application to activate a
kill switch. All the previously mentioned features will be interfaced through software
implementation. some important challenges to solve in this project are planning a path, as
well as mapping locations that have already been visited. Since the robot will rely only on
the ultrasonic sensors, and camera to plan and track its motion, there will be much emphasis
on using computer vision to generating accurate results when navigating. The following
image, in Figure 60, will illustrate how the microcontroller will interact with each system.

Figure 60: Subsystem Features and Software Design Space made by Mario Mcclelland

5.2.1 Overall Software Functionality


Using multiple sensors, there will be many signals incoming to give the robot the data
needed to process that will make its drive decision. Ideally, the robot should be left

112
anywhere within its legal perimeter and successfully navigate and cut any new area it
traverses through. Initially, the robot will measure the initial position and drive forward
until it meets the boundary. This can be realized through a function that will be called
findBoundary(). For any new bounded area, the robot will cut, it will traverse around the
boundary first, to assist in creating an appropriate map for the area to be cut. Once the robot
encounters the boundary wire, it will rotate to align itself parallel to the boundary wire and
drive until it completes a full circuit around the area being cut. The following diagram will
illustrate the startup routine that will take place when mapping the boundaries of the field
being cut. The initial startup flow chart is shown below in Figure 61.

Figure 61: Initial Start Up flow chart made by Mario Mcclelland

5.2.1.1 Ultrasonic Sensor and Obstacle Avoidance

In conjunction with a camera, the ultrasonic sensor will be programmed to measure the
distance between the objects that the computer vision encounters. To save power, the
sensor will only be given power when it is needed. Since the start up times are generally
very low for this kind of device, it will be helpful when considering longevity. Some of the
code for this is shown in Figure 62.

Figure 62: Sample Code for Sensors made by Mario Mcclelland

113
Once the value of d in the code above is at an acceptable value, it will engage the robot to
avoid the obstacle by turning it until the sensor is turned off again. Once the sensor is turned
off, the robot will then rely on computer vision to navigate parallel to the obstacle that is
encountered and trim the edges of the obstacle. In some cases, the obstacle might be
ignored given the intelligence of the result. The following image shows a diagram relating
how the system will interact with the microcontroller and the real world as a closed looped
system. The diagram of how the microcontroller and ultrasonic sensor will communicate
is shown in Figure 63 below.

Figure 63: Microcontroller to Ultrasonic Sensor Communications Diagram made by Mario


Mcclelland

5.2.1.2 Camera and Obstacle Detection

For this project, the camera will be programmed by the computer science team. The
relevance of using computer vision is to steer clear of obstacles, as well as make sure there
is a clean cut around them. Ideally, any obstacle that is encountered at less than 5 inches,
will generate an interrupt service routine, that will give the robot instructions rotate it
appropriately and cut along the edges of the object that is encountered. This approach will
be like the approach taken to map the area of the land, in which the robot will attempt to
move in a direction parallel to the object that is encountered. The diagram of how the
microcontroller and the camera will communicate is shown in Figure 64 below.

Figure 64: Microcontroller to Camera Communications Diagram made by Mario Mcclelland

114
The camera software flowchart will describe its decision making in the algorithm for the
grass cutter system. The camera will check if the environment has been mapped or not. If
it has been, it will then path plan. When an object is in its path, it will make a path decision
and repeat this loop forever. These algorithms will be done on the Raspberry Pi 3 Model
B. The camera software flowchart is shown below in Figure 65.

Figure 65: Camera Software Flowchart made by Mario Mcclelland

5.2.1.3 Perimeter Wire System Software Design

One of the critical aspects of this project require a mechanism that will not allow the robot
to leave the area that it is designated to cut. For this project, the solution that has been made
is a boundary wire that will set the legal perimeter of the robot. When the signal is received
that the robot has encountered the boundary wire, it will either cut around the boundary of
the lawn to be cut or avoid it completely by making turning around and cutting new grass
orthogonal to the boundary wire. Upon reaching the boundary, a circuit that will be
configured into the robot will send a signal to the microcontroller that will give instructions
to handle this. The strength of the signal can be changed to increase or decrease the distance
travelled between the robot and the boundary wire. Another important aspect of this design
feature is that the robot will always seek the perimeter of the area out to the boundary wire
and cut around the boundary to create a map according to the boundary that will enclose
the field.

The perimeter wire system software will implement an analog read algorithm. The pins
from the perimeter wire receiver circuit will output as an input to two analog pins on the
ATmega2560. The two inductors will receive the signal from the perimeter wire and the
values will be reported to the ATmega2560. The values shown are a ratio of the input
voltage and integer that results in voltage per unit. Some of the code for this is shown below
in Figure 66.

115
Figure 66: Sample Code for Perimeter Wire System made by Mario Mcclelland

5.2.1.4 GPS Module with Compass

Using a combination of the boundary wire implementation, sensors, camera as well as the
GPS module that will control much of the locomotion for the system. It will calculate its
positioning, and we can visualize the visited points using a free tool that can be found
online. This visualization will also set hard boundaries for the system when mapping when
travelling the boundary of the field to be cut. We can use the Raspberry Pi to communicate
through Wi-Fi and will store this information to also keep track of the grassy areas that
have been already visited.

The compass that is also integrated with the GPS module is capable of measuring rotations
about the central axis of the robot. This will accurately turn the system at small increments
of angles and use the computer vision for any threshold that will allow us to steer in a wide
variety of directions instead of the traditional left, right, reverse. This module is also
capable of showing the exact location, position and speed of the robot. Some of the sample
code for the GPS module is shown below in Figure 67.

Figure 67: Sample Code for GPS Module made by Mario Mcclelland

5.2.1.5 Motor Control System

The system will drive itself using the motors that will be equipped with motor driver chips.
The motor driver chips will receive a calculated input from the microcontroller. The
combination of sensors used will define the locomotion of the robot and its behavior. By
evaluating the data received from the obstacle avoidance and obstacle detection sub system
the motor driver chips will receive an operation from the microcontroller to send out the
proper voltages, speed and power specifications to the DC motors. The motor driver chips
116
controlling the two front wheels will be programmed in such a way that the operations sent
from the microcontroller will turn the motors clockwise, counter-clockwise, faster or
slower. The motor driver chips controlling the three blades will be programmed in such a
way that the operations from the microcontroller will turn the motors clockwise or counter-
clockwise. The motor driver chips will also be responsible for relaying the signal from the
microcontroller to turn the motors on and off.

5.3 Final Software Design


In conjunction with the Computer Science team, in Senior Design II, a final software class
diagram was constructed. This includes the use of Simultaneous Localization and Mapping,
odometry, all of the sensors and motor controllers. This is shown below in Figure 68.

Figure 68: Software Class Diagram

In Senior Design II, a final robot state machine was constructed with the Computer Science
Team and is shown below in Figure 69.

Figure 69: Robot State Machine

117
In Senior Design II, a startup software flowchart was constructed. This system is for when
the system first turns on and steps into a new environment. This is shown below in Figure
70.

Figure 70: Startup Software Flowchart

118
6 Project Testing and Prototype Design
The prototype design will be used to test a model of the system for functionality. The
software and hardware of the grass cutter system will be tested. Some of the select parts
for this project have not yet been ordered or received. Those parts are scheduled to order/be
received in Senior Design II in Spring 2019 due to the shipping time and ordering process
from overseas. This will include the String-Based Blade DC motors, Motor’s 12-Volt
battery, Electrical Component’s 12-Volt battery and the perimeter 12-Volt wire’s battery.
In Senior Design I, the parts that have been ordered and received so far for testing are
shown below in Table 57.

Table 57: Parts Ordered and Received for Testing


Item Place of Order Application
Used for generating square wave
NE555 Timer Robotshop.com
signal through the perimeter wire
Used for overall PCB designs for
Resistors Robotshop.com
electrical components
Used for overall PCB designs for
Capacitor Robotshop.com
electrical components
Inductors Robotshop.com Used for boundary receiver circuit
20 AWG Perimeter Wire Robotshop.com Used for Perimeter Wire
Power Jack Robotshop.com Used for boundary generator circuit
Male Headers Digikey.com Used as connectors to PCB
Female Headers Digikey.com Used as connectors to PCB
2 Pin Screw Terminals Digikey.com Used as connectors to PCB
Used to connect pins of electrical
Jumper Wires Amazon.com
components to PCB
Operational Amplifier used for
LM324N Robotshop.com
boundary receiver circuit
Used for running Computer Vision
Raspberry Pi 3 Model B Amazon.com and image processing algorithms and
wireless communications
Used to aide in computer vision and
Night Vision Camera Amazon.com
image processing
HC-SR04 Ultrasonic Used for obstacle detection and
Amazon.com
Sensors avoidance
LM2596 Motor Driver Digikey.com Used for DC motor control
Holybro GPS Module Amazon.com Used for location and positioning
Used for overall PCB control of all
Arduino MEGA Amazon.com
the electrical components
Battery Charge Sensor Robotshop.com Used for motor battery
Breadboard Amazon.com Used for testing

119
6.1 Prototype Design
The Schematic and Printed Circuit Board will be designed on EasyEDA.com. The use of
surface mount components will be implemented for the resistors, capacitors,
microcontroller and integrated circuits that are applicable to the designs. Some electrical
components are not available as surface mount for this design.

6.1.1 First Grass Cutter System Circuit Schematic


This schematic was design on EasyEDA.com. This includes the main components that will
be connected to the custom-made Printed Circuit Board for the Grass Cutter System. This
will include the overall control, locomotion, voltage regulators, motors battery
connections, electrical components battery connections, GPS module, Ultrasonic Sensors,
interface with the Raspberry Pi and the motor drivers. The Grass Cutter System Circuit
Schematic design is shown below in Figure 71.

Figure 71: Grass Cutter System Circuit Schematic made by Brandei Dieter

The PCB design of the grass cutter system circuit schematic has not been completed with
this design. The PCB design is constructed just not organized. The final design will be
completed by Senior Design II.

120
6.1.2 Final Grass Cutter System Schematic
In Senior Design II, the schematic has been altered. The updated Grass Cutter System
Circuit Schematic Designs are shown below in Figures 72-76. The schematic of the
ATMEGA2560, Voltage regulators and related components are shown below in Figure 72.

Figure 72: Schematic of ATMEGA2560 and Voltage Regulators made by Brandei Dieter

The schematic of the ATMEGA16U2, USB connection and related components are shown
below in Figure 73.

Figure 73: Schematic of ATMEGA16U2 and USB Connection made by Brandei Dieter

121
The schematic of the wheel and blade motor drivers, motor power connectors and related
components are shown below in Figure 74.

Figure 74: Schematic of Wheel and Blade Motor Drivers made by Brandei Dieter

The schematic of the voltage regulator to power the Odroid-XU4 and related components
are shown below in Figure 75.

Figure 75: Schematic of Voltage Regulator for Odroid made by Brandei Dieter

122
The schematic of the perimeter wire receiver, inductor sensor connections and related
components are shown below in Figure 76.

Figure 76: Schematic of Perimeter Wire Receiver made by Brandei Dieter

6.1.3 Final Grass Cutter System PCB


In Senior Design II, the PCB has been finalized. The final PCB design is shown below in
Figure 77.

Figure 77:PCB of Grass Cutter System made by Brandei Dieter

123
6.1.4 Initial Perimeter Wire Generator Schematic
The Perimeter Wire Generator Schematic design is shown below in Figure 78.

Figure 78: Perimeter Wire Generator Circuit Schematic made by Brandei Dieter

6.1.5 Final Perimeter Wire Generator Schematic


In Senior Design II, the Perimeter Wire Generator Schematic has been finalized. This is
shown below in Figure 79.

Figure 79: Schematic of Perimeter Wire Generator Circuit made by Brandei Dieter

124
6.1.6 Initial Perimeter Wire Generator PCB
The Perimeter Wire Generator circuit PCB design is shown below in Figure 80.

Figure 80: Perimeter Wire Generator Circuit PCB made by Brandei Dieter

6.1.7 Final Perimeter Generator PCB


In Senior Design II, the perimeter generator PCB has been finalized. This is shown below
in Figure 81.

Figure 81: PCB of Perimeter Wire Generator made by Brandei Dieter

125
6.2 Testing
In Senior Design I, testing of the electrical components will ensure the correct power
specifications, accuracy, efficiency and functionalities of all the components that will be
used in this project. Table 58 below shows the overall testing results.

Table 58: Overall Testing Results


Technology
Equipment Used Results
Tested
-Verified speed control
-LM2596 Motor -Verified bi-directional control
Driver Chip -Verified ability to control two DC motors
Motor Control -DC Gear Motors independently
-Arduino Mega -Verified software algorithms using the
-Jumper Wires Arduino Mega and the LM2596 Motor
Driver Chips
-Verified accuracy of measuring distance
-HC-SR04 Ultrasonic from an object
Sensors -Verified the detection of objects
Ultrasonic
-Arduino Mega -Verified software algorithms using the
-Jumper Wires Arduino Mega and the HC-SR04 Ultrasonic
Sensors
-Verified the functionality of the perimeter
boundary system
-NE555 Timer
-Verified the accuracy of receiver circuit to
-Resistors
Perimeter the perimeter wire generator circuit
-Capacitors
Boundary -Verified the range of the receiver coils to
-Inductors
System the perimeter wire
-LM324N Op-Amp
-Verified the software algorithms using the
-Jumper Wires
Arduino Mega and perimeter wire receiver
and generator circuit
-Verified the functionality of the camera
using Raspbian OS
-Verified image and video of the Night
-Night Vision Camera
Vision Camera
Camera -Raspberry Pi 3 Model
-Verified the LEDs turning on and properly
B
functioning in a dark environment
-Verified the software algorithms using the
Raspberry Pi 3 and the Night Vision Camera
-Verified the functionality of the GPS
-Holybro GPS Module module
Location and
-Jumper Wires -Location and positioning functions verified
Positioning
-Arduino Mega -Verified the software algorithms using the
GPS module and the Arduino Mega

126
6.2.1 Motor Control Breadboard Testing
In Senior Design I, the motor testing was tested with the Arduino Mega with the
ATmega2560 microcontroller, LM2596 Motor Driver Chip and DC gear motors. The use
of a miniature car platform was used for prototyping before the final design is constructed.
The Arduino Mega was programmed using a test code for motor control with the LM2596
Motor driver chips on the Arduino IDE. The testing of the motor control was successful.
The speed, delays, and direction of the motors were successfully verified. The testing is
shown below in Figure 82.

Figure 82: Motor Driver Chip and DC Motors Tested picture taken by Brandei Dieter

6.2.2 Ultrasonic Breadboard Testing


In Senior Design I, the Ultrasonic testing was tested using the Arduino Mega with the
ATmega2560 microcontroller and HC-SR04 Ultrasonic Ranging Modules. The Arduino
Mega was programmed using a test code for sensors with the HC-SR04 Ultrasonic Sensors
on the Arduino IDE. The testing of the ultrasonic sensors was successful. The accuracy,
range and function were successfully verified. The testing is shown below in Figure 83.

Figure 83: Ultrasonic Sensors Tested picture taken by Brandei Dieter

127
The measurement of the sensors to the object was measured at 10 centimeters and
successfully verified through the program ran through the Arduino IDE. This is shown
below in Figure 84.

Figure 84: Ultrasonic Sensors Accuracy Tested picture taken by Brandei Dieter

6.2.3 Motor Testing with the Ultrasonic Sensor


In Senior Design II, the testing of the wheel and blade motors in conjunction with the
ultrasonic sensor was successful. This is shown below in Figure 85.

Figure 85: Motor and Ultrasonic Sensor Testing

128
6.2.4 Perimeter Boundary System Breadboard Testing
In Senior Design I, the Perimeter Boundary System testing was tested using the Arduino
Mega with the ATmega2560 microcontroller, various resistors, various capacitors,
LM324N Operational Amplifier, NE555 Timer, 20AWG perimeter wire, inductors, jumper
wires and a variable resistor. The Arduino Mega was programmed using a test code for
analog read form the analog input pins, with the perimeter boundary system on the Arduino
IDE. The testing of the Perimeter Boundary System was successful. The accuracy, range
and function were successfully verified. The testing is shown below in Figure 86.

Figure 86: Perimeter Boundary System Tested picture taken by Brandei Dieter

The inductor sensors to the perimeter wire maps input voltages between 0 and 5 Volts into
integer values between 0 and 1023. This value corresponds to a resolution between
readings of a ratio between the input voltage and integer values resulting in how much
voltage per unit. This testing was successfully verified through the program ran through
the Arduino IDE. This is shown below in Figure 87.

Figure 87: Perimeter Boundary System Functionality Tested picture taken by Brandei Dieter

129
6.2.5 Camera Raspberry Pi Testing
In Senior Design I, the camera testing was tested using the Raspberry Pi 3 Model B and
the Raspberry Pi Night Vision Camera. The Raspberry Pi 3 Model B was programmed
using a test code for camera imaging and video, with the night vision camera on the
Raspbian Operating System. The testing of the camera was successful. The functionality
of the camera was verified. In Senior Design II, this was no longer used. The testing is
shown below in Figure 88.

Figure 88: Camera Tested picture taken by Brandei Dieter

6.2.6 Location and Positioning Breadboard Testing


The GPS module testing was tested using the Arduino Mega 2560 and the Holybro Micro
M8N GPS module. The Arduino Mega 2560 was programmed using a test code for GPS
location and positioning with GPS module on the Arduino IDE. The testing of the GPS
module was successful. The functionality of the GPS module was verified. The testing is
shown below in Figure 89.

Figure 89: GPS Tested picture taken by Mario McClelland

130
The sequence of characters, shown below, are separated by commas which are standardized
data specifications called NMEA. Each value between the comma represents a certain
value which will be parsed using a library installed onto the chip. The parser will be able
to identify the global positioning, as well as many other features including speed, time,
date, and direction. The standard example of the GPS output is shown below in Figure 90.

Figure 90: Standard Example GPS Output by Mario McClelland

6.2.7 Final Prototype

In Senior Design II, the final prototype was constructed. This is shown below in Figure
91.

Figure 91: Final Prototype Pictures

131
7 Administrative Content
The administrative content section includes fall 2018 milestones, spring 2019 milestones,
PCB vendor information and budget and financing of this project.

7.1 Fall 2018 Senior Design I Milestones


The Fall 2018 Senior Design I milestones are to keep the project and group on track and
organized for the fall semester. Table 59 shown below is a detailed table showing the tasks,
start and end dates, status and responsibilities of each task.

Table 59: Fall 2018 Senior Design I Milestones Table


Fall 2018- Senior Design I
Num. Task Start End Status Responsible
1 Group Members Established 08/22/18 08/22/18 Completed Group 19
2 Research Project Idea 08/22/18 09/14/18 Completed Group 19
3 Project Idea 08/22/18 08/29/18 Completed Group 19
Initial Document – Divide
4 09/10/18 09/14/18 Completed Group 19
& Conquer
Prepare Questions for
5 09/03/18 09/14/18 Completed Group 19
Meeting
6 SD1 Meeting 09/17/18 09/19/18 Completed Group 19
7 Sponsor Meeting 09/20/18 09/21/18 Completed Group 19
8 Cover Page 09/01/18 09/01/18 Completed Group 19
9 Table of Contents 09/01/18 11/28/18 Completed Group 19
10 Project Description 09/01/18 09/03/18 Completed Group 19
11 Research 09/01/18 11/28/18 Completed Group 19
Related Standards and
12 09/01/18 09/07/18 Completed Group 19
Design Constraints
13 Hardware Design 09/20/18 10/01/18 Completed Group 19
14 Software Design 10/01/18 11/01/18 Completed Group 19
15 Conclusion 11/15/18 11/28/18 Completed Group 19
16 Copyright Permissions 11/15/18 11/28/18 Completed Group 19
17 Citations 11/16/18 11/30/18 Completed Group 19
Table of Figures and Table
18 11/16/18 11/30/18 Completed Group 19
of Tables
19 Final Document Draft 11/20/18 11/21/18 Completed Group 19
20 SD1 Meeting 11/23/18 11/23/18 Completed Group 19
21 Revision of Final Document 11/30/18 11/30/18 Completed Group 19
22 Final Document Due 12/03/18 12/03/18 Completed Group 19
23 Order Components 09/28/18 12/01/18 Completed Group 19
24 Build Prototype 10/15/18 11/30/18 Completed Group 19
25 Test Electrical Components 11/20/18 11/30/18 Completed Group 19
26 Test with breadboard 11/30/18 11/30/18 Completed Group 19

132
7.2 Spring 2019 Senior Design II Milestones
The Spring 2019 Senior Design II milestones are to project the future goals in the spring
to keep the project and group on track and organized. Table 60 shown below is a detailed
table showing the tasks, start and end dates, status and responsibilities of each task.

Table 60: Spring 2019 Senior Design II Milestones Table


Spring 2019- Senior Design II
Num. Task Start End Status Responsible
Electrical Components
1 11/20/18 01/10/19 Pending Group 19
Ordered
2 Batteries Ordered 12/03/18 01/10/19 Pending Group 19
Group 19 and
3 Verify committee members 01/01/19 01/20/19 Pending committee
members
4 Schematic Design Finalized 01/01/19 01/20/19 Pending Group 19
5 PCB Design Finalized 01/01/19 01/25/19 Pending Group 19
6 Group Meeting 01/20/19 TBD Pending Group 19
Prototype Equipment
7 01/22/19 1/22/19 Pending Group 19
Bought
PCB Board schematic for
8 01/30/19 02/03/19 Pending Group 19
prototype trial #1
9 Ordered trial #1 PCB 02/03/19 02/04/19 Pending Group 19
Initial Wheel Motors in
10 02/10/19 02/09/19 Pending Group 19
Operation
Initial Blade Motors in
11 02/10/19 02/09/19 Pending Group 19
Operation
Sensor on Microcontroller
12 02/20/19 02/22/19 Pending Group 19
initiated
Operation of wheels and
13 Sensors for Trial #1 02/28/19 02/28/19 Pending Group 19
prototype complete
14 Group Meeting 03/01/19 03/01/19 Pending Group 19
15 Improve Prototype 03/02/19 03/10/19 Pending Group 19
16 Test Prototype Trial #2 03/11/19 03/11/19 Pending Group 19
17 Group Meeting 03/12/19 03/12/19 Pending Group 19
18 Improve Prototype 03/13/19 03/14/19 Pending Group 19
19 Group Meeting 03/15/19 03/15/19 Pending Group 19
Finalize Prototype (Final
20 03/15/19 04/01/19 Pending Group 19
Trial #3)
21 Finished Product 04/10/19 04/20/19 Pending Group 19
22 Peer Report TBD TBD Pending Group 19
23 Final Documentation 01/01/19 05/03/19 Pending Group 19
Group 19 and
24 Final Presentation TBD TBD Pending committee
members

133
7.3 PCB Vendor [90]
After careful consideration and research, the PCB Vendor being used is JLCPCB. It will
be convenient and cost efficient to order from directly from EasyEDA.com where the
schematic and PCB will be designed. “JLCPCB is the largest PCB prototype enterprise in
China and a professional PCB manufacturer featured of large scale, well equipment, strict
management and superior quality [90]”. The prices for producing PCBs from JLCPCB are
shown below in Table 61.

Table 61: Prices and Specifications of PCBs from JLCPCB.com [90]


Layers 2 4 6
Size ≤ 100x100mm ≤ 100x100mm ≤ 100x100mm
Material FR4 FR4 FR4
Thickness 1.6mm 1.6mm 1.6mm
Weight 1oz 1oz 1oz
Plate
HASL HASL HASL
Finish
Green Solder Mask Green Solder Mask Green Solder Mask
Color
White Silkscreen White Silkscreen White Silkscreen
Quantity 10 pcs 10 pcs 10 pcs
Delivery
2-3 days 4-5 days 6-7 days
Time
Cost of
$2.00 $15.00 $80.00
PCBs

The shipping details are shown below in Table 62. Shipping is done through DHL Express
or Standard Registered Air Mail.

Table 62: Shipping Details from JLCPCB.com [91]


DHL Registered Air Mail
Delivery Option Express Standard
Expected Delivery Time 3-4 days 15-30 days
Package Weight 0.16 kg 0.16kg
Delivery Cost $18.50 $9.92

The assembly of the Printed Circuit Boards (PCBs) will require soldering of components
and wires to the board. There will be two designed PCBs, one for the overall grass cutter
system and one for the perimeter wire boundary generator system. The PCBs will be
designed in EasyEDA.com. The designed PCB will be labeled for where each component
or device will be placed. There will be two designs that will be designed, implemented and
ordered from JLCPCB. This includes the perimeter generator circuit and the overall system

134
circuit. There are a variety of capabilities available for the Printed Circuit Board. The
different capabilities are as shown below in Table 63.

Table 63: PCB Capabilities from JLCPCB.com [92]


Layers 1-6 layers PCB prototypes Available
Material FR-4 Board Material
Max Dimensions 400x500mm
Dimension Tolerance ±0.2mm for CNC routing and ±0.2mm for V-scoring
Solder Mask Liquid Photo-Imageable Solder Mask
Thickness 0.4-2.0mm
Thickness Tolerance ±10% for T ≥1.00mm and ±0.1mm for T < 1.0mm
Finished Outer Layer Copper1oz/2oz
Finished Inner Layer Copper0.5oz
5mil for Single- and Double-Layer PCBs, 3.5mil for
Minimum Trace
Multi-Layer PCBs
5mil for Single- and Double-Layer PCBs, 3.5mil for
Minimum Spacing
Multi-Layer PCBs
0.3mm for Single- and Double-Layer PCBs, 0.2mm
Minimum Via Hole Size
for Multi-Layer PCBs
0.6mm for Single- and Double-Layer PCBs,
Minimum Via Diameter
0.45mm for Multi-Layer PCBs
Minimum distance between via (plated holes) and
Via to Trace
trace is 5mil
Drill Hole Size 0.2-6.3mm
Hole Size Tolerance ±0.08mm
Annular Ring ≥ 3mil
Minimum Character Width ≥ 6mil
Minimum Character Height ≥ 32mil
Trace to Outline ≥ 0.2mm
Panelization Without Space 0mm
Panelization With Space ≥ 2mm
Minimum Edge Rails 3mm
Cooper Hatching will be applied if the PCBs
Copper Hatching with Pads
designed with Pads
Outline must be used to design if there are many
Slot Drawing with Pads
non-played (NPTH) holes
Protel/dxp Solder Layer Solder Layer and Paste Layer are not the same
Protel/dxp Outline Layer Pick Keep out Layer or Mechanical Layer as outline
Minimum Half Hole Diameter 0.6mm

7.4 Budget and Financing


These are the parts that have been selected that are applicable to add to this table for Senior
Design I. This table is subject to change as the project progresses into Senior Design II.
The project budget and financing table is shown below in Table 64.
135
Table 64: Project Budget and Financing Table1
Item Description Qty. Cost
Development Board 1xRaspberry Pi 3 Model B 1 35.00
Microcontroller 1xATmega2560 1 12.00
Development Board 1xArduino Mega 1 38.50
Microcontroller 1xATmega16U2 1 2.53
Perimeter Wire 1xAutomower Boundary Wire 1 59.00
Cable 1x20AWG 1M cable 1 1.00
Screw Terminals 10xED10561-ND, 125V, 6A, 1x02 2.54mm 3 10.00
NE555P Timer 1xNE555P Timer 1 0.95
Power Jack 1xEJ503A Power Jack 1 1.00
LM324N 1xLM324N 1 0.52
Resistors Kit 1206 Package 1 2.00
Variable Resistor 1xS64W Variable resistor 4.7kΩ, 3296W 1 1.00
Capacitors Kit 1206 Package 1 2.00
Inductors 2xRLB0914 Inductors 1mH, 420mA 2 2.00
Inductor Wires Adjustable size Wires 2 1.00
Night Vision 1xRaspberry Pi 3 Model B Night Vision
1 25.99
Camera Camera
Ultrasonic Sensor 2xHC-SR04 Ultrasonic Sensor 2 5.00
Battery Charge
1xLiPo Fuel Gauge Battery Charge Monitor 1 9.95
Sensor
GPS Module 1xHolybro Micro M8N GPS Module 1 36.99
Pin Header 1x08 Pin Header for Ultrasonic Sensors 1 0.25
Pin Header 1x06 Pin Header for GPS Module 1 0.25
1xUSB Wi-Fi (802.11b/g/n) Module with
USB Wi-Fi Module 1 19.95
Antenna
Motor Driver Chip 3xL293DNE Motor Driver Chip 3 10.00
Wheel Motors 2xDC 12V/180RPM Geared Motor 2 25.00
String-Based Blade
3xMachifit 895 DC Gear Motor 3 48.00
Motors
Step-Down Voltage 1xLM2673S-ADJ 3-A Step-Down Voltage
1 4.86
Regulator Regulator with Adjustable Current Limit
LDO Voltage 1xLP2985-33 Low Drop Out Voltage
1 3.00
Regulator Regulator
LMV358
1xLMV358 Low-Voltage Rail-to-Rail Output
Operational 1 2.00
Operational Amplifier
Amplifier

136
The project budget and financing table continues below in Table 65.

Table 65: Project Budget and Financing Table2


Item Description Qty. Cost
2x1kΩ(CAY16), 2x10kΩ(CAT16),
Chip Resistor Array 1 5.00
1x22Ω(CAY16)
Diode 1xMBRD360T4G T0-252-2 Schottky Diode 1 1.00
Inductors 1xXAL1010-152MEB Fixed Inductor 1.5µH 1 1.00
1xFDN340P Single P-Channel, Logic Level,
MOSFET 1 2.00
Power Trench MOSFET
Battery Wires 6xBattery Wires to the battery terminals 6 6.00
Motors Battery 1xDMD 100Ah/12V Li-Ion Battery 1 169.00
Electrical
1xYinkai Power 20Ah/12V Li-Ion Battery 1 50.00
Components Battery
Perimeter Wire
1xGreatMax 10Ah/12V Li-Po Battery 1 13.00
Battery
String-Based
Pivotrim Pro String Trimmer 1 10.99
Trimmer Head
String-Based Blade Nylon String-Based Blade 1 10.00
Shaft Adapters 0.5-inch shaft 1 5.00
Caster Wheels Powertec Swivel Heavy Duty Caster 1 20.00
Front Wheels MaxPower 335100 Lawn Mower Wheel 2 50.00
PCB Ordered from JLCPCB (in quantities of 5) 1 2.00
Crystal 1xCSTCE16M0V53-R0 16MHz Crystal 1 1.00
Crystal 1xQS 16MHz Crystal 1 1.00
Inductor 1xBLM21(0805) 1 1.00
Reset Fuse 1xMF-MSMF050-2 500mA 1 1.00
Varistor 2xCG0603MLC-05E Varistor (0603) 2 2.00
2xCD1206-S01575 Diode 100V, 150MA
Diodes 2 2.00
(1206)
Tactile Switch 1xTS42031-160R-TR-7260 Tactile Switch 1 1.00
Pin Header 2x(3x2M 2x03 Pin Header) 2 0.50
Pin Header 1x(2x2M -NM 2x02 Pin Header) 1 0.25
Pin Header 5x(8x1F-H8.5 1x08 Pin Header) 5 1.25
Pin Header 1x(10x1F-H8.5 1x10 Pin Header) 1 0.25
Pin Header 1x(18x2F-H8.5 2x18 Pin Header) 1 0.25
USB port 1xPN61729 USB-B Port 1 5.00
Sub-Total ($) 721.23
Tax (7%) 771.72
Shipping ($) 100.00
Total Cost ($) 871.72
Projected Cost Ceiling ($) 2000

137
8 Project Summary and Conclusion
This section is the end of the project documentation. It identifies and describes project
roles of all the interdisciplinary teams and individual roles, potential project design issues
that arose from limitations of resources or constraints, future goals for the autonomous
grass cutter, and a conclusion about this project documentation.

8.1 Project Roles


This project will be developed in conjunction with an Electrical and Computer Engineering
Team, Computer Science Team and Mechanical Engineering Team. The focus of the
Electrical Engineering Team is the hardware, software, power systems, and electrical
design and implementation. This will include the power specifications to all the
components, battery specifications, and the design, implementation and testing of the
various components and Printed Circuit Board (PCB), and the software algorithms for the
hardware. Individuals roles were assigned as shown in Table 66 below.

Table 66: Team Member’s Project Roles


Team Member Name Task
-Ordering Parts
-Hardware Design
Brandei Dieter -Schematic Design
-PCB Design
-Motor Specifications
-Design Constraints
Christopher -Standards
Entwistle -String-Based Blade Specifications
-Charging System
-Software Design
-ATmega2560 Programming
-Motor Control Software
-Ultrasonic Sensors Software
Mario Mcclelland
-Camera Software
-Communication with Raspberry Pi 3 Model B with
ATmega2560
-Location and Positioning using the GPS/Compass Module
-Power Specifications
Daniel Warner -Battery Specifications
-Motor Control Specifications
-Testing of Electrical Components
-Testing of Breadboard Designs
All Team Members -Testing Accuracy of Components
-Parts Selection
-Technologies Selection

138
The focus of the Computer Science Team is the software algorithms of the Raspberry Pi
Development Board. This will include the implementation of Computer Vision, path
planning, image processing, wireless communications and the laptop application.

The focus of the Mechanical Engineering Team is the mechanical design of the grass cutter
project. This will include designing and building the framework of the grass cutter, and
overall motion of the wheels, grass cutter and string-based blades. They will also design
the aerodynamics and mechanical functionalities of the overall device.

In Senior Design II, the primary roles and work distribution has been finalized. The primary
and secondary roles on the major responsibilities are shown below in Table 67.

Table 67: Updated Primary Roles and Work Distribution Table


Brandei Christopher Mario Daniel
Dieter Entwistle Mcclelland Warner
Ordering Parts Primary
PCB Design and Primary Secondary
Implementation
Software Design Secondary Primary
and
Implementation
Integration of Secondary Primary
Software with
CS Team
Boundary Secondary Primary
System
Drive System Primary Secondary
Sensor System Primary Secondary
Power System Primary Secondary
USB Interface Secondary Primary
Overall Testing All Team All Team All Team All Team
Members Members Members Members

8.2 Potential Project Design Issues


Potential project design issues are discussed in this chapter. Limitations to the autonomous
grass cutter’s capabilities or functionality imposed upon by limited resources, design
constraints, technological limitation or any other reason are identified and explained upon
in the following subsections. Solution to the identified limitations to the autonomous grass
cutter are included and further elaborated.

139
8.2.1 Navigation through Uneven Terrain
Caster wheels present a potential project design issue when it comes to navigating through
uneven terrain. Stuck caster wheels hinder the autonomous grass cutters ability to safely
navigate throughout the area of the solar farm. While the mechanical engineering team
will try to mitigate this issue as much as possible, the reality is that the caster wheel will
encounter wet or dry soil that will always been attempting to enter the bearings or trying
to jam the caster wheel. Although the front wheels ultimately drive the autonomous grass
cutter, a jammed caster wheel will not provide proper support because it will be dragging
instead of rolling. The dragging of a jammed caster wheel will put an unnecessary load
onto the autonomous grass cutter and could severely cut the efficiency down of the
autonomous grass cutter.

Uneven terrain may also cause the robot motors to rotate at a slower rate or add strain to
the resistance acting on the motors. This resistance will demand more power from the DC
motors, thus draining more energy from the battery. If the motors get bogged down while
attempting to climb a steep grade of terrain, the moment force counteracting the motor
force may cause the wheel rotation to stop or reverse. This could potentially cause
damaging power demands from the battery or other components. The power demanded by
the motors on such grades is a problem that will be addressed by the mechanical
engineering team working on this project.

The autonomous grass cutter has a remote kill switch implemented on the machine that is
activated by an operating system application. The kill switch may be activated while the
robot is located on a hill. It is possible that activation of the kill switch on a graded terrain
can cause the autonomous grass cutter to be sent free-rolling down a hill once operations
are terminated. Safety measures via electrical or mechanical means should be implemented
to prevent this scenario.

8.2.2 Charge Regulator Limitations


The ideal charge time of the batteries are one to two hours. Due to power losses,
temperatures, resources and cost, the batteries may or may not achieve this charge time.
The more expensive batteries with a high charging rate may be too far of a reach with the
design constraints of the project.

8.2.3 GPS and Digital Compass Limitations


GPS modules with high enough accuracy to implement a boundary zone are currently out
of budget for this iteration of the autonomous grass cutter. While the GPS and digital
compass module chosen for this project is accurate enough for the current design’s
application requirements, a GPS with higher accuracy could be used to establish and area
of responsibility without the need for a boundary wire. As electronic components lower in
cost, it is very possible that a GPS with high enough accuracy become available in future
iterations. Additionally, making a boundary wire obsolete saves on the cost of

140
implementing the boundary wire system currently implemented, allowing more of the
budget to be allocated towards a higher fidelity GPS and digital compass module. One of
the drawbacks that must be considered when using a GPS and digital compass module for
boundary zone establishment is electromagnetic interference that may occur from other
electronic components on the autonomous grass cutter or solar farm equipment.

8.2.4 Navigation and Object Avoidance


The robot uses computer vision and ultrasonic sensors to avoid obstacles. Navigating
through the perimeter area using the computer vision aspect should prevent the robot from
crashing into any of the obstacles. The ultrasonic sensors are installed on the robot to assure
that, when turning to avoid obstructions with computer vision, the turning radius at the
current speed of the robot is enough to fully avoid the obstacle. If the robot, while turning,
is continuously moving in the path towards an object, then the sensors will send an
activated signal for the grass-cutter to back up before progressing any further. The problem
that may occur is that the sensors may produce a signal too early and cause the grass-cutter
to reverse even though the object would have been avoided.

Establishing the correct distance away from the ultrasonic sensors before a signal is
produced may be a difficult problem to overcome. The nearest the robot can cut grass next
to an object, the more resourceful the design becomes. The accuracy in proximity of an
object can be more precise if the computer vision application signals the object avoidance
subsystem at an appropriate distance away to allow the sensors to be activated a correct
amount of times. By this, it is implied that with just the sensors, the robot can fully approach
an object cutting more area of grass next to that object without the use of computer vision.
However, the average speed of the grass-cutter would decline if sensors were the only used
mechanisms for object avoidance detection; negatively impacting the grass-cutters
efficiency. The robot would constantly be changing direction. Therefore, computer vision
is needed; if only computer vision was applied for detecting objects in the subsystem, the
robot would detect obstacles far away and maneuver around them leaving wide radiuses of
uncut grass. In conclusion, both are required. The problem raised is at what distance each
different part of this subsystem needs to detect an obstacle from.

8.2.5 String-Based Blade Limitations


Having the requirement of a string-based blade creates limitations to the capabilities that
the autonomous grass cutter can have. Not everything on the ground can be avoided. When
the autonomous grass cutter encounters objects such as infrastructure, trash or debris, it is
likely that the nylon string will break in a fashion that either severely reduces the quality
of the grass cut or completely inhibits further grass cutting operations. Mitigations such as
self-feeding lines can be implemented at a higher cost per cutting blade, but they are only
a temporary fix to the inherent durability issue that nylon string-based blades have.

String-based blades present a maintenance cost that is 2 factors: personnel and parts.
Maintenance personnel or assignment of personnel is required to maintain what could
possibly be a network of autonomous grass cutters and replacement string-based blades

141
will create additional costs to the operation of the autonomous grass cutter. Also, unless
the autonomous grass cutter has a system implemented that monitors the string-based
blades, there is no way for any type of maintenance personnel to know whether the
autonomous grass cutter’s blades need attention.

8.3 Future Goals


During development of the project, some capabilities or ideas were not completely
explored or implemented due to limitations from either resources or previously mentioned
constraints. Future goals were created because the members developing the prototype saw
that there were additional parts or components that could be added or swapped to increase
either the capability or longevity of the autonomous grass cutter. This section of the
documentation identifies and explains concepts or features that the design team would like
to see implemented in future iterations of the autonomous grass cutter to improve upon its
finished design.

8.3.1 Solar Panel Charging Station


Future goals of this project include having a solar panel charging station. It is very ideal to
have this grass cutter automatically go back into its charging station that is energy efficient.
The charging station would also provide a weather proof shelter for the robot. Due to
limited time and resources of this project, the solar panel charging station is not feasible.
In the future, this will significantly reduce the costs of having someone sent out to go
charge the batteries.

8.3.2 Solar Panel on Grass Cutter


A solar panel on the top of the robot was discussed to save power and charge the secondary
battery. This wasn’t applied to the Grass Cutter project due to the cost. If the weather sensor
application is also activated and the Grass Cutter robot avoids rainy weather, a mounted
solar panel would almost always be out in sunlight. This extra power would maximize
battery life and be used as a secondary power source for the location beacon if the
autonomous grass cutter were to get stuck and run out of the main battery source.

8.3.3 Computer Vision for Field Mapping


Another goal of this project is to have a camera map the entire field using Computer Vision
and OpenCV. It would be very beneficial and more accurate with obstacle avoidance, path
planning, and obstacle detection. Due to limited time and resources, this is not feasible with
this project but a significant improvement in technology in the future.

8.3.4 Metal Blades for Durability


Having the autonomous robot operate for longer periods of time with less periodic
maintenance requires more durable blades. It is simple to understand that a metal cutting
blade would be more durable than a string-based blade. For this project, string-based

142
blades were required by the customer to assure that the autonomous grass cutter would not
damage or harm the solar farm’s equipment or the students working on the project.
Increasing blade durability would decrease the amount of routine maintenance required as
well as improve the robots cutting capabilities.

As previously researched, a metal cutting blade can come with special capabilities such as
lifting or mulching of the grass. The lifting or mulching capabilities that metal cutting
blades offer would increase the aesthetic quality of the cut grass in terms of uniformity.
Metal cutting blades also offer an advantage when compared to string-based blades because
they do not require as much rotational speed, thus having a less stringent cutting motor
requirement.

String-based blades cut grass by beating the grass in multiple attempts. The beating of the
grass eventually cuts the grass, but also leaves the grass in a traumatized state from multiple
passes of the string. Traumatized grass can cause the plant to possibly die, leaving an
undesirable color to the solar farm. A metal blade is sharpened to cut the grass in one
sweep, lessening the traumatization of the grass when cut. Of course, it goes without
explanation that a metal blade for cutting presents obvious safety issues that must be
addressed prior to implementation.

8.3.5 Weather Sensor Sheltering Application


Weather sensors, such as humidity or thermal sensors, added to the robot would enhance
the efficiency of the grass-cutter by signaling it to go inside a charging station when the
environmental conditions are not suitable for cutting. Efficiency would be increased
because the autonomous grass cutter would not have to run during conditions that are not
ideal. For example, wet grass can bog the locomotion and cutting motors, drawing extra
power from the battery. By implementing weather sensors, the autonomous grass cutter
can be programmed to only cut during conditions that are favorable to the battery which
can extend the overall range capability of the autonomous grass cutter. Additionally,
programming the robot to cut during only ideal conditions can extend the lifespan of
electrical and mechanical components.

8.4 Conclusion
In conclusion, this project, the Articulated AI-Assisted Solar Farm Grass Cutter project, is
developed in conjunction with a team of Computer Science, Electrical Engineering,
Computer Engineering, and Mechanical Engineering students. The prototype that is
created will participate in a competition based on the cutting efficiency of the grass,
features, practicality, locomotion, obstacle avoidance, obstacle detection and overall
aesthetic completion of primary objectives (cutting grass). The focus of the ECE team will
be the hardware, software, power systems, and electrical design. This includes power
specifications for all the components, the design, implementation and testing of the various
components, printed circuit boards (PCBs), and software algorithms for the hardware. The
focus of the Computer Science team is to design and implement software algorithms using
computer vision (CV) to aid in guidance, navigation and control of the grass cutter. The

143
focus of the Mechanical Engineering team is to design and implement the framework,
aerodynamics, and mechanical functionalities of the grass cutter.

The Articulated AI-Assisted Solar Farm Grass Cutter project has various technical
requirements required by the sponsors Duke Energy and Orlando Utility Commission.
Along with technical requirements, this project has additional constraints and challenges.
After extensive research, applicable engineering standards and design constraints were
identified in the documentation. Engineering standards specify characteristics that the
project must meet. Identifying standards and applying their specifications ensures that
components and environments in this project will be compatible with each other. Applying
additional specifications on top of requirements introduced additional constraints when
designing the prototype. This document identified all requirements, design constraints,
and standards applicable to the project.

Chosen components were then identified along with an explanation of choice and
comparison to other candidate parts. The combination of chosen components will
ultimately make the electrical functions of the robot. The overall design of the hardware,
software, testing and integration used to build the prototype were explained and shown in
detail within the documentation. A series of subsystem tests were created to display the
functionality of each component and design before the assembly of a prototype. This
documentation contains test plans, procedures, results and the conclusion of the testing.

Finally, project milestones, potential design issues, PCB vendor information, future goals,
and this conclusion were presented in the project documentation. Citations and copyright
permissions are contained within the appendices of the project documentation. Combining
the chosen parts along with the designs identified in this documentation results in a
functioning prototype for the Articulated AI-Assisted Solar Farm Grass Cutter project.

144
9 Appendices
This section is used to show the Copyright Permissions and the works cited for the
information provided and used in this document. Screenshots of permissions from various
companies are shown in this chapter.

9.1 Copyright Permissions


The copyright permissions requests and approvals are shown below. This is to ensure used
information, data and images get the proper credit and follow copyright laws in this project
documentation. In Figure 92 below, the permission request to Pololu is shown to use their
information and images of their products on their website.

Figure 92: Pololu Permission Request

In Figure 93 below, the permission request to Adafruit Industries is shown to use their
information and images of their products on their website.

A
Figure 93: Adafruit Permission Request Approved

In Figure 94 below, the permission request to AliExpress is shown to use their information
and images of their products on their website.

Figure 94: AliExpress Permission Request


In Figure 95 below, the permission request to Amazon is shown to use their information
and images of their products on their website.

B
Figure 95: Amazon Permission Request

In Figure 96 below, the permission request to Digikey is shown to use their information
and images of their products on their website.

Figure 96: Digikey Permission Request

In Figure 97 below, the permission request to Robotshop is shown to use their information
and images of their products on their website.

C
Figure 97: Robotshop Permission Request Approved

In Figure 98 below, the permission request to the author of an article from


pubs.sciepub.com is shown to use their information on their website.

Figure 98: Permission Request

D
9.2 Datasheets
This chapter shows the datasheets used in the part selection chapter. The datasheets are
shown below in Table 68.

Table 68: Datasheets


# Component Datasheet Reference
[A1] Crystal Oscillator http://www.ecsxtal.com/store/pdf/hc_49us.pdf
https://www.robotshop.com/media/files/pdf/arduino
[A2] Arduino Mega
mega2560datasheet.pdf
http://www.on-shore.com/wp-
[A3] Screw Terminal
content/uploads/2015/09/ostvnxxa150.pdf
L293DNE Motor
[A4] http://www.ti.com/lit/ds/symlink/l293d.pdf
Driver
[A5] Female Headers https://www.mill-max.com/assets/pdfs/065.pdf
http://katalog.we-
[A6] Male Headers
online.de/em/datasheet/6130xx11121.pdf
LM2673 Voltage
[A7] http://www.ti.com/lit/ds/symlink/lm2673.pdf
Regulator
https://www.bourns.com/docs/Product-
[A8] RLB Inductor
Datasheets/rlb.pdf
[A9] LM324N Op-Amp http://www.ti.com/lit/ds/symlink/lm324-n.pdf
[A10] NE555P Timer http://www.ti.com/lit/ds/symlink/ne555.pdf
Raspberry Pi 3 Model https://www.terraelectronica.ru/pdf/show?pdf_file=
[A11]
B %252Fds%252Fpdf%252FT%252FTechicRP3.pdf
Micro M8N GPS http://www.holybro.com/manual/Micro%20M8N%
[A12]
Module 20Manual_v1.0.pdf
HC-SR04 Ultrasonic https://www.mouser.com/ds/2/813/HCSR04-
[A13]
Ranging Module 1022824.pdf
http://ww1.microchip.com/downloads/en/devicedoc
[A14] ATmega2560 /atmel-2549-8-bit-avr-microcontroller-atmega640-
1280-1281-2560-2561_datasheet.pdf
https://media.digikey.com/pdf/Data%20Sheets/Ada
[A15] USB Wi-Fi Module
fruit%20PDFs/1030_Web.pdf
LiPo Battery Charge https://datasheets.maximintegrated.com/en/ds/MA
[A16]
Sensor X17043-MAX17044.pdf
Raspberry Pi Night https://www.marutsu.co.jp/contents/shop/marutsu/d
[A17]
Vision Camera s/114990837_Web.pdf
[A18] LM2596 Regulator http://www.ti.com/lit/ds/symlink/lm2596.pdf
https://www.sparkfun.com/datasheets/Components/
[A19] ATmega328P
SMD/ATMega328.pdf
https://www.intel.com/content/dam/support/us/en/d
[A20] Intel Curie ocuments/boardsandkits/curie/Intel_Curie_Module
_Datasheet_V1.21.pdf
[A21] LM2596 http://www.ti.com/lit/ds/symlink/lm2596.pdf

E
The datasheets are shown below in Table 69.
Table 69: Datasheets
# Component Datasheet Reference
http://ww1.microchip.com/downloads/en/DeviceD
[A22] ATmega16U2
oc/doc7799.pdf
http://www.mouser.com/ds/2/149/LF351-
[A23] LF351 Op-Amp
189477.pdf
[A24] CD4541B http://www.ti.com/lit/ds/symlink/cd4541b.pdf
Raspberry Pi Camera
[A25] http://www.farnell.com/datasheets/2056179.pdf
V2
Ping Ultrasonic https://www.parallax.com/sites/default/files/downl
[A26]
Distance Sensor oads/28015-PING-Sensor-Product-Guide-v2.0.pdf
Arduino Infrared http://www.rhydolabz.com/documents/26/IR_line_
[A27]
Collision Avoidance obstacle_detection.pdf
BQ27441-G1 Fuel
[A28] http://www.ti.com/lit/ds/symlink/bq27441-g1.pdf
Gauge

F
9.3 References
This chapter will show all the citations of the resources used in this document.

[1] Y. Saplakoglu, "The Planet is Dangerously Close to the Tipping Point for a "Hot
House" Earth," 6 August 2018. [Online]. Available:
https://www.livescience.com/63267-hothouse-earth-dangerously-close.html.
[Accessed 30 10 2018].
[2] C. O. S. Cochrum, "The Manscaper: Autonomous Lawn Mower," University of
Central Florida, Orlando, 2013.
[3] Husqvarna, "Husqvarna Robotic Lawn Mowers," November 2018. [Online].
Available: https://www.husqvarna.com/us/. [Accessed 31 10 2018].
[4] S. K. S. B. T. S. J. J. M. J. James Sommer, "Autonomous Lawn Mower," Indiana
University - Purdue University - Fort Wayne, Unknown.
[5] Cyclone Rake, "Choosing Mower Blades," 30 10 2018. [Online]. Available:
https://www.cyclonerake.com/blog/choosing-mower-blades/.
[6] E. Z. Gomez, "Map-Building and Planning for Autonomous Navigation of a
Mobile Robot," 01 2015. [Online]. Available:
https://www.ctrl.cinvestav.mx/~yuw/pdf/ErikZG.pdf. [Accessed 20 11 2018].
[7] J. Zijlmans, "LSD-slam and ORB-slam2, a literature based explanation," 23 08
2017. [Online]. Available: https://medium.com/@j.zijlmans/lsd-slam-vs-orb-
slam2-a-literature-based-comparison-20732df431d. [Accessed 21 11 2018].
[8] Arduino, "Compare Board Specs," 2018. [Online]. Available:
www.arduino.cc/en/products.compare. [Accessed 20 11 2018].
[9] A. Tantos, "H-Bridge Drivers," WordPress, 2011. [Online]. Available:
http://www.modularcircuits.com/blog/articles/h-bridge-secrets/h-bridge_drivers/.
[Accessed 25 11 2018].
[10] ROHM semiconductor , "Controlling DC-Brush Motors with H-Bridge Driver
ICs," 2009. [Online]. Available:
www.rohm.com/documents/11308/12928/100260.H-BRDG_WPJ09.pdf.
[Accessed 23 11 2018].
[11] Power Electronics, "Dual, Full-Bridge PWM Motor Driver IC," Power
Electronics, [Online]. Available: https://www.powerelectronics.com/motion-
systems/dual-full-bridge-pwm-motor-driver-ic. [Accessed 25 11 2018].
[12] Dynapar, "Motor Encoder Overview," Dynapar, 2018. [Online]. Available:
https://www.dynapar.com/technology/encoder_basics/motor_encoders/.
[Accessed 26 11 2018].
[13] Anaheim Automation, "Encoder Guide," 2018. [Online]. Available:
www.anaheimautomation.com/manuals/forms/encoder-guide.php. [Accessed 15
11 2018].
[14] Allegro Micro Systems, "Brush DC Motor Drivers," Allegro Micro Systems,
[Online]. Available: https://www.allegromicro.com/en/Products/Motor-Driver-
And-Interface-ICs/Brush-DC-Motor-Drivers.aspx. [Accessed 24 11 2018].

G
[15] Electrical Technology, "Brushless DC Motor (BLDC) – Construction, Working
Principle & Applications," Electrical Technology, 17 11 2018. [Online].
Available: https://www.electricaltechnology.org/2016/05/bldc-brushless-dc-
motor-construction-working-principle.html. [Accessed 22 11 2018].
[16] C. Simpson, "Linear and Switching Voltage Regulator Fundametals," Texas
Instruments Incorporated, Dallas, Texas, 2011.
[17] John, "Voltage Regulators," Circuits Today, 09 08 2018. [Online]. Available:
http://www.circuitstoday.com/voltage-regulators. [Accessed 26 11 2018].
[18] M. Day, "Understanding Low Drop Out (LDO) Regulators," Texas Instruments,
2006. [Online]. Available: http://www.ti.com/lit/ml/slup239/slup239.pdf.
[Accessed 26 11 2018].
[19] Texas Instruments, "DC/DC Buck Converters," Texas Instruments, 2018.
[Online]. Available: http://www.ti.com/power-management/non-isolated-dc-dc-
switching-regulators/step-down-buck/buck-converter-integrated-
switch/overview.html. [Accessed 26 11 2018].
[20] AllAboutCircuits, "All About Circuits," 1 09 2018. [Online]. Available:
https://www.allaboutcircuits.com/textbook/digital/chpt-4/switch-types/.
[21] J. Papiewski, "How do push button switches work in an electrical circuit?,"
Sciencing, 13 03 2018. [Online]. Available: https://sciencing.com/push-switches-
work-electrical-circuit-5030234.html. [Accessed 20 11 2018].
[22] RS Components, "Toggle Switches Overview," RS Components Pty Ltd, 2018.
[Online]. Available: https://au.rs-
online.com/web/generalDisplay.html?file=electronics/toggle-
switches&id=infozone. [Accessed 19 11 2018].
[23] Galco, "Selector Switches," Galco Industrial Electronics, 2018. [Online].
Available: https://www.galco.com/comp/prod/switch-swnonill.htm. [Accessed
20 11 2018].
[24] Electro Sensors, "Speed Switch Tutorial," Electro-Sensor, Inc, 2018. [Online].
Available: https://www.electro-sensors.com/applications/speed-switch-tutorial.
[Accessed 20 11 2018].
[25] J. List, "DIODES: THE SWITCH YOU NEVER KNEW YOU HAD," Hakaday,
09 12 2016. [Online]. Available: https://hackaday.com/2016/12/09/diodes-the-
switch-you-never-knew-you-had/. [Accessed 20 11 2018].
[26] Computer Science, "Computer Programming Languages," Computer Science,
2018. [Online]. Available:
https://www.computerscience.org/resources/computer-programming-languages/.
[Accessed 17 11 2018].
[27] OpenCV, "OpenCV," OpenCV Team, 2018. [Online]. Available:
https://opencv.org/about.html. [Accessed 20 11 2018].
[28] OpenCV, "Canny Edge Detection," OpenCV, 2018. [Online]. Available:
https://docs.opencv.org/3.1.0/da/d22/tutorial_py_canny.html. [Accessed 22 11
2018].

H
[29] Robotshop, "RobotShop Perimeter Wire Generator and Sensor Soldering Kit,"
2018. [Online]. Available: https://www.robotshop.com/en/robotshop-perimeter-
wire-generator-sensor-soldering-kit.html. [Accessed 1 11 2018].
[30] Diffen.com, "Bluetooth vs. Wifi," Diffen, [Online]. Available:
https://www.diffen.com/difference/Bluetooth_vs_Wifi. [Accessed 3 Dec 2018].
[31] AIR 802, "IEEE 802.11 a/b/g/n Wi-Fi Standards and Facts," [Online]. Available:
https://www.air802.com/files/802-11-WiFi-Wireless-Standards-and-Facts.pdf.
[Accessed 14 11 2018].
[32] I2C Info, "I2C Info - I2C Bus, Interface and Protocol," 30 Nov 2018. [Online].
Available: http://i2c.info/.
[33] M. Grusin, "Serial Peripheral Interface (SPI)," SparkFun Electronics, 2018.
[Online]. Available: https://learn.sparkfun.com/tutorials/serial-peripheral-
interface-spi/all. [Accessed 30 11 2018].
[34] Circuit Basics, "Basics of UART Communication," Stanford, [Online].
Available: https://web.stanford.edu/class/cs140e/notes/lec4/uart-basics.pdf.
[Accessed 30 11 2018].
[35] Terra Electronica, "Raspberry Pi 3 Model B," 2018. [Online]. Available:
https://www.terraelectronica.ru/pdf/show?pdf_file=%252Fds%252Fpdf%252FT
%252FTechicRP3.pdf. [Accessed 15 11 2018].
[36] Adafruit, "Raspberry Pi 3 - Model B - ARMv8 with 1GB RAM," Raspberry Pi,
2018. [Online]. Available: https://www.adafruit.com/product/3055. [Accessed 15
11 2018].
[37] Mantech, "Arduino Mega 2560," Arduino, [Online]. Available:
http://www.mantech.co.za/datasheets/products/a000047.pdf. [Accessed 15 11
2018].
[38] Arduino, "Arduino Mega 2560 Rev3," Arduino, [Online]. Available:
https://store.arduino.cc/usa/arduino-mega-2560-rev3. [Accessed 14 11 2018].
[39] Microchip, "Atmel ATmega640/V-1280/V-1281/V-2560/V-2561/V," Atmel,
2018. [Online]. Available:
http://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-
microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf. [Accessed 20
11 2018].
[40] Mouser Electronics, "ATMEGA16U2-MU," Microchip Technology/Atmel,
2018. [Online]. Available: https://www.mouser.com/ProductDetail/Microchip-
Technology-Atmel/ATMEGA16U2-
MU?qs=JV7lzlMm3yIZlyznMyuPNA%3D%3D&gclid=Cj0KCQiAxZPgBRCm
ARIsAOrTHSYDb8iStbfOLlArAGXmqeCas3pdgu6mapnGGuCMxJUWeaGNl
NTReR0aAoliEALw_wcB. [Accessed 1 12 2018].
[41] Microchip, "ATmega16U2," Microchip, 2018. [Online]. Available:
https://www.microchip.com/wwwproducts/en/ATmega16u2. [Accessed 20 11
2018].
[42] Amazon, "McCulloch 589402402 Automower Boundary Wire (150M),"
McCulloch, 2018. [Online]. Available: https://www.amazon.com/McCulloch-

I
589402402-Automower-Boundary-
Wire/dp/B06XQ2SW9H/ref=asc_df_B06XQ2SW9H/?tag=hyprod-
20&linkCode=df0&hvadid=198123788296&hvpos=1o1&hvnetw=g&hvrand=25
35187872125767586&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvl
ocint=&hvlocph. [Accessed 10 11 2018].
[43] eXtreme Dog Fence, "eXtreme Dog Fence 16 Gauge Boundary Wire," eXtreme,
2018. [Online]. Available: https://www.extremedogfence.com/product/extreme-
dog-fence-16-gauge-boundary-
wire/?gclid=Cj0KCQiAxZPgBRCmARIsAOrTHSZLK0OSMGf38FbUm0VR_
M2CKMyeUVelCUjkPmI9HcFKPAM2oSBgUUkaAiYcEALw_wcB. [Accessed
30 11 2018].
[44] Texas Instruments, "xx555 Precision Timers," Texas Instruments, 09 2014.
[Online]. Available: http://www.ti.com/lit/ds/symlink/ne555.pdf. [Accessed 20
11 2018].
[45] Texas Instruments, "CMOS Programmable Timer High Voltage Types (20V
Rating)," Texas Instruments, 2003. [Online]. Available:
http://www.ti.com/lit/ds/symlink/cd4541b.pdf. [Accessed 30 11 2018].
[46] Texas Instruments, "LMx24-N, LM2902-N Low-Power, Quad-Operational
Amplifier," Texas Instruments, 01 2015. [Online]. Available:
http://www.ti.com/lit/ds/symlink/lm324-n.pdf. [Accessed 29 11 2018].
[47] Mouser Electronics, "LF351 Single Operational Amplifier (JFET)," FAIRCHILD
Semiconductor, 2001. [Online]. Available:
http://www.mouser.com/ds/2/149/LF351-189477.pdf. [Accessed 30 11 2018].
[48] Seeed, "Raspberry Pi Infrared Camera Module," Marutsu, [Online]. Available:
https://www.marutsu.co.jp/contents/shop/marutsu/ds/114990837_Web.pdf.
[Accessed 18 11 2018].
[49] Farnell, "Raspberry Pi Camera V2," Farnell, [Online]. Available:
http://www.farnell.com/datasheets/2056179.pdf. [Accessed 20 11 2018].
[50] ELEC Freaks, "Ultrasonic Ranging Module HC-SR04," Mouser Electronics,
[Online]. Available: https://www.mouser.com/ds/2/813/HCSR04-1022824.pdf.
[Accessed 19 11 2018].
[51] Parallax, "Ping Ultrasonic Distance Sensor (#28015)," Parallax, [Online].
Available: https://www.parallax.com/sites/default/files/downloads/28015-PING-
Sensor-Product-Guide-v2.0.pdf. [Accessed 20 11 2018].
[52] RHYDOLABZ, "Arduino Infrared Collision Avoidance," RHYDOLABZ,
[Online]. Available:
http://www.rhydolabz.com/documents/26/IR_line_obstacle_detection.pdf.
[Accessed 19 11 2018].
[53] MAXIM, "Compact, Low-Cost 1S/2S Fuel Gauges with Low-Battery Alert,"
DigChip, 04 2010. [Online]. Available:
https://www.digchip.com/datasheets/download_datasheet.php?id=3258456&part
-number=MAX17043. [Accessed 30 11 2018].

J
[54] Texas Instruments, "bq274441-G1 System-Side Impedance Track Fuel Gauge,"
Texas Instruments, 2014. [Online]. Available:
http://www.ti.com/lit/ds/symlink/bq27441-g1.pdf. [Accessed 30 11 2018].
[55] Newegg, "GP-Xtreme Mini Compact USB 2.0 Wireless N 802.11n/g WiFi
Newtork Dongle Adapter GP-5371N," Newegg, 2018. [Online]. Available:
https://www.newegg.com/Product/Product.aspx?Item=0B1-00FJ-00001.
[Accessed 23 11 2018].
[56] Adafruit, "USB WiFi (802.11b/g/n) Module with Antenna for Raspberry Pi,"
Adafruit, 2018. [Online]. Available: https://www.adafruit.com/product/1030.
[Accessed 18 11 2018].
[57] Texas Instruments, "DRV8842 DC Motor Driver IC," Texas Instruments, 03
2018. [Online]. Available: http://www.ti.com/lit/ds/symlink/drv8842.pdf.
[Accessed 2 12 2018].
[58] Texas Instruments, "L293x Quadruple Half-H Drivers," Texas Instruments, 01
2016. [Online]. Available: http://www.ti.com/lit/ds/symlink/l293.pdf. [Accessed
14 11 2018].
[59] Banggood, "DC 12V 180RPM Geared Motor High Torque Gear Reducer
Motor," Banggood, 2018. [Online]. Available: https://www.banggood.com/DC-
12V-180RPM-Geared-Motor-High-Torque-Gear-Reducer-Motor-p-
1068573.html?rmmds=detail-bottom-alsobought__2&cur_warehouse=CN.
[Accessed 18 11 2018].
[60] Robotshop, "Cytron 12V 17RPM 194.4oz-in Spur Gearmotor," Robotshop, 2018.
[Online]. Available: https://www.robotshop.com/en/cytron-12v-17rpm-1944oz-
in-spur-gearmotor.html. [Accessed 18 11 2018].
[61] Banggood, "Machifit 895 Motor Large Torque Gear Motor," Machifit, 2018.
[Online]. Available: https://www.banggood.com/Machifit-775-795-895-
MotorMotor-Bracket-DC-12V-24V-3000-12000RPM-Motor-Large-Torque-
Gear-Motor-p-1342261.html?rmmds=home-right-
flashDeal&ID=511154&cur_warehouse=CN. [Accessed 03 12 2018].
[62] Robotshop, "RS-775 Motor 7000rpm," 2018. [Online]. Available:
https://www.robotshop.com/en/rs-775-motor-7000rpm-12v-7613oz-in.html.
[Accessed 2 12 2018].
[63] Texas Instruments, "LM2596 Simple Switches Power Converter 150-kHz 3-A
Step-Down Voltage Regulator," Texas Instruments, 05 2016. [Online].
Available: http://www.ti.com/lit/ds/symlink/lm2596.pdf. [Accessed 20 11 2018].
[64] Texas Instruments, "LM2673 Simple Switcher 3-A Step-Down Voltage
Regulator With Adjustable Current Limit," Texas Instruments, 06 2016.
[Online]. Available: http://www.ti.com/lit/ds/symlink/lm2673.pdf. [Accessed 20
11 2018].
[65] Alibaba, "New Design High Quality 12V 60Ah 80Ah 160Ah high capacity lipo
battery for electric car," DMD, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/New-design-high-quality-12v-
60ah_60562778506.html?spm=a2700.galleryofferlist.normalList.2.14a0e3e0NY
N8O2. [Accessed 20 11 2018].

K
[66] Alibaba, "BMS Lithium dry cell rechargeable solar panel system battery pack
lithium 12V 100Ah 200Ah," DMD, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/BMS-lithium-dry-cell-rechargeable-
solar_60551849917.html?spm=a2700.details.maylikehoz.2.107c21169viUHm.
[Accessed 20 11 2018].
[67] Alibaba, "LiPo 18650 Li-Ion Laptop batteries 12V 24V nominal voltage exide
battery 60Ah 80Ah 100Ah 200Ah," DMD, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/Lipo-18650-li-ion-laptop-
batteries_60694370113.html?spm=a2700.galleryofferlist.normalList.464.14a0e3
e0NYN8O2. [Accessed 20 11 2018].
[68] Alibaba, "Shenzhen Manufacturer 12V 20Ah LiPo Batteries Pack Scooter
Batteries with BMS," Shenzhen, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/Shenzhen-Manufacturer12V-20Ah-
Lipo-Batteries-
Pack_60780688154.html?spm=a2700.7724838.2017115.62.3bf031084Re17O.
[Accessed 21 11 2018].
[69] Alibaba, "12V 20Ah Lithium Ion RC LiPo Battery for UAV drone multirotor RC
model," Yinkai Power, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/12v-20ah-lithium-ion-rc-
lipo_60437172688.html?spm=a2700.7724838.2017115.110.3bf031084Re17O.
[Accessed 22 11 2018].
[70] Alibaba, "12v 10ah lithium ion polymer rechargeable lipo battery for single
wheel e-bike," Alibaba, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/12v-10ah-lithium-ion-polymer-
rechargeable_60243016365.html?spm=a2700.7724838.2017115.123.6029537cu
2wmBx. [Accessed 19 11 2018].
[71] Alibaba, "Professional Supply Li-ion Battery Rechargeable Lithium Lipo 12v
10ah Battery Pack," Alibaba, 2018. [Online]. Available:
https://www.alibaba.com/product-detail/Professional-Supply-Li-ion-Battery-
Rechargeable_60819337407.html?spm=a2700.7724838.2017115.145.6029537cu
2wmBx. [Accessed 19 11 2018].
[72] MaxPower, "Maxpower 335100 10-Inch by 1-3/4-Inch Plastic Lawn Mower
Wheel," Amazon, 2018. [Online]. Available:
https://www.amazon.com/Maxpower-335100-10-Inch-4-Inch-
Plastic/dp/B001F0Z7FW. [Accessed 27 11 2018].
[73] Arnold, "Arnold 10-Inch Steel Wheel," Home Depot, 2018. [Online]. Available:
https://www.homedepot.com/p/Arnold-10-in-Steel-Wheel-490-323-
0001/206704965. [Accessed 27 11 2018].
[74] IEEE, "IEEE 1679.1-2017 - IEEE Guide for the Characterization and Evaluation
of Lithium-Based Batteries in Stationary Applications," 2017. [Online].
Available: https://standards.ieee.org/standard/1679_1-2017.html. [Accessed 14
11 2018].

L
[75] IEEE Standards Association, "1625-2008- IEEE Standard for Rechargeable
Batteries for Multi-Cell Mobile Computing Devices," 2008. [Online]. Available:
https://ieeexplore.ieee.org/document/4657368. [Accessed 14 11 2018].
[76] ISO, "ISO/IEC 9899:2018 - Information technology -- Programming languages --
C," 27 Nov 2018. [Online]. Available: https://www.iso.org/standard/74528.html.
[77] IEEE, "29119-1-2013 - ISO/IEC/IEEE International Standard - Software and
systems engineering -- Software testing -- Part1:Concepts and definitions - IEEE
Standard," 20 Nov 2018. [Online]. Available:
https://ieeexplore.ieee.org/document/6588537.
[78] IEEE, "29119-2-2013 - ISO/IEC/IEEE International Standard - Software and
systems engineering -- Software testing -- Part2:Test processes - IEEE Standard,"
20 Nov 2018. [Online]. Available: https://ieeexplore.ieee.org/document/6588543.
[79] IEEE, "29119-3-2013 - ISO/IEC/IEEE International Standard - Software and
systems engineering -- Software testing -- Part 3:Test documentation - IEEE
Standard," 20 Nov 2018. [Online]. Available:
https://ieeexplore.ieee.org/document/6588540.
[80] IEEE, "29119-4-2015 - ISO/IEC/IEEE International Standard - Software and
systems engineering--Software testing--Part 4: Test techniques - IEEE Standard,"
20 Nov 2018. [Online]. Available: https://ieeexplore.ieee.org/document/7346375.
[81] IEEE, "29119-5-2016 - ISO/IEC/IEEE International Standard - Software and
systems engineering -- Software testing -- Part 5: Keyword - Driven Testing -
IEEE Standard," 20 Nov 2018. [Online]. Available:
https://ieeexplore.ieee.org/document/7750539.
[82] IEEE, "1873-2015 - IEEE Standard for Robot Map Data Represenation for
Navigation - IEEE Standard," 20 Nov 2018. [Online]. Available:
https://ieeexplore.ieee.org/document/7300355.
[83] ISO, "ISO 8373:2012 - Robots and robotic devices -- Vocabulary," 29 Nov 2018.
[Online]. Available: https://www.iso.org/standard/55890.html?browse=tc.
[84] IEC, "IEC 62680-1-1:2015 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/23281.
[85] IEC, "IEC 62680-1-2:2018 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/60944.
[86] IEC, "IEC 62680-1-3:2018 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/61599.
[87] IEC, "IEC 62680-1-4:2018 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/60748.
[88] IEC, "IEC 62680-2-1:2015 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/23313.
[89] IEC, "IEC 62680-2-2:2015 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/23282.
[90] IEC, "IEC 62680-2-3:2015 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/23283.

M
[91] IEC, "IEC 62680-3-1:2017 | IEC Webstore | energy, multimedia, USB, LVDC,"
20 Nov 2018. [Online]. Available: https://webstore.iec.ch/publication/29943.
[92] IEC, "CISPR 14-1:2016 | IEC Webstore | electromagnetic compatibility, EMC,
smart city," 20 Nov 2018. [Online]. Available:
https://webstore.iec.ch/publication/25633.
[93] IEC, "CISPR 14-2:2015 RLV | IEC Webstore | electromagnetic compatibility,
EMC, smart city," 24 Nov 2018. [Online]. Available:
https://webstore.iec.ch/publication/22136.
[94] IEC, "IEC 61000-6-3:2006+AMD:2010 CSV | IEC Webstore | electromagnetic
compatibility. EMC, smart city, rural electrification," 24 Nov 2018. [Online].
Available: https://webstore.iec.ch/publication/4247.
[95] IEC, "IEC 61000-6-4:2018 RLV | IEC Webstore | electromagnetic compatibility,
EMC, smart city," 24 Nov 2018. [Online]. Available:
https://webstore.iec.ch/publication/62637.
[96] JLCPCB, "PCB Fabrication Services," 2018. [Online]. Available:
https://support.jlcpcb.com/article/41-pcb-fabrication-services. [Accessed 31 10
2018].
[97] JLCPCB, "Shipping & Delivery," 2018. [Online]. Available:
https://support.jlcpcb.com/article/27-shipping-delivery. [Accessed 31 10 2018].
[98] JLCPCB, "Capabilities," 2018. [Online]. Available:
https://jlcpcb.com/capabilities/Capabilities. [Accessed 31 10 2018].
[99] Robomow Friendly House, "The Hisotry of Lawn Mowers," Robomow Friendly
House, 20 September 2015. [Online]. Available: https://www.robomow.com/en-
GB/history-lawn-mowers/. [Accessed 20 October 2018].
[100] O. J. Woodman, "An introduction to inertial navigation," Technical Report, p.
37, 2007.
[101] R. Burnett, "Ultrasonic vs Infrared (IR) Sensors – Which is better?," 27 11 2017.
[Online]. Available: https://www.maxbotix.com/articles/ultrasonic-or-infrared-
sensors.htm. [Accessed 30 10 2018].
[102] Wikipedia, "Passive infrared sensor," [Online]. Available:
https://en.wikipedia.org/wiki/Passive_infrared_sensor. [Accessed 30 10 2018].
[103] A. G, "Perimeter Wire / BWF," 19 08 2013. [Online]. Available:
https://www.ardumower.de/index.php/en/induktion. [Accessed 31 10 2018].
[104] Amazon, "Raspberry Pi 3 B+/3B Full Function Motor Hat, Robot Expansion
Board," 2018. [Online]. Available: https://www.amazon.com/Raspberry-
Function-Expansion-Support-
Stepper/dp/B0721MTJ3P/ref=pd_cp_147_2?pf_rd_m=ATVPDKIKX0DER&pf_
rd_p=ef4dc990-a9ca-4945-ae0b-
f8d549198ed6&pf_rd_r=V8J31TE1000RM8JJYFAC&pd_rd_wg=1GcH7&pf_rd
_s=desktop-dp-sims&pf_rd_t=40701&pd_rd_w=. [Accessed 1 11 2018].
[105] Amazon, "WINGONEER Capacitors," 2018. [Online]. Available:
https://www.amazon.com/WINGONEER-Capacitors-Values-Electrolytic-

N
Assortment/dp/B0711SCBPQ/ref=sr_1_3?ie=UTF8&qid=1541092980&sr=8-
3&keywords=capacitors+kit. [Accessed 1 11 2018].
[106] Amazon, "EAONE 850 Pieces 30 Values 1% Resistor Kit," 2018. [Online].
Available: https://www.amazon.com/EAONE-Resistor-Resistors-Assortment-
Experiments/dp/B076LH75JQ/ref=sr_1_6?ie=UTF8&qid=1541092929&sr=8-
6&keywords=resistors+kit. [Accessed 1 11 2018].
[107] AliExpress, "Source Hardware Module Flight Control Board ArduIMU+ V3 for
Arduino," 2018. [Online]. Available: https://www.aliexpress.com/item/Open-
Source-Hardware-Module-Flight-Control-Board-ArduIMU-V3-for-Arduino-
DIY/32817752346.html?spm=2114.search0104.3.2.7f1477bckVoPeK&ws_ab_te
st=searchweb0_0,searchweb201602_1_10065_10068_10130_318_10890_10547
_319_10546_57313. [Accessed 1 11 2018].
[108] Amazon, "Striveday 30 AWG Flexible Silicone Wire," 2018. [Online].
Available: https://www.amazon.com/StrivedayTM-Flexible-Silicone-electronic-
electrics/dp/B01KQ2JNLI/ref=sr_1_4?ie=UTF8&qid=1541093132&sr=8-
4&keywords=wires+for+circuits. [Accessed 1 11 2018].
[109] Adafruit, "USB WiFi (802.11b/g/n) Module with Antenna for Raspberry Pi,"
2018. [Online]. Available: https://www.adafruit.com/product/1030. [Accessed 1
11 2018].
[110] Adafruit, "Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB RAM,"
2018. [Online]. Available:
https://www.adafruit.com/product/3775?src=raspberrypi. [Accessed 1 11 2018].
[111] Robotshop, "HC-SR04 Ultrasonic Range Finder," 2018. [Online]. Available:
https://www.robotshop.com/en/hc-sr04-ultrasonic-range-
finder.html?gclid=CjwKCAjwyOreBRAYEiwAR2mSknjfBFS52Rb3_iak4Acf6j
qRKCn1Fa8TVPNLZLFUcyY6T0uV375K7xoCaPoQAvD_BwE. [Accessed 1
11 2018].
[112] Pololu, "Dagu Wild Thumper Wheel 120x60mm Pair with 4mm Shaft Adapters -
Chrome," 2018. [Online]. Available: https://www.pololu.com/product/1557.
[Accessed 1 11 2018].
[113] AliExpress, "HK LittoKala 24V 12AH 6S6P Lithium Battery Pack," 2018.
[Online]. Available: https://www.aliexpress.com/item/LiitoKala-24v-12ah-6S6P-
lithium-battery-pack-25-2V-12ah-battery-li-ion-for-bicycle-
battery/32809085810.html?src=google&albslr=202339875&src=google&albch=
shopping&acnt=494-037-
6276&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_sh. [Accessed 1 11
2018].
[114] "Comparing Python to Other Languages," 1997. [Online]. Available:
https://www.python.org/doc/essays/comparisons/.
[115] Amazon, "Qunqi L298N Motor Drive Controller Board Module Dual H Bridge
DC Stepper," 2018. [Online]. Available: https://www.amazon.com/Qunqi-
Controller-Module-Stepper-
Arduino/dp/B014KMHSW6/ref=sr_1_fkmr0_1?s=hi&ie=UTF8&qid=15411159
43&sr=1-1-fkmr0&keywords=Arduino+L289N. [Accessed 1 11 2018].

O
[116] Battery University, "BU-201: How does the Lead Acid Battery Work?," 1
November 2018. [Online]. Available:
https://batteryuniversity.com/learn/article/lead_based_batteries.
[117] Battery University, "BU-203: Nickel-Based Batteries," 1 November 2018.
[Online]. Available:
https://batteryuniversity.com/learn/article/nickel_based_batteries.
[118] Battery University, "BU-204: How do Lithium Batteries Work?," 1 November
2018. [Online]. Available:
https://batteryuniversity.com/learn/article/lithium_based_batteries.
[119] Home Depot, "6 in. Ait-Ride Pneumatic Rubber Swivel Caster," 2018. [Online].
Available: https://www.homedepot.com/p/SNAP-LOC-6-in-Air-Ride-
Pneumatic-Rubber-Swivel-Caster-
SLAC6AS/206603238?cm_mmc=Shopping%7CG%7CBase%7CD25H%7C25-
4_BUILDERS_HARDWARE%7CNA%7CPLA%7c71700000035978695%7c58
700004046980559%7c92700037059910574&gclid=CjwKCAjw6-_eBRBXEiw.
[Accessed 1 11 2018].
[120] Mouser Electronics, "Arduino Uno," 2018. [Online]. Available:
https://www.mouser.com/ProductDetail/Arduino/A000066?qs=BC3YYPaifMrIu
e9b%252bHtKQg%3D%3D&gclid=CjwKCAjw6-_eBRBXEiwA-
5zHadtc7Yrihp_NIKSEGVCOYEz60UUb714sNa5VKf8bL0-
gf0VPTGkrfRoCKRAQAvD_BwE. [Accessed 1 11 2018].
[121] Bdaouas, "DIY Perimeter Wire Generator and Sensor," 12 2017. [Online].
Available: https://www.robotshop.com/community/forum/t/diy-perimeter-wire-
generator-and-sensor-robotshop-community/31190. [Accessed 2 11 2018].
[122] Echo, "Echo USA," 15 November 2018. [Online]. Available: https://www.echo-
usa.com.
[123] John Deere, "John Deere Tango E5 Autonomous Mower," November 2018.
[Online]. Available:
https://www.deere.co.uk/en_GB/products/equipment/autonomous_mower/tango_
e5/tango_e5.page. [Accessed 31 10 2018].
[124] ISO, "ISO/IEC 9899:1999 - Programming languages -- C," 27 Nov 2018.
[Online]. Available: https://www.iso.org/standard/29237.html.
[125] ISO, "ISO/IEC 9899:2011 - Information Technology -- Programming languages -
- C," 27 Nov 2018. [Online]. Available:
https://www.iso.org/standard/57853.html.
[126] J. Miller, "Brushless Motor vs Brush Motors, what's the difference?," 27 07
2014. [Online]. Available: https://www.quantumdev.com/brushless-motors-vs-
brush-motors-whats-the-difference/. [Accessed 27 11 2018].
[127] ISO, "ISO 9283:1998 - Manipulating industrial robots -- Performance criteria
and related test methods," 29 Nov 2018. [Online]. Available:
https://www.iso.org/standard/22244.html?browse=tc.
[128] ISO, "ISO 9787:2013 - Robots and robotic devices -- Coordinate systems and
motion nomenclatures," 29 Nov 2018. [Online]. Available:
https://www.iso.org/standard/59444.html?browse=tc.

P
[129] ISO, "ISO 10218-2:2011 - Robots and robotic devices -- Safety requirements for
industrial robots -- Part 2: Robot systems and integration," 29 Nov 2018.
[Online]. Available: https://www.iso.org/standard/51330.html?browse=tc.
[130] ISO, "ISO 10218-1:2011 - Robots and robotic devices -- Safety requirements for
industrial robots -- Part 1: Robots," 29 Nov 2018. [Online]. Available:
https://www.iso.org/standard/51330.html?browse=tc.
[131] ISO, "ISO 18646-1:2016 - Robotics -- Performance criteria and related test
methods for service robots -- Part 1: Locomotion for wheeled robots," 29 Nov
2018. [Online]. Available: https://www.iso.org/standard/63127.html?browse=tc.
[132] Bluetooth Special Interest Group, "Radio Versions | Bluetooth Technology
Website," 2 December 2018. [Online]. Available:
https://www.bluetooth.com/bluetooth-technology/radio-versions.
[133] Texas Instruments , "Dual Full Bridge PWM Motor Driver," 22 Feb 2009.
[Online]. Available: www.ti.com/lit/ds/symlink/drv8402.pdf. [Accessed 01 Nov
2018].

You might also like