• No results found

System for Mine Prodding Monitoring

N/A
N/A
Protected

Academic year: 2021

Share "System for Mine Prodding Monitoring"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)LiU-ITN-TEK-A--08/040--SE. System for Mine Prodding Monitoring Johan Lindstrand 2008-03-19. Department of Science and Technology Linköping University SE-601 74 Norrköping, Sweden. Institutionen för teknik och naturvetenskap Linköpings Universitet 601 74 Norrköping.

(2) LiU-ITN-TEK-A--08/040--SE. System for Mine Prodding Monitoring Examensarbete utfört i medieteknik vid Tekniska Högskolan vid Linköpings unversitet. Johan Lindstrand Handledare Curt Larsson Examinator Karljohan Lundin Palmerius Norrköping 2008-03-19.

(3) Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/. © Johan Lindstrand.

(4) Abstract Prodding is a procedure which is normally employed in the process of demining. It is performed by probing the ground in order to detect the presence of sub-surface mines and/or unexploded ordnances. The Swedish Armed Forces via SWEDEC runs a demining school in Eksjö. The demining school educates personnel from amongst others the Swedish Police Service and the Swedish Armed Forces in courses involving demining. Prodding is a vital part of their training. The school has experienced problems with teaching groups of students in prodding. This thesis is a system development of a prodding monitoring system that will facilitate the teaching of the prodding method by supervising groups of students individual prodding performances. The monitoring system is based on equipping prodders with sensors measuring their motion. The measured information is continuously and wirelessly sent from the sensors to a software system that visualizes and stores it in a database.. Sammanfattning Minpikning är en aktivitet som normalt innefattas som en del av en minröjningsprocess. Minpikning innebär att man lokaliserar landminor eller oexploderad ammunition genom att försiktigt känna sig för i marken med ett spetsigt föremål. Försvarsmakten driver genom SWEDEC amröjskolan i Eksjö. Amröjskolan utbildar personal från bl.a. polisen och försvarsmakten i kurser rörande minröjning och ammunitionsröjning. Ett vitalt moment i utbildningen är att lära ut minpikning, något som de har upplevt svårigheter att lära ut i grupp. Det här examensarbetet är en systemutveckling av ett övervakningssystem som ska underlätta undervisningen i minpikning genom att övervaka en grupp elevers enskilda minpikningsutföranden. Övervakningssystemet bygger på att utrusta minpikar med sensorer som mäter dess rörelser. Den uppmätta informationen förs kontinuerligt och trådlöst från sensorerna till ett mjukvarusystem som visualiserar samt lagrar den i en databas.. i.

(5)

(6) Acknowledgments I would like to express my gratitude to all those who have supported me in completing this thesis. It has been a real pleasure working with SWEDEC and I have learnt lots from it. I have also been well supported by VITA at Linköping University and for that I am truly grateful. I want to send special thanks to the following persons: Curt Larsson, Ralf Andrén and Dr. Karljohan Lundin Palmerius for their professional guidance. PerHenrik Åberg for recommending me to SWEDEC. Willem Frishert, Joel Nises, Ruman Zakaria, Emil Johansson, Eva Skärblom, Miroslav Andel, Jonas Carlberg and Tim Grant for their help, support, interest and valuable hints.. iii.

(7)

(8) Contents 1 Introduction 1.1 Background . . . . . . . . . . . 1.2 Problem Description . . . . . . 1.3 Problem Objectives . . . . . . . 1.3.1 Motion Tracking . . . . 1.3.2 Data Handling . . . . . 1.3.3 Visualization . . . . . . 1.3.4 Graphical User Interface 1.4 Outline . . . . . . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 1 1 1 2 2 2 2 2 3. 2 Theory 2.1 Mine Action . . . . . . . . . . . . 2.2 Motion Tracking . . . . . . . . . 2.2.1 Inertial Systems . . . . . 2.2.2 Electromagnetic Systems 2.2.3 Ultrasonic Systems . . . . 2.2.4 Laser Systems . . . . . . 2.2.5 Hybrid Systems . . . . . . 2.3 Data Handling . . . . . . . . . . 2.3.1 Compression . . . . . . . 2.3.2 Storage . . . . . . . . . . 2.4 Visualization . . . . . . . . . . . 2.4.1 Purpose of Visualization . 2.4.2 Information Visualization 2.5 Graphical User Interface . . . . . 2.5.1 Forgiving Formats . . . . 2.5.2 Structured Formats . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. 5 5 7 7 8 8 9 9 9 9 11 12 13 13 13 14 15. 3 Implementation 3.1 Programming Languages and Frameworks 3.2 Motion Tracking System . . . . . . . . . . 3.2.1 InertiaCube 3 Wireless . . . . . . . 3.3 Data Handling . . . . . . . . . . . . . . . 3.3.1 zlib Compression . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 17 17 18 18 20 21. v.

(9) vi. Contents. 3.4. 3.5 3.6. 3.3.2 PTTS-DB . . . . . . . . . . . . . . . . . Visualization Components . . . . . . . . . . . . 3.4.1 Real-time 3D Model Viewer Component 3.4.2 Real-time 2D Graph Plot Component . Graphical User Interface Design . . . . . . . . . System Assembling . . . . . . . . . . . . . . . .. 4 Conclusion 4.1 System Analysis . . . . . . 4.1.1 Usability Test . . . . 4.1.2 System Test . . . . . 4.2 Results . . . . . . . . . . . . 4.3 Discussion and Future Work. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 21 21 23 24 24 26. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 29 29 29 30 30 32. Bibliography. 33. A InertiaCube 3 Wireless Specifications. 35.

(10) Contents. vii. List of Figures 2.1 2.2 2.3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8. Cambodian villagers learning how to prod. . . . . . . . . . . . . . . A graphical representation of the 6 different dimensions of freedom related to motion. . . . . . . . . . . . . . . . . . . . . . . . . . . . Example of a typical graphical representation for a graph plot. . . InterSense InertiaCube 3 Wireless sensor mounted on a Swedish Armed Forces prodder. . . . . . . . . . . . . . . . . . . . . . . . . . InterSense InertiaCube 3 Wireless motion tracking system prepared to be used with PTTS. . . . . . . . . . . . . . . . . . . . . . . . . . Entity relationship diagram describing PTTS-DB. . . . . . . . . . Screenshot of PTTS’ built-in search-tool for PTTS-DB. . . . . . . PTTS’ built in visualization component Real-time 3D Model Viewer Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PTTS’ built in visualization component Real-time 2D Graph Plot Component. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screenshot of PTTS. . . . . . . . . . . . . . . . . . . . . . . . . . . Simple relationship diagram showing the basics of PTTS’ assembling and data flow. . . . . . . . . . . . . . . . . . . . . . . . . . .. 6 8 14. 19 20 22 22 23 24 25 27.

(11) List of Tables 3.1. PTTS-DB described in tables. . . . . . . . . . . . . . . . . . . . . .. 21. 4.1. System requirements for PTTS. . . . . . . . . . . . . . . . . . . . .. 31.

(12) Chapter 1. Introduction This thesis is the outcome of a system development carried out during fall 2007 at SWEDEC. It serves as a fulfilment of a Master of Science Degree in Media Technology at Linköping University, Sweden. This first chapter mainly explains the background building the thesis, describes the thesis problem objectives and presents the report outline.. 1.1. Background. Within the Swedish Armed Forces there is a division named SWEDEC that specialize in Explosive Ordnance Disposal (EOD) and demining. One of SWEDEC’s most important undertakings is to educate military and civil personnel on EOD and demining techniques. One vital part of the training is prodding1 . SWEDEC has experienced problems with educating groups of students in prodding simultaneously. In 2006 it was brought to discussion at SWEDEC’s research department that equipping instructors with prodding monitoring systems might enhance the training. The main purpose of this investment aimed to lower problems related to teaching groups of students in prodding. Instead of purchasing a commercially launched system it was decided to introduce this thesis as a first step of developing their own solution called Prodding Training Tracking System (PTTS).. 1.2. Problem Description. During a prodding training session at SWEDEC one student share the instructors attention together with five other students. With these conditions it is difficult for the instructors to monitor and evaluate the students individual performances in a decent way. With help from a monitoring system instructors can get an overview of 1 According to International Mine Action Standards (IMAS), prodding is a procedure employed in the process of demining whereby ground is probed to detect the presence of sub-surface mines and/or Unexploded Ordnances (UXO).. 1.

(13) 2. Introduction. their students’ individual performances. Such systems would enhance the training in many ways, for example: produce better and more exact feedback, give access to automatically created statistical records, heighten the concentration and focus of the students.. 1.3. Problem Objectives. Since this thesis work is based on implementing a software system, its problem objectives are mainly related to the field of system development. The objectives are divided into four separate categories with respect of their individual processing roles for PTTS: motion tracking, data handling, visualization and Graphical User Interface (GUI). Each of them are presented and described within the following subsections.. 1.3.1. Motion Tracking. PTTS is designed to monitor motions of prodders being handled in prodding performances. This is done by measuring the prodders movements using a motion tracking system. There is a wide selection of such systems to choose from. Choosing the a suitable one for PTTS involved taking the following aspects into consideration: size, weight, wireless connection, accuracy, latency, Dimensions Of Freedom (DOF), purchase cost and mounting.. 1.3.2. Data Handling. As being a system that receive large amounts of data at a steady rate, PTTS is obligated to have fast and efficient data processing and storing solutions. If not there is a high risk for it to crash from an out of memory exception. This kind of data handling can be done in many ways. Finding the correct methods to use for PTTS involved most importantly to take the following aspects into consideration: compression, portability, speed and management possibilities.. 1.3.3. Visualization. In order to make good understanding of data they often need to be visualized in one way or another. Choosing and implementing visualization solutions to achieve good and fast data presentations for PTTS basically involved to take the following aspects into consideration: Number of dimensions, graphics pipeline, real-time presentation and component design.. 1.3.4. Graphical User Interface. An important aspect within the development of PTTS was to design an easy to use interface. PTTS’ potential users are not necessarily equipped with advanced computer skills. It was therefore important to implement an intuitive and self explained interface to be used for managing PTTS. As a result the implementation.

(14) 1.4 Outline. 3. took the following aspects into consideration: relevance, layout, sizing features and colouring.. 1.4. Outline. The report is divided into the following main chapters: • Theory • Implementation • Conclusion The theory chapter discusses and describes underlying theories of each of the thesis main subjects such as motion tracking techniques, data handling procedures, visualization methods and GUI design approaches. The implementation chapter presents and motivates the methods, tools and solutions chosen and used for implementing PTTS. The conclusion chapter then presents the outcome and results of all testing sessions performed in relation to the development of PTTS. It also sums up the thesis by presenting results achieved and discussing possible future plans for PTTS..

(15)

(16) Chapter 2. Theory This chapter presents studies performed before and during the development of PTTS. One week of the thesis time plan was scheduled for an introduction course in Mine Action (MA) held by SWEDEC at their headquarters in Eksjö. The purpose was not only to get better understanding on how PTTS can improve the demining and educating processes surrounding MA, but also to get an understanding on how severe the Explosive Remnants of War (ERW) situation is throughout the world. The first section is therefore presenting studies in the field of MA. Since the development of PTTS involved purchasing and integrating a suitable tracking system, part of the early studies were also focused on comparing motion tracking systems against each other. These studies are described in the second section. PTTS is a system that handles large amounts of data, which is passing through the system at a relatively high rate. Studies were made on different methods for handling this data and they are presented in the third section. Section four describes studies made in the area of visualization and ways of processing data to make good understanding of them. Other from that, studies were also made on approaches in GUI design to better understand how to make PTTS intuitive, these are presented in the fifth section.. 2.1. Mine Action. MA has developed rapidly over the last 20 years. It is a widely used term for coordinating activities that aim to reduce the social, economic and environmental impact of mines and UXO. MA started in Afghanistan in October 1988 when United Nations (UN) started carry out civilian demining activities for the first time. According to [2] there were about 40 countries running national MA programmes during year 2007. Mines are highly dangerous devices and the process of clearing mine fields is risky, time demanding and costly. Most countries suffering from mine fields are poor and in desperate need of help in clearing their land. Programmes, such as MA programmes, are therefore important in the worldwide process of clearing mines and UXO. MA comprises five complementary groups of activities: 5.

(17) 6. Theory. Figure 2.1. Cambodian villagers learning how to prod to get themselves out of or in to a minefield. Published with permission from photographer Tim Grant.. • Mine Risk Education (MRE) • Demining, mine and ERW survey, mapping, marking and clearance • Victim Assistance, including rehabilitation and reintegration • Stockpile Destruction • Advocacy against the use of anti-personnel mines One of MA’s most important undertaking activities is called MRE and is a concept based on warning and lecturing risks surrounding mines and UXO. The form of an MRE activity often varies from situation to situation. It can be all from gathering a group of villagers and lecture them in the dangers of mines, to arrange practical educational sessions as seen in figure 2.1. People from all around the world are daily suppressed by the threat and suffer caused from active mine fields. Part of MRE is therefore based on educating such people in prodding techniques enabling them to get themselves safely in and out of minefields in case of emergencies. This is a part where PTTS would really make a difference. In a situation like this where instructors are outnumbered by students, PTTS comes in handy as a tool for both monitoring and teaching. Another major activity within MA is the actual demining. Professional deminers assigned to MA programmes are under constant evaluation in order to minimise injuries and heighten safety in duty. With use of PTTS this evaluation can.

(18) 2.2 Motion Tracking. 7. be done in a more exact and professional way. Records of deminers and instructors performances can be stored and managed in a network based database system. This would in long term help heighten safety on live MA missions.. 2.2. Motion Tracking. Virtual Reality (VR) technology based products are getting more and more accepted and used in a large variety of different industry fields. In its early years VR solutions were mostly used in productions of entertaining installations to increase their level of immersion. Nowadays, VR applications are commonly used in fields such as medical technology, scientific research and warfare. One major branch of VR is related to motion tracking of different sorts. There are many different types of systems developed for measuring and recording motion. Most of them are specially designed for tracking specific kinds of motion, like for instance tracking motion of surgical tools. PTTS is designed to monitor and record the motion of up to four prodders simultaneously during a prodding session. In order to fulfil that task, it uses a motion tracking system for measuring and gathering data. The following subsections describe types of systems that were in some way relevant as alternatives to be used together with PTTS. The systems varies on aspects like technology and DOF. DOF as related to motion data is easiest explained and described with a graphical representation as seen in figure 2.2. Basically it is a level of how many dimensions of motion a system can measure and output. 3-DOF motion data describes only the orientation parameters of an object as Yaw, Pitch, Roll. In comparison 6-DOF motion data describes both the positional parameters and the orientation parameters of an object as X, Y, Z, Yaw, Pitch, Roll.. 2.2.1. Inertial Systems. Inertial systems are generally based on measuring orientation and acceleration using gyroscopes and accelerometers. Their technology is exact, fast and straightforward but in order to measure exact positional data in 6-DOF, they need to be combined with an additional technology forming a hybrid system. Typical drawbacks of using inertial systems are that they need to be initialized and are affected by gyroscopic drifts. The drifts are often prevented by using some sort of compensation technique. Examples of anti-drift techniques are. • Geo-magnetic compassing, prevents drifts of yaw angle • Gravimetric tilt-sensing, prevents drifts of pitch and roll angle Benefits are that they do not interfere with other systems and that they are not affected by occlusion. Most of them also have fast sample rates, often between 90-180 Hz..

(19) 8. Theory. Figure 2.2. A graphical representation of the 6 different dimensions of freedom related to motion.. 2.2.2. Electromagnetic Systems. Electromagnetic systems uses one source and multiple small detectors for measuring motion in 6-DOF. They produce electromagnetic signals in three planes that are detected by sets of detectors determining exact orientation and positional motion data. A major drawback with using electromagnetic systems is that they suffer from interference, which means that they can interfere with other kinds of magnetic based technology devices and/or metallic sources. Benefits with using them are that they normally are very accurate, has little or no latency problems and run with relatively fast sample rates, normally around 100 Hz.. 2.2.3. Ultrasonic Systems. Ultrasonic systems are produced in lots of different types of forms. The basic technology, however, uses mobile ultrasound emitters that produces signals, which are picked up by three or more pick-up receivers, for measuring motion. The more pick-up receivers used for measurement, the less the effect of occlusion is. A typical drawback with using ultrasonic systems are that they suffer from occlusion effects. They support measuring motion in up to 6-DOF but is most accurate when mounted for measuring motion in 3-DOF. Their major benefit is that they can be purchased and installed for relatively low costs..

(20) 2.3 Data Handling. 2.2.4. 9. Laser Systems. Laser systems use fixed laser sources together with sets of mobile detectors for measuring motion in up to 6-DOF. They work kind of similar as the ultrasound systems besides that they use light instead of sound as a measuring tool. A drawback with using laser systems is that they are affected by occlusion. Benefits with using them are that they do not suffer from any kind of interference, they are relatively accurate and that they have fast sample rates, around 200 Hz.. 2.2.5. Hybrid Systems. Hybrid tracking systems are the result of two or more combined motion tracking technologies forming a system together. A common combination is inertial technology combined with ultrasonic technology. This results in a system that measures motion in 6-DOF with extra good accuracy since the ultrasonic system provides error correction for the inertial system. The variety of different sorts of hybrid systems that can be assembled is too large to list specific drawbacks. The main benefit of using hybrid systems is however that it allows for assembling systems preferably suited for specific needs and environments.. 2.3. Data Handling. All systems that receive data during runtime at static rates eventually face the same problem. If the data is not also cleared at a static rate it will cause the system to crash for out of memory reasons. This is usually prevented by using some sort of data buffer with the system. Buffers basically holds data temporarily and then deletes them to make room for new data. After the data has been located for a brief moment in the buffer, they get sent along for processing or storage or both. PTTS is designed to compress and store data continuously during runtime which states high demands for the handling processes. Compressions being done needs to be efficient in order to optimize the use of storage space and quickly executed in order to avoid slowing down the motion tracking process. Processes for storing also needs to be quickly executed for the same reasons as for the compression processes. Besides that, they also need to offer good management possibilities, since the amount of data being stored is very large. The following subsections present studies of methods and processes suitable to fulfil the above mentioned demands.. 2.3.1. Compression. In order to make efficient use of storage space, data is often compressed before being stored. This is done by using an algorithm that translates the data into a compressed form, occupying less storage space. There are many different sorts of.

(21) 10. Theory. data compression algorithms available, they are divided into two groups by their ability to reconstruct compressed data into its original state. Lossless data compression algorithms compress data without losing any information. This results in that the data can be restored into its original state at any time after it has been compressed. Lossless algorithms are often used when compressing text and data files. Example of known lossless packages are: ZIP, LZW and RAR. Lossy data compression algorithms compress data and loses information along the process. This means that lossy compressed data can not be restored to its original state after it has been compressed. Lossy algorithms are normally not used for compressing text and data files, they are more suitable for compressing multimedia files such as audio, video and still images. Example of known lossy packages are: JPEG, MP3 and MPEG. PTTS receive data at a continuous flow in relation to time. This makes its data convenient to be handled as compressed blocks since each data is related to its neighbours. They consist of sets of float values and therefore it is appropriate for PTTS to compress them by using lossless algorithms. The following two subsections presents two different kinds of lossless compression algorithms that were in some way relevant as alternatives to be used together with PTTS. The Huffman Algorithm The Huffman coding algorithm was originally developed by computer science pioneer David Huffman who at the time of development was a graduate student at Massachusetts Institute of Technology. According to [3] Huffman based his procedure on two observations regarding optimum prefix codes. • Symbols that occur more frequently in an optimum code will have shorter codewords than symbols that occur less frequently. • The two symbols occurring least in an optimum code will have the same length. The coding procedure is obtained by adding a simple requirement to the two above mentioned observations. This requirement is that the codewords corresponding to the two lowest probability symbols differ only in the last bit. Building a Huffman code from an input source sequence is basically carried out as follows. First thing is to calculate the probability of appearance for all individual symbols in the input source sequence. Based on their respective probability values the symbols are assigned to unique binary codewords. The higher the probability of appearance for a symbol is the shorter its codeword gets. The LZ77 Algorithm The LZ77 algorithm, which is a product of Abraham Lempel and Jacob Ziv, was first published and presented in the IEEE Transactions on Information Theory in May 1977 in form of a paper titled A Universal Algorithm for Sequential Data.

(22) 2.3 Data Handling. 11. Compression. It is a dictionary coding algorithm that form the basis for most of the LZ packages including LZW and LZSS. As described in [3], the LZ77 algorithm examines an input source sequence through a sliding window divided into two buffer parts, search buffer and lookahead buffer. The search buffer includes a recently encoded sequence and the look-ahead buffer includes a part of the source sequence that is waiting to be encoded. Elements in the look-ahead buffer are encoded by sending a search-pointer back through the search buffer to find a matching element to the element positioned first in the look-ahead buffer. The result of this search has two possible outcomes: Case 1 - A match is found. Case 2 - A match is not found. If Case 1 is fulfilled, meaning that a matching element is found, the search-pointer compares the elements following the matching element in the search buffer with the elements following the first element in the look-ahead buffer. If these also match the entire match-length is encoded together as one match, if not the single-match is encoded by it self. A match is encoded using a set of three parameters: O - Represents the offset from the first element in the look-ahead buffer to the first element of the match in the search buffer. L - Represents the length of the match. C - Represents the first element that follows the match in the look-ahead buffer. If Case 2 is fulfilled, meaning that a matching element is not found, the element searched for is encoded by using a similar set of parameters described for Case 1 but with different representations. O - Represents no match found by being set to zero. L - Represents no match found by being set to zero. C - Represents the actual element being encoded.. 2.3.2. Storage. Techniques for storing data differs from system to system depending on the type, size and usage of them. For systems like PTTS, which handles hierarchically structured data it is most suitable to use one of the two following approaches. Hierarchical File Structures Using hierarchical file structures as a storage solution means that a system is programmed to generate directories and subdirectories within a computers local file system and store files hierarchically in them. PTTS is designed to run under.

(23) 12. Theory. Windows OS, which with its latest versions1 uses New Technology File System (NTFS). File systems like NTFS are foremost designed to handle hierarchical file structures and are therefore not optimized for handling large amounts of data within single directories. The major benefit of using hierarchical file structures is that it gives system developers complete control of their developed systems storage structures. The major drawback of using this approach is that it is slow and limited for handling large amounts of data within single directories. Database Systems A more well known approach is using a database system for storing data. As explained in [1], with databases a single repository of data is maintained that is defined once and then is accessed by various users. Database structures are based on groups of tables filled with attributes. Normal is that each table has at least one identifying attribute that can serve as key element for rows in the table. As the tables are specified, the user/programmer can fetch and store data by writing query commands. Since data, which is stored in a table possesses a uniquely identifying key element, it is easy to search databases for specific entries. The major benefits of using the database approach is that it is convenient, easy to use and network-based which allows multiple clients to be connected to the same database.. 2.4. Visualization. The technical development of computers during the last decades have resulted in a growing need for visualization tools. Floods of data are constantly being produced from different kinds of systems. Without the use of visualization tools it would be difficult to interpret them in an understandable way. According to [4] the terminology of visualization is divided into two different areas: • Scientific Visualization • Information Visualization Scientific visualization is the formal name given to the field in computer science. It is normally represented by visualizations that encompasses data representation and processing algorithms. Information visualization is a more general term that implies treating data sources beyond the sciences and engineering and instead treating sources within financial marketing and or business data. This involves developing coordinate systems, transformation methods or structures for representing data. 1 Windows. OS versions released from year 1993 up until 2007..

(24) 2.5 Graphical User Interface. 2.4.1. 13. Purpose of Visualization. A good reason for using visualization techniques, when representing data, is because of their taking advantage of the natural abilities of the human vision system. Our vision system is a highly advanced system designed to quickly recognise trends and areas of change. Using visualization tools allows us to make the best use of human vision in gathering and understanding information from raw data. Another reason for using visualization is for its financial benefits. Products are tested quicker and at lower costs with use of visualization techniques than being tested the traditional way. Using visualization techniques allows companies to reduce product costs and improve time to market.. 2.4.2. Information Visualization. For systems like PTTS, which handles data for monitoring purposes, it is most suitable to use information visualization techniques for data representation. This can be done in many ways, both in 2D and 3D. Since PTTS handles data that involves time as a parameter it is convenient to use visualization tools based on some sort of coordinate system. The following subsection describes an information visualization approach that was relevant as an alternative to be used together with PTTS. Graph Plot The graph plot approach is based on presenting data in Cartesian coordinate systems by connecting input values with lines, forming a representative curve with interpolated values in between each input value. Each connective value is positioned at a for both axes crossing position. The graph plot approach is preferably used for presenting data in 2D. When used in 3D, it delivers results that are hard for users to interpret and understand. It is also a good approach to use graphs for visualizing data in real time since the representative curve deliver good understanding in being animated. See figure 2.3 for an example of a typical layout for a graph plot information visualization tool.. 2.5. Graphical User Interface. Designing good interfaces is all about understanding people. In order to implement and design an interface correctly you must know how your users think. According to [5] there is a famous maxim in the field of interface design that goes as follows: "Know thy users, for they are not you!" An important aspect of designing interfaces is therefore user research. As a system developer and/or designer it is important to have an open discussion with your customers throughout the designing process of a system development. This is normally done by performing usability testing with systems on selected groups of possible future users. In order to produce relevant results from a usability test, it is important that the test group participants.

(25) 14. Theory. Figure 2.3. Example of a typical graphical representation for a graph plot.. represent as many different user characteristics as needed to cover the spectrum of future users characteristics. PTTS’ GUI is mostly consisting of objects for entering and selecting information. It is therefore important that the GUI is self explained so that users understands what is asked for and why. Otherwise information might be wrongfully processed. There are many different kinds of format approaches to use when designing an interface. The following subsections describes approaches that were in some way relevant to be used together with PTTS.. 2.5.1. Forgiving Formats. According to [5], a forgiving format allows users to enter text in a variety of different formats and relying on the system to interpret it intelligently. This approach is preferably used when designing interfaces that are asking for data that some users might enter in a different form and/or syntax than other users might do. Drawbacks with using this approach is that making systems interpret input data with intelligence complicates the GUI programming and increases risk for inputs to be wrongfully interpreted. An example of where a forgiving format approach has been used in designing an interface is with the Microsoft Outlook software. Its tool for booking meetings allows different forms of input data being entered when specifying the meetings start and ending times..

(26) 2.5 Graphical User Interface. 2.5.2. 15. Structured Formats. As described in [5], structured formats of user interfaces are basically represented by interfaces using multiple text fields to form a representative structure of the requested data. This approach is preferably used when it is expected of a systems users that they do not deviate from the form and syntax in which the data is supposed to be entered. Using this approach simplifies the GUI programming, but instead it relies entirely on users to input their data correctly. An example of where a structured format approach has been used in designing an interface is with the Adobe Creative Suite software. In order to finish the installation process, users are obliged to enter a unique serial number. This number is supposedly specified by being entered piece by piece in a series of text fields. Through using small text fields, only accepting four characters each, the system tells its users to enter their numbers without using any kinds of dashes in between..

(27)

(28) Chapter 3. Implementation This chapter describes the methods and approaches applied for assembling and implementing PTTS. Its implementation is divided into a set of different main areas represented by: motion tracking, data handling, visualization components, system assembling and GUI design. Each main area is further explained within the last subsections. The following subsection describes the programming languages and frameworks used in developing PTTS.. 3.1. Programming Languages and Frameworks. The core of PTTS is programmed using C++ coding language. C++ was mainly chosen because of its optimization advantages and great possibilities for easy integration with other languages and libraries. PTTS’ GUI was designed and programmed using WxWidgets. It allows for creating GUI applications on many different kinds of platforms and can be integrated with many different sorts of coding languages. WxWidgets was mainly chosen for its platform flexibility allowing PTTS to easily be compiled for running on different kinds of platforms. All graphics programming was done using the OpenGL Application Programming Interface (API). It is a well known API that is used by programmers throughout the world. As described in [6] OpenGL is designed as a streamlined, hardwareindependent interface to be implemented on many different hardware platforms. Processes between PTTS and PTTS-Database (PTTS-DB) were implemented using Standard Query Language (SQL) commands. SQL is a command language that allows retrieving, inserting, updating, and deleting data in databases. For loading and rendering 3D models PTTS use an open source library called lib3ds. It allows for reading 3DS files into a system and preserving its objects texture and material settings. The key strength of all coding languages and libraries building PTTS are that they are all flexible and platform independent. 17.

(29) 18. Implementation. 3.2. Motion Tracking System. Finding a suitable motion tracking system for PTTS was partly affected by the budget allotted and partly affected by a list of requirements, both established in cooperation with SWEDEC. The list of requirements appointed for the motion tracking system to fulfil are listed as requirements 1-5 in table 4.1. With these requirements taken into consideration, it was decided to integrate PTTS with a 3DOF inertial technology based system developed by InterSense named InertiaCube 3 Wireless (IC3W).. 3.2.1. InertiaCube 3 Wireless. IC3W is the worlds smallest precision orientation tracker1 . It is based on MicroElectro-Mechanical Systems (MEMS) technology and measures 9 physical properties simultaneously, namely angular rates, linear accelerations, and magnetic field components along the yaw, pitch and roll axes. The angular rates are used for computing orientation data by jointly integrating its outputs, which are proportional to angular velocity about each axis. The accelerometers are used to correct pitch and roll measurements in knowing that gravity always acts down, yaw drifts are prevented with use of compass measurements. The IC3W systems sensors are smaller than a normal sized matchbox and powered by 9 VDC batteries. They send their values through a 30 meter ranged radio connection to a USB-receiver that supports receiving data from up to four sensors simultaneously. IC3W measures 3-DOF motion data, meaning that attached to a prodder it measures the prodders orientation parameters (yaw, pitch, roll). These parameters will not describe an exact position of the prodder nor will they describe its motion pattern. Since the sensor is equipped with accelerometers it would, however, hypothetically be possible to calculate a relative position of the prodder by combining data from its acceleration and orientation measurements. With use of these reference positions it would be possible to visualize the prodders motion pattern. See appendix A for further IC3W specifications. Mounting Solution IC3W is delivered together with a mounting plate and three nylon screws (intended for screwing the IC3W to the mounting plate). In order for the IC3W to be suitably assembled on the prodder, this mounting gear needs to be complemented with some kind of device for assembling the IC3W’s mounting plate with the prodder. There are three urgently important requirements that comes with this assembling to avoid IC3W to measure data incorrect. Those are: • The IC3W needs to be mounted in a fixed position. • The IC3W is preferably positioned in a horizontal angle relative to the forward direction of the prodders needle and having its cable facing back to1 In comparison with similar tracking systems released before year 2007 according to InterSense..

(30) 3.2 Motion Tracking System. 19. Figure 3.1. InterSense InertiaCube 3 Wireless sensor mounted on a Swedish Armed Forces prodder.. wards the prodders handle (otherwise the offset must be compensated by implementing transformations). • The mounting device assembling the IC3W’s mounting plate with the prodder must not be of any magnetic or ferrite material. To meet these requirements it was decided to internally produce a mounting device fixing the IC3W sensor on top of the prodders needle base as shown in figure 3.1. InterSense SDK All InterSense tracking systems are delivered with a Software Development Kit (SDK) that facilitates integrating the systems with self programmed C/C++ solutions. Ordering IC3W for PTTS involved a special arrangement that included the delivery with a special SDK allowing access to IC3W’s accelerometers. With access to them IC3W can not only measure 3-DOF motion data but also measure relative positioning as described in section 3.2.1. Unfortunately there was not enough time to utilize this feature during the thesis, leaving it to be implemented in future releases of PTTS. Integration of InertiaCube 3 Wireless with PTTS Communication between IC3W and PTTS is handled through a thread running separate from PTTS’ main thread. The reason for executing these processes separately is that otherwise PTTS would not be able to process data from IC3W.

(31) 20. Implementation. Figure 3.2. InterSense InertiaCube 3 Wireless motion tracking system prepared to be used with PTTS.. with a reasonable high update rate. The update rate is controlled with a dynamic sleep function forcing the thread to continuously execute at a preset rate. The implemented integration of IC3W with PTTS allow sensors to connect, disconnect and deliver measured data at a rate of 20 Hz. In order to have IC3W measure relevant yaw data from the prodders, it is urgent that each sensor is initially calibrated with its starting yaw angles set to zero. This allows PTTS to be independent from the prodders compassing directions. PTTS therefore has a built-in calibration procedure that automatically sets a prodders sensors starting yaw angle to zero when its being connected to the system.. 3.3. Data Handling. PTTS is designed for being able to constantly gather data from up to four different IC3W sensors simultaneously at steady rates. This data needs to be efficiently handled, since otherwise it will eventually cause the system to crash from an out of memory exception. All incoming data are therefore temporarily held in buffers while being compressed and stored. The compressing and storing of data is, similarly to the motion tracking, handled through a thread running separate from PTTS’ main thread. The data handling thread is called from the motion tracking thread whenever a buffer is full. When being called, it locks the buffer while copying its values before enabling the motion tracking thread to continue overwriting the buffer with new data. As a solution for data compression PTTS uses algorithms from an compression library called zlib. As a data storing solution it uses an open source database system called MySQL..

(32) 3.4 Visualization Components. 21. Student. Instructor. Session. Data. Member of. Teaching. S-SSN S-FName S-LName. I-SSN I-FName I-LName. S-DTime S-Name I-SSN. D-DTime D-Trackdata S-SSN. S-SSN S-DTime. S-SSN I-SSN. Table 3.1. PTTS-DB described in tables (Primary Key attributes are marked with bold font and Foreign Key attributes are marked with italic font).. 3.3.1. zlib Compression. The zlib library is a product for performing lossless compression/decompression by using the LZ77 algorithm together with the Huffman algorithm (see sections 2.3.1 and 2.3.1). It is developed by Jean-loup Gailly (compression) and Mark Adler (decompression) as a free to use library not being covered by any patents. A benefit of using zlib is that its data format is portable across different platforms. The compression/decompression is easily executed using zlib’s inherited standard utility functions.. 3.3.2. PTTS-DB. PTTS uses a MySQL database (PTTS-DB) for storing data. It is based on four strong entities: Student, Instructor, Session and Data. The entities are structured and connected as shown in the entity relationship diagram presented in figure 3.3. Each of the four entities form tables in PTTS-DB. In order to enable searching connections between the tables it was necessary to construct two additional tables: Member of and Teaching. These six tables building PTTS-DB are closer presented in table 3.1. PTTS has a built-in search-tool allowing users to select and view entries in PTTS-DB, see figure 3.4. It enables searching the database for the following information records. Person - Contains a list of personal information, related students/instructors and related sessions. Session - Contains a list of related instructors and related students. Trackingdata - Contains a list of motion tracking data related to a specific student and timestamp. Each of the three information record types can be searched for ’*’, which will return all information available within the record. The tool also supports for printing selected information records to textfiles.. 3.4. Visualization Components. PTTS handles two different components for visualizing data measured from IC3W:.

(33) 22. Implementation. Figure 3.3. Entity relationship diagram describing PTTS-DB.. Figure 3.4. Screenshot of PTTS’ built-in search-tool for PTTS-DB..

(34) 3.4 Visualization Components. 23. Figure 3.5. PTTS’ built in visualization component Real-time 3D Model Viewer Component.. • Real-time 3D Model Viewer Component • Real-time 2D Graph Plot Component They are both described further in the following subsections.. 3.4.1. Real-time 3D Model Viewer Component. The real-time 3D model viewer component loads a 3DS file carrying a 3D model of a prodder and visualizes data from IC3W by applying related motion to the model in real-time. Other from that, it also presents the applied orientation Euler angles in numbers. The component is equipped with an implementation of a virtual trackball based on quaternions. The trackball allows a user to grab the model by mouseclick and rotate the camera view around it. The camera view can also be adjusted by selecting one of three different presets. Since the model is animated in 3D, it is adequate for the component to be equipped with some kind of reference system, allowing users to determine the camera position in relation to the prodders starting orientation. This is implemented by including the component with a simple 3D modeled character always facing towards the direction of where the prodders needle was initially pointing. The prodder and the reference character are modeled and designed using Autodesk 3DS Max. The component itself is implemented as a WxWidget OpenGL canvas class using an open source library called lib3ds for uploading and rendering 3DS files. The component only supports visualizing data from one student at a time but it is a good tool for monitoring physical handlings of prodders during a prodding performances..

(35) 24. Implementation. Figure 3.6. PTTS’ built in visualization component Real-time 2D Graph Plot Component.. 3.4.2. Real-time 2D Graph Plot Component. The real-time 2D graph plot component is, as the real-time 3D model viewer component, implemented as a WxWidget OpenGL canvas class. It contains three graphs and one colour index table. The graphs are rendered by a widget class creating custom designed graphplots based on its input parameters. Each graph is designed to visualize data from up to four IC3W sensors simultaneously, having each channel being represented by a unique colour. The graphs in the real-time 2D graph plot visualization component visualizes the following data. • Yaw angle versus time • Pitch angle versus time • Roll angle versus time The component is based on visualizing orientation Euler angles in three graphs, each using a circular array holding a set of Cortesian coordinate positions representing data measured by IC3W. The length of each circular array corresponds to the time period covered in its related graph. The positions stored in the arrays are used for visualizing orientation data by rendering representative lines in the graphs. Since the arrays are circular it results in that their values are constantly being updated to represent data measured during the latest period of time corresponding to their lengths. Each graph in the component supports visualizing data measured within the last 60 seconds from the four sensors, making it a good tool for comparing performances between students.. 3.5. Graphical User Interface Design. GUI design is an important part of PTTS’ implementation. The future users of PTTS are not necessarily used of working with computers and for them to be able to use and understand it, PTTS must have an easy to work with GUI. The mainframe of PTTS is divided into three subframes as can be seen in figure 3.7. • Window 1 holds a WxWidget notebook component with tools for entering information to PTTS-DB, and controlling students visualization channels..

(36) 3.5 Graphical User Interface Design. 1. 25. 2. 3. Figure 3.7. Screenshot of PTTS with its three subframes marked with red numbers (1-3).. • Window 2 contains the real-time 3D model viewer component that visualizes data from IC3W related to the selected notebook pane. • Window 3 contains the real-time 2D graph plot component that visualizes data from all connected IC3W sensors simultaneously. The horizontal sash border supports for being moved up and down with use of mouse handling to manually adjust the subframes heights. The top left corner of PTTS’ main frame is equipped with a drop down menu system containing basic commands such as save and quit. The menu system is also accompanied with a toolbar including shortcuts accessing the most common menu system commands. Subframe 1 includes a notebook component that is implemented in a structured format, see section 2.5.2, holding a session notebook pane accompanied with a set of panes representing the students. The real-time 3D model viewer component in subframe 2 and the real-time 2D graph plot component in subframe 3 are more carefully described in sections 3.4.1 and 3.4.2. The built-in search-tool for PTTS-DB is as similar to the notebook also implemented in a structured format using inherited solutions from the WxWidgets coding language. It can be accessed via the drop down menu system. See section 3.3.2 for a more detailed description..

(37) 26. Implementation. 3.6. System Assembling. In the field of computer science thread is a common term which actually is short for thread of execution. Threading allows systems to split themselves into two or more separate running tasks, each running on one specific thread. Important to keep in mind, when running multiple threads in systems, is that threads running simultaneously must not collide when accessing data. This could cause the system to hang or crash. It is therefore important to lock data as long as necessary when processing it with a thread so that no other thread may interfere and collide. PTTS is a multiple thread running system and its processes are divided between the three following threads: • Main Thread • Motion Tracking Thread • Data Handling Thread The main thread basically executes the core processes of PTTS which includes rendering GUI and handling events. It also creates the two subthreads, the motion tracking thread and the data handling thread, which are respectively executing processes for measuring data with and handling data from IC3W. All three threads running PTTS share data measured by IC3W. Whenever one of the threads needs data from another thread the data is locked while being copied to avoid thread collision. The basics of PTTS’ assembling and data flow, where most components are implemented as object oriented classes, is most simplified sketched and described in figure 3.8..

(38) 3.6 System Assembling. 27. Figure 3.8. Simple relationship diagram showing the basics of PTTS’ assembling and data flow..

(39)

(40) Chapter 4. Conclusion This last chapter sums up the work of this thesis by presenting results from system analysis tests and implementations, suggesting possible future plans for and discussing PTTS in common.. 4.1. System Analysis. In order to improve and measure a systems quality it is important to combine development with testing. The development of PTTS involved performing two tests: • Usability test • System test Usability testing is a technique used for evaluating systems by testing them on future potential users. This is an effective test method that is often used when developing systems that includes GUI. System testing is a technique for testing complete integrated systems in evaluating their compliance with their specified requirements and to secure that they are performing correctly. Results and execution methods for performed tests on PTTS are closer described within the following subsections.. 4.1.1. Usability Test. The usability test was performed at SWEDEC’s headquarter in Eksjö at an early state of PTTS’ development. The test crew consisted of five persons from SWEDEC’s staff covering the characteristics of future PTTS users. The test participants were first given a briefing about the test and about PTTS. After being briefed, each test participant was set to fill out a form with their personal information and computer skills before moving on with performing the actual usability test. To use as a tool for the usability test an early version of PTTS GUI was implemented in C++ coding language using WxWidgets. No commands were 29.

(41) 30. Conclusion. fully implemented instead each command in the GUI returned a unique code when being executed. The test participants were set to perform 22 tasks using the implemented test tool. Some tasks resulted in that a code was returned and if so, it was explained to be written down in the form together with the rest of their answers. As a complement to the form, notes were constantly taken by a monitoring test leader. As a last part of the test, participants filled out an evaluation form answering questions regarding the structure and layout of the test itself. Test results proved that most test participants are used of searching the toolbar and drop down menu for commands. A small group of participants complained on that they found some toolbar icons illogical. One participant constantly tried to use context menus within the subframes. After evaluating the test results it was decided to maintain the standard drop down menu system accompanied with the toolbar. The toolbar icons however had to be redesigned. Even though one participant searched for context menus it was decided not to use such menus in v1.0 since PTTS in this early state does not involve a large number of commands.. 4.1.2. System Test. The system test was performed in the end of PTTS’ implementation phase to evaluate its compliance with its specified system requirements, see table 4.1. The execution of the test carried out with a destructive attitude in testing the system by pushing its limits. Unfortunately, since only having one IC3W sensor accessible the test had to exclude tests involving multiple IC3W sensors being connected simultaneously. Test results confirmed that PTTS fulfils all system requirements but one, requirement 04, see table 4.1. The reason for not fulfilling this requirement is as earlier explained in section 3.2.1, there was not enough time to integrate PTTS with support for measuring motion patterns during the thesis. The results also noticed that PTTS could be further improved by increasing its exception handling abilities, especially when handling of information being entered to PTTS-DB. Other from that the system proved to be fully functional and stable through execution.. 4.2. Results. The Swedish Armed Forces suffered heavy financial cutbacks during fall 2007 which resulted in them not being able to participate in the later part of this thesis. Thanks to their good participation during the design and requirement phase this did not affect the results of PTTS in ways worth mentioning. The resulting outcome of this thesis is version 1.0 of a prodding monitoring system named PTTS. It is developed in collaboration with SWEDEC, a division within the Swedish Armed Forces. The process of development carried out nicely. All system requirements but one were successfully implemented and tested, see section 4.1.2. Despite its successful development PTTS 1.0 is still far from being a fully equipped commercial system, instead it is more appropriate to be used as a prototype and base for future developments..

(42) 4.2 Results. 31. Id. Requirement. Grade. 01. PTTS’ motion tracking system must be able to communicate with PTTS using a wireless connection of some sort. PTTS’ motion tracking system must be able to measure 3-DOF motion data. PTTS’ motion tracking system must be able to measure pitch orientation with relatively high accuracy. PTTS’ motion tracking system must be able to measure motion patterns. PTTS’ motion tracking system must not interfere by becoming an obstacle in the performance of prodding. PTTS must be able to handle 1-4 motion tracking sensor channels simultaneously. PTTS must be able to run on Windows Vista OS. PTTS must be able to run on Windows XP OS. PTTS must be able to run in full screen. PTTS must be able to present data in real-time. PTTS must be able to handle a database connection. PTTS must be able to insert entries in a database. PTTS must be able to select entries in a database. PTTS must be able to print prodding performance statistical documents.. 1. PTTS’ GUI must include a drop-down menu system. PTTS’ GUI must include a notebook system. PTTS’ GUI must include a notebook pane with components for handling a prodding session. PTTS’ GUI must include notebook panes with components for handling motion tracking sensor channels. PTTS’ GUI must include a toolbar with shortcuts to important processes. PTTS’ GUI must include a status bar. PTTS’ GUI must include a component that visualize the physical handling of a prodder in real-time. PTTS’ GUI must include a component that visualize the orientations of multiple prodders in real-time.. 2 2 2. 02 03 04 05 06 07 08 09 10 11 12 13 14. 15 16 17 18 19 20 21 22. 1 1 1 1 1 1 1 1 1 1 1 1 1. 2 2 2 2 2. Table 4.1. System requirements for PTTS (a requirement graded as 1 is more important to fulfil than a requirement graded as 2)..

(43) 32. 4.3. Conclusion. Discussion and Future Work. Today there are few existing systems like PTTS being designed for monitoring prodding performances. Having a background as deminer in the Swedish army, I personally believe that prodding monitoring systems, such as PTTS, have a future within mine clearance, not least in the field of Mine Action. Still I think that PTTS have years of development ahead of it before it can be launched as a complete and useful system. The future development of PTTS should first off be focused on getting PTTS to monitor motion patterns in combining orientation and acceleration measurements as described in section 3.2.1. This would improve the system by enabling the instructors to evaluate each students individual motion patterns in prodding. Furthermore, I think that it would be good to upgrade PTTS with sensors measuring the normal forces applied on prodders during performances. The applied force is directly related to risk of failure since the intersecting of prodder and mine needs to be carried out as gentle as possible when prodding to avoid mines to detonate. I also believe that PTTS would be improved by implementing more advanced information visualization, processing and data mining solutions. There are lots of different kinds of useful information to be retrieved from records stored in PTTS-DB. For example it would be good if it was possible to open a dataset from PTTS-DB and re-visualize it using PTTS’ visualization components. Data stored in PTTS-DB could also be filtered to reduce irrelevant information and to enlighten important information when being viewed. It is important that PTTS is further tested and adjusted for running multiple tracking sensors. Since only having one IC3W sensor accessible when testing version 1.0, it was not proven that the implemented support for multiple sensors works correctly. Finally I suggest that future developments of PTTS also focuses on improving PTTS’ GUI. It can for example be improved by presenting more feedback to users when connecting to tracking sensors and by being equipped with buttons as alternatives to confirm data being entered in text-fields. In version 1.0, data being entered in text-fields are confirmed only by pressing Enter..

(44) Bibliography [1] Ramez Elmasri and Shamkant B. Navathe. Fundamentals of Database Systems. Addison-Wesley, 4 edition, 2004. ISBN 0-321-20448-4. [2] Stuart Maslen. A Guide to Mine Action and Explosive Remnants of War. Geneva International Centre for Humanitarian Demining (GICHD), 3 edition, 2007. ISBN 2-940369-02-X. [3] Khalid Sayood. Introduction to Data Compression. Morgan Kaufmann, 2 edition, 2000. ISBN 1-55860-558-4. [4] Will Schroeder, Ken Martin, and Bill Lorensen. The Visualization Toolkit. Kitware, 3 edition, 2004. ISBN 1-930934-12-2. [5] Jenifer Tidwell. Designing Interfaces. O’Reilly, 1 edition, 2006. ISBN 0-59600803-1. [6] Mason Woo, Jackie Neider, Tom Davis, and Dave Shreiner. OpenGL Programming Guide. Addison-Wesley, 3 edition, 1999. ISBN 0-201-60458-2.. 33.

(45)

(46) Appendix A. InertiaCube 3 Wireless Specifications DOF: 3 (Yaw, Pitch and Roll) Angular Range: Full 360◦ - All Axes Maximum Angular Rate1 : 1200◦ per second Minimum Angular Rate1 : 0◦ per second RMS Accuracy1 : 1◦ in yaw, 0.25◦ in pitch and 25◦ C in roll RMS Angular Resolution1 : 0.03◦ InterSense USB Update Rate: 180 Hz (up to two sensors) 120 Hz (three to four sensors) Serial Interface Update Rate: 180 Hz (single sensor only) Minimum Latency: < 6 ms (host OS dependent) Prediction: up to 50 milliseconds Serial Rate: 115.2 kbaud Interface: USB (supports four wireless sensors) RS-232 Serial (supports one wireless sensor) Size (without mounting plate): 1.232 in x 1.700 in x 0.581 in (31.3 mm x 1 Measurements. with perceptual enhancement algorithm turned off (= 0). 35.

(47) 36. InertiaCube 3 Wireless Specifications. 43.2 mm x 14.8 mm) Weight: 0.7 ounces (20.0 grams) InertiaCube3 Battery Power Operation: 9 VDC Battery for 8 hours continuous Operating Temperature Range: 0◦ to 70◦ C O/S Compatibility: .dll for Windows 98/2k/NT/XP/CE, .so for Linux and SGI IRIX and libisense.dylib for Mac OS X Software Support: SDK with full InterSense API, Ethernet via Windows Control Software, Heading Calibration Software and Windows Wireless Configuration Software Receiver Power Source: USB (direct from host USB port), Serial (6 VDC External Supply) Wireless Receiver Size: 2.36 in x 1.38 in x 0.79 in (60 mm x 35 mm x 20 mm) Wireless Receiver Cable Length: 9.84 feet (3 meters) Wireless Sensor Range: up to 100 feet (30 meters).

(48)

References

Related documents

As the functional safety of a road vehicle is highly important, appropriate safety requirements need to be elicited and considered in the design of the

Robot arms have been used in industries since 1961 and have become a standard device in industries worldwide. The demand of industrial robot arms is increasing due to

Keywords: automatic assessments, data visualization, data-driven modelling, home assessments, information technology, mobile computing, objective measures, Parkinson’s

He received the Bachelor degree in Computer Science from South East European University, Tetovo, Macedonia, in 2006, the MSc degree in Computer Engineering from Dalarna

Keywords: automatic assessments, data visualization, data-driven modelling, home assessments, information technology, mobile computing, objective measures, Parkinson’s

Data acquisition means the process of measuring and acquiring signals from physical or electrical phenomena such as pressure, temperature, voltage and flow with a computer and

Within the context described in the previous section, the purpose of this thesis is to explore visualization and interaction with large volumes of system monitoring data, having

Hence for development of sensor data fusion platforms it is required to visualize representation of all levels of such data, starting with raw sensor data from each single sensor up