Sisteme de Scanare

TEZĂ DE DOCTORAT

Rezumat

Deși considerate viitorul tehnologiilor de colectare a datelor geospațiale, sistemele mobile de scanare au în prezent o distribuție precară la nivel internațional și mai ales național. Pentru cazul aplicațiilor de scanare pe zone întinse se preferă utilizarea sistemelor de scanare aeropurtate, deși acestea nu pot oferi nori de puncte cu o densitate ridicată, în timp ce pentru scanări locale sunt utilizate cu precădere sistemele statice de scanare, deși randamentul acestora este deficitar.

Prezenta lucrare propune pe de-o parte o analiză a arhitecturii și a senzorilor incorporați în sistemele mobile de scanare iar pe de altă parte un studiu referitor la estimarea robustă a formelor plane și pătratice, precum și o analiză comparativă a rezultatelor obținute pe aceleași obiecte din scanări statice și dinamice. În acest sens au fost implementați în Matlab® algoritmi de estimare robuști și nerobuști împreună cu o interfață grafică ce permite importarea, vizualizarea și prelucrarea datelor precum și exportarea rezultatelor obținute. Algoritmii au fost testați atât pe nori de puncte simulați cât și pe nori de puncte obținuți din scanări reale în două zone de test în care au fost realizate atât scanări mobile cât și statice.

Rezultatele studiului au arătat că în anumite condiții și cu anumite limitări, sistemele de scanare mobile pot fi utilizate în aplicații de estimare a formei obținând rezultate similare celor provenite din scanările statice, însă având cu siguranță o eficiență mult mai ridicată în ceea ce privește colectarea observațiilor.

Cuvinte cheie: estimare robustă, scanare mobilă terestră, GNSS/INS

Abstract

Although considered to be the future of geospatial data collection technology, the mobile mapping systems are still lacking a proper distribution at international level, mainly due to their price. In the case of large scanning areas, the airborne systems are preferred over the mobile mapping solutions, despite the poor density of the point cloud, while for local scanning necessities the static laser scanners are mainly used.

On one hand, the present thesis proposes a study of the mobile mapping systems’ architectures and sensors while on the other hand it provides an analysis of the robust plane and quadratic form estimation methods as well as a comparative study of the results obtained on the same objects in static and mobile scanning. In order to accomplish this, several Matlab® algorithms were developed for robust and non-robust form estimation together with a graphical interface which allows the user to import, visualize and process the data as well as export the obtained results. The algorithms were initially tested on simulated point clouds affected by outliers and afterwards on real data from two test areas in which both mobile and static scanning were conducted.

The results showed that in proper conditions and with some limitations, the mobile mapping systems may be used in form estimation applications, providing results similar to the ones obtained by static scanning, but with a higher efficiency in what regards the data collection.

Key words: robust estimation, mobile mapping, GNSS/INS

Rezumat

Cuprins

Lista figurilor

Lista tabelelor

CAPITOLUL I – Introducere

CAPITOLUL II – Noțiuni generale

II.1 Scurt istoric al dezvoltării sistemelor de scanare

II.1.1 Dezvoltarea sistemelor de radionavigație prin satelit

II.1.2 Dezvoltarea sistemelor inerțiale de navigație

II.2 Principii elementare ale sistemelor LiDAR

II.3 Sisteme de coordonate carteziene utilizate în navigație

II.3.1 Sistem de coordonate cvasi-inerțial geocentric (ECI – Earth Centered Inerital Frame)

II.3.2 Sistem de coordonate neinerțial geocentric (Earth Centered Earth Fixed Frame)

II.3.3 Sistem de coordonate local

II.3.4 Sistem de coordonate al vehiculului

II.4 Cinematica mișcării

II.4.1 Poziția în sistemele de coordonate carteziene

II.4.2 Unghiuri Euler

II.4.3 Matricea de rotație

II.4.4 Cuaternioni

II.4.5 Viteza și accelerația

II.5 Metode de estimare secvențială a observațiilor. Filtrul Kalman

II.5.1 Generalități

II.5.2 Elemente de bază ale filtrului Kalman

II.5.3 Etapele filtrului Kalman. Analiza rațională

II.5.4 Algoritmul de estimare al filtrului Kalman

II.5.5 Probleme de implementare ale filtrului Kalman

CAPITOLUL III – Stadiul actual la nivel național și internațional referitor la tematica abordată

III.1 Privire de ansamblu asupra dezvoltărilor din domeniu

III.2 Sisteme terestre de scanare mobilă realizate la nivel internațional

III.2.1 Geomobil – Institut Cartografic de Catalunya (ICC)

III.2.2 StreetMapper – 3D Laser Mapping & IGI mbH

III.2.3 LYNX Mobile MapperTM – Optech Inc.

III.2.4 Alte sisteme dezvoltate

III.3 Situația la nivel național

CAPITOLUL IV – Senzori și sisteme de navigație utilizate în cadrul echipamentelor mobile de scanare terestră

IV.1 Sisteme de radionavigație prin satelit

IV.2 Senzori inerțiali

IV.2.1 Accelerometrele

IV.2.2 Giroscoapele

IV.3 Unități inerțiale de măsurare (IMU). Sisteme de navigație inerțiale (INS)

IV.4 Sisteme de navigație complexe realizate prin cuplarea GNSS/INS

IV.4.1 Motivație

IV.4.2 Tipuri de arhitecturi GNSS/INS

IV.5 Realizarea sistemelor terestre mobile de scanare

IV.5.1 Arhitectura sistemelor terestre mobile de scanare

IV.5.2 Aspecte privind sincronizarea echipamentelor

IV.5.3 Aspecte privind calibrarea sistemului

CAPITOLUL V – Modele de prelucrare în estimarea formei

V.1 Noțiuni generale despre teoria estimării

V.1.1 Scurtă introducere în teoria estimării

V.2 Estimatori

V.2.1 Estimatorul ideal nedeviat – Best Unbiased Estimator

V.2.2 Metoda pătratelor minime – Least Squares Estimation (LSE)

V.2.3 Metoda verosimilității maxime–Maximum Likelihood Estimator(MLE)

V.3 Modelul de estimare Gauss-Markov

V.3.1 Definiție, omogenizare și liniarizare

V.3.2 Rezolvarea modelului Gauss-Markov utilizând estimatorii prezentați

V.4 Modelul de prelucrare Gauss-Helmert

V.4.1 Definiție, liniarizare.

V.4.2 Rezolvarea modelului Gauss-Helmert

V.5 Transformarea modelului Gauss-Helmert într-un model Gauss-Markov cu restricții

V.6 Estimarea parametrilor fără valori inițiale

V.7 Metode de prelucrare robustă în cazul modelului Gauss-Markov

V.7.1 Generalități

V.7.2 Modelul Gauss – Markov pentru observații în care sunt prezente greșeli

V.7.3 Teste statistice aplicate pentru detectarea greșelilor

V.8 Metode de prelucrare robustă în cazul prelucrărilor clasice

V.8.1 Generalități

V.8.2 Estimatori robuști de tip M. Estimatorul Huber. Estimatorul Hampel

V.8.3 Estimatori robuști cu influență mărginită. Estimatorul Biber.

V.8.4 Estimatori robuști de tip Lp-Norm

V.8.5 Estimatori robuști cu punct de cedare ridicat. Estimatorul LMS

V.9 Metode de prelucrare robustă în cazul modelului Gauss – Helmert

V.9.1 Prelucrarea robustă în cazul modelului general de prelucrare

V.9.2 Detectarea greșelilor în cazul modelului general de compensare

V.10 Prelucrarea robustă a formei pentru nori de puncte obținuți cu ajutorul sistemelor terestre de scanare

V.10.1 Cuadrice. Noțiuni generale.

V.10.2 Estimarea parametrilor cuadricei

V.10.3 Algoritmul de estimare a formei pe baza parametrilor generali ai ecuației cuadricelor

CAPITOLUL VI – Studiu comparativ privind analiza formei pe baza scanărilor terestre mobile și statice

VI.1 Generalități

VI.2 Implementarea în Matlab a estiamtorilor pentru modelele prezentate

VI.2.1 Implementarea estimatorilor robuști pentru modelul Gauss-Markov în cazul estimării parametrilor unui plan

VI.2.2 Implementarea estimării robuste a formei pentru cuadrice în modelul Gauss-Helmert

VI.2.3 Realizarea interfeței, modul de lucru și opțiuni implementate

VI.3 Studiu pe baza obiectelor simulate

VI.3.1 Simularea și studiul formelor plane

VI.3.2 Simularea și studiul unor cuadrice

VI.4 Studiu pe baza măsurătorilor reale

VI.4.1 Realizarea măsurătorilor

VI.4.2 Operațiuni preliminare

VI.4.3 Utilizarea interfeței implementate în estimarea formelor

CAPITOLUL VII – Concluzii și viitoare direcții de cercetare

VII.1 Concluzii

VII.2 Contribuții personale

VII.3 Direcții de cercetare propuse în legătură cu tematica abordată 206

Referințe bibliografice

Anexe

Lista figurilor

Figura II-1 – Submarinul USS Nautilus (SSN-571) și raportul de navigație realizat la trecerea prin Polul Nord 19

Figura II-2 – Metoda „impuls-ecou” de determinare a distanței (redesenat după Petrie & Toth, 2009) 20

Figura II-3 – Determinarea distanței prin măsurarea diferenței de fază (redesenat după Petrie & Toth, 2009) 21

Figura II-4 – Reprezentare schematică a modului de scanare pentru cazul în care instrumentul este fix 22

Figura II-5 – Sisteme de coordonate utilizate în navigație 23

Figura II-6 – Exprimarea poziției sistemelor de coordonate 26

Figura II-7 – Reprezentare grafică a unghiurilor Euler 27

Figura II-8 – Interpretare grafică a cuaternionilor 29

Figura II-9 – Elementele filtrului Kalman 32

Figura II-10 – Etapele algoritmului de estimare al filtrului Kalman 35

Figura II-11 – Propagarea funcțională și stohastică în cadrul filtrului Kalman 36

Figura II-12 – Influența raportului P/R în convergența și stabilitatea filtrului 38

Figura III-13 – Geomobil 41

Figura III-14 – Instalarea Geomobil în trenul cu cremaliera ce parcurge zona Nuria 42

Figura III-15 – Punct de control in scanarea centrului orașului Sitges 43

Figura III-16 – Componentele platformei StreetMapper 44

Figura III-17 – StreetMapper 45

Figura III-18 – a) Nor de puncte rezultat in urma scanării unei zone dintr-o autostrada împreuna cu modelul CAD aferent; b) modelul 3D al zonei împreuna cu texturile aferente 46

Figura III-19 – Identificarea poziției cablurilor 46

Figura III-20 – Sistemul LYNX Mobile Mapper 48

Figura III-21 – a) Sistemul LYNX Mobile Mapper montat pe un “speeder” 49

Figura III-22 – a) Sistemul LYNX Mobile Mapper montat pe o barcă cu motor 49

Figura III-23 – Sistemele Riegl VMX 250 și VMX-450 50

Figura III-24 – Utilizarea VMX 250 în scanarea unor tuneluri 51

Figura III-25 – Sistemul Topcon IP-S2 52

Figura III-26 – Sistemul S250 X-plane 52

Figura III-27 – Sistemele Trimble MX2 și MX8 53

Figura III-28 – Leica Pegasus One 53

Figura III-29 – Scanerul laser Riegl Z420i 54

Figura III-30 – – a)-b) Unitatea inerțială Applanix; 54

Figura III-31 – Sistemul terestru de scanare mobilă dezvoltat de S.C. C-TECH SRL 55

Figura III-32 – Supravegherea scanării folosind programe dedicate 55

Figura III-33 – a) Aplicație de scanare în hală industrială folosind sistemul Riegl LMS-Z420i în mod static; b) Nor de puncte rezultat in urma măsurătorilor 56

Figura III-34 – a) Model Digital al Terenului în zona localității Beidaud, jud. Tulcea 57

Figura III-35 – Identificarea rețelelor electrice 57

Figura III-36 – Model Digital al Terenului în Constanța (Faleza Modern) 58

Figura IV-37 – Influența erorilor de ceas ale satelitului și receptorului în estimarea distanței 61

Figura IV-38 – Principiul poziționării diferențiale 62

Figura IV-39 – Principiul de funcționare a unui accelerometru cu circuit deschis 64

Figura IV-40 – Accelerometru cu pendul cu circuit deschis 66

Figura IV-41 – Accelerometru cu pendul cu circuit închis 67

Figura IV-42 – Accelerometru optic cu pendul mecanic biaxial 68

Figura IV-43 – Accelerometru bazat pe vibrații 69

Figura IV-44 – Principiul de determinare a accelerației în cazul accelerometrelor bazate pe vibrații 69

Figura IV-45 – Accelerometre bazate pe unde acustice de suprafață 71

Figura IV-46 – MEMS 72

Figura IV-47 – Accelerometrul interferometric Mach-Zehnder (configurație cu una sau două fibre optice) 72

Figura IV-48 – Reprezentare schematică a unui giroscop mecanic bazat pe rotația unui corp de probă 75

Figura IV-49 – Reprezentare schematică a efectului de precesie 76

Figura IV-50 – Reprezentare schematică a unui giroscop bazat pe oscilații în care elementul os.9.1 Prelucrarea robustă în cazul modelului general de prelucrare

V.9.2 Detectarea greșelilor în cazul modelului general de compensare

V.10 Prelucrarea robustă a formei pentru nori de puncte obținuți cu ajutorul sistemelor terestre de scanare

V.10.1 Cuadrice. Noțiuni generale.

V.10.2 Estimarea parametrilor cuadricei

V.10.3 Algoritmul de estimare a formei pe baza parametrilor generali ai ecuației cuadricelor

CAPITOLUL VI – Studiu comparativ privind analiza formei pe baza scanărilor terestre mobile și statice

VI.1 Generalități

VI.2 Implementarea în Matlab a estiamtorilor pentru modelele prezentate

VI.2.1 Implementarea estimatorilor robuști pentru modelul Gauss-Markov în cazul estimării parametrilor unui plan

VI.2.2 Implementarea estimării robuste a formei pentru cuadrice în modelul Gauss-Helmert

VI.2.3 Realizarea interfeței, modul de lucru și opțiuni implementate

VI.3 Studiu pe baza obiectelor simulate

VI.3.1 Simularea și studiul formelor plane

VI.3.2 Simularea și studiul unor cuadrice

VI.4 Studiu pe baza măsurătorilor reale

VI.4.1 Realizarea măsurătorilor

VI.4.2 Operațiuni preliminare

VI.4.3 Utilizarea interfeței implementate în estimarea formelor

CAPITOLUL VII – Concluzii și viitoare direcții de cercetare

VII.1 Concluzii

VII.2 Contribuții personale

VII.3 Direcții de cercetare propuse în legătură cu tematica abordată 206

Referințe bibliografice

Anexe

Lista figurilor

Figura II-1 – Submarinul USS Nautilus (SSN-571) și raportul de navigație realizat la trecerea prin Polul Nord 19

Figura II-2 – Metoda „impuls-ecou” de determinare a distanței (redesenat după Petrie & Toth, 2009) 20

Figura II-3 – Determinarea distanței prin măsurarea diferenței de fază (redesenat după Petrie & Toth, 2009) 21

Figura II-4 – Reprezentare schematică a modului de scanare pentru cazul în care instrumentul este fix 22

Figura II-5 – Sisteme de coordonate utilizate în navigație 23

Figura II-6 – Exprimarea poziției sistemelor de coordonate 26

Figura II-7 – Reprezentare grafică a unghiurilor Euler 27

Figura II-8 – Interpretare grafică a cuaternionilor 29

Figura II-9 – Elementele filtrului Kalman 32

Figura II-10 – Etapele algoritmului de estimare al filtrului Kalman 35

Figura II-11 – Propagarea funcțională și stohastică în cadrul filtrului Kalman 36

Figura II-12 – Influența raportului P/R în convergența și stabilitatea filtrului 38

Figura III-13 – Geomobil 41

Figura III-14 – Instalarea Geomobil în trenul cu cremaliera ce parcurge zona Nuria 42

Figura III-15 – Punct de control in scanarea centrului orașului Sitges 43

Figura III-16 – Componentele platformei StreetMapper 44

Figura III-17 – StreetMapper 45

Figura III-18 – a) Nor de puncte rezultat in urma scanării unei zone dintr-o autostrada împreuna cu modelul CAD aferent; b) modelul 3D al zonei împreuna cu texturile aferente 46

Figura III-19 – Identificarea poziției cablurilor 46

Figura III-20 – Sistemul LYNX Mobile Mapper 48

Figura III-21 – a) Sistemul LYNX Mobile Mapper montat pe un “speeder” 49

Figura III-22 – a) Sistemul LYNX Mobile Mapper montat pe o barcă cu motor 49

Figura III-23 – Sistemele Riegl VMX 250 și VMX-450 50

Figura III-24 – Utilizarea VMX 250 în scanarea unor tuneluri 51

Figura III-25 – Sistemul Topcon IP-S2 52

Figura III-26 – Sistemul S250 X-plane 52

Figura III-27 – Sistemele Trimble MX2 și MX8 53

Figura III-28 – Leica Pegasus One 53

Figura III-29 – Scanerul laser Riegl Z420i 54

Figura III-30 – – a)-b) Unitatea inerțială Applanix; 54

Figura III-31 – Sistemul terestru de scanare mobilă dezvoltat de S.C. C-TECH SRL 55

Figura III-32 – Supravegherea scanării folosind programe dedicate 55

Figura III-33 – a) Aplicație de scanare în hală industrială folosind sistemul Riegl LMS-Z420i în mod static; b) Nor de puncte rezultat in urma măsurătorilor 56

Figura III-34 – a) Model Digital al Terenului în zona localității Beidaud, jud. Tulcea 57

Figura III-35 – Identificarea rețelelor electrice 57

Figura III-36 – Model Digital al Terenului în Constanța (Faleza Modern) 58

Figura IV-37 – Influența erorilor de ceas ale satelitului și receptorului în estimarea distanței 61

Figura IV-38 – Principiul poziționării diferențiale 62

Figura IV-39 – Principiul de funcționare a unui accelerometru cu circuit deschis 64

Figura IV-40 – Accelerometru cu pendul cu circuit deschis 66

Figura IV-41 – Accelerometru cu pendul cu circuit închis 67

Figura IV-42 – Accelerometru optic cu pendul mecanic biaxial 68

Figura IV-43 – Accelerometru bazat pe vibrații 69

Figura IV-44 – Principiul de determinare a accelerației în cazul accelerometrelor bazate pe vibrații 69

Figura IV-45 – Accelerometre bazate pe unde acustice de suprafață 71

Figura IV-46 – MEMS 72

Figura IV-47 – Accelerometrul interferometric Mach-Zehnder (configurație cu una sau două fibre optice) 72

Figura IV-48 – Reprezentare schematică a unui giroscop mecanic bazat pe rotația unui corp de probă 75

Figura IV-49 – Reprezentare schematică a efectului de precesie 76

Figura IV-50 – Reprezentare schematică a unui giroscop bazat pe oscilații în care elementul oscilant este de tip diapazon 77

Figura IV-51 – Principiul efectului Sagnac 79

Figura IV-52 – Reprezentare schematică a RLG 80

Figura IV-53 – Definirea IMU/INS conform normelor IEEE 82

Figura IV-54 – Integrarea liberă 84

Figura IV-55 – Integrarea strânsă 87

Figura IV-56 – Imagine schematică a unui sistem terestru mobil de scanare 90

Figura IV-57 – Poziția sistemelor de coordonate ale instrumentelor față de sistemul de coordonate al corpului (vehiculului) 95

Figura IV-58 – Eroarea reziduală a unghiului de rotație 96

Figura IV-59 – Determinarea erorii reziduale a unghiului de rotație în QINSy 96

Figura IV-60 – Eroarea reziduală a unghiului de tangaj 97

Figura IV-61 – Determinarea erorii reziduale a unghiului de tangaj în QINSy 97

Figura IV-62 – Eroarea reziduală a unghiului de girație 98

Figura V-63 – Estimatorul Huber. a) Funcția scop. b) Funcția de influență 120

Figura V-64 – Estimatorul Hampel. a) Funcția scop. b) Funcția de influență 122

Figura V-65 – Puncte pârghie și greșeli în setul de observații 124

Figura V-66 – Modul de limitare a influenței la estimatorii a) Huber b) Mallows c)Schweppe 125

Figura V-67 – Funcția de influență pentru estimatorul Biber 127

Figura V-68 – Funcția scop și funcția de influență pentru estimatorul L1-norm 128

Figura V-69 – Exemplu de subset de observații în cazul estimatorului LMS 129

Figura VI-70 – Imagine de ansamblu a interfeței și descrierea grafică a opțiunilor implementate 153

Figura VI-71 – Opțiuni active pentru fiecare estimator – exemplificare (Hampel / LMS) 153

Figura VI-72 – Reprezentarea punctelor cu ajutorul funcției plot_Observations.m 157

Figura VI-73 – Importarea datelor din fișierul de puncte generat anterior 158

Figura VI-74 – Previzualizarea grafică a observațiilor 159

Figura VI-75 – Alegerea tipului estimării, a estimatorului și a opțiunilor aferente 159

Figura VI-76 – Fereastră waitbar în timpul derulării procesului de estimare 160

Figura VI-77 – Mesaj de atenționare în situația în care nu au fost identificate greșeli 161

Figura VI-78 – Grafic al planului estimat 161

Figura VI-79 – Puncte etichetate / suprafață estimată 162

Figura VI-80 – Fereastră grafică suplimentară 163

Figura VI-81 – Corecții ale observațiilor rezultate în urma LSE 163

Figura VI-82 – Căsuță de dialog pentru generare raport 164

Figura VI-83 – Raport procesare LSE 164

Figura VI-84 – Reprezentarea grafică a ponderilor după cele 8 iterații realizate de estimatorul Huber 165

Figura VI-85 – Reprezentarea grafică diferită a greșelilor 166

Figura VI-86 – Raport procesare Huber 166

Figura VI-87 – Simularea observațiilor pentru un elipsoid 171

Figura VI-88 – Raportarea preliminară a punctelor generate; a) raportare fără etichetare; b) raportare cu etichetare a punctelor; c) detaliu cu zona punctelor în care nu au fost introduse greșeli; d) raportare cu RGB 174

Figura VI-89 – Simularea paraboloidului eliptic fără greșeli introduse 175

Figura VI-90 – Importarea datelor aferente paraboloidului eliptic generat în MIRUNA 176

Figura VI-91 – Previzualizarea datelor 176

Figura VI-92 – Rezultatele obținute în urma prelucrării 177

Figura VI-93 – Rezultatele obținute în urma prelucrării (Large Axes) 178

Figura VI-94 – Comparație grafică între simulare și estimare (fără greșeli introduse) 179

Figura VI-95 – Estimarea parametrilor formelor pătratice în cazul existenței greșelilor în setul de observații; a) formă teoretică (elipsoid) b) formă estimată (hiperboloid cu o pânză); c) setul de observații în care pot fi identificate greșelile; d) formă estimată și formă teoretică (suprapunere); e) formă estimată, formă teoretică și observații suprapuse; f) formă estimată, formă teoretică și observații numerotate suprapuse . 181

Figura VI-96 – Estimarea robustă a unui elipsoid 182

Figura VI-97 – Amplasamentul satului Gresia (Teleroman) (Google) 183

Figura VI-98 – Amplasamentul satului Izvoarele (Teleorman) (Google) 184

Figura VI-99 – Nori de puncte obținuți cu ajutorul tehnologiilor de scanare mobilă în satul Gresia și în satul Izvoarele (Teleorman) 185

Figura VI-100 – Scanări statice în zona Gresia 186

Figura VI-101 – Identificarea mărcilor și registrația norilor în cazul zonei de lucru Gresia 187

Figura VI-102 – Rezultatul registrației norilor de puncte pentru zona Gresia 188

Figura VI-103 – Identificarea țintelor în RiScanPro pentru zona Izvoarele 188

Figura VI-104 – Obiectivul studiat (imagini preluate de camera sistemului VMX) 189

Figura VI-105 – Filtrarea succesivă și exportarea norului de puncte aferent unei forme studiate (în acest caz acoperișul unei case în zona Izvoarele) 190

Figura VI-106 – Importarea norilor de puncte proveniți din măsurători cinematice (zona Izvoarele) în interfața MIRUNA și introducerea valorilor de reducere a coordonatelor 191

Figura VI-107 – Identificarea greșelilor și estimarea parametrilor cu ajutorul interfeței MIRUNA 191

Figura VI-108 – Identificarea robustă a muchiilor pe baza scanărilor mobile 193

Figura VI-109 – Norul de puncte static pentru zona Izvoarele 194

Figura VI-110 – Identificarea robustă a muchiilor pe baza scanărilor statice 195

Figura VI-111 – Diferențe obținute între norul de puncte obținut cinematic și suprafata de refeință estimată robust pe baza scanărilor statice în zona Izvoarele 195

Figura VI-112 – Coloane casă zona Izvoarele 196

Figura VI-113 – Reducerea densității numărului de observații 197

Figura VI-114 – Reducerea coordonatelor la centrul de greutate 198

Figura VI-115 – Nor de puncte aferent fântânii din zona Gresia obținut prin scanări statice/dinamice 198

Figura VI-116 – Estimarea formei fântânii din zona Gresia cu ajutorul interfeței MIRUNA 199

Figura VI-117 – Compararea setului de date cinematic cu forma estimată robust pe baza observațiilor statice (Gresia) 199

Figura VI-118 – Estimarea robustă a formei coloanelor case din zona Izvoarele pe baza măsurătorilor statice 201

Figura VI-119 – Estimarea robustă a formei coloanelor case din zona Izvoarele pe baza măsurătorilor cinematice 202

Figura VI-120 –Compararea setului de date cinematic cu forma estimată robust pe baza observațiilor statice (Izvoarele) 202

Lista tabelelor

Tabelul 1 – Clasificarea formelor pătratice plane pe baza formei canonice 137

Tabelul 2 – Clasificarea formelor pătratice din spațiul cu trei dimensiuni pe baza formei canonice 138

Tabelul 3 – – Determinarea formei cuadricii 139

Tabelul 4 – Rezultate obținute pe baza estimatorilor 167

Tabelul 5 – Rezultate obținute pe baza estimatorilor 193

Introducere

Prestigioasa companie de cercetare de piață în domenii industriale Markets and Markets estima într-un raport comprehensiv din octombrie 2013 (Markets and Markets, 2013) că piața sistemelor LiDAR, evaluată curent la aproximativ $220 milioane, va atinge în 2018 o cotă de peste $550 milioane, cu o rată de creștere anuală estimată ce se apropie de 16.5%. Momentan, contribuția principală a acestei piețe este reprezentată de sistemele LiDAR aeropurtate, încă extrem de scumpe. Geoff Zeiss, fost director al programului de utilitate industrială al Autodesk și actual președinte al unei companii de consultanță de renume (Between the Poles) afirma în februarie 2014 (Zeiss, 2014) că acest lucru urmează să se schimbe drastic în perioada imediat următoare, sistemele LiDAR terestre statice și mobile vor depăși cota de piață a celor aeropurtate până în 2018. Mai mult, raportul Markets and Markets prevede posibilitatea ca echipamentele LiDAR low cost să revoluționeze întreaga industrie geospațială.

Tehnologia LiDAR a fost utilizată până acum preponderent în realizarea modelelor digitale, fie ele modele digitale ale terenului (DTM – Digital Terrain Model) sau ale suprafeței (DSM – Digital Surface Model), pentru diverse aplicații ale ramurilor ingineriei civile. Pe măsură ce precizia de poziționare cu ajutorul acestor sisteme a crescut, aplicațiile s-au orientat și către domeniile inginerești de poziționare și estimare la nivel local (e.g. arheologie, telecomunicații, inginerie aerospațială).

Prezenta lucrare tratează posibilitățile de utilizare a sistemelor LiDAR terestre mobile în estimarea formelor plane sau pătratice pentru posibile aplicații industriale. Lucrarea continuă oarecum eforturile depuse în cadrul lucrării de licență realizate la Universitatea Leibniz din Hannovra – Geodatische Institut Hannover prin programul Erasmus (Olteanu, 2007). În respectiva lucrare erau tratate posibilitățile de estimare a formelor prin metode robuste. Lucrarea de față își propune să preia, dezvolte și implementeze algoritmii respectivi pentru o analiză robustă a formei în cazul scanărilor dinamice și statice cu scopul de a sublinia rezultatele bune ale acestora dar și alte avantaje aduse de tehnologiile cinematice.

Având în vedere tematica lucrării, în cazul comparării estimărilor obținute pe baza norilor de puncte extrași din scanări cinematice cu estimări similare obținute din scanări statice, este important ca observațiile alese să aparțină formei respective, iar impactul observațiilor greșite sau pârghie existente în norul de puncte să fie minimizat. Aceasta a dus la concluzia clară că este necesară abordarea robustă în estimarea formelor.

Lucrarea este împărțită în șapte capitole, inclusiv unul introductiv și unul ce sintetizează rezultatele și concluziile lucrării. Celelalte capitole sunt destinate prezentării atât a noțiunilor teoretice cât și a studiului de caz ce demonstrează aplicabilitatea elementelor dezvoltate.

Al doilea capitol sintetizează istoricul dezvoltărilor tehnologice ce au condus la realizarea sistemelor mobile de scanare terestră astfel cum sunt ele cunoscute în prezent, precum și a noțiunilor importante ce se referă la sistemele de coordonate utilizate în navigație sau cinematica mișcării. Tot aici sunt incluse o serie de elemente de bază referitoare la metodele de estimare secvențială atât de utilizate în poziționarea cinematică.

Pentru a putea înțelege limitările din domeniu, rezultatele obținute până în prezent precum și posibilitățile de dezvoltare ulterioară, este obligatorie realizarea unui studiu în acest sens care să prezinte situația acestora la nivel național și internațional. De aceea, capitolul al treilea analizează o mare parte a sistemelor existente dezvoltate de institute de cercetare, universități sau companii comerciale, precum și aplicațiile în care acestea au fost utilizate. Acest studiu arată că sistemele mobile terestre se află încă pe o pantă ascendentă din punct de vedere tehnologic, și că problema majoră este cea a prelucrării volumelor imense date obținute cu ajutorul acestor tehnologii. De asemenea, un alt impediment al acestor sisteme este costul de achiziție; motiv pentru care și distribuția la nivel național este limitată.

Arhitectura de realizare a unui sistem mobil terestru de scanare implică utilizarea mai multor tipuri de senzori (e.g. inerțiali, GNSS) ce sunt cuplați în sisteme de navigație complexe cu scopul de a obține traiectorii precise ale platformelor purtătoare. Acești senzori sunt descriși pe larg în capitolul patru, împreună cu principiile de funcționare și, acolo unde au fost disponibile informații, împreună cu preciziile de poziționare asigurate. Tot aici sunt tratate și metodele de cuplare între senzori precum și câteva aspecte ce țin de sincronizarea componentelor unui sistem mobil de scanare.

Capitolul cinci descrie în detaliu o serie de metode de estimare utilizate în determinarea parametrilor formelor plane și pătratice. Sunt abordate aici metodele de estimare nerobuste precum și cele robuste (estimatorii M, estimatorii de tip Lp-Norm, estimatorii cu punct de cedare ridicat sau estimatorii cu influență limitată), analizând modalitățile de implementare și funcțiile lor de scop, influență și reponderare. Tot în acest capitol sunt tratate mijloacele de identificare a cuadricelor (formelor pătratice) în spațiul cu 2 sau 3 dimensiuni.

Capitolul șase reprezintă studiul de caz al lucrării în care este prezentată interfața MIRUNA creată în mediul de dezvoltare MATLAB® pentru estimarea formelor plane și pătratice pe baza observațiilor obținute din scanări terestre, fie ele mobile sau statice. Pentru a demonstra funcționalitatea platformei sunt prezentate rezultatele oferite de estimatorii implementați cu ajutorul unor funcții de simulare a datelor, de asemenea dezvoltate în MATLAB®. Aceste date pot fi generate automat în funcție de necesitățile și solicitările utilizatorului. Totodată, utilizatorul poate solicita introducerea unor valori extreme în setul de date pentru a simula greșelile de extragere a datelor.

După o analiză detaliată a rezultatelor obținute pe baza simulărilor, partea a doua a capitolului urmărește o analiză concretă a rezultatelor folosind interfața creată pe baza unor scanări statice și cinematice realizate în aceleași zone de test. Au fost astfel prezentate zonele de testare, seturile de date obținute, modul de extragere a informațiilor și rezultatele obținute în urma analizei formelor.

Ultimul capitol sintetizează și analizează rezultatele obținute și prezintă concluziile ce se pot trage din studiul realizat. Tot aici sunt subliniate contribuțiile aduse de lucrare în cazul acestor tehnologii, precum și viitoarele direcții de cercetare ce pot fi urmate pentru a dezvolta domeniul studiat.

Noțiuni generale

Scurt istoric al dezvoltării sistemelor de scanare

Tehnologiile de scanare se bazează pe sistemele de detecție și localizare RaDAR/LiDAR (Radio Detection And Ranging / Light Detection and Ranging), ce permit determinarea distanțelor, orientării și vitezei de deplasare relative a obiectelor fixe sau aflate în mișcare cu ajutorul undelor electromagnetice.

Baza tehnologiilor RaDAR a fost pusă de Christian Hulsmeyer pe baza descoperirilor lui Heinrich Hertz privind reflexia undelor electromagnetice de pe obiecte metalice. Hulsmeyer a dezvoltat Telemobiloskop-ul, instrument ce nu putea măsura direct distanța până la un anumit obiect, însă putea detecta prezența obiectelor metalice pe anumite direcții (Hulsmeyer, 1904). În perioada interbelică, mai exact în intervalul 1934-1939, marile puteri ale momentului (Marea Britanie, Germania, US, URSS, Japonia, Olanda, Franța și Italia) au dezvoltat în secret, independent și în paralel sistemele radar ce se apropie de conceptul modern de localizare.

Pasul următor în domeniu a fost realizat de Charles Hard Townes în 1953 prin realizarea primului dispozitiv de amplificare a microundelor prin emisia stimulată a radiației MASER (microwave amplification of stimulated emission of electromagnetic radiation). Ulterior, în 1957, Gordon Gould menționează pentru prima oară într-un manuscris personal acronimul LASER și descrie elementele esențiale necesare construirii acestuia. În 1959 C. Townes și Arthur Schawlow obțin un brevet pentru realizarea primului maser optic iar Gould publică pentru prima oară termenul LASER în cadrul unei conferințe (Gordon, 1959).

În anii ’60, combinând proprietatea de divergență mică a laserului și principiile de localizare radar, National Center for Atmospheric Research utilizează pentru prima dată echipamente LiDAR în meteorologie (Wikipedia, 2014). La nivel spațial, tehnologia a fost utilizată apoi în 1971 în cadrul misiunii Apollo 15 pentru cartografierea suprafeței Lunii cu ajutorul unui altimetru LiDAR.

A urmat o perioadă de timp (aproape o decadă) în care dezvoltarea tehnologică a sistemelor LiDAR s-a aflat în impas, în sensul în care au fost identificate doar diverse domenii în care acesta putea fi utilizat (e.g. monitorizarea ghețarilor, oceanografie, studiul atmosferei), însă lipsa unei soluții de georeferențiere a observațiilor colectate a condus la lipsa obținerii unui nou produs tehnologic.

Trebuie totuși menționat că sistemele LiDAR terestre au fost însă utilizate extensiv în mod static, în special în aplicații de modelare a fațadelor clădirilor sau a obiectelor de arhitectură, în generarea modelelor digitale, în geologie, construcții sau aplicații industriale. Ele au înlocuit cu succes stațiile totale în aplicații în care era necesară colectarea unui volum mare de observații rapid și cu precizie ridicată. Din aceste motive, companii precum Leica, Riegl sau Z+F au comercializat la scară largă astfel de echipamente.

Pe măsură ce sistemele satelitare de navigație (GNSS – Global Navigation Satellite Systems) au fost dezvoltate și utilizate din ce în ce mai mult de sectorul civil, iar sistemele inerțiale de navigație au devenit disponibile ca urmare a declasificării informațiilor militare de ghidare a proiectilelor, soluțiile de navigație complexe bazate pe fuziunea acestor senzori au căpătat un rol important în dezvoltarea sistemelor LiDAR mobile.

Următoarele paragrafe descriu pe scurt dezvoltările sistemelor GNSS și ale sistemelor inerțiale, deși ele vor fi tratate mai apoi pe larg în celelalte capitole ale lucrării, cu scopul de a crea o viziune de ansamblu a elementelor ce au condus la realizarea sistemelor LiDAR terestre mobile în forma complexă în care sunt cunoscute astăzi.

Dezvoltarea sistemelor de radionavigație prin satelit

În anii `60, anumite organizații guvernamentale ale Statelor Unite au pus bazele dezvoltării unui sistem satelitar de poziționare și navigație tridimensionale, sistem ce urma să aibă următoarele atribute: acoperire globală, operaționalitate continuă independentă de vreme și precizii ridicate în poziționare. Inițial, a fost dezvoltat de către APL (Applied Physics Laboratory din Universitatea John Hopkins) sistemul TRANSIT ce a devenit operațional în 1964, dar care avea anumite limitări în special în ceea ce ținea de continuitate și precizie, în sensul că un operator obținea o determinare a poziției o dată la aproximativ 100 de minute cu o precizie de aproximativ 25m, iar în rest poziția sa era interpolată sau determinată prin instrumente dead-reckoning (Groves, 2008). Acest fapt a condus la posibilitatea utilizării sistemului doar în cazul unor platforme ce aveau schimbări lente de poziție. În același timp, Naval Research Laboratory din Wasington D.C. a dezvoltat și testat un sistem satelitar (TIMATION) ce avea rolul de a transmite o referință temporală pentru a fi utilizată în poziționări.

Pentru a rezolva deficitul acestui sistem, în 1973 Joint Program Office (JPO) din cadrul U.S. Air Force a fost încredințat de către DOD (Department of Defense) să realizeze, testeze și lanseze un sistem de poziționare satelitar – actualul NAVSTAR GPS (NAVigation System with Timing And Ranging – Global Positioning System) (Hofmann-Wellenhof, Lichtenegger, & Collins, 2001). Acesta a fost conceput ca un sistem de poziționare ce se bazează pe determinarea distanțelor de la poziții cunoscute ale sateliților la poziții necunoscute ale obiectelor de pe suprafața pământului sau deasupra acestuia și avea ca obiective, pe lângă poziționarea punctuală (point positioning), și determinarea poziției și vitezei instantanee a unui vehicul (navigație) și diseminarea unui standard de timp precis (timing). Odată cu intrarea în operațiune a GPS, sistemul TRANSIT a fost scos din uz. Fiind un sistem dezvoltat de DOD al US, sistemul NAVSTAR GPS a fost inițial conceput ca un sistem militar, însă începând cu mai 2000 acesta a devenit utilizat la scară largă și de către sectorul civil.

În paralel cu TRANSIT, Rusia a dezvoltat și operat în aceeași perioadă un sistem similar denumit TSIKADA, de asemenea înlocuit ulterior cu un sistem care să asigure poziționare continuă globală – GLONASS (GLObalnaya NAvigatsionnaya Sputnikovaya Sistema). Ca și GPS, GLONASS a fost conceput ca un sistem militar însă în ultima perioadă s-a orientat și pe aplicabilitatea în sectorul civil.

Uniunea Europeană a decis în 1999 să dezvolte propriul sistem de radionavigație prin satelit cu destinație exclusiv civilă (Council of the European Union, 1999). După o perioadă de impedimente financiare și controverse geopolitice, statele membre ale Uniunii Europene au decis continuarea programului și astfel UE și Agenția Spațială Europeană (ESA) au agreat finanțarea Galileo, program ce a încheiat de curând faza IOV având primii 4 sateliți operaționali lansați. Următorii sateliți urmează să fie lansați în cursul anului 2014, în lunile august și noiembrie/decembrie.

Republica Populară Chineză a decis să dezvolte un sistem global de poziționare și a lansat până în prezent primii 16 sateliți, asigurând momentan servicii regionale în zona Chinei.

Trebuie menționat că pe lângă aceste sisteme satelitare globale, există și o serie de sisteme satelitare de augmentare (SBAS – Satellite Based Augmentation Systems) ce au pe de-o parte rolul de a îmbunătăți precizia de poziționare în timp real obținută pe baza sistemelor de radionavigație prin satelit, și pe de altă parte să ofere informații privind integritatea sistemelor, opțiune ce face posibilă utilizarea acestor sisteme în aplicații de tip Safety of Life (i.e. aviație).

Dezvoltarea sistemelor inerțiale de navigație

Se poate spune că un prim pas în realizarea sistemelor de navigație inerțiale a fost făcut de Foucault în 1851 prin abilitatea de a măsura inerțial rotația Pământului, fizicianul francez fiind totodată cel ce introduce denumirea de giroscop (Wrigley, 1977).

La începutul secolului 20 a fost dezvoltat primul instrument capabil să genereze o direcție de referință – girocompasul. În 1908, profesorul Maximilian Schuler pune bazele unui instrument capabil să mențină o direcție verticală insenzitivă la accelerații ale platformei purtătoare. Această tehnică a fost denumită ulterior de Dr. Walter Wrigley (MIT) reglajul Schuler (Titterton & Wetson, 2004). Girocompasul a fost îmbunătățit ulterior de Elmer Sperry, fapt ce a condus la comercializarea și utilizarea la scară largă a acestuia (e.g. cargourile ce transportau fier pe Marile Lacuri) (Wrigley, 1977).

Al doilea război mondial a condus la creșterea ritmului de dezvoltare din domeniu, cercetătorii germani utilizând sistemele inerțiale la ghidarea rachetelor V2, acestea fiind capabile de ghidare mult mai precisă pe baza unui mecanism de feedback al sistemelor alcătuite din giroscoape cu două grade de libertate și un accelerometru, devenind astfel independente de controlul de la sol.

În perioada imediat următoare războiului au fost dezvoltate sisteme mult mai stabile și mai precise pentru aplicații aeronautice sau maritime, stabilitatea senzorilor fiind diminuată (pentru giroscoape) de la 15 pe oră la mai puțin de 0.01 pe oră. Statele Unite ale Americii au devenit lideri în acest domeniu, prin experiența și eforturile depuse de către Werner von Braun și grupul de la Peenemunde precum și de laboratorul de la MIT condus de prof. Charles Stark Draper.

Anii ’50 au adus fabricarea primului sistem inerțial de navigație cu platformă stabilizată și primul zbor ce traversează Statele Unite realizat doar pe baza instrumentelor inerțiale. În data de 3 august submarinul USS Nautilus a traversat pe sub gheață Polul Nord cu ajutorul sistemului inerțial N6A-1 dezvoltat de sectorul de aviație și adaptat (Eissfeller, 2011). Începând cu 1960, instrumentele inerțiale au intrat într-o etapă de miniaturizare și de îmbunătățire a preciziei. Tot atunci a început dezvoltarea giroscopului inelar cu laser (RLG).

Începând cu anii ’70 tehnologiile inerțiale s-au orientat către instrumentele de tip strapdown, acestea fiind mult mai mici, precise, robuste și ieftine. După dezvoltarea sistemelor satelitare de radionavigație, industria s-a orientat către cuplarea GNSS-INS ca soluție principală de navigație având în vedere complementaritatea celor două sisteme. În prezent încă există un interes susținut în dezvoltarea acestor tipuri de arhitecturi, soluțiile de integrare devenind pe parcursul timpului din ce în ce mai complexe și mai precise. (vezi capitolul IV.4.2).

Figura II-1 – Submarinul USS Nautilus (SSN-571) și raportul de navigație realizat la trecerea prin Polul Nord (Sursa: Wikipedia, 2014)

Dacă până la sfârșitul Războiului Rece (începutul anilor ‘90) dezvoltarea acestor sisteme a fost, în general, condusă de partea militară, trebuie avut în vedere că după această perioadă evoluția sistemelor a fost dictată atât de nevoile sectorului militar dar și de cele ale sectorului civil.

În prezent, tendințele de dezvoltare în domeniu se orientează către dezvoltarea componentelor micro-electromecanice (MEMS) sau micro-opto-electromecanice (MOEMS), sisteme ce au atins performanțe uluitoare din punct de vedere al stabilității și acurateței dar mai ales al dimensiunilor. De asemenea, există cercetări susținute în domeniu ce se bazează pe interferometrie cu atomi reci cu scopul de a obține performanțe ridicate.

Având în vedere piața extrem de largă și trendul ascendent al acesteia în ceea ce privește tehnologiile MEMS (se estimează o piață de peste $22 miliarde până în 2018, aceasta atingând momentan $12 miliarde conform unui articol al EETimes publicat în noiembrie 2013), mai mult ca sigur că atât industria cât și mediul academic se vor orienta pe dezvoltarea aplicațiilor bazate pe acest tip de echipamente.

Principii elementare ale sistemelor LiDAR

Scanarea laser reprezintă o metodă de colectare a unor informații geometrice care să conducă ulterior la posibilitatea de estimare a formei sau poziției unor obiecte, a terenului sau a mediului înconjurător în general. Datele colectate pot fi ulterior folosite pentru a realiza modele digitale tridimensionale ale obiectivului scanat. Tehnologiile de scanare terestră reprezintă subiectul unor dezvoltări uluitoare în ultimele două decenii, devenind, fără echivoc, una dintre cele mai importante modalități de colectare a datelor geospațiale.

Aplicațiile acestora variază de la simple modelări ale obiectelor de dimensiuni mai mari sau mai mici până la studii mai complexe privind deformațiile sau realizarea modelelor digitale ale terenului sau ale suprafeței pentru zone întinse. Rezultatul scanării este reprezentat, de regulă, de un set discret de puncte aparținând obiectivului scanat, puncte a căror poziție este raportată la centrul instrumentului și determinată prin metoda coordonatelor polare. Setul de puncte rezultat în urma scanării este cunoscut în literatura de specialitate ca „nor de puncte” („point cloud”). Însăși această denumire sugerează densitatea informațiilor ce sunt folosite pentru a modela obiectivul, acesta fiind, de altfel, principalul avantaj al acestor instrumente.

Figura II-2 – Metoda „impuls-ecou” de determinare a distanței (redesenat după Petrie & Toth, 2009)

Principiul sistemelor de scanare se bazează pe tehnologiile LIDAR, ce permit determinarea distanțelor, orientării și vitezei de deplasare a obiectelor fixe sau aflate în mișcare cu ajutorul undelor electromagnetice.

Există în principiu două modalități de determinare a distanței:

Prima metodă, cunoscută în literatura de specialitate sub numele de „impuls-ecou”, constă în emiterea unui impuls scurt, dar intens de radiație laser, și determinarea timpului de zbor al acestuia („time of flight” – TOF). Astfel, instrumentul măsoară precis timpul de propagare scurs de la emiterea impulsului până la primirea răspunsului său urmare a reflexiei pe obiectul scanat (Figura II-2 – Metoda „impuls-ecou” de determinare a distanței)

Astfel, se poate estima distanța dintre scanner și obiect ca fiind egală cu :

(1)

Prin diferențierea relației precedente se obține:

(2)

Având în vedere că viteza luminii este cunoscută și suficient de bine determinată pentru medii pentru care se cunosc temperatura, presiunea și umiditatea, în practică, precizia de determinare a distanței de la instrument la obiect va depinde doar de precizia de determinare a timpului de propagare.

Metoda alternativă constă în emiterea continuă a unui fascicul de radiație laser, în locul unui impuls. Determinarea distanței în acest caz se face prin compararea caracterului sinusoidal al undei transmise și al celei receptate, distanța rezultând pe baza diferențelor de fază. Întrucât undele utilizate au lungimi de undă foarte mici (0,5 – 1 m), acestea sunt modulate cu ajutorul unui semnal cu o lungime de undă mai mare ce va fi suprapus peste unda inițială (în general modulație de amplitudine). Diferența de fază (măsurătoarea) nu oferă decât partea fracționară din lungimea de undă (), numărul întreg de lungimi de undă (M) dintre scanner și obiect rămânând necunoscut (vezi figura Figura II-3 – Determinarea distanței prin măsurarea diferenței de fază). Pentru a elimina acest inconvenient, instrumentul poate schimba structura semnalului modelator, și estima astfel acest parametru (Petrie & Toth, 2009). Distanța finală va fi determinată apoi cu:

(3)

A doua metodă este utilizată cu precădere pentru instrumentele de scanare terestră, unde distanțele sunt mai mici în timp ce pentru scanarea aeropurtată este utilizată prima metodă, motivul fiind reprezentat de consumul de energie.

Figura II-3 – Determinarea distanței prin măsurarea diferenței de fază (redesenat după Petrie & Toth, 2009)

Cele două metode prezentate mai sus prezintă doar determinarea distanței dintre instrument și punctul scanat. Pentru a putea obține poziția acestuia într-un sistem de coordonate tridimensional sunt necesare două unghiuri. Scannerele terestre, ce fac obiectul prezentei lucrări, au incorporate un sistem de deviere a undei emise pe anumite direcții precis determinate. De regulă, acest sistem este reprezentat de o oglindă sau o prismă pentagonală ce este rotită cu viteze foarte ridicate în plan vertical. În acest mod, sistemul de scanare realizează un profil vertical cu o densitate foarte ridicată de puncte.

Pentru unghiul orizontal, instrumentele folosesc un servomotor ce rotește întregul instrument în plan orizontal. (vezi Figura II-4 – Reprezentare schematică a modului de scanare pentru cazul în care instrumentul este fix).

În funcție de modul în care se execută scanarea, sistemele de scanare terestră se pot clasifica în:

Sisteme de scanare terestră statice – în care instrumentul rămâne fix pe durata sesiunii de lucru

Sisteme de scanare terestră mobile – în care instrumentul este amplasat pe o platformă mobilă (mașină, tren, barcă, etc.) și utilizat în mișcare

Diferențele dintre cele două tehnologii sunt substanțiale atât din punct de vedere al modului în care se efectuează scanarea dar și din punct de vedere al tehnologiilor utilizate. Diferența majoră o constituie modul de referențiere a datelor spațiale colectate. După cum menționam mai sus, coordonatele carteziene ale punctelor colectate sunt determinate polar și raportate la un sistem de coordonate propriu al scannerului (de regulă având originea în centrul de fază al sistemului).

Figura II-4 – Reprezentare schematică a modului de scanare pentru cazul în care instrumentul este fix (redesenat după Petrie & Toth, 2009)

Pentru a putea raporta norul de puncte la un anumit sistem de coordonate, în cazul scanărilor terestre fixe, se amplasează în spațiul obiect ținte reflectorizante speciale de diferite forme a căror poziție este determinată în prealabil cu precizie în sistemul de referință ales. Ulterior, în cadrul etapei de post-procesare a datelor, norul de puncte este transcalculat în sistemul solicitat.

În ceea ce privește scanarea terestră mobilă, georeferențierea norului de puncte obținut este un procedeu mult mai complicat, întrucât poziția centrului de fază al scannerului, și implicit a originii sistemului de coordonate propriu instrumentului, variază în timp. De aceea, un prim pas pentru a putea rezolva această problemă îl constituie determinarea traiectoriei pe care o parcurge instrumentul. Aceasta se realizează prin adăugarea unui sistem de navigație bazat pe tehnologii satelitare sau inerțiale la care se adaugă alți senzori capabili să îmbunătățească determinarea traiectoriei. (e.g. senzori DMI). Sistemul de navigație trebuie sincronizat cu sistemul de scanare pentru a putea corela ulterior momentul măsurării distanțelor către punctele din spațiul obiect și poziția scannerului la acel moment. Fiecare punct va primi astfel o marcă de timp ce va fi folosită în procesul de generare a datelor în post-procesare.

Nu trebuie făcută confuzia între scanarea terestră mobilă, în cadrul căreia scanarea are loc continuu în timpul mișcării platformei purtătoare, și scanarea statică de pe platforme purtătoare mobile.

Sisteme de coordonate carteziene utilizate în navigație

Pentru a putea prezenta metodele de determinare a traiectoriei pe baza sistemelor de navigație inerțiale și satelitare se consideră necesară o prezentare preliminară a principalelor sisteme de coordonate utilizate în acest domeniu.

Figura II-5 – Sisteme de coordonate utilizate în navigație

În problemele mecanicii clasice, mișcarea corpurilor se raportează la Pământ, considerând Pământul ca fiind un sistem inerțial, ignorând rotația sa. Pentru navigație, în special pe cea bazată pe tehnologii satelitare, această metodă nu poate fi folosită, rotația Pământului având un impact major asupra ecuațiilor de mișcare (Groves, 2008).

Un sistem de coordonate permite poziționarea și orientarea unui obiect prin definirea unei origini și a unui set de axe la care acestea se raportează. Majoritatea sistemelor de coordonate sunt sisteme de coordonate carteziene.

O problemă majoră în lucrările din domeniu îl reprezintă notațiile, ce pot deveni foarte confuze în lipsa unei standardizări.

Sistem de coordonate cvasi-inerțial geocentric (ECI – Earth Centered Inerital Frame)

Un sistem de coordonate inerțial este, conform legilor lui Newton, un sistem ce nu accelerează sau se rotește în raport cu Universul. În navigație este folosit cu precădere un sistem de coordonate ce are originea în centrul de masă al Pământului și axele dispuse fix în raport cu stelele. Acest sistem nu este un sistem inerțial în sensul definiției prezentate anterior, întrucât Pământul are o mișcare de revoluție în jurul Soarelui, însă este suficient de precisă aproximarea pentru a-l considera inerțial (Sanz Subirana, Juan Zornoza, & Hernandez-Pajares, 2011). Pentru a face totuși deosebirea, numele sub care acesta este cunoscut este sistem de coordonate cvasi-inerțial geocentric.

După cum se poate observa în Figura II-5 – Sisteme de coordonate utilizate în navigație axa Z a acestui sistem este coincidentă cu direcția Polului Convențional Terestru, iar axele X și Y se află în planul Ecuatorului, axa X aflându-se pe direcția punctului vernal iar axa Y completând sistemul tridimensional de mână dreaptă.

Pentru raportarea la acest sistem, notația folosită în această lucrare este i.

Sistem de coordonate neinerțial geocentric (Earth Centered Earth Fixed Frame)

Sistemul de coordonate neinerțial geocentric este similar cu sistemul de coordonate ECEF, cu deosebirea că axele X și Y sunt definite în acest caz în raport cu puncte fixe de pe Pământ, axa X aflându-se pe direcția meridianului de referință. Se poate spune că sistemul ECEF se rotește permanent în raport cu sistemul ECI, în jurul axei Z.

În prezenta lucrare, pentru raporterea la acest sistem de coordonate se va folosi indicele e.

Sistemul de coordonate ECEF prezintă un larg interes în domeniul navigației, întrucât utilizatorul dorește să știe poziția sa sau a vehiculului monitorizat în raport cu Pământul, și de aceea acest sistem de coordonate va fi folosit cu precădere ca sistem de coordonate în care se rezolvă ecuațiile de navigație (Groves, 2008).

Sistem de coordonate local

Sistemul de coordonate local va fi notat în această lucrare cu n (navigation). Originea sa se află în punctul în care se dorește exprimarea soluției de navigație (la utilizator, în centrul de masă al vehiculului, etc.).

De regulă pentru acest sistem axa z este îndreptată pe direcția normalei la suprafața elipsoidului de referință. Pentru modele simple se poate considera că vectorul gravității corespunde cu această direcție, însă pentru modele mai complexe este necesar să fie luate în considerație în acest caz și unghiurile de deviație ale verticalei. Axa x este orientată spre direcția Polului Nord iar axa y spre direcția Est. De aceea acest sistem mai apare în literatura de specialitate și sub denumirea de NED (North – East – Down).

Sistemul de coordonate local este important întrucât, în anumite cazuri, utilizatorul este interesat de poziția sa în raport cu aceste axe așa cum sunt ele definite de către sistemul NED. De regulă, acest sistem este utilizat pentru calculul vitezei, orientării și poziției dar nu este utilizat ca referință.

Un dezavantaj al acestui sistem de coordonate constă în imposibilitatea de a defini sistemul în zona Polului Nord și a Polului Sud, unde axele N și E nu pot fi descrise (Groves, 2008).

Sistem de coordonate al vehiculului

Sistemul de coordonate al vehiculului, cunoscut și sub denumirea de sistem de coordonate al corpului, are originea, de regulă, coincidentă cu sistemul de coordonate local și axele definite pe baza unor direcții fixe în raport cu vehiculul. De regulă axa x este coincidentă cu direcția în care are loc mișcarea, axa z este dată de direcția gravității iar axa y completează setul de axe ortogonale.

Întrucât în jurul acestor axe au loc și mișcările de rotație ale corpului, și anume, ruliu sau rotația în jurul direcției de mișcare, tangaj sau rotație în jurul axei transversale și girație sau rotația în jurul axei z, acest sistem este cunoscut și sub denumirea de roll (ruliu), pitch (tangaj), yaw (girație).

Acest sistem de coordonate este esențial în navigație întrucât el descrie corpul și mișcările sale. În această lucrare pentru referire la sistemul de coordonate al vehiculului se va folosi indicele b (body).

Cinematica mișcării

Acest subcapitol tratează informațiile esențiale aferente studiului mișcării în raport cu sistemele de coordonate prezentate anterior. Elementele ce descriu mișcarea sunt poziția, viteza și accelerația.

În ceea ce privește orientarea, trebuie menționat că există multiple moduri de a reprezenta orientarea unui corp în raport cu un sistem de coordonate și implicit orientarea între două sisteme de coordonate. Vom prezenta în acest subcapitol trei dintre cele mai utilizate metode de reprezentare: unghiurile Euler, matricea de rotație și reprezentarea prin cuaternioni. Parametrii asociați fiecărei metode pot fi stocați în computerul sistemului de navigație și actualizați pe măsură ce vehiculul se rotește pe baza măsurătorilor provenite de la giroscoape.

Poziția în sistemele de coordonate carteziene

Principial vom prezenta aici poziția unui sistem de coordonate , în speță a originii acestuia, față de un alt sistem de coordonate , raportată la un al treilea sistem . În cazul sistemelor de coordonate carteziene aceasta o vom nota cu și va fi egală cu distanța Euclidiană dintre originile sistemelor de coordonate raportată la sistemul .

Figura II-6 – Exprimarea poziției sistemelor de coordonate (redesenat după Groves, 2008)

Unghiuri Euler

Unghiurile Euler reprezintă cea mai intuitivă metodă de a descrie orientarea unui sistem de coordonate al vehiculului în raport cu sistemul de coordonate local. În acest caz orientarea este reprezentată printr-o succesiune de trei rotații denumite pe baza celor prezentate în capitolul II.3.4 ruliu (), tangaj () și girație (). O reprezentare grafică a acestor unghiuri poate fi văzută în figura de mai jos.

Figura II-7 – Reprezentare grafică a unghiurilor Euler

Vectorul celor trei rotații poate fi scris sub forma:

(4)

Trebuie observat că cele trei rotații se scriu în ordinea inversă aplicării lor. Succesiunea celor trei rotații are importanță, o altă ordine a aplicării rotațiilor conducând la un alt rezultat.

Ca urmare, pentru a inversa mișcarea de rotație nu se schimbă doar semnul unghiurilor de rotație ci se inversează și ordinea de aplicare a acestora sau se aplică o altă transformare pentru a aduce vehiculul la orientarea inițială.

(5)

Deși reprezintă cea mai intuitivă modalitate de a reprezenta poziția reciprocă a două sisteme de coordonate, metoda unghiurilor Euler nu este utilizabilă în navigație întrucât prezintă o singularitate pentru valori ale tangajului de 90° unde ruliul și girația nu mai pot fi deosebite (Groves, 2008).

Matricea de rotație

Matricea de rotație este o matrice pătratică cu 3 linii și 3 coloane ce este utilizată pentru a transforma un vector de poziție dintr-un sistem de coordonate în altul. Matricea de rotație se notează cu în care indicele reprezintă sistemul de coordonate din care se transformă iar exponentul reprezintă sistemul de coordonate în care se transformă.

Astfel, pentru a transforma un vector de poziție exprimat în sistem de coordonate al vehiculului în sistem de coordonate local se va putea scrie:

(6)

Pentru rotațiile simple date de unghiurile Euler, matricele de rotație vor avea forma:

(7)

Matricea generală de rotație va fi dată de produsul celor trei matrice de rotație simple, luate în ordine inversă, după cum a fost menționat în paragraful precedent:

(8)

Forma generală a matricei pe baza unghiurilor Euler va avea forma:

(9)

Transformarea inversă va fi definită de matricea transpusă:

(10)

Pentru unghiuri mici, pentru care se poate considera că valoarea cosinusului este egală cu unitatea și valoarea sinusului este egală cu unghiul în sine (în radiani), matricea de rotație va avea forma:

(11)

Prin trecere la limită, se poate arăta că rata de variație a matricei de rotație se poate determina pe baza matricei de rotație și a unei matrice antisimetrice la rândul său determinate pe baza vectorului:

(12)

, ce conține vitezele de rotație ale sistemului de coordonate al vehiculului în raport cu sistemul de coordonate local exprimat în sistem de coordonate al vehiculului.

(13)

Astfel, rata de variație a în raport cu timpul se poate scrie:

(14)

O astfel de ecuație poate fi rezolvată de microprocesorul sistemului pentru a calcula orientarea vehiculului în raport cu un anumit sistem de coordonate.

Cuaternioni

Reprezentarea orientării sistemului de coordonate al vehiculului față de un sistem de coordonate de referință pe baza cuaternionilor pleacă de la ideea că trecerea de la sistem la celălalt poate fi făcută pe baza unei singure rotații în jurul unei direcții fixe u definite în raport cu sistemul de coordonate de referință (Titterton & Wetson, 2004).

Figura II-8 – Interpretare grafică a cuaternionilor

Cuaternionul, notat în continuare cu q, este un vector de 4 elemente ce se calculează pe baza componentelor vectorului în spațiul de coordonate de referință și pe baza magnitudinii rotației , astfel:

(15)

, unde , și sunt unghiurile pe care vectorul u le face cu axele sistemului de coordonate de referință. (vezi figura de mai sus).

Un cuaternion având componentele a, b, c și d poate fi exprimat matematic și ca un număr complex cu trei părți imaginare astfel:

(16)

Produsul a doi cuaternioni va putea fi apoi calculat ținând cont de relațiile dintre numere complexe, astfel:

(17)

Cuaternionul este o reprezentare simplificată din punct de vedere matematic a orientării dintre două sisteme de coordonate, fapt ce îl propulsează pe primul loc din punct de vedere al eficienței de calcul. Implementarea în algoritmi de calcul este de asemenea facilă, oferind calcule simple. Cu toate acestea, metoda este mult mai puțin intuitivă decât celelalte reprezentări, ceea ce face ca urmărirea ecuațiilor de navigație să fie relativ dificilă. Din această cauză, în cele ce urmează vom prezenta doar utilizarea cuaternionilor în transformarea unui vector de poziție exprimat într-un sistem de coordonate (b) în alt sistem de coordonate (n).

Ca și în cazul matricelor de rotație, se poate arăta că un vector de poziție definit în raport cu sistemul vehiculului b, poate fi expirmat în funcție de sistemul de referință n pe baza relației:

(18)

Prin comparație cu relația (6), se poate observa că matricea C este echivalentă matricei generale de rotație dată de (9), cu mențiunea că, în acest caz, matricea rezultată în urma calculului bazat pe cuaternioni va avea forma:

(19)

Viteza și accelerația

Viteza este definită ca rata de schimbare a poziției unui corp sau, discutând în termeni de sisteme de coordonate utilizate în navigație, reprezintă rata de schimbare a originii sistemului de coordonate al vehiculului în raport cu un alt sistem de coordonate. De menționat însă că viteza poate fi estimată într-un sistem terțiar. În acest sens, viteza sistemului  în raport cu sistemul de referință , raportat la sistemul  este definită pe baza matricei de rotație (indiferent de modalitatea de exprimare a poziției ) ca fiind:

(20)

Trebuie subliniat că în cazul navigației viteza nu este direct egală cu derivata vectorului de poziție în raport cu timpul. Acest lucru se întâmplă cu condiția să nu existe mișcare de rotație a sistemului de coordonate la care se raportează calculul în raport cu sistemul de coordonate de referință, după cum se poate obserba mai jos.

(21)

Similar, accelerația este definită ca derivata a doua în raport cu timpul a poziției originii unui sistem de coordonate în raport cu axele și originea unui alt sistem. Astfel, accelerația sistemului  în raport cu sistemul de referință , raportat la sistemul  este definită ca fiind:

(22)

Similar, trebuie menționat că accelerația în acest caz nu este egală direct cu derivata vitezei în raport cu timpul sau cu derivata a doua a poziției, decât în cazul în care nu există rotații ale sistemului la care se raportează mișcarea. Astfel:

(23)

(24)

Ținând cont de relațiile (14), (18) și (21) se obține pentru derivata a doua a poziției dintre sistemul  în raport cu , rezolvată în raport cu :

(25)

Astfel, mișcarea unui obiect, exprimată în raport cu axele unui sistem de coordonate aflat în rotație, cum este sistemul de coordonate local, depinde nu doar de forța aplicată, dar și de forța centrifugă (primul termen al relației anterioare) și de forța Coriolis (al doilea termen al relației anterioare)

Ca și în cazul vitezelor, accelerațiile se pot exprima în raport cu alt sistem de coordonate prin aplicarea matricelor de rotație aferente.

Metode de estimare secvențială a observațiilor. Filtrul Kalman

Generalități

Filtrul Kalman este un algoritm de estimare recursiv dezvoltat de matematicianul american de origine ungară R.E. Kalman (Kalman, 1960) și îmbunătățit sau adaptat ulterior de mulți alți autori. Acesta poate fi utilizat pentru a menține în timp real estimări asupra parametrilor unui sistem ce se schimbă în timp, așa cum sunt în cazul nostru poziția, viteza, accelerația, pe baza unor măsurători afectate de erori. Spre deosebire de metodele recursive clasice, filtrul Kalman transmite (propagă) de la o iterație la alta și informații referitoare la preciziile de determinare ale parametrilor de stare, pe lângă parametrii în sine. Filtrul operează recursiv și necesită valori inițiale pentru parametrii estimați și pentru matricea de varianță covarianță, însă, dacă modelul utilizat este ales optim, aceste elemente nu au un efect sensibil asupra convergenței filtrului. Filtrul Kalman va determina apoi valorile din iterația următoare ca o medie ponderată între valorile precedente (propagate în timp) și cele obținute pe baza măsurătorilor, întorcând rezultate optime în cazul în care atât măsurătorile cât și procesul sunt caracterizate de zgomot alb (Ristic, Arulampalam, & Gordon, 2004).

Aplicațiile filtrului Kalman sunt multiple și răspândite în toate domeniile: navigație telecomunicații, economie, modelare, meteorologie, etc. În domeniul navigației filtrul Kalman este utilizat în alinierea și calibrarea senzorilor inerțiali, navigația pe baza sistemelor satelitare, integrarea GNSS/INS, integrarea multiplă de senzori, etc.

Elemente de bază ale filtrului Kalman

Filtrul Kalman este alcătuit principial din 5 elemente de bază: vectorul de stare și matricea sa de varianță covarianță, modelul sistemului, vectorul măsurătorilor și matricea sa de varianță covarianță, modelul măsurătorilor și algoritmul filtrului.

Figura II-9 – Elementele filtrului Kalman (tradus și redesenat după Groves, 2008)

Vectorul de stare reprezintă setul de parametri ce descriu sistemul și pe care filtrul Kalman trebuie să îi estimeze. Fiecare parametru poate fi constant în timp sau dependent de acesta. Asociat acestor parametri se poate defini matricea lor de varianță covarianță ce va conține precizia de determinare a parametrilor estimați dar și corelațiile dintre aceștia. În cazul filtrului Kalman corelațiile sunt foarte importante întrucât ele pot fi utilizate pentru estimarea unor parametri în stări viitoare în cazul lipsei măsurătorilor.

Modelul sistemului (sau modelul procesului) descrie modul în care vectorul de stare și matricea sa de varianță covarianță se modifică în timp, pe baza proprietăților sistemului și a principiilor fizice sau geometrice.

Vectorul măsurătorilor reprezintă un set de determinări instantanee ale unor proprietăți ale sistemului urmărit, proprietăți legate funcțional de vectorul de stare. Similar vectorului de stare, asociat vectorului măsurătorilor putem defini matricea de varianță covarianță a măsurătorilor.

Modelul măsurătorilor definește modelul funcțional ce leagă măsurătorile de vectorul de stare. Ca și în cazul modelului procesului, modelul măsurătorilor este unul determinist bazat pe legi fizice și geometrice cunoscute referitoare la sistemul urmărit.

Algoritmul filtrului Kalman utilizează vectorul măsurătorilor, modelul procesului și modelul sistemului pentru a obține estimări pentru valorile cele mai probabile ale vectorului de stare.

Etapele filtrului Kalman. Analiza rațională.

Algoritmul de estimare al filtrului Kalman poate fi împărțit în două faze: faza de propagare și faza de actualizare pe baza măsurătorilor. Prima fază are rolul de a propaga în timp vectorul de stare și matricea sa de varianță covarianță de la momentul ultimei măsurători la momentul actualei măsurători. De exemplu, poziția poate fi prezisă pe baza vitezei estimate.

Cea de-a doua fază utilizează măsurătorile efectuate la momentul actual pentru a actualiza vectorul de stare și matricea sa de varianță covarianță cu scopul de a ține cont și de informațiile aduse de noile măsurători. Pentru început este calculată matricea de câștig Kalman ce este utilizată ulterior pentru a pondera influența pe care o are măsurătoarea în estimarea noului vector de stare plecând de la abaterile medii pătratice ale vectorului de stare propagat și matricea de varianță covarianță a măsurătorilor. Ulterior, vectorul de stare și matricea sa de varianță covarianță sunt actualizate pe baza măsurătorilor și a matricei de câștig Kalman. O schemă a pașilor ce trebuie parcurși într-o iterație a filtrului Kalman este prezentată mai jos.

Algoritmul de estimare al filtrului Kalman

Filtrul Kalman continuu clasic pleacă de la ipoteza că modelul sistemului poate fi descris de un set de ecuații diferențiale de forma:

(26)

, unde y este vectorul de stare, F matricea sistemului iar w vectorul de zgomot al sistemului. Trebuie menționat că w este un vector alcătuit din surse de erori independente oarecare ce au proprietatea că sunt funcții cu distribuție normală Gauss cu media nulă (zgomot alb) (Zarchan & Musoff, 2009). Deși în multe cazuri interpretarea sa fizică nu este una foarte clară, rolul său este foarte important deoarece prin intermediul său putem sa îi „transmitem” filtrului că modelul nostru pentru sistemul sau procesul urmărit, reprezentat de matricea F, nu este perfect identic cu cel real.

Pentru a putea genera modelul sistemului sau modelul procesului este necesar să se definească aceste funcții. Este important de menționat că toate elementele implicate în ecuațiile (26) pot fi constante sau variabile în raport cu timpul.

Prin aplicarea operatorului de expectanță se poate trece de la ecuațiile (26) la estimări ale vectorului de stare, ținând cont de faptul că F este o matrice cunoscută, operatorul derivare și cel de expectanță comută și că valoarea de așteptare pentru w este 0 (distribuție normală cu media zero). Astfel:

(27)

Rezolvând ecuațiile (27) se obține relația recursivă de estimare a vectorului de stare la un anumit moment în funcție de estimarea sa la un moment precedent:

(28)

, unde se numește matrice de tranziție și are rolul de a propaga vectorul de stare de la un moment la altul.

Pentru cazul filtrului Kalman discret ecuația precedentă este echivalentă cu:

(29)

, unde semnele + și – sunt folosite ca exponent pentru a arăta că vectorul de stare a fost actualizat prin efectuarea unei măsurători (+) sau că reprezintă doar o propagare în timp pe baza elementelor cunoscute (-).

Matricea de tranziție poate fi determinată pe baza matricei sistemului cu ajutorul transformării inverse Laplace sau prin dezvoltări în serie Taylor:

(30)

Pentru cazul filtrului Kalman discret, matricea de tranziție se poate evalua folosind una din relațiile (30) prin înlocuirea timpului t cu intervalul de discretizare T (Zarchan & Musoff, 2009).

(31)

Figura II-10 – Etapele algoritmului de estimare al filtrului Kalman tradus și redesenat după Groves, 2008)

Pornind de la ecuațiile (26), integrând pe intervalul (t-τ; t) și aplicând operatorul de expectanță matematică se obține relația de propagare a matricei de varianță covarianță a vectorului de stare P:

(32)

, unde Q reprezintă matricea de varianță covarianță a zgomotului sistemului:

(33)

Relațiile (29) și (32) reprezintă propagarea funcțională și stohastică a stării pe baza modelului sistemului (Stengel, 1994). O imagine sugestivă a diferenței dintre cele două propagări este prezentată în figura de mai jos.

Până în acest moment am arătat cum se propagă vectorul de stare de la o iterație la alta pe baza cunoștințelor legate de sistemul sau procesul urmărit (matricea sistemului, zgomotul sistemului și matricea sa de varianță).

Figura II-11 – Propagarea funcțională și stohastică în cadrul filtrului Kalman (redesenat după Stengel, 1994)

În a doua etapă a procesului de estimare din iterația curentă, vectorul de stare este actualizat cu informația provenită de la măsurătoarea realizată. Pentru a putea efectua această actualizare este necesar să definim modelul funcțional al măsurătorilor care arată modul în care vectorul de stare este legat de măsurători. În cadrul filtrului Kalman clasic, se presupune că vectorul măsurătorilor z este o funcție liniară dependentă de vectorul de stare la care se adaugă zgomotul măsurătorilor v care, ca și zgomotul sistemului respectă o distribuție normală Gauss cu media nulă:

(34)

Matricea H este matricea design a măsurătorilor ce este determinată pe baza legilor fizice și geometrice ce definesc sistemul. Aceasta poate fi constantă în timp sau se poate defini la fiecare moment.

După efectuarea măsurătorii, valoarea cea mai probabilă pentru vectorul de stare se va determina ca o medie ponderată între măsurătoare și vectorul de stare la iterația precedentă:

(35)

, unde Kk și Kk’ sunt funcții de ponderare ce trebuie determinate.

Înlocuind (34) în (35) obținem:

(36)

Prin aplicarea operatorului de expectanță matematică în relația precedentă obținem legătura dintre cele două constante ca fiind:

(37)

Înlocuind înapoi în relația (35) vom determina relația de actualizare a vectorului de stare pe baza vectorului de măsurători efectuate:

(38)

Pornind de la definiția matricei de varianță covarianță a vectorului de stare:

(39)

, înlocuind relația (38) în relația (39) și minimizând urma matricei de varianță covarianță (întrucât pe diagonala matricei se găsesc varianțele parametrilor din vectorul de stare) în raport cu matricea de câștig se obține relația de calcul a matricei de câștig Kalman ca fiind:

(40)

Înlocuind relația (40) în relația (39) se obține relația de actualizare a matricei de varianță covarianță a vectorului de stare pe baza măsurătorilor ca fiind:

(41)

Probleme de implementare ale filtrului Kalman

În implementările practice ale unui filtru Kalman există o serie de probleme ce trebuie analizate și rezolvate cum ar fi reglajul și stabilitatea, problemele numerice sau probleme de design ale algoritmului (Groves, 2008). În timp ce ultimele două țin de instrumentele hardware ce sunt folosite pentru a procesa filtrul și pot fi luate în considerare sau neglijate dacă se lucrează pe sisteme ce dețin resurse suficiente, prima problemă se referă la rezultatele efective oferite de aplicația implementată. Întrucât ultimele două probleme se rezolvă de regulă prin utilizarea unor artificii de programare cunoscute, cum ar fi stocarea sub forme restrânse ale matricelor rare (matricea H) sau simetrice (matricea P), etc., ele nu vor fi tratate în acest studiu.

Prima problemă însă necesită o atenție sporită. Reglajul filtrului Kalman constă în selectarea de către cel ce implementează acest filtru a valorilor matricelor de varianță covarianță pentru zgomotul sistemului (Q), a matricei de varianță covarianță a zgomotului măsurătorilor (R) și a valorilor inițiale ale matricei de varianță covarianță a vectorului de stare ().

Un parametru critic în filtrarea Kalman îl reprezintă raportul dintre și R întrucât cele două matrice sunt implicate în calcularea câștigului Kalman (K). Dacă acest raport este subevaluat, parametrul de stare va converge greu către valorile cele mai probabile. De asemenea, estimarea vectorului de stare va răspunde greu la schimbări. Un exemplu schematic este prezentat în figura Figura II-12 – Influența raportului P/R în convergența și stabilitatea filtrului. Dacă raportul P/R este supraevaluat, câștigul Kalman va avea valori foarte mari, ceea ce va oferi o pondere relativ mare pentru noua măsurătoare și va conduce în final la o instabilitate a filtrului, întrucât influența erorii măsurătorilor va avea un rol determinant în estimarea vectorului de stare. Astfel există riscul apariției unei divergențe între valoarea reală și valoarea estimată.

Figura II-12 – Influența raportului P/R în convergența și stabilitatea filtrului (după Groves, 2008)

Reglajul corect al filtrului Kalman va conduce la o estimare cea mai probabilă a vectorului de stare și la o convergență rapidă către valorile reale ale sistemului sau fenomenului observat. În majoritatea implementărilor, utilizarea specificațiilor producătorului de instrumente și a rezultatelor obținute în teste pot fi suficiente pentru a descrie matricea de varianță covarianță a zgomotului sistemului Q și valorile inițiale pentru matricea de varianță covarianță a vectorului de stare. Matricea de varianță covarianță a măsurătorilor poate fi însă destul de dificil de estimat. De aceea în majoritatea cazurilor se preferă o fixare a primelor două și variația ultimei pentru a minimiza erorile și a obține stabilitatea filtrului.

Stadiul actual la nivel național și internațional referitor la tematica abordată

Privire de ansamblu asupra dezvoltărilor din domeniu

Această parte a lucrării reprezintă un studiu detaliat ce analizează situația la nivel național și internațional în ceea ce privește echipamentele de scanare terestră mobilă existente, dezvoltate atât ca platforme modulare, în general de diverse centre de cercetare, precum și sisteme ca integrate, dezvoltate și comercializate de companii private.

Studiul prezintă sisteme mobile dezvoltate din punct de vedere al arhitecturii, al tipurilor de senzori sau de echipamente utilizate, al producătorilor acestora, dar insistă și pe descrierea aplicațiilor în care acestea au fost utilizate cu succes.

Desigur, ținând cont de perioada dificilă din punct de vedere economic pe care Europa și Statele Unite au traversat-o și întrucât astfel de sisteme reprezintă la momentul actual soluții deloc ieftine, necesitând investiții majore ale companiilor, aceste sisteme au o distribuție destul de rară la nivel internațional și extrem de rară la nivelul României. De aceea, studiul este oarecum disproporționat din punct de vedere al echipamentelor existente sau dezvoltate internațional / național.

După cum menționam în introducerea lucrării, companiile dezvoltatoare se orientează acum pe direcția echipamentelor de tip low-cost, fapt ce va conduce la o creștere exponențială a pieței în acest domeniu în următorii ani.

Sisteme terestre de scanare mobilă realizate la nivel internațional

Geomobil – Institut Cartografic de Catalunya (ICC)

Se poate spune că această platformă a fost unul dintre primii pași întreprinși în acest domeniu. Realizat de Institutul Cartografic din Catalunya în baza unui proiect de cercetare, acest sistem a fost inițial conceput ca o platformă inerțiala care să poată integra diferiți senzori pentru achiziția informațiilor cartografice (Alamus, și alții, 2004). Platforma a fost dotată inițial cu camere destinate achiziției de imagini video cu acoperire stereoscopica de aproximativ 10m la o distanță de 10m în fața automobilului. Conform unei publicații a ICC (Talaya, Alamus, Bosch, Serra, Kornus, & Baron, 2004), sistemul era alcătuit din:

Platforma fizică și sursa de alimentare

Subsistemul de orientare – compus dintr-o unitate inerțială, un instrument de măsurare a distanței (DMI – Distance Measurement Indicator) instalat pe una dintre roți, un sistem de stocare a datelor și un ansamblu de două receptoare GPS denumit GAMS (GPS Azimuth Measurement System). Primul receptor, având capabilități de a face măsurători atât asupra semnalelor L1 cât și asupra celor L2, este utilizat pentru a determina poziții și viteze, iar cel de-al doilea, doar cu capabilități L1, este utilizat pentru a îmbunătăți determinarea orientării platformei. Sistemul de poziționare a fost realizat de compania Applanix (POS LV 420)

Subsistemul de achiziție a imaginilor – compus din două camere video digitale cu acoperire stereoscopică, cu posibilitate de achiziție de imagini (prin scene freezing), un sistem de declanșare pentru preluarea imaginilor și un sistem de stocare a datelor. Sistemul de declanșare a preluării imaginilor poate fi setat să acționeze achiziția cu o anumită frecvență de timp sau la o anumită distanță parcursă.

Subsistemul de sincronizare a datelor – are scopul de a sincroniza (raportat la timpul GPS) toate observațiile provenite de la senzorii menționați mai sus. Aceasta se realizează în doi pași: inițializare, ce constă în determinarea diferenței dintre timpul intern și timpul GPS, și sincronizare propriu-zisă.

Pentru a putea realiza georeferențierea directă a imaginilor este necesar ca platforma să fie calibrată pentru a cunoaște excentricitățile și unghiurile de rotație dintre sistemele de coordonate interioare ale senzorilor si sistemul de coordonate al vehiculului. De asemenea, în această variantă inițială a sistemului, era necesar să se cunoască și parametrii geometrici ai camerelor. Această calibrare a fost realizată în două etape: calibrarea parametrilor geometrici ai camerelor și determinarea excentricităților și a matricelor de rotație dintre camere (orientare relativă) și dintre sistemul de coordonate al camerelor și sistemul de coordonate al platformei.

Prima parte a calibrării a fost realizată în laboratoarele Institutului și s-a efectuat prin amplasarea camerelor în diverse puncte cunoscute și efectuarea de măsurători către alte puncte denumite puncte de legătura. Prin compensarea în bloc a observațiilor s-au determinat parametrii geometrici.

Figura III-13 – Geomobil (imagini puse la dispoziție de Institut Cartografic de Catalunya)

Pentru partea a doua a calibrării, platforma a fost montată pe un automobil. Au fost determinate prin măsurători geodezice clasice pozițiile a 60 de puncte de control cu o precizie de 1-2 cm. S-au efectuat apoi observații atât statice cât și dinamice iar prin compensarea în bloc a măsurătorilor asupra punctelor de control s-au determinat excentricitățile (cu o abatere standard de 1-2 cm.) și unghiurile de orientare (cu o abatere standard de 120-150 secunde) (Talaya, Alamus, Bosch, Serra, Kornus, & Baron, 2004).

Începând cu anul 2003, platforma a fost îmbunătățită prin introducerea unui scaner laser de tip Riegel LMS Z-210, capabil de a măsura până la 10000 de puncte pe secundă (Riegl , 2007). Fiecare punct măsurat beneficiază de o măsurătoare de distanță și de două valori unghiulare, în cazul modului de lucru static sau o valoare unghiulară și o marcă de timp în cazul modului de lucru dinamic, o valoare a intensității și valori aferente RGB.

Ca și în cazul camerelor video, integrarea scanerului laser a impus un proces de calibrare pentru a determina translațiile și rotațiile dintre sistemul de coordonate al instrumentului si cel al vehiculului. Pentru a putea realiza o georeferențiere directă, fiecare punct scanat trebuie să beneficieze de o marcă de timp, obținută în urma sincronizării scanerului. Mai exact, timpul intern (sincronizatorul intern) al scanerului este sincronizat cu timpul GPS. Sincronizatorul intern al scanerului este reinițializat printr-un semnal extern. Astfel, un semnal modificat de tip PPS (pulse per second) este trimis în mod pseudoaleator către instrument. După efectuarea măsurătorilor, un software sincronizează timpul intern al scanerului cu timpul GPS. Fiecare moment de început de linie scanată va fi astfel cunoscut în raport cu timpul GPS, iar fiecare punct va căpăta astfel o marcă de timp, funcție de indicele său în linia scanată, așa cum s-a explicat în capitolul precedent.

De menționat că pentru generarea norului de puncte georeferențiat, Institutul Cartografic din Catalunya folosește softuri dedicate proprii.

Figura III-14 – Instalarea Geomobil în trenul cu cremaliera ce parcurge zona Nuria (Serra, și alții, 2005)

În ceea ce privește aplicațiile în care ICC a utilizat platforma realizată vom menționa în continuare 2 dintre mai importante, așa cum au fost ele prezentate de către ICC în lucrările de specialitate publicate (Talaya, Alamus, Bosch, Serra, Kornus, & Baron, 2004), (Serra, et al., 2005).

Utilizarea Geomobil pentru scanarea zonei muntoase dintre Ribes de Freser și Santuario de Nuria în Muntii Pirinei. Scopul acestei aplicații a fost modelarea zonelor abrupte ce sunt parcurse de linia ferata cu cremaliera din zona respectiva. Modelarea acestei zone a avut scopul de a găsi și implementa anumite măsuri pentru a diminua riscul căderilor de stânci peste calea ferată.

Având în vedere faptul că linia ferată cu cremalieră este singura modalitate de transport terestru din zona respectivă, automobilul Institutului Cartografic din Catalunya a fost instalat pe o platformă feroviară de acest tip. Pentru o modelare de precizie ridicată și completă a zonei s-au executat mai multe scanări având scanerul orientat pe mai multe direcții iar rezultatele obținute au fost suprapuse peste observațiile asemănătoare rezultate în urma unei scanări aeriene. Diferențele obținute s-au aflat în intervalul 5-25 cm (Serra, și alții, 2005).

Utilizarea Geomobil în modelarea urbană

Aceasta este în general aplicația principală a sistemelor mobile terestre de scanare. Institutul Cartografic din Catalunya a utilizat Geomobil pentru a modela fațadele clădirilor din centrul orașului Sitges (Spania).

Pentru a putea valida rezultatele s-au determinat coordonatele a 10 puncte de control determinate anterior prin alte metode. Un astfel de punct de control este prezentat în imaginea de mai jos. Diferențele obținute au fost de aproximativ 20 cm (Talaya, Alamus, Bosch, Serra, Kornus, & Baron, 2004).

Figura III-15 – Punct de control in scanarea centrului orașului Sitges (Talaya, Alamus, Bosch, Serra, Kornus, & Baron, 2004)

StreetMapper – 3D Laser Mapping & IGI mbH

Sistemul realizat de 3D Laser Mapping (UK) împreuna cu IGI mbH (Germania), este primul sistem terestru de scanare mobilă dezvoltat în scopuri comerciale. Primul sistem a fost asamblat în anul 2005 și a trecut ulterior printr-o perioadă de 6 luni de testare.

De asemenea, StreetMapper este primul sistem terestru de scanare ce poate avea o acoperire de 360 de grade în jurul platformei. Această performanță este realizată prin integrarea a până la 4 instrumente de scanare.

Arhitectura sistemului este oarecum similară cu cea a echipamentului realizat de Institutul Cartografic din Catalunya cu excepția utilizării mai multor scanere laser orientate pe direcții diferite în ideea obținerii unui unghi de vedere de 360° în jurul platformei și având zone de suprapunere între instrumente adiacente (Kremer & Hunter, 2007). Scanerele utilizate sunt de tip Riegl LMS – Q120. Pentru o mai bună interpretare a datelor au fost integrate și camere video. După cum s-a menționat deja, condițiile de poziționare pe baza tehnologiilor GNSS de la sol diferă față de poziționările pentru sisteme aeropurtate deoarece apare efectul greu de eliminat al reflexiei semnalului precum și perioadele de lipsă a semnalului. Pe de altă parte, distanța dintre scaner și obiectul măsurat este de regula pana in 100 m comparativ cu distanțele de ordinul sutelor de metri din scanarea de pe platforme aeropurtate. De aceea, contribuția erorii de poziționare pe baza tehnologiilor GNSS este mult mai mare decât cea a erorii de determinare a orientării sistemului. Pentru a îmbunătăți poziționarea în perioadele de lipsă a semnalului satelitar (cum este cazul tunelurilor), sistemul de navigație GNSS/IMU este “ajutat” de un senzor adițional de determinare a vitezei de deplasare, informațiile provenite de la acesta ameliorând tendința de creștere în timp a erorilor de poziționare provenite de la unitățile inerțiale.

Figura III-16 – Componentele platformei StreetMapper (preluat din Kremer & Hunter, 2007)

Acest sistem inerțial denumit TERRAControl a fost dezvoltat de IGI si conține, pe lângă senzorul de determinare a vitezei menționat mai devreme, o unitate inerțială și un receptor GNSS NovAtel OEMV-3 compatibil atât GPS cât și GLONASS, fiind de asemenea capabil să utilizeze corecții diferențiale, dar care în modul standard nu sunt utilizate, deoarece prelucrarea datelor se face de regulă în postprocesare. De asemenea, datele provenite de la acești senzori sunt înregistrați de un computer denumit TERRAcontrol Computer, ce are și rolul de a adăuga observațiilor provenite de la scanerul laser marca de timp necesară sincronizării datelor.

Trebuie menționat că 3D Laser Mapping a lansat și o versiune portabilă a sistemului StreetMapper, platformă ce se poate instala pe aproape orice autovehicul de teren sau ambarcațiune. Acest sistem are aceleași proprietăți ca și platforma inițială: câmp de „vedere” de 360°, cu posibilitate de măsurare a distanțelor până la 300 de metri cu o frecvență de până la 300,000 de măsurători pe secundă pentru fiecare senzor. Aceste sisteme utilizează instrumente de scanare realizate de Riegl – sisteme de scanare incluse in clasa V-line. Acest sistem portabil poate și a fost instalat pe cele mai variate platforme, incluzând automobile, vagoane de tren, tramvai, bărci, etc. de către diverse companii ce au achiziționat sistemul sau chiar de firma producătoare. Câteva imagini în acest sens pot fi observate mai jos. Sistemul celor de la 3D Laser Mapping si IGI, fiind un sistem comercial, a fost utilizat în numeroase aplicații, din care cea mai des întâlnită este cea a modelării zonelor urbane, deoarece în aceste zone detaliile de interes pot fi colectate rapid și cu un grad de detaliere foarte ridicat doar prin astfel de mijloace. În continuare însa vom prezenta alte aplicații în care această platformă a fost utilizată.

Figura III-17 – StreetMapper (preluate online – 3DLM & IGI, 2012 și Fuller, 2012)

Utilizarea StreetMapper in scanarea zonelor in care s-au produs accidente rutiere

Poliția rutieră din comitatul Cambridgeshire (Anglia) a testat un astfel de sistem pentru a scana zonele în care s-au produs accidente rutiere grave cu scopul de a minimiza timpul necesar culegerii informațiilor referitoare la condițiile în care acestea s-au produs (3DLM, 2006).

Pentru a putea debloca traficul în zonele în care s-au produs accidente grave, este necesar ca la fața locului să se efectueze măsurători pentru a stabili cauzele accidentelor. De asemenea, nu rar este necesară introducerea acestor informații în contextul mai larg al zonei în care s-au produs accidentele. În timp ce prin măsurători clasice sau prin metode statice de scanare, efectuarea observațiilor ar putea dura ore întregi, deoarece ar fi necesară marcarea unor puncte de control pentru registrația scanărilor din diferite stații, cu ajutorul acestor sisteme, timpul poate fi redus la mai mult de o treime.

Se pot crea și anumite modele 3D pentru autostrăzi, ce ar ajuta în stabilirea ulterioară a cauzelor unor accidente ce s-ar putea produce în acele zone. Un exemplu este prezentat în figura de mai jos.

Figura III-18 – a) Nor de puncte rezultat in urma scanării unei zone dintr-o autostrada împreuna cu modelul CAD aferent; b) modelul 3D al zonei împreuna cu texturile aferente

Utilizarea StreetMapper pentru determinarea poziției cablurilor suspendate

Scopul acestor tipuri de observații este acela de a determina distanța minimă față de pământ a cablurilor. Avantajul utilizării sistemelor de scanare în acest caz este unul semnificativ deoarece sunt înlăturate o serie de erori ce ar fi apărut în urma determinărilor clasice folosind jaloanele destinate sau măsurătorile topografice cu ajutorul stațiilor totale.

Figura III-19 – Identificarea poziției cablurilor (preluat din Fuller, 2012)

În primul caz, folosind jaloanele, eroarea de măsurare poate apărea din determinarea celei mai apropiate zone față de pământ a cablurilor dar și din neverticalitatea jalonului. Aceste două tipuri de erori duc întotdeauna la măsurarea unei distanțe mai mari; ele nu apar în cazul determinărilor cu ajutorul sistemelor terestre de scanare mobilă (Kremer & Hunter, 2007). În cazul utilizării stațiilor totale, problema apare nu în a determina minimul curbei formei cablurilor ci în a determina distanța minimă dintre cabluri și pământ, deoarece pământul nu are întotdeauna o formă plană. Având un model digital al suprafeței pentru zona de interes, obținut prin scanare mobilă, distanța minimă se poate găsi foarte ușor.

Utilizarea StreetMapper pentru monitorizarea zonelor costiere

Necesitatea unui model al zonelor costiere pentru a studia diversele fenomene ce se produc în aceste zone (eroziune, sedimentări, alte fenomene extreme) este foarte ridicată, mai ales în anumite zone ale Marii Britanii. Pentru aceasta, StreetMapper a fost instalat pe un automobil de teren 4×4 al Universității din Newcastle și au fost efectuate măsurători în apropierea orașului Scarborough.

Sistemul StreetMapper a fost modificat pentru a folosi un singur scaner de tip Riegl LMS-Q560. A fost scanată o zonă de aproximativ 6,5 km în 12 minute și s-a obținut un nor de aproximativ 20 milioane de puncte.

Tot cu același scop au fost scanate și zone costiere din orașul Felixstowe și vecinătățile acestuia.

Utilizarea StreetMapper pentru scanarea anumitor zone propuse ca rute pentru transporturi agabaritice de mase indivizibile

Domeniul transporturilor agabaritice necesită deseori un model al zonelor pe care vehiculele urmează să le parcurgă. Deși în general anumite rute (autostrăzi, drumuri europene, etc.) sunt monitorizate și folosite pentru astfel de transporturi, ultima secvență de drum până la destinație necesită de regulă o modelare a zonei pentru a alege ruta cea mai favorabila.

3D Laser Mapping si IGI mbH au utilizat sistemul StreetMapper la cererea unei companii din Marea Britanie pentru a realiza modelarea unei zone din ținutul Stafforshire, în vederea stabilirii rutei optime pentru un transport al unui transformator. O parte din ruta era deja cunoscută, dar ultima parte de la autostrada A34 până la stația unde trebuia amplasat transformatorul era necesar a fi modelată. Lungimea totală a zonei a fost de 19 km iar măsurătorile au fost realizate într-o ora, conducând cu viteză redusă pentru a avea o densitate relativ mare de puncte. Rezultatul scanării a fost un nor de 93 milioane de puncte cu o densitate de aproximativ 50 puncte pe metru pătrat. Bineînțeles că o astfel de modelare se putea face și cu ajutorul unor scanere aeropurtate dar costurile ar fi fost mult mai ridicate iar gradul de detaliere mult mai redus.

LYNX Mobile MapperTM – Optech Inc.

Dezvoltat de Optech Inc. (Canada), una dintre cele mai importante companii implicate în dezvoltarea sistemelor si instrumentelor de scanare, cu o activitate de peste 35 de ani în domeniul tehnologiilor LiDAR, LYNX este un sistem terestru de scanare mobilă destinat comercializării.

Figura III-20 – Sistemul LYNX Mobile Mapper (preluata din Ussyshkin, 2009)

Din punct de vedere al arhitecturii sistemului, acesta nu se diferențiază de cele prezentate anterior decât prin producătorul echipamentelor ce alcătuiesc platforma. Conform specificațiilor tehnice și acest sistem oferă un câmp de scanare de până la 360° în funcție de numărul de scanere incorporate; platforma poate incorpora de la 1 până la 4 astfel de instrumente. Trebuie adus la cunoștință și faptul că aceste instrumente aparțin companiei Optech Inc. Sistemul de navigație este reprezentat de un ansamblu GPS/INS în care receptoarele GPS sunt de tip Trimble iar unitatea inerțială aparține companiei Applanix (POS LV 420).

Aplicațiile și proiectele în care sistemul LYNX a fost implicat sunt numeroase, dar vom prezenta în continuare doar 2 dintre acestea, cele mai inedite.

Utilizarea LYNX în monitorizarea căilor ferate

Această aplicație a apărut ca urmare a interesului ADS (Aerial Data Service) din Tulsa, Oklahoma în legătură cu dezvoltarea sistemului celor de la Optech Inc. Interesul principal a fost testarea sistemului în acest nou tip de situații.

Pentru a putea observa rezultatele și capabilitățile sistemului, ADS a ales o zonă de interes a căii ferate aflate în apropierea orașului Tulsa. Sistemul de scanare a fost montat în acest caz pe un vehicul special destinat inspecției căilor ferate (speeder).

Figura III-21 – a) Sistemul LYNX Mobile Mapper montat pe un “speeder”

b) Nor de puncte rezultat în urma scanării liniei ferate (Tulsa, Oklahoma)

(imagini preluate din Morgan, 2009)

Senzorii LiDAR au fost orientați în așa fel încât sa scaneze linia ferată și zona adiacentă acesteia. Scanarea s-a desfășurat pe o distanță de aproximativ 5,5 km. După realizarea scanării, s-a observat că norul de puncte obținut și modelul digital aferent pot fi folosite și în identificarea unor presupuse obstacole produse de vegetația dezvoltată (Morgan, 2009).

Amplasarea platformei LYNX pe o barca cu motor

Pentru a putea scana și modela zonele greu accesibile de pe malurile abrupte ale râurilor, sistemul LYNX Mobile Mapper a fost instalat pe o barcă cu motor. Rezultatele scanării au fost impresionante întrucât, chiar și în cazul unor solicitări extrem de mari ale sistemului de navigație, acesta a avut un feedback pozitiv.

Figura III-22 – a) Sistemul LYNX Mobile Mapper montat pe o barcă cu motor

b) Nor de puncte rezultat în urma scanării râului

(imagini preluate din Ussyshkin, 2009)

Alte aplicații ale sistemului LYNX ce ar trebui menționate sunt scanările infrastructurilor rutiere din Grecia în martie 2008, proiect ce a implicat scanarea autostrăzii ce leagă Corintul de Atena. Scanarea a durat 3 ore parcurgând autostrada cu o viteză de aproximativ 50km/h. În urma scanării, norul de puncte conținea aproximativ 980 milioane de puncte. În cazul scanării statice, pentru scanarea unei autostrăzi similare de 80 de kilometri au fost necesare 120 de zile pentru colectarea datelor (Ussyshkin, 2009).

Alte sisteme dezvoltate

RIEGL VMX

Compania Riegl (Austria) este una dintre cele mai vechi companii de pe piață implicată în dezvoltarea sistemelor de scanare. După cum s-a prezentat anterior, primele sisteme terestre mobile au utilizat instrumente de scanare produse de Riegl, în principal pentru posibilitatea de sincronizare pe care acesta o oferă.

Riegl a dezvoltat ulterior propriile sisteme mobile de scanare, VMX-250 și VMX-450 ce utilizează două instrumente de scanare, sistem GNSS/INS de poziționare, opțional un sistem de 2 sau 6 camere 5Mpix și senzori DMI. O imagine a acestui sistem este oferită mai jos.

În ceea ce privește performanțele sistemului asumate în specificațiile tehnice, sistemul VMX-250 oferă o precizie de poziționare în postprocesare folosind metode de poziționare RTK de 2-5 cm. Unitatea inerțială oferă precizii de determinare a unghiurilor de ruliu și tangaj de 0.005, iar pentru girație de 0.015. De asemenea, la nivel de punct determinat este estimată o acuratețe de 10 mm și o precizie de 5 mm (în condiții standard de testare).

Figura III-23 – Sistemele Riegl VMX 250 și VMX-450 (imagini preluate de pe site-ul Riegl, 2014)

Sistemele pot fi amplasate pe orice platformă purtătoare, însă pentru aplicații specifice mediului maritim sau pentru cazul utilizării sistemului pe vehicule feroviare, Riegel a îmbunătățit și adaptat sistemele VMX la aceste tipuri de instalări și aplicații pentru a obține rezultate optime în scanare. Astfel au apărut sistemele de scanare VMX-250-MARINE și VMX-450-RAIL. Primul oferă posibilitatea de integrare cu alte sisteme de colectare de date, un design compact pentru instalare rapidă și carcasă pentru protecție la apă. Sistemul poate fi achiziționat cu propriul sistem de poziționare sau poate fi integrat cu o multitudine de senzori existenți (Riegl, 2014). Al doilea sistem oferă senzori inerțiali și DMI optimizați pentru platforme purtătoare din domeniul căilor ferate, precum și o dispunere optimă a instrumentelor de scanare pentru astfel de aplicații (Riegl, 2014)

În legătură cu utilizarea acestor sisteme, merită menționată o aplicație de scanare a unor trasee subterane din Spania cu o lungime de aproximativ 50 km realizată de compania Artescan 3D Scanning (Portugalia). De menționat că sistemul utilizat a fost un VMX-250 al cărui sistem de poziționare GNSS/INS garantează precizii ridicate doar pentru cazul unei întreruperi a semnalelor GNSS limitate la un minut. În acest caz, au existat întreruperi ale semnaleleor de aproximativ o oră. Utiliând puncte de control determinate anterior prin mijloace clasice s-a putut scana și obține un RMS de 2 cm (Boavida, Oliveira, & Santos, 2012) pentru punctele scanate, scutind în acest fel luni întregi de muncă prin mijloace clasice și obținând rezultate mult îmbunătățite și informații complete.

Figura III-24 – Utilizarea VMX 250 în scanarea unor tuneluri (imagini preluate dein Boavida, Oliveira, & Santos, 2012)

TOPCON IP-S2

Compania americană Topcon a intrat pe piața sistemelor mobile de scanare în perioada 2009-2010 cu sistemul IP-S2. Întrucât acesta posedă în principiu aceleași componente ca și sistemele anterioare, bineînțeles provenind de la alte firme producătoare, nu vom insista în prezentarea acestuia.

De menționat că, în afară de sistemul de scanare terestră alcătuit din trei scanere dezvoltate de compania SICK (două scanere de tip LMS 2910-S05 orientate lateral având un unghi de scanare de 180° cu o rezoluție de 1° și unul de tip LMS 291-S14 cu un unghi de scanare de 90° și o rezoluție de 0.5°) și de senzorul pentru determinarea vitezei (OBDII – MOLEX-9 Pin), restul componentelor aparțin TOPCON: unitate inerțială, receptor GNSS (compatibil GPS/GLONASS) precum și softurile de prelucrare.

Figura III-25 – Sistemul Topcon IP-S2 (imagine preluată din Topcon Corporation, 2010)

MDL – Dynascan

MDL este o companie din Marea Britanie, parte a grupului Renishaw plc ce se ocupă de dezvoltarea senzorilor și instrumentelor de scanare.

Figura III-26 – Sistemul S250 X-plane (imagine preluată de pe site-ul MDL part of Reinshaw plc, 2014)

În domeniul sistemelor de scanare mobilă MDL a dezvoltat și comercializează în prezent sistemele Dynascan M250 și S250 ce oferă precizii de colectare a punctelor cuprinse între 1 și 5 cm.

TRIMBLE – MX

Compania Trimble integrează și comercializează sisteme mobile de scanare ce se bazează pe receptoare GNSS și pachete de prelucrare proprii, dar și pe sisteme de scanare și unități inerțiale provenite de la alte companii (Riegl, MDL, Applanix).

În acest sens, Trimble produce două sisteme mobile de scanare, unul ce incorporează instrumente VQ-250 sau VQ-450 dezvoltate de Riegl și unități inerțiale POS LV 420 sau 520 produse de Applanix (Trimble, 2013), și unul ce incorporează instrumente de scanare ale MDL, în speță Trimble MX2.

Figura III-27 – Sistemele Trimble MX2 și MX8 (imagini preluate de pe site-ul Trimble, 2014)

LEICA Pegasus-One

Sistemul oferit de Leica integrează sisteme de scanare produse de Optech și echipamente proprii pentru a oferi o soluție mobilă de scanare cu precizii similare sistemelor prezentate anterior (1-2 cm).

Figura III-28 – Leica Pegasus One (imagine preluate de pe site-ul Leica Geosystems Franta, 2014)

Situația la nivel național

În țara noastră nu există un dezvoltator de astfel de sisteme destinate comercializării. Mai mult, repartiția la nivel național a acestor sisteme este de asemenea scăzută, motivul principal fiind perioada de recesiune economică și mai ales costurile încă extrem de ridicate ale echipamentelor.

Un singur astfel de sistem de scanare mobilă a fost dezvoltat la nivelul României, ca urmare a unui proiect de cercetare finanțat în cadrul Programului Național de Cercetare, Dezvoltare Inovare II (PNCDI II).

Figura III-29 – Scanerul laser Riegl Z420i (imagini puse la

dispozitie de S.C. C-TECH S.R.L.)

Din punct de vedere al arhitecturii platformei de scanare mobilă, sistemul realizat de compania S.C. C-TECH S.R.L. (Constanța) nu se diferențiază de cele realizate la nivel internațional. Componentele sistemului sunt reprezentate de :

Scanerul laser Riegl LMS Z420i – scanerul laser al firmei Riegl este dedicat măsurătorilor de distanța, acesta fiind capabil să determine puncte până la 1000m. Pentru cazul punctelor aflate la distanțe medii, precizia de determinare a punctelor este de ordin centimetric iar unghiul de rotație a oglinzii între două măsurători succesive este de 0.004°.

Sistemul de navigație GNSS/INS alcătuit din receptoare GPS de tip Trimble R8, unitate inerțială de tip Applanix, senzor de determinare a distanței parcurse (DMI). Observațiile provenite de la acești senzori sunt prelucrate de sistemul Applanix POS LV.

a) b) c)

Figura III-30 – – a)-b) Unitatea inerțială Applanix;

c) Sistemul de poziționare Applanix POS LV

O imagine de ansamblu a platformei poate fi observata in figura de mai jos.

Figura III-31 – Sistemul terestru de scanare mobilă dezvoltat de S.C. C-TECH SRL

Sistemul poate fi supravegheat în timpul realizării măsurătorilor folosind pachetele software ale POSView sau ale scanerului (RiScan Pro). În imaginea de mai jos se pot observa toate detaliile referitoare la poziția și starea sistemului.

Figura III-32 – Supravegherea scanării folosind programe dedicate

Se pot monitoriza astfel:

poziția sistemului (N,E,H) și abaterile standard de determinare a acesteia

modul prin care este obținută soluția de navigație (GNSS/INS sau doar INS)

timpul GPS și numărul de impulsuri de tip PPS trimise (altfel spus, durata măsurătorilor)

memoria folosită

viteza de deplasare pe cele 3 direcții în sistemul de coordonate al vehiculului (N,E,D) și abaterile standard de determinare a acestora

înclinările platformei (roll, pitch) și abaterile standard de determinare a acestora

orientarea (heading) sistemului

eventualele probleme ce pot apărea în timpul scanării

De la realizarea acestuia, în anul 2008, compania a utilizat sistemul de scanare în diverse aplicații, atât statice cât și dinamice, din domeniile topografiei, arhitecturii, arheologiei, ingineriei civile, studiilor de risc, etc.. Dintre aplicațiile statice ce au fost sau ar putea fi realizate cu acest sistem enumerăm:

Analiza stării structurale a unei clădiri in pericol de prăbușire

Studiul posibilelor deformații ale structurilor cauzate de forte interne sau externe

Scanarea in hale industriale (vezi figura #25)

Evidențierea greșelilor de proiectare

Figura III-33 – a) Aplicație de scanare în hală industrială folosind sistemul Riegl LMS-Z420i în mod static; b) Nor de puncte rezultat in urma măsurătorilor

Tehnologia descrisă anterior a fost utilizată însă în special în mod dinamic în numeroase aplicații, studii și proiecte. Cele mai importante dintre acestea sunt:

realizarea Modelului Digital al Terenului

Figura III-34 – a) Model Digital al Terenului în zona localității Beidaud, jud. Tulcea

b) Model Digital al Terenului în zona localității Baia

realizarea Modelului Digital al Suprafeței

monitorizarea drumurilor și străzilor

studii de risc

identificarea rețelelor electrice

completarea bazei de date geospațiale necesare evaluării nivelului de eroziune in regiunile de coastă de la malul mării sau pe canale, râuri sau Dunăre

Figura III-35 – Identificarea rețelelor electrice

O altă companie din România ce deține un astfel de sistem este S.C. Primul Meridian S.R.L. ce beneficiază în prezent de un sistem de scanare mobilă terestră Riegl VMX-250 (S.C. Primul Meridian S.R.L., 2013), prezentat în detaliu în paragrafele precedente.

Compania a utilizat sistemul în diverse aplicații de scanare terestră în mediul rural sau pentru aeroporturi, însă, întrucât ele nu apar ca informații publice pe website-ul companiei nu vor fi detaliate. Trebuie subliniat că datele utilizate în această lucrare au fost colectate cu acest sistem și au fost puse la dispoziție de către companie în acest sens.

Figura III-36 – Model Digital al Terenului în Constanța (Faleza Modern)

De asemenea, (Savu, 2010) menționează existența unui sistem mobil de scanare de tipul L-KOPIA (bazat pe un instrument de scanare al Z+F) ca aparținând Regionalei CF Brașov. Nu au fost identificate însă publicații suplimentare ce pot descrie capabilitățile sau aplicațiile în care a fost testat sistemul.

Senzori și sisteme de navigație utilizate în cadrul echipamentelor mobile de scanare terestră

Sisteme de radionavigație prin satelit

Întrucât sistemele de radionavigație prin satelit (GNSS) se consideră a fi cunoscute, această lucrare va prezenta doar o scurtă descriere a dezvoltării acestora, a principiilor pe care se bazează poziționarea în cazul GNSS și a rolului pe care acestea îl joacă în cazul sistemelor terestre mobile de scanare.

Sistemele GNSS sunt acele sisteme satelitare ce permit utilizatorilor să își determine poziția prin utilizarea unor semnale radio transmise de sateliții sistemului ce orbitează în jurul Pământului. Cel mai cunoscut dintre aceste sisteme este cel dezvoltat de Statele Unite denumit NAVSTAR GPS (NAVigation System with Timing And Ranging). Pe lângă acesta, alte 3 mari sisteme sunt deja dezvoltate sau se află în curs de dezvoltare: sistemul GLONASS (GLObal’naya NAvigatsionnaya Sputnikova Sistema) dezvoltat de Rusia, sistemul GALILEO dezvoltat de Uniunea Europeană și sistemul COMPASS dezvoltat de Republica Populară Chineză. Deși sistemul GPS a fost pentru o lungă perioadă de timp singurul sistem operațional ce putea să asigure o acoperire globală, în prezent, sistemul dezvoltat de Rusia a reatins maturitatea de 24 sateliți ce va permite poziționarea la nivelul întregii suprafețe a Pământului (FOC – Full Operational Capability). De asemenea, sistemul COMPASS a avut în ultimii 3 ani o dezvoltare intensă, având în prezent 17 sateliți lansați (din 35 prevăzuți), urmând să își definitiveze constelația până la sfârșitul deceniului. Sistemul dezvoltat de Uniunea Europeană (împreună cu Agenția Spațială Europeană) va fi primul sistem satelitar de navigație ce va fi orientat către segmentul civil. Inițial sistemul a fost dezvoltat ca un parteneriat public privat, însă de-a lungul timpului și-a modificat statutul, fiind finanțat în momentul de față doar din fonduri publice. Deși aflat în urmă din punct de vedere al dezvoltării atât față de celelalte sisteme dar și față de planificarea inițială, sistemul Galileo a lansat până în acest moment 2 sateliți de testare (GIOVE A și GIOVE B) ce au avut rolul să testeze orbitele și să asigure utilizarea frecvenței alocate de către ITU, și primii 4 sateliți operaționali, încheind astfel cu succes faza In Orbit Validation (IOV). Mai mult, deja realizarea primilor 18 sateliți ai sistemului a fost contractată de către firma germană OHB Technology AG, lansarea lor urmând să aibă loc în perioada următoare. Deși nu sunt de interes pentru România, trebuie menționată aici și dezvoltarea sistemelor satelitare de navigație regionale, cum sunt cele dezvoltate de Japonia (QZSS) și India (IRNSS).

Ca o concluzie asupra dezvoltării tuturor constelațiilor satelitare ale sistemelor globale prezentate, în anul 2020, când se prefigurează constelații complete pentru toate acestea, utilizatorii vor beneficia de semnale de la mai mult de 75 de sateliți, situație ce va îmbunătăți simțitor precizia și posibilitatea de poziționare, în special pentru zonele unde există multe obstrucții (i.e. canioanele urbane). Mai mult decât atât, performanțele GNSS vor fi îmbunătățite nu doar din punct de vedere al numărului semnalelor transmise ceea ce conduce la o geometrie îmbunătățită a sateliților, dar mai ales calitativ. Sistemele vor beneficia în acest sens de noi semnale, pseudocoduri mai lungi ce vor conduce la scăderea probabilității de corelare încrucișată precum și putere mai mare a semnalelor (Gleason & Gebre-Egziahbher, 2009).

Din punct de vedere al arhitecturii, orice sistem de navigație satelitar este alcătuit din trei segmente: segmentul satelitar (alcătuit din totalitatea sateliților ce transmit semnalele utilizate pentru poziționare), segmentul de control de la sol (alcătuit din stațiile de monitorizare ce urmăresc și asigură funcționarea sistemului satelitar) și segmentul utilizator (alcătuit din totalitatea receptoarelor ce utilizează semnalele pentru poziționare/navigație/timing).

Principial, determinarea poziției în cazul GNSS se poate reduce la o intersecție liniară în spațiul cu 3 dimensiuni.

Determinarea distanțelor de la receptor la satelit se face fie pe baza determinării duratei de propagare a semnalului, fie prin măsurători asupra fazei acestuia. Întrucât poziționarea GNSS nu face obiectul prezentei lucrări, va fi tratat în cele ce urmează doar principiul de determinare a distanțelor pe baza duratei de propagare a semnalului. Durata de propagare se determină pasiv în receptor prin corelarea codului obținut din demodularea semnalului emis de satelit cu o replică generată intern în receptor. Dacă cele două ceasuri (al receptorului și al satelitului) ar fi perfect sincronizate, și dacă se neglijează apariția altor surse de erori, distanța satelit receptor ar fi egală cu:

(42)

Întrucât cele două ceasuri nu sunt perfect sincronizate, atât standardul de timp menținut de ceasul intern al receptorului cât și cel menținut de satelit fiind diferite de standardul de timp al sistemului GNSS respectiv, apar două erori ce au ca efect o diminuare a distanței satelit-receptor (dacă timpul ținut de receptor este mai avansat decât standardul de timp al sistemului) sau o supraestimare a acesteia (dacă timpul menținut de receptor este întârziat față de standardul de timp al sistemului).

Figura IV-37 – Influența erorilor de ceas ale satelitului și receptorului în estimarea distanței

Pentru a rezolva această problemă, eroarea de ceas a satelitului este estimată de segmentul de control de la sol, și modelată sub forma unei funcții polinomiale de ordin II ai cărei coeficienți sunt apoi transmiși receptorului în mesajul de navigație. În ceea ce privește eroarea de ceas a receptorului, aceasta trebuie estimată de receptor în procesul de poziționare simultan cu celelalte trei necunoscute (coordonatele XYZ ale receptorului). De aceea, pentru a putea determina poziția receptorului și eroarea de ceas a sa, vor fi necesare minim 4 măsurători simultane asupra semnalelor provenite de la 4 sateliți diferiți (Sanz Subirana, Juan Jornoza, & Hernandez-Pajares, GNSS Data Processing – Volume I: Fundamentals and Algorithms, 2013).

Trebuie menționat că eroarea de ceas a satelitului și cea a receptorului nu sunt singurele surse de erori ce afectează precizia de poziționare. Întrucât semnalul transmis de satelit nu parcurge în drumul său către suprafața Pământului vidul, ci straturi atmosferice cu diferite proprietăți termice și electrice, semnalul ce ajunge la receptor va avea o întârziere, ce va avea același efect ca și cel al erorilor de ceas menționat mai devreme. Un rol important îl joacă aici ionosfera și troposfera. De asemenea, tot în cadrul propagării semnalului, poate apărea și o altă sursă de erori ce trebuie menționată: eroarea de „drum multiplu” („multipath”) ce apare ca urmare a reflexiei semnalului pe anumite corpuri situate în vecinătatea receptoarelor.

Întrucât poziționarea receptorului se bazează pe determinarea distanțelor satelit receptor, o altă sursă de erori o reprezintă precizia de determinare a poziției sateliților în momentul emiterii semnalului.

Sursele de erori în poziționarea cu ajutorul sistemelor satelitare de navigație reprezintă un capitol extrem de dens al teoriei acestor tehnologii asupra căruia nu se va insista în prezenta lucrare deoarece nu face obiectul acesteia. Va fi descrisă totuși în cele ce urmează, o metodă de poziționare ce reduce aceste erori și care este folosită cu precădere în cazul sistemelor mobile de scanare: poziționarea diferențială.

Plecând de la ideea că pe zone relativ restrânse efectele ionosferei și ale troposferei sunt în general constante, și că erorile cauzate de orbitele sateliților (precizia de determinare a poziției sateliților) este aceeași pentru toate determinările de distanțe, poziționarea diferențială propune estimarea comună a tuturor acestor erori în puncte cunoscute și utilizarea acestora în determinările punctelor necunoscute (Cosentino, Diggle, Uijt de Haag, Hegarty, Milbert, & Nagle, 2006).

Figura IV-38 – Principiul poziționării diferențiale

Astfel, dacă se instalează anumite receptoare pe puncte cunoscute, ele pot compara distanțele satelit-receptor măsurate cu cele determinate pe baza coordonatelor cunoscute (Neuner, 2000). Diferența dintre cele două distanțe reprezintă chiar suma influențelor erorilor menționate în paragrafele precedente. Apoi, receptorul de referință poate transmite aceste corecții receptorului amplasat pe puncte necunoscute ce le utilizează pentru a-și îmbunătăți precizia de poziționare în timp real. Transmiterea corecțiilor se poate face fie în timp real prin mijloace radio, prin mijloace satelitare (SBAS) sau pe internet, fie stocarea lor și aplicarea acestora în mod post-procesare. Metoda de poziționare diferențială joacă un rol extrem de important în cazul sistemelor terestre mobile de scanare, deoarece utilizarea poziționării absolute prin tehnologii GNSS stand-alone nu poate asigura precizia necesară pentru acestea. Întrucât generarea norului de puncte nu este realizată în timp real, sistemul de navigație GNSS/INS al sistemelor terestre mobile de scanare colectează observațiile satelitare și observațiile provenite de la senzorii inerțiali, acestea fiind procesate ulterior cu soft-uri dedicate, moment în care sunt introduse și fișierele de corecții diferențiale, obținând astfel o traiectorie mult mai precisă a instrumentului de scanare.

Senzori inerțiali

Senzorii utilizați în domeniul navigației inerțiale, întâlniți în literatură și sub denumirea generică de senzori inerțiali, sunt reprezentați cel mai des de accelerometre și giroscoape. Accelerometrele măsoară forța specifică iar giroscoapele măsoară viteza unghiulară fără a avea o referință externă. Instrumentele care măsoară viteza, accelerația sau viteza unghiulară raportate la alte elemente din mediul înconjurător nu intră în categoria senzorilor inerțiali.

În general, accelerometrele măsoară forța specifică în lungul unei singure axe, denumită în continuare axă senzitivă. Similar, giroscoapele determină viteza unghiulară în raport cu o singură axă senzitivă (Groves, 2008). Pentru o raportare la spațiul cu trei dimensiuni, o Unitate Inerțială de Măsurare (IMU – Inertial Measurement Unit) combină câte trei sau mai multe astfel de instrumente, amplasate, de regulă, pe axe ortogonale.

Trebuie menționat încă de la început că sistemele inerțiale inițiale se bazau pe platforme stabilizatoare (sisteme gimbaled), în timp ce sistemele moderne se bazează pe senzori atașați rigid vehiculului (Titterton & Wetson, 2004). Avantajele se materializează în termeni de cost, dimensiune precum și precizii îmbunătățite.

Prezentul subcapitol încercă să prezinte succint cele două categorii de senzori inerțiali menționate și principiile de bază pe care acestea le folosesc. De asemenea, vor fi analizate și principalele surse de erori ale fiecărui tip de instrument.

Accelerometrele

Mișcarea accelerată a unui corp rigid rezultată ca urmare a acțiunii unei forțe exterioare este descrisă de către a doua lege de mișcare a lui Newton. O forță F ce acționează asupra unui corp de masă m imprimă acestuia o accelerație a raportată la spațiul inerțial egală cu:

(43)

Întrucât nu e practic să se determine accelerația unui vehicul prin măsurători asupra forței totale ce acționează asupra sa, se poate măsura, totuși, forța ce acționează asupra unui element ce are o masă redusă și este conținut în corpul autovehiculului, și care este astfel supus acelorași forțe. Elementul de masă poartă denumirea de corp de probă și reprezintă o componentă a accelerometrului.

În cea mai simplă formă a sa, un accelerometru conține un corp de probă conectat printr-un arc la carcasa accelerometrului, după cum se poate vedea în figura de mai jos. În momentul în care vehiculul, și implicit carcasa accelerometrului, capătă o accelerație în lungul axei senzitive ca urmare a acțiunii unei forțe exterioare, aceasta va acționa asupra arcurilor ce susțin corpul de probă întinzând unul și comprimându-l pe celălalt. Corpul de probă încearcă să își mențină starea de repaos sau de mișcare neaccelerată, cu alte cuvinte să se opună schimbării mișcării. Drept urmare, corpul de probă va avea o deplasare față de carcasă și implicit față de corpul vehiculului. În regim staționar, forța ce acționează asupra corpului de probă va fi echilibrată de forța de tensiune din arcurile ce susțin corpul de probă, obținând astfel o măsură a forței exercitate, forță ce este proporțională cu accelerația. Un traductor poate măsura deplasarea corpului de probă și estima astfel accelerația vehiculului.

Figura IV-39 – Principiul de funcționare a unui accelerometru cu circuit deschis (redesenat și completat după Titterton & Wetson, 2004)

Forța totală F ce acționează asupra unui corp de masă m poate fi exprimată ca fiind:

(44)

, unde f reprezintă accelerația generată de alte forțe în afară de greutate, iar g reprezintă accelerația gravitațională. În cazul corpului de masă egală cu unitatea, relația precedentă devine:

(45)

Astfel, accelerația a poate fi interpretată ca forța totală pe unitatea de masă . Este foarte important să menționăm că accelerometrul nu este sensibil la accelerația gravitațională (g) și astfel rezultatul măsurătorii acestuia este direct proporțional cu forța non-gravitațională pe unitatea de masă ce acționează asupra corpului (f) în lungul axei sale senzitive (Titterton & Wetson, 2004). Aceasta este deseori denumită forța specifică exercitată asupra senzorului.

În cazul unui accelerometru ce cade liber în câmp gravitațional, carcasa accelerometrului și corpul de probă se vor mișca împreună, neexistând astfel niciun fel de acțiune asupra arcurilor. Rezultatul măsurătorii efectuate de instrument va fi prin urmare zero. În acest caz, accelerația corpului în raport cu un sistem inerțial va fi:

(46)

, iar forța specifică va fi nulă. În schimb, în situația în care instrumentul este ținut în repaos, respectiv pentru cazul în care:

(47)

, accelerometrul va măsura forța specifică ce acționează pentru a opri corpul din cădere. Conform ecuației (46), aceasta va fi:

(48)

Devine clar din cele prezentate mai sus că sunt absolut necesare cunoștințe referitoare la câmpul gravific al Pământului pentru ca măsurătorile obținute pe baza accelerometrelor să aibă sens într-un sistem inerțial.

Trebuie menționat că accelerometrul prezentat în figura de mai sus este incomplet, în sensul că este necesar să se limiteze oscilațiile corpului de masă și, de asemenea, se impune fixarea mișcării acestuia pe celelalte două direcții perpendiculare. Cu toate acestea, principiile matematice prezentate sunt valabile pentru toate tipurile de accelerometre dezvoltate; ceea ce diferă de la realizare la realizare este principiul fizic folosit. Astfel, s-au dezvoltat de-a lungul timpului accelerometre cu pendul sau bazate pe vibrații. Acestea vor fi prezentate în detaliu în cele ce urmează. De asemenea, ultimele cercetări în domeniu au condus la dezvoltarea altor tipuri de accelerometre bazate pe tehnici optice, sisteme micro-electro-mecanice (MEMS – Micro-Electro-Mechanical Systems) și interferometrie cu atomi reci (CAI – Cold Atom Interferometry) (Eissfeller, Inertial Sensors, 2011).

a) Accelerometrele cu pendul

În cazul accelerometrelor cu pendul, corpul de probă este legat de carcasa accelerometrului printr-un braț și o articulație ce formează astfel un pendul. După cum se poate observa, corpul de probă se poate mișca liber în lungul axei senzitive, în timp ce mișcarea pe celelalte direcții este blocată. Unul sau două arcuri pot fi folosite apoi pentru a transmite corpului de probă forța externă exercitată asupra vehiculului în lungul axei senzitive în timp ce articulația joacă rol de amortizor. O mai bună amortizare poate fi obținută în acest caz dacă se introduce ulei în carcasa accelerometrului. Întrucât pendulul are o mișcare limitată, aceste accelerometre se numesc și accelerometre cu circuit deschis (open-loop accelerometers). Traductorul măsoară deplasarea corpului de probă față de poziția de echilibru și determină astfel accelerația în lungul axei senzitive.

Figura IV-40 – Accelerometru cu pendul cu circuit deschis (redesenat după Groves, 2008)

Performanța acestor accelerometre este extrem de limitată din mai multe motive: rezoluția slabă a traductorului (în cele mai întâlnite cazuri un rezistor variabil), axa senzitivă este perpendiculară pe brațul pendulului și astfel, când pendulul se mișcă, axa senzitivă își schimbă poziția în raport cu carcasa, forța exercitată de arcuri este o funcție aproximativ liniară dependentă de compresia sau extensia lor, ceea ce conduce la histerezis și neliniaritate, etc. (Groves, 2008).

Pentru a rezolva aceste probleme, accelerometrele mai precise folosesc un circuit închis (closed-loop accelerometers), mai fiind cunoscute și sub denumirea de accelerometre cu reacție (force-feedback accelerometers). În cazul acestor accelerometre este utilizat un cuplu de torsiune (în general o bobină) pentru a menține brațul pendulului în aceeași poziție în raport cu carcasa accelerometrului, indiferent de forța exterioară ce acționează asupra vehiculului (Titterton & Wetson, 2004). Astfel, după ce traductorul detectează mișcarea prin schimbarea poziției corpului de probă față de poziția de echilibru, cuplul acționează pentru a-l readuce pe poziția de echilibru. În cazul accelerometrelor cu circuit închis, forța specifică va fi mai degrabă proporțională cu forța exercitată de cuplu decât cu semnalul obținut de la traductor. Un astfel de accelerometru este prezentat schematic în figura următoare.

Figura IV-41 – Accelerometru cu pendul cu circuit închis (redesenat după Titterton & Wetson, 2004)

În figura de mai sus, cuplul de torsiune este alcătuit dintr-un electromagnet montat pe brațul pendulului și o pereche de magneți de polarități diferite fixați pe carcasa accelerometrului. Traductorul din figură este unul capacitiv alcătuit din 4 plăci capacitive montate în așa fel încât să formeze doi condensatori (capacitori) între pendul și carcasă. În momentul în care o forță exterioară acționează asupra accelerometrului, pendulul are tendința de a își schimba păstra starea anterioară, apărând astfel o deplasare între brațul pendulului și carcasă. Aceasta are ca efect, schimbarea capacității celor două condensatoare. În timp ce una crește, cealaltă scade. Această schimbare este detectată folosind un circuit punte.

De menționat că, pe lângă traductoarele de tip capacitiv, în cadrul accelerometrelor sunt utilizate și traductoare optice, rezistive sau inductive. Traductoarele optice măsoară schimbări în transmiterea unui fascicul de lumină printr-o fantă a pendulului, în timp ce traductoarele inductive implică măsurarea curentului diferențial a unor bobine fixate pe carcasă ce interacționează cu o placă aflată pe pendul. Mișcarea pendulului afectează inductanța bobinelor. În acest caz nu mai este determinată schimbarea față de o poziție de origine, ci poziția relativă a pendulului față de bobine.

După detectarea schimbării poziției pendulului, mecanismul de rebalansare, reprezentat de bobina și cei doi magneți, se opune mișcării detectate. Astfel, curentul ce trece prin spirele bobinei creează o forță electromagnetică ce rebalansează pendulul. Ca și în cazul accelerometrelor cu pendul ce au circuit deschis, și în acest caz, carcasa accelerometrului poate fi umplută cu un lichid având o vâscozitate redusă pentru a mări rezistența la șocuri și vibrații.

Deficiențele accelerometrelor cu circuit deschis sunt în mare parte înlăturate, în special faptul că brațul pendulului nu mai are mișcări ample față de poziția de echilibru conduce la o perpendicularitate permanentă între acesta și axa senzitivă.

Pe baza acelorași principii au fost dezvoltate și accelerometre cu pendul mecanic biaxial, ce determină deviațiile pendulului pe două direcții ortogonale și astfel accelerațiile vehiculului pe aceste direcții. De asemenea, trebuie subliniată existența accelerometrelor cu pendul în care brațul pendulului nu mai este mecanic ci realizat din fibră optică ce are atașate un corp de probă și o microlentilă la capătul său de jos. Mișcarea este detectată și determinată prin măsurarea pe o matrice senzitivă (CCID – charge coupled imaging device) a poziției unui fascicul emis de un laser fixat de partea de sus a carcasei. În cazul acestor accelerometre, un rol important îl are rezoluția matricei senzitive (Titterton & Wetson, 2004). Un astfel de accelerometru este prezentat în figura de mai jos.

Figura IV-42 – Accelerometru optic cu pendul mecanic biaxial (redesenat după Titterton & Wetson, 2004)

b) Accelerometrele rigide

În ultimii ani o mare parte a eforturilor depuse în cercetarea acestui domeniu s-au orientat către investigarea unor fenomene ce ar putea fi folosite pentru a realiza un accelerometru rigid. Astfel au apărut diverse dispozitive utilizate cu succes în special în instrumente direct fixate pe vehicul (strapdown), întrucât acestea au dimensiuni mici, sunt robuste și pot oferi precizii ridicate. În această categorie intră dispozitivele bazate pe vibrații, pe unde acustice de suprafață, senzori cu silicon sau fibră optică (pe lângă utilizarea acesteia în rol de pendul).

c) Accelerometre bazate pe vibrații

Acestea sunt accelerometre cu circuit deschis ce folosesc tehnologia cristalelor de cuarț. În cel mai întâlnit caz, se utilizează o pereche de benzi din cristale de cuarț montate simetric cap la cap, fiecare având atașat un pendul cu un corp de probă. O imagine schematică a acestui pendul poate fi văzută în figura următoare.

Figura IV-43 – Accelerometru bazat pe vibrații (redesenat după Titterton & Wetson, 2004)

Fiecare dintre cele două benzi vibrează la o anumită frecvență de rezonanță. În cazul în care vehiculul, și implicit accelerometrul, nu suferă modificări ale accelerației, cele două benzi vor vibra la aceeași frecvență de rezonanță. În momentul în care asupra vehiculului acționează forțe exterioare ce modifică accelerația acestuia pe direcția axei senzitive a accelerometrului, cele două benzi vor suferi modificări, una dintre ele fiind comprimată iar cealaltă extinsă sau tensionată, ca urmare a inerției corpurilor de probă ale pendulelor. Ca urmare, banda ce se comprimă suferă o descreștere a frecvenței, iar banda care se întinde va căpăta o creștere a frecvenței (Titterton & Wetson, 2004).

Figura IV-44 – Principiul de determinare a accelerației în cazul accelerometrelor bazate pe vibrații (redesenat după Eissfeller, Inertial Sensors, 2011)

Fie corpul din figura de mai sus, atașat de cele două benzi, a căror frecvență de rezonanță este:

(49)

, unde l este lungimea cablului, m masa corpului, a accelerația sistemului și densitatea liniară a benzii.

Fie F0 tensiunea inițială din benzi (fără acțiunea altor forțe exterioare). În cazul apariției unei accelerații a sistemului, forțele de tensiune din cele două benzi vor fi:

(50)

Din diferența celor două, accelerația la care este supus vehiculul va fi egală cu:

(51)

Considerând ca media celor două noi frecvențe de rezonanță este egală cu frecvența inițială, accelerația va putea fi calculată pe baza diferenței măsurate dintre cele două frecvențe de rezonanță ca fiind (Eissfeller, Inertial Sensors, 2011) :

(52)

Sistemul ar putea fi conceput și cu o singură bandă, dar utilizarea a două benzi montate simetric, cap la cap, permite eliminarea sau minimizarea unor erori specifice acestor tehnologii. Erorile al căror efect este diminuat sau înlăturat prin acest mod de implementare sunt: variația frecvenței nominale a benzii cauzate de schimbări ale temperaturii și îmbătrânirii cuarțului, variația inerției din cauza neomogenității maselor de probă (anisoinerție), vibrații ale pendulului, etc. (Groves, 2008).

d) Accelerometre bazate pe unde acustice de suprafață

Acest senzor este un instrument cu circuit deschis care are o consolă din cuarț piezoelectric pe a cărui suprafață se află o structură de electrozi care rezonează în urma unei unde acustice de suprafață. Consola este fixată rigid la unul din capete de carcasa accelerometrului, în timp ce, la celălalt capăt este atașat un corp de probă, și are libertate de mișcare pe direcția senzitivă. Pe baza răspunsului pozitiv obținut între o pereche a șirurilor de electrozi interdigitali este generat un grup de unde acustice de suprafață, a căror lungime de undă este determinată de distanța dintre electrozi.

Figura IV-45 – Accelerometre bazate pe unde acustice de suprafață

Când sistemul capătă o anumită accelerație pe direcția axei senzitive, ce este perpendiculară pe planul consolei, aceasta din urmă tinde să se curbeze. Când suprafața consolei este supusă unei deformații, ca în cazul curbării, frecvența undelor acustice de suprafață se modifică proporțional cu deformarea. Prin compararea frecvențelor inițiale și cele obținute în urma deformării, se poate obține direct o măsură a accelerației corpului în lungul axei senzitive (Titterton & Wetson, 2004).

e) Senzori MEMS (Micro-machined ElectroMechanical Systems)

În ultimii ani, intense studii de cercetare au avut ca subiect fabricarea accelerometrelor din silicon, acesta având numeroase avantaje: este ieftin, foarte elastic, non-magnetic, prezintă excelente proprietăți electrice ce permit formarea de componente prin difuzie sau depuneri. Mai mult, siliconul permite gravarea electrică sau chimică cu precizii micrometrice. Un alt avantaj major al acestor tehnologii îl constituie dimensiunile foarte mici, având în vedere că un senzor relativ precis poate conține un minim de 5 componente, toate realizate din silicon, mai puțin carcasa senzorului.

Principial acești senzori se bazează pe tehnici micro-mecanice de realizare a unor console (corpuri de probă) din dioxid de siliciu amplasate în cavități de dimensiuni mici și metalizate pentru a forma un capacitor. Răspunsul accelerometrului la accelerații în lungul axei senzitive este transformat într-o modificare a capacității condensatorului realizat (Titterton & Wetson, 2004). Trebuie menționat că în prezent dezvoltarea accelerometrelor se orientează spre aceste tipuri de senzori datorită avantajelor prezentate, însă din punct de vedere al preciziei și stabilității acești senzori nu asigură încă limitele necesare pentru a putea fi utilizate în aplicații de navigație ce solicită precizii foarte ridicate.

Figura IV-46 – MEMS (redesenat după Titterton & Wetson, 2004)

f) Senzori cu fibră optică

O utilizare a fibrei optice în dezvoltarea accelerometrelor a fost deja prezentată în cadrul accelerometrelor cu pendul, însă în acel caz nu erau utilizate proprietățile fizice ale sale, ci era utilizată doar ca o alternativă pentru brațul pendulului.

Figura IV-47 – Accelerometrul interferometric Mach-Zehnder (configurație cu una sau două fibre optice) (redesenat după Titterton & Wetson, 2004)

Alte tipuri de accelerometre ce utilizează fibra optică în determinarea vitezei de rotație a corpurilor sunt: accelerometrul interferometric Mach-Zehnder, accelerometrul cu fibră optică bazat pe vibrații, accelerometru cu rețea de difracție Bragg, etc.

Primul utilizează unul sau două fibre optice atașate de un corp de probă, ce joacă rolul de element senzitiv. În momentul apariției unei accelerații în lungul axei fibrei optice, aceasta va determina o modificare a lungimii fibrei, variația putând fi determinată prin mijloace interferometrice. Utilizarea a două fibre nu presupune montarea în direcții perpendiculare, ci, după cum se poate observa în figura de mai sus, în lungul aceleiași axei cu rolul de a avea o poziție de nul bine determinată și astfel o mai buna senzitivitate. Corpul de probă trebuie constrâns să aibă mișcări doar în lungul axei fibrei (fibrelor) optice.

Al doilea tip de accelerometru menționat folosește un cablu scurt de fibră optică monomodală ce este conectată și tensionată la capetele unei structuri rigide vibrante. Structura vibrează în așa fel încât fibra optică să oscileze la frecvența fundamentală f. În absența unei accelerații, amplitudinea oscilației este simetrică față de poziția de centru. Lumina ce trece prin fibra optică va avea o modulație de fază la 2f și la armonicile pare de f. Dacă o accelerație este prezentă în planul de oscilație a fibrei, amplitudinile de oscilare vor fi diferite, ceea ce va duce la o modulație de fază la frecvența f și la armonici impare ale lui f. Modulația fazei pe prima armonică va fi proporțională cu accelerația aplicată (Titterton & Wetson, 2004).

Giroscoapele

Inițial, definiția giroscoapelor se rezuma la instrumentele ce determinau unghiul de rotație a unui vehicul sau viteza unghiulară a acestuia pe baza pe baza proprietăților dinamice ale unui corp de probă aflat în mișcare de rotație. O ultimă definiție, așa cum a fost ea adoptată de către asociația de standarde IEEE (IEEE Sensors Working Group, 2007), se referă la acei senzori ce pot măsura rotația corpurilor în raport cu spațiul inerțial.

În cadrul acestei părți a capitolului vor fi prezentate principalele tipuri de giroscoape, împreună cu principiile fizice pe care acestea se bazează. Deși pentru sistemele de scanare mobilă terestră giroscoapele mecanice bazate pe rotația corpurilor de probă (gimbaled gyros) nu sunt de interes, ele vor fi prezentate pentru a înțelege principiul pe care acestea se bazează.

O clasificare preliminară a giroscoapelor pe baza principiului utilizat în determinarea rotației corpurilor ar fi:

Giroscoape mecanice

Bazate pe rotația unui corp de probă

Bazate pe oscilații

Giroscoape non-mecanice

Optice

Bazate pe interferometre cu atomi reci

A1) Giroscoape mecanice bazate pe rotația unui corp de probă

Aceste giroscoape utilizează proprietățile inerțiale ale unui corp (roată sau rotor) ce se rotește cu viteze foarte mari în jurul unei axe ce trece prin centrul său de masă. Astfel, corpul ce se rotește tinde să își mențină axa de rotație fixă în raport cu spațiul inerțial, pe baza momentului său cinetic (denumit și moment al impulsului sau impuls unghiular) – a doua lege a dinamicii lui Newton.

Momentul cinetic (L) este o mărime fizică ce exprimă cantitativ efectul de rotație a unui corp în absența unui cuplu exterior. Momentul cinetic este o mărime relativă, în sensul că valoarea sa depinde de poziția de referință pentru care acesta se calculează și de aceea în calculele următoare momentul cinetic va avea ca indice punctul față de care acesta se calculează (Lewin, 1999). Pentru un element de masă aflat în mișcare de rotație, momentul cinetic este obținut ca produsul vectorial dintre vectorul de poziție r și impulsul său p (Lewin, 1999).

(53)

Direcția momentului cinetic va fi perpendiculară pe planul format de vectorul de poziție și vectorul vitezei liniare.

Din punct de vedere al amplitudinii, momentul cinetic se poate exprima ca fiind:

(54)

Trecând de la elemente de masă dm, la masa corpului aflat în rotație se obține:

(55)

, unde Ic este momentul de inerție al corpului.

Giroscoapele utilizează proprietatea corpurilor aflate în rotație de a-și menține fixă axa de rotație în raport cu spațiul inerțial. Astfel, generarea unei direcții fixe ce va fi coincidentă cu direcția vectorului momentului cinetic, permite detectarea mișcărilor de rotație a vehiculului.

O implementare tehnică a acestor principii constă în montarea discului sau rotorului într-un set de articulații cardanice (gimbals), ce pot să se miște independent una de alta, după cum se poate vedea în figura de mai jos. Prin montarea unor traductoare pe această structură se poate determina orientarea carcasei instrumentului în raport cu direcția fixă a momentului cinetic și astfel cu spațiul inerțial, considerând ca nu există imperfecțiuni în realizarea giroscopului (Titterton & Wetson, 2004). Orice distribuție neuniformă a maselor în interiorul discului produce mișcări ale axei de rotație.

Un rol important în cazul giroscoapelor mecanice bazate pe rotația corpurilor îl are fenomenul denumit precesie, ce constă în deplasarea axei de rotație ca urmare a acțiunii unui cuplu exterior asupra sistemului.

Figura IV-48 – Reprezentare schematică a unui giroscop mecanic bazat pe rotația unui corp de probă

Fie un disc ce se rotește cu viteza unghiulară în jurul axei ss’, ca în figura Figura IV-49. Astfel, momentul său cinetic, obținut conform relației (49) va avea mărimea L și direcția dată de axa de rotație a discului. Fie un cuplu exterior  ce acționează asupra discului aflat în mișcare de rotație. Urmare a acțiunii cuplului, va avea loc o mișcare de rotație a axei, vectorul momentului cinetic încercând să urmărească direcția vectorului cuplului. Momentul cinetic rezultant va avea prin urmare direcția dată de vectorul OP.

Știind că variația momentului cinetic este egală cu mărimea cuplului exterior, se poate demonstra că viteza unghiulară de precesie este egală cu:

(56)

Această formulă este cunoscută uneori și ca legea giroscoapelor. Se poate observa din relația (56) că dacă viteza de rotație a rotorului se diminuează, ceea ce conduce la o scădere a momentului cinetic, viteza unghiulară de precesie crește. De asemenea, dacă valoarea cuplului exterior ce acționează asupra sistemului se intensifică aceasta conduce la o creștere a vitezei unghiulare de precesie, întrucât, după cum menționam mai devreme, vectorul momentului cinetic are tendința de a urmări vectorul cuplului.

Principiul precesiei poate fi utilizat pentru determinarea cu precizie a vitezei de rotație. Considerând dispozitivul prezentat în figura Figura IV-49, în care rotorul este montat într-un set de articulații cardanice, modificări ale unghiurilor acestor articulații față de spațiul inerțial vor reflecta mișcări ale carcasei în raport cu axa de rotație a rotorului. Dacă anumite cupluri controlate vor fi aplicate rotorului pentru a menține axa de rotație paralelă cu o axă definită a instrumentului (carcasei), măsurători asupra cuplului aplicat vor furniza informații despre vitezele de rotație ale instrumentului și astfel, informații despre vitezele de rotație ale corpului pe care instrumentul este atașat.

Figura IV-49 – Reprezentare schematică a efectului de precesie (redesenat după Titterton & Wetson, 2004)

Componentele principale ale unui giroscop mecanic sunt:

Carcasa instrumentului

Elementul inerțial (rotorul) – corpul ce se rotește cu viteze unghiulare relativ mari este necesar să fie un corp simetric cu masele dispuse cât se poate de mult spre marginile sale, pentru a avea un moment inerțial cât mai mare.

Articulațiile cardanice – cadrele pe care este montat rotorul, ce se pot mișca independent una față de cealaltă

Traductoarele – elemente ce au rolul de a detecta mișcările relative ale rotorului față de articulații. Traductorul produce un semnal electric ce va indica direcția și amplitudinea mișcărilor.

Cuplul electromagnetic – ce transformă giroscopul cu circuit deschis într-unul cu circuit închis, ca și în cazul accelerometrelor, în sensul că axa de rotație a rotorului este adusă în permanență pe o direcție fixă în raport cu carcasa pe baza efectelor precesiei. Cuplul poate fi un simplu magnet permanent sau un electromagnet.

Circuitul de rebalansare – circuitul ce interpretează semnalul generat de traductoare și determină intensitatea circuitului ce trebuie să treacă prin spirele cuplului pentru a readuce axa la poziția de origine.

Motorul – folosit pentru a roti elementul inerțial

Fluidul – în care motorul și rotorul sunt amplasate pentru a preveni șocurile.

Rulmenți de legătură.

A2) Giroscoape mecanice bazate pe oscilații

Aceste giroscoape au fost dezvoltate la mijlocul secolului trecut. Principiul care stă la baza acestor giroscoape este bazat pe mișcarea oscilatorie a unei părți a instrumentului ce creează o viteză de oscilații. Dacă instrumentul este rotit în jurul unei axe perpendiculare pe direcția vitezei de oscilație apare astfel o accelerație Coriolis. Aceasta modifică mișcarea oscilatorie a elementului și, în situația în care ea poate fi determinată, va reprezenta o măsură a magnitudinii mișcării de rotație aplicate.

Senzorii din această categorie sunt în general ieftini, au dimensiuni mici (până la 25-30 mm), un timp de reacție scurt, ceea ce conduce la o inițializare rapidă a senzorului, dar și o sensibilitate mare la efectele mediului (în special temperatura). Din punct de vedere al preciziei, majoritatea senzorilor au precizii scăzute, stabilitatea acestora fiind de aproximativ 0.1° – 1°/s (eroare cunoscută și ca bias), dar există și modele ce pot oferi o stabilitate de chiar 0.01°/ora (Titterton & Wetson, 2004).

Există multe implementări ale acestor tipuri de giroscoape, în funcție de elementul oscilant ce stă la baza instrumentului. Acesta poate fi de tip: bandă, pereche de benzi, diapazon, disc, inel, cilindru, emisferă, etc. Principiile de funcționare sunt în mare parte aceleași, indiferent de tipul de element oscilant folosit.

Figura IV-50 – Reprezentare schematică a unui giroscop bazat pe oscilații în care elementul oscilant este de tip diapazon (redesenat după Titterton & Wetson, 2004)

În cele ce urmează va fi detaliat doar principiul senzorilor tip diapazon. Elementul senzitiv al acestor senzori este format din două structuri oscilante montate în paralel pe o singură bază, fiecare dintre aceste structuri având un corp de probă poziționat la capătul unei benzi flexibile. În momentul în care acestea se află în oscilație iar instrumentul capătă o rotație paralelă cu benzile, efectul Coriolis produce un cuplu în raport cu axa de rotație. Cuplul este oscilant și aflat în rezonanță cu viteza de oscilație a corpurilor de probă. Amplitudinea de oscilație va fi proporțională cu viteza de rotație aplicată.

O implementare tipică a acestui tip de giroscop este prezentată în figura de mai sus (Figura IV-50), în care senzorul cu circuit deschis are un singur grad de libertate.

În acest caz, cuarțul este dispus într-o configurație de tip H, în care o pereche de brațe oscilează la o frecvență de aproximativ 10 kHz. În momentul rotirii instrumentului, forța Coriolis face ca o altă pereche de brațe să oscileze. Oscilațiile acestora sunt observate cu ajutorul unui traductor capacitiv. Semnalele provenite de la cele două perechi de brațe sunt prelucrate în comun, obținând astfel viteza de rotație a instrumentului.

B1) Giroscoape optice

Această categorie de giroscoape este alcătuită din instrumentele ce pot determina mișcarea de rotație a corpurilor pe baza proprietăților radiației electromagnetice. De regulă aceste instrumente utilizează unde electromagnetice din spectrul vizibil, dar există și implementări pe baza undelor din infraroșul apropiat. Nu trebuie făcută confuzia între giroscoape optice ce se bazează pe metode interferometrice pentru a sesiza și determina mișcarea de rotație, și giroscoapele mecanice ce utilizează un traductor optic pentru a măsura amplitudinea sau viteza de rotație.

Primele giroscoape optice au fost inventate în jurul anilor 1960, iar dezvoltarea lor a fost rapidă, întrucât utilizarea acestora pentru a estima rotația corpurilor oferă anumite avantaje. Preciziile oferite de aceste instrumente variază de la 0.001°/h până la câteva grade pe oră pentru giroscoape simple. Avantajele majore le constituie inițializarea aproape instantanee, independența față de anumiți parametri ai mediului înconjurător (accelerație, vibrații, șocuri), capabilitatea de a determina mișcări de rotație a căror viteză este foarte mare și o durată de viață foarte lungă.

Principiul pe care se bazează giroscoapele optice este cunoscut sub denumirea de efectul Sagnac, după numele celui care l-a descoperit. Fie un interferometru în care lumina este constrânsă să se miște într-un inel de rază R. Lumina intră în dispozitiv prin punctul 1 (vezi figura de mai jos), în care este amplasată o oglindă semitransparentă. Timpul t de parcurgere a dispozitivului în cazul în care inelul este staționar este același pentru ambele unde și este egal cu:

(57)

Figura IV-51 – Principiul efectului Sagnac (redesenat după Eissfeller, GNSS/INS Sensor Fusion, 2008)

Dacă inelul suferă o mișcare de rotație cu viteza unghiulară , timpul de parcurgere pentru cele două unde se modifică, din cauza mișcării relative a undei și inelului. După cum se poate observa în figura de mai sus, ansamblul sursă/detector își va schimba poziția în urma mișcării de rotație, ajungând din punctul 1 în punctul 2. Astfel, unda ce se va deplasa în sens contrar mișcării inelului, va avea de parcurs un drum mai scurt, în timp ce unda ce se va deplasa în același sens cu direcția de rotație a inelului va avea de parcurs un drum mai lung. Raportat la spațiul inerțial, și interpretând diferențele de drum ca modificări ale vitezei, timpii de parcurgere pentru cele două unde ar fi (conform Aronowitz, 1999):

(58)

, unde :

(59)

Din diferența celor doi timpi și înlocuind cu A aria inelului, se obține:

(60)

Având în vedere că viteza de rotație este mult mai mică decât viteza luminii, se poate face aproximarea:

(61)

Diferența de drum pentru cele două unde va fi prin urmare:

(62)

Figura IV-52 – Reprezentare schematică a RLG

Există multiple implementări ale acestui principiu dintre care enumerăm: giroscopul inelar cu laser (RLG – Ring Laser Gyro), giroscopul cu fibră optică (FOG – Fiber Optic Gyro), giroscopul inelar cu cameră de rezonanță, etc. În cele ce urmează sunt prezentate doar câteva detalii referitoare la primul dintre aceste giroscoape.

RLG a fost dezvoltat la începutul anilor 1960, primul giroscop de acest tip având dimensiuni foarte mari și fiind foarte sensibil la șocuri și vibrații. Dezvoltările ulterioare au dus la crearea unor instrumente de mici dimensiuni, foarte robuste ce pot asigura bias-uri de până la 0.001°/h (Titterton & Wetson, 2004). Principiile RLG se bazează pe efectul Sagnac, folosind un drum optic în formă de triunghi utilizând trei oglinzi pentru a reflecta undele așezate în așa fel încât unda care se întoarce să fie în fază cu cea care este transmisă, creând astfel o undă staționară. În momentul apariției unei rotații, frecvențele undelor transmise (atât în sens orar cât și antiorar) se modifică pentru a menține condiția de rezonanță.

(63)

, unde q este un număr întreg, de regulă de ordinul milioanelor, iar o și a sunt cele două lungimi de undă.

Fie Lo și La lungimea drumurilor optice parcurse de cele două unde. În momentul rotirii dispozitivului cu viteza , cele două lungimi ale drumurilor optice se modifică astfel:

(64)

Trecând de la lungimi de undă la frecvențe se obține:

(65)

Astfel, mici modificări în lungimea drumului optic vor fi simțite în frecvență:

(66)

Înlocuind variația drumului optic L, pe baza relației (62), se poate observa că diferența dintre frecvențele celor două unde va fi direct proporțională cu viteza de rotație aplicată, ceea ce înseamnă ca va fi suficient să se determine diferența frecvențelor pentru a determina rotația:

(67)

Utilizând o oglindă semitransparentă, o parte din lumina transmisă (atât orar cât și antiorar) este eliberată după ce a parcurs drumul optic. Cele două unde sunt transmise suprapus cu ajutorul unei prisme, generând astfel franje de interferență pe un set de fotodiode. Franjele de interferență se deplasează peste setul de detectori cu o viteză proporțională cu diferența dintre frecvențele celor două unde, care la rându-i este proporțională cu viteza de rotație a instrumentului

De menționat că aceste tipuri de giroscoape nu pot detecta viteze de rotație mici (Groves, 2008).

B2) Giroscoape bazate pe interferometrie cu atomi reci

Senzorii ce utilizează aceste tehnici se află încă în fazele incipiente de dezvoltare practică dar, cercetările realizate până în momentul de față în acest domeniu îl prezintă ca având perspectivele cele mai bune din punct de vedere al preciziei și stabilității (bias foarte mic), robustețe și chiar costuri reduse .

Acești senzori se bazează pe răcirea unui atom sau a unei molecule prin răcire laser folosind lungimea de undă de Broglie (aproximativ 3 x 105 din lungimea de undă a luminii vizibile). Trebuie menționat că senzorii ce utilizează aceste tehnici nu sunt doar senzori de detectare a mișcării de rotație ci și accelerometre sau gravimetre (ce determină variații ale vectorului gravității în zone din apropierea suprafeței terestre).

Unități inerțiale de măsurare (IMU). Sisteme de navigație inerțiale (INS)

În subcapitolele precedente au fost prezentate principalele tipuri de senzori ce pot fi folosiți pentru a determina accelerațiile unor corpuri sau rotațiile acestora (mai precis vitezele de rotație). Acești senzori independenți determină accelerațiile sau rotațiile în raport cu o singură axă senzitivă. În navigația reală, corpurile se mișcă într-un sistem tridimensional. De aceea, pentru a estima corect traiectoria corpurilor, este necesară în primul rând o combinare a acestor tipuri de senzori, respectiv giroscoape și accelerometre, dar și o utilizare a unui număr mai mare din fiecare tip de senzor, pentru a estima rotațiile și accelerațiile în raport cu un sistem de trei axe reciproc perpendiculare.

Figura IV-53 – Definirea IMU/INS conform normelor IEEE

Ansamblul de senzori utilizați pentru determinarea forței specifice (accelerometre) și a vitezelor de rotație (giroscoape), poartă denumirea de Unitate Inerțială de Măsurare (Inertial Measurement Unit – IMU). Pentru aplicații ce necesită și un calcul al poziției și orientării vehiculului, este necesar ca IMU să fie completat cu un microprocesor ce rezolvă ecuațiile de orientare și de navigație. Ansamblul format din microprocesorul de navigație, unitatea inerțială de măsurare, sursa de energie și sistemul de atenuare a vibrațiilor poartă denumirea de Sistem Inerțial de Navigație (Inertial Navigation System – INS). În figura de mai sus (Figura IV-53 – Definirea IMU/INS conform normelor IEEE) se prezintă schematic diferența dintre IMU și INS, conform normelor IEEE

Sisteme de navigație complexe realizate prin cuplarea GNSS/INS

Motivație

Sistemele de navigație prezentate anterior au fiecare o serie de avantaje și dezavantaje. Pe de-o parte, sistemele inerțiale de navigație sunt sisteme continue ce pot oferi măsurători la o rata de 50 Hz cu zgomot redus pe timp scurt și fără a avea nevoie de informații externe. Pe baza măsurătorilor și a unui set de valori inițiale se pot determina elemente de orientare ale vehiculului, accelerații, viteze și poziții. În schimb, având în vedere că erorile de măsurare sunt integrate în cadrul ecuațiilor de navigație, precizia soluțiilor determinate cu ajutorul sistemelor de navigație inerțiale se degradează în timp. Există soluții scumpe ce oferă stabilitate din punct de vedere al preciziei pentru perioade mai îndelungate dar acestea sunt în prezent extrem de scumpe.

Pe de altă parte, sistemele de navigație satelitare asigură precizii ridicate de poziționare (submetrice în cazul utilizării tehnicilor DGNSS) ce nu se degradează în timp considerând că geometria satelitară nu se schimbă radical. De asemenea, receptoarele GNSS au prețuri mult mai accesibile față de sistemele inerțiale scumpe. Cu toate acestea, rata de măsurare este mult redusă, de regulă cel mult 10Hz, iar zgomotul măsurătorilor de cod este destul de ridicat. Mai mult, sistemele de navigație satelitară oferă doar soluții punctuale și viteze, fără a putea oferi informații despre orientarea vehiculului iar aceste soluții nu sunt continue în cazul apariției unei interferențe sau a unor obstrucții ale semnalului satelitar.

Din cele prezentate mai sus se poate observa că cele două sisteme sunt aproape complementare, dezavantajele unei tehnici fiind compensate de cea de-a doua. Astfel o soluție integrată de navigație de tip GNSS/INS sau INS/GNSS poate oferi soluții continue, precise cu o rată de efectuare a observațiilor extrem de ridicată. În astfel de sisteme, măsurătorile GNSS limitează erorile cumulative ale soluției inerțiale, în timp ce măsurătorile INS netezesc soluția GNSS și asigură poziționare pentru zonele lipsite de semnal.

Figura IV-54 – Integrarea liberă

Tipuri de arhitecturi GNSS/INS

Există diferite tipuri de arhitecturi de integrare a datelor provenite de la cele două tipuri de senzori în raport cu: modul în care corecțiile sunt aplicate soluției sistemului inerțial, tipurile de măsurători GNSS utilizate și modalitatea în care echipamentul GNSS primește răspuns de la de algoritmul de integrare.

S-au dezvoltat astfel noțiunile de soluție necuplată, integrare liberă (loosely coupled), integrare strânsă (tightly coupled) sau integrare super-strânsă (ultratightly coupled sau deeply coupled). Nu există însă standarde definite pentru niciuna dintre aceste noțiuni.

Soluția necuplată este cea mai simplă metodă de integrare GNSS/INS, ce presupune o resetare la anumite intervale a soluției inerțiale pe baza soluției satelitare. Astfel are loc o limitare a erorilor cumulative oferite de soluția inerțială. Această metodă este utilă pentru anumite aplicații (chiar și pentru scanarea terestră mobilă) însă soluții mai stabile și mai performanțe pot fi obținute doar prin soluții de integrare printr-una din metodele prezentate mai jos.

Integrarea liberă presupune utilizarea a două filtre Kalman în cascadă sau succesive. Astfel, soluția GNSS este obținută independent cu ajutorul filtrului Kalman intern al echipamentului. Pozițiile și/sau vitezele obținute pe baza GNSS sunt apoi introduse ca măsurători într-un al doilea filtru Kalman de integrare ce le utilizează pentru a estima corecțiile ce trebuie aplicate soluției INS. Acest filtru Kalman, și deci acest tip de integrare, va oferi ca rezultat soluția INS corectată pe baza erorilor estimate de filtru. O imagine schematică a acestui tip de integrare poate fi observată în figura de mai jos (Figura IV-54 – Integrarea liberă).

Deși este suficient să se utilizeze poziții obținute pe baza sistemelor de navigație satelitară pentru a îmbunătăți soluția INS, de obicei în cadrul filtrului Kalman de integrare se utilizează atât viteze cât și poziții provenite de la echipamentele GNSS pentru a obține o soluție mai robustă.

În cele ce urmează vom prezenta relațiile de estimare utilizate de filtrul Kalman de integrare pentru cazul integrării libere.

Trebuie făcută încă de la început distincția între filtre de tip GNSS/INS și INS/GNSS în cazul integrării libere. Primul caz presupune ca senzorul principal să fie receptorul GNSS, măsurătorile INS fiind cele ce ajută sistemul de navigație, în timp ce al doilea caz presupune ca senzorul GNSS să fie cel ce îmbunătățește poziția dată de INS. Dezvoltările de mai jos se referă la cazul integrării GNSS/INS.

Vectorul de stare al filtrului va conține eroarea în poziție pe cele 3 direcții (raportate la un sistem ECEF), eroarea vitezei pe cele 3 direcții, eroarea de ceas a receptorului (bias) și rata de variație a acesteia (drift).

(68)

Pentru a formula matricea de tranziție vom scrie ecuațiile de propagare a elementelor din vectorul de stare:

(69)

Și astfel, matricea de tranziție (în cazul discret) va deveni:

(70)

Vectorul de stare se poate inițializa cu valorile nule, în timp ce pentru matricea de varianță covarianță inițială a vectorului de stare se pot alege următoarele valori considerând o precizie de poziționare inițială de 20m, o viteză inițială de 10 m/s, echivalentul în metri al erorii de ceas a receptorului egal cu 105m (Groves, 2008):

(71)

Presupunând o matrice de zgomot a sistemului de forma:

(72)

, și o matrice de zgomot a măsurătorilor de forma:

(73)

, filtrul poate propaga vectorul de stare prezis la iterația următoare împreună cu matricea sa de varianță-covarianță folosind relațiile (29) și (32), și ulterior poate calcula câștigul folosind relația (41).

Pentru a determina matricea de calcul a observației prezise este necesară determinarea unui vector de direcție (LOS- Line of Sight), bazat pe poziția și vitezele obținute de la sistemul inerțial și poziția și vitezele sateliților calculate pe baza mesajului de navigație. Vectorul de direcție este obținut apoi prin normalizare iar matricea H va avea forma:

(74)

Cu ajutorul acesteia și a măsurătorii ce conține pseudodistanța și variația pseudodistanței se pot estima starea curentă și matricea de varianță covarianță aferentă cu ajutorul relațiilor (41) și (38).

Problema majoră a integrării libere GNSS/INS este utilizarea filtrelor Kalman succesive, deoarece parametrii estimați de filtrul Kalman al echipamentului GNSS sunt apoi utilizate ca măsurători în cadrul filtrului Kalman de integrare. După cum se menționa în capitolul 2, în formularea filtrului Kalman se pleacă de la presupunerea că măsurătorile sunt necorelate și că zgomotul acestora este Gaussian, ceea ce în cazul acesta nu este neapărat adevărat.

Figura IV-55 – Integrarea strânsă

Integrarea strânsă elimină principalul dezavantaj al modului de integrare precedent, prin eliminarea filtrului Kalman al echipamentului GNSS. În acest caz, filtrul Kalman eliminat este cuprins în filtrul de integrare ce primește de data aceasta din partea echipamentului GNSS direct măsurători de pseudodistanță și rate de variații ale pseudodistanțelor. Aceste măsurători sunt utilizate pentru a estima erori ale soluției inerțiale de poziționare, iar măsurătorile INS brute sau corectate pot fi folosite pentru o urmărire mai bună a semnalelor GNSS în ciclurile de urmărire ale fazei și ale codului.

Integrarea strânsă este cel mai des caz de integrare întâlnit în echipamentele de navigație complexe bazate pe soluții satelitare și inerțiale, întrucât prezintă anumite avantaje majore față de celelalte. În primul rând, după cum se menționa mai devreme, este eliminată utilizarea filtrelor Kalman succesive și astfel îndepărtate problemele statistice ce luau naștere prin considerarea parametrilor estimați de primul filtrul ca măsurători necorelate în al doilea filtru. Mai mult, în cazul primului tip de integrare era necesară obținerea unei poziții sau viteze în cadrul primului filtrul pentru a o folosi ca măsurătoare în cel de-al doilea. Acest lucru este posibil, după cum s-a prezentat în capitolul precedent, doar cu condiția să existe măsurători asupra semnalului provenit de la minim patru sateliți. Condiția precedentă nu este întotdeauna îndeplinită și astfel în cazul existenței a doar 3 măsurători ele nu sunt utilizate iar erorile INS nu pot fi estimate în filtrul Kalman de integrare. În cazul integrării strânse echipamentul GNSS transmite direct măsurătorile de pseudodistanță și/sau ratele de variație ale pseudodistanței și astfel soluția INS poate fi îmbunătățită. O schemă a integrării strânse poate fi observată în imaginea de mai sus.

Atât în cazul integrării libere cât și în cazul integrării strânse, soluția inerțială poate fi utilizată pentru a îmbunătăți urmărirea și achiziționarea semnalelor GNSS.

Integrarea super-strânsă implică urmărirea semnalelor GNSS ca parte a arhitecturii de integrare, în sensul că soluția INS poate fi utilizată în acest scop obținând astfel soluții mai robuste în cazul bruiajelor. Acest tip de integrare presupune nu doar cuplarea datelor dar și cuplarea senzorilor, modele de calcul devenind foarte complicate. Din aceste motive, integrarea super-strânsă nu va fi detaliată în prezentul studiu întrucât astfel de soluții nu sunt utilizate în general în cazul sistemelor terestre mobile de scanare.

Realizarea sistemelor terestre mobile de scanare

Arhitectura sistemelor terestre mobile de scanare

Scanarea terestră mobilă presupune un instrument de scanare aflat în permanentă mișcare în timpul operațiunilor de scanare. Instrumentele de scanare sunt alcătuite în general dintr-un sistem laser de măsurare a distanței și un sistem de baleiere a razei laser. Sistemul de baleiere este, în majoritatea cazurilor, o oglindă sau o prismă ce se rotește cu viteze foarte mari, reflectând raza laser sub diverse unghiuri de incidență. Norul de puncte este obținut astfel prin realizarea mai multor măsurători de distanțe pe diferite direcții bine definite. În cazul scanărilor statice, pentru fiecare punct scanat sunt determinate unghiul orizontal, unghiul vertical și distanța dintre centrul optic al instrumentului și punct.

Distanțele măsurate, împreuna cu unghiurile asociate (orizontal si vertical), stau la baza generării norului de puncte. Acesta este alcătuit dintr-un număr de linii, ce alcătuiesc un cadru, iar fiecare linie este alcătuită dintr-un număr relativ mare de puncte. Un cadru poate conține sute de linii. Instrumentele sunt astfel construite încât să asigure o densitate foarte mare de puncte pe o linie iar aceasta să fie realizată rapid, lucru posibil prin rotirea cu o viteză foarte mare a oglinzii cu care este prevăzut scanerul.

Pentru cazul sistemelor terestre mobile de scanare, scanarea pe cadre nu mai are sens. De aceea, în cazul scanărilor mobile singura deviație a razei laser rămâne deviația verticală generată prin rotația oglinzii interne a instrumentului, scanând astfel doar linii ce nu mai alcătuiesc cadre.

Poziția punctelor măsurate în procesul de scanare poate fi determinată prin metoda coordonatelor polare dar ele vor fi raportate la centrul instrumentului de scanare. Acesta se află în mișcare și va avea coordonate variabile în raport cu timpul. De aceea este necesar să se determine cu precizie traiectoria pe care o va avea instrumentul în timpul scanării și astfel poziția sa în orice moment, având în vedere rata de scanare a punctelor.

Pentru a rezolva această problemă se utilizează un sistem de navigație complex denumit în cele ce urmează POS (denumire provenită de la sistemele de poziționare oferite de firma Applanix). Pentru sistemele terestre mobile de scanare, unitatea POS este alcătuită dintr-un sistem de navigație inerțială (INS), și un set de receptoare GNSS cu posibilitate de măsurători diferențiale. Generarea corecțiilor diferențiale se face fie pe baza observațiilor de la anumite stații permanente aflate în zona de lucru fie cu ajutorul unor receptoare amplasate pe puncte cunoscute în aceeași zonă. Pentru zone întinse de scanare, pentru care distanța dintre stațiile DGNSS fixe și instrumentul de scanare depășește 15 km, se utilizează stații multiple distribuite pe toată zonă de lucru. În acest caz pot fi aplicate și tehnici VRS de poziționare ce generează corecții diferențiale pentru o stație de referință virtuală aflată aproape de zona de lucru. Corecțiile diferențiale sunt aplicate de regulă în mod post-procesare, pentru a corecta observațiile brute ce vor fi utilizate de filtrul Kalman al integrării strânse. Nu este astfel necesar să existe o conexiune directă în timpul operațiunilor de scanare între receptoarele GNSS ale sistemului terestru mobil de scanare și receptoarele GNSS fixe.

Unitatea inerțială din cadrul INS este poziționată cât mai aproape de sistemul de scanare pentru a determina rotațiile cât mai aproape de acesta, chiar dacă platforma este rigidă. Există și posibilitatea de a amplasa IMU chiar dedesubtul sau deasupra instrumentului de scanare, dar, în general, sistemele terestre mobile de scanare fiind modulare, această opțiune nu este o soluție practică.

Unitatea inerțială oferă soluții optime în cazul scanărilor dinamice, însă, în scanarea terestră mobilă, din cauza mediului sau a condițiilor de trafic, platforma purtătoare poate deveni statică. În acest caz, procesul de estimare nu va oferi soluții optime, întrucât el se va baza doar pe observațiile GNSS. Pentru a elimina această problemă de estimare în cazul în care platforma devine temporar statică, sistemele terestre mobile sunt dotate cu un senzor adițional de măsurarea a distanței montat pe roata vehiculului (DMI – Distance Measurement Instrument). Măsurătorile provenite de la acest senzor sunt integrate în filtrul Kalman și oferă o mai bună estimare a vitezei și a accelerației platformei dar ajută în primul rând la determinarea pozițiilor statice ale platformei, caz în care poziția scannerului va fi fixă, eventuale modificări ale acesteia provenind doar din mișcările mici de înclinație a platformei (ruliu și tangaj) determinate de giroscoapele integrate în unitatea inerțială de măsurare.

Figura IV-56 – Imagine schematică a unui sistem terestru mobil de scanare

Sistemele terestre mobile de scanare pot include și alți senzori ce pot fi folosiți fie pentru o mai bună determinare a traiectoriei, cu alte cuvinte, senzori ce pot asigura observații de poziții, viteze sau accelerații, fie pentru o mai bună interpretare a norului de puncte obținut, fie chiar pentru alte tipuri de măsurători. Pentru a doua categorie de senzori, un exemplu ce ar trebui menționat este includerea în sistemul de scanare a unei/unor camere foto pentru a colecta informații despre culoarea obiectului scanat. După calibrare și sincronizare, fiecărui punct determinat prin scanare, îi vor fi atașate valori pentru intensitatea RGB preluate din pixelul corespunzător al imaginii preluate de camera foto. Aceleași camere pot fi integrate și ca senzori ce oferă alt tip de măsurători. În acest caz pot fi integrate două sau mai multe camere foto sau video ce vor avea o acoperire stereografică și pe baza cărora pot fi generate apoi modele ale obiectelor sau obiectivelor scanate. De asemenea, tot în această categorie ar putea intra ecosondele montate pentru determinarea adâncimii apelor în cazul instrumentelor mobile de scanare montate pe ambarcațiuni. O imagine schematică a arhitecturii sistemelor terestre mobile de scanare este reprezentată în Figura IV-56.

După realizarea măsurătorilor, în primă fază sunt corectate observațiile efectuate de receptoarele GNSS ale sistemului terestru mobil de scanare cu ajutorul corecțiilor provenite de la stațiile GNSS de referință amplasate în zona de lucru folosind programe adecvate. De regulă se folosesc observații la 1 secundă pentru a determina poziția instrumentului de scanare. După corectarea observațiilor, acestea împreună cu observațiile provenite de la unitatea inerțială de măsurare IMU și de la ceilalți senzori atașați sistemului, cum ar fi senzorul DMI de măsurare a distanței amplasat pe roată, sunt integrate într-un filtru Kalman ce estimează pozițiile instrumentului de scanare și unghiurile de rotație ale platformei, respectiv ruliul, tangajul și girația pentru fiecare determinare a poziției. Integrarea se face în cazul sistemelor terestre mobile de scanare la nivel de observații, vorbind, cu alte cuvinte de o integrare strânsă a senzorilor, în sensul în care observațiile GNSS corectate nu sunt folosite pentru a estima poziții, viteze sau accelerații ci sunt folosite ca observații brute, după cum se preciza în paragrafele precedente. Pozițiile instantanee ale instrumentului de scanare sunt determinate cu precizie centimetrică sau cel mult decimetrică în zone unde geometria satelitară este defavorabilă sau semnalul satelitar este inexistent iar soluția filtrului Kalman provine direct din observațiile inerțiale pentru o lungă perioadă de timp.

Pachetul software utilizat pentru determinarea traiectoriei salvează pozițiile și orientările împreună cu marca de timp pentru care ele au fost determinate într-un fișier ce va fi utilizat în următoarea etapă pentru a realiza norul de puncte. Pentru aceasta observațiile LIDAR trebuie să aibă o marcă de timp similară pentru a putea fi sincronizate.

Aspecte privind sincronizarea echipamentelor

La ora actuală, majoritatea sistemelor existente pe piață sunt sisteme modulare ale căror componente provin de la diverse firme producătoare. În general sistemul de scanare LIDAR este produs de firme precum Sick, Riegl, etc., în timp ce pentru sistemul de poziționare integrat GNSS/INS sunt utilizate soluții dezvoltate de firme precum Applanix, TERRAcontrol, ș.a.m.d. Există desigur și soluții integrate dezvoltate de anumite companii din domeniu cum ar fi 3DLM sau Topcon dar principial arhitectura este similară.

Datele obținute din operațiunea de scanare a punctelor sunt stocate de unitatea de control a scannerului laser (LCU) în timp ce datele GNSS – IMU sunt stocate de subsistemul de navigație POS. LCU și POS lucrează independent, în propriul sistem de timp definit de oscilatorul intern al fiecăruia. Pentru ca datele oferite de subsistemul de navigație POS și de LCU să fie sincronizate, ar fi necesar și suficient ca oscilatoarele interne ale celor două subsisteme să fie perfect sincronizate. Pentru aceasta, la începutul fiecărei linii de scanare, timpul LCU este inserat în fluxul de date stocate. În paralel cu această înregistrare, marca de timp a semnalului de tip PPS (pulse per second) provenit de la subsistemul POS si marca de timp a LCU la momentul emiterii impulsului respectiv sunt stocate într-un fișier separat. Semnalul de tip PPS emis de subsistemul POS declanșează o cerere de întrerupere (IRQ – Interrupt Request) ce are ca efect stocarea mărcilor de timp de la POS și LCU. Diferențele de timp dintre marca provenită de la oscilatorul intern al sistemului de scanare și marca de timp, considerată valoare de referință, provenită de la receptorul GNSS al subsistemului POS, poate fi utilizată apoi pentru a corecta erorile de sincronizare. Această metodă oferă o stabilitate a sincronizării de 10s sau chiar mai puțin. De regulă, aceste date sunt stocate iar sincronizarea se face ulterior, în mod postprocesare, înainte de a genera norul de puncte direct georeferențiat. Astfel utilizatorul va avea trei fișiere distincte după următoarea structură:

Fișierul de date brute LIDAR ce conține marca de timp dată de LCU pentru fiecare nouă linie scanată urmată de un set de observații pentru fiecare punct în parte ce implică unghiurile instantanee măsurate, distanța înclinată până la punct și intensitatea

Fișierul de protocol ce conține mărcile de timp oferite de oscilatoarele interne LCU și POS la intervale egale (de regulă de 1 secunda – PPS) prin declanșarea IRQ.

Fișierul de observații al subsistemului POS ce conține pozițiile tridimensionale ale acestuia precum și înclinările instantanee ale platformei în raport cu timpul GPS.

Pentru a descrie mai bine sincronizarea dintre POS și LCU a sistemului terestru mobil de scanare, este prezentat în cele ce urmează principiul de sincronizare utilizat de scannerul Riegl LMS–420i. Acesta beneficiază de un oscilator intern, denumit SyncTimer cu o frecvență de 100kHz și o stabilitate de 10s. Oscilatorul este inițializat la momentul pornirii instrumentului și se reinițializează la fiecare 167.77216 secunde. Acest oscilator poate fi reinițializat și printr-o declanșare de tip IRQ provenită de la un impuls exterior. Impulsul va incrementa un contor, denumit SyncCounter, la fiecare reinițializare a SyncTimer. Dacă impulsul are loc cu o rată de 1pps (cazul GNSS), SyncCounter va contoriza secundele iar SyncTimer va reprezenta fracțiunea de secundă trecută de la ultima schimbare de secunda. Fiecare măsurătoare (fiecare punct determinat) va avea atașată o marcă de timp obținută pe baza SyncCounter și SyncTimer. Mai exact, computerul ce controlează operațiunea va extrage din observațiile POS data și timpul următoarei observații și va trimite scannerului o comandă de sincronizare ce va cuprinde și informațiile de timp/data. Instrumentul de scanare va aștepta următorul impuls extern și va reinițializa SyncTimer și incrementa SyncCounter. Informațiile referitoare la timpul/data primei sincronizări sunt denumite “epocă” și sunt trecute în header-ul fișierului de date scanate.

După sincronizare, timpul T calculat cu:

(75)

, va reprezenta timpul în secunde scurs de la ultima sincronizare. Adunând la T epoca inițială menționată în header se obține valoarea în sistem de timp GPS (GPS Time).

Informația de timp referitoare la datele scanate este generată pe baza unui alt contor denumit LineSyncCounter și a unui alt sincronizator denumit LineSyncTimer pentru fiecare linie scanată și pe baza unui contor denumit ShotSyncCounter pentru fiecare măsurătoare a instrumentului de scanare. LineSyncCounter si LineSyncTimer reprezintă SyncCounter si SyncTimer pentru prima măsurătoare din linie. ShotSyncCounter reprezintă momentul fiecărei măsurători din linie raportat la prima măsurătoare. Astfel, timpul observației raportat la momentul ultimei sincronizări va fi:

(76)

Instrumentele de scanare au o rezoluție temporală mult mai înaltă decât intervalul de înregistrare al fișierului de observații POS și din acest motiv vor scana mai multe linii între două înregistrări succesive ale POS. De aceea, va fi necesară o interpolare pentru a determina poziția instrumentului la un anumit moment între cele două înregistrări. De regulă sunt folosite interpolări liniare, întrucât acestea oferă soluții suficient de precise pentru acest caz, însă sunt posibile și interpolări de ordin superior, accelerația platformei fiind cunoscută din determinările POS.

În cazul în care sistemele mobile de scanare implică și alți senzori de observații, cum ar fi camera digitală utilizată pentru atribuirea unei combinații RGB pentru fiecare punct scanat sau ecosondele pentru modelarea adâncimii apelor în cazul sistemelor mobile ale căror platforme purtătoare sunt reprezentate de ambarcațiuni, trebuie menționat că și acestea trebuie sincronizate cu subsistemul POS pentru a putea georeferenția direct toate observațiile provenite de la acești senzori. Nu intră în această categorie senzorii ce sunt folosiți in determinarea traiectoriei, cum ar fi odometrele sau senzorii de măsurare a distanței parcurse pentru sistemele terestre mobile amplasate pe autovehicule, întrucât observațiile provenite de la acestea intră direct în filtrul Kalman de estimare a traiectoriei al subsistemului POS.

Aspecte privind calibrarea sistemului

Principiile de calibrare ale sistemelor terestre mobile de scanare diferă de la producător la producător (dacă discutăm de soluții integrate comercializate) sau chiar de la echipament la echipament în funcție de capabilitățile sistemului și de mediul în care acesta este utilizat. Trebuie menționat încă de la început că nu există o metodologie clară pe baza căreia să se poată calibra toate sistemele terestre mobile de scanare. Fiecare firmă producătoare de astfel de echipamente include în aplicațiile software pe care le furnizează împreună cu produsul achiziționat și un pachet destinat calibrării instrumentului, pachet dezvoltat pe baza metodologiilor proprii. Mai mult, în ultima perioadă calibrarea realizată de utilizator se rezumă la calibrarea senzorilor adiționali (camere video, foto, etc.). Calibrarea sistemelor integrate se face doar de către firma producătoare în baza procesului de mentenanță asigurat.

Din aceste considerente, firme ca Riegl, Topcon, 3DLM sau Optech ce au dezvoltat sisteme terestre mobile de scanare ca sisteme integrate, nu au publicat date referitoare la calibrarea internă și de aceea nu vor fi discutate în această lucrare calibrările acestor echipamente, studiul fiind axat pe sisteme terestre mobile de scanare dezvoltate ca sisteme modulare.

Calibrarea sistemelor terestre mobile de scanare pornește de la calibrarea echipamentelor independente ce intră în alcătuirea sistemelor, și anume:

Calibrarea receptoarelor DGNSS

Calibrarea instrumentului de scanare

Calibrarea senzorului DMI

Calibrarea echipamentelor multibeam sau a ecosondelor

Calibrarea unității inerțiale

Calibrarea camerei digitale

După calibrarea independentă a echipamentelor, este necesară determinarea parametrilor de orientare interioară a sistemului în sine, respectiv a poziției relative dintre echipamente și a amplasării lor față de sistemul de axe al platformei purtătoare.

Calibrarea receptoarelor DGNSS constă în compararea poziției instantanee determinată de receptor cu o poziție determinată prin măsurători clasice de pe puncte de coordonate cunoscute cu ajutorul unei stații totale și a unei prisme amplasate deasupra antenei. Măsurătorilor de distanță și de direcții efectuate către prisma de pe antena li se vor atașa și mărci de timp pentru o mai bună interpretare a datelor. O altă variantă pentru calibrarea receptorului DGNSS al sistemului implică utilizarea unui alt receptor cu posibilități RTK și analizarea celor două poziții obținute.

Calibrarea unității inerțiale este de regulă realizată de producătorul de echipamente (Applanix, Sentera, etc.) care determină poziția reciprocă a accelerometrelor și giroscoapelor ce intră în alcătuirea IMU, determină erorile unghiulare reziduale ale poziției axelor accelerometrelor și giroscoapelor față de pozițiile nominale, studiază dependența sistemului față de temperatură, și marchează cu precizie pe carcasa unității amplasamentul punctului pentru care se determină poziția, viteza și accelerația.

Calibrarea instrumentului de scanare este, de asemenea, realizată în cele mai multe cazuri de producătorii de echipamente care oferă și posibilitatea de recalibrare la anumite intervale de timp. Parametrii de calibrare sunt stocați intern de echipament iar măsurătorile (distanță, unghiuri măsurate și intensitate) sunt corectate de programul implementat în instrumentul de scanare.

Scopul cel mai important al sistemelor mobile de scanare este de a putea georeferenția direct observațiile obținute. După cum se menționa, cinematica mișcării se poate exprima prin oricare dintre formele prezentate, respectiv unghiuri Euler, matrice de rotație sau cuaternioni, într-unul dintre sistemele de coordonate necesar mișcării. În cazul sistemelor mobile de scanare se dorește trecerea de la sistemul de coordonate al vehiculului (b) la sistemul de navigație (n) sau cel inerțial geocentric (e). Astfel, se poate face legătura dintre sistemul de coordonate al vehiculului și un sistem de coordonate cvasiinerțial terestru. Fiecare dintre instrumentele calibrate independent raportează observațiile și eventualele rezultate ale procesării interne ale acestora (pentru a obține de exemplu poziția, viteza și accelerația) la centrul lor geometric. Din aceste motive, pentru fiecare instrument ce intră în alcătuirea sistemului mobil de scanare trebuie determinate poziția și orientarea în raport cu sistemul de coordonate al vehiculului, așa cum a fost el definit anterior.

Pentru a putea defini sistemul de coordonate al vehiculului, trebuie realizat în primul rând un model al acestuia, model obținut fie prin măsurători clasice, fie prin scanare laser statică și prelucrarea norului de puncte. După realizarea acestui model și stabilirea axelor sistemului de coordonate al vehiculului, prin măsurători clasice folosind o stație totală și metode adecvate de măsurare se determină pozițiile centrelor geometrice ale instrumentelor ce intră în alcătuirea sistemului mobil de scanare.

Tot cu ajutorul aparatelor clasice se poate asigura o instalare a instrumentelor în așa fel încât axele lor să fie cât mai aproape de axele unui sistem paralel cu cel al vehiculului cu originea în centrul geometric al instrumentului respectiv. Cu toate acestea, vor exista în continuare mici erori reziduale ale orientării axelor instrumentelor iar ultima fază a procesului de calibrare constă în determinarea acestor unghiuri mici reziduale. O imagine schematică a amplasării instrumentelor se poate vedea în figura de mai sus.

Paragrafele ce urmează prezintă o modalitate de determinare a unghiurilor mici reziduale pentru un sistem de scanare multibeam montat pe o ambarcațiune, sistem al cărui principiu este similar cu cel al senzorilor LiDAR din platformele terestre.

Figura IV-57 – Poziția sistemelor de coordonate ale instrumentelor față de sistemul de coordonate al corpului (vehiculului)

Eroarea reziduală a unghiului de rotație (roll) este cea mai importantă valoare ce trebuie corectată întrucât o eroare mică a unghiului de rotație introduce erori semnificative în adâncimile de sondare, în special în apele adânci. O imagine în care este prezentată această eroare poate fi observată în figura de mai jos (Figura IV-58 – Eroarea reziduală a unghiului de rotație).

Pentru a detecta și reduce influența acestei erori se sondează dus-întors, mergând la aceeași viteză, o zonă în care fundul apei are o formă cât se poate de plană. Cele două scanări se introduc în programul de calibrare care compară cele două rezultate. Din cauza erorii de rotație, o suprafață plană orizontală apare înclinată în urma sondării. În cazul sondării dus-întors a aceleiași suprafețe cele două rezultate ale ecosondării apar înclinate însă cu unghiuri opuse. Programul de calibrare poate estima unghiul de rotație și acesta este folosit pentru a corecta observațiile. De regulă, procesul de determinare a erorii unghiului de rotație este iterativ și se repetă până când unghiul dintre cele două suprafețe este estimat ca fiind zero în cadrul subrutinei de calibrare. În imaginea de mai jos (Figura IV-59 – Determinarea erorii reziduale a unghiului de rotație în QINSy) este prezentată o captură din programul QINSy dezvoltat de firma QPS pentru rezultatul ecosondării dus-întors a unei suprafețe plane în scopul determinării erorii reziduale a unghiului de rotație.

Figura IV-58 – Eroarea reziduală a unghiului de rotație

Figura IV-59 – Determinarea erorii reziduale a unghiului de rotație în QINSy

Eroarea reziduală a tangajului (pitch) poate fi determinată prin sondarea dus-întors la aceiași viteză a unei zone în care fundul apei are o pantă abruptă. O imagine a efectului erorii reziduale a tangajului poate fi observată în imaginea de mai jos (Figura IV-60 – Eroarea reziduală a unghiului de tangaj).

Prin scanarea dus întors la aceeași viteză a unei zone în care fundul apei are o pantă abruptă se obțin două profile care nu se aliniază din punct de vedere al pantei. Subrutina de calibrare poate compara cele două profile și estima eroarea reziduală a unghiului de tangaj. Și în acest caz procesul de calibrare a acestei erori este unul iterativ ce se oprește când cele două profile utilizate în procesul de calibrare se suprapun perfect. O mențiune importantă ce trebuie făcută în cazul determinării acestei erori este că vasul trebuie să realizeze sondarea peste exact aceeași zonă în ambele cazuri. Mai jos se poate observa o captură din subrutina programului QINSy pentru identificarea erorii reziduale a unghiului de tangaj (Figura IV-61 – Determinarea erorii reziduale a unghiului de tangaj în QINSy).

Figura IV-60 – Eroarea reziduală a unghiului de tangaj

Figura IV-61 – Determinarea erorii reziduale a unghiului de tangaj în QINSy

Eroarea reziduală a unghiului de girație (yaw) este de regulă cea mai grea dintre cele trei erori ce trebuie identificate pentru a realiza calibrarea echipamentului multibeam. Pentru a putea estima această eroare reziduală a girației se utilizează de regulă ecosondarea unei zone în care pe fundul apei există o zonă ușor identificabilă. O imagine a acestei erori poate fi analizată în imaginea de mai jos (Figura IV-62 – Eroarea reziduală a unghiului de girație).

Este posibilă și utilizarea unei zone în care fundul apei are o pantă abruptă însă aceasta trebuie să fie perpendiculară pe direcția de scanare iar zona de sondare utilizată pentru calibrare nu este cea direct de sub nava ci zonele înclinate și de aceea utilizarea unei zone ușor identificabile face estimarea mult mai ușoară. Pentru estimarea acestei erori, după cum se poate observa în figura de mai sus, se utilizează două direcții paralele pe care le va parcurge nava în timpul sondării; direcții aflate de o parte și de alta a zonei ușor identificabile la o distanță de aproximativ 2-3 ori adâncimea de scanare. Eroarea unghiului de girație va putea fi observată în poziționarea eronată a zonei identificabile.

Figura IV-62 – Eroarea reziduală a unghiului de girație

Pentru calibrarea instrumentului de scanare laser terestră se folosesc metode bazate mai mult sau mai puțin pe aceleași principii. Astfel determinarea poziției centrului geometric al instrumentului în sistemul de coordonate al corpului se face prin măsurători clasice utilizând o stație totală. Același instrument este totodată folosit și pentru instalarea aproximativă a instrumentului. Pentru estimarea unghiurilor reziduale se efectuează mai multe scanări la viteze egale cu instrumentul scanând perpendicular pe direcția de deplasare, sau înclinat față de aceasta cu 30°, 45° sau 60°. Cu ajutorul unor subrutine dedicate se pot determina ulterior în postprocesare unghiurile reziduale de înclinare și astfel calibra instrumentele de scanare.

Modele de prelucrare în estimarea formei

Noțiuni generale despre teoria estimării

Scurtă introducere în teoria estimării

Teoria estimării este o ramură a statisticii ce se ocupă cu estimarea parametrilor ce descriu sau modelează un proces, fenomen sau obiect pe baza unui set de măsurători afectate de o componentă arbitrară.

Scopul estimării este acela de a trage concluzii, de a îmbunătăți cunoștințele și de a face predicții ulterioare referitoare la fenomenul, procesul sau obiectul respectiv.

Statistic, termenul de „parametru” reprezintă o caracteristică numerică a populației studiate. Acești parametri pot fi determinați în anumite cazuri prin măsurători directe, caz în care parametrul de interes reprezintă chiar măsurătoarea în sine (e.g. determinarea lungimii sau lățimii unui obiect dreptunghiular), iar alteori măsurătorile efectuate sunt funcții dependente de parametrul sau parametrii de interes (e.g. determinarea suprafeței unui obiect dreptunghiular prin măsurători asupra laturilor sale).

Dacă numărul de parametrii estimați este mai mare ca unu, atunci modelul de estimare se numește multivariat, iar dacă în cadrul procesului se estimează un singur parametru atunci acesta se numește model univariat (Koch, 1999).

Legăturile funcționale ce se stabilesc între măsurătorile efectuate și parametrii ce se doresc a fi estimați sunt definite prin legi fizice sau matematice ce apar în cadrul experimentului observat.

Relativ la domeniul la care se referă această lucrare, estimarea parametrilor este un proces ce apare în nenumărate faze ale scanărilor terestre mobile. Într-o primă fază, aceasta este implementată în determinarea poziției instantanee a receptoarelor GNSS ce fac parte din arhitectura generală a platformelor de scanare pe baza măsurătorilor de pseudodistanțe, de fază a purtătoarelor sau măsurători Doppler (Hofmann-Wellenhof, Lichtenegger, & Collins, 2001). Ulterior, o estimare a traiectoriei celei mai probabile a instrumentului este din nou o aplicație a estimării parametrilor, de această dată printr-un filtru Kalman ce integrează pozițiile de la echipamentele GNSS cu măsurătorile obținute de la unitățile inerțiale (Groves, 2008). În cazul în care scanările nu sunt mobile, ci statice, norii de puncte obținuți din scanări succesive ale aceluiași obiect, trebuie de cele mai multe ori registrați (Coșarcă, 2009), proces ce necesită estimarea în prealabil a parametrilor de orientare reciprocă a celor doi nori de puncte. În sfârșit, în cazul exploatării norilor de puncte obținuți prin scanări terestre fie ele mobile sau statice, este de regulă necesară o modelare a obiectelor scanate, mai precis o determinare a formelor de ordin doi sau trei ce aproximează cel mai bine obiectele sau părți ale acestora. Acest proces reprezintă tot un caz de estimare a parametrilor, care va fi de altfel tratat în această lucrare în mod special.

În geodezie, ca de altfel în toate domeniile în care sunt necesare și informații referitoare la precizia de determinare a parametrilor estimați, numărul de măsurători este mult mai mare decât numărul minim necesar pentru determinarea parametrilor. Întrucât observațiile sau măsurătorile realizate sunt afectate de erori inerente de măsurare cu un caracter arbitrar și având o anumită probabilitate față de anumite limite, procesul de estimare trebuie să ofere soluția cea mai probabilă pentru parametri. Funcția ce definește modul sau condițiile sub care acești parametri sunt determinați poartă denumirea în literatura de specialitate de estimator. Estimatorul sau metoda de prelucrare poate denatura precizia rezultată în faza de efectuare a măsurătorilor însă nu o poate îmbunătăți (Moldoveanu, 2002).

De multe ori în setul de observații sau măsurători se strecoară involuntar și greșeli. Acestea sunt definite ca fiind măsurători ce au o valoare mult depărtată față de valoarea de așteptare (Koch, 1999). Greșelile schimbă mai mult sau mai puțin distribuția populației iar tratarea nediferențiată a lor conduce la rezultate diferite față de rezultatele oferite de același estimator pe setul de observații în care greșeala este eliminată. Diferențele sunt mai mari sau mai mici în funcție de mărimea greșelii, ponderea atribuită observației respective și geometria măsurătorii. Un estimator robust este un estimator a cărui distribuție este insenzitivă la schimbări mici în distribuția populației (Akkaya & Tiku, 2004). Cu alte cuvinte, utilizarea unui estimator robust în cazul existenței unui număr limită de greșeli în setul de observații face ca rezultatele oferite de acesta pentru parametrii ce se doresc a fi estimați să fie cele mai probabile.

În funcție de distribuția măsurătorilor se pot apela și anumite teste statistice pentru a testa fiecare observație în parte și a o elimina din măsurători în cazul în care aceasta este o greșeală (Fotescu, 1975). Diferența dintre un estimator robust și un test statistic este că primul nu elimină măsurătoarea din setul de date ci doar îi modifică influența asupra parametrilor, aspect ce are anumite avantaje din punct de vedere computațional în algoritmii de calcul, după cum se va arăta în subcapitolele următoare.

După cum a fost menționat mai devreme, o observație greșită poate avea repercusiuni asupra parametrilor estimați în funcție nu numai de mărimea sa dar și de poziția sa din punct de vedere geometric. Există anumite observații care prin poziția lor geometrică pot afecta relativ mult estimatorul, în special dacă acele observații sunt greșite. Mai mult, având în vedere poziția lor, o testare a greșelii în respectiva observație se face foarte dificil. Pentru o exemplificare obiectivă în raport cu domeniul propus pentru studiu, fie o serie de puncte determinate prin anumite metode pe o calota relativ restrânsă a unei sfere. Estimatorul va încerca să determine parametrii cei mai probabil ai sferei ce trece prin acele puncte, minimizând de regulă distanțele de la măsurători până la aceasta. Fie o măsurătoare (nu neapărat o greșeală) pe calota opusă acestei sfere. Netratată într-un mod diferit, această măsurătoare va avea ca efect o modificare a parametrilor sferei respective prin geometria sa, întrucât pentru punctele determinate pe calota inițială distanțele până la noua sferă nu vor diferi foarte mult. De aceea, aceste observații în care apariția unei greșeli poate rămâne nedetectată sau care pot modifica substanțial parametrii formei prin geometria măsurătorii sunt numite observații pârghie (Kanani, 2000). Existența lor trebuie determinată iar influența lor asupra estimatorului mărginită. Mai multe detalii vor fi prezentate în subcapitolele următoare.

Estimatori

În acest subcapitol vor fi prezentate principiile pe care se bazează trei dintre cei mai utilizați estimatori: estimatorul ideal nedeviat, metoda pătratelor minime și metoda verosimilității maxime. În general, a defini un anumit estimator presupune a desemna o funcție scop ce trebuie minimizată sau maximizată în funcție de caz.

Estimatorul ideal nedeviat – Best Unbiased Estimator

Fie h() o funcție a parametrilor ce trebuie estimată și s(y) estimatorul acesteia. Estimatorul s(y) trebuie să ia valori cât mai apropiate de cele ale h(). Cu alte cuvinte, eroarea estimării, ce poate fi exprimată ca fiind s(y)-h(), trebuie să fie minimă. Valoarea de așteptare a acestei mărimi poartă denumirea de bias, deviație sau deplasare și se notează cu E[s(y)-h()].

Dacă această valoare este zero atunci, folosind proprietățile expectanței matematice, se poate scrie:

(77)

Relația precedentă arată că valoarea de așteptare a estimatorului nu ar trebui să difere de valoarea de așteptare a cantității ce trebui estimate. Un estimator ce îndeplinește această condiție poartă denumirea de estimator nedeviat sau unbiased estimator (Koch, 1999).

De regulă nu se realizează minimizarea erorii în sine ci se încearcă să se minimizeze pătratul acestei erori [s(y)-h()]2 sau, având în vedere că vectorul y este un vector de mărimi aleatoare și că această eroare poate fi mică pentru unele măsurători și mare pentru altele, este recomandat să se minimizeze expectanța matematică sau valoarea de așteptare a pătratului erorii E([s(y)-h()]2). Această abordare conduce la obținerea unui estimator ideal sau best estimator (Koch, 1999).

Estimatorul ideal nedeviat va îndeplini astfel cele două condiții menționate mai sus, și anume:

și (78)

Dacă vectorul conține valori fixe și nu valori aleatoare, atunci funcția h() este o constantă și atunci

(79)

Eroarea medie pătratică a estimării va fi:

(80)

Considerând binomul atașat, după dezvoltarea pătratelor și înlocuind cu V[s(y)] deviația standard se obține:

(81)

Ținând cont de prima proprietate a estimatorului de tip BUE se observă că pentru a obține un estimator ideal nedeviat este echivalent cu a minimiza pătratul deviației standard:

(82)

Metoda pătratelor minime (Metoda celor mai mici pătrate)- Least Squares Estimation (LSE)

O altă metodă utilizată pentru a estima un set de parametri necunoscuți este metoda pătratelor minime (denumită după unii autori și metoda celor mai mici pătrate) bazată pe minimizarea sumei pătratelor erorilor, cu alte cuvinte a sumei pătratelor abaterilor dintre valoarea măsurată y și valoarea estimată s[E(y)], ce este funcție de parametri (Koch, 1999).

Funcția scop ce trebuie minimizată va fi dată în cazul observațiilor independente neponderate de:

(83)

Ținând cont și de ponderile și corelațiile dintre observații, aflate în matricea de varianță-covarianță = D(y) a observațiilor, funcția scop ce trebuie minimizată nu va mai fi definită doar de suma pătratelor erorilor observațiilor ci de forma pătratică

(84)

Astfel, metoda pătratelor minime sau estimatorul LSE, așa cum va fi referit de aici înainte în acest text, este definit ca fiind estimatorul s[E(y)] a valorii de așteptare E(y) a vectorului de observații y având matricea de varianță covarianță , ce minimizează forma pătratică definită în relația precedentă.

Metoda verosimilității maxime–Maximum Likelihood Estimator(MLE)

Primele două metode prezentate nu necesită informații referitoare la distribuția vectorului de observații y. Metoda prezentată în acest paragraf necesită informații referitoare la funcția de densitate de probabilitate a observațiilor. Pentru a putea defini MLE este necesară întâi definirea funcției de verosimilitate.

Funcția de verosimilitate notată cu L(y;) este definită ca fiind egală cu funcția de densitate de probabilitate f() a vectorului de observații y, funcție dependenta de parametrii necunoscuți (Koch, 1999).

(85)

Parametrii sunt necunoscuți în relația de mai sus. Estimatorii acestor parametrii sunt determinați în așa fel încât să maximizeze funcția de verosimilitate. Ținând cont că în general funcția de densitate este o funcție continuă, ea este și derivabilă în raport cu parametrii . Pentru ca funcția L(y;) să admită un maxim înseamnă ca avem:

(86)

De regulă, pentru simplificare, se derivează ln L întrucât se poate arăta ca oferă aceleași puncte de extrem, având în vedere că funcția de verosimilitate și funcția de densitate de probabilitate sunt pozitive. Rezolvarea ecuațiilor de tipul celei de mai sus oferă estimatorii ai parametrilor .

Estimatorul de verosimilitate maximă a fost introdus de R. A. Fischer în 1912, prezentat în 1922 și este definit conform celor menționate mai sus ca fiind (Fischer, 1922):

(87)

Modelul de estimare Gauss-Markov

Definiție, omogenizare și liniarizare

În subcapitolul precedent au fost prezentate trei metode de a obține un estimator, pe baza minimizării sau maximizării unei funcții scop, în funcție de caz. În acest subcapitol va fi prezentat modelul de estimare Gauss-Markov, model ce stă la baza estimării parametrilor. Deși cei doi oameni de știință ce dau numele acestui model de prelucrare nu au fost contemporani, s-a adoptat ca acest model să poarte numele amândurora întrucât cei doi au dezvoltat același model prin metode diferite. Gauss a folosit metoda verosimilității maxime arătând ca acest tip de rezolvare conduce la un estimator ideal (Gauss, 1809) în accepțiunea descrisă în subcapitolul precedent, în timp ce Markov a determinat parametrii acestui model utilizând un estimator ideal nedeviat (Markov, 1912).

Modelul de estimare Gauss-Markov pleacă de la ipoteza că valoarea de așteptare a observațiilor y poate fi exprimată ca o combinație liniară a parametrilor necunoscuți ai cărei coeficienți X sunt cunoscuți. Vom presupune pentru început că modelul este liniar, urmând ca liniarizarea modelelor neliniare să fie prezentată în paragrafele ulterioare.

Având în vedere cele descrise mai sus, o definiție mai riguroasă a acestui model poate fi dată astfel (Koch, 1999): fie X o matrice n u de coeficienți cunoscuți, un vector de dimensiune u al parametrilor constanți necunoscuți, y un vector de dimensiune n al observațiilor și D(y) = 2P-1 matricea n n de varianță-covarianță a observațiilor, unde 2 este necunoscut. Dacă rangul matricei X este maxim și egal cu u (întrucât se presupune că numărul de observații este cel puțin egal cu numărul de parametrii ce trebuie estimați n u) și matricea P este pozitiv definită, atunci relațiile următoare descriu modelul Gauss-Markov de rang maxim:

și (88)

Prima relație este denumită modelul funcțional al modelului Gauss-Markov, în sensul în care ea descrie legăturile funcționale ce se stabilesc între parametrii necunoscuți și observațiile sau măsurătorile efectuate. A doua relație este denumită modelul stohastic al modelului Gauss-Markov deoarece acesta conține proprietățile observațiilor, legăturile sau corelațiile dintre acestea și pe baza sa se pot deduce ponderile observațiilor (Moldoveanu, 2002).

Matricea P din modelul stohastic este numită matricea ponderilor observațiilor și este o matrice pozitiv definită și deci inversabilă, inversa ei fiind notată de regulă cu Qyy și denumită matricea cofactorilor observațiilor. Factorul 2 este denumit varianța unității de pondere sau abaterea medie pătratică a unității de pondere.

Forma generală a matricei de varianță covarianță este dată de:

(89)

, unde i reprezintă varianța observației i iar ij reprezintă covarianța observațiilor i și j. În cazul în care matricea de varianță-covarianță are o formă diagonală, altfel spus, covarianțele măsurătorilor sunt nule, atunci observațiile sunt independente sau necorelate. Mai mult, în cazul în care varianțele sunt și egale atunci observațiile sunt neponderate iar varianța unității de pondere devine în acest caz chiar varianța unei observații.

Întrucât numărul de măsurători este de regulă mai mare decât numărul de parametri necunoscuți, un model de tipul X=y nu este consistent, în sensul în care nu există un vector unic determinat care să satisfacă relația modelului funcțional pentru orice observație yi din vectorul de observații y. Aceasta este urmare a faptului că există erori de măsurare inerente oricărui proces de măsurare. Pentru ca modelul menționat să devină consistent trebuie adăugat la vectorul observațiilor un vector de corecții și astfel o variantă modificată a modelului funcțional ar fi:

(90)

, pentru care se poate arăta că modelul stohastic ar fi

(91)

Sistemul de ecuații dat de (90) poartă denumirea de sistem de ecuații de corecție.

În anumite cazuri se folosește eroarea observației în locul corecției acesteia, pe baza relației dintre cele două:

(92)

Matricea ponderilor este prin definiție o matrice pozitiv definită și prin aplicarea factorizării Cholesky se obține:

(93)

, unde G reprezintă o matrice inferior triunghiulară.

Notând cu:

(94)

, se observă că:

(95)

Cu alte cuvinte, modelul complex dat de relațiile (88) poate fi adus la un model mai simplu de observații necorelate independente. După rezolvarea acestui model, parametrii căutați inițial pot fi estimați pe baza relațiilor (94). Acest proces se numește omogenizare iar în cazul particular în care observațiile y sunt necorelate de ponderi diferite ele pot fi aduse la aceeași pondere prin același proces, caz în care G este o matrice diagonală cu elementele fiind egale cu rădăcinile pătrate ale ponderilor inițiale (Moldoveanu, 2002).

Acolo unde va fi cazul, pentru ușurința prezentării, modelele presupuse pentru rezolvare vor fi de tipul (95), întrucât modelul Gauss-Markov prezentat prin definiție poate fi omogenizat.

Modelul funcțional face legătura funcțională dintre observații și parametrii. Aceste legături funcționale sunt definite de legi matematice sau fizice între cele două entități. În majoritatea cazurilor aceste funcții nu sunt liniare, pentru iar a le putea introduce într-un model Gauss-Markov de estimare a parametrilor este necesar ca acestea să fie liniarizate.

Fie hi(1, 2,….u) funcțiile neliniare descrise mai sus. Astfel se poate scrie:

(96)

Dacă se cunosc valori aproximative i0 pentru parametri, atunci prin dezvoltare în serie Taylor în jurul acestor valori și reținând doar termenii de ordinul I:

(97)

Înlocuind în modelul funcțional relațiile precedente, termenii liberi, parametrii estimați și matricea coeficienților vor fi date de:

(98)

, iar modelul (96) va deveni:

(99)

Alte metode de tratare a modelului Gauss-Markov neliniarizat pot fi găsite în (Teunissen, 1985).

Rezolvarea modelului Gauss-Markov utilizând estimatorii prezentați

În cele ce urmează este prezentată o rezolvare a modelului Gauss-Markov considerând LSE. Trebuie reamintit că acest estimator pleacă de la ideea minimizării unei funcții scop dată de suma pătratelor erorilor observațiilor. Astfel funcția scop ce trebuie minimizată va avea forma (Koch, 1999):

(100)

Pentru ca această funcție continuă să ia o valoare minimă, derivata funcției în raport cu vectorul parametrilor va fi nulă:

(101)

, de unde se poate obține valoarea estimată a parametrilor pe baza estimatorului LSE ca fiind:

(102)

, în timp ce pentru un sistem neomogen se va obține:

(103)

Pentru ambele cazuri se poate determina matricea de varianță covarianță a parametrilor cu:

(104)

, respectiv:

(105)

Înlocuind valoarea estimată a parametrilor în relația (99), și ținând cont de (92), se obține valoarea estimată a corecțiilor ca fiind:

(106)

, sau pentru cazul sistemului neomogen:

(107)

Folosind în relația de mai sus legea propagării erorilor se poate obține matricea de varianță covarianță a corecțiilor cu:

(108)

, unde Qvv poartă denumirea de matricea cofactorilor corecțiilor.

Valoarea estimată a abaterii medii pătratice a unității de pondere sau a varianței unității de pondere va putea fi determinată pe baza:

(109)

, unde este o formă pătratică ce reprezintă chiar valoarea estimată a funcției scop, fiind astfel egală cu:

(110)

Se poate arăta că utilizarea estimatorului liniar ideal nedeviat în cazul modelului Gauss-Markov conduce la obținerea unei soluții similare utilizării metodei pătratelor minime (Koch, 1999). Mai multe detalii pot fi găsite în (Koch, 1999).

Estimatorul verosimilității maxime va conduce la aceleași rezultate în cazul unei distribuții normale a observațiilor.

După cum s-a prezentat în subcapitolul precedent, metoda verosimilității maxime necesită informații referitoare la distribuția observațiilor. Presupunând o distribuție normală a erorilor, funcția de densitate va avea forma cunoscută:

(111)

Astfel, funcția de verosimilitate va avea forma:

(112)

Pentru ca funcția de verosimilitate să fie maximă se calculează derivatele parțiale în raport cu parametrii necunoscuți și și se egalează cu 0. Se poate arăta că funcția de verosimilitate L și funcția ln L oferă aceeași soluție, în speță au același maxim, și astfel, pentru simplificare se pot obține parametrii necunoscuți prin rezolvarea ecuației:

(113)

Prin rezolvarea acestei ecuații rezultă parametrii estimați de forma celor determinați în (103). Se poate deduce astfel că pentru o distribuție normală a observațiilor, metoda verosimilității maxime oferă rezultate similare cu cele oferite de ceilalți doi estimatori prezentați, mai exact, estimatorul liniar ideal nedeviat și metoda pătratelor minime.

Modelul de prelucrare Gauss-Helmert

Definiție, liniarizare.

Modelul de prelucrare mixt sau modelul Gauss-Helmert reprezintă o generalizare a modelului Gauss-Markov. Dacă în cadrul unei probleme de estimare observațiile și parametrii nu pot fi separați în realizarea modelului funcțional, atunci se obține un model general de compensare denumit modelul Gauss-Helmert denumit așa de (Wolf, 1978). În alte referințe el mai poate fi găsit și sub denumirea de model mixt (Koch, 1999).

(114)

Ca și în cazul modelului Gauss-Markov, modelul funcțional al modelului Gauss-Helmert este de regulă neliniar și, pentru a putea estima parametrii necunoscuți cu ajutorul unui estimator prezentat, modelul funcțional trebuie adus la o formă liniară. Similar se poate rezolva această problemă prin dezvoltare în serie Taylor.

(115)

Înlocuind cu:

(116)

, obținem:

(117)

Trecând sub formă matricială, sistemul de ecuații precedente s-ar putea scrie:

(118)

, unde:

(119)

Având în vedere cele prezentate, o definiție mai riguroasă a modelului general de compensare este următoarea (Koch, 1999): Fie X o matrice de dimensiuni n u și Z o matrice de dimensiuni n r, ambele de coeficienți cunoscuți cu rang Z = n. Fie un vector de dimensiune u de coeficienți necunoscuți, v un vector de dimensiune r de corecții necunoscute cu valoare de așteptare nulă (E[v] = 0) și matrice de varianță covarianță D(v)=2Qvv, cu 2 factor pozitiv necunoscut și Qvv o matrice de r r cunoscută și pozitiv definită, și w un vector de dimensiune n de termeni liberi cunoscuți. Atunci:

cu si (120)

este cunoscut sub denumirea de model mixt, model general de compensare sau model Gauss-Helmert. Similar modelului Gauss-Markov, prima relație din (120) definește modelul funcțional al modelului Gauss-Helmert în timp ce ultima relație descrie modelul stohastic.

Rezolvarea modelului Gauss-Helmert

Întrucât în cazul unor distribuții normale și ceilalți estimatori oferă rezultate similare, paragrafele următoare detaliază doar rezolvarea modelului Gauss-Helmert pe baza estimatorului LSE, acest estimator fiind cel mai utilizat în practică.

Funcția scop în cazul metodei pătratelor minime dată de relația (84) se poate aplica și în cazul modelului Gauss-Helmert cu deosebirea că în acest caz problema de minim devine una de minim condiționat, ce poate fi exprimată cu ajutorul multiplicatorilor Lagrange sub forma:

(121)

Prin rezolvarea problemei de minim condiționat se obține:

(122)

(123)

(124)

Parametrii necunoscuți sunt apoi calculați cu:

(125)

, în timp ce observațiile corectate vor fi:

(126)

Transformarea modelului Gauss-Helmert într-un model Gauss-Markov cu restricții

Un astfel de algoritm este prezentat în (Drixler, 1993) și în (Koch, 1999). Prelucrarea pleacă de la ideea înlocuirii produsului Zv din modelul funcțional al modelului Gauss-Helmert cu vw și obținerea unui model Gauss Markov:

(127)

, cu condiția sau restricția:

(128)

Modelul stohastic al acestui model Gauss-Markov cu restricții va fi:

(129)

Sistemul normal de ecuații va avea forma:

(130)

Rezolvarea acestui model necesită un proces iterativ ce pleacă de la anumite valori inițiale cunoscute (valori provizorii ale parametrilor). Aceste valori nu sunt de regulă cunoscute, iar procesul iterativ poate conduce la o lipsă a convergenței în cazul în care valorile provizorii diferă foarte mult față de valorile cele mai probabile finale estimate.

Estimarea parametrilor fără valori inițiale

Dacă se divizează vectorul de necunoscute în doi subvectori 1 compus din parametrii ce intră în restricția (128) și 2 compus din parametrii ce nu intră în această restricție, și dacă se divizează și matricea X de coeficienți cunoscuți în X1 și X2, atunci se obține:

(131)

Pe de altă parte, vectorul de neînchideri este determinat pe baza parametrilor aproximativi și ai măsurătorilor ca fiind:

(132)

Dacă se divide acest vector în două părți vom obține:

(133)

, și înlocuind în relația (131):

(134)

, se obține un nou sistemul normal din care putem obține ca fiind:

(135)

Condiția de minim în acest caz se traduce sub forma (Drixler, 1993):

(136)

, unde matricea H este dată de:

(137)

Sistemul normal va avea în acest caz forma:

(138)

Restricția din ecuația a doua se poate scrie sub forma:

(139)

, de unde rezultă că problema de estimare a parametrilor devine o problemă de vectori și valori proprii. Se poate demonstra (Drixler, 1993) că vectorul propriu corespunzător valorii proprie minime îndeplinește condiția de minim exprimată mai sus.

Metode de prelucrare robustă în cazul modelului Gauss-Markov

Generalități

De nenumărate ori, în cazul procesului de măsurare, observațiile sunt afectate de greșeli. Acestea au ca efect o modificare a distribuției erorilor, întrucât în acest caz:

(140)

Aplicarea estimatorilor prezentați în capitolul anterior pe un set de observații afectat de astfel de erori grosolane va conduce la obținerea unor rezultate mai mult sau mai puțin diferite față de cele ce ar fi obținute dacă distribuția erorilor ar fi una normală.

În legătură cu tematica tezei de doctorat propuse, după cum se va arăta în capitolele viitoare ale prezentului raport de cercetare, o greșeală în setul de date poate conduce la obținerea nu numai a unor parametrii diferiți ai unei forme, dar chiar ai unei forme diferite.

Devine clar din cele descrise mai sus că identificarea și eliminarea influenței acestora din estimarea parametrilor de interes este absolut necesară. De asemenea, există situații în care anumite observații pot influența destul de mult parametrii estimați prin poziția lor geometrică. Este riguros necesar ca și aceste puncte să fie identificate pentru ca rezultatele să fie cele căutate.

Următoarele paragrafe abordează tratarea din punct de vedere statistic a acestor greșeli, modalitățile de identificare și de reducere a influenței acestor observații.

Există în general trei abordări relativ diferite ale problemei (Iglewicz & Hoaglin, 1993). O primă metodă constă în semnalarea observațiilor ce pot conține erori. A doua modalitate constă în identificarea prin teste statistice a acestor greșeli și a le elimina din procesul de estimare. Această abordare are însă câteva dezavantaje:

este consumatoare de timp întrucât testarea punctelor și eliminarea acestora din observații implică refacerea matricei sistemului normal la fiecare nouă iterație. În cazul existenței mai multor greșeli în setul de date eliminarea punctelor se face pe rând. Aceasta presupune numeroase iterații și deci un timp îndelungat pentru procesare. Trebuie subliniat aici că timpul de procesare este extrem de important în cazul observațiilor provenite de la sistemele LiDAR deoarece numărul de puncte implicate în estimare este extrem de mare.

eliminarea punctelor conduce la o schimbare a geometriei generale. Matricea X a elementelor cunoscute este denumită și matrice design întrucât această matrice arată modul în care observațiile sunt dispuse, cu alte cuvinte geometria rețelei. A elimina unul sau mai multe puncte coincide cu eliminarea unei linii ale acestei matrice, ceea ce conduce la o pierdere a informației și astfel a geometriei punctelor implicate în scanare.

punctele pârghie, definite ca puncte care nu sunt neapărat greșite dar în cazul cărora prezența unor erori de măsurare mici (chiar aflate în toleranțe) pot influența mult parametrii estimați, nu pot fi detectate.

A treia abordare o reprezintă estimarea robustă a parametrilor. Acestea pleacă de la ideea utilizării unei funcții scop mai complexe care să diminueze influența greșelilor. Aceste metode rezolvă unul sau mai multe dintre dezavantajele testelor statistice de eliminare a erorilor, după cum va fi prezentat în acest capitol.

În cele ce urmează vor fi prezentate atât a doua cât și a doua abordare. Pentru început, se modifică modelul Gauss-Markov prin introducerea unor parametri suplimentari în vederea identificării greșelilor din observații. Această modificare a modelului pentru identificarea greșelilor va fi utilizată și pentru cazul general de compensare Gauss-Helmert, model utilizat pentru identificarea formei obiectelor pe baza observațiilor provenite de la instrumente de scanare.

Testele statistice sunt apoi utilizate pentru a identifica observațiile greșite iar metodele robuste mai complexe ce modifică funcțiile scop sunt prezentate în ultima parte a capitolului.

Modelul Gauss – Markov pentru observații în care sunt prezente greșeli

În această secțiune este prezentată o versiune modificată a modelului Gauss – Markov plecând de la ideea existenței unor greșeli în observații (Koch, 1999). Acest model va fi util în cele ce urmează pentru a defini și utiliza testele statistice pentru identificarea greșelilor în seturile de măsurători.

Plecând de la relațiile (90) și (91) ce definesc modelul funcțional și modelul stohastic al modelului Gauss – Markov, au fost deduse în secțiunile precedente, pe baza estimatorului pătratelor minime, valoarea parametrilor, a corecțiilor și a varianței cu ajutorul relațiilor (103), (107) și (108). Trebuie reamintit că sistemele neomogene pot fi aduse la formă omogenă conform celor prezentate în capitolul precedent.

Augmentând modelul Gauss – Markov clasic prezentat cu un vector adițional de necunoscute de dimensiune r 1 împreună cu matricea sa de coeficienți cunoscuți Z de dimensiune n r, modelul va putea fi scris sub formă matriceala:

cu (141)

, unde reprezintă varianța unității de pondere a modelului augmentat. Noii parametri introduși în model au rolul de a încapsula greșelile existente în anumite observații. Pentru exemplificare, dacă o singură observație este greșită cu valoarea , atunci vom defini pentru r =1:

și (142)

, în care componenta k are valoare unu. Dacă se notează cu xk vectorul de pe linia k al matricei X, atunci ecuația pentru observația k ar fi:

(143)

, în timp ce pentru o altă observație i, cu , ecuația observației va fi:

(144)

Parametrii estimați vor fi acum obținuți pe baza:

(145)

Matricea sistemului normal ce trebuie inversată urmează după dezvoltări ca fiind:

(146)

, cu matricea S definită de:

(147)

Folosind inversa calculată se poate obține valoarea estimată a parametrilor adiționali incluși în compensare cu:

(148)

, sau ținând cont de relația (107) :

(149)

, relație ce arată că parametrii estimați , ce conțin greșelile din anumite observații, pot fi estimați pe baza vectorului de corecții și a matricei cofactorilor acestora, respectiv Qvv.

Teste statistice aplicate pentru detectarea greșelilor

Ipoteze statistice pentru depistarea greșelilor

Dacă pentru modelul Gauss-Markov pentru observații ce conțin greșeli sunt testate ipoteza nulă H0, ce presupune că toate greșelile sunt egale cu zero, și ipoteza alternativă H1 ce presupune că există greșeli de magnitudine atunci:

versus (150)

Formulând matricial conform modelului prezentat, relația de mai sus se poate scrie:

versus (151)

Statistica T a testului aferent ipotezelor precedente se poate scrie cf. Koch ca fiind:

(152)

, unde

(153)

, sau, ținând cont de relațiile (146) și (147):

(154)

Forma pătratică calculată pe baza corecțiilor rezultate în modelul Gauss – Markov pentru observații în care sunt prezente greșeli poate fi obținut din prin:

(155)

Dacă ipoteza alternativă este adevărată atunci T are distribuție Fischer necentrală:

(156)

, cu parametrul de necentralitate λ:

(157)

Testul statistic T poate fi transformat într-un test cu:

(158)

Folosind relația (152) și rădăcina pătrată se obține:

(159)

Valoarea are distribuție necentrată de tip tau (Pope, 1976).

(160)

– cuantila inferioară a distribuției necentrate se obține pe baza -cuantilei inferioare a distribuției Fischer prin:

(161)

Test statistic pentru identificarea unei greșeli

În cele ce urmează este tratată situația în care se dorește testarea unei singure observații pentru a trage concluzii dacă aceasta este afectată de greșeli (Koch, 1999). Astfel, ipoteza nulă H0 va presupune că valoarea greșelii în observația yk este nulă, în timp ce ipoteza alternativă va presupune că valoarea greșelii nu este nulă ci are valoarea .

versus (162)

O primă observație este aceea că dimensiunea r este egală cu unitatea, ceea ce înseamnă că matricea Z va deveni un vector ce va avea valoarea 1 pentru componenta k. Pentru a face diferența dintre cazul general de testare și aceste caz particular utilizat pentru testarea unei singure observații, matricea Z va fi notată cu Zk.

Relația (154) va deveni în acest caz:

(163)

Notând cu:

și cu (164)

și având valoarea estimată a dată de relația (109), putem calcula valoarea de testare k pentru o singură observație cu:

(165)

, care, în cazul unei ipoteze alternative adevărate, cu alte cuvinte, în cazul existenței unei greșeli în observația testată, are distribuția dată de:

(166)

, cu parametrul de necentralitate λ:

(167)

Statistica k aferentă testului pentru ipoteza nulă, ce presupune că greșealadin observația yk este nulă, este calculată pe baza corecției de tip Student, adică a corecției împărțită la deviația sa standard calculată pe baza deviației standard estimată a unității de pondere .

În cazul în care ipoteza alternativă este falsă și observația testată nu este greșită, atunci parametrul de necentralitate este nul, iar k va avea o distribuție centrată:

(168)

Prin testul statistic prezentat mai sus se poate analiza dacă o anumită observație este afectată de greșeli. Testarea trebuie realizată pe rând pentru toate observațiile de la y1 la yn. Dacă vom nota cu nivelul de semnificație al testului ipotezei nule și cu cuantila superioară a distribuției, atunci observația k va conține o greșeală dacă:

(169)

După identificarea unei greșeli într-una din cele n observații, aceasta se elimină iar procesul de estimare a parametrilor se reia, cu verificarea prealabilă că nu s-a creat un defect de configurație în momentul eliminării observației greșite. Procesul continuă până la eliminarea tuturor greșelilor, caz în care pentru niciuna din observațiile rămase relația (169) nu este adevărată.

Acest test este cunoscut sub denumirea de testul al lui Pope (Pope, 1976). Baarda a dezvoltat un test similar pentru identificarea greșelilor în care nu sunt folosite pentru testare corecții de tip Student (Baarda, 1968), ci corecții adimensionale normalizate sau standardizate, obținute prin împărțirea corecției la radicalul elementului k de pe diagonala matricei cofactorilor corecțiilor. Acest test este de regulă referit în lucrările de specialitate sub denumirea de Data Snooping. Procedeul de identificare a greșelilor de observații este similar celui aferent testului al lui Pope.

Cea mai importantă observație ce trebuie menționată în cazul testelor statistice pentru identificarea greșelilor este necesitatea estimării după fiecare eliminare a parametrilor, ceea ce implică calcularea matricei sistemului normal, de regulă, partea cea mai cronofagă din estimarea parametrilor.

Metode de prelucrare robustă în cazul prelucrărilor clasice

Generalități

După cum s-a menționat în subcapitolul precedent al acestei lucrări, un estimator poate fi numit robust, dacă rezultatele estimatorului nu sunt senzitive la schimbări mici în distribuția observațiilor sau a populației. În paragrafele precedente s-a pus problema existenței greșelilor în unele observații, fapt care conduce la modificarea distribuției observațiilor. Astfel, dacă estimatorul este insenzitiv față de aceste modificări ale distribuției și oferă în continuare rezultatele optime atunci el se numește robust iar estimarea în sine poartă denumirea de estimare robustă. În cele ce urmează, sensul de estimare robustă se va referi strict la acest caz restrictiv al modificării distribuției observațiilor din cauza apariției greșelilor.

Până acum au fost prezentați câțiva estimatori (estimatorul ideal nedeviat, metoda pătratelor minime și metoda verosimilității maxime) care, după cum s-a arătat, oferă în cazul unei distribuții normale a observațiilor același rezultat, bazat în general pe minimizarea sumei pătratelor corecțiilor. Acest lucru conduce la o minimizare a corecției observației greșite prin modificarea parametrilor și astfel la o estompare a greșelii (outlier blurring). Din acest motiv, estimatorul ideal nedeviat, metoda pătratelor minime și metoda verosimilității maxime nu aparțin clasei de estimatori robuști. Cu toate acestea, în cazul utilizării acestora pentru estimarea parametrilor necunoscuți, este posibilă o identificare a greșelilor prin utilizarea testelor statistice descrise în paragrafele precedente. Nu întotdeauna acest mod de lucru este optim, atât din cauza timpului, dar mai ales pentru că există riscul eliminării unor observații ce pot conduce la generarea unui defect de configurație.

Astfel, s-au dezvoltat o serie de estimatori ce înlocuiesc funcția scop ce minimizează suma pătratelor minime cu alte funcții. O primă clasă de estimatori este reprezentată de cei ce sunt obținuți plecând de la estimări cu verosimilitate maximă, așa numiții estimatori de tip M (sau M-estimators) (Huber, 1964). În această categorie fiind incluși estimatorii Huber (Huber, 1964) și Hampel (Hampel, 1986). O a doua clasă de estimatori robuști poate fi cea a estimatorilor cu influență mărginită ce țin cont și de existența unor puncte pârghie. Aici asociem estimatorii de tip Mallows sau Schweppe (Wicki, 1999). A treia clasă de estimatori sunt estimatorii de tip Lp-Norm întrucât funcția lor scop depinde de o putere a normei corecției (Koch, 1999). În ultima clasă de estimatori sunt incluși estimatorii cu punct de cedare ridicat (high breakdown point).

Pentru ca o metodă robustă să poată fi utilizată în estimări ea trebuie să respecte anumite criterii:

Estimatorul robust trebuie să identifice și să minimizeze influența erorilor grosiere

Estimatorul robust trebuie să ofere rezultate similare cu metoda pătratelor minime atunci când nu sunt prezente greșeli în setul de observații

Estimatorul robust trebuie să aibă o eficiență ridicată în cazul observațiilor distribuite normal

Estimatorul robust trebuie să aibă un punct de cedare cât mai ridicat

Estimatorul robust trebuie să aibă o funcție de influență mărginită

Estimatori robuști de tip M. Estimatorul Huber. Estimatorul Hampel

Pentru început fie modelul Gauss Markov cu observații ponderate. Trebuie reamintit că acest model poate fi adus la o formă mai simplă cu observații independente și că se poate aduce la forma de ecuații independente de ponderi egale pe baza procesului de omogenizare.

Conform estimatorului verosimilității maxime, prin derivarea funcției de verosimilitate L în raport cu parametrii necunoscuți, mai precis prin derivarea funcției ln L în raport cu parametrii se obține verosimilitatea maximă dacă se maximizează:

(170)

, sau se minimizează:

(171)

Huber introduce pentru prima oara conceptul de estimare robustă în 1981. Pentru a obține estimatori robuști bazați pe verosimilitate maximă, așa – numiții estimatori de tip M, funcția ce trebuie minimizată (funcția scop) este înlocuită de funcții mai generale notate în continuare cu :

(172)

Derivata acestei funcții scop poartă denumirea de funcție de influență, se notează cu și descrie modul în care o nouă observație influențează parametrii estimați.

(173)

De regulă se caută definirea funcției scop și implicit a funcției de influență pe baza corecțiilor , având în vedere că o corecție mare indică o eroare mare și deci o observație afectată cel mai probabil de o greșeală.

A) Estimatorul Huber (Huber, 1964) propune pentru funcția scop ce trebuie minimizată o funcție definită pe 3 intervale în funcție de mărimea corecțiilor obținute.

(174)

Constanta c este o constantă adimensională denumită constantă de ajustare (tuning constant) și depinde de numărul de greșeli din setul de observații. Astfel, dacă procentul de observații afectate de erori grosiere este de 4% atunci c se alege 1.5, dacă procentul este sub 1% atunci c se alege 2.0. În general procentul de erori greșite nu depășește 4% și constanta c se alege în acest interval.

După cum se poate observa în funcția descrisă mai sus, pentru cazul în care observațiile nu sunt afectate de erori, estimatorul Huber dă rezultate similare metodei pătratelor minime.

Pe baza relației precedente se poate obține funcția de influență prin derivarea funcției scop în raport cu corecțiile v ca fiind:

(175)

Figura V-63 – Estimatorul Huber. a) Funcția scop. b) Funcția de influență

Se poate observa, de asemenea, că pentru , estimatorul Huber tinde asimptotic către metoda pătratelor minime. În figura de mai jos sunt reprezentate graficele funcțiilor scop și de influență atât pentru estimatorul Huber cât și pentru metoda pătratelor minime. Se pot analiza astfel și grafic observațiile ce se referă la diferențele dintre funcțiile celor doi estimatori.

Dacă se împarte funcția de influență cu valoarea corecției se obține funcția de reponderare, funcție ce va determina modul în care observațiile vor fi reponderate în iterația următoare:

(176)

Trebuie punctate anumite observații cu privire la estimatorul Huber prezentat, pentru a înțelege atât modul de implementare cât și avantajele și dezavantajele acestuia. O primă observație se referă la faptul că estimatorul Huber necesită un proces iterativ de estimare. Prima iterație este, de regulă, realizată prin metoda pătratelor minime. Ca urmare a acestei iterații sunt calculate corecțiile observațiilor și pe baza acestora se determină noile ponderi, procedeul fiind reluat cu noile ponderi. O a doua observație importantă este aceea că de la o anumită valoare a corecțiilor estimatorul Huber nu mai face nicio diferență între observațiile aferente, acestea fiind comparate cu o constantă și lăsate să influențeze estimarea în același mod. De asemenea, estimatorul Huber nu poate detecta greșelile aflate în puncte pârghie.

B) Estimatorul Hampel este tot un estimator de tip M a cărui dezvoltare pleacă de la estimatorul Huber. Estimatorul Hampel rezolvă unul dintre dezavantajele estimatorului Huber ce nu ține cont de mărimea corecției dacă aceasta depășește constanta c. Astfel, Hampel propune o funcție scop mult mai complexă, desfășurată pe mai multe ramuri, dependență de 3 constante a,b și c și definită după cum urmează:

(177)

Prin derivarea funcției scop în raport cu corecțiile se obține funcția de influență ce arată modul în care fiecare observație poate influența rezultatul estimării:

(178)

Din nou, împărțind funcția de influență prin valoarea corecției se obține funcția de reponderare dată de:

(179)

Pentru o analiză mai bună a observațiilor referitoare la acest estimator sunt reprezentate în cele ce urmează graficele funcției scop și a funcției de influență pentru acest estimator.

Constantele a, b și c sunt constante definite de utilizator în funcție de numărul de greșeli prezente în setul de observații și de modul în care acesta dorește ca greșelile să influențeze totuși într-un anumit fel estimarea.

Figura V-64 – Estimatorul Hampel. a) Funcția scop. b) Funcția de influență

După cum se poate observa, atât în descrierea explicită a funcțiilor estimatorului Hampel cât și în graficul funcției de influență al acestui estimator, observațiile considerate greșite, întrucât depășesc o anumită valoare prag (în acest caz definită de constanta a) influențează diferit estimatorul, în sensul în care dacă acestea depășesc o a doua constantă de ajustare b influențează din ce în ce mai puțin parametrii estimați, în timp ce corecțiile ce depășesc și a treia constantă de ajustare c nu mai influențează deloc estimarea, funcția de influență luând în acest caz valoarea nulă. Estimatorul Hampel îmbunătățește din acest punct de vedere estimarea oferită de Huber în situația în care greșelile sunt cu adevărat mari. Nu rezolvă în schimb problema punctelor pârghie, întrucât estimatorul nu ține cont de poziția observației din punct de vedere geometric.

Estimatori robuști cu influență mărginită. Estimatorul Biber.

Clasa estimatorilor robuști cu influență mărginită include acei estimatori care, pe lângă identificarea și reponderarea observațiilor greșite, pot identifica și repondera și observațiile sau punctele pârghie.

Pentru început se definesc aceste puncte pârghie ca fiind acele puncte sau observații yi care prin geometria lor, dată de vectorul xi din matricea de coeficienți cunoscuți X, pot influența foarte mult parametrii estimați, ele nefiind neapărat greșite dar fiind foarte depărtate de regulă de majoritatea punctelor. În figura de mai jos este reprezentat un caz de regresie liniară în care pot fi identificate atât observații greșite (outliers) cât și puncte pârghie (leverage points).

Pentru a identifica punctele pârghie trebuie studiată matricea H definită pentru cazul modelului omogen Gauss – Markov ca fiind:

(180)

Astfel, se poate rescrie ecuația (106) sub forma:

(181)

Se poate arăta (Koch, 1999) că elementele de pe diagonala matricei H sunt pozitive și subunitare. Astfel, elementele ri de pe diagonala matricei (I-H) vor fi, de asemenea, pozitive și sub unitare. Mai mult, suma acestor elemente este egală cu redundanța generală a estimării (n-u). Cu alte cuvinte, dacă elementul ri al diagonalei matricei (I-H) va fi aproape de zero înseamnă ca el contribuie puțin la redundanța generală și deci va fi un punct pârghie. Reciproca nu este însă adevărată întotdeauna, în sensul în care un punct pârghie nu va avea neapărat o redundanță mică, deoarece în cazul în care există observații suplimentare apropiate de punctul pârghie (formând deci un grup de puncte pârghie) contribuția la redundanța generală a acestor puncte va crește. Estimatorii robuști prezentați până acum nu pot identifica aceste puncte și trebuie deci dezvoltate metode diferite pentru astfel de cazuri. O imagine mai clară a diferențelor dintre observațiile distribuite normal, punctele pârghie și greșeli poate fi făcută pe baza imaginii de mai jos.

Figura V-65 – Puncte pârghie și greșeli în setul de observații

Două tipuri de estimatori s-au dezvoltat pe baza celor explicate mai sus: estimatori de tip Mallows și estimatori de tip Schweppe (Wicki, 1999). Pentru aceste două tipuri de estimatori se menționează în continuare doar forma lor generală, urmând a studia în detaliu o singură exemplificare a unuia dintre ei (estimatorul Biber) (Wicki, Robust estimator for the adjustment of Geodetic Network, 2001)

Astfel, estimatorul de tip Mallows este definit ca soluție a:

(182)

, unde μi reprezintă valori pozitive (ponderi), funcții dependente de vectorul linie al coeficienților corespunzători observației yi.

Pe de altă parte, estimatorul de tip Schweppe este definit de:

(183)

, cu aceleași mențiuni.

Nu se va insista în cele ce urmează pe detalierea modului general de funcționare a estimatorilor cu influență mărginită, prezentând doar o diferență grafică între modul de limitare al influenței pentru estimatorii Huber, Mallows și Schweppe.

Pe baza estimatorului de tip Schweppe, (Wicki, Robust estimator for the adjustment of Geodetic Network, 2001) propune un estimator denumit Biber, utilizat de către Oficiul Elvețian de Cadastru în compensarea rețelelor geodezice. Estimatorul Biber păstrează forma generală a estimatorului Schweppe, înlocuind funcțiile (ponderile) μi cu deviațiile standard ale corecțiilor .

Figura V-66 – Modul de limitare a influenței la estimatorii a) Huber b) Mallows c)Schweppe

Vom avea deci forma generală e ecuației:

(184)

, în care deviațiile standard ale corecțiilor sunt determinate cu ajutorul elementelor din matricea cofactorilor corecțiilor cu:

(185)

Prin împărțirea corecției la deviația sa standard se obțin corecțiile standardizate notate cu:

(186)

Folosirea ca ponderi a deviațiilor standard ale corecțiilor are un efect extrem de puternic asupra estimatorului, acesta răspunzând mult mai bine în situația în care există greșeli în observațiile pârghie, pentru că acum acesta ține cont atât de poziție, de dimensiunea corecției dar și de calitatea acesteia.

Se poate scrie acum forma funcției scop ca fiind:

(187)

De asemenea, se poate deduce funcția de influență cu:

(188)

Dacă se înlocuiește corecția standardizată în relația de mai sus se obține:

(189)

Sau revenind la corecții:

(190)

, unde cu ki s-a notat:

(191)

După cum se poate observa în relația (190), influența fiecărei observații este calculată pe baza altei valori dependente de deviația standard a acesteia și implicit de redundanța parțială a observației.

În figura următoare este reprezentată grafic funcția de influență a estimatorului Biber pentru diferite valori ale ki.

Procesul de estimare este, bineînțeles, unul iterativ, deoarece corecțiile sunt corelate și o observație cu greșeli are efect asupra corecțiilor observațiilor fără greșeli. Diverși autori (Wicki, Robuste Schatzwerfahren fur die Parameterschatzung in geodatischen Netzen, 1999), (Kanani, 2000) prezintă algoritmul ce trebuie urmat pentru implementarea acestui estimator, algoritm ce trebuie să urmeze următorii pași:

într-o primă etapă se utilizează un estimator nerobust, în general metoda pătratelor minime ce oferă o primă iterație a corecțiilor și care permite calcularea valorilor ki, ce sunt diferite pentru fiecare observație în parte dar care rămân constante în tot procesul de estimare;

se alege apoi observația yi cu cea mai mare diferență între corecție și valoarea ki aferentă acesteia;

influența aceste observații trebuie redusă conform celor prezentate până acum, iar acest lucru se poate face prin 3 metode:

recalcularea unei părți a matricei sistemului normal

modificând valoarea observației

minimizând ponderea observației

Figura V-67 – Funcția de influență pentru estimatorul Biber

Toate metodele conduc la același rezultat, cu diferența că utilizând prima sau a treia metodă trebuie recalculată și inversată matricea sistemului normal la fiecare iterație, lucru ce necesită timp de prelucrare ridicat, în timp ce a doua metodă nu necesită această recalculare dar se pierde observația inițială. În această lucrare va fi implementată doar ultima metodă pentru a păstra o simetrie cu ceilalți estimatori prezentați.

Estimatori robuști de tip Lp-Norm

În cazul acestor estimări se alege o densitate de probabilitate a observațiilor și implicit a corecțiilor dată de (Koch, 1999):

(192)

Se observă că pentru p=1 se obține o distribuție Laplace iar pentru p=2 se obține o distribuție normală. Funcția scop va avea deci forma generală în cazul estimatorilor de tip Lp:

(193)

Funcția de influență va fi dată de:

(194)

Figura V-68 – Funcția scop și funcția de influență pentru estimatorul L1-norm

Pentru p=1 se obține estimatorul L1-norm pentru care funcția scop, funcția de influență și funcția de reponderare au forma:

(195)

În figura ce urmează sunt prezentate funcția scop și funcția de influență pentru acest estimator, utilizat deseori în observațiilor geodezice pentru identificarea greșelilor.

Pentru p=2 se obține estimatorul L2-norm pentru care funcția scop și funcția de influență au forma:

(196)

După cum se poate vedea mai sus, distribuția în acest caz este cea normală și estimatorul L2-norm este similar metodei pătratelor minime. În figura de mai jos sunt reprezentate funcțiile scop și de influență pentru acest estimator. Se poate observa că funcția de influență nu este una mărginită și deci estimatorul nu este robust.

Estimatori robuști cu punct de cedare ridicat. Estimatorul LMS

Pentru a putea prezenta acești estimatori trebuie definit într-o primă fază punctul de cedare al estimatorului. Acesta a fost definit inițial de (Hampel, A general qualitative definition of robustness, 1971). Simplist, punctul de cedare al estimatorului reprezintă procentul minim de erori grosiere sau greșeli ce sunt introduse în setul de date pentru ca estimatorul să nu mai ofere valori corecte pentru parametrii estimați (Kanani, 2000).

Un estimator cu un punct de cedare de 50% , denumit LMS (Least Median of Squares) bazat pe minimizarea medianei observațiilor este prezentat în (Rousseeuw, 1984) Mediana observațiilor este definită pe baza unui set ordonat de observații (y1<….<yn) ca fiind:

(197)

Astfel, funcția scop a estimatorului LMS va fi definită de:

(198)

Estimatorul LMS are un punct de cedare foarte ridicat (50%) însă are o eficiență asimptotică scăzută.

O metodă de implementare a acestui estimator este prezentată în continuare. Presupunând că avem un set de n observații ce stau la baza estimării a u parametrii. Modul de lucru propus de Rousseeuw este de a estima acești parametrii folosind un subset de q observații, cu qu. O imagine de formare a unui astfel de subset este dat în figura ce urmează (Kanani, 2000).

Figura V-69 – Exemplu de subset de observații în cazul estimatorului LMS

Dacă se dorește formarea tuturor subseturilor de dimensiune q din setul de n observații se poate folosi procedeul de combinări, numărul total de subseturi fiind dat de:

(199)

Pentru fiecare subset obținut se determină parametrii cu ajutorul metodei pătratelor minime, obținând un set de corecții pentru care se calculează mediana. Subsetul k ce oferă valoarea minimă pentru mediana corecțiilor va fi utilizată în calculul final al parametrilor.

Această metodă combinatorie necesită un timp foarte îndelungat de prelucrare deoarece, e.g. pentru un set de 500 de observații (lucru extrem de des întâlnit în cazul observațiilor provenite din scanarea LiDAR terestră) cu 6 parametrii ce trebuie estimați și o dimensiune a subsetului egal cu numărul de parametrii sunt necesare 21013 subseturi. De aceea un algoritm de selectare a subseturilor este absolut necesar. În acest mod procesul poate fi oprit după un anumit număr de subseturi (NSUB). Rousseeuw și Leroy propun determinarea acestui număr pe baza probabilității și a procentului din setul de observații de greșeli estimat apriori:

(200)

, de unde numărul suficient de subseturi va fi:

(201)

Pentru o probabilitate de =99%, numărul de subseturi NSUB va fi egal cu 4.62q, observând că ca numărul de subseturi nu depinde de numărul de observații. Din acest motiv, (Weisberg & Atkinson, 1991) recomandă utilizarea acestui algoritm doar pentru cazul în care numărul de observații este de cel puțin 5 ori mai mare decât numărul de parametrii ce trebuie estimați.

Metode de prelucrare robustă în cazul modelului Gauss – Helmert

Prelucrarea robustă în cazul modelului general de prelucrare

Într-o primă etapă se va arătă că prelucrarea robustă în acest model este posibilă. În cazul estimării robuste pentru modelul Gauss Markov s-a prezentat mai sus că aceasta constă în înlocuirea funcției scop ce presupunea minimizarea sumei pătratelor corecțiilor cu o funcție mai generală. În cele ce urmează se va pune în evidență că acest lucru este posibil și în cazul modelului Gauss-Helmert, urmând ca apoi să se localizeze această valoare extreme și să i se micșoreze influența în estimare.

Trebuie reamintit că în cadrul modelului Gauss Helmert funcția scop era dată de forma ecuației (121).

Înlocuind în acest caz cu o altă funcție mai generală se obține:

(202)

Se obține din nou o problemă de minim condiționat a cărei soluție presupune ca derivatele parțiale în raport cu necunoscutele să fie nule:

(203)

, unde corecțiile sunt în acest caz standardizate:

(204)

Funcția de influență este definită din nou ca fiind derivata parțială a funcției scop ρ’ în raport cu corecțiile standardizate și astfel:

(205)

Înlocuind în prima ecuație din sistemul (203) funcția de influență și apoi funcția de reponderare ca fiind raportul dintre funcția de influență și valoarea corecției se obține sistemul de ecuații normale inițial, ceea ce înseamnă că principiul de reponderare și reiterație aplicat în cazul Gauss-Markov este valabil și în cazul modelului general de compensare Gauss-Helmert, atât timp cât funcția de influență este mărginită.

Detectarea greșelilor în cazul modelului general de compensare

Pentru a localiza și repondera observațiile greșite, ca și în cazul modelului Gauss-Markov, se modifică modelul funcțional al modelului Gauss-Helmert prin introducerea unui nou parametru în procesul de estimare, parametru ce are rolul de a încapsula greșeala conținută într-o anumită observație sau într-un grup de observații. În acest fel, greșeala este estimată în cadrul modelului Gauss-Helmert împreună cu ceilalți parametri.

Modelul funcțional extins va deveni în situația dată:

(206)

Vectorul din relația de mai sus este obținut ca un produs dintre o matrice de selecție și noul parametru introdus în modelul funcțional. Fie Zs matricea de selecție, atunci va fi:

(207)

Cu ajutorul matricei de selecție se poate defini observația sau grupul de observații ce se dorește a fi testat. Pot fi testate o singură observație sau mai multe, în funcție de dorința utilizatorului. În cazul observațiilor specifice domeniului pe care se axează această lucrare testarea se va face pe grup de observații, testând pe rând fiecare punct în parte. Orice punct conține practic trei observații reprezentate de cele trei coordonate în sistemul de axe cartezian geocentric. Așadar, pentru n puncte scanate, dimensiunea vectorului va fi 3, în timp ce matricea de selecție va avea dimensiunile n3.

Pentru exemplificare, este prezentat mai jos un model de generare a matricei de selecție dacă se dorește testarea observației (coordonatei) x a punctului I, a observației y pentru punctul J și a observației z pentru punctul K. În acest caz, vectorul , matricea de selecție și termenul vor avea forma:

(208)

Revenind în modelul (206),

(209)

Considerând produsul

(210)

, se va putea scrie în formă matricială relația de mai sus ca fiind:

(211)

, de unde parametrii necunoscuți vor fi determinați conform celor prezentate în rezolvarea modelului Gauss-Helmert ca fiind:

(212)

, în care s-a notat:

(213)

După cum am văzut în prelucrarea modelului Gauss-Helmert sub forma unui model Gauss-Markov cu restricții, putem considera produsul ca fiind o matrice a ponderilor Pww, ceea ce conduce la următoarea formă simplificată a parametrilor estimați:

(214)

Produsul va putea acum fi scris desfășurat sub forma:

(215)

Astfel relația (214) devine:

(216)

Pentru a obține inversa matricei din relația de mai sus este descris în cele ce urmează modalitatea de inversare pe baza algoritmului Gauss-Jordan (Jager, Muller, & Saler, 2005). Presupunând că N este o matrice bloc de forma:

(217)

, unde matricele A și D sunt inversabile, atunci matricea inversă N-1 se poate obține cu:

(218)

Revenind la estimarea parametrilor din modelul nostru de prelucrare, se poate scrie:

(219)

Matricea cofactorilor poate fi acum dedusă din forma precedentă pe baza legii de propagare a erorilor:

(220)

, unde matricea F reprezintă produsul tuturor matricelor din relația anterioară, cu excepția vectorului de observații. În situația în care valorile parametrului sunt nesemnificative, valoarea de testare de mai jos are o distribuție centrală cu m grade de libertate. Prin urmare poate fi utilizată pentru a testa valorile obținute.

(221)

Numărul gradelor de libertate m este dat de dimensiunea vectorului de parametrii . Pentru un punct din spațiul cu trei dimensiuni R3 vom avea m=3, pentru un punct din R2 vom utiliza m=2 iar pentru o observație m=1.

După identificarea unei valori ce depășește cuantila distribuției aferente, urmează reponderarea observațiilor respective. Acest lucru se poate face reponderând doar maximul dintre acele observații sau reponderarea tuturor observațiilor într-o singură iterație. Modalitatea de reponderare poate fi realizată pe baza oricărui estimator prezentat.

Prelucrarea robustă a formei pentru nori de puncte obținuți cu ajutorul sistemelor terestre de scanare

Cuadrice. Noțiuni generale.

Cuadricele sunt definite ca mulțimea tuturor punctelor y ce aparțin unui spațiu cu n dimensiuni , puncte ce satisfac ecuația:

(222)

, în care matricea B, vectorul b și scalarul b0 sunt definite în funcție de spațiul în care se lucrează și conțin coeficienții ce definesc cuadrica. Raportat la subiectul prezentei lucrări ne interesează să estimăm cuadricele de grad doi și grad trei, sau altfel spus cuadrice definite în spațiul cu două sau trei dimensiuni. Pentru aceasta intenționăm să utilizăm observații provenite de la instrumente de scanare terestră (statică sau mobilă) sub forma unor nori de puncte. Numărul de observații va depăși astfel numărul de necunoscute ale problemei ceea ce conduce la o problemă de minim ce va fi rezolvată pe baza modelului Gauss-Helmert conform algoritmului propus de Drixler.

În relația (222), vectorul y pentru un punct conține observațiile referitoare la acel punct (coordonatele punctului în cazul observațiilor de tip LiDAR) și va fi scris în cele două cazuri sub forma:

(223)

Matricea B, vectorul b și scalarul b0 pentru cele două cazuri sunt prezentate mai jos:

(224)

Acum putem exprima ecuațiile parametrice ale cuadricelor de ordin 2 și 3 sub una forma:

(225)

După identificarea parametrilor generali ai cuadricii se pune problema aflării formei reprezentate de ecuația cuadricii definite conform celor de mai sus. Din acest motiv va fi prezentat în acest capitol și un algoritm de identificare a cuadricii pe baza parametrilor obținuți din algoritmul Drixler, fapt ce va conduce la o identificare a parametrilor geometrici ce definesc obiectul scanat, și astfel la o posibilă reprezentare a suprafeței acelui obiect.

Întrucât uneori se pot strecura și puncte nedorite în norul de puncte selectat pentru prelucrare cu scopul de a identifica forma și parametrii acesteia (greșeli), un obiectiv important al lucrării este identificarea acestor greșeli pe baza celor descrise în capitol precedent și reponderarea acestor observații, cu alte cuvinte o estimare robustă a formei.

Estimarea parametrilor cuadricii

În cazul observațiilor de tip LiDAR pentru estimarea formei, fiecare punct va genera o ecuație în modelul general de compensare Gauss-Helmert. Punctul aparținând unei cuadrice, va satisface teoretic ecuația (222). Din cauza erorilor de măsurare ecuația va fi satisfăcută doar în urma corectării observațiilor, ceea ce conduce la următorul model funcțional:

(226)

Nu toți cei 6 respectiv 10 parametrii ai cuadricii sunt independenți și de aceea modelul funcțional precedent trebuie completat cu o ecuație de condiție între parametrii. Există diverse variante pentru restricțiile ce se pot impune iar o parte dintre acestea sunt date în (Drixler, 1993):

(227)

Dintre acestea, s-a ales ultima ca restricție pentru modelul implementat, și astfel, a fost divizat vectorul parametrilor în două părți: 1 ce va conține primii 3, respectiv 6 parametrii ce intră sub restricție și 2 ce conține restul parametrilor neafectați de ecuația de condiție suplimentară.

(228)

De asemenea, a fost împărțită și matricea de coeficienți pe baza acelorași principii în:

(229)

, pentru cuadrice de ordin 2, în timp ce pentru cuadricele de ordin trei acestea vor fi:

(230)

Pe baza relației (131), se poate rescrie modelul Gauss-Helmert ca un model Gauss-Markov ca fiind:

(231)

, ce apoi poate fi rezolvat conform celor prezentate în paragrafele precedente.

Algoritmul de estimare a formei pe baza parametrilor generali ai ecuației cuadricelor

După determinarea parametrilor generali ai cuadriciei de ordin 2 sau 3 pe baza observațiilor, un ultim proces îl reprezintă estimarea formei reprezentată de acei parametri. Pentru a putea recunoaște această formă, cuadrica trebuie remodelată și adusă la forma canonică. Vom prezenta în cele ce urmează modalitatea de a estima forma cuadricii pentru cele două cazuri.

Cuadrice în spațiul R2

Pentru o curbă forma canonică este dată de una din relațiile de mai jos:

(232)

Se poate arăta (Coșarcă, Teza de doctorat, 1999), (Drixler, 1993) că valorile λi reprezintă valorile proprii ale matricei B așa cum a fost ea definită pentru cuadricele din R2 în subcapitolul precedent. În cazul în care aceste valori proprii există, atunci forma canonică este dată de prima ecuație din cele două prezentate mai sus. În cazul în care una dintre cele două valori nu există atunci forma canonică a cuadrice este regăsită în cea de-a doua ecuație.

Scalarul d din prima ecuație se poate obține cu:

(233)

În tabelul de mai jos (Tabelul 1) sunt prezentate cele trei cazuri principale de forme ce pot fi determinate, neglijând figurile imaginare sau simpliste (e.g. punctul).

Tabelul 1 – Clasificarea formelor pătratice plane pe baza formei canonice

Cuadrice în spațiul R3

Pentru cuadrice ce aparțin spațiului cu trei dimensiuni, forma canonică a acestor cuadrice este dată de una dintre ecuațiile de mai jos:

(234)

Similar primului caz, valorile λi reprezintă valorile proprii ale matricei B, cu mențiunea că în acest caz forma matricei este cea definită pentru spațiul R3. De asemenea, pentru cazul în care există toate cele trei valori proprii, forma canonică este dată de prima ecuație iar pentru cazul în care una dintre acestea lipsește, forma canonică este dată de cea de-a doua formă. Scalarul d este determinat pe baza aceleiași relații.

Tabelul 2 – Clasificarea formelor pătratice din spațiul cu trei dimensiuni pe baza formei canonice

În tabelul de mai sus (Tabelul 2) sunt clasificate principalele cuadrice.

În continuare este prezentat și un algoritm automat de identificare a formei în 6 pași pe baza parametrilor generali ai cuadricii (Weisstein, 2007):

Generarea matricei B și bordarea acesteia cu vectorii b și b0 pentru obținerea matricei B1 după cum urmează:

(235)

Determinarea valorilor ρ1 și ρ2 cu:

(236)

Calculul determinantului Δ

(237)

Determinarea valorilor proprii k1, k2 și k3 ca soluții ale:

(238)

Selectarea valorii lui M:

(239)

Pe baza valorilor calculate anterior se poate alege tipul formei reprezentate (Tabelul 3)

Tabelul 3 – Determinarea formei cuadricei

Studiu comparativ privind analiza formei pe baza scanărilor terestre mobile și statice

Generalități

Capitolul de față își propune să ilustreze practic cele descrise mai sus, având ca suport observații obținute în urma scanărilor terestre statice și mobile. Testarea metodelor și principiilor menționate în suportul teoretic al aceste lucrări s-a realizat prin implementarea în mediul de dezvoltare Matlab al Mathworks a unei aplicații ce are ca scop estimarea formelor scanate și a parametrilor asociați acesteia.

În prima parte a capitolului sunt prezentate pe larg implementările estimatorilor robuști pentru analiza formelor, punând accent pe modul de reponderare al fiecăruia (acolo unde este cazul) sau pe modalitatea de estimare a parametrilor, precum și caracteristicile și particularitățile acestora în comparație cu metoda clasică de estimare a pătratelor minime. În acest sens sunt prezentate inițial metodele de implementare pentru modelul Gauss-Markov cu scopul de a estima o formă des întâlnită în practică, după cum se va arăta spre finalul capitolului, și anume estimarea ecuației unui plan pe baza punctelor scanate. Ulterior, va fi analizat modul de implementare a analizei robuste a parametrilor unei cuadrice la modul general, principiul de reponderare, precum și un proces pe care îl propunem pentru estimarea formei, proces de estimare ce se bazează atât pe estimatorii de tip M cât și pe un estimator de tip high breakdown point. Motivația necesara adoptării acestui model va fi apoi detaliată.

În a doua parte a capitolului sunt prezentate pentru început estimări pe baza diverselor simulări ale unor cuadrice în diferite poziții față de sistemul de coordonate ales, în așa fel încât să se poată realiza o validare a algoritmilor implementați, algoritmi ce trebuie să analizeze și să prevadă toate situațiile posibile de analiză a formei. În acest sens vor fi studiați nori de puncte aferenți unor forme cărora li se adaugă ulterior un zgomot pentru a simula cât mai bine măsurătorile. De asemenea, în setul de date vor fi introduse intenționat greșeli pentru a analiza răspunsul estimatorilor implementați în aceste cazuri.

În ultima sa parte, capitolul cuprinde rezultatele estimărilor asupra unor nori de puncte obținuți din scanări reale atât statice cât și dinamice. Scopul final al lucrării este acela de a arăta că utilizarea estimatorilor robuști împreună cu date obținute din scanări dinamice conduce către rezultate similare celor obținute din scanări statice, unde norul de puncte este de regulă mai dens și în care erorile coordonatelor punctelor scanate sunt cauzate doar de erorile de determinare a distanței și a unghiurilor sub care este emis fasciculul de unde.

Se va arăta, în limita datelor avute la dispoziție, că până la o anumită valoare a preciziei solicitate, scanările mobile pot fi utilizate pentru estimarea formelor.

Capitolul se încheie printr-o analiză a rezultatelor obținute.

Implementarea în Matlab a estimatorilor pentru modelele prezentate

Implementarea estimatorilor robuști pentru modelul Gauss-Markov în cazul estimării parametrilor unui plan

În acest paragraf este prezentat modul de implementare a metodelor de estimare robuste și nerobuste folosite în aplicația dezvoltată pentru modelul Gauss-Markov. Având în vedere tematica abordată, scopul estimării va fi acela de a determina parametrii unui plan pe baza observațiilor dintr-un nor de puncte. Majoritatea obiectelor scanate sunt obiecte plane (e.g. fațadele construcțiilor) și de aceea o estimare corecta a parametrilor planului are o deosebita importanță în determinarea formei și poziției obiectelor în spațiu.

Inițial a fost implementată metoda celor mai mici pătrate pentru estimarea parametrilor planului, metodă ce are la baza minimizarea sumei pătratelor corecțiilor. Mai jos este prezentată o parte din implementarea acestei metode:

function [X Qxx V Qvv s0 finalweights] = LeastSquaresPlaneInput(obs)

%Generarea matricei de observatii (X,Y,Z,P)

[n m] = size(obs);

%Generarea matricelor si rezolvarea LSE

A = zeros(n,3);

A(:,1)= obs(:,1);

A(:,2)= obs(:,2);

A(:,3)= 1;

L = obs(:,3);

P = sparse(diag(obs(:,4)));

N = A'*P*A;

Qxx = N^-1;

X = Qxx*A'*P*L;

V = A*X-L;

Qvv = (P^-1-A*N^-1*A');

%Estimarea abaterii medii patratice a posteriori

s0 = sqrt((V'*P*V)/(n-3));

finalweights = diag(P);

end

Funcția primește ca parametri matricea de observații structurată pe coloane (X, Y, Z, Pondere, Label), creează matricea design, matricea ponderilor și vectorul termenilor liberi. Urmând procesul descris în partea teoretică a lucrării sunt calculați vectorul parametrilor, matricea cofactorilor parametrilor, vectorul corecțiilor și matricea cofactorilor corecțiilor precum și abaterea medie pătratică toate acestea reprezentând și parametrii de ieșire ai funcției. Deși în cazul acestei metode, ponderile nu se modifică în urma estimării, funcția întoarce și un vector denumit finalweights ce va conține ponderile finale ale observațiilor pentru simplitatea implementării în aplicația finală.

Întrucât majoritatea estimatorilor de tip M ce au fost implementați se bazează pe metoda pătratelor minime, nu este prezentată în cazul acestora întreaga funcție, ci doar elementele ce diferențiază metoda respectivă de LSE.

Primul estimator implementat a fost estimatorul Huber ce reponderează (în cazul implementării realizate) maximul dintre observațiile pentru care corecțiile standardizate depășesc o anumită constantă. Prezentăm mai jos o secvență din funcția implementată.

function [X Qxx V Qvv s0 finalweights noofit found_outliers] = HuberPlaneInput(c, s0apr, maxdif, obs)

%Generarea matricelor si rezolvarea LSE ca prima iteratie

……

Xprec = X;

%Testare daca e nevoie de reestimare si gasirea maximului

detected = false;

noofit = 1;

found_outliers = 0;

no_of_outliers = 0;

dif = maxdif;

while ((detected)||(noofit==1))&&(dif>=maxdif)

detected = false;

noofit=noofit+1;

Vstd = zeros(n,1);

for i = 1:n

Vstd(i,1) = V(i,1)*sqrt(P(i,i))/s0apr;

end

[maxv maxvind] = max(abs(Vstd));

if (maxv>c)

detected = true;

end

%Reponderare Huber

if (detected)

P(maxvind,maxvind)= c*s0apr*sqrt(P(maxvind,maxvind))/abs(V(maxvind));

if ~ismember(maxvind,found_outliers)

no_of_outliers = no_of_outliers+1;

found_outliers(no_of_outliers)=maxvind;

end

end

%Reestimare in situatia in care au fost identificate greseli

end

finalweights = diag(P);

end

Funcția primește ca parametrii matricea de observații, abaterea medie pătratică apriori, constanta Huber ce marchează limita dintre o observație greșită și una neafectată de greșeli și diferența maximă admisibilă pentru a opri procesul de estimare, diferență obținută între parametrii determinați în două iterații succesive.

Funcția estimează într-o primă iterație parametrii prin metoda pătratelor minime, intrând apoi într-un ciclu repetitiv ce calculează corecțiile standardizate, le compară apoi cu valoarea constantei aleasă de utilizator, reține maximul dintre aceste corecții și reponderează observația respectivă pe baza relației de reponderare Huber. Ulterior are loc o nouă iterație de tip LSE cu ponderile modificate. Ciclul se oprește în momentul în care nu mai există corecții standardizate care depășesc valoarea constantei sau în cazul în care diferența dintre parametrii determinați în două iterații succesive se încadrează în limita definită de utilizator.

Funcția întoarce același rezultate ca și LSE și, în plus, un vector ce conține observațiile greșite.

Estimatorul Hampel, prezentat în cele ce urmează nu diferă de estimatorul Huber decât prin introducerea unor constante suplimentare pentru a limita influența greșelilor foarte mari. Din aceste considerații, este prezent în cele ce urmează doar antetul funcției generale de estimare și funcția de reponderare Hampel.

function [X Qxx V Qvv s0 finalweights noofit found_outliers] = HampelPlaneInput(c1, c2, c3, s0apr, maxdif, obs)

%Generarea matricelor si rezolvarea LSE ca prima iteratie

……

%Testare daca e nevoie de reestimare si gasirea maximului

……

while ((detected)||(noofit==1))&&(dif>=maxdif)

……

if ((maxv>c1)&&(maxv<=c2))

P(maxvind,maxvind)= c1 * s0apr * sqrt(P(maxvind,maxvind))/abs(V(maxvind));

elseif (maxv>c2)&&(maxv<=c3)

P(maxvind,maxvind)= c1 * s0apr* sqrt(P(maxvind,maxvind))/(c3-c2)*(-1+c3/abs(V(maxvind)));

elseif (maxv>c3)

P(maxvind,maxvind)= 100*eps;

end

……

end

Funcția asociată estimatorului L1-Norm diferă ca mod de abordare de estimatorii de tip M, fiind însa un estimator robust deoarece modifica funcția scop generală. Nu există însă o localizare sau mai bine zis o identificare a observațiilor greșite ci doar o reponderare în funcție de mărimea corecției. O parte din funcția asociată este prezentată mai jos:

function [X Qxx V Qvv s0 finalweights noofit] = L1NormPlaneInput(prednoofit,difmax, obs)

[n m] = size(obs);

%Generarea matricelor si rezolvarea LSE ca prima iteratie

……

while (noofit<prednoofit)&&(dif>=difmax)

noofit=noofit+1;

%Reponderare L1Norm

for i=1:n

P(i,i)=1/abs(V(i));

end

%Noua iteratie LSE cu ponderi refacute

……

end

……

end

Funcția primește în acest caz ca parametrii de intrare diferența maxima admisibilă între două iterații la nivel de parametrii și numărul de iterații predefinit de utilizator. Procesul iterativ se repetă atât timp cât diferența dintre parametrii între iterații succesive depășește valoarea dată de utilizator, sau după ce este atins numărul de iterații predefinit. După cum se poate observa în acest caz nu există o testare explicită a observațiilor pentru a identifica greșelile, ci doar o reponderare a tuturor observațiilor în funcție de valorile absolute ale corecțiilor.

Funcția de implementare pentru estimatorul de tip “high breakdown point” LMS a fost implementată în două variante după cum a fost prezentat în partea teoretică legată de estimatorul respectiv. Într-o primă variantă se calculează parametrii pe baza tuturor combinațiilor de dimensiune q (unde q este definit de utilizator) iar parametrii optimi sunt dați de combinația ce oferă valoarea minimă pentru mediana pătratelor corecțiilor.

function [X Qxx V Qvv s0 finalweights noofit] = LMSPlaneInputComb(q, constanta, obs)

%Generarea matricelor si rezolvarea LSE ca prima iteratie

%Definirea matricelor de subset

suba = zeros(q,3);

subp = zeros(q,q);

subl = zeros(q,1);

%Vector ajutator

ORDER = zeros(1,n);

for i = 1:n

ORDER(1,i) = i;

end

%Initializarea medianei cu o valoare foarte mrae

minmed = max(abs(L))^2;

st = zeros(1,q);

k=1;

%Algoritmul clasic de combinari bazat pe stiva

while (k>0)

if (st(k)<n)

asc = 1;

st(k)=st(k)+1;

else

asc = 0;

end

if asc

if (k==q)

noofit=noofit+1;

%Generarea subsetului si a matricelor aferente

for i = 1:q

for j = 1:3

suba(i,j)=A(ORDER(st(i)),j);

end

subl(i)=L(ORDER(st(i)));

subp(i,i)=P(ORDER(st(i)),ORDER(st(i)));

end

subn = suba'*subp*suba;

%Daca subsetul este valid din punct de vedere al configuratiei

… si daca valoarea medianei este minima se alege ca

… vector curent de parametrii "subx"

if (det(subn)>eps)

subninv = subn^-1;

subx = subninv * suba' * subp * subl;

V = A*subx-L;

med = median(V.^2);

if (med<minmed)

minmed=med;

X = subx;

end

end

else

k = k+1;

st(k) = st(k-1);

end

else

k = k-1;

end

end

%Recalcularea corectiilor

V = A*X-L;

%Calculul abaterii medii patratice

s0prov = 1.4826*(1+5/(n-3))*sqrt(minmed);

sum1 = 0; sum2 = 0;

for i = 1:n

wilms = 0;

if ((abs(V(i))/s0prov)<constanta)

wilms = 1;

end

sum1 = sum1+P(i,i)*wilms*V(i)^2;

sum2 = sum2+wilms;

end

s0 = sqrt(sum1/(sum2-3));

finalweights = diag(P);

end

Într-o a doua abordare a problemei, se calculează doar un număr limită NSUB de combinații, valoare determinată pe baza probabilității solicitate și a procentului apriori de greșeli din observații. Abordarea, în ceea ce privește implementarea, este similară primei variante cu deosebirea menționată mai sus.

function [X Qxx V Qvv s0 finalweights NSUB] = LMSPlaneInputSubs(alfa, error, q, constanta, obs)

[n m] = size(obs);

%Generarea matricelor si rezolvarea LSE

……

%Definirea matricelor de subset

……

%Calculul numarului de subseturi ce trebuie testate

NSUB = ceil(log(1-alfa)/log(1-(1-error)^q));

%Initializarea medianei cu o valoare foarte mrae

……

while (noofit<NSUB)

%Se genereaza automat o permutare a celor "n" observatii si se

%selecteaza primele "q" pentru testare. Tot aici se genereaza si

%matricele aferente.

perm = randperm(n);

st = zeros(1,q);

for i = 1:q

st(1,i) = perm(i);

for j = 1:3

suba(i,j)=A(st(i),j);

end

subl(i)=L(st(i));

subp(i,i)=P(st(i),st(i));

end

subn = suba'*subp*suba;

%Daca subsetul este valid din punct de vedere al configuratiei

… si daca valoarea medianei este minima se alege ca

… vector curent de parametrii "subx"

……

end

end

%Recalcularea corectiilor

……

%Calculul abaterii medii patratice

……

end

Ultima metodă de estimare implementată este metoda Data Snooping care nu reprezintă un estimator robust, întrucât nu modifică funcția scop generală. Această metodă estimează parametrii pe baza LSE și apoi aplică testul Student (t-Test) pentru fiecare observație în parte și elimină observațiile ce depășesc cuantila superioară a distribuției normale. Pentru a evita apariția unui defect de configurație, metoda Data Snooping a fost modificată în implementare, în sensul în care ponderea aferentă observației ce nu trece testul este modificată primind o valoare foarte mică.

function [X Qxx V Qvv s0 finalweights noofit found_outliers] = DataSnoopingPlaneInput (probab, obs)

[n m] = size(obs);

%Generarea matricelor si rezolvarea LSE

……

while ((detected)||(noofit==1))

detected = false;

noofit = noofit+1;

%Calculul corectiilor standardizate

tau_k = zeros(n,1);

for i = 1:n

tau_k(i,1) = abs(V(i,1))/(sqrt(Qvv(i,i)));

end

c = norminv(probab);

[maxv maxvind] = max(tau_k);

if (maxv>c)

detected = true;

P(maxvind,maxvind)= eps;

if ~ismember(maxvind,found_outliers)

no_of_outliers = no_of_outliers+1;

found_outliers(no_of_outliers)=maxvind;

end

end

%Reestimare in situatia in care au fost identificate observații ce nu

… trec testul statistic t

……

end

……

end

Fiecare dintre aceste funcții a fost apoi utilizată în cadrul aplicației create în mediul de dezvoltare și va fi testată în subcapitolele următoare atât pe valori simulate cât și pe observații colectate pe baza instrumentelor de scanare terestră statică sau mobilă.

Implementarea estimării robuste a formei pentru cuadrice în modelul Gauss-Helmert

În acest paragraf sunt prezentate secvențe ale algoritmului implementat în Matlab pentru estimarea robustă a formei conform celor prezentate în capitolul V.10.

După cum s-a prezentat în capitolul V.10, algoritmul este unul iterativ, plecând de la valori aproximative ale parametrilor determinate printr-o estimare nerobustă. Prezentăm mai jos etape din secvența de estimare a parametrilor inițiali ai formei în cazul nerobust cu comentariile adiționale.

%Generarea matricelor X1 X2 si H intr-o prima iteratie (fara a avea…

… ponderea Pww)

[n, ~] = size(obs);

Qll = sparse(eye(3*n))*sigma0;

X1 = [ obs(:,1).^2 obs(:,2).^2 obs(:,3).^2 sqrt(2)*obs(:,1).*obs(:,2) sqrt(2)*obs(:,1).*obs(:,3) sqrt(2)*obs(:,2).*obs(:,3)];

X2 = [ obs(:,1:3) ones(n,1) ];

H = eye(n) – X2*(X2'*X2)^-1*X2';

N = X1'*H*X1;

%Rezolvarea problemei de minim si aflarea vectorului de necunoscute …

…beta2 ca fiind vectorul propriu corespunzator valorii proprii minime

…pentru matricea X1'*H*X1

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*X2)^-1*X2'*X1*beta1;

beta0 = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

%Generarea matricei Z

Z = [ 2*beta0(1)*obs(1,1) + sqrt(2)*beta0(4)*obs(1,2) + sqrt(2)*beta0(5)*obs(1,3)+beta0(7);

2*beta0(2)*obs(1,2) + sqrt(2)*beta0(4)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,3)+beta0(8);

2*beta0(3)*obs(1,3) + sqrt(2)*beta0(5)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,2)+beta0(9); ]';

for i = 2:n

Z_elem = [ 2*beta0(1)*obs(i,1) + sqrt(2)*beta0(4)*obs(i,2) + sqrt(2)*beta0(5)*obs(i,3)+beta0(7);

2*beta0(2)*obs(i,2) + sqrt(2)*beta0(4)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,3)+beta0(8);

2*beta0(3)*obs(i,3) + sqrt(2)*beta0(5)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,2)+beta0(9); ]';

Z = sparse ([ Z zeros(i-1,3);

zeros(1,3*(i-1)) Z_elem ]);

end

% Generarea matricei de ponderi Pww

Pww = (Z*Qll*Z')^-1; Qcc = Pww;

for i = 1:n

Pww(i,i) = Pww(i,i)*weights(T(i));

end

% Recalcularea parametrilor folosind ponderile Pww

H = Pww – Pww*X2*(X2'*Pww*X2)^-1*X2'*Pww;

N = X1'*H*X1;

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*Pww*X2)^-1*X2'*Pww*X1*beta1;

beta = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

beta_red = beta/beta(10);

Pentru ca în iterațiile următoare să funcționeze algoritmul de estimare robustă, acesta are nevoie de o serie de parametri inițiali (valori aproximative ale acestora) care să fie apropiați de valorile “adevărate”, cel puțin în ceea ce privește forma adresată. În situația în care prezența unor valori extreme în setul de date schimbă acești parametri inițiali este foarte posibil ca estimarea robustă să nu funcționeze, în sensul în care parametrii obținuți în iterația următoare să se depărteze și mai mult de valorile “adevărate” ale formei. De aceea, este foarte important ca un proces de diminuare a influenței acestor valori să aibă loc încă de la început, fără a le identifica și estima influența.

În acest sens a fost considerat ca prim pas înainte de reluarea procesului de estimare și chiar înainte de generarea matricei de ponderi Pww, un algoritm de clasificare a norului de puncte în funcție de distribuția în spațiu a acestuia.

Numărul de clase a fost determinat empiric pe baza unui procent a priori estimate și introdus ca parametru al funcției de către utilizator ca fiind:

(240)

După ce se realizează procesul de clasificare prin generarea clusterelor aferente, s-a considerat oportună o modificare a ponderilor din matricea Pww pe baza numărului de elemente din fiecare clasă. În acest fel un grup de observații greșite, preluate de exemplu de pe suprafața altui obiect în momentul extragerii observațiilor din norul de puncte general, va avea o pondere redusă proporțională cu numărul acestora. Rezultatul observat este că în acest fel algoritmul intră în procesul de estimare robust iterativ cu parametri care reprezintă cel puțin forma căutată.

clusters = max(floor(outliers_percentage*100*4),1);

T = clusterdata(obs,'maxclust',clusters);

no_of_clust_elem = zeros(clusters);

for i = 1:clusters

no_of_clust_elem(i) = sum(T==i);

end

weights = no_of_clust_elem/max(no_of_clust_elem);

Pww = (Z*Qll*Z')^-1; Qcc = Pww;

for i = 1:n

Pww(i,i) = Pww(i,i)*weights(T(i));

end

După realizarea reponderării inițiale descrise mai sus, procesul devine iterativ conform celor descrise în modelul prezentat în capitolul V.10. Acesta este prezentat în anexele acestei lucrări.

Realizarea interfeței, modul de lucru și opțiuni implementate

În vederea utilizării ușoare a metodelor de estimare implementate și descrise, a fost realizată în mediul de dezvoltare Matlab și o interfață grafică pe baza GUIDE (Graphic User Interface Development Environment). Interfața dezvoltată poartă denumirea de MIRUNA (Matlab Interface for RobUst aNAlysis of form) și cumulează toate funcțiile menționate mai sus împreună cu funcții specifice de importare-exportare date, prelucrare și afișare, împreună cu posibilitatea de a schimba anumiți parametrii de intrare pentru fiecare funcție de prelucrare a norului de puncte în parte. În figura de mai jos este prezentată o imagine de ansamblu a interfeței împreună cu o descriere grafică succintă a implementării.

După cum se poate observa, interfața permite într-o primă etapă introducerea datelor din fișiere de observații de tip *.txt. Pentru o importare corectă fișierele trebuie să conțină pe primele 3 coloane valorile X,Y,Z ale punctelor și pe ultima coloana numerele acestora ce vor fi preluate ca etichete pentru afișare.

Aceasta opțiune a fost introdusă pentru o validare a rezultatelor, în sensul în care greșelile simulate în date vor putea fi detectate atât statistic dar și prin interpretare vizuală.

Programul va putea fi dezvoltat ulterior prin introducerea varianțelor pentru fiecare coordonata în parte sau pentru fiecare punct în parte, însă în aceasta primă variantă a interfeței s-au presupus varianțe egale pentru toate punctele și egale cu o valoare definită de utilizator.

Figura VI-70 – Imagine de ansamblu a interfeței și descrierea grafică a opțiunilor implementate

După introducerea datelor, utilizatorul poate previzualiza datele prin bifarea căsuței Preview Data din submeniul de mai jos.

Figura VI-71 – Opțiuni active pentru fiecare estimator – exemplificare (Hampel / LMS)

Această opțiune îi poate oferi utilizatorului o imagine de ansamblu a datelor studiate, ajutându-l pe acesta să selecteze la pasul următor tipul formei estimate în sensul în care aceasta este un plan, caz în care prelucrarea se va face pe baza modelului Gauss-Markov prezentat în capitolele precedente, sau o suprafață pătratică, caz în care estimarea se face pe baza modelului Gauss-Helmert.

Tot aici, utilizatorul poate selecta estimatorul dorit în prelucrarea observațiilor. În funcție de estimatorul selectat, anumite elemente suplimentare devin accesibile pentru definire de către utilizator. Pentru exemplificare, sunt prezentate în figura de mai jos opțiunile ce devin active pentru utilizator în cazul selectării din lista de estimatori a estimatorului Hampel sau LMS.

După selectarea opțiunilor aferente se poate începe procesul de estimare a parametrilor formei prin modalitatea aleasa. După terminarea procesului, în fereastra din dreapta vor putea fi vizualizate observațiile, suprafața estimată, greșelile identificate etichetele punctelor precum și tipul formei estimate.

În submeniul de mai jos vor fi afișate și timpul de prelucrare precum și numărul de iterații parcurse în acest timp.

Pentru o mai bună interpretare a datelor, au fost introduse mai jos funcții de lucru cu graficul formei, în sensul posibilității oferite utilizatorului de a roti, translata și mări sau micșora graficul precum și evaluarea în anumite puncte a valorii formei.

În vederea realizării unor statistici ulterioare, au fost implementate și opțiuni suplimentare cum ar fi realizarea unei reprezentări grafice a ponderilor rezultate în urma procesului iterativ de estimare robustă precum și a corecțiilor reieșite sau exportul matricelor rezultate în fișiere de tip *.mat pentru o prelucrare ulterioară în Matlab.

De asemenea, rezultatele prelucrării pot fi șterse din butonul Clear Results, pentru a relua prelucrarea printr-o altă procedură, sau se poate genera un raport al prelucrării în format HTML. Raportul va conține pe de-o parte date referitoare la forma estimata (tipul formei, parametrii finali obținuți și abaterile medii pătratice de determinare a acestora) și pe de alta parte date referitoare la modelul de prelucrare (estimatorul ales, numărul de iterații, numărul de greșeli identificate).

Studiu pe baza obiectelor simulate

Pentru a putea utiliza interfața creată în estimarea formelor și atingerea obiectivului final al tezei, și anume acela de a arăta că modelele obținute prin prelucrare robustă pe baza norilor de puncte obținuți prin scanări dinamice sunt comparative din punct de vedere calitativ cu cele obținute pe baza datelor colectate în regim static sau prin metode topo-geodezice clasice, paragrafele următoare tratează rezultatele obținute prin studiul unor obiecte simulate în care s-au introdus voit un anumit număr de greșeli.

Simularea și studiul formelor plane

Într-o primă etapă sunt studiate rezultatele obținute pentru estimarea parametrilor unui plan prin diverse modele de prelucrare prezentate anterior.

Pentru aceasta s-a realizat în Matlab funcția simulatePlane.m ce are rolul de a genera un număr de observații pentru un plan cu o anumită abatere standard definită de utilizator, în care se introduc forțat un număr de greșeli, de asemenea definit de utilizator. Opțional se pot introduce și o serie de puncte pârghie pentru a studia și metoda estimatorilor de a identifica și folosi în estimare aceste observații. Funcția creată generează doua fișiere ASCII ce conțin norul de puncte și respectiv informații despre norul generat. Funcția este prezentată în Anexa 2 a prezentei lucrări.

Funcția permite multiple variante de apelare în funcție de numărul de parametri de intrare:

1 parametru – în acest caz se generează un nor de puncte de abatere medie pătratică egală cu unitatea, fără greșeli și fără puncte pârghie, numărul de puncte fiind parametrul dat. În acest caz coeficienții planului sunt generați arbitrar.

2 parametri – similar cazului precedent, însă se specifică și abaterea medie pătratică

3 parametri – în acest caz se introduce de către utilizator și numărul de greșeli ce vor fi introduse. Acestea vor fi introduse arbitrar.

4 parametri – în această opțiune utilizatorul poate introduce și un număr de puncte pârghie. Ca și cele greșite, și acestea sunt introduse arbitrar.

5 parametri – cazul anterior modificat în sensul în care parametrii sunt definiți de utilizator

Pentru a exemplifica modalitatea de funcționare și utilizare a acestei funcții este prezentată mai jos crearea unui set de puncte în situația în care funcția este apelată cu dorința de a simula 25 de măsurători în care s-au strecurat 2 greșeli, fără a avea puncte pârghie, cu abaterea medie pătratică a unei singure măsurători egală cu 0.01 m. Funcția va fi apelată astfel:

simulatePlane(25, 0.01, 2, 0, [11.5 8.75 9.0])

În urma apelării vor fi generate două fișiere, denumite pentru o recunoaștere ușoară după cum urmează:

PlaneData-“Numar-de-puncte”pnt-“Numar-greșeli”out-“Numar-pârghii”lev_info

PlaneData-“Numar-de-puncte”pnt-“Numar-greșeli”out-“Numar-pârghii”lev_points

În cazul ilustrat fișierele sunt: PlaneData-25pnt-2out-0lev_info.txt ce va conține informațiile despre norul generat și PlaneData-25pnt-2out-0lev_points.txt ce va conține norul de puncte.

Primul fișier detaliază informațiile introduse de utilizator și informațiile generate arbitrar de rutina creată: parametrii planului, numărul de puncte, numărul și id-ul punctelor greșite, numărul și id-ul punctelor pârghie, abaterea medie pătratică pe punct.

Parametrii ecuatiei sunt:

+11.50 +8.75 +9.00

Numarul total de puncte este:

25

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

2

Punctele gresite sunt:

10 13

Numarul de puncte parghie introduse este:

0

Punctele parghie sunt:

Al doilea fișier conține cele 25 de puncte generate standardizat pe coloane și delimitate prin spațiu pentru a putea fi ușor importate în diverse programe specifice, inclusiv in aplicație dezvoltată în Matlab. Coloanele conțin în ordine coordonatele X, Y, Z ale punctelor, ponderea inițială și numărul punctului.

+65.7531 +95.0915 +1597.2554 +1.0000 1

+40.0080 +83.1871 +1196.9060 +1.0000 2

+6.0467 +8.4247 +152.1857 +1.0000 3

+32.4220 +30.1727 +645.7662 +1.0000 4

+53.9905 +9.5373 +713.2713 +1.0000 5

+63.1141 +85.9320 +1486.8126 +1.0000 6

+57.0838 +99.6850 +1537.7188 +1.0000 7

+51.5458 +33.0682 +891.1100 +1.0000 8

+49.1806 +7.1037 +636.8122 +1.0000 9

+82.6630 +39.4535 +1030.3905 +1.0000 10

+81.8641 +88.6235 +1725.9787 +1.0000 11

+19.0785 +25.8582 +454.7414 +1.0000 12

+20.2075 +45.3893 +951.2844 +1.0000 13

+96.6053 +62.0055 +1662.5479 +1.0000 14

+72.0165 +34.6895 +1140.7260 +1.0000 15

+55.6695 +15.6495 +786.1446 +1.0000 16

+69.4803 +42.6456 +1181.2396 +1.0000 17

+73.1387 +36.0031 +1165.1131 +1.0000 18

+38.6390 +77.5555 +1132.0055 +1.0000 19

+43.0278 +69.3753 +1110.9421 +1.0000 20

+78.4233 +70.5572 +1528.1647 +1.0000 21

+38.9931 +59.0905 +974.4538 +1.0000 22

+5.0340 +22.8688 +267.0595 +1.0000 23

+1.5645 +86.3711 +782.6540 +1.0000 24

+66.9043 +50.0211 +1216.0275 +1.0000 25

Pentru o vizualizare a norilor de puncte atât în utilizarea în consolă cât și în aplicația dezvoltată, a fost implementată funcția plot_Observations.m ce realizează o reprezentare grafică a punctelor prin importare directă sau prin matricea de observații deja stocată. Funcția este detaliată în Anexa 3 a lucrării.

Funcția plot_Observations.m poate fi apelată cu parametrii multipli iar în urma apelării și selectării fișierului de puncte generat anterior, se generează reprezentarea de mai jos.

Figura VI-72 – Reprezentarea punctelor cu ajutorul funcției plot_Observations.m

În reprezentarea de mai sus se poate observa în urma unei rotații convenabile atât că observațiile simulate aparțin unui plan cât și existența celor două greșeli.

În cele ce urmează aplicația MIRUNA va fi utilizată pentru a estima parametrii de interes ai unui plan pe baza unor observații simulate în care s-au introdus greșeli. În acest sens a fost simulat un set de 150 de observații în care au fost introduse 6 greșeli. Parametrii inițiali precum și restul informațiilor se regăsesc în fișierul de mai jos. Din cauza dimensiunii, fișierul de observații simulate a fost inclus în Anexa 4 a acestei lucrări. Vom prezenta mai jos doar datele inițiale pe baza cărora s-a generat norul de puncte si care sunt conținute in fișierul _info.txt.

Parametrii ecuatiei sunt:

+15.00 +25.00 +8.50

Numarul total de puncte este:

150

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

6

Punctele gresite sunt:

64 97 102 95 142 31

Numarul de puncte parghie introduse este:

0

Punctele parghie sunt:

Se pot observa astfel cele 6 puncte greșite, urmând ca în urma estimării sa se analizeze dacă acestea vor fi identificate corect de estimatorii implementați. Este propus analizării și numărul de iterații necesar convergenței precum și timpul aferent.

În cele ce urmează sunt prezentați pașii urmați în cadrul unui proces de estimare, restul derulându-se similar.

a) Importarea datelor din fișierul generat

O primă etapă în utilizarea aplicației constă în importarea datelor folosind butonul Import data din meniul principal. Eventuale erori în selectare (lipsa selecției, selectarea unor fișiere ce nu sunt compatibile cu formatul solicitat, etc.) induc atenționarea utilizatorului.

Figura VI-73 – Importarea datelor din fișierul de puncte generat anterior

O primă opțiune grafică de vizualizare a datelor este apoi disponibilă prin bifarea căsuței (acum activă) Preview Data. Acest lucru se poate observa în imaginea de mai jos, în care norul de puncte alcătuit din 150 de observații este raportat în sistemul de axe curent și poate fi previzualizat.

Figura VI-74 – Previzualizarea grafică a observațiilor

b) Selectarea estimatorului și a opțiunilor aferente acestuia

După importarea datelor, în situația în care aceasta a fost realizată cu succes, sunt activate celelalte opțiuni de procesare a datelor, în speță alegerea tipului de procesare (plan/suprafețe pătratice), a estimatorului cu care se va realiza prelucrarea, precum și opțiunile aferente fiecărui estimator. Aceste elemente au fost lămurite în paragrafele precedente. Imaginea de mai jos arată opțiunile selectate pentru estimatorul LSE cu care va fi realizată prima procesare a datelor.

Figura VI-75 – Alegerea tipului estimării, a estimatorului și a opțiunilor aferente

c) Estimarea suprafeței

Pentru estimarea suprafeței se apasă butonul Process data. Pentru a indica utilizatorului că există un proces în derulare (în special în timpul procesărilor de durată – cazul estimatorilor LMS sau al norilor de puncte de dimensiuni mari), a fost implementată o fereastră de tip waitbar. Acest lucru poate fi observat în imaginea de mai jos.

Figura VI-76 – Fereastră waitbar în timpul derulării procesului de estimare

d) Vizualizarea rezultatelor și analiza acestora

După finalizarea procesului de estimare, pot fi vizualizate imediat timpul de procesare precum și numărul de iterații. Desigur, în cazul prezentat s-a efectuat o singură estimare, și deci o singură iterație. Ulterior, devin disponibile și alte opțiuni de vizualizare, prin care se pot vizualiza și identifica grafic greșelile identificate (Different colors for outliers) sau se poate vizualiza grafic un mesh al suprafeței estimate (Plot surface). Pentru a îmbunătăți identificarea s-a introdus și opțiunea de etichetare a punctelor pe baza numărului acestora (Show point labels). Bineînțeles în cazul LSE, greșelile nu pot fi identificate și de aceea opțiunea de identificare separată a greșelilor nu are sens sau efect în această situație.

Activarea acestei opțiuni oferă în acest caz sau în cazul în care nu sunt identificate greșeli un mesaj de atenționare utilizatorului (vezi figura de mai jos).

Figura VI-77 – Mesaj de atenționare în situația în care nu au fost identificate greșeli

Figura VI-78 – Grafic al planului estimat

Figura VI-79 – Puncte etichetate / suprafață estimată

Pentru a arăta însă beneficiile acesteia vom exemplifica prin imagini în prelucrările cu estimatori capabili să întoarcă un astfel de rezultat.

De asemenea, pe grafic pot fi trecute titlul estimării (Show title) și forma estimată (Display form name – această opțiune se pretează însă pentru în general pentru cuadrice unde forma este necunoscută).

Mai sus pot fi observate imagini cu forma estimată în cazul exemplului prezentat precum și o imagine cu punctele etichetate în această situație.

Pentru o vizualizare și interpretare mai bună a rezultatelor s-a ales implementarea unei opțiuni de mărire a suprafeței de reprezentare grafică, opțiune ce se poate activa prin apăsarea butonului Large Axes. Aceasta creează o fereastră mărită având opțiunile deja cunoscute de Zoom / Pan / Rotate precum și opțiunea de selectare a unui punct de pe suprafața estimată pentru a afișa coordonatele acestuia.

Figura VI-80 – Fereastră grafică suplimentară

Tot în vederea analizării rezultatelor au fost introduse și opțiuni de vizualizare a corecțiilor (Plot Residuals) și a ponderilor actuale ale observațiilor (Plot new weights).

Figura VI-81 – Corecții ale observațiilor rezultate în urma LSE

Întrucât în cazul LSE ponderile finale sunt egale cu cele inițiale, metode nemodificând ponderile, acest grafic nu are sens în acest caz, însă va fi prezentat în cazurile estimatorilor robuști întrucât acolo o identificare corectă a greșelilor conduce la o reponderare și deci la o modificare a distribuției acestora. Mai sus este reprezentată doar distribuția corecțiilor pentru cele 150 de observații.

În acest caz se pot observa și presupusele greșeli pe baza valorilor mari ale corecțiilor.

Figura VI-82 – Căsuță de dialog pentru generare raport

Figura VI-83 – Raport procesare LSE

e) Generarea raportului de prelucrare și posibilități de exportare a datelor

Aplicațiile de prelucrare a datelor trebuie să ofere utilizatorului și posibilitatea de analiză post-procesare, în sensul posibilității de utilizare a rezultatelor pentru analize ulterioare sau studii comparative. În acest sens a fost implementată opțiunea de generare raport (Generate Raport) ce va deveni activă după procesare. Generarea raportului se face în format .html și conține elementele de bază rezultate din estimare (formă, estimatorul utilizat, numărul de iterații, parametrii estimați, matricea cofactorilor parametrilor, abaterea medie pătratică a unității de pondere) și opțional, printr-o căsuță de dialog, utilizatorul poate opta și pentru trecerea în raport a valorilor corecțiilor și ponderilor.

Mai mult, pentru a putea utiliza valorile obținute în analize sau prelucrări ulterioare în MATLAB s-a implementat și opțiunea de exportare a datelor în matrice proprii ale mediului de dezvoltare *.mat (Export matrixes in mat file).

Figura VI-84 – Reprezentarea grafică a ponderilor după cele 8 iterații realizate de estimatorul Huber

Urmând aceiași pași descriși anterior, se pot prelucra aceleași date pe baza estimatorilor ce au fost implementați și descriși în paragrafele precedente și explicați din punct de vedere teoretic în capitolele precedente, cu mențiunea că opțiunile de estimare specifice fiecărui estimator trebuiesc stabilite în prealabil.

Pentru a sublinia și celelalte opțiuni implementate ce nu au putut fi prezentate în cazul LSE, sunt descrise rezultatele obținute în urma prelucrării acelorași date cu estimatorul Huber, pentru care s-a ales constanta c egală cu 1.5 și posibilitatea de oprire a iterațiilor dacă diferența între iterații succesive dintre parametrii estimați este mai mică decât 0.0001.

În acest caz au fost necesare 8 iterații pentru a atinge convergența parametrilor iar greșelile au fost identificate cu succes. Întrucât greșelile respective sunt mari, noile ponderi sunt extrem de mici. Acest lucru poate fi observat în graficul noilor ponderi, care în acest caz are sens.

De asemenea, în fereastra grafică lărgită acum pot fi observate cu culori diferite greșelile identificate.

Figura VI-85 – Reprezentarea grafică diferită a greșelilor

Figura VI-86 – Raport procesare Huber

În cazul unui estimator robust capabil să detecteze greșelile, raportul generat menționează existența lor prin listarea numerelor acestora. Pentru a sublinia această idee prezentăm în Figura VI-86 raportul reieșit în urma prelucrării anterioare.

Tabelul 4 – Rezultate obținute pe baza estimatorilor

După realizarea prelucrărilor similare folosind estimatorii descriși s-a realizat un studiu comparativ pe baza rezultatelor obținute. În tabelul de mai sus sunt trecute rezultatele principale obținute de estimatorii implementați pe baza setului de date simulat.

Tabelul precedent (Tabelul 4) sintetizează elementele de interes în cazul estimării și din analiza acestuia se pot trage următoarele concluzii cu privire la posibilitatea de estimare a formelor plane cu ajutorul estimatorilor robuști. De menționat că s-a considerat ca unitate de măsură pentru observații metrul, și astfel abaterea medie pătratică a unei singure observații este implicit de aceeași natură.

Se poate remarca în primul rând modul în care cele 6 greșeli afectează metoda de estimare LSE, lucru ce se remarcă atât la nivel de parametrii cât și la nivel de abatere medie pătratică a unității de pondere.

Ceilalți estimatori identifică corect greșelile introduse voit în setul de date, oferind valori mai mult sau mai puțin apropiate de valorile utilizate în simulare.

Din punct de vedere al numărului de iterații se remarcă estimatorii Huber, Hampel și Biber, dar și LMS prin metoda subsample dar considerând probabilitatea de 95% în estimare. Timpul de procesare este relativ comparabil având în vedere numărul de iterații.

De menționat și faptul că estimatorii LMS sau L1-Norm nu pot localiza greșelile, însă pot diminua influența acestora (L1 Norm) sau pot găsi observațiile optime pentru o estimare corectă (LMS) și în acest fel nu pot conduce la identificări grafice ale greșelilor.

Trebuie subliniat că algoritmul de testare statistică Data Snooping bazat pe testul student nu a fost implementat aici în metoda riguroasă ce presupune eliminarea observației și refacerea matricei design, a matricei sistemului normal, ceea ce ar conduce la timpi mult mai lungi de procesare, în special în cazul norilor de puncte de dimensiuni mari sau care ar putea conduce în alte cazuri la apariția unui defect de configurație. Pentru a evita acest lucru, în implementare s-a introdus o valoare foarte mică (eps) apropiată de zero pentru ponderea aferentă observației identificată de testul student și s-a trecut la reestimare fără a regenera matricele aferente.

Din acest motiv timpul de estimare menționat în tabel este comparabil cu cel al estimatorilor robuști.

O altă concluzie ce trebuie evidențiată este că utilizarea estimatorului LMS în metoda completă de calculare a tuturor combinațiilor ( = 20260275 combinații) este inaplicabilă în cazul de față, dat fiind numărul mare de combinații necesare. Această formă a estimatorului găsește sens doar în cazul în care procentul de greșeli este foarte mare (tinde spre 50%). În acest fel se poate asigura identificarea soluției optime, însă cu dezavantajul major al timpului de procesare.

Simularea și studiul unor cuadrice

În acest subcapitol este tratată simularea măsurătorilor efectuate asupra unor cuadrice reale și studiul formelor acestora pe baza metodologiilor de estimare prezentate anterior.

Simularea datelor de acest tip s-a dovedit a fi mult mai anevoioasa decât se estima inițial, întrucât algoritmul de generare a observațiilor simulate trebuie să ruleze optim (timp scurt de generare a observațiilor) și să ofere rezultate cât mai apropiate de cazurile reale. În acest sens, observațiile pot fi generate pe o zonă mai mult sau mai puțin restrânsă de pe suprafața pătratică luată în considerare cu implicarea utilizatorului sau fără.

Pentru a realiza simularea observațiilor a fost implementată funcția simulateQuadric.m care nu este redată aici din motive de spațiu dar care este însă cuprinsă în Anexa 5 a acestei lucrări. Întrucât aceasta poate fi privită ca o contribuție importantă în realizarea studiului de caz al tezei, algoritmul utilizat pentru simularea datelor precum și metoda de lucru a funcției respective sunt detaliate în continuare.

Ca și funcția corespondentă din cazul suprafețelor plane, funcția poate lucra cu diverse variante aferente parametrilor de intrare în funcție de necesitățile utilizatorului. Modurile de introducere ale parametrilor trebuie să satisfacă însă una dintre variantele de mai jos:

1 parametru – numărul de puncte ce urmează a fi generat. În acest caz, abaterea medie pătratică este luată egală cu unitatea, iar parametrii cuadricii sunt generați arbitrar în intervalul (-100; 100) fără a identifica o formă preliminară. Mai mult, nu sunt introduse greșeli forțate în acest mod de apelare

2 parametri – în această variantă funcția poate fi apelată fie numărul de puncte ce trebuie generate și abaterea medie pătratică, fie numărul de puncte și tipul formei. În primul caz forma (ca și parametrii) este aleasă arbitrar, în timp ce în al doilea abaterea medie pătratică este egală cu unitatea

3 parametri – similar variantei precedente, cu mențiunea că în acest caz se introduc numărul de puncte și abaterea medie pătratică și, la alegere, tipul formei, sau numărul de greșeli.

4 parametri – această variantă permite introducerea numărului de puncte, abaterea medie pătratică și numărul de greșeli ce vor fi introduse precum și tipul formei sau direct un vector de 10 elemente ce vor fi chiar parametrii cuadricii considerate. Tipul formei poate lua valorile prestabilite de tipul “elipsoid” sau “paraboloid hiperbolic”.

Pentru a exemplifica pașii urmați în apelarea și rularea funcției de simulare vom prezenta mai jos simularea câtorva obiecte – o simulare arbitrară a parametrilor si prin urmare a cuadricii, o simulare a observațiilor aferente unui paraboloid eliptic fără greșeli cu o anumita varianta si cele ale unui elipsoid cu o varianta data si in care se introduc voit un număr de 3 greșeli (din totalul de 250 de puncte).

Pentru cele 3 cazuri, apelurile funcției vor fi:

simulateQuadric(250);

simualteQuadric(250,0.01,’paraboloid eliptic’);

simulateQuadric(250,0.01,3,’ellipsoid’);

Având în vedere scopul urmărit, va fi prezentat pentru o analiza ulterioară doar ultimul exemplu, în care există prezente și greșeli, însă, pentru a arăta că rezultatele de estimare sunt apropiate de cele simulate (din punct de vedere al cuadricii), vom face referire și la cazul secund. În ceea ce privește simularea însă, procesul general urmează pașii prezentați mai jos.

Într-o primă fază aplicația de simulare generează un set de parametri arbitrari plecând de la forma canonică a ecuației elipsoidului,

param = get_randNumbers(10,0,100)';

param(4:6) = 0;

param(10) = -param(10);

param = set_paramRotate(param);

,căreia îi aplică apoi 3 rotații arbitrare în jurul celor 3 axe. În acest sens a fost realizată funcția set_paramRotate.m ce primește ca parametru de intrare setul de parametri ai cuadricii nerotite, și întoarce parametrii în care s-a aplicat această rotație. Funcția este prezentată mai jos.

function [rotparam] = set_paramRotate(param)

A = [ param(1) param(4)/2 param(5)/2;

param(4)/2 param(2) param(6)/2;

param(5)/2 param(6)/2 param(3)];

alfa = rand*pi-pi/2;

beta = rand*pi-pi/2;

gama = rand*pi-pi/2;

R1 = [1 0 0;

0 cos(alfa) -sin(alfa);

0 sin(alfa) cos(alfa)];

R2 = [cos(beta) 0 sin(beta);

0 1 0;

-sin(beta) 0 cos(beta)];

R3 = [cos(gama) -sin(gama) 0;

sin(beta) cos(beta) 0;

0 0 1];

R = R1*R2*R3;

P = (R'^-1)*A*(R^-1);

rotparam = [P(1,1) P(2,2) P(3,3) 2*P(1,2) 2*P(1,3) 2*P(2,3) param(7:10)];

end

Figura VI-87 – Simularea observațiilor pentru un elipsoid

După generarea valorilor finale ale parametrilor cuadricii simulate, algoritmul trebuie să genereze un set de puncte pe această suprafață. Întrucât cuadrica este generată automat, există riscul ca simularea complet automată fie să genereze un număr de puncte ce nu sunt distribuite pe toată suprafața cuadricii, fie să necesite un timp extrem de lung pentru generare. De aceea, s-a ales ca înainte ca procesul de generare să fie inițializat, utilizatorul să selecteze zone ale cuadricii în care algoritmul să genereze puncte. În acest fel, utilizatorul poate testa rezultatelor obținute în cazul în care punctele sunt generate doar într-o zonă a cuadricii, și nu pe uniform pe toată suprafața acesteia. Un exemplu în acest sens va fi prezentat ulterior.

Pentru a nu îngreuna inutil procesul de estimare, utilizatorul poate selecta maxim 10 puncte pe suprafața cuadricii sau poate încheia procesul de selecție preliminară mai devreme apăsând butonul Exit. Figurile de mai sus prezintă reprezentarea cuadricii generate și modul de selecție al punctelor de testare de către utilizator. Se poate observa etichetarea punctelor pentru a informa utilizatorul în acest sens.

În urma acestor operațiuni, algoritmul creează, similar cu cazul precedent al simulării formelor plane, două fișiere de tip *.txt în care vor fi stocate observațiile generate precum și informații despre elementele generate (aleatoriu sau la solicitarea utilizatorului). Ca și în cazul simulării formelor plane, s-a preferat standardizarea denumirii fișierelor de output menționate mai devreme pentru o recunoaștere ușoară. Astfel, cele două fișiere vor purta denumirea:

QuadricData-“Număr de puncte”pnt – “Număr de greșeli”out – formă_info.txt

QuadricData-“Număr de puncte”pnt – “Număr de greșeli”out – formă_points.txt

În cazul nostru, având în vedere modul în care a fost apelată funcția de simulare, denumirea fișierelor output este: QuadricData-250pnt-3out-ellipsoid_info.txt și respectiv QuadricData-250-pnt-3out-ellipsoid_points.txt. Primul fișier conține informațiile despre cuadrica simulată (parametri) și despre punctele create (număr de puncte, abatere medie pătratică utilizată la simulare, număr de greșeli introduse și precizarea acestora).

Parametrii formei sunt:

+34.95 +46.30 +21.12 +45.12 +20.46 -11.87 +2.75 +61.37 +42.36 -64.53

Numarul total de puncte este:

250

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

3

Punctele gresite sunt:

138 31 33

Al doilea fișier conține pozițiile simulate, ponderea apriori, valorile RGB precum și numărului punctului, pe baza cărora acestea se pot eticheta. Sunt prezentate aici doar primele 15 rânduri (puncte) ale acestuia.

+0.3744 -1.2576 -4.0526 +1.0000 +0.2484 +0.9360 +0.8021 1

+3.5504 -3.4563 -6.0227 +1.0000 +0.3053 +0.0885 +0.4215 2

+1.3495 -0.6683 -4.3096 +1.0000 +0.4150 +0.3806 +0.1046 3

+2.5984 -3.1763 -5.6444 +1.0000 +0.3266 +0.3700 +0.4928 4

+0.4467 -2.6740 -3.0387 +1.0000 +0.7230 +0.8648 +0.5232 5

-0.3685 -0.2888 +1.1364 +1.0000 +0.1734 +0.0009 +0.8785 6

+4.0423 -2.4976 -1.6315 +1.0000 +0.8806 +0.6191 +0.8939 7

+0.4724 -2.7692 -1.1569 +1.0000 +0.7754 +0.6424 +0.1795 8

+4.0616 -3.5730 -6.0890 +1.0000 +0.7076 +0.1841 +0.9946 9

+2.1807 -1.7752 +0.2617 +1.0000 +0.1823 +0.8677 +0.5277 10

+4.7288 -2.6676 -5.0203 +1.0000 +0.5912 +0.8998 +0.5098 11

+2.2716 -0.8436 -0.1710 +1.0000 +0.5392 +0.9373 +0.2556 12

-0.0709 -0.2468 +1.1280 +1.0000 +0.9601 +0.7264 +0.9697 13

+3.5437 -1.8211 -5.2486 +1.0000 +0.1574 +0.3051 +0.1051 14

+2.7921 -0.6646 -1.4847 +1.0000 +0.4743 +0.1745 +0.3254 15

O primă imagine de ansamblu privind datele simulate se poate observa importând datele și reprezentându-le grafic. De observat atât implementarea opțiunii de generare random a valorilor RGB cât și posibilitatea de reprezentare grafică în acest sens. Acest lucru a fost realizat ținând cont că instrumentele terestre de scanare mobilă au în cele mai multe cazuri aceste capabilități de a atașa fiecărui punct valorile RGB colectate cu ajutorul unei camere digitale ce a fost preliminar calibrată. Această informație ar putea fi utilizată ulterior în modele mult mai complexe de estimare a formei. În acest studiu însă această opțiune a fost implementată doar pentru a vizualiza datele în forma în care acestea sunt oferite de echipamentele de scanare.

Seria de imagini de mai sus prezintă raportarea datelor generate pentru a identifica vizual cele 3 greșeli introduse, o raportare similare peste care s-au adăugat etichetele punctelor, o imagine de detaliu pentru zona observațiilor fără greșeli și o imagine de ansamblu cu valori RGB ale punctelor.

În cele ce urmează interfața creată a fost folosită pentru importarea și prelucrarea datelor simulate în etapele precedente și exportarea rezultatelor obținute în procesul de estimare a parametrilor.

Figura VI-88 – Raportarea preliminară a punctelor generate; a) raportare fără etichetare; b) raportare cu etichetare a punctelor; c) detaliu cu zona punctelor în care nu au fost introduse greșeli; d) raportare cu RGB

Pentru început vom analiza rezultatele obținute în urma estimării parametrilor paraboloidului eliptic simulat anterior. În acest caz nu au fost introduse greșeli și astfel forma estimată (parametrii cuadricii estimate) ar trebui să se apropie foarte mult de cea inițială pe baza căreia au fost realizate simulările.

Imaginea de mai jos reprezintă momentul identificării de către utilizator a punctelor “probă” ce induc algoritmului domeniul de definiție al observațiilor ce vor fi generate. Se poate observa că punctele au fost distribuite cât se poate de uniform pe toată suprafața elipsoidului.

Figura VI-89 – Simularea paraboloidului eliptic fără greșeli introduse

Întrucât pentru comparație se vor utiliza parametrii teoretici, este prezentat mai jos și conținutul fișierului de informații aferent generării observațiilor simulate pentru paraboloidul eliptic.

Parametrii formei sunt:

+67.53 +38.26 +86.51 +9.18 +114.85 -67.81 +0.00 +0.00 -68.66 -3.69

Numarul total de puncte este:

250

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

0

Punctele gresite sunt:

În continuare, au fost importate în interfața MIRUNA fișierul de observații generate, din care se vor extrage valorile x,y,z ale punctelor, etichetele (numărul acestora), precum și valorile RGB. Pașii de importare a datelor sunt aceiași cu cei descriși în cazul estimărilor formelor plane și de aceea sunt ilustrați doar cu ajutorul imaginilor de mai jos pașii preliminari în estimare.

Figura VI-90 – Importarea datelor aferente paraboloidului eliptic generat în MIRUNA

Figura VI-91 – Previzualizarea datelor

După cum se menționa anterior, întrucât generarea datelor a fost realizată fără a introduce greșeli forțate, se va utiliza în estimare LSE, tocmai pentru a arăta ca în acest caz se obțin valori foarte apropiate de parametrii inițiali.

Figura VI-92 – Rezultatele obținute în urma prelucrării

În imaginea de mai sus se poate observa forma estimată precum și punctele generate raportate peste aceasta. Se pot observa opțiunile selectate în secțiunea Form Estimation ca fiind Quadric Surface Estimation și utilizarea LSE. Pentru o mai bună vizualizare s-a utilizat fereastra de reprezentare generata prin apăsarea butonului Large Axes în interfața inițială. Rezultatele sunt prezentate mai jos.

Figura VI-93 – Rezultatele obținute în urma prelucrării (Large Axes)

Pentru a avea o măsură mult mai bună a rezultatelor obținute, au fost comparați parametrii obținuți în urma estimării cu cei realizați prin simulare. Acest lucru nu poate fi realizat în interfața creată, întrucât aceasta nu a avut acest scop. Actualizări viitoare vor permite și astfel de studii, însă pentru obiectivul acestei lucrări acest lucru poate fi realizat independent în MATLAB.

Prezentăm mai jos simularea realizată în linia de comandă prin apelarea succesivă a funcțiilor de importare observații (ImportData.m) și de prelucrare (quadric_LeastSquares.m). Într-un final sunt afișate valorile parametrilor rezultați din estimare și parametrii utilizați la generarea observațiilor (parametrii teoretici).

>> [obs labels colors] = ImportDataFunction();

>> [beta pww] = quadric_LeastSquares(obs,0.1);

>> betat = [+67.53 +38.26 +86.51 +9.18 +114.85 -67.81 +0.00 +0.00 -68.66 -3.69];

>> betat = betat/betat(10);

>> beta

beta =

-18.8882 -10.6800 -24.1825 -2.5597 -32.0890 18.9638 -0.1008 -0.0567 19.1979 1.0000

>> betat

betat =

-18.3008 -10.3686 -23.4444 -2.4878 -31.1247 18.3767 0 0 18.6070 1.0000

În algoritmul de mai sus, parametrii teoretici au fost împărțiți la ultimul, conform algoritmului Drixler, întrucât doar 9 dintre ei sunt liniar independenți. Se poate observa că eroarea relativă de estimare a parametrilor este sub 3.2%.

Figura VI-94 – Comparație grafică între simulare și estimare (fără greșeli introduse)

Pentru o interpretare grafică a acestei comparații, am reprezentat prin suprapunere în figura de mai sus, paraboloidul teoretic (cu verde), paraboloidul estimat (cu albastru) precum și observațiile generate (cu și fără RGB), prin apelarea funcțiilor create pentru reprezentarea observațiilor (plot_Observations.m) și a suprafețelor cuadrice (plot_Quadric.m).

Se poate concluziona că algoritmul LSE de estimare a formelor implementat funcționează corespunzător așteptărilor.

În cele ce urmează vom prezenta și rezultatele obținute în estimarea suprafeței pe baza unor observații în care s-au introduse forțat greșeli (3 greșeli / 250 observații pentru suprafața unui elipsoid). Vom utiliza într-o primă fază estimarea LSE utilizată și mai devreme pentru a vedea cum influențează greșelile estimarea în cazul formelor pătratice. Observațiile generate precum și informațiile despre generare se găsesc în anexele 6 și 7 ale prezentei lucrări.

Vom prezenta mai jos doar studiul comparativ efectuat la nivel de parametri și de formă estimată (analitic și grafic).

>> [obs labels colors] = ImportDataFunction();

>> [beta pww] = quadric_LeastSquares(obs,0.1);

>> betat = [+80.80 +60.72 +171.70 -10.78 -50.47 +13.61 +50.46 +61.07 +70.38 -38.33];

>> betat = betat/betat(10);

>> betat

betat =

-2.1080 -1.5841 -4.4795 0.2812 1.3167 -0.3551 -1.3165 -1.5933 -1.8362 1.0000

>> beta

beta =

-0.8715 1.9200 -22.0040 -2.8542 5.6687 0.7443 -0.0908 -0.6684 -7.8766 1.0000

Se observă o abatere extrem de mare între parametrii estimați (beta) și cei teoretici (betat). La nivel grafic acest lucru se traduce și printr-o identificare greșită a formei. În timp ce forma teoretică este un elipsoid, forma identificată este aceea a unui hiperboloid cu o pânză. În figurile de mai jos sunt prezentate formele identificate individual precum și suprapuse (cu sau fără observații).

Se poate trage o primă concluzie extrem de importantă cu privire la algoritmii de estimare a formelor pătratice. Dacă în cazul estimărilor formelor plane prezența greșelilor modifica doar orientarea în spațiu a planului, în cazul formelor pătratice existența unei singure greșeli poate conduce la schimbarea formei estimate nu doar din punct de vedere al amplasamentului și orientării (rotații, translații, efect de scară) dar chiar ca și formă pătratică în sine. Un astfel de exemplu a fost prezentat anterior.

Figura VI-95 – Estimarea parametrilor formelor pătratice în cazul existenței greșelilor în setul de observații; a) formă teoretică (elipsoid) b) formă estimată (hiperboloid cu o pânză); c) setul de observații în care pot fi identificate greșelile; d) formă estimată și formă teoretică (suprapunere); e) formă estimată, formă teoretică și observații suprapuse; f) formă estimată, formă teoretică și observații numerotate suprapuse .

În cazul apelării metodelor robuste pentru estimare, se obțin rezultate mult îmbunătățite, însă acestea necesită timpi destul de ridicați de estimare din cauza procesului de testare pe fiecare observație în parte. Criteriile de estimarea robustă sunt respectate în sensul în care influența observațiilor asupra parametrilor este diminuată. Teste au arătat însă ca, în forma actuală a implementării, există cazuri în care estimatorul identifică mai multe greșeli decât cele generate. Acest lucru este cauzat de forma pătratică estimată ce se apropie foarte mult de observațiile greșite (în special pentru cazul generării formelor pătratice închise).

Figura VI-96 – Estimarea robustă a unui elipsoid

Mai jos sunt prezentați parametrii obținuți prin utilizarea funcției de estimare robustă (quadric_Robust.m) precum și parametrii teoretici.

>> beta

beta =

-2.1355 -1.4969 -4.7976 0.2583 1.4037 -0.3451 -1.3200 -1.5568 -1.9569 1.0000

>> betat

betat =

-2.1080 -1.5841 -4.4795 0.2812 1.3167 -0.3551 -1.3165 -1.5933 -1.8362 1.0000

Se poate observa că în acest caz valorile estimate ale parametrilor formei pătratice se apropie extrem de mult cei teoretici ceea ce arată că estimarea robustă este posibilă. Acest lucru se poate observa și în imaginile de mai jos în care, ca și în cazurile precedente sunt prezentate formele teoretice și estimate cu și fără observații suprapuse.

Studiu pe baza măsurătorilor reale

Realizarea măsurătorilor

A doua parte a studiului de caz aferent acestei lucrări are la bază estimarea formelor plane și pătratice pe baza observațiilor reale provenite de la sistemele de scanare mobile și statice.

În ceea ce privește datele provenite de la sistemele de scanare mobile, acestea au fost puse la dispoziție de către S. C. Primul Meridian SRL și constau în două zone extrase dintr-un nor de puncte obținut cinematic cu ajutorul sistemului de scanare mobilă Riegl VMX250 în cadrul unui proiect privat.

Figura VI-97 – Amplasamentul satului Gresia (Teleroman) (Google)

Figura VI-98 – Amplasamentul satului Izvoarele (Teleorman) (Google)

Datele colectate se află în două localități din județul Teleorman: satul Gresia, comuna Stejaru situat la aproximativ 10 km NV de orașul Roșiorii de Vede și satul Izvoarele, comuna Izvoarele situat la aproximativ 20km S de Alexandria.

O vedere de ansamblu a datelor obținute se poate observa în imaginile de mai jos obținute cu ajutorul unei versiuni trial a Bentley Pointools.

Din norii de puncte vizualizați mai jos au fost selectate zone reprezentative în care s-au putut identifica forme plane sau pătratice pentru a putea fi estimate cu ajutorul interfeței create.

Pentru aceste zone au fost apoi realizate scanări statice cu ajutorul unui instrument de scanare Riegl VZ-400 pus la dispoziție de Institutul de Geografie al Academiei Române în luna decembrie a anului 2013.

Referențierea scanărilor în acest caz a fost realizată cu ajutorul tehnologiilor GNSS, folosind un receptor GNSS Magellan ProMark500 și metoda de poziționare RTK cu ajutorul ROMPOS. În acest fel s-au determinat în prealabil pozițiile mărcilor amplasate în spațiul obiect, referențierea fiind realizată în post-procesare cu ajutorul RiScanPro.

Pentru zona de lucru din satul Gresia obiectivul a fost scanat din mai multe poziții ale instrumentului (trei), în timp ce pentru zona de lucru din satul Izvoarele scanarea a avut loc dintr-o singură poziție.

Figura VI-99 – Nori de puncte obținuți cu ajutorul tehnologiilor de scanare mobilă în satul Gresia și în satul Izvoarele (Teleorman)

Trebuie de asemenea menționat că atât într-o zonă cât și în cealaltă s-au realizat scanări de detaliu pe anumite obiective ce urmează a fi estimate. Pentru zona Gresia s-a scanat în detaliu o fântână ce are o formă cvasi-cilindrică și un gard de beton (formă plană). Pentru zona Izvoarele, au fost scanate în detaliu coloanele și acoperișul unei case ce a reprezentat obiectivul principal ales din zona respectivă.

Figura VI-100 – Scanări statice în zona Gresia

Operațiuni preliminare

În etapele preliminare estimării, pentru scanările statice, în modul postprocesare s-a realizat în primă fază importarea datelor și registrația norilor de puncte (acolo unde a fost cazul) precum și georeferențierea.

Inițial, în programul RiSCAN Pro au fost identificate mărcile scanate (șase mărci din care trei cu formă cilindrică ale căror poziții au fost determinate prin tehnologii GNSS și 3 prisme cu adeziv ce au fost folosite pentru a unifica scanări adiacente) și s-a realizat registrația pentru scanările din zona Gresia, obținând abateri medii pătratice de ordinul a 2-3 centimetri, după cum se poate observa în imaginile de mai jos.

Mai jos se poate observa rezultatul registrației norilor de puncte, evidențiind cu culori diferite norii aferenți scanărilor individuale. Concomitent a avut loc și registrația scanărilor fine pentru obiectivul ce urmează a fi studiat, acestea fiind de asemenea prezentate în imaginile ce urmează. Se poate observa că pentru acest obiectiv au fost colectate puncte pe întreaga sa suprafață, lucru ce se va dovedi extrem de important în estimarea formei, după cum se va dovedi în continuarea studiului.

Figura VI-101 – Identificarea mărcilor și registrația norilor în cazul zonei de lucru Gresia

Figura VI-102 – Rezultatul registrației norilor de puncte pentru zona Gresia

Similar, în cazul zonei Izvoarele, au fost identificate țintele (în acest caz 3 prisme cilindrice cu înălțimea de 10 cm) a căror poziție a fost determinată prin metode GNSS, realizând astfel procesul de referențiere a norului de puncte cu o abatere medie pătratică de 3 cm.

Figura VI-103 – Identificarea țintelor în RiScanPro pentru zona Izvoarele

Utilizarea interfeței implementate în estimarea formelor

Pentru început s-au importat datele cinematice din cele două zone de test într-o versiune trial a Bentley Pointools pentru vizualizare facilă și salvare în fișiere de tip *.pod. Ulterior, acestea au fost importate în Bentley Microstation (versiune trial) cu scopul de a extrage observații aferente unor forme plane sau pătratice pentru a fi estimate apoi cu ajutorul interfeței MIRUNA.

În cele ce urmează au fost exportate din norul de puncte observațiile aferente unei forme plane (acoperișul casei din zona Izvoarele). Imagine ale acestui obiectiv sunt prezentate în figura de mai jos, imagini preluată de camera echipamentului de scanare cinematică.

Figura VI-104 – Obiectivul studiat (imagini preluate de camera sistemului VMX)

După importarea norului de puncte s-au aplicat succesiv filtrări (de tip Mask sau Boundary) ale acestuia pentru a obține doar punctele aferente zonei de interes. Pentru a testa pe date reale răspunsul estimatorilor în cazul acestor observații au fost introduse în mod voit și câteva puncte greșite în procesul de selectare a observațiilor aferente formei, după cum se poate observa în imaginile de mai jos.

Figura VI-105 – Filtrarea succesivă și exportarea norului de puncte aferent unei forme studiate (în acest caz acoperișul unei case în zona Izvoarele)

Norul de puncte obținut conține 3470 puncte. După exportarea datelor în format ASCII *.xyz s-a rulat aplicația MIRUNA din mediul MATLAB. A fost procesat norul de puncte exportat utilizând diverși estimatori.

În subcapitolele precedente a fost prezentat în detaliu modul de lucru cu interfața creată. Ca modalitate de operare în cazul datelor reale nu există diferențe majore față de ceea ce s-a prezentat, excepție făcând partea de importare ce a suferit mici modificări ca urmare a constatărilor făcute în urma testelor. Aceste modificări fac referire la faptul că norul de punte este referențiat în sistem de Proiecție Stereografică 1970 și valorile coordonatelor sunt numere relativ mari, fapt ce conduce la obținerea unor valori foarte mari pentru elementele matricei sistemului normal și respectiv foarte mici în pentru cele ale matricei cofactorilor parametrilor. În acest caz există riscul ca procesul de estimare să se oprească mai repede decât este necesar sau să apară erori în estimare. Pentru a rezolva această problemă au fost identificate două soluții. Prima, presupune reducerea coordonatelor la centrul de greutate, etapă ce ar oferi automatizare procesului, însă ar cauza probleme în momentul comparării rezultatelor dintre scanările statice și dinamice pentru același obiect. De aceea s-a ales și implementat ca soluție a doua variantă ce presupune o implicarea minimă a utilizatorului ce va introduce, imediat după importarea fișierului, valorile X_red și Y_red ce vor fi reduse din întreg norul de puncte. Desigur acest mod de abordare produce o rupere a fluxului de automatizare, însă considerăm că reprezintă varianta optimă de implementare în acest caz. O imagine a pașilor de importare este prezentată mai jos.

Figura VI-106 – Importarea norilor de puncte proveniți din măsurători cinematice (zona Izvoarele) în interfața MIRUNA și introducerea valorilor de reducere a coordonatelor

După cum era de așteptat, interfața MIRUNA a estimat corect suprafața plană și a eliminat influența observațiilor greșite. În cazul estimatorilor ce pot localiza greșelile, acestea au fost identificate.

Figura VI-107 – Identificarea greșelilor și estimarea parametrilor cu ajutorul interfeței MIRUNA

S-a constatat de asemenea că există cazuri în care procesul converge mai repede decât detectarea greșelilor, altfel spus, diferența dintre iterații succesive între parametrii estimați se încadrează într-o anumită toleranță dată de utilizator cu câteva iterații înainte de identificarea tuturor greșelilor. Acest lucru este cauzat de numărul mare de puncte și de influența pe care un număr mic de greșeli o mai are asupra estimatorului dar și de toleranța solicitată de utilizator în estimarea parametrilor. Acest lucru este valabil doar pentru forme plane. Tabelul de mai jos (Tabelul 5) sintetizează rezultatele obținute în acest caz de fiecare estimator în parte.

Tabelul 5 – Rezultate obținute pe baza estimatorilor

Similar, s-au estimat robust și parametrii celuilalt plan observabil al acoperișului prin extragerea punctelor din norul de puncte obținut prin scanare mobilă și s-au reprezentat mai jos rezultatele intersecției celor două plane pentru a arăta posibilitățile de modelare robustă a muchiilor. O altă posibilitate de estimare robustă în detectarea muchiilor ar fi prelucrarea în model Gauss-Helmert a unui nor de puncte selectat de utilizator.

Întrucât estimatorul Hampel este cel ce a dat rezultatele cele mai bune în raportul timp de prelucrare / abatere medie pătratică, cele două estimări folosite au fost realizate cu ajutorul acestui estimator.

Figura VI-108 – Identificarea robustă a muchiilor pe baza scanărilor mobile

Același proces de filtrare succesivă s-a aplicat ulterior rezultatelor scanării statice pentru obținerea norilor de puncte aferenți celor două zone ale acoperișului. Întrucât camera instrumentului de scanare nu era calibrată la momentul realizării măsurătorilor, nu s-au putut obține valori RGB pentru vizualizarea norului. De aceea, în vizualizarea în Matlab, s-au utilizat culori diferite pentru cele două plane ale acoperișului.

Figura VI-109 – Norul de puncte static pentru zona Izvoarele

Pentru a face o estimare cantitativă a abaterilor norului de puncte obținut cinematic față de cel obținut prin metode statice, s-a considerat ca suprafață de referință suprafața plană estimată robust cu ajutorul estimatorului Hampel și față de aceasta s-au determinat abaterile norului de puncte din care au fost extrase greșelile identificate de același estimator.

În graficul de mai jos au fost apoi raportate erorile, împreună cu valoarea medie (roșu) și abaterea standard(verde). Se poate observa că valoarea medie a diferenței este de 2.1 cm cu o abatere standard de aproximativ 1.4 cm, ceea ce conduce la concluzia că astfel de scanări împreună cu estimări robuste pot fi folosite pentru a realiza modele ce se apropie ca nivel de precizie de scanările statice.

Figura VI-110 – Identificarea robustă a muchiilor pe baza scanărilor statice

Figura VI-111 – Diferențe obținute între norul de puncte obținut cinematic și suprafata de refeință estimată robust pe baza scanărilor statice în zona Izvoarele

În ceea ce privește estimările formelor pătratice, în zona Izvoarele, din norul de puncte obținut cinematic au putut fi extrași nori de puncte aferenți coloanelor casei scanate (hiperboloizi cu o pânză foarte apropiați ca formă de cilindri eliptici), după cum poate fi observat mai jos.

Figura VI-112 – Coloane casă zona Izvoarele

După extragerea acestora, utilizând interfața implementată, s-au estimat formele și s-au realizat comparațiile aferente, similar celor realizate în cazul formelor plane.

Înainte însă de a prezenta rezultatele, trebuie menționate o serie de aspecte ce țin de adaptarea interfeței pentru a lucra cu forme pătratice reale și nu simulate. Un prim element ce trebuie luat în considerare este acela că în cazul formelor pătratice, spre deosebire de formele plane, pe lângă o distribuție cât mai uniformă a observațiilor, este necesar ca numărul acestora să fie considerabil (de altfel acest lucru va fi subliniat în exemplele următoare). De aceea, pentru estimarea formei ar fi necesar un număr ridicat de puncte. În acest sens, în timpul scanărilor statice ale coloanelor casei din zona Izvoarele, s-a realizat și o scanare densă a acestora.

Modelul utilizat pentru estimare necesită definirea matricei de varianță covarianță a observațiilor Qll, matrice ce are o dimensiune de (3 x nr. de puncte, 3 x nr. de puncte). Un calcul simplu arată că pentru o matrice de numere stocate pe 8 octeți și un nor de puncte de 100000 de puncte, matricea ar avea o dimensiune de 80 Gb, lucru imposibil pentru calculatoare obișnuite. În prelucrare, se pot utiliza funcții de lucru cu matrice rare, însă alocarea lor se face tot utilizând memoria inițială.

>> a = 2;

>> whos a

Name Size Bytes Class Attributes

a 1×1 8 double

De aceea, plecând de la o valoare de 1Gb pentru memoria RAM aferentă prelucrării MATLAB, s-a considerat că se poate utiliza o limitare în ceea ce privește dimensiunea norului de puncte pentru cazul nostru. În acest fel, dacă numărul de puncte din fișierul selectat de utilizator depășește limita de 5000 de puncte, utilizatorul poate solicita reducerea numărului de puncte, existând în acest sens implementa un căsuță de dialog, după cum se poate observa în figura de mai jos.

Figura VI-113 – Reducerea densității numărului de observații

O altă problemă identificată este cea referitoare la reducerea coordonatelor. Dacă în cazul formelor plane, acest lucru era realizat doar pentru a nu lucra cu valori mari în calcule care să influențeze convergența proceselor iterative, în acest caz, din teste s-a observat că în cazul procesului de estimare a formelor pătratice, prin împărțirea vectorului de necunoscute și a matricei design în două părți (vezi capitolul V.6), din cauza valorilor mari ale coordonatelor, rezultatele nu sunt cele optime în estimare, element cauzat probabil de problema de aflare a vectorilor și valorilor proprii în algoritmul Drixler. Acest lucru s-a obținut și în cazul reducerii aproximative a coordonatelor (valori de zeci de metri). De aceea, s-a considerat ca unică soluție, aceea de reducere a coordonatelor la centrul de greutate. Pentru aceasta, căsuța de dialog cu utilizatorul pentru reducerea coordonatelor de la cazul formelor plane a fost modificată în sensul în care utilizatorul poate introduce inițialele CM în locul valorilor, iar interfața va realiza această reducere. Pentru a asigura consistență în ceea ce privește comparația, aceleași valori au fost folosite ulterior pentru a reduce coordonatele din norul de puncte obținut cinematic. Acest procedeu s-a aplicat în cazul formelor pătratice aferente coloanelor casei din zona Izvoarele și fântânii din zona Gresia.

Figura VI-114 – Reducerea coordonatelor la centrul de greutate

Cu ajutorul modificărilor menționate mai sus, au fost realizate estimările robuste ale formelor coloanelor casei din zona Izvoarele și a fântânii din zona Gresia.

Pentru zona Gresia, norul de puncte cinematic conține, după cum se poate observa în imaginile de mai jos, doar observații pe partea dinspre drum a fântânii, în timp ce pentru scanarea statică ce a avut loc din stații multiple, observațiile acoperă întreaga suprafață a fântânii.

Figura VI-115 – Nor de puncte aferent fântânii din zona Gresia obținut prin scanări statice/dinamice

Figura VI-116 – Estimarea formei fântânii din zona Gresia cu ajutorul interfeței MIRUNA

Figura VI-117 – Compararea setului de date cinematic cu forma estimată robust pe baza observațiilor statice (Gresia)

Cu ajutorul interfeței au fost estimate robust cele două forme rezultând parametrii aferenți unor hiperboloizi cu o pânză. Trebuie menționat că pentru a putea compara rezultatele, observațiile cinematice au fost reduse la centrul de greutate obținut din setul de observații statice. Pentru a analiza rezultatele au fost implementate pe de-o parte soluții grafice de vizualizare suprapusă a formelor/observațiilor și pe de altă parte soluții analitice. Pentru acestea, s-a folosit următoarea abordare: după estimarea formei robuste din măsurătorile cinematice și identificarea greșelilor, acestea au fost eliminate iar pentru restul punctelor s-a determinat distanța minimă până la suprafața de referință considerată a fi suprafața estimată robust pe baza măsurătorilor statice.

Pentru calculul distanței de la punct la suprafață există mai multe metode aproximative prezentate în literatură. Conform (Martinez Morera & Estrada Sarlabous, 2003), o metodă cu rezultate bune din punct de vedere al aproximării distanței, însă mai puțin utilă în determinarea punctului de intersecție al distanței cu suprafața, este algoritmul prezentat în (Taubin, 1994). Acesta se poate aplica pentru puncte care nu sunt depărtate de suprafața de referință (aplicabil în cazul nostru) și necesită calculul valorii funcției asociată cuadricii în acest punct precum și a derivatelor parțiale ale acesteia, aceste metode fiind ușor aplicabile în cazul MATLAB. Funcția asociată este inclusă în anexele acestei lucrări (Anexa 8).

Pentru început, urmărind reprezentarea grafică suprapusă a celor două forme se pot evidenția câteva concluzii. Ca dimensiuni, formele se apropie una de cealaltă, deși la nivelul parametrilor există diferențe ce par relativ mari. Mai mult decât atât se poate observa că există o deplasare la nivel de coordonate atât a formelor cât și a observațiilor. Această sursă de erori nu poate fi asociată estimării în sine ci metodei de referențiere alese.

La nivel analitic, se poate observa din graficul erorilor estimate că observațiile cinematice se apropie de suprafața de referință (în medie 6 cm). Se poate deci concluziona că la nivel de formă estimată rezultatele oferite sunt bune, însă o problemă importantă este referențierea formei respective.

Pentru zona Izvoarele, se poate observa mai jos, rezultatul estimării formei pentru norul de puncte static aferent uneia dintre coloanele casei studiate. Se poate observa că estimatorul robust obține în cazul acestui obiect o aproximare pe baza unui hiperboloid cu două pânze, ai cărui parametrii au fost exportați în fișierul HTML prezentat, de asemenea mai jos.

Figura VI-118 – Estimarea robustă a formei coloanelor case din zona Izvoarele pe baza măsurătorilor statice

Similar cazului trecut a fost estimată și forma coloanei pe baza scanărilor cinematice. Trebuie subliniată încă de la început o diferență majoră față de cazul din zona Gresia, diferență ce se va observa și în rezultatele estimării. În cazul coloanei respective, dimensiunea obiectului este relativ mică iar numărul de puncte aferent acesteia obținut din scanarea cinematică este extrem de mic (aproximativ 250 de puncte). Mai mult decât atât ele sunt distribuite pe o zonă restrânsă a coloanei, fapt ce induce în eroare estimatorul, în sensul în care, pe zone restrânse, un cilindru sau un hiperboloid cu o pânză se poate aproxima foarte ușor și cu alte forme (e.g. hiperboloid cu două pânze). Acest lucru a fost identificat în cazul coloanei respective, o imagine grafică sugestivă fiind prezentată de asemenea mai jos.

Din punct de vedere al abaterilor observațiilor cinematice față de suprafața estimată robust pe baza observațiilor statice (scanare densă dintr-o singură poziție cu peste 5000 de puncte), aplicând algoritmul menționat mai devreme se poate observa că eroarea (ca medie și deviație standard) se menține în aceeași zonă ca și în cazul precedent. O altă concluzie se poate trage așadar pe baza acestui caz prezentat. Există un risc în estimarea formei (chiar și robust) în situația în care setul de observații ce definește forma nu este distribuit pe o parte semnificativă a cuadricii. Astfel, deși pentru zona restrânsă se pot obține abateri foarte mici, prin extrapolarea formei, aceasta poate diverge față de forma reală.

Figura VI-119 – Estimarea robustă a formei coloanelor case din zona Izvoarele pe baza măsurătorilor cinematice

Figura VI-120 –Compararea setului de date cinematic cu forma estimată robust pe baza observațiilor statice (Izvoarele)

Concluzii și viitoare direcții de cercetare

Concluzii

Din punct de vedere al eficienței colectării de date, sistemele terestre mobile de scanare reprezintă soluția ideală la momentul actual. Avantajele aduse de acestea sunt reprezentate de viteza de colectare a datelor, costurile de operare și posibilitățile de instalare pe orice fel de platformă. În ceea ce privește precizia, nu se poate vorbi de o precizie unitară a acestora și de aceea un studiu general de comparare a preciziilor sistemelor terestre mobile cu alte sisteme de colectare de date este destul de greoaie și se poate face doar în anumite condiții. Precizia sistemelor terestre mobile de scanare nu depinde doar de precizia instrumentelor de scanare ci mai ales de precizia de determinare a traiectoriei și orientării platformei purtătoare. Acest lucru este realizat prin sisteme GNSS/INS care răspund bine în medii mai puțin solicitante, în care există semnal satelitar aproape permanent, sau altfel spus nu există pierderi pe timp lung a acestora (peste 1 minut). În alte zone, în care acest lucru nu se întâmplă, preciziile de poziționare descresc exponențial. Există exemple (Boavida, Oliveira, & Santos, 2012) în care s-a arătat că se pot obține totuși precizii bune ale punctelor colectate folosind tehnici combinate de realizare a observațiilor.

Prin prisma celor menționate mai sus, prezenta lucrare încearcă să realizeze un studiu comparativ între sistemele de scanare terestre mobile și statice raportat la estimarea formelor plane și pătratice. Acest studiu are la bază implementări proprii în mediul de lucru MATLAB ale algoritmilor de estimare robustă și nerobustă descriși în capitolele teoretice ale lucrării și testarea cu ajutorul unei interfețe implementate în același mediu de dezvoltare a datelor simulate sau provenite din scanări terestre mobile și statice.

Referitor la rezultatele obținute, se poate concluziona în primul că sistemele terestre mobile pot fi folosite în estimarea formei pentru obiective de dimensiuni medii sau mari (clădiri, antene parabolice, ș.a.m.d.), ele având avantajul colectării rapide a unui nor de puncte georeferențiat și de dimensiuni mari. În aceste cazuri, sistemele, completate de un algoritm de estimare robustă optimizat, asigură precizii bune în estimare, comparabile cu cele obținute prin scanări statice. Din punct de vedere al eficienței însă, sistemele reprezintă soluții mult mai bune decât variantele statice ale sistemelor, singurul deficit temporar al acestora fiind reprezentat de costurile de achiziție extrem de mari.

Pentru obiective de dimensiuni mici, estimarea formei cu ajutorul acestor sisteme nu este o soluție întrucât densitatea de puncte obținute prin scanare cinematică nu este suficient de ridicată. În acest caz pot fi utilizați estimatori cu breakdown point ridicat (LMS) pentru a obține totuși soluții optime, însă rezultatele nu pot fi comparate cu soluțiile statice de scanare în care densitatea punctelor poate fi chiar de sute de mii de ori mai mare.

Testele pe simulări de nori de puncte au arătat că estimarea robustă a formei este un necesar în cazul prezenței valorilor extreme în cazul funcțiilor. Utilizarea estimatorilor clasici (BUE, LSE) în aceste cazuri conduce la estimarea nu doar a unor parametri diferiți dar și a unor forme diferite.

O mențiune importantă ce trebuie făcută este aceea că în seturile de date cinematice avute la dispoziție nu a existat un număr mare de forme pătratice ce s-au putut utiliza.

Contribuții personale

Pe baza celor descrise în paragrafele precedente se vor menționa în cele ce urmează contribuțiile personale ale autorului în raport cu tematica studiată.

Raportat la problema studiată, lucrarea aduce contribuții în special în partea de estimare a formelor pătratice pe baza observațiilor provenite de la sistemele mobile de scanare, fixând totodată limitele și posibilitățile de utilizare a acestora în aplicațiile de estimare a formelor.

Cel mai important livrabil al lucrării este reprezentat de aplicația de estimare implementată în mediul MATLAB®. După cum a fost arătat în cadrul lucrării, aplicația dezvoltată beneficiază de o interfață Windows cu ajutorul căreia utilizatorul poate încărca norii de puncte pentru care se dorește estimarea formei. Aceștia pot fi vizualizați monocolor sau, daca fișierul de intrare conține valori RGB, în culori naturale.

Software-ul implementat permite apoi estimarea formelor plane sau pătratice cu ajutorul diverșilor estimatori robuști și nerobuști implementați precum și vizualizarea suprafețelor estimate sau grafice ale ponderilor și corecțiilor obținute în urma procesului aplicat.

Trebuie subliniată totodată implementarea proprie a diverșilor estimatori robuști și nerobuști pentru estimarea formelor (LSE, Huber, Hampel, Biber, LMS, L1-Norm).

Interfața creată beneficiază de implementarea algoritmilor de estimare robustă pentru forme plane folosind modelul Gauss-Markov sau pentru forme pătratice folosind modelul Gauss-Helmert.

Ca o contribuție suplimentară, lucrarea a arătat posibilitatea de identificare robustă a muchiilor prin dezvoltarea unor rutine Matlab® separate de interfața principală care să permită estimarea robustă a formelor plane și realizarea și evidențierea intersecției acestora.

După estimarea formei, interfața permite generare unui raport în format HTML, conținând parametrii estimați, greșelile identificate (acolo unde este cazul), precum și alte detalii aferente prelucrării. De asemenea, la solicitarea beneficiarului se pot adăuga alte opțiuni exportării.

Este necesar să fie menționată și analiza rezultatelor pe nori de puncte generați pe baza unor forme simulate. În acest sens, o contribuție personală o reprezintă și seria de funcții dezvoltate ce permit utilizatorului să genereze automat sau semiautomat nori de puncte în care sunt introduse greșeli sau puncte pârghie. Atât pentru simularea formelor plane cât și pentru simularea formelor pătratice au fost dezvoltați algoritmi individuali extrem de flexibili care generează nori de puncte aferenți unor parametri arbitrari sau aleși de utilizator. Mai mult, pentru cazul formelor pătratice, generarea formei și a norului de puncte se realizează parțial interactiv în sensul în care utilizatorul poate defini o serie de eșantioane aferente formei generate (arbitrară sau solicitată) care să minimizeze timpul de generare dar și distribuția punctelor pe anumite zone ale formei.

O altă contribuție importantă a lucrării este realizarea unei analize comparative între scanarea statică și cea mobilă în ceea ce privește estimarea formelor plane sau pătratice, cu scopul de a trage concluzii referitoare la posibilitățile de utilizare a sistemelor mobile în aplicații industriale ce necesită astfel de estimări. Această analiză a avut la bază utilizarea software-ului dezvoltat cu ajutorul căruia au fost analizați nori de puncte aferenți aceluiași obiectiv în diferite configurații pentru a putea trage concluzii cu privire la posibilitățile de estimare a formei pe baza scanărilor terestre mobile.

Pentru a asigura consistența analizei comparative pe baza celor două tipuri de echipamente au fost realizate măsurători statice și dinamice pe aceleași zone de test în care au fost identificate atât forme plane cât și pătratice. A fost astfel definit și un flux de prelucrare a observațiilor pentru a putea realiza o comparație numerică a celor două metode de colectare a informațiilor geospațiale.

Totodată, un alt element nou adus de lucrare îl reprezintă raportul efectuat cu privire la stadiul actual al dezvoltărilor din domeniu. Raportul prezintă arhitectura sistemelor dezvoltate la nivel național și internațional, punând accent pe utilizările practice ale acestora. Sunt incluse aici sistemele dezvoltate de universități sau centre de cercetare dar și echipamentele produse de companiile private în scopuri de comercializare.

La nivel național, lucrarea contribuie la dezvoltarea sistemelor mobile terestre de scanare. Pe de-o parte, prin prezentarea aplicațiilor posibile și prin analiza realizată, lucrarea contribuie la dezvoltarea acestora la nivelul utilizării în diverse domenii iar pe de altă parte la nivelul dezvoltării fizice a sistemelor, prezenta teză tratând și aspectele de arhitectură a sistemelor, funcționare, estimare secvențială a parametrilor de poziție a platformei purtătoare, etc.

Lucrarea aduce o altă contribuție la nivel național prin realizarea studiului inclus în capitolul IV, ce prezintă majoritatea tipurilor de senzori inerțiali existenți (accelerometre și giroscoape), împreună cu principiile de funcționare ale acestora, preciziile asigurate și perspectivele de dezvoltare.

Mai mult, trebuie menționat că tematica abordată reprezintă în sine un subiect nou în cadrul tezelor de doctorat la nivel național, existând o singură teză ca referință în domeniu (Savu, 2010), însă aceasta tratează utilizarea unui sistem pentru căile de comunicație și mai puțin arhitectura sistemelor sau mijloacele de estimare a formei.

Direcții de cercetare propuse în legătură cu tematica abordată

Elementele implementate pot fi considerate un prim pas în această direcție a estimării formei pe baza norilor de puncte proveniți de la scanări mobile. Vom prezenta în această secțiune o serie de direcții ce ar putea fi urmate pentru a continua cercetările în domeniul ales în concordanță cu direcțiile generale ale dezvoltărilor tehnologice și de piață.

O primă direcție ce ar putea fi considerată este utilizarea estimării robuste a formei în procesele de calibrare a sistemelor. În acest sens se poate studia posibilitatea prin care, cunoscând parametrii formei unui obiect ce se poate scana prin tehnologii mobile, prin estimarea robustă a formei să se determine parametrii de orientare interioară ai sistemului.

După cum prezentam încă din capitolul introductiv al acestei lucrări, tendința tehnologică a sistemelor este de miniaturizare și scădere a costurilor. Din această perspectivă o viitoare direcție de cercetare este reprezentată de posibilitatea de utilizare a instrumentelor de scanare low cost împreună cu sisteme de navigație ieftine bazate pe senzori inerțiali (preferabil MEMS sau CAI) și cu echipamente GNSS multiconstelație-multifrecvență.

Tot în acest domeniu, pentru echipamente complexe se pot studia și dezvolta tehnici noi de fuziune a senzorilor GNSS/INS prin cuplare de tip ultra-tightly (super-strânsă) sau deeply coupling. Tehnicile de cuplare liberă sau strânsă sunt momentan mature și folosite în multe cazuri de navigație bazată pe instrumente de acest tip, însă pentru aplicații de scanare mobilă celelalte moduri de cuplare ar putea furniza rezultate mult îmbunătățite.

La nivel aplicativ, considerăm utilă extinderea aplicațiilor în care aceste sisteme sunt folosite. Dintre acestea putem menționa: monitorizarea prin scanare mobilă infrastructurilor critice, scanarea autostrăzilor și a drumurilor europene și naționale cu scopul de a evalua studiul de degradare și necesitatea unor intervenții sau identificarea imobilelor fără autorizații de construire în localități.

De asemenea, având în vedere o altă direcție tehnologică a companiilor producătoare de astfel de echipamente, și anume realizarea sistemelor UAV dotate cu echipamente LiDAR, este necesar să se studieze posibilitățile de integrare a norilor de puncte proveniți din tipuri diferite de sisteme, ce oferă precizii diferite și chiar informații diferite.

Referințe Bibliografice

3DLM & IGI. (2012). Street Mapper. Retrieved 04 23, 2014, from Street Mapper – Gallery: http://www.streetmapper.net/gallery

3DLM. (2006, Iulie/August). Accurate Terrestrial Laser Scanning from a Moving Platform. Geomatics World , pp. 28-30.

Akkaya, A., & Tiku, M. (2004). Robust Estimation and Hypothesis Testing. New Delhi: New Age International.

Alamus, R., Baron, A., Bosch, E., Casacuberta, J., Miranda, J., Pla, M., et al. (2004). On the accuracy and performance of the Geomobil system. Proceedings of the XX Congres of the ISPRS. ISPRS.

Aronowitz, F. (1999). Fundamentals of the Ring Laser Gyro. In R. a. RTO, Optical Gyros and their Application (pp. 3-1 – 3-45). NATO.

Baarda, W. (1968). A testing procedure for use in geodetic networks. Delft: Publications on Geodesy Vol 2, Nr. 5.

Boavida, J., Oliveira, A., & Santos, B. (2012). Precise Long Tunnel Survey using the Riegl VMX-250 Mobile Laser Scanning System. Riegl LiDAR 2012 User Conference. Orlando: Riegl.

Coșarcă, C. (2009). Sisteme de măsurare în industrie. București: Conspress.

Coșarcă, C. (1999). Teza de doctorat. București: UTCB.

Cosentino, R., Diggle, D., Uijt de Haag, M., Hegarty, C., Milbert, D., & Nagle, J. (2006). Differential GPS. In E. Kaplan, & C. Hegarty, Understanding GPS: Principles and Applications (Second edition) (pp. 379-454). Norwood, Massachusetts: Artech House.

Council of the European Union. (1999). Council Resolution 1999/C 221/01. Bruxelles: Official Journal of the European Communities.

Drixler, E. (1993). Analyse der Lage und Form von Objecten im Raum. DGK Reihe C, Heft 409 .

Eissfeller, B. (2008, Iulie 21-31). GNSS/INS Sensor Fusion. Second International Summer School on GNSS: A Worldwide Utility . Berchtesgaden, Germania: Universitat der Bunderswehr Munchen.

Eissfeller, B. (2011, Mai 23-25). Inertial Sensors. First GNSS PhD Training 2011 . Munchen, Germania: Universitat der Bunderswhr Munchen.

Eissfeller, B. (2011, Mai 23-25). Introduction to Inertial Navigation. First GNSS PhD Training . Munchen: Universitat der Bunderswhr Munchen.

Fischer, R. A. (1922). On the mathematical foundations of theoretical statistics.

Fotescu, N. (1975). Teoria erorilor si metoda celor mai mici patrate. Bucuresti: ICB.

Fuller, A. (2012). Terrasolid – Download Section. Retrieved 04 23, 2014, from https://www.terrasolid.com/download/presentations/2012/3DLM%20Terrasolid%202012.pdf

Gauss, C. F. (1809). Teoria mișcării corpurilor cerești. Hamburg.

Gleason, S., & Gebre-Egziahbher, D. (2009). GNSS Applications and Methods. Norwood, Massachusetts: Artech House.

Gordon, G. (1959). The LASER, Light Amplification by Stimulated Emission of Radiation. The Ann Arbor Conference on Optical Pumping (p. 128). Michigan: Universiity of Michigan.

Groves, P. (2008). Principles of GNSS, Inertial and Multisensor Integrated Navigation Systems. Boston-London: Artech House.

Hampel, F. (1971). A general qualitative definition of robustness. Annals of Mathematical Statistics 42 , pp. 1887-896.

Hampel, F. (1986). Robust statistics. In F. Hampel, E. Ronchetti, & P. Rousseeuw, Robust statistics: the approach based on influence functions. Wiley, New York: John Wiley & Sons Inc.

Hofmann-Wellenhof, B., Lichtenegger, H., & Collins, J. (2001). GPS Theory and Practice. Wien-New York: Springer.

Huber, P. J. (1964). Robust estimation of a location parameter. Annals Mathematical Statistics , pp. 73-101.

Hulsmeyer, C. (1904). The Telemobiloscope. Electrical Magazine (London), Vol. 2 , 388.

IEEE Sensors Working Group. (2007). 528-2001 IEEE Standard for Inertial Sensor Terminology. IEEE Standards Association.

Iglewicz, B., & Hoaglin, D. (1993). How to detect and handle outliers. Milwakee: ASQC Quality Press.

Jager, R., Muller, T., & Saler, H. (2005). Klassiche und robuste Ausgleichungsverfahren. Wichman: Munchen.

Kalman, R. E. (1960). A New Approach to Linear Filtering and Prediction Problems. Journal of Basic Engineering 82 , 35-45.

Kanani, E. (2000). Robust Estimators for Geodetic Transformations and GIS. Zurich: Institut fur Geodasie and Photogrammetrie.

Koch, K.-R. (1999). Parameter Estimation and Hypothesis Testing in Linear Models. Berlin-New York: Springer.

Kremer, J., & Hunter, G. (2007). Performance of the StreetMapper Mobile LIDAR Mapping System in Real World Projects. In D. Frisch, Photogrammetric Week 2007 (pp. 215-225). Wichmann Herbert.

Leica Geosystems. (2014). Présentation Scanner laser dynamique (Mobile Mapping). Retrieved 04 27, 2014, from http://www.leica-geosystems.fr/fr/Evenements_19480.htm?id=9981

Lewin, W. (1999, 10 29). MIT Open courseware: Angular Momentum. Retrieved 05 11, 2014, from http://ocw.mit.edu/courses/physics/8-01-physics-i-classical-mechanics-fall-1999/video-lectures/lecture-20/

Markets and Markets. (2013). LiDAR Market by Components (INS, Laser, GPS/GNSS, Camera, MEMS), Product Types (Airborne, Mobile, Terrestrial), Applications (Corridor Mapping, Forestry, Mining, Topographic Surveying, Volumetric Mapping) – Global Forecasts and Analysis 2013 – 2018. Dallas, TX: Markets and Markets.

Markov, A. (1912). Calculus of probabilities. Leipzig.

Martinez Morera, D., & Estrada Sarlabous, J. (2003). On the distance from a point to a quadric surface. Revista investigacion operational , 24 (2), pp. 153-161.

MDL part of Reinshaw plc. (n.d.). Dynascan S250 X-Plane Survey Grade Mobile Mapping System. Retrieved 04 27, 2014, from Dynascan S250 X-Plane Survey Grade Mobile Mapping System: http://www.mdl-laser.com/en/dynascan-s250-x-plane-survey-grade-mobile-mapping-system–18372

Moldoveanu, C. (2002). Geodezie. Bucuresti: Matrix Rom.

Morgan, D. (2009). Using Mobile Lidar to Survey Railway Infrastructure. Lynx Mobile Mapper. FIG Commissions 5, 6 and SSGA Workshop – Innovative Technologies for an Efficient Geospatial Management of Earth Resources. Lake Baikal, Rusia: FIG.

Neuner, J. (2000). Sisteme de poziționare globală. București: Matrix ROM.

Olteanu, V. (2007). Robust adjustment methods in parameter estimation for geometric forms in industrial applications. Bucuresti: UTCB.

Petrie, G., & Toth, C. (2009). Introduction to Laser Ranging, Profiling and Scanning. In J. Shan, & C. Toth, Topographic Laser Ranging and Scanning – Principles and Applications (pp. 1-27). Boca Raton, FL: CRC Press.

Petrie, G., & Toth, C. (2009). Introduction to Laser Ranging, Profiling and Scanning. (J. S. Toth, Ed.) Boca Raton, FL: CRC Press Taylor & Francis Group.

Petrie, G., & Toth, C. (2009). Terrestrial Laser Scanners. Boca Raton, FL: CRC Press Taylor & Francis Group.

Pope, A. J. (1976). The statistics of residuals and the detecion of outliers. Rockville, Maryland: US Department of Commerce, National Geodetic Survey.

Riegl . (2007, 03 05). Long range 3D terrestrial laser scanner system LMZ-Z210ii. Datasheet . Horn, Austria: Riegl.

Riegl. (2014). Riegl – Mobile scanning Gallery. Retrieved 04 27, 2014, from Riegl: http://www.riegl.com/nc/products/mobile-scanning/gallery/

Riegl. (2014, 03). VMX-250 MARINE Datasheet. VMX-250 MARINE Datasheet . Horn, Austria: Riegl.

Riegl. (2014, 03). VMX-450-RAIL Datasheet. VMX-450-RAIL Datasheet . Horn, Austria: Riegl.

Ristic, B., Arulampalam, S., & Gordon, N. (2004). Beyond the Kalman Filter: Particle filters for tracking applications. Boston: Artech House.

Rousseeuw, P. (1984). Least median of squares regression. American Statistical Association , pp. 871-880.

S.C. Primul Meridian S.R.L. (2013). Primul Meridian. Retrieved 05 10, 2014, from primulmeridian.ro: http://primulmeridian.ro/articole/sistem-mobil-de-scanare-terestra-riegl-vmx-250-113

Sanz Subirana, J., Juan Jornoza, J., & Hernandez-Pajares, M. (2013). GNSS Data Processing – Volume I: Fundamentals and Algorithms. Noordwijk, Olanda: ESA.

Sanz Subirana, J., Juan Zornoza, J., & Hernandez-Pajares, M. (2011). Conventional Terrestrial Reference System. Retrieved 07 04, 2011, from Navipedia: http://www.navipedia.net/index.php/Conventional_Terrestrial_Reference_System

Savu, A. (2010). Perfectionari ale lucrarilor topografice si geodezice in domeniul cailor de comunicatii. Bucuresti: Universitatea Tehnica de Constructii Bucuresti.

Serra, A., Baron, A., Bosch, E., Alamus, R., Kornus, W., Ruiz, A., et al. (2005). Geomobil: Integration y experiencias de Lidar Terrestre en LB-MMS. Setmana Geomatica 2005. Barcelona: ISPRS.

Stengel, R. (1994). Optimal Control and Estimation. New York: Dover Publications.

Talaya, J., Alamus, R., Bosch, E., Serra, A., Kornus, W., & Baron, A. (2004). Integration of a Terrestrial Laser Scanner with GPS/IMU Orientation Sensors. Proceedings of the XX Congress of the ISPRS. ISPRS.

Taubin, G. (1994, Ianuarie). Distance Approximations for Rasterizing Implicit Curves. ACM TransactIons on Graphics , pp. 3-42.

Teunissen, P. J. (1985). The geometry of geodetic inverse linear mapping and non-linear adjustment. Delft: Netherlands Geodetic Commision.

Titterton, D., & Wetson, J. (2004). Strapdown Inertial Navigation Technology 2nd Edition. Reston, VA: American Institute of Aeronautics and Astronautics.

Topcon Corporation. (2010, 07). Topcon IP-S2 Datasheet. Topcon IP-S2 Datasheet . Topcon Corporation.

Trimble. (2013). Trimble MX8 Datasheet. Trimble MX8 Datasheet . Trimble.

Ussyshkin, V. (2009). Mobile Laser Scanning Technology for Surveying Application: From Data Collection to End-Products. FIG Working Week. Eilat, Israel: FIG.

Wehr, A. (2009). LiDAR Systems and Calibration. Boca Raton, FL: CRC Press, Taylor & Francis Group.

Weisberg, S., & Atkinson, A. (1991). Simulated annealing for the detection of multiple outliers using least squares and LMS fitting. New York: Springer-Verlag.

Weisstein, E. (2007). Quadratic Surface. Retrieved 12 18, 2013, from MathWorld – A Wolfram Web Resource: http://mathworld.wolfram.com/QuadraticSurface.html

Wicki, F. (2001). Robust estimator for the adjustment of Geodetic Network. First International Symposium on Robust Statistics and Fuzzy Techniques in Geodesy and GIS (pp. 53-60). Zurich: Institute of Geodesy and Photogrammetry.

Wicki, F. (1999). Robuste Schatzwerfahren fur die Parameterschatzung in geodatischen Netzen. Zurich: Institute for Geodesy and Photogrammetry.

Wikipedia. (2014, martie 30). Lidar – Wikipedia. Retrieved aprilie 1, 2014, from Wikipedia, The Free Encyclopedia : http://en.wikipedia.org/wiki/Lidar

Wikipedia. (2014, martie 15). USS Nautilus (SSN-571). Retrieved aprilie 2, 2014, from Wikipedia, The Free Encyclopedia: http://en.wikipedia.org/wiki/USS_Nautilus_(SSN-571)

Wolf, H. (1978). Das geodatische Gauss Helmert Modell und seine Eigenschaften. Z Vermessungswesen , 103:41-43.

Wrigley, W. (1977). The history of inertial navigation. Journal of Navigation , 61-68.

Zarchan, P., & Musoff, H. (2009). Fundamentals of Kalman Filtering: A practical approach (Third Edition). Reston, Virgina, USA: American Institute of Aeronautics and Astronautics, Inc. .

Zeiss, G. (2014, Februarie 20). Report predicts that low cost LiDAR will be disruptive in next 5 years. Retrieved Aprilie 1, 2014, from geospatial.blogs.com: http://geospatial.blogs.com/geospatial/2014/02/report-predicts-that-low-cost-handheld-lidar-will-be-disruptive-in-next-5-years.html

Anexa 1 – Funcție estimare parametric cuadrică

function [beta_red, Pww] = quadric_LSE (obs, sigma0, outliers_percentage)

%Generarea matricelor X1 X2 si H intr-o prima iteratie (fara a avea…

… ponderea Pww)

[n, ~] = size(obs);

Qll = sparse(eye(3*n))*sigma0;

X1 = [ obs(:,1).^2 obs(:,2).^2 obs(:,3).^2 sqrt(2)*obs(:,1).*obs(:,2) sqrt(2)*obs(:,1).*obs(:,3) sqrt(2)*obs(:,2).*obs(:,3)];

X2 = [ obs(:,1:3) ones(n,1) ];

H = eye(n) – X2*(X2'*X2)^-1*X2';

N = X1'*H*X1;

%Rezolvarea problemei de minim si aflarea vectorului de necunoscute …

…beta2 ca fiind vectorul propriu corespunzator valorii proprii minime

…pentru matricea X1'*H*X1

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*X2)^-1*X2'*X1*beta1;

beta0 = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

%Generarea matricei U si recalcularea parametrilor cu pondere

Z = [ 2*beta0(1)*obs(1,1) + sqrt(2)*beta0(4)*obs(1,2) + sqrt(2)*beta0(5)*obs(1,3)+beta0(7);

2*beta0(2)*obs(1,2) + sqrt(2)*beta0(4)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,3)+beta0(8);

2*beta0(3)*obs(1,3) + sqrt(2)*beta0(5)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,2)+beta0(9); ]';

for i = 2:n

Z_elem = [ 2*beta0(1)*obs(i,1) + sqrt(2)*beta0(4)*obs(i,2) + sqrt(2)*beta0(5)*obs(i,3)+beta0(7);

2*beta0(2)*obs(i,2) + sqrt(2)*beta0(4)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,3)+beta0(8);

2*beta0(3)*obs(i,3) + sqrt(2)*beta0(5)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,2)+beta0(9); ]';

Z = sparse ([ Z zeros(i-1,3);

zeros(1,3*(i-1)) Z_elem ]);

end

clusters = max(floor(outliers_percentage*100*4),1);

T = clusterdata(obs,'maxclust',clusters);

no_of_clust_elem = zeros(clusters);

for i = 1:clusters

no_of_clust_elem(i) = sum(T==i);

end

weights = no_of_clust_elem/max(no_of_clust_elem);

Pww = (Z*Qll*Z')^-1; Qcc = Pww;

for i = 1:n

Pww(i,i) = Pww(i,i)*weights(T(i));

end

H = Pww – Pww*X2*(X2'*Pww*X2)^-1*X2'*Pww;

N = X1'*H*X1;

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*Pww*X2)^-1*X2'*Pww*X1*beta1;

beta = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

beta_red = beta/beta(10);

end

Anexa 2 – Funcție simulare observații plan

% Functia genereaza un set de puncte pentru un plan oarecare cu o anumita

% abatere standard. In interiorul setului sunt apoi intoduse voit un numar de

% greseli.

% Functia primeste ca parametri

% – numarul de puncte din set : "no_of_points"

% – numele fisierului : "file_name"

% – abaterea medie patratica : "sigma_0"

% – numarul de greseli ce se doreste a fi introdus : "no_of_outliers"

% Functia genereaza doua fisiere:

% – un fisier cu parametrii planului generat (intregi) si abaterea medie patratica a

% valorilor precum si numarul total de puncte, numarul de puncte gresite si

% care sunt acestea, numarul de puncte parghie si care sunt

% acestea.

% – un fisier cu punctele in sine similar scanarilor terestre

function simulatePlane(varargin)

%Alegere date initiale in functie de numarul de arg initiale

switch nargin

case 1

no_of_points = varargin{1};

sigma_0 = 1;

no_of_outliers = 0;

no_of_leverage_points = 0;

case 2

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = 0;

no_of_leverage_points = 0;

case 3

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = 0;

case 4

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = varargin{4};

case 5

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = varargin{4};

input_param = varargin{5};

otherwise

disp('Not enough input parameters');

return;

end

%Creare fisiere

initialFolder = cd;

cd('C:\DATA\Doctorat\Doctorat\Studiu de caz\Interface\MIRUNA GUI\Data\Simulations\Plane');

fid_points = fopen(strcat('PlaneData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',…

num2str(no_of_leverage_points),'lev_points.txt'),'w');

fid_data = fopen(strcat('PlaneData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',…

num2str(no_of_leverage_points),'lev_info.txt'),'w');

%Creare parametri

if (nargin <=4)

sign1=0; sign2=0;

while (sign1==0)

sign1 = (round(2*rand()-1));

end

while (sign2==0)

sign2 = (round(2*rand()-1));

end

while (sign2==0)

sign2 = (round(2*rand()-1));

end

a = sign1*round(100*rand);

b = sign2*round(100*rand);

c = round(100*rand);

else

a = input_param(1);

b = input_param(2);

c = input_param(3);

end

%Scriere in fisier informatii elemente preliminare

fprintf(fid_data,'Parametrii ecuatiei sunt:\n%+2.2f %+2.2f %+2.2f\n', a, b, c);

fprintf(fid_data,'Numarul total de puncte este:\n%u \n', no_of_points);

fprintf(fid_data,'Abaterea medie patratica sigma_0 este:\n%2.3f \n', sigma_0);

%Definire random outliere

outliers = zeros(no_of_outliers,1);

t = no_of_outliers;

while t>0

cur_outlier=round(rand*no_of_points);

if (ismember(cur_outlier,outliers)==0)

outliers(no_of_outliers-t+1)=cur_outlier;

t=t-1;

end

end

%Definire random leverages

leverages = zeros(no_of_leverage_points,1);

t = no_of_leverage_points;

while t>0

cur_leverage=round(rand*no_of_points);

if (ismember(cur_leverage,outliers)==0)&&(ismember(cur_leverage,leverages)==0)

leverages(no_of_leverage_points-t+1)=cur_leverage;

t=t-1;

end

end

%Scriere in fisier informatii outliers/leverages introduse

fprintf(fid_data,'Numarul de greseli introduse este:\n%u \n', no_of_outliers);

fprintf(fid_data,'Punctele gresite sunt:\n');

fprintf(fid_data,'%u ', outliers(:));

fprintf(fid_data,'\n');

fprintf(fid_data,'Numarul de puncte parghie introduse este:\n%u \n', no_of_leverage_points);

fprintf(fid_data,'Punctele parghie sunt:\n');

fprintf(fid_data,'%u ', leverages(:,1));

fprintf(fid_data,'\n');

%Generare puncte si scriere in fisier puncte

for i=1:no_of_points

mistake = 0;

if ismember(i,outliers)

sign=0;

while (sign==0)

sign = (round(2*rand()-1));

end

mistake = (1000+rand()*4000)*sqrt(sigma_0)*sign;

end

if ismember(i,leverages)

sign=0;

while (sign==0)

sign = (round(2*rand()-1));

end

x = 800+rand()*(2000-800);

y = 300+rand()*(2000-300);

error = sqrt(sigma_0)*(2*rand-1);

mistake = sign*5*sigma_0;

z = a*x+b*y+c + error + mistake;

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %u\n', x,y,z,1,i);

continue

end

x = 100*rand;

y = 100*rand;

error = sqrt(sigma_0)*(2*rand-1);

z = a*x+b*y+c + error+mistake;

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %u\n', x,y,z,1,i);

end

fclose(fid_points);

fclose(fid_data);

cd (initialFolder);

end

Anexa 3 – Funcție reprezentare observații

function [varargout] = plot_Observations(varargin)

switch nargin

case 0

obs = ImportDataFunction();

axis_Handle = gca;

symbol = '+';

color = 'r';

case 1

obs = varargin{1};

axis_Handle = gca;

symbol = '+';

color = 'r';

case 2

axis_Handle = varargin{1};

obs = varargin{2};

symbol = '+';

color = 'r';

case 3

axis_Handle = varargin{1};

obs = varargin{2};

symbol = '+';

color = varargin{3};

case 4

axis_Handle = varargin{1};

obs = varargin{2};

symbol = varargin{3};

color = varargin{4};

otherwise

disp('Too many input parameters');

end

switch nargout

case 0

if (nargin==4)&&(isnumeric(color))

color_vector = [color(:,1), color(:,2), color(:,3)];

else

color_vector = color;

end

scatter3(axis_Handle, obs(:,1),obs(:,2),obs(:,3),[],color_vector,symbol);

xlabel('X [m]','Color',[.4 .26 .15],'FontWeight','bold'); ylabel('Y [m]','Color',[.4 .26 .15],'FontWeight','bold');

zlabel('Z [m]','Color',[.4 .26 .15],'FontWeight','bold');

hold on;

case 1

if(nargin==4)&&(isnumeric(color))

color_vector = [color(:,1), color(:,2), color(:,3)];

else

color_vector = color;

end

varargout{1} = scatter3(axis_Handle, obs(:,1),obs(:,2),obs(:,3),[],color_vector,symbol);

xlabel('X [m]','Color',[.4 .26 .15],'FontWeight','bold'); ylabel('Y [m]','Color',[.4 .26 .15],'FontWeight','bold');

zlabel('Z [m]','Color',[.4 .26 .15],'FontWeight','bold');

hold on;

otherwise

disp('Too many output parameters');

end

end

Anexa 4 – Fișier observații simulate aferente unui plan

+70.9282 +23.6231 +1662.9229 +0.010 1

+60.7304 +45.0138 +2044.7919 +0.010 2

+66.1945 +77.0286 +2927.1010 +0.010 3

+66.2010 +41.6159 +2041.9793 +0.010 4

+83.2917 +25.6441 +1899.0004 +0.010 5

+58.2249 +54.0739 +2233.7961 +0.010 6

+26.4779 +31.8074 +1200.7776 +0.010 7

+93.9829 +64.5552 +3032.1198 +0.010 8

+63.9317 +54.4716 +2329.2952 +0.010 9

+54.3886 +72.1047 +2626.9500 +0.010 10

+99.3705 +21.8677 +2045.6697 +0.010 11

+10.9697 +6.3591 +332.0055 +0.010 12

+44.8373 +36.5816 +1595.6525 +0.010 13

+62.7896 +77.1980 +2880.3821 +0.010 14

+97.2741 +19.2028 +1947.6099 +0.010 15

+69.6266 +9.3820 +1287.4547 +0.010 16

+53.0344 +86.1140 +2956.8628 +0.010 17

+39.3456 +67.1431 +2277.3106 +0.010 18

+52.0052 +34.7713 +1657.7904 +0.010 19

+58.6092 +26.2145 +1542.9103 +0.010 20

+75.4933 +24.2785 +1747.8518 +0.010 21

+68.7796 +35.9228 +1938.3119 +0.010 22

+39.4707 +68.3416 +2309.1417 +0.010 23

+44.2305 +1.9578 +720.8684 +0.010 24

+42.4309 +27.0270 +1320.5797 +0.010 25

+82.1721 +42.9921 +2315.9629 +0.010 26

+39.1183 +76.9114 +2518.0398 +0.010 27

+80.8514 +75.5077 +3108.9394 +0.010 28

+21.6019 +79.0407 +2308.6363 +0.010 29

+32.7565 +67.1264 +2177.9968 +0.010 30

+16.7254 +86.1980 +2821.9712 +0.010 31

+51.4423 +88.4281 +2990.8553 +0.010 32

+15.4752 +19.9863 +740.2670 +0.010 33

+74.8706 +82.5584 +3195.5761 +0.010 34

+31.8524 +53.4064 +1821.3647 +0.010 35

+11.1706 +13.6293 +516.8257 +0.010 36

+49.5177 +18.9710 +1225.5405 +0.010 37

+14.7608 +5.4974 +367.4178 +0.010 38

+56.0560 +92.9609 +3173.4008 +0.010 39

+58.2791 +81.5397 +2921.2553 +0.010 40

+98.8912 +0.0522 +1493.2465 +0.010 41

+61.2566 +98.9950 +3402.2308 +0.010 42

+47.9523 +80.1348 +2731.0997 +0.010 43

+49.8094 +90.0852 +3007.7876 +0.010 44

+84.5178 +73.8640 +3122.8852 +0.010 45

+24.6735 +66.6416 +2044.5590 +0.010 46

+62.5960 +66.0945 +2599.8470 +0.010 47

+89.0752 +98.2303 +3800.4400 +0.010 48

+58.1446 +92.8313 +3201.4684 +0.010 49

+1.6983 +12.0860 +336.1959 +0.010 50

+48.4297 +84.4856 +2847.0258 +0.010 51

+55.2291 +62.9883 +2411.5519 +0.010 52

+61.4713 +36.2411 +1836.5087 +0.010 53

+48.9570 +19.2510 +1224.0556 +0.010 54

+20.5494 +14.6515 +682.9663 +0.010 55

+4.2652 +63.5198 +1660.4298 +0.010 56

+53.8597 +69.5163 +2554.3024 +0.010 57

+53.5801 +44.5183 +1925.0843 +0.010 58

+49.0357 +85.2998 +2876.6061 +0.010 59

+27.0294 +20.8461 +935.1079 +0.010 60

+64.0312 +41.7029 +2011.4813 +0.010 61

+94.7933 +8.2071 +1635.4988 +0.010 62

+14.2041 +16.6460 +637.7370 +0.010 63

+72.8662 +73.7842 +2473.5288 +0.010 64

+86.0441 +93.4405 +3635.2705 +0.010 65

+85.8939 +78.5559 +3260.8084 +0.010 66

+17.7602 +39.8589 +1271.3042 +0.010 67

+3.0890 +93.9142 +2402.6488 +0.010 68

+29.5534 +33.2936 +1284.1349 +0.010 69

+64.8198 +2.5228 +1043.9365 +0.010 70

+55.9033 +85.4100 +2982.2683 +0.010 71

+44.6027 +5.4239 +813.0741 +0.010 72

+66.2808 +33.0829 +1829.8643 +0.010 73

+11.8155 +98.8418 +2656.7856 +0.010 74

+70.6917 +99.9492 +3567.5627 +0.010 75

+41.4523 +46.4840 +1792.4365 +0.010 76

+81.8204 +10.0222 +1486.2955 +0.010 77

+35.9635 +5.6705 +689.7185 +0.010 78

+33.5849 +17.5669 +951.3878 +0.010 79

+90.5154 +67.5391 +3054.7020 +0.010 80

+91.2132 +10.4012 +1636.7768 +0.010 81

+73.6267 +56.1861 +2517.4916 +0.010 82

+59.7211 +29.9937 +1654.0863 +0.010 83

+21.2602 +89.4942 +2564.6708 +0.010 84

+24.2487 +5.3754 +506.6042 +0.010 85

+1.3283 +89.7191 +2271.3425 +0.010 86

+9.3371 +30.7367 +916.9642 +0.010 87

+10.1669 +99.5390 +2649.4448 +0.010 88

+29.7347 +6.2045 +609.5929 +0.010 89

+4.6351 +50.5428 +1341.6495 +0.010 90

+63.1070 +8.9892 +1179.7503 +0.010 91

+77.7241 +90.5135 +3437.2044 +0.010 92

+10.9154 +82.5809 +2236.7211 +0.010 93

+29.3973 +74.6313 +2315.1452 +0.010 94

+60.3468 +52.6102 +1861.8376 +0.010 95

+70.7253 +78.1377 +3022.7805 +0.010 96

+33.7584 +60.7866 +1622.5186 +0.010 97

+10.4813 +12.7888 +485.4507 +0.010 98

+48.5229 +89.0476 +2962.5931 +0.010 99

+73.4341 +5.1332 +1238.2559 +0.010 100

+8.8527 +79.8351 +2137.2570 +0.010 101

+11.0353 +11.7493 +78.7007 +0.010 102

+32.8814 +65.3812 +2136.3012 +0.010 103

+58.3186 +74.0032 +2733.3064 +0.010 104

+73.4958 +97.0599 +3537.5060 +0.010 105

+8.6235 +36.6437 +1053.9172 +0.010 106

+68.5028 +59.7942 +2530.9547 +0.010 107

+36.7653 +20.6028 +1074.9664 +0.010 108

+77.1934 +20.5675 +1680.5648 +0.010 109

+55.1779 +22.8953 +1408.5793 +0.010 110

+48.4480 +15.1846 +1114.8908 +0.010 111

+10.0606 +29.4066 +894.5228 +0.010 112

+53.0872 +9.1499 +1033.5363 +0.010 113

+10.4846 +11.2284 +446.5362 +0.010 114

+29.1570 +60.3533 +1954.7820 +0.010 115

+43.2485 +69.4752 +2394.1596 +0.010 116

+43.2642 +65.5498 +2296.1305 +0.010 117

+93.3760 +18.7461 +1877.7450 +0.010 118

+79.7830 +48.7604 +2424.3086 +0.010 119

+39.6007 +27.2939 +1284.7646 +0.010 120

+67.3295 +42.9564 +2092.3439 +0.010 121

+60.9857 +5.9403 +1071.7572 +0.010 122

+77.2722 +69.6433 +2908.5907 +0.010 123

+13.0151 +9.2352 +434.5096 +0.010 124

+42.3109 +65.5573 +2282.1416 +0.010 125

+53.1209 +10.8818 +1077.3851 +0.010 126

+12.6500 +13.4303 +533.9278 +0.010 127

+14.2027 +16.8251 +642.1084 +0.010 128

+31.7480 +31.6429 +1275.7357 +0.010 129

+25.1042 +89.2922 +2617.4094 +0.010 130

+55.5738 +18.4434 +1303.1335 +0.010 131

+7.7347 +91.3800 +2409.0626 +0.010 132

+55.7789 +31.3429 +1628.6892 +0.010 133

+62.2497 +98.7935 +3412.0168 +0.010 134

+25.7792 +39.6799 +1387.1015 +0.010 135

+68.4096 +40.2388 +2040.7115 +0.010 136

+40.2184 +62.0672 +2163.3867 +0.010 137

+38.1345 +16.1134 +983.4044 +0.010 138

+87.1111 +35.0777 +2192.1457 +0.010 139

+29.4149 +53.0629 +1776.3627 +0.010 140

+59.7490 +33.5311 +1742.9735 +0.010 141

+29.0185 +31.7521 +1127.8365 +0.010 142

+95.6936 +93.5731 +3783.2226 +0.010 143

+24.0478 +76.3898 +2279.0143 +0.010 144

+74.0648 +74.3688 +2978.6141 +0.010 145

+68.1560 +46.3261 +2188.9345 +0.010 146

+9.8519 +82.3574 +2215.1493 +0.010 147

+16.3570 +66.5987 +1918.9018 +0.010 148

+51.6558 +70.2702 +2540.0238 +0.010 149

+95.3457 +54.0884 +2790.9318 +0.010 150

Anexa 5 – Funcție simulare observații cuadrică

function simulateQuadric(varargin)

%Alegere date initiale in functie de numarul de arg initiale

switch nargin

case 1

no_of_points = varargin{1};

parameters = set_randQuadParam();

sigma_0 = 1;

no_of_outliers = 0;

prelForm = 'NoPrelForm';

case 2

no_of_points = varargin{1};

if (isnumeric(varargin{2}))

sigma_0 = varargin{2};

parameters = set_randQuadParam();userinput = [];

n=0;

prelForm = 'NoPrelForm';

else

sigma_0 = 1;

parameters = set_givenQuadParam(varargin{2});

prelForm = varargin{2};

end

no_of_outliers = 0;

case 3

no_of_points = varargin{1};

sigma_0 = varargin{2};

if (isnumeric(varargin{3}))

no_of_outliers = varargin{3};

parameters = set_randQuadParam();

prelForm = 'NoPrelForm';

else

no_of_outliers = 0;

parameters = set_givenQuadParam(varargin{3});

prelForm = varargin{3};

end

case 4

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

if (~isnumeric(varargin{4}))

parameters = set_givenQuadParam(varargin{4});

prelForm = varargin{4};

else

parameters = varargin{4};

prelForm = 'NoPrelForm';

end

otherwise

disp('Wierd input');

return;

end

%Creare fisiere

initialFolder = cd;

cd('D:\Documente\Documente MATLAB\PHD curent\Studiu de caz\Interface\MIRUNA GUI\Data\Simulations\Quadrics');

fileName = strcat('QuadricData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',prelForm);

fid_points = fopen(strcat(fileName,'_points.txt'),'w');

fid_data = fopen(strcat(fileName,'_info.txt'),'w');

%Scriere in fisier informatii elemente preliminare

fprintf(fid_data,'Parametrii formei sunt:\n');

fprintf(fid_data,'%+2.2f ', parameters);

fprintf(fid_data,'\nNumarul total de puncte este:\n%u \n', no_of_points);

fprintf(fid_data,'Abaterea medie patratica sigma_0 este:\n%2.3f \n', sigma_0);

%Definire random outliere

outliers = zeros(no_of_outliers,1);

t = no_of_outliers;

while t>0

cur_outlier=round(rand*no_of_points);

if (ismember(cur_outlier,outliers)==0)

outliers(no_of_outliers-t+1)=cur_outlier;

t=t-1;

end

end

no_of_leverage_points = 0;

%Definire random leverages

leverages = zeros(no_of_leverage_points,1);

t = no_of_leverage_points;

while t>0

cur_leverage=round(rand*no_of_points);

if (ismember(cur_leverage,outliers)==0)&&(ismember(cur_leverage,leverages)==0)

leverages(no_of_leverage_points-t+1)=cur_leverage;

t=t-1;

end

end

%Scriere in fisier informatii outliers/leverages introduse

fprintf(fid_data,'Numarul de greseli introduse este:\n%u \n', no_of_outliers);

fprintf(fid_data,'Punctele gresite sunt:\n');

fprintf(fid_data,'%u ', outliers(:));

fprintf(fid_data,'\n');

fprintf(fid_data,'Numarul de puncte parghie introduse este:\n%u \n', no_of_leverage_points);

fprintf(fid_data,'Punctele parghie sunt:\n');

fprintf(fid_data,'%u ', leverages(:,1));

fprintf(fid_data,'\n');

%Generare ecuatii z sim

a1 = sym('a1'); a2 = sym('a2'); a3 = sym('a3'); a4 = sym('a4');

a5 = sym('a5'); a6 = sym('a6'); a7 = sym('a7'); a8 = sym('a8');

a9 = sym('a9'); a10 = sym('a10'); x = sym('x'); y = sym('y'); z = sym('z');

eq = 'a1*x^2+a2*y^2+a3*z^2+a4*x*y+a5*x*z+a6*y*z+a7*x+a8*y+a9*z+a10=0';

eqwithparam = vpa(subs(eq,[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10],parameters),8);

[zz]=solve(eqwithparam,z);

[solutions_number,~] = size(zz);

switch solutions_number

case 1

z1 = zz;

z2 = zz;

case 2

z1 = zz(1);

z2 = zz(2);

end

done = 0; userinput = []; n=0;

get_userInput();

if isempty(userinput)

xmin = -10; xmax = 10; ymin = -10; ymax = 10; ecart_x = xmax-xmin; ecart_y = ymax – ymin;

else

xmin = min(userinput(:,1)); xmax = max(userinput(:,1));ecart_x = xmax-xmin;

ymin = min(userinput(:,2)); ymax = max(userinput(:,2));ecart_y = ymax-ymin;

end

%Generare puncte

cur_p = 0;

while cur_p<no_of_points

x_val = xmin+ecart_x*rand();

y_val = ymin+ecart_y*rand();

z1z2choose = get_randSign(1);

switch z1z2choose

case 1

z_val = subs(z1,[x y], [x_val y_val]);

case -1

z_val = subs(z2,[x y], [x_val y_val]);

otherwise

error('I don"t think so');

end

if isreal(z_val)

point = [x_val, y_val, z_val];

cur_p = cur_p+1;

err = sqrt(2)*sigma_0*(2*rand(3,1)-1);

if ismember(cur_p,outliers)

mistake = (get_randSign(3).*get_randNumbers(3,0,2,'int'))'.*double(point)*10;

else

mistake = zeros (1,3);

end

point = double(point) + mistake + err';

colors = rand(1,3);

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %u\n', point', 1, colors, cur_p);

end

end

function get_userInput()

quad_handle = plot_Quadric(parameters); hold on;

mesaj = uicontrol(gcf,'style','text');

figpos = get(gcf,'Position');

textposition = [figpos(3)/2 10 figpos(3)/2 30];

set(mesaj,'String','Pree exit when done (max 10 selections)');

set(mesaj,'Position',textposition);

set(gca,'buttondownfcn',@plot_ClickPlot);

numarpct = uicontrol(gcf, 'style','text');

text2position = [10 figpos(4)-35 figpos(3)*1/4 30];

text2string = 'Nr puncte selectate: ';

set(numarpct,'String',strcat(text2string,num2str(n)));

set(numarpct,'Position',text2position);

buton_rotate = uicontrol(gcf,'style','togglebutton','string','Rotate');

buton_position = [10 10 figpos(3)/10 30];

set(buton_rotate,'Position',buton_position);

set(buton_rotate,'Callback',@rotate_button_Callback);

buton_selectie = uicontrol(gcf,'style','pushbutton','string','Select');

buton_position2 = [10 60 figpos(3)/10 30];

set(buton_selectie,'Position',buton_position2);

set(buton_selectie,'Callback',@select_button_Callback);

buton_exit = uicontrol(gcf,'style','pushbutton','string','Exit');

buton_position3 = [10 110 figpos(3)/10 30];

set(buton_exit,'Position',buton_position3);

set(buton_exit,'Callback',@exit_button_Callback);

set(buton_exit,'Value',1);

waitfor(gcf);

function rotate_button_Callback (gcbo,eventdata)

rotate3d on;

end

function select_button_Callback (gcbo,eventdata)

rotate3d off;

done = waitforbuttonpress;

if (~done)

newpoint = plot_ClickPlot';

userinput = [userinput; newpoint];

n = n+1;

set(numarpct,'String',strcat(text2string,num2str(n)));

scatter3(newpoint(1),newpoint(2),newpoint(3),'+','g'); hold on;

text(newpoint(1), newpoint(2), newpoint(3), cellstr(num2str(n)), 'VerticalAlignment','bottom', …

'HorizontalAlignment','right'); hold on;

end

if n==10

done = 1;

end

if (done)

close(gcf);

end

end

function exit_button_Callback(gcbo,eventdata)

close(gcf);

end

function [userinput] = plot_ClickPlot(gcbo,evendata)

userinput = select3d(quad_handle);

% disp(get(gca,'Currentpoint'));

end

end

fclose(fid_points);

fclose(fid_data);

cd (initialFolder);

end

Anexa 6 – Fișier observații simulate aferente unui elipsoid

-0.5889 +0.4761 -0.0913 +1.0000 +0.3846 +0.5003 +0.5703 1

+0.4376 -0.4312 +0.1915 +1.0000 +0.6712 +0.2992 +0.5311 2

-0.5088 -0.8504 -0.8813 +1.0000 +0.5806 +0.2870 +0.3619 3

-0.0091 +0.2765 +0.1719 +1.0000 +0.6155 +0.9189 +0.6025 4

-0.0647 +0.0628 -0.7375 +1.0000 +0.5179 +0.2457 +0.2975 5

-0.1678 +0.3472 +0.1502 +1.0000 +0.2565 +0.9668 +0.6192 6

-1.0655 +0.2176 -0.5469 +1.0000 +0.9861 +0.2072 +0.7571 7

+0.2859 -0.4772 -0.6119 +1.0000 +0.8757 +0.6352 +0.0973 8

+0.4537 -0.0483 +0.0078 +1.0000 +0.4589 +0.5823 +0.3391 9

-1.0559 -0.6245 +0.1621 +1.0000 +0.0836 +0.5127 +0.8329 10

+0.3230 +0.0073 +0.1642 +1.0000 +0.1283 +0.2529 +0.8840 11

-0.9911 -1.1635 +0.0736 +1.0000 +0.6429 +0.2141 +0.6173 12

-0.1055 -0.2228 -0.8163 +1.0000 +0.7751 +0.2368 +0.8448 13

+0.1469 +0.2630 +0.1161 +1.0000 +0.9609 +0.5463 +0.6366 14

-0.3163 +0.4114 +0.0725 +1.0000 +0.7518 +0.1991 +0.9829 15

-0.0385 -1.0488 +0.3298 +1.0000 +0.5629 +0.1767 +0.5137 16

-0.3450 -1.0953 -0.7739 +1.0000 +0.5330 +0.3268 +0.6022 17

-0.6900 -1.1373 +0.2569 +1.0000 +0.7446 +0.8422 +0.5167 18

-1.0922 -0.6620 +0.1543 +1.0000 +0.8063 +0.2222 +0.9998 19

-1.2483 -0.5656 -0.7049 +1.0000 +0.2199 +0.3541 +0.2662 20

-0.8258 -1.0436 -0.7936 +1.0000 +0.5286 +0.9141 +0.9739 21

-0.2774 -1.1624 +0.3078 +1.0000 +0.6073 +0.0708 +0.9248 22

-0.1832 -1.2089 -0.6638 +1.0000 +0.7030 +0.7542 +0.5473 23

-0.3354 -0.1615 +0.3820 +1.0000 +0.5708 +0.3354 +0.9571 24

-0.5613 -0.2279 -0.8898 +1.0000 +0.5594 +0.4646 +0.4303 25

+0.0672 -0.1181 -0.7166 +1.0000 +0.4804 +0.3424 +0.7771 26

-0.6527 +0.0068 +0.2451 +1.0000 +0.8732 +0.0827 +0.4654 27

-1.0636 -1.0421 -0.7220 +1.0000 +0.9095 +0.0579 +0.4368 28

-0.3150 -0.2991 +0.3845 +1.0000 +0.9511 +0.7663 +0.7513 29

-1.1071 -0.7102 -0.7934 +1.0000 +0.6884 +0.6396 +0.7293 30

+0.2302 -0.1810 -0.6081 +1.0000 +0.0773 +0.3385 +0.5806 31

-0.4782 +0.1704 -0.7831 +1.0000 +0.6340 +0.2293 +0.1822 32

-1.0432 -1.1265 -0.6777 +1.0000 +0.0257 +0.9711 +0.2976 33

-0.4006 +0.2973 +0.1852 +1.0000 +0.9757 +0.1079 +0.1789 34

-0.1650 -14.4036 -5.0778 +1.0000 +0.1175 +0.5090 +0.1688 35

+0.2792 -0.6444 +0.3129 +1.0000 +0.9443 +0.1741 +0.2446 36

-0.1802 +0.1759 +0.2361 +1.0000 +0.3605 +0.8289 +0.2146 37

+0.1088 -0.1048 -0.6950 +1.0000 +0.8340 +0.1314 +0.7598 38

-0.3940 -0.6117 +0.4111 +1.0000 +0.4379 +0.7727 +0.7441 39

-0.5356 -1.2990 -0.6999 +1.0000 +0.5571 +0.7198 +0.1104 40

-0.9522 +0.2035 -0.6881 +1.0000 +0.3772 +0.1678 +0.5402 41

+0.4268 -0.7091 -0.3908 +1.0000 +0.1501 +0.9913 +0.4271 42

+0.4130 +0.0325 -0.3640 +1.0000 +0.8246 +0.7673 +0.9971 43

-0.8788 +0.0977 +0.0954 +1.0000 +0.9227 +0.3203 +0.8575 44

-0.8756 +0.3105 -0.6013 +1.0000 +0.5669 +0.3764 +0.2125 45

+0.0939 -1.1215 -0.5312 +1.0000 +0.1411 +0.7322 +0.6911 46

-1.3112 -0.4369 -0.0963 +1.0000 +0.5942 +0.4986 +0.5679 47

-0.5608 -1.2690 +0.2421 +1.0000 +0.6028 +0.4738 +0.3563 48

-0.4951 -0.0761 +0.3297 +1.0000 +0.9122 +0.1011 +0.2933 49

-1.2748 -0.4214 -0.0653 +1.0000 +0.4533 +0.7374 +0.5099 50

-0.6522 +0.3674 +0.0235 +1.0000 +0.3830 +0.9912 +0.2868 51

-0.0511 -0.3651 -0.8088 +1.0000 +0.0457 +0.8850 +0.8398 52

-1.1433 -0.5858 -0.7968 +1.0000 +0.9899 +0.3498 +0.2085 53

-0.1348 +0.5022 -0.4384 +1.0000 +0.0522 +0.9018 +0.7933 54

-0.6700 +0.2300 +0.1232 +1.0000 +0.0889 +0.3417 +0.5487 55

-0.5227 -0.1360 +0.3376 +1.0000 +0.1872 +0.6113 +0.0519 56

-0.3114 +0.2606 -0.7178 +1.0000 +0.2936 +0.1152 +0.3751 57

+0.1833 +0.2413 +0.1074 +1.0000 +0.4808 +0.0665 +0.8978 58

-0.4501 +0.1175 -0.8221 +1.0000 +0.6385 +0.3849 +0.7657 59

-0.1563 -0.6572 +0.4181 +1.0000 +0.9453 +0.2191 +0.8824 60

-1.3318 -0.7305 -0.1409 +1.0000 +0.0102 +0.5991 +0.6016 61

-0.1742 -0.7434 +0.4182 +1.0000 +0.7641 +0.9880 +0.1253 62

-0.6951 -0.0846 +0.2690 +1.0000 +0.2026 +0.8685 +0.7512 63

-0.5940 -1.3969 -0.6081 +1.0000 +0.3212 +0.2843 +0.4353 64

-0.3118 -1.3041 -0.6295 +1.0000 +0.3668 +0.3639 +0.1514 65

-1.0875 -0.7170 +0.1243 +1.0000 +0.8864 +0.6746 +0.8352 66

-0.1555 +0.5361 -0.0888 +1.0000 +0.4982 +0.8498 +0.1909 67

-0.3661 -0.3969 -0.8953 +1.0000 +0.2441 +0.8034 +0.8240 68

+0.2236 -0.4983 +0.3338 +1.0000 +0.8176 +0.4058 +0.4663 69

-0.3052 +0.3927 -0.6291 +1.0000 +0.0675 +0.0690 +0.1668 70

+0.4054 -0.3506 -0.4572 +1.0000 +0.0023 +0.6402 +0.8032 71

-0.9107 -1.2837 -0.6547 +1.0000 +0.8868 +0.4206 +0.2838 72

-1.2883 -0.9699 -0.5834 +1.0000 +0.6109 +0.4081 +0.2489 73

-0.1549 -0.7857 -0.7922 +1.0000 +0.6665 +0.8477 +0.7627 74

+0.1177 -0.1596 +0.3243 +1.0000 +0.9043 +0.6302 +0.9830 75

-0.2767 +0.2631 -0.7229 +1.0000 +0.4796 +0.7937 +0.0927 76

-0.1000 +0.4482 -0.4892 +1.0000 +0.6888 +0.1474 +0.7776 77

-0.6331 +0.3519 -0.6584 +1.0000 +0.0164 +0.1147 +0.0124 78

-0.9724 -1.3969 -0.5241 +1.0000 +0.0078 +0.6027 +0.4789 79

-0.8003 +0.0607 +0.1638 +1.0000 +0.3412 +0.8391 +0.9825 80

-0.2018 -1.0552 -0.7457 +1.0000 +0.5502 +0.1805 +0.6785 81

+0.3015 +0.2594 -0.2511 +1.0000 +0.4065 +0.9518 +0.9120 82

+0.3895 -0.7360 +0.1985 +1.0000 +0.9055 +0.4025 +0.2158 83

-0.7336 -0.0359 -0.8652 +1.0000 +0.4428 +0.6330 +0.9300 84

-0.3938 -0.1751 +0.3618 +1.0000 +0.6939 +0.8907 +0.4907 85

+0.1330 -0.7548 +0.3444 +1.0000 +0.2792 +0.7676 +0.2161 86

-1.3078 -0.5450 -0.0909 +1.0000 +0.0268 +0.5004 +0.8270 87

-0.8800 -1.3222 -0.6288 +1.0000 +0.0130 +0.7181 +0.3911 88

-1.2884 -0.5935 -0.0750 +1.0000 +0.8657 +0.8010 +0.5550 89

-0.5949 -1.1476 +0.2660 +1.0000 +0.3788 +0.2682 +0.1529 90

-0.1957 -0.7772 +0.3959 +1.0000 +0.6054 +0.5765 +0.8074 91

-0.1611 +0.3154 +0.1670 +1.0000 +0.0607 +0.3898 +0.3000 92

+0.0034 -1.2014 +0.2428 +1.0000 +0.0710 +0.6258 +0.0247 93

-1.2493 -1.1650 -0.2835 +1.0000 +0.6416 +0.7864 +0.2892 94

-0.4466 +0.2051 +0.2126 +1.0000 +0.6796 +0.5678 +0.6518 95

-0.4572 -0.6088 -0.8894 +1.0000 +0.7290 +0.7657 +0.7566 96

+0.1864 +0.1080 +0.1896 +1.0000 +0.2581 +0.0370 +0.9744 97

-0.0132 -1.1194 -0.6372 +1.0000 +0.4108 +0.1430 +0.7989 98

-0.8114 -1.3489 -0.6161 +1.0000 +0.6239 +0.8254 +0.0350 99

-0.6195 -0.9127 +0.3261 +1.0000 +0.1552 +0.8339 +0.1949 100

+0.1791 -0.7412 -0.6302 +1.0000 +0.2898 +0.3766 +0.1138 101

+0.4287 -0.5547 -0.4474 +1.0000 +0.7535 +0.8360 +0.2537 102

-0.3717 -0.5373 -0.9017 +1.0000 +0.9000 +0.5505 +0.4274 103

-1.0712 -0.9131 +0.1035 +1.0000 +0.6042 +0.6411 +0.1275 104

-4.9005 -8.7647 +0.4051 +1.0000 +0.8459 +0.9094 +0.0113 105

-0.3923 -0.1216 +0.3478 +1.0000 +0.8398 +0.4268 +0.6316 106

+0.1862 -0.8883 -0.6007 +1.0000 +0.0373 +0.9758 +0.5223 107

+0.3134 -0.6405 +0.2875 +1.0000 +0.3985 +0.6250 +0.5676 108

+0.3031 -0.9930 -0.4484 +1.0000 +0.6409 +0.3045 +0.8256 109

-1.0723 -0.1640 -0.7942 +1.0000 +0.2348 +0.8397 +0.4955 110

-1.0923 -0.9414 +0.0912 +1.0000 +0.4996 +0.7836 +0.6771 111

-1.0741 -0.0231 -0.7274 +1.0000 +0.6794 +0.9768 +0.1255 112

+0.0201 +0.2212 +0.1789 +1.0000 +0.3253 +0.1347 +0.4505 113

-0.2931 +0.1554 +0.2736 +1.0000 +0.0518 +0.8086 +0.3349 114

-0.9540 +0.2269 -0.6660 +1.0000 +0.8606 +0.9391 +0.6802 115

+0.3466 -0.9073 +0.1855 +1.0000 +0.7674 +0.0850 +0.7288 116

-0.5339 -0.1197 -0.8975 +1.0000 +0.4704 +0.8863 +0.1140 117

-0.5392 -0.1155 +0.3210 +1.0000 +0.8793 +0.5579 +0.7523 118

+0.2842 +0.2425 -0.3219 +1.0000 +0.0091 +0.5965 +0.6090 119

+0.3444 +0.0476 -0.4356 +1.0000 +0.3371 +0.5843 +0.4690 120

-1.0325 -0.8105 -0.8244 +1.0000 +0.5223 +0.2962 +0.4628 121

+0.3607 -0.9770 -0.3655 +1.0000 +0.5221 +0.1029 +0.9969 122

-0.6981 -0.1746 -0.8980 +1.0000 +0.0454 +0.8417 +0.0482 123

-0.7760 +0.1450 +0.1402 +1.0000 +0.6510 +0.6646 +0.9388 124

-0.3750 -0.6208 -0.8875 +1.0000 +0.3983 +0.7513 +0.5224 125

-0.4438 -1.2445 +0.2851 +1.0000 +0.1628 +0.9705 +0.5970 126

-0.9313 -1.2734 +0.0668 +1.0000 +0.1582 +0.0621 +0.7018 127

-1.1997 -0.1915 -0.7039 +1.0000 +0.8306 +0.8184 +0.9382 128

-1.1714 -1.2043 -0.5326 +1.0000 +0.4210 +0.6401 +0.7876 129

-0.8732 +0.2443 -0.0008 +1.0000 +0.7016 +0.1116 +0.0958 130

-0.2687 +0.2005 +0.2560 +1.0000 +0.4522 +0.0707 +0.2413 131

-0.0171 -1.3389 +0.1649 +1.0000 +0.1084 +0.9835 +0.2483 132

-0.2416 +0.2101 +0.2519 +1.0000 +0.9010 +0.2142 +0.5471 133

+0.0832 -1.0126 -0.6036 +1.0000 +0.2695 +0.7630 +0.7722 134

-0.7700 -0.0978 +0.2450 +1.0000 +0.4771 +0.6534 +0.9666 135

-0.7883 -1.2547 +0.1536 +1.0000 +0.0769 +0.1537 +0.8269 136

-0.7993 -0.6544 +0.2912 +1.0000 +0.6465 +0.0036 +0.2829 137

-0.1923 -0.2336 +0.3832 +1.0000 +0.4346 +0.8322 +0.3599 138

-1.2173 -0.3099 -0.7242 +1.0000 +0.1012 +0.2016 +0.1347 139

-0.7663 +0.4715 -0.4766 +1.0000 +0.6091 +0.8631 +0.3807 140

+0.0182 -1.0899 -0.6127 +1.0000 +0.9726 +0.6053 +0.3382 141

-0.8829 -0.8451 +0.2582 +1.0000 +0.4762 +0.9949 +0.4906 142

-0.4246 +0.1101 -0.8081 +1.0000 +0.7981 +0.2204 +0.8579 143

+0.3158 -0.8310 -0.4871 +1.0000 +0.2674 +0.1762 +0.4312 144

-0.4960 +0.1443 -0.8177 +1.0000 +0.1362 +0.6946 +0.5157 145

-0.3594 +0.1802 +0.2296 +1.0000 +0.8866 +0.9703 +0.9425 146

-0.1915 -1.2425 -0.6368 +1.0000 +0.1442 +0.6359 +0.7898 147

-0.3211 -0.6687 +0.4258 +1.0000 +0.5037 +0.2610 +0.7325 148

+0.1630 +0.0514 +0.2518 +1.0000 +0.4226 +0.9437 +0.0013 149

+0.4576 -0.2782 -0.3912 +1.0000 +0.3486 +0.2501 +0.3450 150

-0.7616 +0.4242 -0.0911 +1.0000 +0.8462 +0.9020 +0.5957 151

-1.2397 -0.9733 -0.0694 +1.0000 +0.2479 +0.5544 +0.2296 152

-0.6316 -0.8981 -0.8728 +1.0000 +0.7464 +0.7997 +0.9078 153

-0.1713 +0.4611 +0.0144 +1.0000 +0.3208 +0.1341 +0.1346 154

+0.1421 -0.3755 +0.3614 +1.0000 +0.2269 +0.4460 +0.2662 155

-0.5163 -0.5539 -0.9141 +1.0000 +0.6847 +0.4431 +0.4357 156

+0.1125 +0.2005 +0.1812 +1.0000 +0.6307 +0.0980 +0.2457 157

-0.2306 -0.8195 +0.4016 +1.0000 +0.5564 +0.9691 +0.6891 158

-0.0378 -0.3066 +0.3841 +1.0000 +0.7573 +0.5467 +0.3574 159

-0.0633 -1.1880 -0.6066 +1.0000 +0.9100 +0.6360 +0.5256 160

-0.8896 -1.3138 -0.6408 +1.0000 +0.5413 +0.7881 +0.8696 161

-0.3091 -1.0952 -0.7480 +1.0000 +0.1423 +0.3804 +0.3966 162

-0.3073 -1.3631 +0.2140 +1.0000 +0.6089 +0.7197 +0.3028 163

-0.5155 -1.3045 +0.2289 +1.0000 +0.2830 +0.0683 +0.0549 164

-0.1859 -0.5809 +0.4239 +1.0000 +0.9371 +0.6610 +0.3947 165

-0.8880 +0.2521 -0.0367 +1.0000 +0.5757 +0.1859 +0.2914 166

-0.5226 -0.7191 -0.9005 +1.0000 +0.8027 +0.4086 +0.3274 167

+0.0065 +0.0548 -0.6870 +1.0000 +0.8419 +0.5101 +0.1658 168

-0.0309 +0.3728 -0.5296 +1.0000 +0.8593 +0.5234 +0.4774 169

+0.4267 -0.6553 +0.1757 +1.0000 +0.5626 +0.6338 +0.5416 170

-0.7911 -1.0877 -0.7890 +1.0000 +0.1133 +0.7009 +0.1800 171

+0.1321 -0.3935 -0.7086 +1.0000 +0.4220 +0.7212 +0.0731 172

-0.2542 +0.3049 +0.1840 +1.0000 +0.4569 +0.5998 +0.8426 173

-1.2937 -1.0399 -0.2857 +1.0000 +0.9289 +0.6727 +0.3723 174

-0.6170 -0.5470 +0.3789 +1.0000 +0.5454 +0.7493 +0.1249 175

-0.5203 -1.2551 +0.2572 +1.0000 +0.4679 +0.4585 +0.8061 176

+0.1506 -1.0424 -0.5520 +1.0000 +0.6258 +0.0295 +0.4723 177

-0.1138 -1.1908 -0.6419 +1.0000 +0.8011 +0.2996 +0.7756 178

-0.3292 -0.3242 +0.4069 +1.0000 +0.1894 +0.0290 +0.1274 179

-1.1229 -1.1423 -0.0205 +1.0000 +0.8725 +0.3671 +0.2362 180

-1.0148 -0.3187 -0.8334 +1.0000 +0.0079 +0.6340 +0.3593 181

-1.1629 -0.3432 +0.0410 +1.0000 +0.3810 +0.7224 +0.0951 182

-0.1305 -0.8371 -0.7902 +1.0000 +0.2637 +0.5114 +0.2151 183

-0.7263 +0.0662 -0.8144 +1.0000 +0.3036 +0.8218 +0.5657 184

-1.2708 -0.8872 -0.6267 +1.0000 +0.1441 +0.7161 +0.4015 185

-0.5200 -0.0105 -0.8585 +1.0000 +0.9266 +0.0949 +0.3754 186

-0.3493 -1.1762 +0.3060 +1.0000 +0.0142 +0.3165 +0.1119 187

-0.2037 -1.2935 +0.2414 +1.0000 +0.6663 +0.8611 +0.7618 188

+0.2676 +0.3233 -0.2669 +1.0000 +0.8750 +0.0674 +0.6468 189

-0.7676 -0.1375 +0.2459 +1.0000 +0.5197 +0.6275 +0.7139 190

-0.7935 -0.8994 +0.2845 +1.0000 +0.1920 +0.7770 +0.8645 191

-0.7516 -1.1478 +0.2240 +1.0000 +0.0690 +0.5519 +0.4038 192

+0.0168 -0.4458 -0.7666 +1.0000 +0.9010 +0.0563 +0.4435 193

-0.3768 -1.1532 +0.3068 +1.0000 +0.6611 +0.0186 +0.2911 194

-0.0897 -1.1403 +0.3081 +1.0000 +0.6795 +0.7041 +0.4609 195

-0.6912 -0.8646 -0.8744 +1.0000 +0.9206 +0.5113 +0.9141 196

-0.7901 +0.1316 -0.7852 +1.0000 +0.1098 +0.8321 +0.9716 197

-0.9567 -0.0106 -0.8028 +1.0000 +0.0033 +0.1425 +0.8624 198

-0.8655 -0.3622 +0.2691 +1.0000 +0.5942 +0.3096 +0.9018 199

-1.1873 -0.7735 +0.0346 +1.0000 +0.1412 +0.9509 +0.8826 200

-0.5654 +0.2515 +0.1545 +1.0000 +0.2954 +0.0485 +0.4427 201

+0.1002 +0.4008 -0.0204 +1.0000 +0.4768 +0.2503 +0.3079 202

-0.3010 +0.5500 -0.4313 +1.0000 +0.6465 +0.1282 +0.0813 203

-0.1423 -1.3574 +0.1953 +1.0000 +0.9474 +0.3823 +0.6929 204

-0.2570 +0.1294 +0.2948 +1.0000 +0.2813 +0.7104 +0.6646 205

-0.5832 -0.4186 +0.3617 +1.0000 +0.0401 +0.5829 +0.5647 206

-0.7123 +0.3205 -0.6871 +1.0000 +0.8485 +0.1604 +0.1579 207

-0.4184 -0.2084 -0.8803 +1.0000 +0.2646 +0.3147 +0.1832 208

-0.5384 -0.7670 +0.3824 +1.0000 +0.0685 +0.2052 +0.7236 209

-0.3013 -1.0117 +0.3657 +1.0000 +0.1851 +0.0817 +0.4641 210

-1.3016 -0.5594 -0.6513 +1.0000 +0.6081 +0.7724 +0.0563 211

+0.2312 -0.6543 +0.3249 +1.0000 +0.9196 +0.2887 +0.5509 212

-0.3805 -0.7649 +0.3937 +1.0000 +0.8935 +0.6531 +0.0403 213

-0.4380 +0.3527 -0.6810 +1.0000 +0.2684 +0.6224 +0.8046 214

-1.1830 +0.0331 -0.1591 +1.0000 +0.0323 +0.5799 +0.8422 215

+2.9996 +0.2393 -0.7420 +1.0000 +0.2863 +0.9631 +0.2307 216

-0.3727 -0.9953 -0.7935 +1.0000 +0.9038 +0.5404 +0.8179 217

-0.0599 -1.3298 -0.5147 +1.0000 +0.2351 +0.2755 +0.9516 218

-0.7262 -0.8321 +0.3234 +1.0000 +0.3555 +0.3629 +0.0685 219

+0.2531 -0.5110 -0.6246 +1.0000 +0.6619 +0.2000 +0.9600 220

-0.1309 -0.3539 +0.4061 +1.0000 +0.8080 +0.7360 +0.5723 221

+0.1280 -1.3624 +0.0055 +1.0000 +0.1335 +0.5645 +0.5410 222

-0.3747 -0.9137 +0.3868 +1.0000 +0.3597 +0.7193 +0.5236 223

-0.8748 -0.4440 +0.2470 +1.0000 +0.3705 +0.8623 +0.6848 224

-0.1791 -1.1314 -0.6999 +1.0000 +0.4603 +0.5157 +0.2720 225

-0.9324 +0.3623 -0.2328 +1.0000 +0.6685 +0.8946 +0.0873 226

-0.3772 -0.5768 -0.9007 +1.0000 +0.3227 +0.7795 +0.3355 227

-0.2101 +0.5612 -0.3951 +1.0000 +0.5971 +0.6548 +0.9150 228

-0.5480 -0.8447 -0.8711 +1.0000 +0.3476 +0.7177 +0.0280 229

-0.7474 -0.3622 -0.9082 +1.0000 +0.9319 +0.1471 +0.4168 230

-0.8575 -0.2334 -0.8908 +1.0000 +0.1700 +0.3712 +0.0398 231

-0.0632 -0.1457 -0.7769 +1.0000 +0.2027 +0.8695 +0.5979 232

-0.2229 -1.3597 -0.5749 +1.0000 +0.5778 +0.0748 +0.0573 233

-0.7952 -0.3698 -0.9037 +1.0000 +0.9821 +0.5783 +0.2344 234

+0.1498 -0.5280 -0.6989 +1.0000 +0.9719 +0.6483 +0.6147 235

-0.4980 -0.2761 +0.3658 +1.0000 +0.2736 +0.4446 +0.6275 236

-0.3798 -0.6506 +0.4139 +1.0000 +0.0618 +0.2314 +0.1185 237

+0.1893 -0.4047 -0.6804 +1.0000 +0.9782 +0.6530 +0.4611 238

+0.2305 -0.8771 +0.2696 +1.0000 +0.9571 +0.5108 +0.5646 239

-0.6171 -0.2260 -0.9079 +1.0000 +0.3790 +0.2703 +0.2156 240

-0.1794 +0.1762 -0.7359 +1.0000 +0.9700 +0.5649 +0.2177 241

+0.2240 +0.2794 +0.0178 +1.0000 +0.4267 +0.2800 +0.3335 242

-0.6783 +0.1701 -0.7960 +1.0000 +0.6568 +0.2319 +0.6220 243

+0.2240 -0.2315 +0.3155 +1.0000 +0.4107 +0.7324 +0.1511 244

+0.1528 +0.3833 -0.0393 +1.0000 +0.5655 +0.5847 +0.3449 245

-0.0583 -1.0893 -0.6587 +1.0000 +0.6945 +0.9275 +0.9442 246

+0.2977 -0.2210 +0.2444 +1.0000 +0.5384 +0.7372 +0.1812 247

-0.5738 -1.2067 +0.2618 +1.0000 +0.8931 +0.0607 +0.1758 248

-0.6066 +0.0408 +0.2492 +1.0000 +0.7646 +0.5244 +0.7545 249

-1.0429 -0.0673 -0.7811 +1.0000 +0.3606 +0.1911 +0.7144 250

Anexa 7 – Fișier informații aferente norului de puncte simulat anterior

Parametrii formei sunt:

+80.80 +60.72 +171.70 -10.78 -50.47 +13.61 +50.46 +61.07 +70.38 -38.33

Numarul total de puncte este:

250

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

3

Punctele gresite sunt:

35 216 105

Numarul de puncte parghie introduse este:

0

Punctele parghie sunt:

Anexa 8 – Funcție calcul distanță punct – cuadrică

%distanta calculata conform Taubin (1994)

function dist = dist_point_quad(parameters, point)

syms a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 x y z

quad_fct = 'a1*x^2+a2*y^2+a3*z^2+a4*x*y+a5*x*z+a6*y*z+a7*x+a8*y+a9*z+a10';

quad_fct_subs = vpa(subs(quad_fct,[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10],parameters));

F1 = abs(vpa(subs(quad_fct_subs,[x y z],point)));

fderiv_x = diff(quad_fct_subs,x);

fderiv_y = diff(quad_fct_subs,y);

fderiv_z = diff(quad_fct_subs,z);

fderiv_x_subs = vpa(subs(fderiv_x,[x y z], point));

fderiv_y_subs = vpa(subs(fderiv_y,[x y z], point));

fderiv_z_subs = vpa(subs(fderiv_z,[x y z], point));

F2 = norm([fderiv_x_subs fderiv_y_subs fderiv_z_subs]);

dist = double(F1/F2);

end

x

Referințe Bibliografice

3DLM & IGI. (2012). Street Mapper. Retrieved 04 23, 2014, from Street Mapper – Gallery: http://www.streetmapper.net/gallery

3DLM. (2006, Iulie/August). Accurate Terrestrial Laser Scanning from a Moving Platform. Geomatics World , pp. 28-30.

Akkaya, A., & Tiku, M. (2004). Robust Estimation and Hypothesis Testing. New Delhi: New Age International.

Alamus, R., Baron, A., Bosch, E., Casacuberta, J., Miranda, J., Pla, M., et al. (2004). On the accuracy and performance of the Geomobil system. Proceedings of the XX Congres of the ISPRS. ISPRS.

Aronowitz, F. (1999). Fundamentals of the Ring Laser Gyro. In R. a. RTO, Optical Gyros and their Application (pp. 3-1 – 3-45). NATO.

Baarda, W. (1968). A testing procedure for use in geodetic networks. Delft: Publications on Geodesy Vol 2, Nr. 5.

Boavida, J., Oliveira, A., & Santos, B. (2012). Precise Long Tunnel Survey using the Riegl VMX-250 Mobile Laser Scanning System. Riegl LiDAR 2012 User Conference. Orlando: Riegl.

Coșarcă, C. (2009). Sisteme de măsurare în industrie. București: Conspress.

Coșarcă, C. (1999). Teza de doctorat. București: UTCB.

Cosentino, R., Diggle, D., Uijt de Haag, M., Hegarty, C., Milbert, D., & Nagle, J. (2006). Differential GPS. In E. Kaplan, & C. Hegarty, Understanding GPS: Principles and Applications (Second edition) (pp. 379-454). Norwood, Massachusetts: Artech House.

Council of the European Union. (1999). Council Resolution 1999/C 221/01. Bruxelles: Official Journal of the European Communities.

Drixler, E. (1993). Analyse der Lage und Form von Objecten im Raum. DGK Reihe C, Heft 409 .

Eissfeller, B. (2008, Iulie 21-31). GNSS/INS Sensor Fusion. Second International Summer School on GNSS: A Worldwide Utility . Berchtesgaden, Germania: Universitat der Bunderswehr Munchen.

Eissfeller, B. (2011, Mai 23-25). Inertial Sensors. First GNSS PhD Training 2011 . Munchen, Germania: Universitat der Bunderswhr Munchen.

Eissfeller, B. (2011, Mai 23-25). Introduction to Inertial Navigation. First GNSS PhD Training . Munchen: Universitat der Bunderswhr Munchen.

Fischer, R. A. (1922). On the mathematical foundations of theoretical statistics.

Fotescu, N. (1975). Teoria erorilor si metoda celor mai mici patrate. Bucuresti: ICB.

Fuller, A. (2012). Terrasolid – Download Section. Retrieved 04 23, 2014, from https://www.terrasolid.com/download/presentations/2012/3DLM%20Terrasolid%202012.pdf

Gauss, C. F. (1809). Teoria mișcării corpurilor cerești. Hamburg.

Gleason, S., & Gebre-Egziahbher, D. (2009). GNSS Applications and Methods. Norwood, Massachusetts: Artech House.

Gordon, G. (1959). The LASER, Light Amplification by Stimulated Emission of Radiation. The Ann Arbor Conference on Optical Pumping (p. 128). Michigan: Universiity of Michigan.

Groves, P. (2008). Principles of GNSS, Inertial and Multisensor Integrated Navigation Systems. Boston-London: Artech House.

Hampel, F. (1971). A general qualitative definition of robustness. Annals of Mathematical Statistics 42 , pp. 1887-896.

Hampel, F. (1986). Robust statistics. In F. Hampel, E. Ronchetti, & P. Rousseeuw, Robust statistics: the approach based on influence functions. Wiley, New York: John Wiley & Sons Inc.

Hofmann-Wellenhof, B., Lichtenegger, H., & Collins, J. (2001). GPS Theory and Practice. Wien-New York: Springer.

Huber, P. J. (1964). Robust estimation of a location parameter. Annals Mathematical Statistics , pp. 73-101.

Hulsmeyer, C. (1904). The Telemobiloscope. Electrical Magazine (London), Vol. 2 , 388.

IEEE Sensors Working Group. (2007). 528-2001 IEEE Standard for Inertial Sensor Terminology. IEEE Standards Association.

Iglewicz, B., & Hoaglin, D. (1993). How to detect and handle outliers. Milwakee: ASQC Quality Press.

Jager, R., Muller, T., & Saler, H. (2005). Klassiche und robuste Ausgleichungsverfahren. Wichman: Munchen.

Kalman, R. E. (1960). A New Approach to Linear Filtering and Prediction Problems. Journal of Basic Engineering 82 , 35-45.

Kanani, E. (2000). Robust Estimators for Geodetic Transformations and GIS. Zurich: Institut fur Geodasie and Photogrammetrie.

Koch, K.-R. (1999). Parameter Estimation and Hypothesis Testing in Linear Models. Berlin-New York: Springer.

Kremer, J., & Hunter, G. (2007). Performance of the StreetMapper Mobile LIDAR Mapping System in Real World Projects. In D. Frisch, Photogrammetric Week 2007 (pp. 215-225). Wichmann Herbert.

Leica Geosystems. (2014). Présentation Scanner laser dynamique (Mobile Mapping). Retrieved 04 27, 2014, from http://www.leica-geosystems.fr/fr/Evenements_19480.htm?id=9981

Lewin, W. (1999, 10 29). MIT Open courseware: Angular Momentum. Retrieved 05 11, 2014, from http://ocw.mit.edu/courses/physics/8-01-physics-i-classical-mechanics-fall-1999/video-lectures/lecture-20/

Markets and Markets. (2013). LiDAR Market by Components (INS, Laser, GPS/GNSS, Camera, MEMS), Product Types (Airborne, Mobile, Terrestrial), Applications (Corridor Mapping, Forestry, Mining, Topographic Surveying, Volumetric Mapping) – Global Forecasts and Analysis 2013 – 2018. Dallas, TX: Markets and Markets.

Markov, A. (1912). Calculus of probabilities. Leipzig.

Martinez Morera, D., & Estrada Sarlabous, J. (2003). On the distance from a point to a quadric surface. Revista investigacion operational , 24 (2), pp. 153-161.

MDL part of Reinshaw plc. (n.d.). Dynascan S250 X-Plane Survey Grade Mobile Mapping System. Retrieved 04 27, 2014, from Dynascan S250 X-Plane Survey Grade Mobile Mapping System: http://www.mdl-laser.com/en/dynascan-s250-x-plane-survey-grade-mobile-mapping-system–18372

Moldoveanu, C. (2002). Geodezie. Bucuresti: Matrix Rom.

Morgan, D. (2009). Using Mobile Lidar to Survey Railway Infrastructure. Lynx Mobile Mapper. FIG Commissions 5, 6 and SSGA Workshop – Innovative Technologies for an Efficient Geospatial Management of Earth Resources. Lake Baikal, Rusia: FIG.

Neuner, J. (2000). Sisteme de poziționare globală. București: Matrix ROM.

Olteanu, V. (2007). Robust adjustment methods in parameter estimation for geometric forms in industrial applications. Bucuresti: UTCB.

Petrie, G., & Toth, C. (2009). Introduction to Laser Ranging, Profiling and Scanning. In J. Shan, & C. Toth, Topographic Laser Ranging and Scanning – Principles and Applications (pp. 1-27). Boca Raton, FL: CRC Press.

Petrie, G., & Toth, C. (2009). Introduction to Laser Ranging, Profiling and Scanning. (J. S. Toth, Ed.) Boca Raton, FL: CRC Press Taylor & Francis Group.

Petrie, G., & Toth, C. (2009). Terrestrial Laser Scanners. Boca Raton, FL: CRC Press Taylor & Francis Group.

Pope, A. J. (1976). The statistics of residuals and the detecion of outliers. Rockville, Maryland: US Department of Commerce, National Geodetic Survey.

Riegl . (2007, 03 05). Long range 3D terrestrial laser scanner system LMZ-Z210ii. Datasheet . Horn, Austria: Riegl.

Riegl. (2014). Riegl – Mobile scanning Gallery. Retrieved 04 27, 2014, from Riegl: http://www.riegl.com/nc/products/mobile-scanning/gallery/

Riegl. (2014, 03). VMX-250 MARINE Datasheet. VMX-250 MARINE Datasheet . Horn, Austria: Riegl.

Riegl. (2014, 03). VMX-450-RAIL Datasheet. VMX-450-RAIL Datasheet . Horn, Austria: Riegl.

Ristic, B., Arulampalam, S., & Gordon, N. (2004). Beyond the Kalman Filter: Particle filters for tracking applications. Boston: Artech House.

Rousseeuw, P. (1984). Least median of squares regression. American Statistical Association , pp. 871-880.

S.C. Primul Meridian S.R.L. (2013). Primul Meridian. Retrieved 05 10, 2014, from primulmeridian.ro: http://primulmeridian.ro/articole/sistem-mobil-de-scanare-terestra-riegl-vmx-250-113

Sanz Subirana, J., Juan Jornoza, J., & Hernandez-Pajares, M. (2013). GNSS Data Processing – Volume I: Fundamentals and Algorithms. Noordwijk, Olanda: ESA.

Sanz Subirana, J., Juan Zornoza, J., & Hernandez-Pajares, M. (2011). Conventional Terrestrial Reference System. Retrieved 07 04, 2011, from Navipedia: http://www.navipedia.net/index.php/Conventional_Terrestrial_Reference_System

Savu, A. (2010). Perfectionari ale lucrarilor topografice si geodezice in domeniul cailor de comunicatii. Bucuresti: Universitatea Tehnica de Constructii Bucuresti.

Serra, A., Baron, A., Bosch, E., Alamus, R., Kornus, W., Ruiz, A., et al. (2005). Geomobil: Integration y experiencias de Lidar Terrestre en LB-MMS. Setmana Geomatica 2005. Barcelona: ISPRS.

Stengel, R. (1994). Optimal Control and Estimation. New York: Dover Publications.

Talaya, J., Alamus, R., Bosch, E., Serra, A., Kornus, W., & Baron, A. (2004). Integration of a Terrestrial Laser Scanner with GPS/IMU Orientation Sensors. Proceedings of the XX Congress of the ISPRS. ISPRS.

Taubin, G. (1994, Ianuarie). Distance Approximations for Rasterizing Implicit Curves. ACM TransactIons on Graphics , pp. 3-42.

Teunissen, P. J. (1985). The geometry of geodetic inverse linear mapping and non-linear adjustment. Delft: Netherlands Geodetic Commision.

Titterton, D., & Wetson, J. (2004). Strapdown Inertial Navigation Technology 2nd Edition. Reston, VA: American Institute of Aeronautics and Astronautics.

Topcon Corporation. (2010, 07). Topcon IP-S2 Datasheet. Topcon IP-S2 Datasheet . Topcon Corporation.

Trimble. (2013). Trimble MX8 Datasheet. Trimble MX8 Datasheet . Trimble.

Ussyshkin, V. (2009). Mobile Laser Scanning Technology for Surveying Application: From Data Collection to End-Products. FIG Working Week. Eilat, Israel: FIG.

Wehr, A. (2009). LiDAR Systems and Calibration. Boca Raton, FL: CRC Press, Taylor & Francis Group.

Weisberg, S., & Atkinson, A. (1991). Simulated annealing for the detection of multiple outliers using least squares and LMS fitting. New York: Springer-Verlag.

Weisstein, E. (2007). Quadratic Surface. Retrieved 12 18, 2013, from MathWorld – A Wolfram Web Resource: http://mathworld.wolfram.com/QuadraticSurface.html

Wicki, F. (2001). Robust estimator for the adjustment of Geodetic Network. First International Symposium on Robust Statistics and Fuzzy Techniques in Geodesy and GIS (pp. 53-60). Zurich: Institute of Geodesy and Photogrammetry.

Wicki, F. (1999). Robuste Schatzwerfahren fur die Parameterschatzung in geodatischen Netzen. Zurich: Institute for Geodesy and Photogrammetry.

Wikipedia. (2014, martie 30). Lidar – Wikipedia. Retrieved aprilie 1, 2014, from Wikipedia, The Free Encyclopedia : http://en.wikipedia.org/wiki/Lidar

Wikipedia. (2014, martie 15). USS Nautilus (SSN-571). Retrieved aprilie 2, 2014, from Wikipedia, The Free Encyclopedia: http://en.wikipedia.org/wiki/USS_Nautilus_(SSN-571)

Wolf, H. (1978). Das geodatische Gauss Helmert Modell und seine Eigenschaften. Z Vermessungswesen , 103:41-43.

Wrigley, W. (1977). The history of inertial navigation. Journal of Navigation , 61-68.

Zarchan, P., & Musoff, H. (2009). Fundamentals of Kalman Filtering: A practical approach (Third Edition). Reston, Virgina, USA: American Institute of Aeronautics and Astronautics, Inc. .

Zeiss, G. (2014, Februarie 20). Report predicts that low cost LiDAR will be disruptive in next 5 years. Retrieved Aprilie 1, 2014, from geospatial.blogs.com: http://geospatial.blogs.com/geospatial/2014/02/report-predicts-that-low-cost-handheld-lidar-will-be-disruptive-in-next-5-years.html

Anexa 1 – Funcție estimare parametric cuadrică

function [beta_red, Pww] = quadric_LSE (obs, sigma0, outliers_percentage)

%Generarea matricelor X1 X2 si H intr-o prima iteratie (fara a avea…

… ponderea Pww)

[n, ~] = size(obs);

Qll = sparse(eye(3*n))*sigma0;

X1 = [ obs(:,1).^2 obs(:,2).^2 obs(:,3).^2 sqrt(2)*obs(:,1).*obs(:,2) sqrt(2)*obs(:,1).*obs(:,3) sqrt(2)*obs(:,2).*obs(:,3)];

X2 = [ obs(:,1:3) ones(n,1) ];

H = eye(n) – X2*(X2'*X2)^-1*X2';

N = X1'*H*X1;

%Rezolvarea problemei de minim si aflarea vectorului de necunoscute …

…beta2 ca fiind vectorul propriu corespunzator valorii proprii minime

…pentru matricea X1'*H*X1

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*X2)^-1*X2'*X1*beta1;

beta0 = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

%Generarea matricei U si recalcularea parametrilor cu pondere

Z = [ 2*beta0(1)*obs(1,1) + sqrt(2)*beta0(4)*obs(1,2) + sqrt(2)*beta0(5)*obs(1,3)+beta0(7);

2*beta0(2)*obs(1,2) + sqrt(2)*beta0(4)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,3)+beta0(8);

2*beta0(3)*obs(1,3) + sqrt(2)*beta0(5)*obs(1,1) + sqrt(2)*beta0(6)*obs(1,2)+beta0(9); ]';

for i = 2:n

Z_elem = [ 2*beta0(1)*obs(i,1) + sqrt(2)*beta0(4)*obs(i,2) + sqrt(2)*beta0(5)*obs(i,3)+beta0(7);

2*beta0(2)*obs(i,2) + sqrt(2)*beta0(4)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,3)+beta0(8);

2*beta0(3)*obs(i,3) + sqrt(2)*beta0(5)*obs(i,1) + sqrt(2)*beta0(6)*obs(i,2)+beta0(9); ]';

Z = sparse ([ Z zeros(i-1,3);

zeros(1,3*(i-1)) Z_elem ]);

end

clusters = max(floor(outliers_percentage*100*4),1);

T = clusterdata(obs,'maxclust',clusters);

no_of_clust_elem = zeros(clusters);

for i = 1:clusters

no_of_clust_elem(i) = sum(T==i);

end

weights = no_of_clust_elem/max(no_of_clust_elem);

Pww = (Z*Qll*Z')^-1; Qcc = Pww;

for i = 1:n

Pww(i,i) = Pww(i,i)*weights(T(i));

end

H = Pww – Pww*X2*(X2'*Pww*X2)^-1*X2'*Pww;

N = X1'*H*X1;

[ eigvect, eigval ] = eig(N);

[ ~, lambda_min_poz ] = min(diag(eigval));

beta1 = eigvect(:,lambda_min_poz);

beta2 = – (X2'*Pww*X2)^-1*X2'*Pww*X1*beta1;

beta = [ beta1(1:3)' beta1(4:6)'*sqrt(2) beta2'];

beta_red = beta/beta(10);

end

Anexa 2 – Funcție simulare observații plan

% Functia genereaza un set de puncte pentru un plan oarecare cu o anumita

% abatere standard. In interiorul setului sunt apoi intoduse voit un numar de

% greseli.

% Functia primeste ca parametri

% – numarul de puncte din set : "no_of_points"

% – numele fisierului : "file_name"

% – abaterea medie patratica : "sigma_0"

% – numarul de greseli ce se doreste a fi introdus : "no_of_outliers"

% Functia genereaza doua fisiere:

% – un fisier cu parametrii planului generat (intregi) si abaterea medie patratica a

% valorilor precum si numarul total de puncte, numarul de puncte gresite si

% care sunt acestea, numarul de puncte parghie si care sunt

% acestea.

% – un fisier cu punctele in sine similar scanarilor terestre

function simulatePlane(varargin)

%Alegere date initiale in functie de numarul de arg initiale

switch nargin

case 1

no_of_points = varargin{1};

sigma_0 = 1;

no_of_outliers = 0;

no_of_leverage_points = 0;

case 2

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = 0;

no_of_leverage_points = 0;

case 3

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = 0;

case 4

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = varargin{4};

case 5

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

no_of_leverage_points = varargin{4};

input_param = varargin{5};

otherwise

disp('Not enough input parameters');

return;

end

%Creare fisiere

initialFolder = cd;

cd('C:\DATA\Doctorat\Doctorat\Studiu de caz\Interface\MIRUNA GUI\Data\Simulations\Plane');

fid_points = fopen(strcat('PlaneData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',…

num2str(no_of_leverage_points),'lev_points.txt'),'w');

fid_data = fopen(strcat('PlaneData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',…

num2str(no_of_leverage_points),'lev_info.txt'),'w');

%Creare parametri

if (nargin <=4)

sign1=0; sign2=0;

while (sign1==0)

sign1 = (round(2*rand()-1));

end

while (sign2==0)

sign2 = (round(2*rand()-1));

end

while (sign2==0)

sign2 = (round(2*rand()-1));

end

a = sign1*round(100*rand);

b = sign2*round(100*rand);

c = round(100*rand);

else

a = input_param(1);

b = input_param(2);

c = input_param(3);

end

%Scriere in fisier informatii elemente preliminare

fprintf(fid_data,'Parametrii ecuatiei sunt:\n%+2.2f %+2.2f %+2.2f\n', a, b, c);

fprintf(fid_data,'Numarul total de puncte este:\n%u \n', no_of_points);

fprintf(fid_data,'Abaterea medie patratica sigma_0 este:\n%2.3f \n', sigma_0);

%Definire random outliere

outliers = zeros(no_of_outliers,1);

t = no_of_outliers;

while t>0

cur_outlier=round(rand*no_of_points);

if (ismember(cur_outlier,outliers)==0)

outliers(no_of_outliers-t+1)=cur_outlier;

t=t-1;

end

end

%Definire random leverages

leverages = zeros(no_of_leverage_points,1);

t = no_of_leverage_points;

while t>0

cur_leverage=round(rand*no_of_points);

if (ismember(cur_leverage,outliers)==0)&&(ismember(cur_leverage,leverages)==0)

leverages(no_of_leverage_points-t+1)=cur_leverage;

t=t-1;

end

end

%Scriere in fisier informatii outliers/leverages introduse

fprintf(fid_data,'Numarul de greseli introduse este:\n%u \n', no_of_outliers);

fprintf(fid_data,'Punctele gresite sunt:\n');

fprintf(fid_data,'%u ', outliers(:));

fprintf(fid_data,'\n');

fprintf(fid_data,'Numarul de puncte parghie introduse este:\n%u \n', no_of_leverage_points);

fprintf(fid_data,'Punctele parghie sunt:\n');

fprintf(fid_data,'%u ', leverages(:,1));

fprintf(fid_data,'\n');

%Generare puncte si scriere in fisier puncte

for i=1:no_of_points

mistake = 0;

if ismember(i,outliers)

sign=0;

while (sign==0)

sign = (round(2*rand()-1));

end

mistake = (1000+rand()*4000)*sqrt(sigma_0)*sign;

end

if ismember(i,leverages)

sign=0;

while (sign==0)

sign = (round(2*rand()-1));

end

x = 800+rand()*(2000-800);

y = 300+rand()*(2000-300);

error = sqrt(sigma_0)*(2*rand-1);

mistake = sign*5*sigma_0;

z = a*x+b*y+c + error + mistake;

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %u\n', x,y,z,1,i);

continue

end

x = 100*rand;

y = 100*rand;

error = sqrt(sigma_0)*(2*rand-1);

z = a*x+b*y+c + error+mistake;

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %u\n', x,y,z,1,i);

end

fclose(fid_points);

fclose(fid_data);

cd (initialFolder);

end

Anexa 3 – Funcție reprezentare observații

function [varargout] = plot_Observations(varargin)

switch nargin

case 0

obs = ImportDataFunction();

axis_Handle = gca;

symbol = '+';

color = 'r';

case 1

obs = varargin{1};

axis_Handle = gca;

symbol = '+';

color = 'r';

case 2

axis_Handle = varargin{1};

obs = varargin{2};

symbol = '+';

color = 'r';

case 3

axis_Handle = varargin{1};

obs = varargin{2};

symbol = '+';

color = varargin{3};

case 4

axis_Handle = varargin{1};

obs = varargin{2};

symbol = varargin{3};

color = varargin{4};

otherwise

disp('Too many input parameters');

end

switch nargout

case 0

if (nargin==4)&&(isnumeric(color))

color_vector = [color(:,1), color(:,2), color(:,3)];

else

color_vector = color;

end

scatter3(axis_Handle, obs(:,1),obs(:,2),obs(:,3),[],color_vector,symbol);

xlabel('X [m]','Color',[.4 .26 .15],'FontWeight','bold'); ylabel('Y [m]','Color',[.4 .26 .15],'FontWeight','bold');

zlabel('Z [m]','Color',[.4 .26 .15],'FontWeight','bold');

hold on;

case 1

if(nargin==4)&&(isnumeric(color))

color_vector = [color(:,1), color(:,2), color(:,3)];

else

color_vector = color;

end

varargout{1} = scatter3(axis_Handle, obs(:,1),obs(:,2),obs(:,3),[],color_vector,symbol);

xlabel('X [m]','Color',[.4 .26 .15],'FontWeight','bold'); ylabel('Y [m]','Color',[.4 .26 .15],'FontWeight','bold');

zlabel('Z [m]','Color',[.4 .26 .15],'FontWeight','bold');

hold on;

otherwise

disp('Too many output parameters');

end

end

Anexa 4 – Fișier observații simulate aferente unui plan

+70.9282 +23.6231 +1662.9229 +0.010 1

+60.7304 +45.0138 +2044.7919 +0.010 2

+66.1945 +77.0286 +2927.1010 +0.010 3

+66.2010 +41.6159 +2041.9793 +0.010 4

+83.2917 +25.6441 +1899.0004 +0.010 5

+58.2249 +54.0739 +2233.7961 +0.010 6

+26.4779 +31.8074 +1200.7776 +0.010 7

+93.9829 +64.5552 +3032.1198 +0.010 8

+63.9317 +54.4716 +2329.2952 +0.010 9

+54.3886 +72.1047 +2626.9500 +0.010 10

+99.3705 +21.8677 +2045.6697 +0.010 11

+10.9697 +6.3591 +332.0055 +0.010 12

+44.8373 +36.5816 +1595.6525 +0.010 13

+62.7896 +77.1980 +2880.3821 +0.010 14

+97.2741 +19.2028 +1947.6099 +0.010 15

+69.6266 +9.3820 +1287.4547 +0.010 16

+53.0344 +86.1140 +2956.8628 +0.010 17

+39.3456 +67.1431 +2277.3106 +0.010 18

+52.0052 +34.7713 +1657.7904 +0.010 19

+58.6092 +26.2145 +1542.9103 +0.010 20

+75.4933 +24.2785 +1747.8518 +0.010 21

+68.7796 +35.9228 +1938.3119 +0.010 22

+39.4707 +68.3416 +2309.1417 +0.010 23

+44.2305 +1.9578 +720.8684 +0.010 24

+42.4309 +27.0270 +1320.5797 +0.010 25

+82.1721 +42.9921 +2315.9629 +0.010 26

+39.1183 +76.9114 +2518.0398 +0.010 27

+80.8514 +75.5077 +3108.9394 +0.010 28

+21.6019 +79.0407 +2308.6363 +0.010 29

+32.7565 +67.1264 +2177.9968 +0.010 30

+16.7254 +86.1980 +2821.9712 +0.010 31

+51.4423 +88.4281 +2990.8553 +0.010 32

+15.4752 +19.9863 +740.2670 +0.010 33

+74.8706 +82.5584 +3195.5761 +0.010 34

+31.8524 +53.4064 +1821.3647 +0.010 35

+11.1706 +13.6293 +516.8257 +0.010 36

+49.5177 +18.9710 +1225.5405 +0.010 37

+14.7608 +5.4974 +367.4178 +0.010 38

+56.0560 +92.9609 +3173.4008 +0.010 39

+58.2791 +81.5397 +2921.2553 +0.010 40

+98.8912 +0.0522 +1493.2465 +0.010 41

+61.2566 +98.9950 +3402.2308 +0.010 42

+47.9523 +80.1348 +2731.0997 +0.010 43

+49.8094 +90.0852 +3007.7876 +0.010 44

+84.5178 +73.8640 +3122.8852 +0.010 45

+24.6735 +66.6416 +2044.5590 +0.010 46

+62.5960 +66.0945 +2599.8470 +0.010 47

+89.0752 +98.2303 +3800.4400 +0.010 48

+58.1446 +92.8313 +3201.4684 +0.010 49

+1.6983 +12.0860 +336.1959 +0.010 50

+48.4297 +84.4856 +2847.0258 +0.010 51

+55.2291 +62.9883 +2411.5519 +0.010 52

+61.4713 +36.2411 +1836.5087 +0.010 53

+48.9570 +19.2510 +1224.0556 +0.010 54

+20.5494 +14.6515 +682.9663 +0.010 55

+4.2652 +63.5198 +1660.4298 +0.010 56

+53.8597 +69.5163 +2554.3024 +0.010 57

+53.5801 +44.5183 +1925.0843 +0.010 58

+49.0357 +85.2998 +2876.6061 +0.010 59

+27.0294 +20.8461 +935.1079 +0.010 60

+64.0312 +41.7029 +2011.4813 +0.010 61

+94.7933 +8.2071 +1635.4988 +0.010 62

+14.2041 +16.6460 +637.7370 +0.010 63

+72.8662 +73.7842 +2473.5288 +0.010 64

+86.0441 +93.4405 +3635.2705 +0.010 65

+85.8939 +78.5559 +3260.8084 +0.010 66

+17.7602 +39.8589 +1271.3042 +0.010 67

+3.0890 +93.9142 +2402.6488 +0.010 68

+29.5534 +33.2936 +1284.1349 +0.010 69

+64.8198 +2.5228 +1043.9365 +0.010 70

+55.9033 +85.4100 +2982.2683 +0.010 71

+44.6027 +5.4239 +813.0741 +0.010 72

+66.2808 +33.0829 +1829.8643 +0.010 73

+11.8155 +98.8418 +2656.7856 +0.010 74

+70.6917 +99.9492 +3567.5627 +0.010 75

+41.4523 +46.4840 +1792.4365 +0.010 76

+81.8204 +10.0222 +1486.2955 +0.010 77

+35.9635 +5.6705 +689.7185 +0.010 78

+33.5849 +17.5669 +951.3878 +0.010 79

+90.5154 +67.5391 +3054.7020 +0.010 80

+91.2132 +10.4012 +1636.7768 +0.010 81

+73.6267 +56.1861 +2517.4916 +0.010 82

+59.7211 +29.9937 +1654.0863 +0.010 83

+21.2602 +89.4942 +2564.6708 +0.010 84

+24.2487 +5.3754 +506.6042 +0.010 85

+1.3283 +89.7191 +2271.3425 +0.010 86

+9.3371 +30.7367 +916.9642 +0.010 87

+10.1669 +99.5390 +2649.4448 +0.010 88

+29.7347 +6.2045 +609.5929 +0.010 89

+4.6351 +50.5428 +1341.6495 +0.010 90

+63.1070 +8.9892 +1179.7503 +0.010 91

+77.7241 +90.5135 +3437.2044 +0.010 92

+10.9154 +82.5809 +2236.7211 +0.010 93

+29.3973 +74.6313 +2315.1452 +0.010 94

+60.3468 +52.6102 +1861.8376 +0.010 95

+70.7253 +78.1377 +3022.7805 +0.010 96

+33.7584 +60.7866 +1622.5186 +0.010 97

+10.4813 +12.7888 +485.4507 +0.010 98

+48.5229 +89.0476 +2962.5931 +0.010 99

+73.4341 +5.1332 +1238.2559 +0.010 100

+8.8527 +79.8351 +2137.2570 +0.010 101

+11.0353 +11.7493 +78.7007 +0.010 102

+32.8814 +65.3812 +2136.3012 +0.010 103

+58.3186 +74.0032 +2733.3064 +0.010 104

+73.4958 +97.0599 +3537.5060 +0.010 105

+8.6235 +36.6437 +1053.9172 +0.010 106

+68.5028 +59.7942 +2530.9547 +0.010 107

+36.7653 +20.6028 +1074.9664 +0.010 108

+77.1934 +20.5675 +1680.5648 +0.010 109

+55.1779 +22.8953 +1408.5793 +0.010 110

+48.4480 +15.1846 +1114.8908 +0.010 111

+10.0606 +29.4066 +894.5228 +0.010 112

+53.0872 +9.1499 +1033.5363 +0.010 113

+10.4846 +11.2284 +446.5362 +0.010 114

+29.1570 +60.3533 +1954.7820 +0.010 115

+43.2485 +69.4752 +2394.1596 +0.010 116

+43.2642 +65.5498 +2296.1305 +0.010 117

+93.3760 +18.7461 +1877.7450 +0.010 118

+79.7830 +48.7604 +2424.3086 +0.010 119

+39.6007 +27.2939 +1284.7646 +0.010 120

+67.3295 +42.9564 +2092.3439 +0.010 121

+60.9857 +5.9403 +1071.7572 +0.010 122

+77.2722 +69.6433 +2908.5907 +0.010 123

+13.0151 +9.2352 +434.5096 +0.010 124

+42.3109 +65.5573 +2282.1416 +0.010 125

+53.1209 +10.8818 +1077.3851 +0.010 126

+12.6500 +13.4303 +533.9278 +0.010 127

+14.2027 +16.8251 +642.1084 +0.010 128

+31.7480 +31.6429 +1275.7357 +0.010 129

+25.1042 +89.2922 +2617.4094 +0.010 130

+55.5738 +18.4434 +1303.1335 +0.010 131

+7.7347 +91.3800 +2409.0626 +0.010 132

+55.7789 +31.3429 +1628.6892 +0.010 133

+62.2497 +98.7935 +3412.0168 +0.010 134

+25.7792 +39.6799 +1387.1015 +0.010 135

+68.4096 +40.2388 +2040.7115 +0.010 136

+40.2184 +62.0672 +2163.3867 +0.010 137

+38.1345 +16.1134 +983.4044 +0.010 138

+87.1111 +35.0777 +2192.1457 +0.010 139

+29.4149 +53.0629 +1776.3627 +0.010 140

+59.7490 +33.5311 +1742.9735 +0.010 141

+29.0185 +31.7521 +1127.8365 +0.010 142

+95.6936 +93.5731 +3783.2226 +0.010 143

+24.0478 +76.3898 +2279.0143 +0.010 144

+74.0648 +74.3688 +2978.6141 +0.010 145

+68.1560 +46.3261 +2188.9345 +0.010 146

+9.8519 +82.3574 +2215.1493 +0.010 147

+16.3570 +66.5987 +1918.9018 +0.010 148

+51.6558 +70.2702 +2540.0238 +0.010 149

+95.3457 +54.0884 +2790.9318 +0.010 150

Anexa 5 – Funcție simulare observații cuadrică

function simulateQuadric(varargin)

%Alegere date initiale in functie de numarul de arg initiale

switch nargin

case 1

no_of_points = varargin{1};

parameters = set_randQuadParam();

sigma_0 = 1;

no_of_outliers = 0;

prelForm = 'NoPrelForm';

case 2

no_of_points = varargin{1};

if (isnumeric(varargin{2}))

sigma_0 = varargin{2};

parameters = set_randQuadParam();userinput = [];

n=0;

prelForm = 'NoPrelForm';

else

sigma_0 = 1;

parameters = set_givenQuadParam(varargin{2});

prelForm = varargin{2};

end

no_of_outliers = 0;

case 3

no_of_points = varargin{1};

sigma_0 = varargin{2};

if (isnumeric(varargin{3}))

no_of_outliers = varargin{3};

parameters = set_randQuadParam();

prelForm = 'NoPrelForm';

else

no_of_outliers = 0;

parameters = set_givenQuadParam(varargin{3});

prelForm = varargin{3};

end

case 4

no_of_points = varargin{1};

sigma_0 = varargin{2};

no_of_outliers = varargin{3};

if (~isnumeric(varargin{4}))

parameters = set_givenQuadParam(varargin{4});

prelForm = varargin{4};

else

parameters = varargin{4};

prelForm = 'NoPrelForm';

end

otherwise

disp('Wierd input');

return;

end

%Creare fisiere

initialFolder = cd;

cd('D:\Documente\Documente MATLAB\PHD curent\Studiu de caz\Interface\MIRUNA GUI\Data\Simulations\Quadrics');

fileName = strcat('QuadricData-',num2str(no_of_points),'pnt-',num2str(no_of_outliers),'out-',prelForm);

fid_points = fopen(strcat(fileName,'_points.txt'),'w');

fid_data = fopen(strcat(fileName,'_info.txt'),'w');

%Scriere in fisier informatii elemente preliminare

fprintf(fid_data,'Parametrii formei sunt:\n');

fprintf(fid_data,'%+2.2f ', parameters);

fprintf(fid_data,'\nNumarul total de puncte este:\n%u \n', no_of_points);

fprintf(fid_data,'Abaterea medie patratica sigma_0 este:\n%2.3f \n', sigma_0);

%Definire random outliere

outliers = zeros(no_of_outliers,1);

t = no_of_outliers;

while t>0

cur_outlier=round(rand*no_of_points);

if (ismember(cur_outlier,outliers)==0)

outliers(no_of_outliers-t+1)=cur_outlier;

t=t-1;

end

end

no_of_leverage_points = 0;

%Definire random leverages

leverages = zeros(no_of_leverage_points,1);

t = no_of_leverage_points;

while t>0

cur_leverage=round(rand*no_of_points);

if (ismember(cur_leverage,outliers)==0)&&(ismember(cur_leverage,leverages)==0)

leverages(no_of_leverage_points-t+1)=cur_leverage;

t=t-1;

end

end

%Scriere in fisier informatii outliers/leverages introduse

fprintf(fid_data,'Numarul de greseli introduse este:\n%u \n', no_of_outliers);

fprintf(fid_data,'Punctele gresite sunt:\n');

fprintf(fid_data,'%u ', outliers(:));

fprintf(fid_data,'\n');

fprintf(fid_data,'Numarul de puncte parghie introduse este:\n%u \n', no_of_leverage_points);

fprintf(fid_data,'Punctele parghie sunt:\n');

fprintf(fid_data,'%u ', leverages(:,1));

fprintf(fid_data,'\n');

%Generare ecuatii z sim

a1 = sym('a1'); a2 = sym('a2'); a3 = sym('a3'); a4 = sym('a4');

a5 = sym('a5'); a6 = sym('a6'); a7 = sym('a7'); a8 = sym('a8');

a9 = sym('a9'); a10 = sym('a10'); x = sym('x'); y = sym('y'); z = sym('z');

eq = 'a1*x^2+a2*y^2+a3*z^2+a4*x*y+a5*x*z+a6*y*z+a7*x+a8*y+a9*z+a10=0';

eqwithparam = vpa(subs(eq,[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10],parameters),8);

[zz]=solve(eqwithparam,z);

[solutions_number,~] = size(zz);

switch solutions_number

case 1

z1 = zz;

z2 = zz;

case 2

z1 = zz(1);

z2 = zz(2);

end

done = 0; userinput = []; n=0;

get_userInput();

if isempty(userinput)

xmin = -10; xmax = 10; ymin = -10; ymax = 10; ecart_x = xmax-xmin; ecart_y = ymax – ymin;

else

xmin = min(userinput(:,1)); xmax = max(userinput(:,1));ecart_x = xmax-xmin;

ymin = min(userinput(:,2)); ymax = max(userinput(:,2));ecart_y = ymax-ymin;

end

%Generare puncte

cur_p = 0;

while cur_p<no_of_points

x_val = xmin+ecart_x*rand();

y_val = ymin+ecart_y*rand();

z1z2choose = get_randSign(1);

switch z1z2choose

case 1

z_val = subs(z1,[x y], [x_val y_val]);

case -1

z_val = subs(z2,[x y], [x_val y_val]);

otherwise

error('I don"t think so');

end

if isreal(z_val)

point = [x_val, y_val, z_val];

cur_p = cur_p+1;

err = sqrt(2)*sigma_0*(2*rand(3,1)-1);

if ismember(cur_p,outliers)

mistake = (get_randSign(3).*get_randNumbers(3,0,2,'int'))'.*double(point)*10;

else

mistake = zeros (1,3);

end

point = double(point) + mistake + err';

colors = rand(1,3);

fprintf(fid_points,'%+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %+4.4f %u\n', point', 1, colors, cur_p);

end

end

function get_userInput()

quad_handle = plot_Quadric(parameters); hold on;

mesaj = uicontrol(gcf,'style','text');

figpos = get(gcf,'Position');

textposition = [figpos(3)/2 10 figpos(3)/2 30];

set(mesaj,'String','Pree exit when done (max 10 selections)');

set(mesaj,'Position',textposition);

set(gca,'buttondownfcn',@plot_ClickPlot);

numarpct = uicontrol(gcf, 'style','text');

text2position = [10 figpos(4)-35 figpos(3)*1/4 30];

text2string = 'Nr puncte selectate: ';

set(numarpct,'String',strcat(text2string,num2str(n)));

set(numarpct,'Position',text2position);

buton_rotate = uicontrol(gcf,'style','togglebutton','string','Rotate');

buton_position = [10 10 figpos(3)/10 30];

set(buton_rotate,'Position',buton_position);

set(buton_rotate,'Callback',@rotate_button_Callback);

buton_selectie = uicontrol(gcf,'style','pushbutton','string','Select');

buton_position2 = [10 60 figpos(3)/10 30];

set(buton_selectie,'Position',buton_position2);

set(buton_selectie,'Callback',@select_button_Callback);

buton_exit = uicontrol(gcf,'style','pushbutton','string','Exit');

buton_position3 = [10 110 figpos(3)/10 30];

set(buton_exit,'Position',buton_position3);

set(buton_exit,'Callback',@exit_button_Callback);

set(buton_exit,'Value',1);

waitfor(gcf);

function rotate_button_Callback (gcbo,eventdata)

rotate3d on;

end

function select_button_Callback (gcbo,eventdata)

rotate3d off;

done = waitforbuttonpress;

if (~done)

newpoint = plot_ClickPlot';

userinput = [userinput; newpoint];

n = n+1;

set(numarpct,'String',strcat(text2string,num2str(n)));

scatter3(newpoint(1),newpoint(2),newpoint(3),'+','g'); hold on;

text(newpoint(1), newpoint(2), newpoint(3), cellstr(num2str(n)), 'VerticalAlignment','bottom', …

'HorizontalAlignment','right'); hold on;

end

if n==10

done = 1;

end

if (done)

close(gcf);

end

end

function exit_button_Callback(gcbo,eventdata)

close(gcf);

end

function [userinput] = plot_ClickPlot(gcbo,evendata)

userinput = select3d(quad_handle);

% disp(get(gca,'Currentpoint'));

end

end

fclose(fid_points);

fclose(fid_data);

cd (initialFolder);

end

Anexa 6 – Fișier observații simulate aferente unui elipsoid

-0.5889 +0.4761 -0.0913 +1.0000 +0.3846 +0.5003 +0.5703 1

+0.4376 -0.4312 +0.1915 +1.0000 +0.6712 +0.2992 +0.5311 2

-0.5088 -0.8504 -0.8813 +1.0000 +0.5806 +0.2870 +0.3619 3

-0.0091 +0.2765 +0.1719 +1.0000 +0.6155 +0.9189 +0.6025 4

-0.0647 +0.0628 -0.7375 +1.0000 +0.5179 +0.2457 +0.2975 5

-0.1678 +0.3472 +0.1502 +1.0000 +0.2565 +0.9668 +0.6192 6

-1.0655 +0.2176 -0.5469 +1.0000 +0.9861 +0.2072 +0.7571 7

+0.2859 -0.4772 -0.6119 +1.0000 +0.8757 +0.6352 +0.0973 8

+0.4537 -0.0483 +0.0078 +1.0000 +0.4589 +0.5823 +0.3391 9

-1.0559 -0.6245 +0.1621 +1.0000 +0.0836 +0.5127 +0.8329 10

+0.3230 +0.0073 +0.1642 +1.0000 +0.1283 +0.2529 +0.8840 11

-0.9911 -1.1635 +0.0736 +1.0000 +0.6429 +0.2141 +0.6173 12

-0.1055 -0.2228 -0.8163 +1.0000 +0.7751 +0.2368 +0.8448 13

+0.1469 +0.2630 +0.1161 +1.0000 +0.9609 +0.5463 +0.6366 14

-0.3163 +0.4114 +0.0725 +1.0000 +0.7518 +0.1991 +0.9829 15

-0.0385 -1.0488 +0.3298 +1.0000 +0.5629 +0.1767 +0.5137 16

-0.3450 -1.0953 -0.7739 +1.0000 +0.5330 +0.3268 +0.6022 17

-0.6900 -1.1373 +0.2569 +1.0000 +0.7446 +0.8422 +0.5167 18

-1.0922 -0.6620 +0.1543 +1.0000 +0.8063 +0.2222 +0.9998 19

-1.2483 -0.5656 -0.7049 +1.0000 +0.2199 +0.3541 +0.2662 20

-0.8258 -1.0436 -0.7936 +1.0000 +0.5286 +0.9141 +0.9739 21

-0.2774 -1.1624 +0.3078 +1.0000 +0.6073 +0.0708 +0.9248 22

-0.1832 -1.2089 -0.6638 +1.0000 +0.7030 +0.7542 +0.5473 23

-0.3354 -0.1615 +0.3820 +1.0000 +0.5708 +0.3354 +0.9571 24

-0.5613 -0.2279 -0.8898 +1.0000 +0.5594 +0.4646 +0.4303 25

+0.0672 -0.1181 -0.7166 +1.0000 +0.4804 +0.3424 +0.7771 26

-0.6527 +0.0068 +0.2451 +1.0000 +0.8732 +0.0827 +0.4654 27

-1.0636 -1.0421 -0.7220 +1.0000 +0.9095 +0.0579 +0.4368 28

-0.3150 -0.2991 +0.3845 +1.0000 +0.9511 +0.7663 +0.7513 29

-1.1071 -0.7102 -0.7934 +1.0000 +0.6884 +0.6396 +0.7293 30

+0.2302 -0.1810 -0.6081 +1.0000 +0.0773 +0.3385 +0.5806 31

-0.4782 +0.1704 -0.7831 +1.0000 +0.6340 +0.2293 +0.1822 32

-1.0432 -1.1265 -0.6777 +1.0000 +0.0257 +0.9711 +0.2976 33

-0.4006 +0.2973 +0.1852 +1.0000 +0.9757 +0.1079 +0.1789 34

-0.1650 -14.4036 -5.0778 +1.0000 +0.1175 +0.5090 +0.1688 35

+0.2792 -0.6444 +0.3129 +1.0000 +0.9443 +0.1741 +0.2446 36

-0.1802 +0.1759 +0.2361 +1.0000 +0.3605 +0.8289 +0.2146 37

+0.1088 -0.1048 -0.6950 +1.0000 +0.8340 +0.1314 +0.7598 38

-0.3940 -0.6117 +0.4111 +1.0000 +0.4379 +0.7727 +0.7441 39

-0.5356 -1.2990 -0.6999 +1.0000 +0.5571 +0.7198 +0.1104 40

-0.9522 +0.2035 -0.6881 +1.0000 +0.3772 +0.1678 +0.5402 41

+0.4268 -0.7091 -0.3908 +1.0000 +0.1501 +0.9913 +0.4271 42

+0.4130 +0.0325 -0.3640 +1.0000 +0.8246 +0.7673 +0.9971 43

-0.8788 +0.0977 +0.0954 +1.0000 +0.9227 +0.3203 +0.8575 44

-0.8756 +0.3105 -0.6013 +1.0000 +0.5669 +0.3764 +0.2125 45

+0.0939 -1.1215 -0.5312 +1.0000 +0.1411 +0.7322 +0.6911 46

-1.3112 -0.4369 -0.0963 +1.0000 +0.5942 +0.4986 +0.5679 47

-0.5608 -1.2690 +0.2421 +1.0000 +0.6028 +0.4738 +0.3563 48

-0.4951 -0.0761 +0.3297 +1.0000 +0.9122 +0.1011 +0.2933 49

-1.2748 -0.4214 -0.0653 +1.0000 +0.4533 +0.7374 +0.5099 50

-0.6522 +0.3674 +0.0235 +1.0000 +0.3830 +0.9912 +0.2868 51

-0.0511 -0.3651 -0.8088 +1.0000 +0.0457 +0.8850 +0.8398 52

-1.1433 -0.5858 -0.7968 +1.0000 +0.9899 +0.3498 +0.2085 53

-0.1348 +0.5022 -0.4384 +1.0000 +0.0522 +0.9018 +0.7933 54

-0.6700 +0.2300 +0.1232 +1.0000 +0.0889 +0.3417 +0.5487 55

-0.5227 -0.1360 +0.3376 +1.0000 +0.1872 +0.6113 +0.0519 56

-0.3114 +0.2606 -0.7178 +1.0000 +0.2936 +0.1152 +0.3751 57

+0.1833 +0.2413 +0.1074 +1.0000 +0.4808 +0.0665 +0.8978 58

-0.4501 +0.1175 -0.8221 +1.0000 +0.6385 +0.3849 +0.7657 59

-0.1563 -0.6572 +0.4181 +1.0000 +0.9453 +0.2191 +0.8824 60

-1.3318 -0.7305 -0.1409 +1.0000 +0.0102 +0.5991 +0.6016 61

-0.1742 -0.7434 +0.4182 +1.0000 +0.7641 +0.9880 +0.1253 62

-0.6951 -0.0846 +0.2690 +1.0000 +0.2026 +0.8685 +0.7512 63

-0.5940 -1.3969 -0.6081 +1.0000 +0.3212 +0.2843 +0.4353 64

-0.3118 -1.3041 -0.6295 +1.0000 +0.3668 +0.3639 +0.1514 65

-1.0875 -0.7170 +0.1243 +1.0000 +0.8864 +0.6746 +0.8352 66

-0.1555 +0.5361 -0.0888 +1.0000 +0.4982 +0.8498 +0.1909 67

-0.3661 -0.3969 -0.8953 +1.0000 +0.2441 +0.8034 +0.8240 68

+0.2236 -0.4983 +0.3338 +1.0000 +0.8176 +0.4058 +0.4663 69

-0.3052 +0.3927 -0.6291 +1.0000 +0.0675 +0.0690 +0.1668 70

+0.4054 -0.3506 -0.4572 +1.0000 +0.0023 +0.6402 +0.8032 71

-0.9107 -1.2837 -0.6547 +1.0000 +0.8868 +0.4206 +0.2838 72

-1.2883 -0.9699 -0.5834 +1.0000 +0.6109 +0.4081 +0.2489 73

-0.1549 -0.7857 -0.7922 +1.0000 +0.6665 +0.8477 +0.7627 74

+0.1177 -0.1596 +0.3243 +1.0000 +0.9043 +0.6302 +0.9830 75

-0.2767 +0.2631 -0.7229 +1.0000 +0.4796 +0.7937 +0.0927 76

-0.1000 +0.4482 -0.4892 +1.0000 +0.6888 +0.1474 +0.7776 77

-0.6331 +0.3519 -0.6584 +1.0000 +0.0164 +0.1147 +0.0124 78

-0.9724 -1.3969 -0.5241 +1.0000 +0.0078 +0.6027 +0.4789 79

-0.8003 +0.0607 +0.1638 +1.0000 +0.3412 +0.8391 +0.9825 80

-0.2018 -1.0552 -0.7457 +1.0000 +0.5502 +0.1805 +0.6785 81

+0.3015 +0.2594 -0.2511 +1.0000 +0.4065 +0.9518 +0.9120 82

+0.3895 -0.7360 +0.1985 +1.0000 +0.9055 +0.4025 +0.2158 83

-0.7336 -0.0359 -0.8652 +1.0000 +0.4428 +0.6330 +0.9300 84

-0.3938 -0.1751 +0.3618 +1.0000 +0.6939 +0.8907 +0.4907 85

+0.1330 -0.7548 +0.3444 +1.0000 +0.2792 +0.7676 +0.2161 86

-1.3078 -0.5450 -0.0909 +1.0000 +0.0268 +0.5004 +0.8270 87

-0.8800 -1.3222 -0.6288 +1.0000 +0.0130 +0.7181 +0.3911 88

-1.2884 -0.5935 -0.0750 +1.0000 +0.8657 +0.8010 +0.5550 89

-0.5949 -1.1476 +0.2660 +1.0000 +0.3788 +0.2682 +0.1529 90

-0.1957 -0.7772 +0.3959 +1.0000 +0.6054 +0.5765 +0.8074 91

-0.1611 +0.3154 +0.1670 +1.0000 +0.0607 +0.3898 +0.3000 92

+0.0034 -1.2014 +0.2428 +1.0000 +0.0710 +0.6258 +0.0247 93

-1.2493 -1.1650 -0.2835 +1.0000 +0.6416 +0.7864 +0.2892 94

-0.4466 +0.2051 +0.2126 +1.0000 +0.6796 +0.5678 +0.6518 95

-0.4572 -0.6088 -0.8894 +1.0000 +0.7290 +0.7657 +0.7566 96

+0.1864 +0.1080 +0.1896 +1.0000 +0.2581 +0.0370 +0.9744 97

-0.0132 -1.1194 -0.6372 +1.0000 +0.4108 +0.1430 +0.7989 98

-0.8114 -1.3489 -0.6161 +1.0000 +0.6239 +0.8254 +0.0350 99

-0.6195 -0.9127 +0.3261 +1.0000 +0.1552 +0.8339 +0.1949 100

+0.1791 -0.7412 -0.6302 +1.0000 +0.2898 +0.3766 +0.1138 101

+0.4287 -0.5547 -0.4474 +1.0000 +0.7535 +0.8360 +0.2537 102

-0.3717 -0.5373 -0.9017 +1.0000 +0.9000 +0.5505 +0.4274 103

-1.0712 -0.9131 +0.1035 +1.0000 +0.6042 +0.6411 +0.1275 104

-4.9005 -8.7647 +0.4051 +1.0000 +0.8459 +0.9094 +0.0113 105

-0.3923 -0.1216 +0.3478 +1.0000 +0.8398 +0.4268 +0.6316 106

+0.1862 -0.8883 -0.6007 +1.0000 +0.0373 +0.9758 +0.5223 107

+0.3134 -0.6405 +0.2875 +1.0000 +0.3985 +0.6250 +0.5676 108

+0.3031 -0.9930 -0.4484 +1.0000 +0.6409 +0.3045 +0.8256 109

-1.0723 -0.1640 -0.7942 +1.0000 +0.2348 +0.8397 +0.4955 110

-1.0923 -0.9414 +0.0912 +1.0000 +0.4996 +0.7836 +0.6771 111

-1.0741 -0.0231 -0.7274 +1.0000 +0.6794 +0.9768 +0.1255 112

+0.0201 +0.2212 +0.1789 +1.0000 +0.3253 +0.1347 +0.4505 113

-0.2931 +0.1554 +0.2736 +1.0000 +0.0518 +0.8086 +0.3349 114

-0.9540 +0.2269 -0.6660 +1.0000 +0.8606 +0.9391 +0.6802 115

+0.3466 -0.9073 +0.1855 +1.0000 +0.7674 +0.0850 +0.7288 116

-0.5339 -0.1197 -0.8975 +1.0000 +0.4704 +0.8863 +0.1140 117

-0.5392 -0.1155 +0.3210 +1.0000 +0.8793 +0.5579 +0.7523 118

+0.2842 +0.2425 -0.3219 +1.0000 +0.0091 +0.5965 +0.6090 119

+0.3444 +0.0476 -0.4356 +1.0000 +0.3371 +0.5843 +0.4690 120

-1.0325 -0.8105 -0.8244 +1.0000 +0.5223 +0.2962 +0.4628 121

+0.3607 -0.9770 -0.3655 +1.0000 +0.5221 +0.1029 +0.9969 122

-0.6981 -0.1746 -0.8980 +1.0000 +0.0454 +0.8417 +0.0482 123

-0.7760 +0.1450 +0.1402 +1.0000 +0.6510 +0.6646 +0.9388 124

-0.3750 -0.6208 -0.8875 +1.0000 +0.3983 +0.7513 +0.5224 125

-0.4438 -1.2445 +0.2851 +1.0000 +0.1628 +0.9705 +0.5970 126

-0.9313 -1.2734 +0.0668 +1.0000 +0.1582 +0.0621 +0.7018 127

-1.1997 -0.1915 -0.7039 +1.0000 +0.8306 +0.8184 +0.9382 128

-1.1714 -1.2043 -0.5326 +1.0000 +0.4210 +0.6401 +0.7876 129

-0.8732 +0.2443 -0.0008 +1.0000 +0.7016 +0.1116 +0.0958 130

-0.2687 +0.2005 +0.2560 +1.0000 +0.4522 +0.0707 +0.2413 131

-0.0171 -1.3389 +0.1649 +1.0000 +0.1084 +0.9835 +0.2483 132

-0.2416 +0.2101 +0.2519 +1.0000 +0.9010 +0.2142 +0.5471 133

+0.0832 -1.0126 -0.6036 +1.0000 +0.2695 +0.7630 +0.7722 134

-0.7700 -0.0978 +0.2450 +1.0000 +0.4771 +0.6534 +0.9666 135

-0.7883 -1.2547 +0.1536 +1.0000 +0.0769 +0.1537 +0.8269 136

-0.7993 -0.6544 +0.2912 +1.0000 +0.6465 +0.0036 +0.2829 137

-0.1923 -0.2336 +0.3832 +1.0000 +0.4346 +0.8322 +0.3599 138

-1.2173 -0.3099 -0.7242 +1.0000 +0.1012 +0.2016 +0.1347 139

-0.7663 +0.4715 -0.4766 +1.0000 +0.6091 +0.8631 +0.3807 140

+0.0182 -1.0899 -0.6127 +1.0000 +0.9726 +0.6053 +0.3382 141

-0.8829 -0.8451 +0.2582 +1.0000 +0.4762 +0.9949 +0.4906 142

-0.4246 +0.1101 -0.8081 +1.0000 +0.7981 +0.2204 +0.8579 143

+0.3158 -0.8310 -0.4871 +1.0000 +0.2674 +0.1762 +0.4312 144

-0.4960 +0.1443 -0.8177 +1.0000 +0.1362 +0.6946 +0.5157 145

-0.3594 +0.1802 +0.2296 +1.0000 +0.8866 +0.9703 +0.9425 146

-0.1915 -1.2425 -0.6368 +1.0000 +0.1442 +0.6359 +0.7898 147

-0.3211 -0.6687 +0.4258 +1.0000 +0.5037 +0.2610 +0.7325 148

+0.1630 +0.0514 +0.2518 +1.0000 +0.4226 +0.9437 +0.0013 149

+0.4576 -0.2782 -0.3912 +1.0000 +0.3486 +0.2501 +0.3450 150

-0.7616 +0.4242 -0.0911 +1.0000 +0.8462 +0.9020 +0.5957 151

-1.2397 -0.9733 -0.0694 +1.0000 +0.2479 +0.5544 +0.2296 152

-0.6316 -0.8981 -0.8728 +1.0000 +0.7464 +0.7997 +0.9078 153

-0.1713 +0.4611 +0.0144 +1.0000 +0.3208 +0.1341 +0.1346 154

+0.1421 -0.3755 +0.3614 +1.0000 +0.2269 +0.4460 +0.2662 155

-0.5163 -0.5539 -0.9141 +1.0000 +0.6847 +0.4431 +0.4357 156

+0.1125 +0.2005 +0.1812 +1.0000 +0.6307 +0.0980 +0.2457 157

-0.2306 -0.8195 +0.4016 +1.0000 +0.5564 +0.9691 +0.6891 158

-0.0378 -0.3066 +0.3841 +1.0000 +0.7573 +0.5467 +0.3574 159

-0.0633 -1.1880 -0.6066 +1.0000 +0.9100 +0.6360 +0.5256 160

-0.8896 -1.3138 -0.6408 +1.0000 +0.5413 +0.7881 +0.8696 161

-0.3091 -1.0952 -0.7480 +1.0000 +0.1423 +0.3804 +0.3966 162

-0.3073 -1.3631 +0.2140 +1.0000 +0.6089 +0.7197 +0.3028 163

-0.5155 -1.3045 +0.2289 +1.0000 +0.2830 +0.0683 +0.0549 164

-0.1859 -0.5809 +0.4239 +1.0000 +0.9371 +0.6610 +0.3947 165

-0.8880 +0.2521 -0.0367 +1.0000 +0.5757 +0.1859 +0.2914 166

-0.5226 -0.7191 -0.9005 +1.0000 +0.8027 +0.4086 +0.3274 167

+0.0065 +0.0548 -0.6870 +1.0000 +0.8419 +0.5101 +0.1658 168

-0.0309 +0.3728 -0.5296 +1.0000 +0.8593 +0.5234 +0.4774 169

+0.4267 -0.6553 +0.1757 +1.0000 +0.5626 +0.6338 +0.5416 170

-0.7911 -1.0877 -0.7890 +1.0000 +0.1133 +0.7009 +0.1800 171

+0.1321 -0.3935 -0.7086 +1.0000 +0.4220 +0.7212 +0.0731 172

-0.2542 +0.3049 +0.1840 +1.0000 +0.4569 +0.5998 +0.8426 173

-1.2937 -1.0399 -0.2857 +1.0000 +0.9289 +0.6727 +0.3723 174

-0.6170 -0.5470 +0.3789 +1.0000 +0.5454 +0.7493 +0.1249 175

-0.5203 -1.2551 +0.2572 +1.0000 +0.4679 +0.4585 +0.8061 176

+0.1506 -1.0424 -0.5520 +1.0000 +0.6258 +0.0295 +0.4723 177

-0.1138 -1.1908 -0.6419 +1.0000 +0.8011 +0.2996 +0.7756 178

-0.3292 -0.3242 +0.4069 +1.0000 +0.1894 +0.0290 +0.1274 179

-1.1229 -1.1423 -0.0205 +1.0000 +0.8725 +0.3671 +0.2362 180

-1.0148 -0.3187 -0.8334 +1.0000 +0.0079 +0.6340 +0.3593 181

-1.1629 -0.3432 +0.0410 +1.0000 +0.3810 +0.7224 +0.0951 182

-0.1305 -0.8371 -0.7902 +1.0000 +0.2637 +0.5114 +0.2151 183

-0.7263 +0.0662 -0.8144 +1.0000 +0.3036 +0.8218 +0.5657 184

-1.2708 -0.8872 -0.6267 +1.0000 +0.1441 +0.7161 +0.4015 185

-0.5200 -0.0105 -0.8585 +1.0000 +0.9266 +0.0949 +0.3754 186

-0.3493 -1.1762 +0.3060 +1.0000 +0.0142 +0.3165 +0.1119 187

-0.2037 -1.2935 +0.2414 +1.0000 +0.6663 +0.8611 +0.7618 188

+0.2676 +0.3233 -0.2669 +1.0000 +0.8750 +0.0674 +0.6468 189

-0.7676 -0.1375 +0.2459 +1.0000 +0.5197 +0.6275 +0.7139 190

-0.7935 -0.8994 +0.2845 +1.0000 +0.1920 +0.7770 +0.8645 191

-0.7516 -1.1478 +0.2240 +1.0000 +0.0690 +0.5519 +0.4038 192

+0.0168 -0.4458 -0.7666 +1.0000 +0.9010 +0.0563 +0.4435 193

-0.3768 -1.1532 +0.3068 +1.0000 +0.6611 +0.0186 +0.2911 194

-0.0897 -1.1403 +0.3081 +1.0000 +0.6795 +0.7041 +0.4609 195

-0.6912 -0.8646 -0.8744 +1.0000 +0.9206 +0.5113 +0.9141 196

-0.7901 +0.1316 -0.7852 +1.0000 +0.1098 +0.8321 +0.9716 197

-0.9567 -0.0106 -0.8028 +1.0000 +0.0033 +0.1425 +0.8624 198

-0.8655 -0.3622 +0.2691 +1.0000 +0.5942 +0.3096 +0.9018 199

-1.1873 -0.7735 +0.0346 +1.0000 +0.1412 +0.9509 +0.8826 200

-0.5654 +0.2515 +0.1545 +1.0000 +0.2954 +0.0485 +0.4427 201

+0.1002 +0.4008 -0.0204 +1.0000 +0.4768 +0.2503 +0.3079 202

-0.3010 +0.5500 -0.4313 +1.0000 +0.6465 +0.1282 +0.0813 203

-0.1423 -1.3574 +0.1953 +1.0000 +0.9474 +0.3823 +0.6929 204

-0.2570 +0.1294 +0.2948 +1.0000 +0.2813 +0.7104 +0.6646 205

-0.5832 -0.4186 +0.3617 +1.0000 +0.0401 +0.5829 +0.5647 206

-0.7123 +0.3205 -0.6871 +1.0000 +0.8485 +0.1604 +0.1579 207

-0.4184 -0.2084 -0.8803 +1.0000 +0.2646 +0.3147 +0.1832 208

-0.5384 -0.7670 +0.3824 +1.0000 +0.0685 +0.2052 +0.7236 209

-0.3013 -1.0117 +0.3657 +1.0000 +0.1851 +0.0817 +0.4641 210

-1.3016 -0.5594 -0.6513 +1.0000 +0.6081 +0.7724 +0.0563 211

+0.2312 -0.6543 +0.3249 +1.0000 +0.9196 +0.2887 +0.5509 212

-0.3805 -0.7649 +0.3937 +1.0000 +0.8935 +0.6531 +0.0403 213

-0.4380 +0.3527 -0.6810 +1.0000 +0.2684 +0.6224 +0.8046 214

-1.1830 +0.0331 -0.1591 +1.0000 +0.0323 +0.5799 +0.8422 215

+2.9996 +0.2393 -0.7420 +1.0000 +0.2863 +0.9631 +0.2307 216

-0.3727 -0.9953 -0.7935 +1.0000 +0.9038 +0.5404 +0.8179 217

-0.0599 -1.3298 -0.5147 +1.0000 +0.2351 +0.2755 +0.9516 218

-0.7262 -0.8321 +0.3234 +1.0000 +0.3555 +0.3629 +0.0685 219

+0.2531 -0.5110 -0.6246 +1.0000 +0.6619 +0.2000 +0.9600 220

-0.1309 -0.3539 +0.4061 +1.0000 +0.8080 +0.7360 +0.5723 221

+0.1280 -1.3624 +0.0055 +1.0000 +0.1335 +0.5645 +0.5410 222

-0.3747 -0.9137 +0.3868 +1.0000 +0.3597 +0.7193 +0.5236 223

-0.8748 -0.4440 +0.2470 +1.0000 +0.3705 +0.8623 +0.6848 224

-0.1791 -1.1314 -0.6999 +1.0000 +0.4603 +0.5157 +0.2720 225

-0.9324 +0.3623 -0.2328 +1.0000 +0.6685 +0.8946 +0.0873 226

-0.3772 -0.5768 -0.9007 +1.0000 +0.3227 +0.7795 +0.3355 227

-0.2101 +0.5612 -0.3951 +1.0000 +0.5971 +0.6548 +0.9150 228

-0.5480 -0.8447 -0.8711 +1.0000 +0.3476 +0.7177 +0.0280 229

-0.7474 -0.3622 -0.9082 +1.0000 +0.9319 +0.1471 +0.4168 230

-0.8575 -0.2334 -0.8908 +1.0000 +0.1700 +0.3712 +0.0398 231

-0.0632 -0.1457 -0.7769 +1.0000 +0.2027 +0.8695 +0.5979 232

-0.2229 -1.3597 -0.5749 +1.0000 +0.5778 +0.0748 +0.0573 233

-0.7952 -0.3698 -0.9037 +1.0000 +0.9821 +0.5783 +0.2344 234

+0.1498 -0.5280 -0.6989 +1.0000 +0.9719 +0.6483 +0.6147 235

-0.4980 -0.2761 +0.3658 +1.0000 +0.2736 +0.4446 +0.6275 236

-0.3798 -0.6506 +0.4139 +1.0000 +0.0618 +0.2314 +0.1185 237

+0.1893 -0.4047 -0.6804 +1.0000 +0.9782 +0.6530 +0.4611 238

+0.2305 -0.8771 +0.2696 +1.0000 +0.9571 +0.5108 +0.5646 239

-0.6171 -0.2260 -0.9079 +1.0000 +0.3790 +0.2703 +0.2156 240

-0.1794 +0.1762 -0.7359 +1.0000 +0.9700 +0.5649 +0.2177 241

+0.2240 +0.2794 +0.0178 +1.0000 +0.4267 +0.2800 +0.3335 242

-0.6783 +0.1701 -0.7960 +1.0000 +0.6568 +0.2319 +0.6220 243

+0.2240 -0.2315 +0.3155 +1.0000 +0.4107 +0.7324 +0.1511 244

+0.1528 +0.3833 -0.0393 +1.0000 +0.5655 +0.5847 +0.3449 245

-0.0583 -1.0893 -0.6587 +1.0000 +0.6945 +0.9275 +0.9442 246

+0.2977 -0.2210 +0.2444 +1.0000 +0.5384 +0.7372 +0.1812 247

-0.5738 -1.2067 +0.2618 +1.0000 +0.8931 +0.0607 +0.1758 248

-0.6066 +0.0408 +0.2492 +1.0000 +0.7646 +0.5244 +0.7545 249

-1.0429 -0.0673 -0.7811 +1.0000 +0.3606 +0.1911 +0.7144 250

Anexa 7 – Fișier informații aferente norului de puncte simulat anterior

Parametrii formei sunt:

+80.80 +60.72 +171.70 -10.78 -50.47 +13.61 +50.46 +61.07 +70.38 -38.33

Numarul total de puncte este:

250

Abaterea medie patratica sigma_0 este:

0.010

Numarul de greseli introduse este:

3

Punctele gresite sunt:

35 216 105

Numarul de puncte parghie introduse este:

0

Punctele parghie sunt:

Anexa 8 – Funcție calcul distanță punct – cuadrică

%distanta calculata conform Taubin (1994)

function dist = dist_point_quad(parameters, point)

syms a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 x y z

quad_fct = 'a1*x^2+a2*y^2+a3*z^2+a4*x*y+a5*x*z+a6*y*z+a7*x+a8*y+a9*z+a10';

quad_fct_subs = vpa(subs(quad_fct,[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10],parameters));

F1 = abs(vpa(subs(quad_fct_subs,[x y z],point)));

fderiv_x = diff(quad_fct_subs,x);

fderiv_y = diff(quad_fct_subs,y);

fderiv_z = diff(quad_fct_subs,z);

fderiv_x_subs = vpa(subs(fderiv_x,[x y z], point));

fderiv_y_subs = vpa(subs(fderiv_y,[x y z], point));

fderiv_z_subs = vpa(subs(fderiv_z,[x y z], point));

F2 = norm([fderiv_x_subs fderiv_y_subs fderiv_z_subs]);

dist = double(F1/F2);

end

Similar Posts