This item was submitted to Loughborough’s Institutional Repository (https://dspace.lboro.ac.uk/) by the author and is made available under the following Creative Commons Licence conditions. For the full text of this licence, please go to: http://creativecommons.org/licenses/by-nc-nd/2.5/ CERTIFICATE OF ORIGINALITY HIS is to certify that I am responsible for the work submitted in this thesis, that T the original work is my own except as specified in acknowledgements or in foot- notes, and that neither the thesis nor the original work contained therein has been sub- mitted to this or any other institution for a higher degree. Signed: . (T.G. Rawlings) Date: . Distributed Control Architecture by Trevor Rawlings, M Eng(Hons) DIS. A Doctoral Thesis submitted in partial fulfillment of the requirements for the award of Doctor of Philosophy of Loughborough University August 2009 c by Trevor Rawlings 2008 ABSTRACT HIS document describes the development and testing of a novel Distributed Con- T trol Architecture (DCA). The DCA developed during the study is an attempt to turn the components used to construct unmanned vehicles into a network of intelligent devices, connected using standard networking protocols. The architecture exists at both a hardware and software level and provides a communication channel between control modules, actuators and sensors. A single unified mechanism for connecting sensors and actuators to the control soft- ware will reduce the technical knowledge required by platform integrators and allow control systems to be rapidly constructed in a ‘Plug and Play’ manner. DCA uses standard networking hardware to connect components, removing the need for custom communication channels between individual sensors and actuators. The use of a common architecture for the communication between components should make it easier for software to dynamically determine the vehicle’s current capabilities and increase the range of processing platforms that can be utilised. Implementations of the architecture currently exist for Microsoft Windows, Windows Mobile 5, Linux and Microchip dsPIC30 microcontrollers. Conceptually, DCA exposes the functionality of each networked device as objects with interfaces and associated methods. Allowing each object to expose multiple interfaces allows for future upgrades without breaking existing code. In addition, the use of com- mon interfaces should help facilitate component reuse, unit testing and make it easier to write generic reusable software. ii ACKNOWLEDGEMENTS Firstly I would like to thank my supervisors Professor Roy Kalawsky and Dr. Paul Lepper for their support and good advice. I am also very grateful to Dr. Simon Dible for kindly taking the time to read and comment on early versions of the thesis. I would also like to thank Brian Ford and Graham Watson for their input and advice. Time in the office was made much more enjoyable through the friendship of Dr. Andrew Armstrong, Dr. Gordon Leonard, Dr. Simon Dible, James Cowie and S. Beesley. I am grateful for their friendship and guidance. Finally, I would like to thank my family for their support and encouragement. iii CONTENTS Abstract ::::::::::::::::::::::::::::::::::: ii Acknowledgements ::::::::::::::::::::::::::::: iii List of Abbreviations ::::::::::::::::::::::::::::: ix List of Figures :::::::::::::::::::::::::::::::: xi List of Tables :::::::::::::::::::::::::::::::: xix 1. Introduction ::::::::::::::::::::::::::::::::: 1 1.1 Research Challenge............................4 1.2 Thesis Outline...............................6 1.3 Intelligent Devices............................7 2. Literature Study ::::::::::::::::::::::::::::::: 8 2.1 Unmanned Vehicles............................8 2.2 Control Architectures........................... 13 2.3 Communication Abstractions....................... 21 2.4 Component Technologies......................... 25 2.5 Network Technologies.......................... 40 2.6 Summary................................. 46 iv Contents v 3. Design of a Flexible Distributed Control Architecture :::::::::::: 48 3.1 Distributed Control Architecture (DCA) Requirements......... 48 3.2 The Distributed Control Architectures Object Orientated Concepts... 50 3.3 Run time flexibility............................ 56 3.4 DCA Advantages............................. 57 3.5 Motivation................................. 58 3.6 Related Technologies........................... 60 3.7 Areas of Originality............................ 61 3.8 DCA Overview.............................. 63 4. Processing Platforms Supported by the Distributed Control Architecture :: 66 4.1 Introduction................................ 66 4.2 Development Platforms.......................... 68 4.3 Summary................................. 72 5. Network Technologies Supported by the Distributed Control Architecture : 74 5.1 Introduction................................ 74 5.2 Ethernet.................................. 75 5.3 Controller Area Network (CAN)..................... 79 5.4 Summary................................. 81 6. The Distributed Control Architecture’s Communication Layer ::::::: 82 6.1 Introduction................................ 82 6.2 Implementations............................. 85 6.3 Network Bridging............................. 92 Contents vi 6.4 Testing................................... 93 6.5 Summary................................. 95 7. The Distributed Control Architecture’s Object Orientated Abstractions ::: 96 7.1 Introduction................................ 96 7.2 DCA Objects and Interfaces....................... 97 7.3 Implementations............................. 102 7.4 System Objects.............................. 111 7.5 Additional C# Components........................ 113 7.6 Summary................................. 116 8. The Distributed Control Architecture’s Graphical Configuration Tool :::: 117 8.1 Application Structure........................... 117 8.2 Project Devices.............................. 119 8.3 Connections................................ 123 8.4 Summary................................. 124 9. Testing of the Distributed Control Architecture ::::::::::::::: 125 9.1 GPS - ICE Bridge............................. 125 9.2 Remote Procedure Call (RPC) Test.................... 128 9.3 Publish / Subscribe Ethernet Test..................... 131 9.4 Publish / Subscribe Bridge........................ 132 9.5 Summary................................. 135 10. Conclusion :::::::::::::::::::::::::::::::::: 136 10.1 Contribution of this thesis......................... 137 Contents vii 10.2 Suggestions for further work....................... 139 10.3 Overall Conclusion............................ 142 Author’s Publications :::::::::::::::::::::::::::::: 144 References and Bibliography :::::::::::::::::::::::: 145 A. Component Technology Dimensions ::::::::::::::::::::: 168 B. Sample Platforms :::::::::::::::::::::::::::::: 170 B.1 Sample Vehicle 1 - Commercial Underwater Vehicle.......... 170 B.2 Sample Vehicle 2 - Student Underwater Vehicle With Single Board Computers................................. 174 B.3 Sample Vehicle 3 - Humanoid Robot Controlled by a PDA....... 175 B.4 Sample Vehicle 4 - Land vehicle controlled by a Laptop or Personal Computer................................. 176 C. Related Technologies :::::::::::::::::::::::::::: 178 D. Processing Platforms ::::::::::::::::::::::::::::: 179 E. Development Board dsPIC30F6015 ::::::::::::::::::::: 181 F. Project Software ::::::::::::::::::::::::::::::: 183 F.1 Ethernet/UDP/IP Network Stack..................... 183 F.2 Communication Layer.......................... 183 F.3 Object Orientated Abstractions...................... 185 F.4 Code Size................................. 186 Contents viii G. SCP Implementation Details ::::::::::::::::::::::::: 189 G.1 State Diagram............................... 189 G.2 The SCP Transmission Control Block (TCB).............. 190 G.3 SCP Flags................................. 190 G.4 SCP Connection Establishment...................... 192 G.5 Ethernet (UDP) Implementation..................... 193 G.6 CAN Implementation........................... 196 H. Publish Subscribe Implementation Details :::::::::::::::::: 199 H.1 Ethernet (UDP) Implementation..................... 199 H.2 CAN Implementation........................... 200 I. System Objects ::::::::::::::::::::::::::::::: 201 J. Format of the Project File :::::::::::::::::::::::::: 202 K. Test Devices ::::::::::::::::::::::::::::::::: 203 K.1 Testing of GpsIceBridge......................... 203 K.2 Testing of the Publish / Subscribe Bridge................. 206 LIST OF ABBREVIATIONS Abbreviation Expansion ABE Autonomous Benthic Explorer ADC Analog-to-Digital Converter API Application Programming Interface ARP Address Resolution Protocol AUTOSAR AUTomotive Open System ARchitecture AUV Autonomous Underwater Vehicle CAN Controller Area Network CBD Component-Based Development CBSE Component-Based Software Engineering CDL Component Description Language CIP Common Industrial Protocol CLARITy Coupled Layered Architecture for Robotic Autonomy CLR Common Language Runtime COM Microsoft Component Object Model CORBA Common Object Request Broker Architecture CSMA/CD Carrier Sense Multiple Access with Collision Detection DARPA Defence Advanced Research Projects Agency DCOM Distributed Component Object Model DDS Data Distribution Service for real-time systems DLL Dynamic-link library DTC Defence Technology Centre ECU Electronic Control Unit FPGA Field-Programmable Gate Array GPOS General-Purpose Operating
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages228 Page
-
File Size-