The Enhancement of a MultiTerrain Mechatron for Autonomous Outdoor Applications A thesis submitted in partial fulfilment of the requirements for the Degree of Master of Science in Physics and Electronic Engineering at the University of Waikato by Christopher Luke Cawley 2006
ii The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Abstract iii ABSTRACT Medium scale robotic vehicles which are easily portable by humans are achieving increased application as technology improves, particularly in certain outdoor environments. Conventional, manually operated equipment has difficulty traversing uneven terrain, such as in dangerous environments where the human operators may be at risk.
iv The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Acknowledgements v ACKNOWLEDGEMENTS The support and assistance throughout this project from the following people are greatly appreciated and thus require acknowledgement. To Dr Dale Carnegie, my project supervisor and valued lecturer during undergraduate studies who made this project available for undertaking. The invitation to graduate level study and continued support and guidance throughout this project is greatly appreciated.
vi The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Table of Contents vii TABLE OF CONTENTS ABSTRACT................................................................................................................ iii ACKNOWLEDGEMENTS ........................................................................................v TABLE OF CONTENTS ..........................................................................................vii LIST OF FIGURES .................................................................................................
viii The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 2.8.1 Wireless Network Adapters ........................................................................31 2.8.2 Onboard Video Camera ..............................................................................32 2.8.3 Infrared Proximity Detectors ......................................................................33 2.8.4 Electronic Compass ..............................................................................
Table of Contents ix 3.8.4 Programming...................................................................................................78 3.8.5 DAQ Card Interface........................................................................................78 3.8.6 Motor Driver Interface....................................................................................80 3.9 RADIO CONTROL ...............................................................................................81 4.
x The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 4.11 HARDWARE SUMMARY...............................................................................121 5. SOFTWARE.....................................................................................................123 5.1 APPLICATION REVIEW...................................................................................123 5.1.1 LabVIEW.....................................................................................
Table of Contents xi 5.10 USER INTERFACE ..........................................................................................166 5.10.1 GUIDE ........................................................................................................167 5.10.2 TabPanels....................................................................................................168 6. RESULTS & CONCLUSION.........................................................................173 6.1 CURRENT CONSUMPTION ..........
xii The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
List of Figures xiii LIST OF FIGURES Figure 1.1: Robots used in dangerous environments. ……………………………….1 Figure 2.1: Fleet of mobile robots within Mechatronics Group...……… ……...……7 Figure 2.2: TALON military robot……………………………… ……………..……9 Figure 2.3: ACER robot………………………………………………………….…10 Figure 2.4: MATILDA tracked robot………………….………… …………...……10 Figure 2.5: Packbot…………………………………………………………...….…11 Figure 2.6: Urban reconnaissance robot …………………… …………………..…12 Figure 2.7: Collection of multi-terrain robots……………………… .
xiv The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 3.4: Simplified single switch and relay drive circuit………………… …….41 Figure 3.5: Itchy and Scratchy motor drivers……………………………… ………42 Figure 3.6: One of the H-Bridge power circuit boards previously designed… ……45 Figure 3.7: Previously designed microcontroller board………………… …………46 Figure 3.8: Initial motor driver front end GUI…………………… ……………..…47 Figure 3.9: Small 24 V motor driver test motor………………………… ………....48 Figure 3.
List of Figures xv Figure 3.38: Radio Controller interface board……………………… …………..…81 Figure 3.39: Radio control handheld transmitter………………………………...…81 Figure 4.1: Computer installation – Original idea and revised option…… ……..…84 Figure 4.2: Protective hard drive cradle and mounting position……… ………...…84 Figure 4.3: USB to serial adapter…………………………………… …………..…85 Figure 4.4: Fuse enclosure……………………………………………………….…86 Figure 4.5: Subsection of wiring showing motor driver connection…… ……….…87 Figure 4.
xvi The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 4.33: Lateral sensing distance for different object ranges…………… …...117 Figure 4.34: Infrared based non-contact bumper…………………………… ……117 Figure 4.35: Infrared sensor interface boards……………………………………..118 Figure 4.36: Labelled terminal blocks…………………………………………….118 Figure 4.37: CB-68LPR terminal block and labelled connectors………………....119 Figure 4.38: NI-PCI6229 DAQ card connector pinout…………………… ……...119 Figure 4.
List of Figures xvii Figure 5.27: Extract from image acquisition code ……………………………….152 Figure 5.28: Extract from low level control loop variable initialization …………155 Figure 5.29: Customization of individual hardware access functions…………….155 Figure 5.30: Excerpt from motor driver code showing safety pulse generation ….156 Figure 5.31: Unique data log file name creation ………………………………….157 Figure 5.32: Writing data to file using fprintf …………………………………….157 Figure 5.
xviii The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 6.19: New flange pulleys and positioning diagram ……………………….194 Figure 6.20: Images of successful robot operation in outdoor conditions ………..195 Figure 6.21: Robotic manipulator mounted on outdoor mechatron ………………196 Figure 6.22: Completed mechatron in operation outdoors ………………………..
List of Tables xix LIST OF TABLES Table 2.1: Dynamic Controls WMT90112 motor specifications……… …………15 Table 2.2: Selected battery specifications…………………………………………28 Table 3.1: RHINO programmer settings…………………………………………..67 Table 3.2: RHINO fault code reference…………………………………………...68 Table 3.3: Microcontroller to DAQ card connections……………………………. 79 Table 4.1: Sensitivity selection………………………………………………….. 107 Table 4.2: DAQ card connections summary……………………………………..120 Table 5.
xx The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Introduction 1 1. INTRODUCTION Mobile robots capable of traversing difficult terrain are useful in a large number of circumstances where human labour is too expensive, dangerous or impractical. Such industries or environments would benefit from a robotic vehicle performing certain repetitive or specialized tasks such as those shown in Figure 1.1. 1.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 2 These devices have been restricted in the past due to technology limitations however, as sophisticated devices become available, the requirements of co-ordination, communication and precision control can be met by a robotic system. Research and development of such a robotic system capable of replacing or complimenting human labour has been initiated by the construction of a multi-terrain mechatron (Cordes, 2002).
Introduction 3 1.3 PROJECT SPECIFICATIONS The objective of this project is to research and implement the necessary hardware and software components required to eventually enable autonomous operation of a mobile mechatron. The mechanical shell of a track-laying multi-terrain robotic vehicle has previously been deigned and this project aims to equip it with the mechanisms for operation and evaluate the performance of the installed components.
4 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications • Independent Operation – All power supply systems and computational resources are to be mounted on the mechatron to facilitate self sufficient operation. • Manoeuvrability – Design of motor control systems need to consider and take advantage of the differential drive configuration to enable high manoeuvrability over uneven terrain.
Introduction 5 ¾ Calibration and testing of sensors ¾ Provide communication link with remote base station ¾ Test and evaluate mechatron performance outdoors The final result of this thesis will be a multi-terrain robotic platform capable of autonomous operation outdoors. Supporting electronics and sensory systems will be installed and evaluated to provide navigation data and obstacle avoidance.
6 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Background 7 2. BACKGROUND 2.1 PREVIOUS MECHATRONICS RESEARCH The Mechatronics Group at the University of Waikato has developed a number of medium to large scale robotic vehicles. The robots have been specifically designed for a number of different tasks and therefore exhibit a wide range of characteristics. Robots range from specially designed platforms for indoor operation up to large vehicles for underwater exploration and outdoor multi-terrain navigation.
8 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications system and a wide field of view imaging system. A pair of identical robots (Itchy and Scratchy) have been designed and built to investigate cooperative robotic interaction. The project aims the curb the trend of mechanical scaling to perform ever increasing tasks by utilizing multiple units working together in a controlled, outdoor environment.
Background 9 2.2.1 TALON™ The range of TALON™ robots (Figure 2.2) from Foster-Miller3 provides a powerful and durable tracked robotic platform for use in the military. Used extensively by the U.S Army during missions in Iraq and Afghanistan, the rugged platform has proved successful in a number of scenarios including EOD and reconnaissance. TALON specifications: • Direct connection to large range of weaponry • Power: Lithium Ion 36 VDC 750 Whr battery • Velocity: 0 – 2.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 10 in a hazardous environment. Attachments such as earthmoving buckets and blades enable terrain clearing and forced building entry. The large 1134 kg payload capacity enables transport of equipment including an 11339 kg towing capability. ACER specifications: • Power: Turbocharged 60 HP Diesel engine with hydraulic system for tracks and auxiliary tools • Velocity: 0 – 2.8 ms-1 • Weight: 1905 kg • Dimensions: 2.1 × 1.
Background 11 A number of different track sets are available for traversing a range of operating surfaces including slick (marble) floors and snow/icy conditions. Equipped with imaging sensors and 220.5 kg or 441 kg tactical trailers, the MATILDA robot is best suited for tele-operated applications such as explosives disposal, logistics and equipment supply, surveillance and search and rescue. 2.2.4 PackBot PackBot, shown in Figure 2.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 12 Urbie Specifications: • Power: 100 W NICAD Pack • Velocity: 0.8 ms-1 • Weight: 22 kg • Dimensions: < 650 mm long • Controller: dedicated Pentium PC for both vision and navigation systems • Figure 2.
Background 13 2.3 EXISTING PLATFORM Evaluation of commercially available platforms (section 2.2) reveals how unsuitable they are for fulfilling the research purposes of this project. A low cost, medium scaled track-based platform was required that could negotiate rough terrain and provide a base for further research into outdoor robotics. The limiting factor with most of the systems evaluated was the high cost and limited payload capacity.
14 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 2.3.1 Drive Motors The drive system consists of a pair of permanent magnet, brush type DC motors. Developed locally by a New Zealand company, Dynamic Controls Ltd, the motors, shown in Figure 2.9 were designed for use in mobility devices for the elderly and disabled.
Background 15 Some key points to note from the performance characteristics are the relationship between efficiency and current. Although the rated current of 8 – 10 Amps produces the highest efficiency of about 45%, actual operating current usually exceeds this value meaning the motors are operating relatively inefficiently.
16 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications side at an equal but opposite velocity whereas straight line motion is achieved with identical velocities in the same direction. ℓR ℓ ℓL θ r w Figure 2.11 LEFT: Underside view of mechatron showing differential drive RIGHT: Correlation diagram between track motion and mechatron movement These concepts are illustrated in Figure 2.11.
Background 17 2.3.3 Advantages of Skid Steering The main advantage of a locomotion system utilizing differential drive or skid-style steering is the very high manoeuvrability of the vehicle. The ability to rotate on the spot and turn a corner of practically any radius is very useful particularly when avoiding obstacles. Tracked vehicles have a larger footprint compared to wheeled and legged robots enabling increased traction and stability, particularly on loose or uneven terrain such as shown in Figure 2.
18 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications directions and to a lesser extent different velocities is inherently inefficient and demanding on the power supply. The worst case occurs when turning on the spot. As the vehicle rotates, the track contact points move in an increasingly horizontal direction towards the track end points as illustrated in Figure 2.13 (indicating a clockwise rotation).
Background 19 2.3.5 Existing Onboard Hardware This section describes the existing hardware components present on the mechatron at the onset of this project. Although the mechatron could accomplish remote controlled movement at the completion of the initial mechanical design, this was not the case at the start of this project. The mechatron did not have any working electronic systems due to many of the components being relocated to other projects.
20 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 2.4 PROCESSOR ARCHITECTURE A number of different hardware architectures are available to perform the onboard processing algorithms required by this project. Data input/output, communications and hardware control and monitoring are some of the tasks required of the central controller.
Background 21 Available systems were researched and evaluated on the basis of cost, size, processing capability and system integration. Some of the solutions considered are discussed in the following sections. 2.4.1 Embedded Controller A wide range of embedded microcontrollers are available offering high processing capability and low power consumption depending on the model.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 22 2.4.5 Full Size PC A full scale desktop PC provides the highest processing capability for a relatively low cost however the size and power consumption limits the usefulness on a mobile robot. 2.4.6 ShuttleX PC A Shuttle PC provides a good compromise between a laptop computer and full size desktop PC.
Background 23 2.5 ELECTRONICS POWER SUPPLY A suitable power supply unit is required to power the numerous onboard electronic systems. The Mechatronics group has previously used an uninterruptible power supply (UPS), shown in Figure 2.17 to convert the 24 V DC battery supply to the 230 V AC. The high voltage is regulated to supply the computer and electronics by a standard ATX PC power supply.
24 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 2.6 BATTERY SELECTION A number of different technologies are available to provide power to the motors and other onboard electronic systems. Specialized devices such as fuel cells provide a high power density to weight ratio but are restrictedly expensive. Cheaper and self sufficient forms of energy such as solar panels provide endless energy but operation is restricted to outdoors during daylight.
Background 25 2.6.2 Review of Battery Types There are many varieties of battery available on the market, each specializing to a different application and energy requirement.
26 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications of similar size. The marine deep cycle battery, often called a “hybrid” is essentially a combination of the previous two types. They can be used for engine starting in marine environments but are also suited to deep cycling for powering onboard electronic systems. Although cheaper than normal deep cycle batteries they cannot be discharged as frequently without damage resulting.
Background 27 The Reserve Capacity (RC) rating gives the time, in minutes, that a fully charged battery can supply a constant 25 amps at 25 °C. The CCA rating is Cold Cranking Amps and is more applicable to automotive batteries than batteries designed for deep cycling. The CCA rating gives the discharge load in amperes that the fully charged battery can supply for 30 seconds at -18 °C and maintain a minimum 1.2 Volts per cell.
28 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Manufacturer Hella Model MDC24/85 Endurant Cyclemaster CCA 515 Amps Capacity 85 A/Hrs Dimensions 270 × 170 × 250 mm (l×w×h) Weight 19 kg each Table 2.2 Selected battery specification These batteries provide approximately 85 A/hrs / 25 A = 3.4 hours of operation time when fully charged assuming a constant current of 25 A (refer section 6.1).
Background 29 It is important to note the depth of discharge significantly affects the battery lifetime and ability to hold a charge. If a battery is repeatedly drained to low levels the life of the battery will be less than if only partially discharged. The manufacturer of the selected batteries recommends a 50 % or less discharge to ensure battery integrity over time. This is the opposite effect as observed with NiCad batteries where is essential to fully discharge the battery before recharging.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 30 There exists a large number of data acquisition devices available, each best suited to different operating environments and tasks. As a result, the cost and performance characteristics can vary substantially between models. Primary tasks of the DAQ card in this project include acquisition of sensor data, connection to and control of a motor driver system and the ability to adapt to future project requirements.
Background 31 These devices are low cost and provide optimised functionality for a wide range of applications in hardware control and sensor measurement. Some key features of the card are: • NI-STC2 and NI-PGIA Technology • NI-DAQmx software drivers • 32 16-bit Analogue Inputs 250 kS/s • 4 16-bit Analogue Outputs 833 kS/s • 48 TTL/CMOS Digital IO • 32 DIO Hardware timed at 1 MHz • 2 32-bit 80 MHz Timers/Counters • 6 DMA Channels for fast data throughput 2.
32 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 2.20 LEFT: DWL-120+ Wireless UBS Adapter RIGHT: DWL-650+ Wireless Cardbus Adapter A PCMCIA card bus adapter is used for the laptop while a USB adapter is installed on the robot computer. Both devices are standard 2.4 GHz wireless adapters from DLink, shown in Figure 2.20 using the 802.11b protocol. The devices are connected with an ad-hoc topology and transfer speeds are up to 11 Mbits/s with a strong signal.
Background 33 2.8.3 Infrared Proximity Detectors A number of Sharp GP2Y0A02YK infrared (IR) detectors illustrated in Figure 2.22 provide a measure of distance to objects surrounding the mechatron. Each device produces an analogy DC voltage between 0.25 and 3 V giving a non-linear representation of measured distance, updated every 32 ms. The process of converting the voltage to a range measurement and the mounting of the sensors are described in section 4.8. Figure 2.
34 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 2.23 Honeywell HMR3300 electronic compass module 2.8.5 GPS Receiver Absolute positioning of the mechatron is achieved using a GPS (Global Positioning System) antenna and receiver. The Motorola M12+ Oncore receiver, Figure 2.24, uses the NAVSTAR satellite GPS system to accurately determine 3-dimensional position, velocity and time worldwide. Figure 2.
Background 35 2.8.6 Inertial Sensor A 3-axis accelerometer shown in Figure 2.25 provides the means for an inertial navigation system to complement the GPS receiver. The MMA7260Q sensor from Freescale Semiconductor is a low cost, capacitive micro machined device including selection between four g sensitivities in the range ±1.5 g to ±6 g. Figure 2.25 MMA7260Q 3-axis accelerometer 2.8.7 Motor Drivers A pair of high power, reliable motor driver units (Figure 2.
36 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Motor Control 37 3. MOTOR CONTROL 3.1 INTRODUCTION The process of effective and reliable motor control forms the base of this chapter. A number of factors provide the motivation to create a single motor driver solution for robot control. As technology advances, changes in platform topology and component availability create problems when hardware peripherals such as DAQ cards and PC's become obsolete and are upgraded.
38 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications A mechanical commutator is connected to the rotor and winding assembly which reverses the current polarity as the shaft rotates, thus generating a changing magnetic field around the windings. The interaction between the changing magnetic dipoles of the rotor and the constant stator magnets produce a torque and force the rotor to continuously spin. 3.1.
Motor Control 39 (a) (b) (c) Figure 3.1 PWM signals and transmitted power (a) 50% (b) 90% (c) 10% The integration of a digital controller in the motor driver has the added advantage of separating the timing critical motion control algorithms (PWM generation) from the higher level robot software. This is particularly important when a non-real-time operating system such as Microsoft Windows XP is used where process timing cannot be guaranteed constant.
40 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.1.3 Differential Drive Motor Control The implementation of a differential drive motor control system presents a different set of challenges compared to conventional speed or position only designs where control of only one motor is necessary. Two motors are used to individually drive each side of the robot, Figure 3.3, so the motor driver must have at least two channels and be capable of controlling both motors in tandem.
Motor Control 41 3.2 EXISTING MOTOR DRIVERS Previous motor controller circuits designed within the Mechatronics Group have been quite varied and focus on platform specific designs. The main parallel between most robotic platforms is that they run from a 24 V battery system. This section discusses some of the past attempts at motor control and their shortfalls with respect to this project. 3.2.
42 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.2.2 Co-operating Robots The pair of co-operating robots (Itchy & Scratchy, section 2.1) use a different type of drive configuration to that of the outdoor mechatron's original circuit. A tricycle based design is used with one motor for drive and the other positioned at the rear for steering.
Motor Control 43 3.2.3 Marvin Documentation of the original motor drivers is sparse however it is known they were unreliable and later replaced by those originally implemented on the outdoor mechatron (3.2.1). Other circuits were designed and tested but none were successful in continuous operation. More recently Marvin (section 2.1) was fitted with the drivers specified in 3.2.
44 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The set of generic motor drivers were initially designed for the control of robotic vehicles within the Mechatronics Group at the University of Waikato however future development could commercialize the circuitry. These units were intended to be installed on the outdoor mechatron, with this project aiming to ensure correct operation and a reliable method of control.
Motor Control 45 3.3.2 Hardware Components The high power components of the motor drivers consist of a pair of H-bridge driver boards (Figure 3.6). Each utilize a full bridge, MOSFET based design allowing speed and direction control in the four quadrants (section 3.1.2) of operation. An additional MOSFET switch enables control of the electro-mechanical brake systems present on Marvin and the outdoor mechatron.
46 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Control signals for the power boards are generated by a microcontroller board shown in Figure 3.7. The PCB has a number of connector systems for interfacing to the motor driver boards, power supply and computer controller. The popular 8051 architecture was selected for the 8-bit embedded controller allowing straightforward development and reprogram ability.
Motor Control 47 3.3.3 Software Interface At the time the generic motor drivers were being developed, the majority of robot programming was done using the MATLAB language. It was envisaged this software package would become the standard development environment for future projects and as a result the motor driver software was based around it.
48 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.3.4 Testing and Evaluation Before integrating the motor drivers into the mechatron control system and mounting on the robot, performance testing was carried out to determine their suitability. Due to the lack of documentation at the onset of testing and the incomplete assembly of some boards, initial testing was unsuccessful and full operation was not possible.
Motor Control 49 A significant problem discovered with the drivers was the detection of excessive switching noise on the power rails of the low power electronic subsystems. Graphs comparing the clean 5 V rail and the effect of the noise signal when the motor drivers are activated is shown in Figure 3.10. Noise pickup through the oscilloscope leads was ruled out indicating the noise was permeating through the system, possibly due to a grounding problem. Figure 3.
50 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications failure of the high power circuitry caused destruction of components and on one occasion a small fire on the PCB. Although the exact cause of the problem has not yet been resolved it is understood a shoot-through event is most likely. This has occurred due to a failure of either the MOSFET driver IC to correctly co-ordinate switching or the MOSFETs themselves becoming overstressed during operation.
Motor Control 51 Two enclosures are attached together as shown in Figure 3.12 separately housing the high power boards from the microcontroller to reduce interference. Three cooling fans and opposite air inlets have been fitted to provide airflow along the heat sinks to dissipate excess heat from the MOSFETs and diodes. PWM Frequency The PWM frequency of the H-bridge drivers was changed in the microcontroller from 36 kHz down to 12 kHz.
52 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Shielding The effect of electromagnetic interference (EMI) from the drive motors was investigated. A thick aluminium shielding plate was placed between the motors and driver units to act as a ground plane and direct the noise away from the low power circuits. The components were also physically separated by the largest distance possible as noise intensity reduces according to the inverse square of distance.
Motor Control 53 investigated to remove the noise, particularly from conduction along the ground wires between circuits. Figure 3.14 Inspection of single noise pulse (f ≈ 20MHz) Ferrite beads can be modelled as a series combination of an inductor and resistor, as frequency increases the resistive component dominates and dissipates noise in the form of heat.
54 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications These devices were connected in a number of different locations such as between the ATX power supply and batteries and between the driver boards and batteries. The most success was achieved when the units were attached between the drive motors and the motor driver boards as illustrated in Figure 3.16. Figure 3.
Motor Control 55 Although further analysis of the initial microprocessor code and a continual pursuit of noise reduction would eventually resolve reliability issues it was decided not to continue this path. The cost of replacement parts was already exceeding the price of some commercially available systems and development time would be better spent on other areas of the project.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 56 3.4.1 MAXI Motor Driver Kit A compact H-bridge motor driver kit shown in Figure 3.17 is available from the MONDO-TRONICS website7. They provide digital control of the power converter from a standard PC parallel port or serial port by adding the optional “Serial Motor Interface”.
Motor Control 57 3.4.2 MD03 and MD22 A pair of similar H-bridge motor driver boards is available from Robot Electronics8 in the UK. The MD03 and MD22, shown in Figure 3.18 provide robust medium power motor control with a vast array of features. A number of control methods are available such as an I2C bus, analogue inputs and the ability to interface to a hobby style radio control receiver thereby offering versatility in implementation.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 58 3.4.3 Tecel D200 A high power H-Bridge DC motor driver board, shown in Figure 3.19 is available from Tecel Microcontrollers9. The D200 is capable of driving many different motors of any voltage up to 55 V making it suitable for use on a number or robot platforms. The board contains a single switching bridge meaning two units are required for this project.
Motor Control 59 3.4.4 MDM5253 The MDM525310 DC motor driver module shown in Figure 3.20 is a three channel Hbridge power amplifying module capable of controlling 3 DC motors simultaneously. Control is via logic level PWM inputs at a frequency up to 20 kHz, additionally the module provides feedback on motor current and position sensors such as potentiometers or rotary encoders. Some specifications of the MDM5253 are: • 3 independent motor channels • Output drive of 5 – 28 V • 5.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 60 3.4.5 RoboteQ AX2550 The AX2550 module from RoboteQ11 (Figure 3.21) is a high power, dual channel digital speed controller for computer guided robotic vehicles. The compact size and large drive capability make it suitable for a wide range of systems. A number of input types are possible including an R/C receiver, analogue joystick, wireless modem or embedded controller giving the unit versatility.
Motor Control 61 3.5 SELECTED MODULES As discussed, a number of commercial motor controllers have been researched and evaluated for installation on the outdoor mechatron. A common restriction amongst many of the devices available is the limited current capability. Many devices are available for small to medium power motor control applications and the few found for high power were too expensive and specialized for this project.
62 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The specifications of the RHINO DS72K controllers are: Drive Motor Type: Permanent magnet Battery Voltage: 17.5 to 32 V (24 V nominal) Operating Current: Max: 70 A Continuous: 25 A @ 25°C Quiescent Current: Key Off: 1.5 mA Sleep: 2 mA Neutral: 50 mA Parking Brake Output: 1.3 A (max) @ 24 V Dimensions: 155 mm × 100 mm × 44 mm (Figure 3.
Motor Control 63 advantageous characteristic of the RHINO controllers is that they have been designed to control the same motors installed on the mechatron. This was the major consideration in selecting these drivers as this meant they were inherently designed to cope with the loads and stresses present. This could not be guaranteed with most other commercially available systems. Safety features include automatic motor protection algorithms.
64 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.5.2 Interfacing The controllers have been designed to interface to a mobility scooter tiller head such as the one shown in Figure 3.23. The resultant interfacing system for the mechatron must therefore be compatible in order for the controllers to correctly function. Figure 3.23 Example scooter tiller head from Dynamic Controls Ltd The standard wiring diagram for the controllers is illustrated in Figure 3.24.
Motor Control 65 onboard microcontroller) a resistance between 4.4 kΩ and 5.4 kΩ to be connected between the throttle +ve and throttle –ve pins. A 0.5 – 4.5 V signal with respect to the negative battery voltage can be applied to the throttle wiper pin providing a 2 V range for each direction of motor control. However, voltage drops between the battery negative point of the driving interface and the RHINO controller's internal battery negative circuitry will affect the control signal.
66 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.5.3 Handheld Controller To perform initial testing and functionality verification of the motor drivers a manually operated hand held controller was developed. The device models the simple interfacing requirements detailed in section 3.5.2, consisting of two 10 kΩ potentiometers for velocity control.
Motor Control 67 system settings such as motor resistance and throttle threshold levels. The programmer connects to the RHINO through an adapter cable to the programming port as shown in Figure 3.26. An additional power supply is not required as the programmer is powered by the controller, therefore the controller units must be switched on. Automatic safety features ensure the controllers cannot be operated while the programmer is connected.
68 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.5.5 Status Codes The RHINO controllers provide status and diagnostic information to assist the user in correcting faults with the scooter system. A fault with the controller or motor control system will cause the status LED to flash and a horn to sound (if later fitted). The sequence of light flashes and horn bursts represent a particular fault, referred to as the "flash code".
Motor Control 69 3.5.6 Robot Mounting Mounting of the RHINO controllers to the robot platform is via a stainless steel mounting plate ensuring a strong and stable attachment. Measuring 330 mm × 230 mm, the plate was bent along the centre to produce an angled platform to which the controllers are bolted. Recommendations by the manufacturer for an inclination angle of 15 – 75° were followed to allow free draining of moisture and adequate ventilation for the cooling holes.
70 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 3.6 Initial Interface Design The first design of the motor controller board, shown in Figure 3.28, was based on supplying a controlled analogue voltage to the throttle wiper pin. Since a mechanical potentiometer is not able to provide an analogue voltage using a digital controller, a suitable DAC (Digital to Analogue Converter) was investigated.
Motor Control 71 A simplified schematic of the PWM based interface board is shown in Figure 3.29. The input PWM signals from the microcontroller pass through a logic gate buffer, two stage low-pass filter network and op-amp based voltage follower before reaching the controllers. Two control lines are used to control the power through the key switch lines and solid-state relays (not shown).
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 72 3.7 Improved Motor Driver Interface The improved design for the motor driver interface board more closely matched the interfacing attributes of the tiller head units. The motor drivers are designed to accept a 5 kΩ mechanical potentiometer across the throttle pins. Therefore, the most effective method of controlling the wiper voltage with a computer was through a digital potentiometer.
Motor Control 73 +5 +5 LED1 KeyCntrl13 1, 5, 8 1, 5, 8 K2 Relay-SPST 6 8 4 K1 Relay-SPST 6 U6 MC33201P 6 2 1 2 KeyCntrl03 Res2 10K 8 LED0 +5 2 U5 MC33201P 6 2 1 Res2 10K R8 Res2 22K 7 R10 7 R9 +5 4 R7 Res2 22K KS0 KS1 Figure 3.31 Schematic showing key switch control circuitry The resolution is 64 positions providing a large number of individual power settings adequate for the outdoor mechatron.
74 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications effectively controlling the outdoor mechatron is the straightforward portability to other robotic vehicles. A plastic enclosure, shown in Figure 3.34, is designed to protect the interface board and provide a strong mounting platform to the mechatron chassis. Microcontroller Connector Status Leds Digital Potentiometer Power Leds Motor Driver Connectors Figure 3.
Motor Control 75 3.8 MICROCONTROLLER Due to complications in timing when sending SPI control signals directly from the DAQ card (using the operating system’s internal clock), an independent microcontroller system was developed. The microcontroller board, Figure 3.35, is connected to the motor driver interface board and provides control of the RHINO modules independent of the computer system. DAQ Card Radio Receiver Motor Driver Power Figure 3.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 76 3.8.1 Selected Controller An 8051 based Philips microcontroller (P87C552) was selected for its familiarity within the Mechatronics Group and the range of on-chip peripherals suitable for this application.
Motor Control 77 3.8.2 Power Supply The power distribution board (section 4.2.4) provides 12 V and ground rails to the microcontroller from the ATX PSU. Connection is through a polarized 2-pin header which also allows connection of a 9 V battery pack for manual operation (without PC turned on) or in case of power failure. EMI Suppression Devices Tranzorb S1 2 JP1 3 SW-SPDT 1 2 3 U1 D5 1 1 Diode C8 Cap 0.
78 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications A low on NPSEN indicates the microcontroller is reading from program memory, therefore this line can be used to select the upper 64 kB (program) memory bank during operation. The lower 64 kB (data) memory bank can be accessed when PSEN is high thus giving data memory default access.
Motor Control 79 A summary of DAQ card to microcontroller connections is shown in Table 3.3. Two DAQ card analogue 0 – 5 V output channels are used to transmit the velocity control to the microcontroller ADC with 5 V representing maximum power and 0 V stopped. Micro 10 Micro Pin Header Port 1 P5.0 2 Function DAQ DAQ Port Connector Speed 0 AO.0 22 P5.1 Speed 1 AO.1 21 3 P5.2 Direction 0 P0.0 52 4 P5.3 Direction 1 P0.1 17 5 P4.0 Power P0.2 49 6 P4.1 Control Type P0.
80 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The control type line is used to signal the operation mode the microcontroller will operate in. A digital high or low represents one of two possible states: 1) PC Control Mode 2) Manual Control Mode PC control mode is selected when the mechatron is to operate under computer control from the onboard software interface. Command signals are sent through the DAQ card to control the motor drivers.
Motor Control 81 3.9 RADIO CONTROL Due to the large scale and weight of the Mechatron, a radio control (RC) receiver has been interfaced to the microcontroller to aid in robot transportation. The advantage is that the robot can be moved without requiring the main PC and software to be initialized, thus saving time and reducing power consumption. The interface board, Figure 3.
82 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Electronics and Sensors 83 4. ELECTRONICS AND SENSORS A number of electronic and sensory subsystems were developed to integrate with the central computer and robot hardware. These systems provide interface and control to the motor driver system, sensors and other peripheral devices required to achieve robot motion. Each component has been individually designed using a generic approach to interfacing. This modular design ensures straightforward troubleshooting and facilitates future upgrades and additions.
84 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications ATX power converter cables was required in order to mount the unit on top of the batteries and away from the CPU. Recessed Option ATX Converter Cable Ties Steel Bars CPU Figure 4.1 Computer installation LEFT: Original idea RIGHT: Revised option 4.1.
Electronics and Sensors 85 4.1.3 Communication Interfaces The ShuttleX computer contains one legacy serial (RS232) port and four Universal Serial Bus (USB) ports for connection to peripherals. The limited serial ports restrict the number of serial devices that can be connected which is a disadvantage as many devices such as sensors utilize this protocol. Figure 4.
86 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 4.2.1 Fuse Box A fuse box is installed between the battery terminals and electronic devices to ensure cut-out protection in case of a short circuit fault or excessive current draw. The unit, shown in Figure 4.4, is constructed of strong plastic and includes heavy duty contacts for durability and high current applications Figure 4.
Electronics and Sensors 87 A subsection of the cable system is shown in Figure 4.5 indicating connection of the motor drivers, battery supply and fuse box. Other cables such as those used for charging connections and control signals are grouped and attached under the steel frame to reduce disorder. Battery -ve ATX Supply Motor Driver Power Fuse Box Battery +ve Motor Connector Figure 4.5 Subsection of wiring showing motor driver connection 4.2.
88 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 4.6 Power switch and charging panel The three charging terminals are also located on the rear switch panel for accessibility reasons. An external power supply or battery charging system can be connected to charge the SLA batteries either individually or as a pair. It is not necessary to switch off the motor drivers while charging. 4.2.4 Power Distribution Board A power distribution board illustrated in Figure 4.
Electronics and Sensors 89 4.3 SENSOR OPTIONS In order for a mobile robot to operate autonomously it must be capable of detecting and analyzing the surrounding environment. To do this the mechatron must have the means to accurately gather environmental information and process it to enable intelligent decisions to be made on its operating process. Although the detection and interpretation of surrounding objects is a natural process for humans and other animals, this is not as simply implemented on a robot.
The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 90 • Object classification • Ranging sensors • Robot status and monitoring • Application specific sensors Some applications, such as localization require more than one type of sensor whereas certain sensory devices are capable of providing information suitable for a number of tasks. A short review of available sensor technology for integration into the robot follows in the next subsections. 4.3.
Electronics and Sensors 91 • Locating Beacons: ground based RF transmitters, GPS • Odometry/Velocity: relative shaft encoders, absolute position sensors, ultrasonic ground speed sensor • Inertial Navigation: accelerometers, gyroscopes 4.3.2 Ranging Sensors used to measure distance are extremely useful on an autonomous mechatron. Range information is crucial to the safe avoidance of obstacles or classification of objects.
92 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 4.4 ELECTRONIC COMPASS An electronic compass provides robot heading information for the navigation and guidance system. Robot positioning by odometry alone rapidly accumulates errors particularly in tracked vehicles due the slippage of the drive components. The addition of a heading sensor to the control system can correct direction errors and increase the accuracy of the robot positioning software. Figure 4.
Electronics and Sensors 93 A PCB interface board was designed (Figure 4.9) and DAQ card based interfacing software was written. The Vector2X produces serial binary coded decimal (BCD) or binary output format through the output pin representing the heading in degrees. However, communication problems with the device indicated it was faulty and could not be used. Figure 4.
94 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Specifications include ±0.5° RMS accuracy when level, 100 – 0.04 Hz programmable response time and six analogue/digital interfacing methods including RS-232, NMEA-0183 and linear voltage. Figure 4.10 KVH C100 Although the C100 has impressive features such as durability, and microprocessor controlled magnetic interference compensation, the high US$795 cost of the unit makes it unsuitable for this project.
Electronics and Sensors 95 Handheld Units A number of handheld compass modules such the MapStar in Figure 4.12 have been considered for installation on the outdoor mechatron. These devices are designed for outdoor use in surveying or construction and are therefore durable and highly accurate. Utilizing a range of sensing elements and user interface methods, handheld devices provide a ready to use solution however, difficulties with PC interfacing make them unsuitable for this project.
96 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Response times up to 20 Hz are possible due to the solid state sensing devices allowing a faster response compared to gimballed fluxgate sensors. The module, shown in Figure 4.13, comes with a protective plastic housing however functions per price (US$700) does not compare well to other devices investigated and is therefore not selected.
Electronics and Sensors 97 military use with 1° RMS accuracy on each axis and a 50 Hz update rate. The unit is supplied with a durable aluminium housing and comprehensive test software. Data from three silicon magnetometers and three MEMS accelerometers are combined to provide highly accurate heading, pitch and roll data. The World Magnetic Model is also incorporated enabling the module to automatically provide global heading referenced to north and detection of magnetic anomalies.
98 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 4.4.3 Selected Module An HMR3300 electronic compass module from Honeywell was selected to satisfy the compassing requirements of the multi-terrain mechatron and other outdoor robotic vehicles under development by the Mechatronics Group. This unit, although costing more than some commercial systems evaluated, provided the best features per price available.
Electronics and Sensors 99 The specifications of the module are listed below: • Heading Accuracy: 1 – 4° RMS depending on tilt • Resolution: 0.1° • Pitch and Roll Range: ± 60° • Pitch and Roll Accuracy: 0.4 – 1.2° • Magnetic Field Range: ± 2 gauss • Update Rate: 8 Hz • Interface: UART or SPI • Dimensions: 25.4 × 36.8 × 11 mm • Weight: 7.
100 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications MAX232 Transciever/Line Driver C5 Cap Pol1 1uF U2 6 15 VEE GND Serial Connector to USB Adaptor +5 J1 1 6 2 7 3 8 4 9 5 11 10 8 13 7 14 R2IN R1IN R2OUT R1OUT T2OUT T1OUT T2IN T1IN +5 16 2 D Connector 9 C2C2+ C1C1+ VCC VDD 1 R1 Res2 220R +5 Power Indicator LED Tx 3 1 IN VCC C3 C4 Cap Pol1 1uF Cap Pol1 1uF C7 Cap Pol1 10uF 2 C6 Cap 0.
Electronics and Sensors 101 4.5 GPS Accurate positioning is crucial to the operation of an autonomous outdoor robot. The mechatron must have knowledge of its position relative to the goal location or positioning of known obstacles in order for it to carry out tasks. One form of sensor available to achieve reliable, absolute positioning is the Global Positioning System (GPS).
102 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications In order to make this measurement both the satellite and receiver require a precise system of time keeping down to the nano-second. Atomic clocks using rubidium (and later caesium) are installed in each satellite to achieve accuracy and long term stability of a few parts in 1014 per day (about 1 sec in 3,000,00 years) .
Electronics and Sensors 103 4.5.2 Receiver The GPS receiver selected for this project is the M12+ Oncore from Motorola. It is a cost effective solution designed for automotive use and is therefore a physically small unit with low power consumption. Initialization times are small with a Time To First Fix (TTFF) of 15 – 60 s and an internal reacquisition time < 1s. To enable the receiver to pick up signals from satellites, a suitable antenna must be connected. The module, shown in Figure 4.
104 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The GPS module was purchased as a standalone OEM unit meaning a suitable power supply and communication interface was not included. The requirements are a 2.75 – 3.2 V DC supply and as only a 3.3 V rail is available from the ATX converter, a custom 3 V circuit incorporating an LM317 voltage regulator was constructed. The serial communication interface uses a 0 – 3V signal at 9600 baud, 8 data bits, no parity and 1 stop bit.
Electronics and Sensors 105 4.6.1 Advantages Certain operating environments can cause restriction or loss of the GPS signal such as canyons, large buildings or foliage such as under trees. The accelerometer can be used in sensor fusion applications as a backup or complement to standard GPS. Robot acceleration, and thus displacement by double integration, is measured to provide a reliable and accurate representation of robot position over the short term, thus allowing continued navigation without the GPS.
106 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Other features and specifications of the module include: • Selectable g-levels (1.5g/2g/4g/6g) • Low current consumption 500 μA (3 μA sleep mode) • Low voltage operation 2.2 – 3.6 V • High sensitivity (800 mV/g @ 1.5 g) • Fast turn on time • Maximum survivable acceleration ±2000 g • Zero g offset output voltage 1.65 V nominal 4.6.
Electronics and Sensors 107 Figure 4.23 Beam and capacitor model of g-cells 4.6.4 Sensitivity An advantage of the MMA7260Q is the g-select feature which enables selection between four different sensitivities. Depending on the logic levels at pins 1 and 2, glevels of 1.5g, 2g, 4g and 6g are available as indicated by Table 4.1. Different g-levels are best suited different applications, for example 1.
108 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 4.6.5 Interface Design The accelerometer has three analogue output channels corresponding to the 3-axes of g-cell orientation. Acceleration in any of the directions X, Y, Z will produce a corresponding voltage on the output pins Xout, Yout and Zout determined by the current sensitivity setting. An interface board (Figure 4.
Electronics and Sensors 109 4.6.6 Measuring Tilt Accelerometers are capable of measuring both dynamic and static forms of acceleration. Tilt is a type of static measurement where the Earth's gravity is the acceleration experienced by the module. Although tilt data are already available from the 3-axis compass module of section 4.4.3, the accelerometer can act as a backup device which has the added benefit of not being affected by stray magnetic fields or ferrous objects.
110 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Results of accelerometer tilt experiments and comparisons with the electronic compass output are discussed in section 6.2.3. Preliminary tests on using the accelerometer for collision detection are also explored in section 6.2.2. 4.7 SHAFT ENCODERS Relative positioning of the mechatron is achieved using odometry to measure wheel/track rotation with encoders.
Electronics and Sensors 111 A new set of encoder disks have been manufactured (Figure 4.27) due to damage of the previous units and an insufficient number of holes. Made of aluminium plate and bolted to the drive shaft couplings, the new disks have 24 evenly spaced holes; double that of the previous units. Although the original disks had a satisfactory resolution of approximately 19 mm per pulse, the problem arose during low velocity movement due to the slow update rate.
112 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications conditions and a longer detection range compared to other methods such as reflected intensity. The transmitted light reflects off a nearby object and creates a triangle between the emitter, point of reflection and detectors as indicated by Figure 4.28. Figure 4.
Electronics and Sensors 113 Secondly, the maximum operating range of the devices can be determined by examining the point at which the data becomes very noisy or inaccurate. A maximum range of approximately 160 cm can be achieved with the particle board indoors while this drops to 100 cm outdoors due to ambient lighting. Infrared Sensor Response for Differenet Objects 3 Sensor Voltage (V) 2.5 2 White Cardboard Grey Plastic Particle Board Shiny Aluminium Particle Board Outside 1.5 1 0.
114 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications also curves back at low distances providing a non-unique relationship between distance and output voltage. Figure 4.30 LEFT: MATLAB Curve Fitting toolbox for infrared data RIGHT: Theoretical infrared sensor response The resulting equation giving object range indoors in terms of output voltage is a rational polynomial given by Equation 4.2.
Electronics and Sensors 115 Software is used to ignore range values below 20 cm as these represent the sensor dead-zone while voltages below 0.36 V represent an object at 160 cm. Although it is possible no object is present in this case, it must be assumed an obstacle lies at maximum detector range (160 cm) to prepare the control system for object evasion thus ensuring effective route planning and obstacle avoidance in unknown areas. 4.8.
116 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 4.31 Infrared sensor locations Figure 4.32 Infrared sensor mounting brackets The side facing and angled sensors at the front of the mechatron have been mounted on plastic spacers to bring the sensing beam above the height of the tracks. The infrared sensors have a very narrow filed of view compared to other ranging sensors such as ultrasound as indicated by Figure 4.33.
Electronics and Sensors 117 illustrated in Figure 4.34. The two beams cross over each other creating the widest detection beam possible and cover a large area. Figure 4.33 Lateral sensing distance for different object ranges Tracked Robot Figure 4.34 infrared based non-contact bumper Each infra red sensor has a 0.1μF decoupling capacitor connected across the power rails directly on the package to ensure a stable supply.
118 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications DAQ Card Connectors IR Sensors Power Supply Figure 4.35 Infrared sensor interface boards 4.9 DAQ CARD CONNECTOR MODULE Peripherals are connected to the DAQ using a pair of CB-68LPR terminal block connector modules from National Instruments (Figure 4.37). The M series DAQ card has two 68 pin connectors thus two NI SCH68-68 extended performance, shielded connector cables are used to interface to the terminal blocks.
Electronics and Sensors 119 Figure 4.37 LEFT: CB-68LPR terminal block RIGHT: labelled connectors All of the 16 infrared sensor outputs are connected to the analogue input (AI) pins AI 0 to AI 15 on the first terminal block while the accelerometer signals are connected to AI 16 to AI 18 on the second board. A complete list of DAQ card connections is shown in Table 4.2. Figure 4.
120 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Signal Labels DAQ Card Connector Pin Number Port Function Description Analogue input channels Board A: 0 – 7 Board B: 8 – 15 Ground Infrared sensor interface boards 0 – 15 CON 0 68,33,65,30,28,60, 25,57,34,66,31,63, 61,26,58,29 AI.0 to AI.15 G CON 0 24,59 AI GND Motor driver system microcontroller 1-2 CON0 22,21 AO.0 to AO.
Electronics and Sensors Power Distribution Board 121 GPS Receiver R/C Interface IR Sensor Interface DAQ Card Connector Micro Board Figure 4.39 Electronics enclosure 4.11 HARDWARE SUMMARY The mechanical shell of the mechatron did not have any working electronic systems installed at the onset of this project. The various electrical systems designed and implemented on the outdoor mechatron have been described.
122 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 4.
Software 123 5. SOFTWARE In order to control and monitor the outdoor mechatron a number of software systems were developed. These are required to provide control commands to the motor driver system, interface to sensors and other hardware for information extraction and to provide a suitable human-machine interface to the user. This chapter discusses the various software development platforms used and the algorithms developed to achieve autonomous operation on the multi-terrain, outdoor mechatron. 5.
124 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications • Versatility: The selected development environment must be versatile with respect to its interfacing and algorithm capabilities. Different types of hardware connection and function access will be experienced during development and the programming system must be capable of accessing these. Examples include DAQ card accessibility, serial port, and support for USB connected devices.
Software 125 Figure 5.1 Example LabVIEW G code Graphical programming can help programmers with little prior experience to visualize and construct simple programs however this can be restrictive to developers used to a text based language. Generally it takes longer to implement a function in G than it would using a text based language due to the extra requirement of generating and linking the VIs. In addition, G code can be more complex to understand due to the non-sequential nature of the block diagram.
126 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Programming in Visual C++ is accomplished using the latest version of the Microsoft development application, Visual Studio 2005. Although all the necessary hardware and software interfaces can be achieved with Visual C++, the complexity and learning curve can exceed other available platforms.
Software 127 As VB was designed as a simple language for rapid application development, some degree of controversy exists regarding its level of quality and usefulness compared to other high-level languages such as C++, particularly with respect to its avocation of poor programming practice18. Although much quicker to learn than Visual C++, VB was still a relatively unfamiliar language and additional development time would be better spent implementing a Visual C++ application.
128 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.1.5 MATLAB MATLAB (Matrix Laboratory) is a numerical computing environment designed for technical computing both in industry and academic institutions. The basic data element in MATLAB is an array of dynamic floating point numbers making matrix manipulation a fundamental feature and specialty of MATLAB.
Software 129 Future modifications are possible that utilize specialized toolboxes such as the RealTime Windows Target19 to generate a precise control application. Despite the lack of generic support for real-time applications, MATLAB does provide a useful platform for algorithm development during this stage of the project. Many useful functions are built-in such as serial port drivers and array manipulation, greatly reducing development time.
130 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.2 WIRELESS NETWORK A portable laptop computer is used to communicate with the control PC on the outdoor mechatron. The Windows Remote Desktop software is utilized by the remote PC over a wireless network to log on to the mobile robot, effectively acting as the host PC's keyboard, mouse and screen eliminating the need for a wired connection. 5.2.
Software 131 Remote desktop software was selected over VNC terminal services due to problems with screen resolution and displaying graphics such as the GUI. 5.2.1 Network Configuration The D-Link AirPlus software is used on both platforms to configure wireless networking properties (Figure 5.4). The SSID (service set identifier) defines the network name to "Laptop2Tank" and must be set on both computers.
132 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications standalone license. The only practical problem this causes is that the user cannot start a MATLAB session through Remote Desktop software. A workaround has been used which places MATLAB in the Windows Start Up directory, thus initializing the program at boot-up. Upon logging onto the system from the remote computer, MATLAB is available for immediate use.
Software 133 5.3.2 NI-DAQmx Drivers Supplied with the DAQ card hardware is a set of NI-DAQmx device drivers, currently at version 7.4. NI-DAQmx is the software required to communicate with and control the NI acquisition device. The mx denotes the drivers are designed for M series devices (such as the 6229) and are therefore required to operate them. NI-DAQmx drivers can be used to control non-M Series devices however the Traditional NI-DAQ (legacy) drivers cannot communicate with an M series device.
134 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.3.3 DLL Interface to NI-DAQmx The NI-DAQmx drivers are interfaced to MATLAB using external DLL libraries included in the NI-DAQmx distribution. They are similar to the files included in a C or C++ project however a dynamic linked library (DLL) file in used instead of a standard library (.LIB) file. MATLAB has built-in support for accessing external libraries through the loadlibrary function. The DAQ_LoadLibrary.
Software 135 %*** Value set for the ActiveEdge parameter DAQmxCfgSampClkTiming *** DAQmx_Val_Rising = 10280; % Rising DAQmx_Val_Falling = 10171; % Falling Figure 5.8 Excerpt from NI constants file The MATLAB functions libfunctions and libfunctionsview are used within DAQ_ViewFunctions.m to view the NI-DAQmx functions available and the required calling syntax.
136 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications MATLAB. The solution was to vary the function prototype to a uint32 data type to prevent the program crashing. This still allows very large numbers so will not affect normal operation. Support from MathWorks suggests the problem will be fixed in a future MATLAB release however the same methodology can be applied to other functions as they are encountered as a temporary solution. 5.3.
Software 137 A task combines one or more virtual channels with timing and triggering properties (Figure 5.10) required to make a measurement. Tasks represent the measurement or generation process that needs to be performed, and each task can contain only one type of channel such as an analogue input. Tasks are created and deleted using the NIDAQmx functions outlined in section 5.3.5.
138 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.3.6 MAX Studio Prior to developing the MATLAB interface code for control of the DAQ card the various sensor signals were tested using the Measurement and Automation Explorer (MAX). This utility provided by National Instruments allows direct communication with the DAQ hardware for channel configuration and data acquisition.
Software 139 Figure 5.11 MAX Studio data acquisition interface Figure 5.12 LEFT: DAQ Card test panels RIGHT: Power-up states configuration panel 5.4 COMPASS INTERFACE 5.4.1 Demo Software Demonstration software is supplied with the HMR3300 compass development kit for evaluation and testing of the module. The program (Figure 5.
140 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications interface to extract the heading, pitch and roll data from the compass. Data are displayed as both a text display and a graphical representation using aircraft instrument style ActiveX controls. Figure 5.13 HMR3300 Demo software This software provided a useful means to test operation of the modules when purchased but could not be used in the final software implementation.
Software 141 used to initialize the module. The function Compass_Disconnect.m is used to close and clear the serial port object at the end of the session as shown in Figure 5.15. function Compass_Connect global s_compass; s_compass = serial('COM4','BaudRate',19200,... % Create Serial Port Object 'DataBits',8,... 'FlowControl','None',... 'Parity','none',... 'InputBufferSize',512,... 'StopBits',1,... 'ByteOrder', 'littleEndian',... 'ReadAsyncMode', 'continuous',... 'BytesAvailableFcnMode','terminator',...
142 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications function [A, count,msg] = Compass_GetReading(DataMode) global s_compass; switch DataMode case 'Q' fprintf(s_compass,'*Q','async'); case 'A' fprintf(s_compass,'*A','async'); % direct query % averaged over 20 samples end [A,count,msg] = fscanf(s_compass); Figure 5.
Software 143 a = s_compass.BytesAvailable; pause(0.2); b = s_compass.BytesAvailable; if b>a CurrentMode = 'start'; elseif a == b CurrentMode = 'stop'; end Figure 5.18 Determine current compass data output mode It is important to flush the input buffer using Compass_InputBufferFlush.m after the 'stop' mode has been selected to ensure no full or partial data strings still remain in the serial buffer.
144 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications using Compass_OutputDataType.m to send an *H or an *M respectively. The full listing of configuration functions and compass interfacing code is available on the included CD specified in Appendix B. An important configuration function is the compass calibration routine, Compass_SendCommand('*C').
Software 145 The position, time, satellite status and receiver status data are extracted from the returned data set and stored in a MATLAB structure using GPS_ExtractMessage.m. An example of date and time extraction is shown in Figure 5.20 where the returned data from the GPS is stored in array A and byte referenced using the brackets. The structure is created upon GPS connection using GPS_MakeDataStructure.m. % Date GPSPositionStatusData.Date.Month = A(5); GPSPositionStatusData.Date.
146 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications function data = GPS_mas2Deg(Byte1,Byte2,Byte3,Byte4) num = Byte1*16777216 + Byte2*65536 + Byte3*256 + Byte4; % convert from two's complement form if MSB is high (number is negative) if(Byte1>127) data = bitcmp(num-1,32)/3600000; sign = -1; else data = num/3600000; sign = 1; end deg = sign*floor(data); min = sign*floor(mod(data,1)*60); sec = sign*mod((mod(data,1)*60),1)*60; data = [deg min sec]; Figure 5.
Software 147 4.3, a suitable filter is applied to reduce noise generated from electrical interference and ADC inaccuracies. This is important because a small change in voltage represents a large change in measured range, particularly at long ranges. Therefore it is necessary to filter out noise before the voltage-to-range calculation is applied.
148 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications n E= ∑w E i i =1 i Equation 5.3 n ith weighting factor wi: Median The median function in MATLAB sorts the data set according to number magnitude and then selects the centre point as the median value. The median filter is less sensitive to transients than the mean or weighted mean however it is slower to respond to valid changes such as obstacles. E med = E n / 2 , E1 ≤ E 2 ≤ ... ≤ E n −1 ≤ E n Equation 5.
Software 149 5.6.2 Encoders The encoder pulses can be measured in two different ways using the DAQ card. Firstly a timer task can measure the elapsed time between pulses thus giving the pulse width and rotation velocity. Secondly a counter can be used to count the number of encoder pulses thus representing a total distance travelled.
150 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications within a buffer so a read request by the control software always receives the most upto-date information regardless of the timing with respect to previous queries. The 64-bit floating point pulse width measurement is acquired from the encoder tasks using DAQ_ReadCounterScalarF64.m as shown in Figure 5.24.
Software 151 %% Read Accelerometer Data [status Data] = DAQ_ReadAnalogF64(AccelSensorReadTaskHandle, 10,3,10,0); %% Calculate tilt angles Angle = round((real(asind((mean(Data) - 1.65)./0.8))*10))/10; Roll = -1*Angle(1); Pitch = -1*Angle(2); %% Update GUI Display set(handles.AccelRollDisp,'String',num2str(Roll)); set(handles.AccelPitchDisp,'String',num2str(Pitch)); %% Log Data to file if get(handles.AccelDataLogCheckbox,'Value') == 1 fprintf(AccelDataLog,'%6.4f %5.1f %5.1f %5.
152 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The video format is specified at object creation by handles.VideoFormat, which is customized within the user interface (section 5.10). The FramesPerTrigger is set to infinite which means the camera will continuously acquire data and store to RAM after the session is initialized with the start command. The acquisition of image data is accomplished using the getsnapshot function as shown in Figure 5.27.
Software 153 callbacks cannot be serviced simultaneously. The CPU cannot execute a callback function until a currently executing callback has completely finished, therefore problems with software bottle-necks due to callback queues can occur. Callbacks consist of a specified function (usually within a m-file) which is run when a predetermined event occurs. Examples of callbacks include hardware based events such as serial port data availability (sections 5.4.3 and 5.
154 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Persistent variables are similar to global variables in that MATLAB creates permanent space for them both however, other functions, including the command line can never have access to persistent variables. If the persistent variable does not exist the first time the persistent statement is issued, it is initialized to the empty matrix thus allowing the code to determine whether it has previously been executed.
Software 155 variables are initiated to the empty matrix as mentioned in section 5.7.2 which allows the isempty function to check the status of the persistent variable controlFlag. If true, it is the first call to the function, all the variables are setup and task handles are read from the GUI as shown in Figure 5.28.
156 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.7.4 DAQ Safety Pulse An important feature of the motor driver to DAQ card interface is the safety pulse. This signal indicates to the microcontroller the PC based software is operational and valid instructions are being sent. A digital signal is generated at the start and completion of the motor driver interface software within the low level control loop.
Software 157 The primary function of this loop is the conversion of desired location data to the required heading and velocity commands for waypoint navigation. Execution of the callback function is continuously occurring however operation of the included functions can only occur if the control mode is set to autonomous (section 3.8.5) by use of a conditional statement. 5.7.
158 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.8 MECHATON CONTROL A number of low level control algorithms are required to implement robot motion before the higher level functions are fully developed. Velocity and heading control systems maintain a desired target determined by the navigation system while reactive obstacle avoidance manoeuvres the robot away from obstructions.
Software 159 The counters help determine the zero velocity condition however, a problem arises when selecting the appropriate threshold number. This number corresponds to the number of control loop cycles executed before the actual velocity is assumed zero so consideration is given to the loop period and the resulting control response. Low values give a faster response to change whereas high values reduce the oscillatory behaviour at low velocities.
160 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.8.2 Heading Control Heading control consists of two main components, rotating on the spot and maintaining a desired trajectory during motion. By rotating on the spot the robot best utilizes its differential drive capability to achieve the desired orientation in a minimal area. The actual and target heading values are acquired from the compass module and user interface respectively to create a heading error (Figure 5.34).
Software 161 5.8.3 Obstacle Avoidance Obstacle avoidance is achieved using a reactive control algorithm based on the distance measurements supplied by the infrared sensors. The navigation system is halted in the event of an impending collision and the mechatron is manoeuvred away from the hazard before normal operation is resumed. Reactive obstacle avoidance works by initiating pre-programmed behaviours to move the mechatron in set direction based on the infrared sensor data.
162 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.9 MICROCONTROLER CODE The embedded controller (section 3.8) is responsible for the control and monitoring of the motor driver modules. Code has been written to effectively receive control commands from both the PC and an external radio control interface. Failsafe mechanisms have been implemented to ensure undesirable robot motion does not occur in the event of a computer crash or software lock-up.
Software 163 Signals from the radio control receiver consist of a pair of pulsed square waves with a 19 ms period. The steady state pulse width is approximately 1.5 ms which varies between 1 ms and 2 ms when the controls on the transmitter are manipulated. The microcontroller uses external capture interrupts and an onboard timer to measure the pulse width of the signals on each channel indicated by the rising and falling edges.
164 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Although independent control of each track is possible with each transmitter control, the signals have been combined to provide a more intuitive interface. The vertical lever controls velocity while the signal from the horizontal lever is used to modify track velocity and achieve turning according to the RCUpdate() function in Figure 5.37.
Software 165 void DAQUpdate() { // Read Control values from DAQ Card DAQ_Speed0 = SampleADC(1); // Speed 0 value from DAQ card DAQ_Speed1 = SampleADC(2); // Speed 1 value from DAQ card DAQ_Direction0 = SampleADC(3); // Direction 0 value from DAQ card DAQ_Direction1 = SampleADC(4); // Direction 1 value from DAQ card DAQ_DriverPower = P40; // Motor Driver Power from DAQ card // Update Digital Pots as Necessary PotVal[2] = (char)(63*DAQ_DriverPower); PotVal[3] = (char)(63*DAQ_DriverPower); DAQ_Speed0 = DAQ_S
166 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 5.10 USER INTERFACE A graphical user interface (GUI) has been developed to provide a front-end control panel for the robot control algorithms. The interface, shown in Figure 5.39 allows customization of robot parameters and control commands in addition to providing feedback information from the onboard sensors including robot heading, velocity and pose. Figure 5.
Software 167 A heading indicator displays the current robot orientation (ACT) relative to the Earth's North Pole and additionally shows the target heading (ORD) allowing an error comparison to be made. The ActiveX control automatically rotates the dial when the heading changes so the current heading is presented at the top of the indicator. Robot velocity is displayed using a third ActiveX control with a customized scale and needle configuration with both cm/s and m/s to suit the outdoor mechatron.
168 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 1) RobotInterface.fig contains the graphical components and is edited using GUIDE 2) RobotInterface.
Software 169 size of the remote PC it is not possible to simultaneously display many elements to the user. For this reason, tab panels have been utilized to group similar functions into categories to provide a more intuitive and less cluttered interface. The current version of MATLAB does not directly support the creation of tab panels however that ability to hide or show each component is available.
170 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Figure 5.42 Sequence of tab panels (a) motor drivers panel (b) compass module panel The motors panel initializes the DAQ card interface to the drivers and provides the user control and status feedback (green indicators). Sliders provide manual velocity control with the display panel showing vehicle and track velocities. The control type button group selects between the 3 modes of operation.
Software 171 Figure 5.42 (e) system control panel (f) navigation panel Access to the low level control and navigation loops are available on the control panel. Each component is individually enabled or disabled however functions are not available if their corresponding hardware interface is not initialized, therefore connection to devices should precede initialization of the control loops.
172 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Results and Conclusion 173 6. RESULTS & CONCLUSION The mechatron is tested in an outdoor environment utilizing the various software routines created. Each of the installed sensory systems is assessed based on their functionality and suitability for satisfying the project requirements. The entire project is then summarized. 6.1 CURRENT CONSUMPTION The power requirements of the mechatron are evaluated to determine suitable battery ratings (section 2.6.3). An LEM HT200 current transducer (Figure 6.
174 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications of measured voltage (Equation 6.1). The primary nominal DC current is 200 A which results in a 0.025 V/A slope with 5 V output range. Currents exceeding the 200 A limit do not provide accurate measurements. Ip = Vout − Voff 0.025 A Equation 6.
Results and Conclusion 175 Tank Current Consumption under Different Loads - 7 Trials 45 40 35 Current (A) 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 10 11 Test Conditions (Test #) Figure 6.2 Current consumption for seven trials Average Current Consumption over 7 Trials 40 35 Current (A) 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 Test Conditions (Test #) Figure 6.
176 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 36.92 A, and occurred during forward motion with the PC switched on as indicated by trial 8. Although this case may represent fully loaded functioning in future conditions, this load will not occur during prototype development therefore the standard operating current is taken as 25 A. This significantly reduced the cost of the new deep cycle battery installation while still providing an adequate operating time of 1 – 1.
Results and Conclusion 177 The car battery test was conducted with the mechatron operating off the ground (test 6 above) while the deep cycle based was conducted during non uniform movement in contact with the floor which accounts for the fluctuations of the voltage in the second figure. Despite the significantly lower load on the car batteries the operating time was significantly shorter which confirms the predicted battery life based on the RC rating.
178 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications on ideal power supply conditions and the precise alignment of the sensing cells within the accelerometer. Variations occur during attachment to the PCB and subsequent mounting in the enclosure making estimation of the accelerometer alignment relative to the mechatron difficult.
Results and Conclusion 179 to reduce power is necessary, preventing mechanical and electrical strain on the drive system. A common method is to install tactile switches ("whiskers") around the robot perimeter to provide a digital signal when contact with an obstacle occurs. Although effective as a collision detection system, a large number of devices are required to cover all possible contact points and the risk of damage to the switches is high.
180 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.2.3 Tilt Measurements The accelerometer and compass can both provide information on pitch and roll and therefore enable sensor redundancy. If one unit fails or cannot provide accurate data, the other is used. Sensor fusion algorithms can take advantage of this property by giving the data from the preferred sensor a higher weighting.
Results and Conclusion 181 Pitch Angle Comparison 100 Accelerometer Compass 80 60 Angle (deg) 40 A 20 0 -20 -40 -60 -80 -100 0 20 40 60 80 100 120 140 160 180 200 Time (s) Figure 6.6 Compass and accelerometer pitch angle comparison Roll Angle Comparison 100 Accelerometer Compass 80 B 60 Angle (deg) 40 20 0 -20 -40 -60 -80 -100 0 20 40 60 80 100 120 140 160 180 200 Time (s) Figure 6.
182 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.3 ELECTRONIC COMPASS The electronic compass module is an important sensor for higher level robot control and outdoor navigation. For this reason a number of tests have been completed to evaluate its performance and suitability for implementation on robotic platforms. Stationary repeatability is an important performance criterion because it gives an indication of the stability of the sensing elements.
Results and Conclusion 183 chosen to provide the desired output stability. The resulting repeatability is approximately 0.7 – 1.5° standard deviation. Effect of System Filter on Heading 400 350 Heading (deg) 300 250 200 150 100 Filter Setting 0 5 10 20 50 0 Std Dev (deg) 0 100 200 300 400 500 600 700 800 2.652 2.236 1.321 0.7511 900 1000 Time (s) Figure 6.
184 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.4 GPS EVALUATION The multi-terrain mechatron is designed for operation outdoors; therefore an absolute positioning system such as GPS is crucial for effective navigation and route planning relative to the local environment.
Results and Conclusion 185 Results show GPS provides an adequate approximation to position for large outdoor environments such as those the mechatron will operate in. Although differences occur between the different trials around the path, the loop is consistently closed and accuracy is sufficiently accurate for implementing waypoint navigation. This is reinforced by the stationary repeatability tests indicated by the coloured data points.
186 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications The GPS cannot produce reliable heading information while the unit is stationary as indicated by the initial 10 – 20 seconds of Figure 6.10. The reason is due to the heading calculation algorithm used by the GPS. Heading is computed from subsequent values of position so when the unit is stationary the only change in position is due to noise thus the heading is very inconsistent.
Results and Conclusion 187 data could affect navigation algorithms that rely on the GPS data and therefore must be detectable and accounted for by the control system. Positioning information that appears stable over the short term can change significantly due to many factors such as atmospheric conditions. Additionally satellites coming into and out of view of the receiver can change the position due to differences in the signals and ephemeris data.
188 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications L a ti tu d e vs Ti m e L o n g i tu d e vs Ti m e 175.312 Latitude (deg) Latitude (deg) -37.7925 -37.7926 -37.7927 -37.7928 -37.7929 0 2 4 6 Time (hr) 8 10 175.3118 175.
Results and Conclusion 189 6.4.4 Improving GPS Positioning Improving GPS position using DOP information has been investigated. DOP is not related to the number of tracked satellites as shown by Figure 6.13. It is related to satellite geometry where signals originating from satellites at broad angles give better data than those grouped close together. Figure 6.14 shows the elimination of data points based on different DOP thresholds.
190 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.4.5 GPS Deficiencies The testing and evaluation of positioning data from the GPS has revealed certain deficiencies related to the intended application of mobile robot localization. The errors in a non-corrected GPS signal typically arise in two main forms, high frequency noise and long term drift.
Results and Conclusion 191 6.5.1 Motor Operation Motor control has been successfully implemented including direction and velocity control of both track units individually and in combination. A velocity curve, Figure 6.15 shows that the mechatron achieves forward accelerations of between 0.21 ms-2 and 0.32 ms-2 with a maximum velocity of approximately 60 cms-1. Deceleration rates are faster (Figure 6.
192 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.5.2 Automatic Heading Control Heading control is currently accomplished using a proportional algorithm to rotate on the spot, taking advantage of the robot's differential drive capabilities. Results of algorithm testing, Figure 6.17, are very good with final orientations within 3° of the target with minimal overshoot and oscillation.
Results and Conclusion 193 6.5.3 Obstacle Avoidance Reactive obstacle avoidance algorithms have been successfully implemented to steer the mechatron away from potential collisions. Reactive avoidance is defined as the immediate response to an obstacle as opposed to higher level software. Advanced software intended to plot a safe path and manoeuvre the robot around the obstacle is not implemented at this stage and could form the base of future projects.
194 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications over the guide pulleys and off the mechatron (Figure 6.18). The problem was caused by the small flange size of the original pulleys which could not retain the tracks effectively. The solution was to manufacturer new flange disks for the track pulleys that prevented track movement. The nylon pulleys were machined down using a lathe and custom made disks of aluminium are fitted with screws to each outside edge.
Results and Conclusion 195 6.7 TESTING OUTDOORS Further testing of the mechatron outdoors (Figure 6.20) after the flange modification produced positive results and outlines some of the capabilities of the multi-terrain robotic vehicle. The high manoeuvrability allows operation within close proximity to trees and scrub while motion in open fields is equally achievable.
196 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications 6.8 FUTURE WORK A number of extensions can be made to this project in the future to further enhance the functionality of the outdoor mechatron in an outdoor environment. • Artificial Intelligence software can be designed to enable a range of tasks to be carried out by the mechatron such as terrain profiling or search and rescue.
Results and Conclusion 197 6.9 SUMMARY The modification of a multi-terrain robotic vehicle for autonomous outdoor applications has successfully been completed. All of the project objectives have been met and the software interface written has exceeded project requirements. The mechatron and installed components are designed to allow autonomous operation and includes onboard power supply and control electronics.
198 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications tilt, accelerometer for relative positioning and tilt and infrared sensors for obstacle detection. Other onboard sensors include odometry encoders and a colour camera. Mechatron control and hardware interfacing software is written in the MATLAB programming language. Hardware interfaces to the DAQ card and other peripherals have been developed including a DLL interface system to the DAQ card drivers.
Glossary GLOSSARY 802.
200 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications Amplifier NI-STC2 National Instruments System Timing Controller 2 PCB Printed Circuit Board PCI Peripheral Component Interconnect PID Proportional Integral Derivative PWM Pulse Width Modulation RC Radio Control RF Radio Frequency TTFF Time to First Fix UPS Uninterruptible Power Supply USB Universal Serial Bus WGS84 World Geodetic System 1984
References 201 REFERENCES Barr, M., "Pulse Width Modulation", Embedded Systems Programming, September 2001, pp.103-104 (www.netrino.com/Publications/Glossary/PWM.html). Battery Town, 2005 "Marine Batteries Made Simple", www.batterytown.co.nz. Borenstein, J., Everett, H.R., and Feng, L., Where am I? Sensors and Methods for Mobile Robot Positioning., The University of Michigan, 1996. Braga, N.C., Robotics, Mechatronics and Artificial Intelligence., ButterworthHeinemann, 2002. Bruch, M.H., Gilbreath, G.A.
202 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications King, J., The Development of an AUV, MSc(Tech) Thesis, University of Waikato, 2002. Kirkup, Les., Experimental Methods – An introduction to the analysis and presentation of data., John Wiley and Sons, 1994. Lee-Johnson, C., Development of a Control System for an Autonomous Mobile Robot, MSc Thesis, University of Waikato, 2004. Matthies, L., Xiong, Y., Hogg, R., Zhu, D., Ramkin, A., Kennedy, B., Hebert, M., Maclachlan, R.
Appendix A: Circuit Design 203 APPENDIX A: CIRCUIT DESIGN A.1 MOTOR DRIVER INTERFACE BOARD 1 +5_1 +5_0 U1 +24_0 R1 Res2 1K GND0 1 C1 Cap 0.1uF R2 Res2 1K GND1 IN C2 Cap 0.1uF MC7805CT 1 C3 Cap 0.
10 9 8 7 6 5 4 3 2 1 P1_1 P1_0 VCC GND 10 9 8 7 6 5 4 3 2 1 VCC GND P1_3 P1_2 P4_7 P4_6 P4_5 P4_4 Motor Driver Interface Header 10 JP3 Optional R/C Reciver Interface Header 10 JP2 +5 P5_0 P5_1 P5_2 P5_3 P4_0 P4_1 P4_2 P4_3 GND P3_2 VCC GND +5 +5 7 8 9 10 11 12 13 14 P4_0 P4_1 P4_2 P4_3 P4_4 P4_5 P4_6 P4_7 C6 Cap Pol1 2.2uF 15 6 1 68 67 66 65 64 63 62 P5_0 P5_1 P5_2 P5_3 P5_4 P5_5 P5_6 P5_7 38 33 32 RST EW P4.0/CMSR0 P4.1/CMSR1 P4.2/CMSR2 P4.3/CMSR3 P4.4/CMSR4 P4.5/CMSR5 P4.6/CMT0 P4.
1 6 2 7 3 8 4 9 5 +5 DS1 LED1 +5 C7 Cap Pol1 10uF 1 5 4 3 1 10 11 9 12 OUT GND MC7805CT IN U3 +5 C2 Cap Pol1 1uF C2C2+ C1C1+ T2IN T1IN R2OUT R1OUT MAX232ACPE VCC VDD T2OUT T1OUT R2IN R1IN C1 Cap Pol1 1uF 16 2 7 14 8 13 +5 C6 Cap 0.
206 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications A.
Appendix A: Circuit Design A.5 ACCELEROMETER BOARD VR1 +5 C2 0.1uF +3.3 Vin Vout GND Volt Reg C1 C6 2.2uF 0.1uF C3 NC NC NC NC NC NC NC NC VDD VSS C5 0.1uF 0.1uF 0.1uF U1 5 6 7 8 9 10 11 16 +3.3 3 4 C4 Xout Yout Zout g-Select 1 g-Select 2 SleepMode 15 14 13 JP1 R1 1K R2 1K R3 1K 1 2 3 4 5 6 7 8 9 10 1 2 +3.3 12 +5 MMA7260Q R4 R5 1K 1K Header 10 S1 3 4 2 1 SW DIP-2 +3.
208 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications
Appendix B: CD Contents APPENDIX B: CD CONTENTS The attached CD contains the following items: • Video clips of outdoor mechatron in operation - Acceleration and deceleration on flat ground - Manoeuvrability of mechatron around obstacles - Negotiation of uneven terrain and low obstacles - High stability and ability to climb flights of stairs • Photo Gallery • User Manual • Software - NI-DAQmx drivers and MAX Studio - HI-TECH IDE - HMR3300 compass demo program - USB to serial adapter d
210 The Enhancement of a Multi-Terrain Mechatron for Autonomous Outdoor Applications