Upload
hidai
View
226
Download
0
Embed Size (px)
Citation preview
8/17/2019 ploughing calculations
1/178
Autonomous Agricultural Robottowards robust autonomy
Group members of IAS10-1032b
Martin Holm Pedersen
Jens Lund Jensen
Fall 2006–Spring 2007
AALBORG U NIVERSITYDEPARTMENT OF E LECTRONIC SYSTEMS
AUTOMATION AND CONTROL
8/17/2019 ploughing calculations
2/178
8/17/2019 ploughing calculations
3/178
The Faculty of Engineering, Science and Medicine
Intelligent Autonomous Systems
THEME:Final Thesis
TITLE:Autonomous Agricultural Robot:towards robust autonomy
PROJECT PERIOD:IAS9–IAS10Sep. 2006–Jun. 2007
GROUP:IAS10–1032b
GROUP MEMBERS:Martin Holm Pedersen
Jens Lund Jensen
SUPERVISORS:Roozbeh Izadi-Zamanabadi
Jesper A. Larsen
NUMBER OF DUPLICATES: 6
NUMBER OF PAGES IN REPORT: 128
NUMBER OF PAGES INAPPENDIX: 50
TOTAL NUMBER OF PAGES: 178
Abstract: This master thesis doc-uments the work of group 1032band concerns the development of amodel based (Fault Detection and Iso-lation)FD I scheme to detect and iso-late faults in an four wheeled agricul-tural robot called an A PI (AutonomousPlatcare Instrumentation system). Thethesis describes a number of differentmethods for deploying different FDIstrategies as well as preliminary test-ing on a preexisting non-linear modelof the robot.Furthermore the thesis documents theefforts to make the A PI a more reliableand robust platform with the designat implementation of new sensors aswell as steps to make is possible for therobot to diagnose itself.
The different F DI methods were tested
successfully on the non-linear model
and were able to detect and isolatesome of the selected faults. A new
inclinometer was designed and imple-
mented on the robot to replace the old.
Two new proximity sensors were de-
signed and implemented.
8/17/2019 ploughing calculations
4/178
8/17/2019 ploughing calculations
5/178
Preface
This report is written by two students as their master thesis at Aalborg University - de-partment of Electronic Systems. The thesis is the final part of the specialisation in Intel-ligent Autonomous Systems. This report is the documentation of the work conductedin the period from September 2006 to June 2007 and is focused on fault detection andisolation and the A PI project.
This project is based on the Autonomous Plant-care Instrumentation system (API)which is a joint venture between Aalborg University, Danish Institute of Agricultural
Science, The Royal Veterinary and Agricultural University and 4 industrial companiesand is a pilot project to determine the feasibility of using autonomous platforms for fieldmonitoring and plant care.
The goal of this report is to design and implement fault detection and isolation of steering and propulsion faults. A secondary goal is to design and implement additionalhardware in order to make the API a more robust and reliable platform for future researchgroups.
The report is divided in five parts: Part one is a description of the project and thespecification of requirements. The second part is modeling. The third part deals withdesigning and testing various methods of fault detection and isolation. The fourth partis the overall conclusion of the project. The last part is a collection of appendices to
supplement the report.
Citations throughout the report are indicated by a number and optional page or chap-ter number, such as [7, Chapter 2].
The enclosed C D contains the report in P DF and P S formats and the MATLAB and AnsiC source code.
Martin Holm Pedersen Jens Lund Jensen
5
8/17/2019 ploughing calculations
6/178
8/17/2019 ploughing calculations
7/178
Nomenclature and Abbreviations
General Nomenclature N Fixed global reference frameM Global reference frame rotated with the inclination of the
robotB Robot reference frame which is fixed with the robotRX→Y The rotation matrix from the
X to the
Y -frame
ψx, ψy Angles describing the rotation between N and M [rad]
Nomenclature for Mechanical Modelling
θM The angle of the robot with respect to the x-axis of the M-frame
[rad]
y The absolute position in the y-direction [m]x The absolute position in the x-direction [m]χ The absolute position vector of the robot consisting of
[x y θ]T
χ̇ The velocity vector of the robot consisting of [ẋ ẏ θ̇]T
χ̈ The acceleration vector of the robot consisting of [ẍ ÿ θ̈]T β The angle of the wheels with respect to the body of the ve-
hicle[rad]
rw The radius of the wheels [m]
φ̇ The angular velocities of the wheels [rad/s]ywi The y-position of the i’th wheel in the B-frame [m]xwi The x-position of the i’th wheel in the B-frame [m]yIC R The y-position of the ICR in the B-frame [m]xIC R The x-position of the ICR in the B-frame [m]F x The propulsion forces provided by the wheels:
[F x1 F x2 F x3 F x4][N]
τ r The propulsion torque provided by the actuators [Nm]C f The cornering stiffness of the tires [N /rad]α The slip angles of the wheels [rad]V The velocity of the robot [m/s]
7
8/17/2019 ploughing calculations
8/178
v The speed of the robot [m/s]κ Lengths describing the positions of the wheels(wrt. GC) [m]γ Angles describing the positions of the wheels (wrt. GC) [rad]β max The maximum angle of the wheels with respect to the body
of the vehicle. 2β max defines the area between the two stop-pers.
[rad]
β̇ max The maximum speed of the turning actuators [rad/sec]F Mg The gravity force affecting the robot in the M-frame [N]C f 1 The cornering stiffness stiction constant [N /rad]C f 2 The cornering stiffness dynamic constant [N /rad]Ra Armature resistance of the actuators [Ω]
K m Motor constant which is equal to the torque constant K tand the electrical constant K e
[ NmA ]
Abbreviations
ADI Active Fault IsolationAPI Autonomous Plant-care Instrumentation systemCM Centre of MassBFDF Beard Fault Detection FilterCOM COMmuniation systemDGPS Differential Global Positioning SystemFDI Fault Detection and IsolationFSB Front Sensor BoardFTC Fault Tolerant ControlGC Geometrical Centre of robotGPS Global Positioning SystemICR Instantaneous Centre of Rotation
OBC OnBoard ComputerPDF Probability Density FunctionPF Particle FilterPF-FDI Particle Filter - FDIPWM Pulse Width ModulationSA Structural AnalysisSF Sensor FusionSO Severity Occurrence indexSPI Serial Peripheral Interface Bus
8 Aalborg University 2007
8/17/2019 ploughing calculations
9/178
Contents
I Introduction 13
1 Background 15
1.1 The API Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2 Project Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 System description 19
2.1 External Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Internal Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3 API Subsystems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Additional Hardware and Software 25
3.1 Forward Proximity Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Inclinometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Front Sensor Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 Remote Shutdown of Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . 29
II Modeling 31
4 Model 33
4.1 API Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Kinematic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3 Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4 Hybrid Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 Model Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
III Fault Detection and Isolation 55
5 Introduction 57
6 Fault Analysis 61
6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
9
8/17/2019 ploughing calculations
10/178
CONTENTS
7 Isolability analysis 71
8 Linear Model based FDI of Steering and Propulsion System 75
8.1 Hybrid State Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.2 Continuous State Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9 Nonlinear Particle Filter Based FDI of Steering and Propulsion System 91
9.1 Requirements for Particle Filter-FDI . . . . . . . . . . . . . . . . . . . . . . 91
9.2 Particle Filter Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
9.3 FDI using Particle Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.4 Performance Parameters with regards to Particle Filter-FDI . . . . . . . . . 96
9.5 Preliminary Test of Particle Filter-FDI Method . . . . . . . . . . . . . . . . 97
9.6 Preliminary Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10 Active Fault Isolation Supervisor 101
10.1 Active Isolation of Steering Faults. . . . . . . . . . . . . . . . . . . . . . . . 101
10.2 Active Isolation of Propulsion Faults. . . . . . . . . . . . . . . . . . . . . . . 102
10.3 Partial Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
IV Conclusion 107
11 Acceptest of Linear FDI 109
11.1 Hybrid State Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
11.2 Continuos State Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
12 Accept Test of Particle Filter-FDI Method 115
12.1 Conclusion on Particle Filter-FDI . . . . . . . . . . . . . . . . . . . . . . . . 115
13 Accept test of Active Fault Isolation Supervisor 119
13.1 Test of Steering Fault Isolation. . . . . . . . . . . . . . . . . . . . . . . . . . 119
13.2 Test of Propulsion Fault Isolation. . . . . . . . . . . . . . . . . . . . . . . . . 122
13.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
14 Conclusion 123
V Appendix 129
A Additional Hardware 131
B Hardware Test 135
B.1 Inclinometer Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10 Aalborg University 2007
8/17/2019 ploughing calculations
11/178
CONTENTS
B.2 Proximity Sensor Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
C Implemented Software 139
C.1 Simulink blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
C.2 Standalone Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
C.3 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
D Linear FDI 145
D.1 Linear Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
D.2 Matlab Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
E Fault Analysis 147
F Theory of UIO 157
F.1 UIO Design Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
G FDI Method Test 163
G.1 Test of UIO method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
G.2 Test of Beard Fault Detection Filter method . . . . . . . . . . . . . . . . . . 166
H Active FI Supervisor 169
H.1 Active Isolation of Steering Faults. . . . . . . . . . . . . . . . . . . . . . . . 169
H.2 Active Isolation of Propulsion Faults. . . . . . . . . . . . . . . . . . . . . . . 170
I Kalman Filter 173
J Operational Requirements 175
K Pitch and Roll Compensation of GPS, Gyro and Compass 177
K.1 GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
K.2 Gyro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
K.3 Compass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Group 1032b 11
8/17/2019 ploughing calculations
12/178
8/17/2019 ploughing calculations
13/178
Part I
Introduction
13
8/17/2019 ploughing calculations
14/178
8/17/2019 ploughing calculations
15/178
Chapter 1
Background
As farms grow in size, together with the size of the equipment used on them, there is aneed for ways to automate processes, previously performed by the farmer himself, suchas controlling the fields for pests. These tasks are perfectly suited for autonomous robots,
as they often require numerous repetitions over a long period of time and over a largearea.
The use of robots is a rather new development as most of the existing solutions for au-tomatic supervision, is designed for standard farm equipment, such as tractors, combinesand pesticide sprayers. One such solution is FIELDSTAR from AGCRO[19].
In most cases a small agricultural robot would be ineffective in performing farming jobs, as these often require a large quantity of materials, either to put into the ground,such as seeds or fertilisers, or to take from the field during harvest. But when dealingwith monitoring and mapping of fields or precision spraying of pesticides, a smallerrobot is ideal, as it is more gentle on the crops but also to the ground. This is due to thelower weight compared to a tractor, causing much lesser soil compaction (see Fig. 1.1).
The degree of soil compaction is important to consider, especially when dealing withmonitoring and mapping as this is often performed multiple times throughout the year,as soil compaction can cause a number of problems, such as reduced crop growth anddenitrification[15].
Figure 1.1: Effect of wheel load and tire size on soil compactment depth[15].
15
8/17/2019 ploughing calculations
16/178
Background
1.1 The API Project
In the year 2000 a co-operation between Aalborg University, The Danish Institute of Agri-cultural Science, The Royal Veterinary and Agricultural University and 4 industrial com-panies was formed[7]. The goal was to create a Autonomous Plant-care Instrumentationsystem(API) and through the development gain expertise and knowledge in autonomous
field operations. The main use for the API is crop and weed monitoring and precisionspraying of pesticides.
The first version of the API was a somewhat simple design using small low-weightspoke-wheels mounted on a simple frame as seen in Fig. 1.2.
Figure 1.2: The first version of the A PI.
I 2002 a more rugged AP I was designed using larger knobbed wheels and a more ro-
bust frame, which also provides compartments for the batteries and the instrumentation(see Fig. 1.3 on the facing page). The mechanical implementation was performed by TheDanish Institute of Agricultural Science research-center in Bygholm.
A number of research projects has been performed with regards to both instrumenta-tion, control and fault detection and isolation. The projects are:
Autonom Robot til Markanalyse: This project deals with the specification, design andimplementation of the first prototype of the A PI robot[3].
Navigation af Autonom Markrobot: This project[11] focuses on the development of anavigation system for the A PI. The electrical system of the A PI is also designed andimplemented in this project.
Modeling and Fault-Tolerant Control af an Autonomous Wheeled Robot: The main fo-cus of this project[4] was the modeling and control of the API. A FDI method respon-sible for detecting faults in the sensors and in minor detail the actuators, is designedand implemented. A F TC scheme is also designed and implemented.
The project status as of September 2006 is that the mechanical part of the project, afully actuated four-wheeled robot, is completed. A number of sensors, such as GPS ,
16 Aalborg University 2007
8/17/2019 ploughing calculations
17/178
1.2 Project Focus
gyro and compass, is implemented. A hybrid controller, designed for path following, isimplemented and tested. A F DI and F TC scheme is partly implemented.
Figure 1.3: The A PI robot in its current form and configuration
1.2 Project Focus
The focus of this project is to make the API a robust platform for use in future research
projects focusing on the use of autonomous robots in both agricultural settings but alsoin research areas involved in the use of larger robots in general outdoor environments.
This involves the design and implementation of a F DI scheme fully capable of detect-ing and isolating faults occurring in the wheel actuators and sensors, as well as the designand implementation of additional hardware and software needed for reliable operation.Completing these improvements will improve the robustness and reliability of the cur-rent system and allow future research groups to use the AP I without a control or elec-tronic background, allowing them to focus on their research.
Based on the focus of the project a number of objectives can be established.
1.2.1 Project Objectives
The primary objective is to make the API a robust platform. This is primarily obtained byimplementing a full FDI scheme focusing on the faults occurring on the wheel actuatorsand sensors. This is archived though the following sub-objectives:
1. Perform a fault analysis and severity assessment of all wheel, proximity sensor andinclinometer faults..
2. Design and implement a linear model based F DI method.
Group 1032b 17
8/17/2019 ploughing calculations
18/178
Background
3. Verify the detection of critical faults.
To complement the linear methods two additional methods for F DI is to be examined,resulting in the following objectives:
1. Design and implement a non-linear F DI method.
2. Design and implement an active F DI method.
The practical objectives involving the additional hardware and software are:
1. Design and implementation of proximity sensors on the A PI.
2. Design and implementation of a separate inclinometer in order to provide pitchand roll measurements.
3. Design and implementation of relays for disconnecting individual wheels.
1.2.2 Operational RequirementsA number of requirements for the operational performance of the API, has been set byprevious groups. The relevant requirements for use in this project are:
1. When a fault occurs, the robot is allowed to deviate from its course, for instancedriving on top of the rows, for a maximum of 30 seconds.
2. The robot must be able to continue operation with at least one sensor/actuator fault.
3. Operating under both normal and faulty operation the robot must not be potentiallydangerous to its environment.
The complete list of requirements can be seen in App. J on page 175.
18 Aalborg University 2007
8/17/2019 ploughing calculations
19/178
Chapter 2
System description
The following chapter is an overview of the different components that the AP I is equippedwith. The different components are placed on the outside of the robot as well as insidethe two compartments placed in front and in the back of the robot.
2.1 External Components
The components on the outside can be seen in Fig. 2.1 on the following page, with thefront and rear compartments shown in Fig. 2.2 on page 21 and Fig. 2.3 on page 22.
For communication the A PI is equipped with three different antennas:
• A GP S antenna used for communication between the GPS receiver and the availableGPS satellites.
• An omni-directional radio modem antenna for communication between the GPS
receiver and the G PS base station to facilitate the use of DGPS.
• Combined WLAN device and antenna with USB interface for communication be-tween the O BC and the A PI base station.
Sensors placed on the outside are:
• Compass: Measures the heading of the A PI relative to magnetic north.
• Doppler radar: Measures the forward speed of the A PI.
• Inclinometer: Measures the pitch and roll of the A PI.
• Proximity sensors: Measures the distance to the nearest obstacle using the time of flight of emitted sound waves.
2.2 Internal Components
The front and rear compartments contain a number of common components:
19
8/17/2019 ploughing calculations
20/178
System description
Compass
GPS antenna
WLAN
Radio modem antenna
Inclinometer
Proximity sensors
Doppler Radar
Figure 2.1: Components attached to outer structure of the robot.
20 Aalborg University 2007
8/17/2019 ploughing calculations
21/178
2.3 API Subsystems
• LH28 : Embedded micro controller sampling all propulsion and steering sensors aswell as controlling the steering and propulsion actuators. Communicates with theOBC via a C AN bus.
• H-bridge: Driver step responsible for outputting P WM signals to the steering actua-tors.
• Interface Electronics: Interfaces the sensors to the LH28 controller as well as provid-ing the interface from L H28 to the steering and propulsion actuators.
In addition to the common components the front compartment contains a Gyro, GPSreceiver and Radio Modem. The front compartment also houses the Inclinometer andProximity Sensor unit. The DC/DC converter, providing the voltage for the 5Vcc and12Vcc power bus, is placed below the Inclinometer and Proximity Sensor unit.
The back compartment contains the O BC which provides the overall control of the APIrobot and the battery charger.
Interface electronics
LH28H-bridges Inclinometer and prox. sensor unit
GyroShutdown interface
GPS receiverRadio modem
Figure 2.2: Front compartment of the A PI robot.
2.3 API Subsystems
Based on the components listed in the previous chapter a number of subsystems can be defined with regards to functionality. The subsystems are: Wheel, Gyro, DopplerRadar, OBC, CO M, Compass, GPS , Proximity Sensors and Inclinometer. Each subsystemis divided into smaller modules as seen in Fig. 2.3 on page 23, where the boxes withrounded corners symbolizes hardware modules. The square boxes are software modules.
Group 1032b 21
8/17/2019 ploughing calculations
22/178
System description
Interface electronics
LH28
H-bridgesShutdown interface Charger
OBC
Figure 2.3: Back compartment of the A PI robot.
22 Aalborg University 2007
8/17/2019 ploughing calculations
23/178
2.3 API Subsystems
API robot
Wheels Gyro Doppler
radar OBC COM Compass GPS Proximity sensors
Inclinometer
Temp. Sens
4 Prop. act. Temp. sens. PC-104 W LAN Inclinometer DGPS
4 Steer. act. Shared mem. CAN bus
4 Prop. sens. Controller
4 Steer. sens. Sensor Fusion
LH28
Propul. cont.
Steer cont.
Figure 2.4: API subsystems.
The functionality of the different subsystem are listed below:
Wheels The four wheels gives the AP I the possibility of moving in any direction dueto the individual steering on all four wheels. The wheel system is based on foursteering actuators and four propulsion actuators. The wheels are controlled by aLH28 microcomputer. The available sensors are steering angle and wheel speed.
Gyro The gyro subsystem provides a measurement of the vertical angular velocity of the A PI. As the gyro measurement is dependent on the temperature, a temperaturesensor is available to correct the measurements.
Doppler radar The Doppler radar measures the A PIs speed using microwaves. The mea-surement is calculated using the doppler shift of the transmitted microwaves. TheDoppler radar measurements are collected by the L H28 responsible for wheel 1.
OBC The on-board computer is the the overall control system. The OBC is also respon-sible for collecting measurements from the gyro, compass, GPS, proximity sensorsand inclinometer. The O BC is a P C104 stack with a 133MHZ CPU. The O S on the O BC
is Linux. To facilitated manual control of the API a monitor, keyboard and joystickis also implemented.
COM The communication subsystem provides the communication between the OBC andthe four LH28s as well as the communication between the A PI and the base station.The communication between the OBC and the wheel nodes are based on the CA N bus and consist of the steering and propulsion references and the sensor measure-ments provided by the wheels. The link connecting the API to the base station
Group 1032b 23
8/17/2019 ploughing calculations
24/178
System description
is standard WLAN. The communication between base station and API is the way-points, describing a path in addition to function as a monitoring system, when theAPI is operating autonomously.
Compass The compass provides the heading of the AP I with regards to the magneticnorth. To compensate for tilt offset on the heading a internal inclinometer is present.
This compensation is due to a noisy and overly sensitive inclinometer, disabled inthe Compass.
GPS The GPS system provides the position of the API . The standard GPS precision isincreased by using DGPS. The DGPS precision is obtained using a base station witha fixed position. The base station can then calculate the error on the GPS measure-ments and transmit the results to the A PI using the radio modem.
Proximity Sensors The proximity sensors provide a distance measurement of objects infront of the API. This distance can be used for obstacle avoidance and as an emer-gency system, in case of a possible collision.
Inclinometer The inclinometer is placed close to the geometric center of the API andmeasures the pitch and roll of the robot.
24 Aalborg University 2007
8/17/2019 ploughing calculations
25/178
Chapter 3
Additional Hardware and Software
When the A PI robot was handed over from the last group it was clear that some modifi-cations were necessary on the physical system in order to make it more robust and moreusable for the current and future projects. The main problems were:
• The implemented WLAN solution was not very robust or very usable as it didn’thave the desired range and was prone to failure when used.
• The interface electronics boxes which are a very important link between the LH28sand the different sensors and actuators related to each wheel were unreliable andimpractical in use.
• The only inclinometer on the API robot housed in the compass is fluid based andsensitive to vibrations to the point where the measurements are nearly unusable.
• The A PI robot did not have any proximity sensors to detect obstacles in its path.
To try and solve these problems several initiatives are taken.
• A new USB WLAN device is implemented and the old subsystem removed from therobot.
• New interface electronics boxes are designed and implemented on the robot.
• A new accelerometer based inclinometer which is less sensitive to vibrations is de-signed and implemented on the robot.
• Two ultrasonic range finders are designed and implemented on the robot.
This chapter describes the design and implementation of the additional hardware andsoftware needed to improve the existing base on the A PI robot.
3.1 Forward Proximity Sensors
The AP I is in its current state essentially blind. There are no sensors dealing with theenvironment. This means that when encountering an obstacle, the robot just continuesits operation. This can result in serious damage to both the API and the obstacle as the AP Iweighs approximately 225kg and has been measured to reach speeds of at least 2.2 m/s.
25
8/17/2019 ploughing calculations
26/178
Additional Hardware and Software
The requirements for the current application are:
• Wide detection volume (>15◦ cone).
• Range of at least 2 m.
The range demand is based on a measured speed of the robot of 2.2 m/s which gives astopping distance measured to be about Ddyn=1.2 m. The total distance travelled fromdetection of an obstacle until the A PI robot comes to a complete stop is:
Dstop = Dsample + D process + Ddyn (3.1)
The API robot proximity sensors are sampled once every 60ms yielding a sample distanceat 2.2 m/s of:
Dsample = 2.2 m/s · 0.060s = 0.132m (3.2)
D process is assumed to be negligible so the estimated total stopping distance is:
Dstop = 1.20m + 0.132m = 1.33m (3.3)
There are several alternatives in range finding sensors. Most of them use sound or laserto sense distances but each have very different detection area and volume. While lasersensors generally have long range and accuracy, none provide the wide sensing volumeof the ultrasonic sensor. In light of this and based on the assumption that the AP I willdrive in a straight line most of the time, it is decided to outfit the AP I with two forwardfacing proximity sensors. This allows the AP I to sense any object directly in front of it andtake appropriate countermeasures.
The chosen sensors are two SensComp 6500 Ranging Modules[17] and two SensComp7000 sonar transducers[18]. The sensors are rated at a maximum detection distance of
10 meters. The ranging modules are connected to a micro controller, which performs theactual range sampling. The result is transmitted to the O BC via a serial R S232 connection.To save components and implementation, the additional computation power and unusedports on the micro controller is used to sample the new inclinometer described in Sec. 3.2.The ultrasonic transducers are placed on the robot as shown in Fig. 3.1 on the next page.
3.1.1 Conclusion
The two ultrasonic proximity sensors have been mounted on the robot and interfaced tothe OBC. The sensors where tested in Sec. B.2 on page 136 and found to live up to thedemands previously stated in this section as it could detect obstacles in its path whendriving straight and at the desired range.
3.2 Inclinometer
The API is in the current state, assumed, to always be level. This is not a viable solution,when driving in fields, as the pitch and roll of the A PI affect both GPS and compass read-ings as well as introducing disturbances to the estimation of χM. The reason the robotis assumed level, is due to noise in the inclinometer built into the compass. Previous
26 Aalborg University 2007
8/17/2019 ploughing calculations
27/178
3.3 Front Sensor Board
Figure 3.1: The placement of the two Proximity Sensors
attempts to remove the noise has been unsuccessful and a new inclinometer is proposed.The selected inclinometer is the SCA100T[20]. The sensor uses MEMS technology instead of the fluid inclinometer in the compass, which makes it more resistant to the external noiseoriginating from driving in rugged terrain, the API is expected to operate in. The SCA100Tis mounted under the GPS antenna and is interfaced using a S PI connection to the microcontroller on the forward proximity sensors. The inclination measurements can then beused to calculate the correct G PS position and the correct compass heading as well as the
correct gyro measurements. App. K on page 177 shows the tilt correction. It is assumedthat the A PI in its current status as a research project, will only move on surfaces, that can be considered level. As a consequence of that, the tilt correction Will not be implemented,only described.
3.2.1 Conclusion
The inclinometer has been designed, implemented and tested successfully in App. B.1 onpage 135. A function and vibration test was conducted and the inclinometer works asintended and the vibration sensitivity is much less than the original inclinometer.
3.3 Front Sensor BoardThe basis of this hardware board is a Microchip PIC16F877[14], responsible for samplingthe sensors. The board and the connected sensors will be named as the Front SensorBoard(FSB). Even though only two proximity sensors are implemented, the FSB has spacefor and can use up to eight as seen in Fig. 3.2 on the next page. This allows future groupsto easily expand the area covered by the proximity sensors. The eight sensors could bearranged with two on each side to enable the A PI to move around obstacles.
Group 1032b 27
8/17/2019 ploughing calculations
28/178
Additional Hardware and Software
G N D
GND
CON1CON2CON3
CON3CON2CON1
TTL-RXTTL-TX
WACT1WACT2
SDA
SDO
ECHO-J3ECHO-J2
BINH-J3BINH-J2
INIT-J3INIT-J2
INIT-J5INIT-J4
INIT-J7INIT-J6
INIT-J9INIT-J8
ECHO-J5ECHO-J4
ECHO-J7ECHO-J6
ECHO-J9ECHO-J8
BINH-J4BINH-J5BINH-J6
BINH-J8BINH-J9
BINH-J7
SCK
VCC
VCC
VCC
VCC
VCC
74LS138-J274LS138-J2
A1
B2
C3
Y0 15
Y1 14
Y2 13
Y3 12
Y4 11
Y5 10
Y6 9
Y7 7
G16
G2A4
G2B5
74LS138-J174LS138-J1
A1
B2
C3
Y0 15
Y1 14
Y2 13
Y3 12
Y4 11
Y5 10
Y6 9
Y7 7
G16
G2A4
G2B5
U4
74LS151
U4
74LS151
D0 4D1 3D2 2D3 1D4 15D5 14D6 13D7 12
A 11B 10C 9
G 7
Y6
Y5
R1
4.7k
R1
4.7k
Y1Y1
LEDLED
R2
470
R2
470LEDLED
ButtonButton
R3
470
R3
470
PIC16F877PIC16F877
OSC1/CLKIN13
OSC2/CLKOUT14
MCLR/Vpp/THV1
RA0/AN02
RA1/AN13
RA2/AN2/VREF-4
RA3/AN3/VREF+5
RA4/T0CKI6
RA5/AN4/SS7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
RB0/INT 33
RB1 34
RB2 35
RB3/PGM 36
RB4 37
RB5 38
RB6/PGC 39
RB7/PGD 40
RC0/T10S0/T1CKI 15
RC1/T10S1/CCP2 16
RC2/CCP1 17
RC3/SCK/SCL 18
RC4/SDI/SDA 23
RC5/SDO 24
RC5/TX/CK 25
RC7/RX/DT 26
RD0/PSP0 19
RD1/PSP1 20
RD2/PSP2 21
RD3/PSP3 22
RD4/PSP4 27
RD5/PSP5 28
RD6/PSP6 29
RD7/PSP7 30
VDD11
VSS12
VDD32
VSS31
LEDLED
C222pFC222pF
R4
470
R4
470
C322pFC322pF
Figure 3.2: The diagram of the Front Sensor Board.
Figure 3.3: The implemented version of the Inclinometer and Proximity Sensor board
28 Aalborg University 2007
8/17/2019 ploughing calculations
29/178
3.4 Remote Shutdown of Wheels
Figure 3.4: Schematic of the Emergency Stop circuit.
3.4 Remote Shutdown of Wheels
As a additional safety measure and as a method for F DI and FTC, a shutdown box capableof disabling the power to the individual wheels, is implemented on the AP I . This willenable the control system to power off one or more wheels in case of emergency or as amethod of fully isolating steering and propulsion faults. The current version of the AP Iis not capable of turning off actuators, which in situations with faults occurring on the
wheels can result in limited control of the A PI and in some cases can cause actual damageto the robot. The requirements for the shutdown boxes are:
1. It must not interfere with or disable the emergency stop buttons, mounted on therobot.
2. It shall be able to provide power to the wheels, even when the OBC is shutdown.
3. It shall be able to turn the power to the wheels on or off.
4. It must be able to turn the wheels on, using the voltage provided by the parallelport on the O BC .
The emergency stop system on the API is implemented by a previous group as 4 emer-gency stop switches and 4 relays in series, so if one of the emergency stops are triggered,all relays switches off. A schematic can be seen of Fig. 3.4.
This means that relays for each wheel are already implemented and that the remoteshutdown can be implemented between the emergency switches and the relays for thewheels. The proposed method is to use a transistor placed before the relay, to enablethe power to the relay. The transistor is pulled high by the OBC , triggering the relay and
Group 1032b 29
8/17/2019 ploughing calculations
30/178
Additional Hardware and Software
OBC_1
OBC_2
5V
24V
24V
Wheel Relays
Wheel Relay 1Wheel Relay 1
COM
A
B
NC
NO
On/OBCOn/OBC
2.7k2.7k
2.7k2.7k
2.7k2.7k1k1k
BC337BC337
2.7k2.7k
BC337BC337
DIODEDIODE
2.7k2.7k
2.7k2.7k
BYV28-200BYV28-200
1
2
1k1k
1.6k1.6k
LEDLED
BYV28-200BYV28-200
1
2
Wheel Relay 2Wheel Relay 2
COM
A
B
NC
NO
DIODEDIODE
1.6k1.6k
LEDLED
Figure 3.5: Schematic of the remote shutdown relays
Figure 3.6: Picture of the remote shutdown boxes
providing power to the wheel actuators. As this requires the OBC to actively turn onthe wheel motors, a switch is added, allowing the wheels to be either permanently on orcontrolled by the O BC. As the relays are placed in both the front and back compartments,two shutdown boxes are implemented, each capable of controlling the two wheels in thecompartment. The schematic of one of the shutdown boxes can be seen in Fig. 3.5.
The final shutdown box can be seen in Fig. 3.6
3.4.1 Implementation Status
The remote shutdown boxes has been implemented and is capable of turning the wheelson or off. Furthermore the functionality of the emergency switches is not bypassed. Thismeans that the functionality described above has been successfully implemented.
30 Aalborg University 2007
8/17/2019 ploughing calculations
31/178
Part II
Modeling
31
8/17/2019 ploughing calculations
32/178
8/17/2019 ploughing calculations
33/178
Chapter 4
Model
This chapter contains the kinematic and dynamic model of the A PI robot. The kinematicmodel is a mathematical model, which maps the orientation and angular velocity of thewheels to the movement of the robot. The dynamic model maps the propulsion torquesand wheel orientation to the acceleration of the robot. The two models is a result of thework of many previous groups working on the model and is represented here in its latestform with few modifications. The third section describes a hybrid model, based on thedynamic model.
4.1 API Geometry
As mentioned in the System Description, the API is a four wheeled robot with an steeringactuator and propulsion actuator on each wheel. The dimensions of the A PI is shown inFig. 4.1
76cm
150cm 30cm
100cm35cm 15cm
1 0 0 c m
6 8 c m
50cm 34cm
22cm 27cm
107cm
100cm
r =23cmw
60cm
Figure 4.1: Dimensions of the A PI robot[4].
In order to describe the position and orientation of the A PI a posture vector is definedas χ = [x,y,θ]T , where x and y is the position of the API oriented with angle θ in theinertial reference frame N . To simplify some of the relations between the API and thesurface is is placed on as well as the relations between the different parts of the API, anumber of frames is defined:
N Frame This frame is the inertial reference frame and is defined as the terrain, the robotmoves on as seen from above. The frame is similar to the layout of a map.
33
8/17/2019 ploughing calculations
34/178
Model
M Frame This frame is a non-inertial reference frame and describes the same terrain asframe 0 but with the additional information of the pitch and roll of the robot ψx andψy . This is the frame, that describes the actual movement on the field.
B Frame This frame describes the orientation of the robot in M. The frame is fixed in thegeometric center (GC) of the robot and is aligned with the forward direction of the
API placed in the x-axis of the frame. This means that this frame is M rotated withthe orientation of the robot θM.
The sensors available on the API is measured in different frames. In order to use asensor measurement from another frame, the measurement must be rotated by the oneor more of the rotation matrices shown below:
R N→M =
cos(ψx) 0 sin(ψx)
− sin(ψx)cos(ψx)sin(ψy)
|z|
cos(ψy)
|z|
cos(ψx)2 sin(ψy)
|z|− sin(ψx) cos(ψy)
|z|− cos(ψx) sin(ψy)
|z|cos(ψx) cos(ψy)
|z|
(4.1)
where
|z| =
cos(ψx)2 + cos(ψy)2 − cos(ψx)2 cos(ψy)2
R B→M =
cos(θM) sin(θM) 0−sin(θM) cos(θM) 0
0 0 1
(4.2)
Figure 4.2 on the facing page show the definition of the M
and B
frames together withthe definition of the wheel angles β i. The wheels are fixed in the B frame with (xw,i, yw,i)as the position of the ith wheel. To the right of Fig. 4.2 the position of the wheel withregards to the GC is shown as the intersection of the lines: κi with angle γ i. The definitionof the posture vector is also shown.
The values for κi and γ i can be seen in Table 4.1.
Parameter κ1 κ2 κ3 κ4Value 0.707 m 0.707 m 0.707 m 0.707 m
Parameter γ 1 γ 2 γ 3,g γ 4Value 45◦ 135◦ 225◦ 315◦
Parameter m IValue 211.5 kg 83.5 kg·m2
Table 4.1: The parameters of the robot.
The geometric center is selected as the basis for all simulation and modeling. Anotherpossibility is to use the center of mass(CM), but as the behaviour of the robot when usingthe G C is more intuitive, this GC is chosen.
34 Aalborg University 2007
8/17/2019 ploughing calculations
35/178
4.2 Kinematic Model
M
B
β 1
GC
M
M M x ,y
θ
β 4
β 2
β 3
N B
γ
γ
1
4
2γ
γ 3
κ 3
1κ
κ 2
κ 4
w,3
w, 4
w, 1
w,2 w,2( x ,y )
w,3( x , y )
w, 4
( x , y
)
w, 1
( x
, y )
Figure 4.2: To the left: Definitions of the B and M frames with the steering angles of the wheels (purple) and the posture vector (red) shown in the M frames. To the right:Position of the geometric center (GC) given by κi and γ i[4].
4.2 Kinematic Model
The purpose of the kinematic model is to map the steering angles of the wheels and theangular velocity of the propulsion actuators (β i and φ̇i) to the velocities of the robot. Thevelocities are given by the vector χ̇ N .
Kinematic model
β iφ̇i χ̇ N
Figure 4.3: Inputs and outputs of the Kinematic model
The following assumptions are made in the kinematic model:
Assumption 1 All wheel orientations are nominal perpendicular to the InstantaneousCenter of Rotation(IC R).
Assumption 2 It is assumed that the movement of the A PI is pure rolling with no slip.
The API robot is modeled using the B and M-frame. The posture vector is χM. Whenturning the A PI robot turns around the I CR in the M-frame.
In order to calculate the I CR the individual wheel angles β i + π2 are used instead of β i,
as the intersecting lines have to be perpendicular to the wheel.
The derivation of the kinematic model is separated into three parts:
1. Calculating the I CR from wheel orientations β i.
2. Projecting the wheel velocities to an angular velocity around the I CR.
3. Calculate the translatory movement from the angular velocity and the vector to theIC R.
Group 1032b 35
8/17/2019 ploughing calculations
36/178
Model
β 2 + π
2
β 1 + π
2
β 4 + π
2
β 3 + π
2
(xw,2, yw,2)
(xw,1, yw,1)
(xw,3, yw,3)
(xw,4, yw,4)
(x, y)
θ
B
ICR
N -frame
Figure 4.4: Geometric definitions for A PI robot when turning around the I CR.
The equations used for calculating the IC R can be derived by looking at Fig. 4.4 andFig. 4.5 on the next page. Equation (4.3) describes a straight line, with a slope of tan(β i+
π2 )
on which the point (xi, yi) is placed.
yi = aixi + bi
yi = tan
β i + π
2
xi + bi
yi = − cot(β i)xi + bi (4.3)
A known point on the line is the position of the wheels (xw,i, yw,i). This point is substi-tuted into Eq. (4.3) which is then solved to find bi.
yw,i = − cot(β i) · xw,i + bi ⇒bi = yw,i + xw,i cot(β i)
The calculated bi is then substituted into Eq. (4.3) to yield the final description of the line,that goes through the I CR and the center of wheel i:
yi = (xw,i − xi)cot(β i) + yw,i (4.4)
The I CR can be described as the intersection between two of these lines. The result of this
36 Aalborg University 2007
8/17/2019 ploughing calculations
37/178
4.2 Kinematic Model
β i + π
2
β i
(xw,i, yw,i)
ICR
yi = aixi + bi
Figure 4.5: The line from the center of a wheel to the I CR.
operation can be seen in Eq. (4.5) and Eq. (4.6).
y1 = yBIC R ∧ x1 = xBIC R ⇒
xBIC R =xBw,i cot(β i) − xBw,j cot(β j ) + yBw,i − yBw,j
cot(β i) − cot(β j ) (4.5)
yBIC R =cot(β i)y
Bw,j − cot(β j )yBw,i + cot(β i)cot(β j )
xBw,j − xBw,i
cot(β i) − cot(β j ) (4.6)
Since the above equations only have a solution when the lines intersect, the model cannot be used when the robot is moving in a straight line. The model therefore effectively
becomes a hybrid model with two states. One for turning and one for driving in a straightline. The following two equations will be used to model the behavior of the AP I, whendriving in a straight line:
ẋB = 1
4
4i=0
φ̇i cos(β i)
(4.7)
ẏB = 1
4
4i=0
φ̇i sin(β i)
(4.8)
When the IC R has been determined, the angular velocity around it ( θ̇M) can be found
from the velocity of a wheel (V wi) and the distance from a wheel to the IC R(ri). This isillustrated in Fig. 4.6 on the following page and shown in Eq. (4.9).
θ̇M = V wi
ri⇔ θ̇M = ri × V wi
riT ri(4.9)
This means that θ̇M
can be written as in Eq. (4.10).
Group 1032b 37
8/17/2019 ploughing calculations
38/178
Model
V w,i = φ̇i
·rw
ICR
ri
θ̇M
Figure 4.6: The angular velocity around the I CR.
ri =
xBw,i − xBIC RyBw,i − yBIC R
0
, V wi = rw φ̇i
cos(β i)sin(β i)
0
⇓
θ̇M
= ri × V wiriT ri
=
xBw,i − xBIC RyBw,i − yBIC R
0
×
rw φ̇i cos(β i)rw φ̇i sin(β i)
0
xBw,i − xBIC R
2+
yBw,i − yBIC R2
=
00
rw φ̇i(xBw,i−xBICR) sin(β i)−(yBw,i−yBICR) cos(β i)
(xBw,i−xBICR)2+(yBw,i−yBICR)
2
(4.10)
This rotational velocity around the IC R will equal the rotational velocity around the GC.The translational velocity of the robot will be the tangential velocity, which can be calcu-lated as shown in Eq. (4.11).
ẋBẏB
0
= rICR × θ̇M =
xBIC RyBIC R
0
×
00
θ̇M
=
yBIC R−xBIC R
0
θ̇M (4.11)
The derivative of the posture vector (χB) can then be written as shown in Eq. (4.12)where Eq. (4.10) is substituted into Eq. (4.11). The position of the I CR (xBIC R and y
BIC R) are
derived in Eq. (4.5) and Eq. (4.6).
χ̇B =
yBIC R−xBIC R
1
rw φ̇i
xBw,i − xBIC R
sin(β i) −
yBw,i − yBIC R
cos(β i)
xBw,i − xBIC R2
+
yBw,i − yBIC R2 (4.12)
Now the velocities have been determined in the B-frame and in order to describe themotion in the N -frame, χ̇B is first rotated into the M-frame by R B→M and is then rotated
38 Aalborg University 2007
8/17/2019 ploughing calculations
39/178
4.3 Dynamic Model
into N by using R M→N as in Eq. (4.13).χ̇ N = R M→N R B→Mχ̇B (4.13)
With this the complete kinematic model can be calculated using Eqs. (4.12), (4.5), (4.6)and (4.13) to calculate respectively the IC R, angular velocity, and translational velocityof the robot. The result is shown in Eq. (4.14), which is the total kinematic model of the
robot in inertial coordinates.
χ̇ N = RM→N RB→Mχ̇B
= RM→N RB→M
yBIC R−xBIC R
1
rw φ̇i
xBw,i − xBIC R
sin(β i) −
yBw,i − yBIC R
cos(β i)
xBw,i − xBIC R2
+
yBw,i − yBIC R2
(4.14)
where Eq. (4.5) and Eq. (4.6) yields:
xBIC R =xBw,i cot(β i) − xBw,j cot(β j ) + yBw,i − yBw,j
cot(β i) − cot(β j)
yBIC R =cot(β i)yBw,j − cot(β j)yBw,i + cot(β i)cot(β j )xBw,j − xBw,i
cot(β i) − cot(β j )
4.3 Dynamic Model
The dynamic model sought is a three degree of freedom model incorporating the twofollowing properties:
• Individual use of all four steering actuators. This would enable the model to func-tion even if the wheels were not placed in the correct steering angles as required inthe kinetic model. This requires the modeling of the friction caused by the wheel.
• Individual propulsion torques. This enables the model to function with differentpropulsion forces from each wheel.
The setup of the model is seen in Fig. 4.7 on the next page. The forces F x is the propul-sion forces, vi is the velocity of a wheel. The friction force of the wheel F y is dependenton the slip angle of the wheel, α.
In order to simplify the model the following assumption is made: The robot is fixedwith regards to the suspension. This eliminates the roll and pith of the robot due to theeffect of acceleration.
The model has two types of inputs:
• The steering angle of the four wheels β i.
• The propulsion forces of the four wheels F xi.
and the output is the translational and rotational acceleration of the robot in the Mframe:
χ̈M =
ẍMÿM
θ̈M
(4.15)
Group 1032b 39
8/17/2019 ploughing calculations
40/178
Model
Fx3
Fy2
Fx2
Fy3
Fx4F 4y
y
y
x
1yFx1F
θ
B B xθ
V
β1
α1
1
M
M M
θ.M
M
Figure 4.7: The general setup for the dynamic robot model[4].
4.3.1 Modeling of Sideways Friction in the Wheels
The sideways friction forces is defined in [16] as a linear relation between the frictionforce and the slip angle:
F yi = −C f · αi (4.16)where:
• F yi is the sideways friction force of the i’th wheel [N].
• C f is the cornering stiffness of the tire [N/rad].
• αi is the slip angle of the i’th wheel [rad].
This equation is found to introduce oscillations in the model and is therefore expandedwith viscous friction. The expanded equation is shown in Eq. (4.17).
F yi = −(C f 1 + C f 2 · V M) · αi (4.17)where:
• C f 1 is the cornering stiffness constant, that accounts for the stiction in the system[N/rad].
• C f 2 is the cornering stiffness constant, that accounts for the coulomb and viscousfriction in the system [ N·srad·m ].
• V M is the speed of the robot [m/s].
The slip angle αi is defined in the range [−π2 , π2 ] and is calculated as the angle fromF xi to V i in quadrant 1 and 4 and from V i to F xi in quadrant 2 and 3. This can be seen inFig. 4.8 on the facing page.
40 Aalborg University 2007
8/17/2019 ploughing calculations
41/178
4.3 Dynamic Model
x1Fx1F
Fx1
1β
θ
α =0o
V1
β1
x1F
α1
β1
x1F
α1
α1
β1
x1F1yF
1yF
1yF
1yF
1yF
yF 1,res
yF 1,res
θ
α1
β1
o o=−30α α =−90
θ
α1
β1
VV1 1
θ
o=−60α
V1
M
M M
M
M
M θ
αo
V1
=60
θ
α =30o
V1
Figure 4.8: Illustration of the slip angle at different steering angles. The green F yi shownthe definition of the friction force and the cyan F yi,res shown where the definition and theresulting force differs[4].
In order to determine the slip angle it is necessary to find the true velocity of thewheel (V i) which consists of two components: One from the velocity of the G C (V
M) anda component from the rotation of the robot around the GC (V ti) as seen on Fig. 4.9 on thenext page.
V ti is a function of the angular velocity and distance from GC of the centre of the wheel.
V ti = θ̇M · κi (4.18)Separating V ti into its components results in the following equations:
V txi = θ̇M · κi · sin(γ i + θM) (4.19)
V tyi = θ̇M · κi · cos(γ i + θM) (4.20)
Using Fig. 4.10 on the following page is can be seen that ẋM−V txi and ẏM+V tyi formsthe opposite and adjacent sides of the triangle with V 1 as hypotenuse.
The slip angle can then be calculated as shown in Eq. (4.21).
αi = tan−1
ẏM + θ̇M · κi · cos(γ i + θM)ẋM − θ̇M · κi · sin(γ i + θM)
− β i − θM (4.21)
The definition of the sideways friction force does not take into account that the wheelcan rotate more than 180◦ past the velocity direction resulting in the friction force point-ing in the wrong direction in some cases as seen in Fig. 4.8. Case 2 and 5 should give thesame friction force. To correct this behavior the slip angle is redefined as seen in Eq. (4.22)
Group 1032b 41
8/17/2019 ploughing calculations
42/178
Model
θ
.
θ
κ 1
y
x
xB
V 1Fx1α
β1
γ 1
V
Vt1
tx1V
V1
θ
M
M M
M
M
M
M M y
.x
.
ty1
Figure 4.9: Wheel 1 and centre of robot with relevant velocities and angles shown forfinding α1[4].
αi =
π − α∗i for π/2 ≤ α∗i
8/17/2019 ploughing calculations
43/178
4.3 Dynamic Model
• Propulsion forces: F xi
• Centripetal force: F c
• Gravity force: F g
The Sideway friction force was defined in the previous section and the propulsionforce is defined as F xi = τ r,i
rw, where τ r,i is the propulsion torque for the propulsion actua-
tor.
These two forces are then projected onto the M-frame as seen in Fig. 4.11
F 1y β +θ1
β +θ1
1α
V1
F 1x
M
Figure 4.11: The sideways friction and propulsion forces and their projection onto theM-frame[4].
This leaves the centripetal force and the gravity force. The contribution from the cen-tripetal force can be determined using a scenario, where all wheels are perpendicular tothe IC R and where all propulsion actuators are powered down. The acceleration of the
robot is then only a result of the centripetal force:
ar = r · (θ̇M)2 ⇔ (4.23)ar = V
M · θ̇M (4.24)
where:r is the radius of the circle the robot is driving on [ m].ar is the centripetal acceleration of the robot [m/s
2].V M is the velocity of the robot [m/s].
To separate the vector into its two components arx and arx, the relationship betweenthe V M and ar vectors is derived. This is shown in Fig. 4.12 on the next page. The
resulting equations is shown in Eq. (4.25).
arx = ẏM · θ̇M
ary = ẋM · θ̇M (4.25)
The final contribution is the acceleration due to the gravity:
Group 1032b 43
8/17/2019 ploughing calculations
44/178
Model
arxθ
x
ar a
V
.
.
.M
ry
yM .
.
.
.y
x
M
M
ICR
Figure 4.12: The robot with centripetal acceleration shown[4].
The gravity force (F Mg ) can be calculated as shown in Eq. (4.26).
F Mg =
F MgxF Mgy
F Mgz
= m ·
aMgxaMgy
aMgz
= R N→M
00
m · g
(4.26)
The complete equation for the translational motion is performed by summing all theforces from each of the four wheels, dividing by the mass of the AP I robot adding thecentripetal and gravity acceleration as shown in Eq. (4.27).
χ̈Mtran =
ẍM
ÿM
θ̈M
=
1m
4i=1
cos(β i + θ
M) · F xi − sin(β i + θM) · F yi
− ẏM · θ̇M − aMgx1
m
4i=1
sin(β i + θ
M) · F xi + cos(β i + θM) · F yi
+ ẋM · θ̇M − aMgy0
(4.27)
4.3.3 Rotational Motion
The rotational motion of the robot is caused by two different forces: The friction of thewheels and the force of the propulsion actuators. These two forces results in a rotationaround the G C and therefore must be projected into a line perpendicular to the line orig-inating in the GC and crossing though the center of the wheel. This line is given by κiand γ i. As seen of Fig. 4.13 on the facing page this perpendicular line is also the line onwhich the velocity V ti is pointing. The projection of the forces is performed using theangle β i
−γ i.
The angular acceleration around GC can then be found by multiplying the projectedforces with the arm (κi), summing over the four wheels and dividing with the momentof inertia as shown in Eq. (4.28).
χ̈Mrot =
ẍMÿM
θ̈M
=
001I
4i=1
sin(β i − γ i) · κi · F xi + cos(β i − γ i) · κi · F yi
(4.28)
44 Aalborg University 2007
8/17/2019 ploughing calculations
45/178
4.3 Dynamic Model
x1F
1yF
1γ
κ 1
γ 1
β11β
B x
Vt1γ 1
GC
Figure 4.13: Wheel 1 and the GC of the robot with relevant vectors and angles for calcula-tion of the rotational motion[4].
4.3.4 Integration of the Dynamic Model
The complete dynamic model is integrated with the actuator and sensor models. Themain equations for the robot is shown here:
Robot:
χ̈M = χ̈Mrot + χ̈Mtrans = (4.29)
ẍM
ÿM
θ̈M
=
1m
4i=1
cos(β i + θ
M) · F xi − sin(β i + θM) · F yi
− ẏM · θ̇M − aMgx1
m
4i=1
sin(β i + θ
M) · F xi + cos(β i + θM) · F yi
+ ẋM · θ̇M − aMgy1
I 4
i=1
sin(β i − γ i) · κi · F xi + cos(β i − γ i) · κi · F yi
(4.30)
where:
F yi = −(C f 1 + C f 2 · V M) · αi and F xi = τ r,irw
(4.31)
αi =
π − α∗i for π/2 ≤ α∗i
8/17/2019 ploughing calculations
46/178
Model
The transfer function between β i and β ref,i is chosen as one, as the dynamics of the steer-ing actuators is very fast compared to the rest of the A PI . The propulsion actuator modelis dependent on the angular velocity of the wheel. The equation describing the relation between the velocity of the A PI with the individual angular velocity of the wheels is:
φ̇i = V wirw
(4.36)
where:rw is the radius of the wheels [m].V wi is the translational velocity of the wheel [m/s]:
V wi = cos(β i + θM) · (ẋM − V txi) + sin(β i + θM) · (ẏM + V tyi) (4.37)
4.3.5 Summary
The kinematic and dynamic models models each describe the posture vector (χ) in differ-ent ways. However the dynamic model has potential to be more accurate as it factors inthe forces acting on the robot, such as the sideways friction forces and the gravity force.This can also be seen in the assumptions made for the kinematic model in Sec. 4.2 onpage 35. Therefore this model is chosen as the primary model used throughout the restof the project. The kinematic model does however add some useful results as well. Thedynamic model and the I CR -part of the kinematic model are used together when the A PIis moving on a circle with radius R as illustrated in Fig. 4.14
ICR Steering act.
Propulsion act.
Dyn. model
β i,ref R β i
τ i,ref τ i
χ̇β i
Figure 4.14: The dynamic model.
4.4 Hybrid Modeling
As the dynamic model described in the previous section is nonlinear, a linear model based approach to FDI is not directly applicable. To facilitate the use of linear model based F DI, a hybrid model of the non-linear system is developed. The concept is to makea complete hybrid approximation of a given path before the A PI robot begins to traversethe field.
The hybrid model will contain enough states to make it possible for the API to travelon a predetermined path and have a linear model based F DI scheme detect and partiallyisolate a number of faults as defined in Cha. 6 on page 61.
46 Aalborg University 2007
8/17/2019 ploughing calculations
47/178
4.4 Hybrid Modeling
4.4.1 Typical scenarios
The AP I will spend most of its operation time traversing a field by following the croprows running the length of a field as seen in Fig. 4.15. These crop rows will have different
Figure 4.15: Typical field row placement.
distances between them and the field will be oriented differently geographically but therobot will typically traverse the field in the same way: Driving in straight lines alongthe length of the field and turning in circles at the ends of the rows as shown in figure
Fig. 4.16.
- I C R
I C R
θM
M-frame
Figure 4.16: Typical driving scenario.
Group 1032b 47
8/17/2019 ploughing calculations
48/178
Model
4.4.2 Path approximation
When a path has been selected for the A PI robot the next step is to approximate the non-linear behavior of the model with a number of linear models.
To facilitate this an algorithm has been developed in MATLAB which take the differentIC Rs and angles the A PI will be travelling on, finds the desired number of working points
and then linearize the dynamic model in the working points as shown in App. D.1 onpage 145. The linear model can be seen in Eq. (D.5). The result is a finite number of linearmodels which can approximate the entire planned path.
The path on which the API will be travelling can be described with straight lines andcircle segments. The straight lines can be described by a single working point, but as seenin Fig. 4.17 the inherent non-linearities of the circle segments makes it necessary to haveseveral working points to describe the A PI robots behavior accurately.
0 5 10 15 20 25 30−0.25
−0.2
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
0.2
0.25
xM
YM
0 5 10 15 20 25 300
θM
Time [s]
V e l o c i t y [ m
/ s ]
P o s i t i o n [ r a d ]
π
12
π
32
π
2π
Figure 4.17: Sinusoidal behaviors in Turning mode scenario.
Figures 4.18 to 4.19 on the facing page show a comparison of different number of stateson a full revolution of the A PI robot.
In this case 16 states are deemed minimum for describing motion, when driving on acircle. One state for each π/8 section of the circle.
4.4.3 Defining the Hybrid Model
To define the hybrid model, a hybrid tuple is used. The hybrid tuple define the differentoutputs and inputs as well as the states of the model in a standardized way as describedin the literature[2].
H 1 = {Q,X,U,Y, Init, f } , (4.38)
48 Aalborg University 2007
8/17/2019 ploughing calculations
49/178
4.4 Hybrid Modeling
0 0.5 1 1.5 2 2.5 3
−1.5
−1
−0.5
0
0.5
1
1.5
Figure 4.18: The hybrid system with 8 dis-crete states per turn compared with thenonlinear system.
0 0.5 1 1.5 2 2.5 3
−1.5
−1
−0.5
0
0.5
1
1.5
Figure 4.19: The hybrid system with 16discrete states per turn compared with thenonlinear system.
where
Q1 = {q 1, q 2 . . . q n} (4.39)X 1 =
ẋ, ẏ, θ̇, θ
(4.40)
U 1 = {U D1 ∪ U C 1} = {β 1, β 2, β 3, β 4, τ 1, τ 2, τ 3, τ 4} (4.41)Y 1 = {Y D1 ∪ Y C 1} =
ẋ, ẏ, θ̇, θ
(4.42)
Init =
q 1, ẋ = ẋ0, ẏ = ẏ0, θ̇ = θ̇0, θ = θ0
(4.43)
f =
f 1
(q 1
, (ẋ, ẏ, θ̇, θ), (β 1
, β 2
, β 3
, β 4
, τ 1
, τ 2
, τ 3
, τ 4
))
f 2(q 2, (ẋ, ẏ, θ̇, θ), (β 1, β 2, β 3, β 4, τ 1, τ 2, τ 3, τ 4))...
f n(q n, (ẋ, ẏ, θ̇, θ), (β 1, β 2, β 3, β 4, τ 1, τ 2, τ 3, τ 4))
4.4.4 Test case
Choosing three different I CRs a test path for the hybrid model is formulated. The aim isto prove the hybrid concept for the A PI robot model by selecting enough states to be ableto test and verify the method. The path is shown in Fig. 4.20 on the next page.
In order to test the hybrid concept a hybrid observer is needed. This will be designed
later. The hybrid model tested in with a hybrid observer in Sec. 11.1 on page 110.
4.4.5 Partial conclusion
A hybrid model has been defined for the API robot. It is designed to estimate the AP Irobot’s behavior within a predefined working area. A working algorithm has been devel-oped to facilitate this. The actual test is performed when the observer has been designedlater in the project.
Group 1032b 49
8/17/2019 ploughing calculations
50/178
Model
−4 −2 0 2 4 6 8 10
0
2
4
6
8
10
12
y l a b e l
xlabel
Non−linear Model
Figure 4.20: The test path for the A PI robot used to verify the hybrid model.
4.5 Model Verification
This section deals with the with the verification of the dynamic model, described inSec. 4.3 on page 39. The model is verified using the path, shown in Fig. 4.21 on the facingpage with the control signals shown in Fig. 4.22 on the next page. The test is performedwithout a path controller and on asphalt assumed to be level. As some modificationshas been made to the API since the last parameter estimation was performed, a numberof parameters have changed. These parameters are the mass m, moment of inertia I ,Propulsion actuator gain τ ref gain as well as the two variable describing the cornering stiff-ness C f 1 and C f 2. These variables is used in the parameter estimation, meaning that thevariables is compromised of both the actual physical value but also of model variations.The new values for the parameters are:
• Mass: m = 231.5kg.
• Moment of inertia: I = 83.5kg · m2.• Propulsion actuator gain: τ ref gain = 0.74.
• Cornering stiffness: C f 1 = 40N/rad and C f 2 = 4000N·s/rad·m.
The results of the verification run can be seen in Fig. 4.23 on page 52 As can be easily seenthe dynamics of the simulated velocities match the measured velocities. The only differ-ence is an offset on the ẋMand ẏMvelocities, which has proven difficult to remove withparameter estimation using the existing model. This can be caused by the assumptionsmade in the model as well as physical influences of the API which is not included in themodel. This includes the suspension on the front wheels of the robot which is not mod-elled. The surface on which the A PI runs is also significant an the absence of an accurate
50 Aalborg University 2007
8/17/2019 ploughing calculations
51/178
4.5 Model Verification
−6 −5 −4 −3 −2 −1 0 1−4
−3.5
−3
−2.5
−2
−1.5
−1
−0.5
0
0.5
1
Verification path
xM[m]
y M [ m ]
Figure 4.21: The path chosen to verify the dynamic model.
0 5 10 15 20 25 30
−50
0
50
βref,1
βref,2
βref,3
βref,4
0 5 10 15 20 25 300
10
20
30
40
50
τref,1
τref,2
τref,3
τref,4
Time [s]
S t e e r i n g R e f e r e n
c e [ d e g . ]
P r o p u l s i o n T o r q u e R e f e r e n c e [ % ]
Figure 4.22: The reference signals used for the path chosen to verify the dynamic model.
Group 1032b 51
8/17/2019 ploughing calculations
52/178
Model
0 5 10 15 20 25 30
−0.5
0
0.5
Measured
Simulated
0 5 10 15 20 25 30
−0.5
0
0.5
Measured
Simulated
0 5 10 15 20 25 30
−0.5
0
0.5
Measured
Simulated
Time [s]
˙ x M
˙ y M
˙ θ M
Figure 4.23: Comparison of the measured and simulated velocities.
model of the friction and stiction between each tire and a given surface has an impactof model performance. The noise on the sensor measurements is also a significant factor,when driving at a slow speed like this test was performed at as the. A model verificationperformed by a previous group at a higher speed showed a higher match between themeasured and simulated response of the A PI.
Furthermore the steering actuators have different dynamics as well as a small timeoffset in relation to one another. An example is shown in Fig. 4.24 on the next page. Thedifferences are not intentional and is caused by incorrectly tuned steering controllers or asteering controller tuned to a different surface, than what this test is performed on. This being said the dynamics of the turning wheels are much faster than the rest of the systemand is not deemed necessary to model more precisely.
4.5.1 Conclusion
It can be concluded that the model fits reality well and could possibly be made to fit even better as indicated in a previous project[4]. The uncertainties discussed were are deemedsufficient to account for the deviations between model and reality.
In this thesis the focus is on model based FDI. This means that an accurate modelis important. The level of accuracy needed depends on what kind of faults are to be
detected and how well the model is able to replicate them. Even though the faults arenot verified on the model it is a good assumption that if the model works in the fault freecase then it will also work in the faulty case if the fault can be represented in the model.
52 Aalborg University 2007
8/17/2019 ploughing calculations
53/178
4.5 Model Verification
10 10.2 10.4 10.6 10.8 11 11.2 11.4 11.6 11.8 12
−50
−40
−30
−20
−10
0
10
20
30
40
50
β1
β2
β3
β4
Time [s]
S t e e r i n g P o s i t i o n [ d e g . ]
Figure 4.24: The measured position of the steering actuators. The steering reference onall four wheel is changed at the same time.
Group 1032b 53
8/17/2019 ploughing calculations
54/178
8/17/2019 ploughing calculations
55/178
Part III
Fault Detection and Isolation
55
8/17/2019 ploughing calculations
56/178
8/17/2019 ploughing calculations
57/178
Chapter 5
Introduction
The ability to detect, isolate and if possible accommodate faults or failures is especiallyimportant in an autonomous system because it is meant to run unsupervised for longperiods of time. So to ensure safe operation and to maximize the time the system can con-tinue operation an F DI-scheme must be designed and implemented in the API robot. Thistask has already been undertaken once by another group which laid the foundation forthe continued work in the current project. As seen in Fig. 5.1 the A PI robot has a numberof different sensors, actuators and communication interfaces. They all have the potential
Compass
GPS Inclinometer
Gyro Prox. sensors
PC-104
CAN bus
Doppler radar LH28
Propulsion cont. Steering cont.
Propulsion act. Steering act.
Propulsion sens. Steering sens.
Figure 5.1: The different subsystems of the A PI robot.
to fail at some point. The purpose of the FDI scheme described in this part is mainly to
57
8/17/2019 ploughing calculations
58/178
Introduction
provide a way to detect and isolate faults that occur in the steering and propulsion sub-system of the API robot using model based methods. The remaining subsystems apartfrom the inclinometer and proximity sensors are already covered in a previous project [4]and will thus not be covered in the current F DI scheme.
The newly implemented inclinometer and proximity sensors are not included in themodel based FDI but the inclinometer has diagnosing capabilities. The proximity sensors
will receive a simple sanity checking in the implementation.
The following will be included in the F DI part of this master thesis all concerning theFault Detection and Isolation of the steering and propulsion system of the A PI robot:
Fault Analysis and Severity Assessment: The steering and propulsion system of theAP I robot is analysed for faults and simulations are carried out which together with em-pirical knowledge of the system will help determine their severity as well as how thefaults propagate in the system.
Each fault is then ranked according to their severity and occurrence(SO-index). TheSO-index is found by giving each fault a value from 1-10 according to the severity and
a value according to the predicted occurrence frequency. These values multiplied yieldsthe S O-index used.
Isolation Analysis: This analysis is carried out in order to determine how differentfaults affect the system. Using the linearization algorithm described in Sec. D.2 on page 145the model is linearized in two different working points in order to determine isolabliltyof input faults in the A PI .
Linear model based FDI : This chapter holds the analysis and test a linear FDI schemefor the API robot. It is a hybrid scheme which uses a hybrid state observer and linearFDI. During the chapter, three different hybrid state observers are tested as well as twodifferent continous linear F DI methods.
Non-linear Particle based FDI : This chapter holds a proof of concept of how a non-linear particle filter based could be used to detect and isolate faults occuring on the robot.
Active Fault Isolation Supervisor: This chapter describes the design of a active faultisolation supervisor able to complete the isolation of a given fault in the steering andpropulsion system of the robot by actuating on the A PI robot.
FDI schemeThe above methods can be used alone or as a part of an F DI scheme to use the best fromeach method. One method could be only applying the linear FDI scheme. Its relativelylight weight but cannot isolate faults completely. Another possibility is to use the particlefilter method alone, but it is very computationally demanding and needs an exact modelof each fault to isolate. In order to use the lightweight characteristica of the linear FDIand still have the ability to isolate faults the following F DI scheme is proposed:
58 Aalborg University 2007
8/17/2019 ploughing calculations
59/178
When a path is planned for the A PI robot a hybrid representation of that path is madeusing the hybrid model. The path is then run with linear FDI activated. When a fault isdetected the A PI is stopped and the next step is initiated.
This step includes the application of either a active FI routine. This should result in anisolated fault and if possible remedial actions can be initiated. The scheme will only berun after the usual sanity checking of rate and value of the sensors stay fault free. The
overall scheme can be seen in Fig. 5.2.
Path planned
Create hybrid states for planned path.
Run path with linear F DI.
Check for fault event.
Descision
Stop A PI robot.
Run active fault isolation
Fault Isolated
Initiate possible remedial action.
No Fault
Fault
Figure 5.2: Overall FDI scheme.
Group 1032b 59
8/17/2019 ploughing calculations
60/178
8/17/2019 ploughing calculations
61/178
Chapter 6
Fault Analysis
The following contains a fault analysis of the steering and propulsion system on the A PIrobot as well as the newly implemented inclinometer and proximity sensors. This in-cludes the sensors shown in Fig. 6.1. Faults on all these subsystems are considered except
• Four propulsion actuators
• Four propulsion sensors
• Two proximity sensors
• Eight wheel stoppers
• Four steering actuators
• Four steering sensors
• One Inclinometer
Figure 6.1: Sensors and actuators fault analyzed.
for the eight wheel stoppers. These are safety features and assumed to be fault free. Allsteering and propulsion faults are simulated and possible causes and effects and are dis-cussed. The faults are simulated in open loop although the robot will be running usinga speed and path controller in the real world and thus behave a bit differently. Howeverthe wheel controllers are taken into consideration in the fault modelling so the simula-tions should give a good indication of the severity of the different faults. The faults andtheir effect of the A PI are based on the assumption that all wheel controllers are active.
The conditions for the simulations are:
Straight driving ICR = 0m.
• Simulation time = 60 seconds.
• Fault time = 3 seconds.
Turning ICR = 5m.
• Simulation time = 75 seconds.
• Fault time = 3 seconds.
All faults are single faults as two simultaneously occurring faults is very unlikely. Fur-thermore all faults are abrupt faults. That is they don’t grow over time as faults whichare a result of wear and tear do. The faults are rated for severity and occurrence using
61
8/17/2019 ploughing calculations
62/178
Fault Analysis
the S O-index for each fault. This will help to determine which faults are more importantto detect.
Propulsion actuators
The propulsion actuators consist of four Heinzman DC
-motors which are incorporatedinto the hub of each wheel. They are integrated with built in speed sensors and run by a signal from one of the LH28 micro controllers dedicated to each wheel. The faults,considered in the propulsion actuators, are described in Table 6.
Fault Description/Local effect
No actuation The wheel isn’t applied any torque no matter what speedreference is sent to the controller. The wheel can still ro-tate(free run).
Max. positive
actuation
The wheel spins at maximum positive speed no matterwhat speed reference is set.
Max. negativeactuation The wheel spins at maximum negative speed no matterwhat speed reference is sent to the controller.
Actuator offset The wheel gain of the propulsion actuator changes to bemore or less than expected.
Table 6.1: Effects of propulsion actuator faults.
No actuation has impact on the state of the AP I robot as seen in Fig. E.1- E.2 onpage 148 and Fig. E.3- E.4 in App. E. The effect is not severe and it will more than likely bepossible to compensate with the rest of the propulsion actuators if correctly detected andisolated. Max. positive actuation and Max. negative actuation are moresevere although probably less likely. These also have potential to blow the main fusesof the API robot which is a worst case scenario since all subsystems will fail completelydue to lack of power. It is important to detect and isolate such a fault fast. The faultActuator offset is probably the least severe of the propulsion actuator faults sinceit can be removed by a controller as long as the offset is not larger than to allow for thecompensation. The effects can be seen Fig. E.9- E.10 in App. E.
Propulsion sensors
The propulsion sensors are hall effect sensors integrated into the Heinzman units situatedin each wheel hub and output the current speed of a given wheel to the LH28 micro con-
trollers dedicated to each wheel. The Henizman has a built-in safety feature which meansthat if the sensor output does not look into a specific impedance the motor goes into afree run states and thus no longer provide torque to the wheel. This will to some extentguard against electrical malfunctions. The propulsion sensors are not used for control of the wheels in the current configuration of the robot as its speed is controlled through anestimate of the current speed. This estimate depends mostly on the GPS measurements.That means that when the GPS is in action a fault in a wheel sensor will have almost noimpact on the API robots performance. Therefore the faults are not simulated but only
62 Aalborg University 2007
8/17/2019 ploughing calculations
63/178
Fault Possible cause
No actuation Faulty relay, broken wires in either interface or the DC-motor itself. Mechanical causes include a broken shaft or bearing. It could also be caused by a bug in LH28 softwareor software on the OBC . Impedance has changed on sensoroutput.
Max. positive
actuation
Possible causes are a bug in software on the LH28 or soft-ware on the OBC.
Max. negative
actuation
Possible causes are a bug in software on the LH28 or soft-ware on the OBC.
Actuator offset A change in the ac