Services

9 pages
6 views

A Kalman filter updating method for the indoor moving object database

of 9
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
A Kalman filter updating method for the indoor moving object database
Transcript
  A Kalman filter updating method for the indoor moving object database  Jaegeol Yim a , Jaehun Joo b, ⇑ , Chansik Park c a Department of Computer Science, Dongguk University, Gyeongju-si, Gyeongsangbuk-do 780-714, South Korea b Department of Information Management, Dongguk University, Gyeongju-si, Gyeongsangbuk-do 780-714, South Korea c School of Electrical and Computer Engineering, Chungbuk National University, South Korea a r t i c l e i n f o Keywords: Location-based serviceMoving object databaseIndoor positioningKalman filterUpdating strategy a b s t r a c t A moving object database (MODB), a database representing information on moving objects, has manyuses in a wide range of applications, such as the digital battlefield and transportation systems. In thetransportation system, an MODB processes queries such as ‘‘How long should I wait until the next busarrives here?’’ Therefore, location information on moving objects reflects the most important data theMODBhas tomanipulate. Most movingobjects areequippedwithaGPS(Global Positioning System) unitthatsendslocationinformationtotheMODB.However,GPSsignalsareusuallyveryweakinsideenclosedstructures; thus, locating indoor moving objects requires more than the GPS. In this regard, indoor posi-tioning for location-based services (LBSs) has been an important research topic for the last decade. TherearemanyotherdifferencesbetweenindoorandoutdoorMODBs.Forexamples, theareawheretheindoormoving objects are moving around is much smaller than where the outdoor moving objects are movingaround, and the speed of indoor moving objects is much slower than that of outdoor ones. Therefore, theindoor moving object database (IMODB) should be studied separately from the outdoor MODB or theMODB.One of the most important problems that the MODB has to solve is the updating problem. In thisregard, this paper proposes an updating method of IMODBs for location-based services. Our methodappliestheKalmanfiltertothemost recentlycollectedseriesof measuredpositionstoestimatethemov-ing object’s position and velocity at the last moment of the series of the measurements and extrapolatesthe current position with the estimated position and velocity. If the difference between the extrapolatedcurrent position and the measured current position is less than the threshold, that is, if the two positionsare close, we skip updating the IMODB.WhentheIMODBrequiresinformationonthemovingobject’spositionatacertainmoment T  ,itappliesthe Kalman filter to the series of the recorded measurements at the moments before  T   and extrapolatesthe position at  T   with the Kalman filter in the same manner as the updating process described earlier. Toverify the efficiency of our updating method, we applied our method to a series of measured positionsobtained by employing the fingerprinting indoor positioning method while we walked through the testbed. We then analyzed the test results to calculate savings of communication cost and error.   2011 Elsevier Ltd. All rights reserved. 1. Introduction A moving object database (MODB) is a database representinginformation on moving objects, particularly their locations. ThepurposeoftheMODBistoprovideanswerstovariousspatiotempo-ralinformationqueriessuchasthefollowing:‘‘WhereamI?’’‘‘Whoistheclosestfriendtome?’’‘‘Howfarishe?’’‘‘WhenandwheredidImeet Kim?’’ A location-based service (LBS), such as the fleet man-agement systemfor a taxi company or a logistics company, cannotbe realized without the availability of spatiotemporal information.Therefore, MODB techniques have been developed in the LBS field.For most MODB applications, the moving object is equippedwithaGPS(GlobalPositioningSystem)unitthatsendsinformationon the object’s location, time, and velocity, among others, to theMODB. However, GPS signals are usually unavailable inside en-closed structures; thus, MODB techniques used for outdoor LBSscannotbedirectlyappliedtoindoorLBSsystems.Anindoormovingobject can be a mini-notebook computer, a PDA, or a smart phonecarriedbyapedestrian.Thephysicalcarecoveredbyindoormovingobjectsismuchsmallerthanthatbyoutdoorones,andthespeedof indoor moving objects is much slower than that of outdoor ones.Indoor LBSs are as much more useful than outdoor LBSs. IndoorLBSs may include an electronic museum guide, a shopping 0957-4174/$ - see front matter   2011 Elsevier Ltd. All rights reserved.doi:10.1016/j.eswa.2011.05.037 ⇑ Corresponding author. Tel.: +82 54 770 2346; fax: +82 54 770 2310. E-mail addresses:  yim@dongguk.ac.kr (J. Yim), givej@dongguk.ac.kr (J. Joo), chansp@chungbuk.ac.kr (C. Park).Expert Systems with Applications 38 (2011) 15075–15083 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa  concierge at a department store, asset tracking, VoIP-911 callerlocation identification, and so forth. An electronic museum guidepushes the digital content related to the exhibit that the user isviewing, suggests points of interest, and provides the informationthe user requests.TheessentialtechniquesofindoorLBSsincludeindoorposition-ing and indoor MODB techniques. Some early studies on indoorpositioning include Harter and Hopper (1997), Priyanthat,Chakraborty, and Balakrishnan (2000) and Want, Hopper, Falcao,and Gibbons (1992). Bahl and Padmanabhan (2000) presented an indoor positioning technique that applied the K-NN (K NearestNeighbors) method to UDP (User Datagram Protocol) signalstrengths. However, these early studies require special equipmentdedicated to positioning. Indoor positioning techniques based on aWLAN (Wireless Local Area Network) do not require such dedi-cated equipment (Ito & Kawaguchi, 2005; Lassabe, Canalda,Chatonnay, & Spies, 2005; Lin & Lin, 2005). To improve the effi-ciency of WLAN-based indoor positioning, Yim, Park, Joo, and Jung(2008), Yim, Ko, Do, Joo, and Jeong (2008) and Yim (2008) intro-duced a Kalman filter method and a decision tree method.MODB updating strategies represent one of the key factorsinfluencing the efficiency of the MODB. If the frequency of updat-ing is high, the communication and process costs are also high.On the other hand, if the frequency is too low, the deviationbetween the user’s actual location and recorded location becomestoo large. In this regard, this paper proposes a Kalman filter meth-odofupdatingtheMODB;thismethodreducesthecommunicationcost and maintains the deviation within a certain threshold.The main idea behind our strategy is the application of theKalman filter to the positions measured at  t  0 , t  1 , . . . , t  i  to estimatethe state of the terminal at  t  i  and extrapolate the positions atmoments  t  i +1 , t  i +2 , . . .  with the estimated state. The state of amoving object consists of its position, velocity, and acceleration.For a pedestrian, we safely assume that its acceleration is zero. If the difference between the extrapolated position and the mea-sured position is within a given threshold, the strategy omits thetransmission of the measured position.Considering Fig. 1, let the two solid lines represent thepedestrian’s actual track and the dots labeled  t  0 , t  1 ,  . . . , t  5  representthe measured positions at times  t  0 , t  1 , . . . , t  5 . If we know thepedestrian’s exact position, velocity, and acceleration at  t  5 , wecan correctly predict his or her positions at  t  6 , t  7 ,  . . . , t  k . Thepredicted value for time  t  k +1  is the position of the circle labeled t  k +1  in the figure. On the other hand, the measured position at t  k +1  can be the dot labeled  t  k +1  in the figure. Similarly, the circlesin the figure represent the predicted values, whereas the dotsrepresentthemeasuredpositions.AsshowninFig.1,astimeflows,the difference between the predicted value and the measuredvalue becomes greater.If our updating strategy is applied to the scenario depicted inFig. 1, it applies the Kalman filter process to the dots labeled t  0 , t  1 , . . . , t  5  to estimate the moving object’s position and velocityat time  t  5 . With the estimated values, it predicts the movingobject’s positions and skips updating up to time  t  k . Sometime after t  k , it starts to send measurements again. 2. Related work  As we propose a Kalman filter method for updating indoorMODBs, we review here GPS-based outdoor MODB techniquesand the Kalman filter.Some of the important research areas in the MODB field are asfollows: models of location information, techniques of uncertaintymanagement, query languages accessing spatiotemporal data,indexing techniques, data mining, and security. Wolfson (2002)has provided a review of these topics. The location informationin a MODB is naturally uncertain. Olston and Widom (2000) intro-duced a method of handling uncertainty, and Tao, Xiao, and Cheng(2007)introducedthe‘‘probablyrestrictedrectangle’’andaninfor-mation retrieval method using the rectangle.The positions of aircrafts are important information in nationaldefense systems. Kilimci and Kalipsiz (2007a, 2007b) introduced amoving object database system for military command. The mainelements of the system included a traditional relational DBMS, aspatial wrapper of the DBMS, and an API component between theGUI and the DBMS. Ooi, Huang, Lin, Lu, and Xu (2007) presentedan MODB prototype designed to be implemented on top of a tradi-tional relational DBMS. Jin, Wan, and Yue (2008) proposed a CASEtool supporting spatiotemporal conceptual modeling for movingobjectdatabaseapplications.Thetoolhasthefollowingtwoadvan-tages: (1) It supports both spatiotemporal and non-spatiotemporalcharacteristicsandiscompatiblewiththeERmodel.(2)Itsupportssystematicspatiotemporalcharacteristicsandcanrepresentdiffer-entspatiotemporalchangesfordiversemovingobjectapplications.Guting(2007)explainedhowtheSECONDOcanbeusedinbuildinga moving object database system.The query-based indexing technique involves the indexing of queries regarding moving objects, not the indexing of locations of the objects. The location-based indexing technique can be dividedinto two categories: indexing current and future positions andindexing past positions. These indexing methods are all variantsof R-Tree. Makki, Sun, and Khojastehpour (2009) introduced theDelineated R-Tree (DR-Tree) indexing structure, which is highlybalancedandhas performance advantages over other R-tree-basedindexing methods. Han et al. (2005) proposed another new index-ingmethod,theS-TBTreemethod.Zhang,Li,andZhang(2006)pro-posed an indexing method of efficiently processing historicalspatiotemporal pattern queries.Currently, there is no commercially available moving objectdatabase. MODB applications inevitably provide a map on theiruser interface. Kilimci and Kalipsiz (2007a, 2007b) introduced adigital map to indicate the locations of static or moving objects.TheyusedOracle’sSpatial SDOAPIJavaClassLibrarytohandlespa-tialdata.KuijpersandVaisman(2007)presentedaformalmodelinwhich the geometric components of the thematic layers in a GISare representedas anOLAP (On Line Analytical Processing) dimen-sion hierarchy and introduced the notion of spatial aggregation.They then addressed the moving object aggregation over a GIS.Advances in Global Positioning Systems, wireless communica-tion systems, and the miniaturization of computing devices haveresulted in the emergence of various applications for location-based services (LBSs). As a result, there is an increasing need forthe efficient management of vast amounts of location-in-timeinformation for moving objects. Therefore, one of the most impor-tant issues the MODB must address is the spatio-temporal lan-guage. The queries that a MODB should be able to handle includethe determination of the similar trajectories of a moving object.With this kind of query, we can determine the migratory patternsof animals or recommend a route to a driver. A Nearest Neighbor(NN) query is defined as follows: given a set of trajectories  T   anda trajectory  Q  , find the trajectory in  T   that is closest to  Q  . If we find Fig. 1.  The proposed updating strategy.15076  J. Yim et al./Expert Systems with Applications 38 (2011) 15075–15083  two closest trajectories instead of just one, then the query is called2NN. Xiao (2009) addressed a Set Nearest Neighbor query. Anexample KNN (K-Nearest Neighbor) query is ‘‘What will be thequery’s 3NN 2 minutes from now?’’ Liao, Wu, Zhang, and Zhong(2009) introduced a new multi-threaded and cache-consciousalgorithm to efficiently process massive, continuous KNN queries.Iijima and Ishikawa (2009) proposedtechniques including pruningcandidate objects for processing a Nearest Neighbor query whenthe location of the query object is specifiedby animprecise Gauss-ian distribution. Ding, Trajcevski, and Scheuermann (2008) pro-posed a Frechet distance-based approach to the similarity join forlargesetsofmovingobjecttrajectoriesandillustratedthatthepro-posed method was 50% faster than the traditional methods.There are two types of moving objects: moving points such asvehicles and moving regions such as hurricanes and oil spills.Spatial objects evolve as time flows, and their topological rela-tionships develop over time. Spatio-temporal predicates havebeen proposed to examine these time-varying relationships.Schneider (2005) proposed a generic algorithmic scheme forevaluating spatio-temporal predicates. The following is an exam-ple of a continuous spatio-temporal query: ‘‘Continuously informcommander C all friendly units within 10 miles from soldier S.’’To minimize the execution cost of such queries, Xiong, Elmongui,Chai, and Aref (2007) proposed the Query–Track–Participate(QTP) query processing model, where a query is continuouslyanswered by a querying server, a tracking server, and a set of participating servers. Frihida, Zheni, Ghezala, and Claramunt(2009) introduced an algebraic Spatio-Temporal Trajectory datatype (STT) for the representation of the object trajectory. TheSTT is an abstract data type endowed with a set of operationsdesigned as a way to cover the syntax and semantics of a giventrajectory.Wolfson, Sistla, Chamberlain, and Yesha (1999) thoroughly dis-cussed updating policies for the MODB. They introduced threeupdatingpoliciesfortheMODB:speeddead-reckoning(sdr), adap-tive dead reckoning (adr), and disconnection-detecting dead-reck-oning (dtdr). A dead-reckoning update policy updates the movingobject’sdatabaselocationonlywhenthedifferencebetweenitsac-tual locationanditsdatabaselocationisgreaterthanthethresholdth. The threshold th is a constant during the trip in the case of sdr,whereas it is newly computed whenever the database location isupdated in the case of adr. In the case of dtdr, the threshold isnot only newly computed whenever the database location is up-dated, but it also decreases as the time interval since the last up-date increases.The typical applications of the MODB include intelligent trans-port systems, digital battlefield,locatione-commerce, andsoforth.A query that must be evaluated for a time interval (e.g., ‘‘List thenearest gas stations to my vehicle in the next 15min’’) is called acontinuous query. Existing MODBs work well for instantaneousqueries but not for continuous ones. Li, Huang, and Bian (2009)proposed a new updating strategy that improves the quality of continuous query results and provided their simulation results todemonstrate the effectiveness of their updating strategy. In theirsimulation, they used a standardized random number generatorto assign velocity to the moving object. This implies that they as-sumed that a moving object was equipped with a device (e.g., aGPS)thatcouldprovidethevelocityofthemovingobject.Inindoorpositioning, there is no device that can provide the velocity of themoving object. In this regard, we propose a Kalman filter methodas the velocity predictor.The main contribution of the present paper is a Kalman filtermethod that can be used to estimate a moving object’s positionand velocity. The estimated values can be used to predict themoving object’s future positions. For future predictions, mosttechniques use some mathematical formulas of motion derivedfrom recent movements. However, an object’s movements arenot simple. In this regard, recent studies have used objects’ tra- jectory patterns for predicting their future positions. Jeung, Liu,Shen, and Zhou (2008) introduced a hybrid prediction model inwhich both mathematical formulas and trajectory patterns areconsidered. Wang, Wang, Wang, Lv, and Zhang (2006) proposedan asynchronous position updating algorithm for continuousqueries regarding moving objects; the algorithm was found toimprove accuracy, reduce the communication cost, and balancethe server load more evenly. An example of a continuousquery is ‘‘All vehicles that appear in the region R in the next10min.’’Processing the location stream, which is too fast for the MODBcan handle, is one of the problems that we have to solve to buildahigh-performanceMODB. Yu, Chen,Rao, andLiu(2004)proposeda location filter to address the problem of processing the locationstream. The location filter consists of an online location filter anda temporal location manager. The online location filter executesthe filtering algorithm plug-ins and filters the location stream on-linewhilethetemporallocationmanagerinsertslocationdataintothe database at an acceptable insertion rate.Our strategy is a type of sdr. However, the sdr proposed byWolfson et al. (1999) cannot be directly used for an indoor MODBbecauseitassumesthatamovingobjectknowsitsvelocityandisavehicle equipped with a GPS (Global Positioning System) unit. TheGPS provides a moving object’s location and velocity. Making useof the velocity, the updating policies predict the moving object’sfuture locations, and the predicted locations are used as the ob- ject’s database locations. The main idea behind this paper is touse the Kalman filter to estimate the indoor moving object’svelocity.The Kalman filter is a recursive process of estimating a statewhen the state is governed by the following equation:  x k  ¼  Ax k  1 þ Bu k  1 þ w k  1 ;  ð 1 Þ with a measurement  z  k  ¼ Hx k þ v  k ;  ð 2 Þ where the randomvariable  w  represents the process noise,  v   repre-sentsthemeasurementnoise,andtheprobabilitydistributionfunc-tions are  p ð w Þ N  ð 0 ; Q  Þ and  p ð v  Þ N  ð 0 ; R Þ : The Kalmanfilter process is as shownin Fig. 2 (Welch&Bishop, 2006). The process repeats the time update and the measurementupdate until the termination condition is met. The state of a mov-ingobject consists of its locationandspeed. Therefore,  ^  x  is avectorof 4   1 as shown in Eq. (3), where  k  stands for the  k th iteration,  x and  y  represent the  x  and  y  coordinates of the location of the mov-ing object, respectively, and  v   xk  and  v   yk  represent the speed of themoving object along the  x -axis and  y -axis, respectively ^  x k  ¼  x k  y k v   xk v   yk 2666437775 :  ð 3 Þ Astheroleofthematrix  A  istoprojectthestateat D t   timeunitsahead, it is defined as Eq. (4), where D t   is set to 1 for the Kalmanfilter process. We do not consider any optional control input andomit the  Bu k  1  term  J. Yim et al./Expert Systems with Applications 38 (2011) 15075–15083  15077   A ¼ 1 0  D t   00 1 0  D t  0 0 1 00 0 0 1 2666437775 :  ð 4 Þ During the time update stage, not only  x  but the error covari-ance  P   is also projected. In the process of projecting  P  , the  processnoise covariance Q   is taken into account.In the measurement update stage, we adjust  ^  x  with the  k thmeasurement  z  k . In this application of the MODB, the position of the moving object is measured. Therefore,  z  k  is a 2   1 vector con-sistingof   x  and  y  coordinates. Asthestateofamovingobject, ^  x , isa4   1 vector, we need a matrix to extract its location, the  x  and  y coordinates, from  ^  x . The matrix is named  H   and defined as showninEq. (5). Thematrix R  is a2   2matrixrepresentingthemeasure-ment noise covariance H  ¼ 1 0 0 00 1 0 0   :  ð 5 Þ 3. Kalman filter-based updating strategy  Themajor componentsof anindoorMODBsystemarethedata-base server, the web server, and the communication server. Thecommunication server continuously receives (Time,Location) tu-ples from mobile terminals. The Location is the coordinates of the measured location of the mobile terminal at the moment of Time. The communication server passes the received tuples tothe database server. The web server delivers the user’s commandsto the database server and displays the answers fromthe databaseon the user’s terminal. The database server stores all the(Time,Location) tuples from all the mobile terminals in the appli-cation field of the MODB. As a mobile terminal sends its locationperiodically and there are a great number of mobile terminals,the communication cost of MODB updating is very high, and thesize of the information stored in the MODB is huge.In this regard, the present paper proposes an updating strategywith which we can reduce the communication cost and storagewithoutdegradingtheaccuracyof databaselocations. OurstrategyappliestheKalmanfiltertothepositionsmeasuredat t  0 , t  1 , . . . , t  i  toestimate the state of the moving object and extrapolates the posi-tions at moments  t  i +1 , t  i +2 , . . .  by using the estimated state. If thedifference between the extrapolated position and the measuredposition is not greater than the given threshold, the strategy doesnot send the measured position. Our strategy performs the extrap-olation when the elements of   P   are all less than 0.001.The algorithm of our strategy is shown in Table 1. For the firststep, the algorithm applies the Kalman filter process shown inFig. 2 to  i  consecutively and recently measured positions. We usethe K-NN method (Yim, 2008) for the measurement. The formatsof the matrices used in Fig. 2 are as follows:  X  k  ¼  x k  y k v   xk v   yk 2666437775 ;  A ¼ 1 0  D t   00 1 0  D t  0 0 1 00 0 0 1 2666437775 ;  H  ¼  1 0 0 00 1 0 0    ð 6 Þ The initial values for the other matrices are determined as follows. Q   ¼ 0 : 001 0 0 00 0 : 001 0 00 0 0 : 001 00 0 0 0 : 001 2666437775 ;  R ¼  1 00 1   ; P  0  ¼ 300 0 0 00 300 0 00 0 300 00 0 0 300 2666437775 : ð 7 Þ Afterthefirststep,thealgorithmcheckstheelementsof  P  ,andif they are all less than the small constant ‘‘Epsilon’’ (e.g., 0.001), thealgorithmperforms the extrapolation. In the process of the extrap-olation, we replace all the D t  s of   A  with1s. Thenwe multiply the  A bythe i thstateobtainedinthefirststep.Theresultofthemultipli-cation process is assigned to the variable ‘‘prediction’’ in the algo-rithm. At this moment, if the difference between the  i  +1thmeasured location and the predicted location is less than thethreshold (e.g., 3m), we do not send the measured location to thecommunication server. Otherwise, we send the measurement.Ifwedidnotsendthe i  +1thmeasuredlocation,wekeepapply-ingtheupdatingalgorithmtothe i  +2thmeasurement, i  +3thmea-surement, andsoforth. Whenweapplythealgorithmtothe i  +2thmeasurement,the D t  sof   A areallsetto2.Whenweapplythealgo-rithmtothe i  +3thmeasurement,the D t  sof   A areallsetto3,andsoforth. However, the value of   i  does not change. In other words, wealways apply the Kalman filter to the  i  recent measurements.Sometime later, if (|prediction   measurement|<threshold) isno longer true for  n  (e.g.,  n  =3) consecutive measurements, wecan conclude that our prediction is no longer valid and let the mo-bile terminal send the n measurements to the server. Fig. 2.  The Kalman filter process.15078  J. Yim et al./Expert Systems with Applications 38 (2011) 15075–15083  Whenthedatabaseserverreceivesaquery‘‘Wherewastheper-son A at the time xx?’’ it looks for (xx, Location) in the database. If it finds one, it returns the Location; otherwise, it performs our Kal-manfilter-basedextrapolationandreturnstheresultastheanswerto the query. As our updating policy skips updating when the dif-ference between the prediction and the measurement is less thanthe threshold, the answers returned by the database server are al-ways within the threshold from the measured location. 4. Implementation WeimplementedourupdatingstrategyonalaptopcomputerinC# with Microsoft Visual .NET 2005. The major components of thesystem were the map rendering, the RSSI scanner, the positioning,and the updating modules. Our implementation of these modulesis now described. 4.1. The map rendering module The purpose of the MODB is to answer spatio-temporal queries.Therefore, most answers are displayed on a map or a drawing forindoorapplications.Ourmaprenderingmoduledisplaysadrawingrecorded in an AutoCAD DXF (Drawing Interchange Format orDrawing Exchange Format) file and provides map manipulationfunctionssuchaszoom-in,zoom-out,andmove.ADXFfileconsistsofalargenumberofentities.Theentitiesareclassifiedintothearc,line, circle, and polyline types, among others. In DXF, an arc isdetermined by its attributes such as its center, radius, start angle,and end angle. The attributes of a line are the start and end points.Similarly, theattributes of eachentitytype is predefined inDXF. InDXF, every entity representation follows the entity type as shownin Table 2. The type of the entity shown in Table 2 is LINE, and the type name LINE follows ‘‘0,’’ which indicates that the entity typeappears in the next line. The ‘‘10’’ in the table indicates that the  X   coordinate of the start point appears in the next line. The othersare obvious.The main parts of our rendering module are the input, drawing,and manipulation parts. A flowchart of the input part is shown inFig. 3. The first method is PaperLoad(), which uses the dialog toolof C# and returns the full path of the DXF file. It then continuesreading two lines from the DXF file until the end of the file. Weread two lines at a time because the entity type follows ‘‘0’’ inthe DXF. The entity type determines the way of reading the attri-butes of the entity. Therefore, if the entity type (for example LINE)is read, we invoke the method (LineModule in this case) whichreads in the attributes of the type. For each entity type, we definea class with local variables corresponding to the attributes of theentity. It also has methods including draw(). For example, x_start,y_start, x_end, and y_end are some of the variables of the LINEclass. For each entity read, our input module creates an objectand appends it to the list called EntityList.Our drawing part draws all the objects listed in the EntityList.Before the actual drawing, it calculates the coordinates of the cen-ter of the drawing, paperMid and the center of the window, win-dowMid. The center of the drawing is defined by the following: paperMid  X   ¼ð  X  Min þ  X  Max Þ = 2 ; paperMid Y   ¼ð Y  Min þ Y  Max Þ = 2 ;  ð 8 Þ where  X  Min is the minimum of   x  coordinates appearing in the en-tire DXF file.  X  Max,  Y  Min, and  Y  Max are all defined similarly. Thecenter of the window is defined by the following: windowMid  X   ¼ drawPanelWidth = 2 ; windowMid Y   ¼ drawPanelHeight = 2 ;  ð 9 Þ where drawPanelWidth (Height) is the width (height) of the panelwhere the drawing is drawn. We now calculate the scale for thedrawing, which is basically the ratio of the window size to thedrawing size. It is called mainScale and can be calculated by Eq.(10). We choose the minimum out of scale  X   and scale Y   and thenmultiplyit by0.9sothat thedrawingcaneasilyfitintothewindow mainScale ¼ MIN ð scale  X  ; scale Y  Þ 0 : 9 ;  wherescale  X   ¼ drawPanelWidth = ð Max  X   Min  X  Þ ; scale Y   ¼ drawPanelHeight = ð Max Y   Min Y  Þ :  ð 10 Þ Given a point (paper  X  ,paper Y  ) from the DXF file, we can calcu-late the point on the window, (win  X  ,win Y  ), by using Eq. (11). Apoint (paper  X  , paper Y  ) in the DXF file is represented at (win  X  ,-  Table 1 Our algorithm for updating. (1) Apply the Kalman filter process shown in Fig. 1 to the  i  measuredlocations to produce  ^  x i .(2) measurement= i  +1th measurement obtained by our positioningalgorithm;(3) if (elements of   P   <Epsilon) then {(4) prediction=  A ^  x i ;(5) if (|prediction   measurement| <threshold),(6) then do not send the measurement.(7) else send the measurement to the server.(8) else send the measurement to the server:}  Table 2 Selected lines of the DXF file used in the proposed rendering module. Code Description . . . 0 Indicates the start of an entityLINE Entity type . . . 10 The next line is the  X   coordinate of the start point35.88  X   coordinate20 The next line is the  Y   coordinate of the start point13.65  Y   coordinate . . .  Z   is omitted11 The next line is the  X   coordinate of the end point58.15  X   coordinate21 The next line is the  Y   coordinate of the end point40.68  Y   coordinate . . .  A lot of entities and others Fig. 3.  A flowchart of the input part of our rendering module.  J. Yim et al./Expert Systems with Applications 38 (2011) 15075–15083  15079
Related Documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x