Autonomous AI-Assisted Solar Farm Grass Cutter
Autonomous AI-Assisted Solar Farm Grass Cutter
Autonomous AI-Assisted Solar Farm Grass Cutter
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.
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.
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.
3
and rubber bumpers. The software utilized the camera to map the layout of an area and
mark boundaries, like the perimeter fence.
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.
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.
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 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.
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
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.
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.
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.
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.
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.
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
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
11
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
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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]
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.
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.
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.
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.
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.
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.
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.
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.
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].
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.
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.
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.
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.
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%.
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].
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
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]
Figure 11: Brushless Motors Diagram used with reference from electricaltechnology.com [11]
32
3.1.6.1 Linear Voltage Regulators [12]
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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].
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.
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.
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.
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.
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]
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.
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
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
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.
47
Table 24 below shows the sensors and location part selection overview. This includes all
the sensors, camera and 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.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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].
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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]
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.”
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.
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.
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.
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.
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.
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.
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.
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]
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.
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
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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
Figure 60: Subsystem Features and Software Design Space made by Mario Mcclelland
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.
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.
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.
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.
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.
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
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
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.
In Senior Design II, a final robot state machine was constructed with the Computer Science
Team and is shown below in Figure 69.
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.
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.
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.
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.
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
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
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.
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
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
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.
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.
In Senior Design II, the final prototype was constructed. This is shown below in Figure
91.
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.
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.
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.
The shipping details are shown below in Table 62. Shipping is done through DHL Express
or Standard Registered Air Mail.
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.
136
The project budget and financing table continues below in Table 65.
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.
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.
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.
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.
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.
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.
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.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.
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.
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.
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
D
9.2 Datasheets
This chapter shows the datasheets used in the part selection chapter. The datasheets are
shown below in Table 68.
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].