Research Article
A Multi-Floor Indoor Pedestrian Localization Method Using Landmarks Detection for Different Holding Styles
| Input: maps for all floors: Map(zFL) | | Input: landmark database and the floor lookup table | | Input: sensor readings up to current time t: d1:t | | Output: current floor level and initial position | | Output: the detected landmarks | | Output: the current position of the pedestrian | (1) | CurrentMode = estimateMode (d1:t) | (2) | if (CurrentMode == stopping) then | (3) | Estimate the floor and then initial position | (4) | Update the floor lookup table | (5) | end if | (6) | else if (CurrentMode == walking) then | (7) | Recognize the holding style | (8) | if (detect new step) then | (9) | if (plain walking) then | (10) | Update the position by the PDR | (11) | Test for detecting the landmarks (WiFi, turning) | (12) | if (detect a landmark) then | (13) | Update the current position to landmark position | (14) | end if | (15) | end if | (16) | else if (walking on stairs) then | (17) | Test for detecting the stairs landmarks | (18) | if (detect a landmark) then | (19) | Change the floor level of the current position | (20) | Change the floor map | (21) | end if | (22) | end if | (23) | end if | (24) | end if |
|