Nicolas Amiot

Mohamed Laaraiedh

Bernard Uguen

Improved Mobility Modeling for Indoor Localization Applications

Keywords: Mobility modeling, Localization, DES, Graph theory

This paper presents a novel mobility model to perform realistic simulations of human movements and behaviors. The proposed model is based on discrete event simulation and graph theory. The proposed model is implemented in a wireless propagation simulator and used to evaluate various wireless network protocols including: propagation, localization and communication.

I. INTRODUCTION

Evaluation of wireless networks protocols and algorithms should be done under realistic conditions. One of these conditions is realistic movement of mobile users. In particular, evaluation of cooperative and dynamic localization techniques needs realistic mobility models. In [START_REF] Amiot | Pylayers: An open source dynamic simulator for indoor propagation and localization[END_REF] and [START_REF] Laaraiedh | Efficient ray tracing tool for uwb propagation and localization modeling[END_REF] we presented an open source radio propagation simulator PyLayers [START_REF]PyLayers[END_REF] whose purpose is to help the design and the evaluation of localization algorithms in heterogeneous networks. To ensure accurate simulation and evaluation of propagation, localization and communication protocols and algorithms implemented in PyLayers, a mobility module is developed as part of this simulator. This module implements a novel human-like mobility model based on discrete event simulation (DES).

PyLayers is organized in different layers ensuring each a particular task. The Layout layer ensures the definition of the environment layout using different graphs. The Mechanical layer mainly implements mobility aspects and will be the subject of the paper. The Propagation layer provides an estimation of the transmission channel using a ray-tracing approach. The Network layer implements inter-agents communication protocols. A Localization layer is also developed to implement various localization algorithms [START_REF] Amiot | Evaluation of a geometric positioning algorithm for hybrid wireless networks[END_REF], [START_REF] Laaraiedh | Comparison of Hybrid Localization Schemes using RSSI, TOA, and TDOA[END_REF]. In the following will be presented the mobility layer and examples of interactions with other layers and applications (i.e. propagation, localization and communication).

II. STATE OF THE ART OF MOBILITY AND NETWORK SIMULATORS

A. Mobility modeling

Building a wireless propagation simulator able to take into account the mobility should be focused on the choice of the correct mobility model. According to [START_REF] Hsu | Mobility Modeling for Vehicular Networks[END_REF], mobility models can be categorized in three types:

• Random models • Models with geographic restriction

• Models with spatio-temporal dependency Random models are widely used in Monte-Carlo simulations where the purpose is to introduce a realistic fluctuation of the channel allowing the design and test of communications algorithms or PHY/MAC design. If those solutions are very easy to implement, the resulting motion is generally not very realistic. Those random models are based on Brownian motion or random way point. Some also add a temporal dependency and make the actual velocity dependent on the previous computed velocities. One of the most used model, due to its relative statistical coherence with a real human mobility, is the Levy Flight random walk model [START_REF] Rhee | On the levy-walk nature of human mobility[END_REF]. In the Levy flight model, the steps are defined in terms of the step-lengths, which have a certain probability distribution (the directions of the steps being isotropic and random). Those random models are very convenient to take into consideration the global behavior of an agent movement, but they are not suited for addressing sitespecific situation. New approaches have to be considered to fit with deterministic simulation of the channel propagation.

It is mandatory that the simulated agent positions be bounded in space. That is the aim of models with geographic restriction which limits the movement of the agents into a restricted simulation field. In indoor situations, it means that a building floor plan would bound the position of the agents and limit their movement to possible way paths (crossing the doors). Graph based models belong to this category by constraining the movement of an agent on the graph nodes [START_REF] Tian | Graphbased mobility model for mobile ad hoc network simulation[END_REF]. As well, the Manhattan Mobility model [START_REF] Bai | IMPORTANT: A framework to systematically analyze the Impact of Mobility on Performance of RouTing protocols for Adhoc NeTworks[END_REF] limits the movement of the nodes to roads between buildings. Those space-restricted models are very convenient to describe the movement of agents, but they fail to take into account interagent interactions which require a synchronization-like behavior mechanism.

For that purpose, spatio-temporal dependent models are introduced. Those models take care of the material environment and the human environment. Inter-agent avoidance or group mobility to a common target can be envisaged which may drastically increase the realism of the simulation [START_REF] Jardosh | Towards realistic mobility models for mobile ad hoc networks[END_REF]. That level of realism is actually the lowest level required to build a satisfying simulation of the mobility in radio context. Indeed, considering simulation in cases of cooperative networks, the number of cooperative agents in a given area is directly a parameter on the achievable positioning accuracy [START_REF] Wymeersch | Cooperative Localization in Wireless Networks[END_REF]. Another important aspect for producing a correct simulation is the habits of the agents. Indeed, Human motion are led by habits which can be directly translated into the mobility model of the agents. Habits can be modeled e.g. from the propensity of an agent to be in a specific room of a building or to be under the influence of another agent.

Finally, a satisfying agent mobility description would be site-specific and include smart interactions of the agents both with their environment and with the other agents. A convenient solution to achieve a such deterministic mobility description is to use Discrete Event Simulation (DES). The mobility is intrinsically a space-time process in interaction with the environment. Practically, the simulation of such a phenomena can be quite complicated to address because it involves random variables (e.g. possible positions into the layout, transitions probabilities), which have to be dynamically modified by external events (e.g. other agents arrival). Those particular kind of problems can be advantageously managed by DES techniques which are designed for both stochastic and dynamic problems allowing the discrete evolution of variables [START_REF] Leemis | Discrete-event simulation: A first course[END_REF]. The choice of DES has already been made by other mobility simulators oriented to urban mobility [START_REF] Krajzewicz | Recent development and applications of SUMO -Simulation of Urban MObility[END_REF] because it allows the simulation of active components [START_REF]SimPy Simulation Package[END_REF].

Another interesting aspect of using DES is the possibility to define autonomous entities. Practically it means that all the decisions of an agent is based only on its own observation of the environment. That autonomy can be limited by rules defined by a user (e.g. avoiding certain rooms of the environment). That precise implementation has been originally created for video games and the simulation of artificial intelligence. One implementation of those type of solution is based on the steering behaviors principles [START_REF] Reynolds | Steering behaviors for autonomous characters[END_REF]. Steering behaviors allow the computer description of human behavior e.g. "follow a leader", "detect and avoid" or "path following". Based on these principles, a library called Personal Rapid Transit Simulation [START_REF]Personal Rapid Transit Simulation[END_REF] has been enhanced to fit with the indoor localization applications.

B. The Network Simulation in Mobility

Although it exists commercial tools specialized in the pedestrian mobility to improve passenger flow efficiency in existing buildings or evacuation and traffic management [START_REF]SimWalk: Pedestrian Simulation for Transport, Aviation and Architecture[END_REF], [START_REF]PTV Viswalk[END_REF], [START_REF]Legion Pedestrian Software[END_REF], there is no such dedicated tools in the wireless communication field. Moreover, in commercial propagation tools (i.g. NS2, WSNET) the mobility is generally not taken into account. That lack could also be mentioned considering upper layers of the OSI standard, where the mobility parameters are rarely part of simulators. Although most of commercial tools take into account the mobility, it exists some research tools which integrate it into the network performances evaluation. For that purpose, and considering indoor situation, two models are generally considered:

• Cellular automata models which are based on geographic constrained model [START_REF] Blue | Cellular automata microsimulation for modeling bi-directional pedestrian walkways[END_REF]: This method consists in the discretization the agent position on a grid. At each time step, each agent can move to a finite number of possible positions on that grid. Due to the ease of the method, the use of a grid for modeling the movement of the agent is often considered as a mobility model. In order to be more site-specific, some positions on the grid can be forbidden, preventing agents to stand behind an open door for instance. • Agent based models which are either spatio-temporal dependent or DES-based models: A more sophisticated approach which intends to reproduce a real pedestrian activity constrained by the environment. In that case, the use of DES based mobility model allows to retrieve in simulation phenomena which cannot be detected with a simple random walk or cellular automata model. Despite of their potentialities, only few simulators use that method in the considered context of radio simulations. Moreover, the question of the communication for distributed computation including the mobility seems to be lacking.

III. SIMULATION OF AGENTS MOBILITY

The proposed simulation of agents mobility is based on the SimPy framework which is a DES tool. The movement of agents is organized in two modes: the large scale mobility which represents the motivation of the agent (choosing a destination room) and the small scale mobility which constraints the agent to move and interact with the environment and the other agents.

A. Large Scale Mobility : A Graph Aided Description

At large scale, the agents mobility can be seen as a stochastic succession of two different states: Static State (SS) where the agent is static and Mobile State (MS) where the agent is mobile. Most of the time in indoor environment, mobile agents are static. Thus the static state SS can be fully considered as part of the overall mobility description. The large scale mobility consists in both defining a target for the agent and determining a path to reach that target.

1) The Graph of Room G r and the Graph of Way Path G w :

In order to determine the different targets of the agents, the graph of room G r is introduced. An example is represented in Figure 1. Designed especially to manage mobility, the graph of room is a simplified version of topological graph G t described in [START_REF] Amiot | Pylayers: An open source dynamic simulator for indoor propagation and localization[END_REF]. The nodes of G r represent rooms. For this purpose, the nodes of G r are the nodes of G t limited to cycles (G t 's nodes) with a door. In addition, each edge of G r interconnects rooms sharing a door. With such a description, each node can determine a target by choosing a room from the nodes of G r .

Both the target and the path are determined with the help of graphs.

To obtain more realistic movement, the graph of way path G w representing all the possible transitions between rooms is introduced. The graph G w , represented in Figure 2 for the same environment, has the same "room" nodes of G r and extra nodes associated to different doors. Those nodes are added to encourage the agent both to cross the doors and to avoid unreal trajectory (e.g. going to the center of a corridor instead of directly reaching the opposite room). Nodes of G w are connected using two rules:

• All room nodes are connected to a door node • The doors of two rooms are connected together if the 2 rooms are connected in G r . 2) Determination of a Target Using the Graphs: The graph of room G r allows the agent to randomly choose a target (a.k.a a destination room) and the graph of way path G w allows to find a path to this target. That path is a succession of G w nodes.

Let's suppose a situation where an agent in room i chooses a targeted room t with the help of graph G r . Rooms i and t correspond respectively to nodes v i r and v t r of G r . Then, the path from the room i to the room t is obtained by processing a Djikstra [START_REF] Dijkstra | A Short Introduction to the Art of Programming[END_REF] shortest path algorithm D on nodes v i w and v t w of the graph G w :

V p = D(v i w , v t w ). (1)
The obtained ordered set of nodes V p describes the shortest path between v i w and v t w . To achieve the whole trajectory from i to t, the agent has to successively go through all the rooms and/or doors corresponding to the nodes of V p . Each time a node of V p is reached, the next one becomes an intermediate target it, until the node v t r is reached. In Figure 2, an agent in room i = 12 with a target in room t = 15, corresponds to returned path V p = {12, 31, 93, 15}. Thus, the agent first moves from room 12 to its intermediate target 31 and so on until it moves to its final target in room 7.

B. Small Scale Mobility : Steering Forces

Once their targets are known and their paths have been determined, agents can start moving in the environment while avoiding walls and going through doors. This particular ability is defined as the small scale description of the mobility and is described with the help of steering behaviors. Steering behaviors have been introduced in [START_REF] Reynolds | Steering behaviors for autonomous characters[END_REF] to describe interactions of agents with their environments. Agents are simply described by their mass m and two limiting parameters: their maximum acceleration a max and their maximum velocity v max . This description allows the agents to be driven by several steering forces applied on their center of mass. The computation of acceleration, velocity and position of agents is ensured by Euler integration [START_REF] Euler | Introductio in analysin infinitorum, ser. Introductio in analysin infinitorum. Apud Marcum-Michaelem Bousquet & Socios[END_REF]. At each time step the agent's acceleration a is re-evaluated in regards with the resulting steering force applied on it. The true steering forces values are truncated in regard of the maximum acceleration parameter of the agent a max . The steering force F applied on the agent is defined by:

F := max (||F||, ma max ) F (2)
where F is the unitary vector obtained from normalization of F, and m is the mass of the agent. Then, the applied acceleration vector a n at time step n is given by :

a n = F m (3)
As well, the true velocity v n at time step n is approximated by the Euler integration as the sum of the old velocity and the product of the current acceleration vector with δτ , the time between n -1 and n:

v n = v n-1 + a n δτ (4)
Then, the applied velocity v n is truncated by the maximum velocity parameter of the agent v max :

v n := max (||v n ||, v max )v n ( 5
)
where vn is the normalization of v n . The position p n at time step n is obtained by the Euler integration as the sum of the previous position p n-1 and the current applied velocity:

p n = p n-1 + v n δτ (6)
The steering forces applied on the agent correspond to humanlike behaviors. In the following, only three types of steering forces are considered: the seek behavior, the obstacle avoidance behavior and the agent avoidance behavior.

1) Seek Behavior:

The seek behaviors aims to produce a steering force which attract the agent to a target. In the considered scenario, those targets are succession of intermediate targets as defined in section III-A. The steering force direction will depends on the distance vector d n between the target t n and the actual position of the agent p n . Then, it is possible to determine a velocity vector v d n defined with :

d n = t n -p n (7) v d n = max ||d n || δτ , v max dn (8)
where v n and v d n are the current velocity vector and the desired velocity vector directed respectively; and dn is the normalization of d n . Thus, the velocity difference w n between the actual velocity v n and the desired velocity v d n allows to compute the seeking force F s to be applied on the agent.

w n = v d n -v n (9)
F s = m w n δτ ŵn ( 10
)
where ŵn is the normalization of w n and m the mass of the agent. This situation is represented in Figure 3.

target agent

Fig. 3: Seek behavior: The steering F s vector results from the current velocity vector of the agent v n and the desired velocity vector v d n directed to the target.

2) Obstacle Avoidance Behavior:

The obstacle avoidance behavior aims to produce a steering force avoiding the agent penetrating a wall or any other element of the layout. The associated steering force F o is given by:

F o (d k,w ) = m δτ (v n-1 -v n ) α |d k,w | n , (11)
with d k,w the distance vector from the agent k to a wall w, α a parameter properly chosen for avoiding the agent grazing the wall and n a normalized vector orthogonal to the obstacle.

3) Agent avoidance: In [START_REF] Hall | The Hidden Dimension[END_REF], it is stated that it exists an inter-persons distance boundary. This boundary can be modeled with a circle with a radius r around the agent k. While another agent l penetrates inside that circle, an avoidance force F a proportional to the distance vector between the agents d k,l is applied. That force can be modeled using the previously defined obstacle avoidance force, regarding the 2 modifications:

1) The distance between the agent and the obstacle is replaced by the distance between the two agents, 2) A rotation matrix H has to be introduced in order that the force be applied orthogonally to the velocity vector, and thus creating an avoidance of both agents.

Thus, the agent avoidance force F a can be written:

F a (d k,l ) = HF o (d k,l ) , ||d k,l || ≤ r 0 , ||d k,l || > r ( 12
)
with H a rotation matrix:

H = 0 -1 1 0 (13)
4) Resulting Force: An agent k is under the influence of different steering forces: a seek force which pull the agent to its intermediate target node v it as seen in and several repulsive forces to avoid obstacles or other agents. The resulting steering force F is written as the sum of all the steering forces applied on agent k:

F = F s + W w F o (d k,w ) + K l =k F a (d k,l ), ( 14
)
where W is the number of walls in the vicinity of the agent k, which is determined with a simple distance threshold. The use of that threshold avoids the computation of forces which could be neglected due to the distance of the walls.

IV. APPLICATION TO LOCALIZATION AND NETWORK SIMULATION

The proposed mobility algorithm is developed to complement the graph-based propagation simulator PyLayers and to provide realistic simulations to evaluate localization and communication algorithms in dynamic and cooperative scenarios. This section proposes to illustrate some examples on how the dynamic simulation can be used with propagation tools and localization algorithms. A first scenario considers an agent moving into the environment while it is connected to 3 anchor nodes. That scenario is used to run the multi-wall algorithm to provide regularly location dependent parameters (LDPs) namely the Time of Arrival (ToA) and the Received Signal Strength (RSS) between the agent and the anchors nodes. Based on the same mobility simulation data, some CIR are computed using the RT propagation tool. Finally, a second simulation involving 2 mobile agents is proposed to demonstrate the communication stage. In this example, a single agent is moving into the layout and is in visibility of 3 anchor nodes. The three anchor nodes are represented with triangles. The different ground truth positions of the agent are sampled every second and plotted as red dots. Every 10 seconds the small dots are replaced by larger dots with an indexed variable t. Those larger dots are checkpoint positions and they allow to determine the direction of the agent and to give reference points to easily match the position and the LDP (i.e. RSS and TOA) values in the following figures. From the trajectory, it is possible to get the evolution of LDPs for the different radio links. Those LDPs can be obtained using Multi-wall algorithm or using the ray tracing tool [START_REF] Amiot | Pylayers: An open source dynamic simulator for indoor propagation and localization[END_REF]. Those LDPs are used as inputs for the localization algorithms. Figure 5, shows the evolution of both the received power and the delay introduced by the structure along the mobile agent trajectory with respect to the three anchor nodes.

A. Mobility Displaying

B. Mobility for incremental ray tracing

One of the main goal of the PyLayers ray-tracing tool is to reduce the complexity and time consumption in ray determination using signatures. A ray signature is defined as both the succession of interactions (reflection, transmission, diffusion, etc) and structure segments (walls, doors,...) that a radio wave encounters from the transmitter to the receiver. When using graph description of the environment and the interactions, signatures are obtained using a graph search algorithm. 2D and 3D rays are then easily obtained from signatures using geometric transformation [START_REF] Laaraiedh | Efficient ray tracing tool for uwb propagation and localization modeling[END_REF]. Signatures have been introduced to represent the persistent component of the radio channel. It means that for a given environment, the channel perturbation are caused by some specific signatures which can be directly related to specific pattern into the channel impulse response (CIR). Between 2 rooms, signatures are assumed to be stationary. Practically it means that while the transmitter or the receiver remain in their respective rooms, the same set of signatures can be used. It can be noticed that the signature description is only related to the environment and do not involve the position of neither the receiver nor the transmitter. Consequently, as long as an agent belong to a same room, the same set of signatures can be reused to calculate associated rays. As an illustration, CIR of the mobile agent is computed for points of its trajectory belonging to the same room. On the left column of Figure 7 are displayed the obtained rays between 6 positions of the agent and an access point. Facing these layout representations, the corresponding obtained CIR are displayed. The 6 set of rays and CIR have been obtained using the same set of signatures.

C. Example of Use of the Communication Stage

The simulation represented in Figure 8 white dots respectively. Let rat 1 , rat 2 and rat 3 three different radio access technologies (RAT) involved in the simulation. The mobile agent 1 embeds rat 1 and rat 3 and the mobile agent 2 embeds rat 2 and rat 3 . The two mobile agents can only be connected together on rat 3 . The mobile agent 1 is connected on rat 1 to the 2 static anchors represented with the red triangles, whereas the mobile agent 2 is connected on rat 2 to the 2 static anchors represented with the white triangles. Finally, each second, each agent tries to estimate its position using the available ToA. If not enough ToAs are available, the agent will try to communicate with its neighborhood. The communication stage has been configured to exchange both ToA and estimated positions between the two mobile agents. Figure 9 represents the positioning error of the mobile agent as a function of the time. First of all, the zero values at the beginning correspond to an initialization value and mean that the agents have not yet start position estimation. On both curves, two regimes can be observed: A regime of large positioning error, corresponding to situations where mobile agents have only access to 2 ToA from the two anchor nodes; and a regime of small positioning error where a third ToA is being available from the other agent.

Indeed, it is noticeable that a discontinuity appears in the positioning error at 5s for agent 1 and 4s for agent 2. Considering the checkpoint values, which corresponds to those represented in Figure 8, it appears that the decrease of the positioning error corresponds to a situation where the 2 mobile agents are in visibility. Then, the two agents communicate between each other in order to exchange both their estimated positions and a ToA value. As long as they are in visibility, the positioning error value remains low. At time 7 seconds, both agents loose their respective visibility and thus the possibility to exchange information. Then, the position estimation is no longer accurate and the positioning error increases again. V. CONCLUSION This paper presented a DES mobility algorithm designed for propagation and indoor localization simulation and developed as a part of PyLayers which is an open source wireless propagation and localization simulator. The algorithm is split in two types of mobility: large scale mobility based on the graph description and small scale mobility based on the steering behavior method. The algorithm has described how an agent can move into a given environment and interact with other agents. The main original part of that work is the adaptation of the steering behavior method to the graph representation. Some examples of simulations are presented to show the advantages of the proposed mobility algorithm especially in obtaining realistic human movements of agents and simplify ray tracing tools.

Fig. 1 :Fig. 2 :

 12 Fig. 1: An example of Graph of rooms G r

Figure 4

 4 Figure 4 illustrates an example of agent mobility simulation. In this example, a single agent is moving into the layout and is in visibility of 3 anchor nodes. The three anchor nodes are represented with triangles. The different ground truth positions of the agent are sampled every second and plotted as red dots. Every 10 seconds the small dots are replaced by larger dots with an indexed variable t. Those larger dots are checkpoint positions and they allow to determine the direction of the agent and to give reference points to easily match the position and the LDP (i.e. RSS and TOA) values in the following figures.

Fig. 4 :

 4 Fig. 4: Simulation of a trajectory of a mobile agent.

Fig. 5 :

 5 Fig. 5: The RSS (dots) and the estimated delay (cross) as a function of time for three different radio links.

Figure 7

 7 Figure 7 displays an histogram of the computation time for each CIR obtained in Figure 6. As expected, the computation of the first CIR is the longer due to signatures research step. The computation time required for obtaining the 5 other CIR is shorter because the same set of signatures is reused.

  is considered to demonstrate the communication stage between two agents. Two moving agents and four static anchors are considered. The two mobile agents start from different sides of the layout, move toward each other, cross themselves into a corridor and then continue to their destinations. The different trajectories of the agent 1 and the agent 2 are represented by red and

Fig. 6 :

 6 Fig. 6: Computed rays (left) and evaluated CIR (right) for different positions of the mobile agent along the trajectory.

Fig. 7 :

 7 Fig. 7: Time required to produce CIR for 6 different positions of the mobile node. (Intel Core I7 with 4Gb of RAM)

Fig. 8 :

 8 Fig.8: The simulation scenario: two agents (red and green dots) and 4 anchor nodes (red and green triangles).

Fig. 9 :

 9 Fig. 9: Positioning error evolution. Between 4s and 7s the two agents are connected.

ACKNOWLEDGMENT

This work was performed in the framework of the WHERE2 (ICT-248894) projects, which is partly funded by the European Commission and by the CORMORAN project (ANR11-INFR010), which is funded by the French National Research Agency (ANR).


Vishnu Karakkat Narayanan

François Pasteau

Marie Babel

François Chaumette

François Chaumette Visual

Visual servoing for autonomous doorway passing in a wheelchair using a single doorpost

Visual servoing for autonomous doorway passing in a wheelchair using a single doorpost Vishnu K.Narayanan 1 , Franc ¸ois Pasteau 2 , Marie Babel 2 , Franc ¸ois Chaumette 1

Abstract-Constrained spaces like doorways make efficient navigation using a wheelchair difficult and hazardous, especially in the cases where the user suffers from motor impairments. This paper introduces a monocular vision based autonomous framework for the fundamental task of doorway passing in an electric wheelchair. We propose a novel Lyapunov-based visual control process which is used to generate a smooth trajectory about a single doorpost. The scheme relies on line features which represent the doorposts in an image to calculate the wheelchair motion. This framework ensures that the wheelchair is able to pass the doorway regardless of its starting position.

Results of experiments on a robotic wheelchair show that the system is able to perform robustly in different corridors with a variety of door representations.

I. INTRODUCTION

Wheelchair users typically are the elderly and disabled people, who may suffer from motor impairments like Parkinson's disease or cerebral palsy. It is difficult for a user, particularly in the case of severe disability, to utilize an electric wheelchair in constrained environments efficiently and safely [START_REF] Iezzoni | Mobility difficulties are not only a problem of old age[END_REF]. Keeping in mind that independent autonomy is an essential part of the social and mental well being of an individual [START_REF] Finlayson | Experiencing the loss of mobility: perspectives of older adults with ms[END_REF], smart assistive systems have to be developed in order to facilitate the user to navigate effectively without the help of another person. Among the many wheelchair assistive technologies developed recently, one can mention the TAO Project [START_REF] Gomi | Developing intelligent wheelchairs for the handicapped[END_REF], the NavChair [START_REF] Levine | The navchair assistive wheelchair navigation system[END_REF], European FP7 Radhar project [START_REF] Demeester | Wheelchair navigation assistance in the fp7 project radhar: Objectives and current state[END_REF] and the recent SYSIASS project [START_REF] Kokosy | SYSIASS An Intelligent Powered Wheelchair[END_REF] as the state of the art in the area of autonomous wheelchair assistive systems.

In this paper, we address the problem of doorway passage in this work as it is one of the fundamental capabilities for indoor wheelchair navigation. This is a non-trivial task which depends on a variety of high level constraints, one of them for example, being the status of the door (i.e. open/closed). The aim of this work is to focus on low level control without the help of a global planning framework while considering the fact that this is a first step in developing the concept of semi-autonomous assistive systems [START_REF] Pasteau | Vision-based assistance for wheelchair navigation along corridors[END_REF]. Such systems require control architectures that are human-in-theloop schemes where the user has considerable presence in the control loop. Therefore, the higher level attributes are left for the user/home automation system to set as they are not the objective of this work. Our previous work [START_REF] Pasteau | Corridor following wheelchair by visual servoing[END_REF] has shown a similar robust visual servoing system for corridor following. Some of the previous work addressing the autonomous doorway passage issue using an intelligent wheelchair are summarized in [START_REF] Murarka | Towards a safe, low-cost, intelligent wheelchair[END_REF]. To explain further, the capability to perform autonomous door passage in the case of the TAO wheelchair was achieved using a low speed discontinuous trajectory [START_REF] Gomi | Developing intelligent wheelchairs for the handicapped[END_REF]. Furthermore, in [START_REF] Wang | Doorway passing of an intelligent wheelchair by dynamically generating bezier curve trajectory[END_REF] a Bezier curvebased smooth dynamic trajectory planning framework was presented, and finally a SLAM based approach with an integrated frontier point method was utilized in [START_REF] Fernando | Slam-based cross-a-door solution approach for a robotic wheelchair[END_REF] to perform smooth autonomous doorway passing. The two major highlights of the above mentioned systems are that they utilize complex multi-sensor architecture, explicit environment representations and/or visual memory based solutions thus requiring a dedicated learning stage.

Thus, this paper proposes a solution which targets lowcost hardware (two monocular cameras in the present case, one for the doors on the left and one for the doors on the right) and which avoids any explicit representation of the environment. These are important advantages owing to the fact that low cost sensors ensure widespread usage which can lead to easier commercialization. It also facilitates the system to perform in any indoor environment without the use of global a-priori data. A similar vision-based system was proposed by [START_REF] Faragasso | Vision-based corridor navigation for humanoid robots[END_REF] for corridor navigation of a humanoid with capability of turning at junctions.

In this paper, we typically consider that the door is already open (e.g. by means of a home automation system which can be directly set on the wheelchair). If the idea is to design a robust low-level controller that achieves the adequate motion given a detected doorway, the use of monocular cameras add major constraints. Indeed, when passing the door, the doorpost at the far end of the desired trajectory will no more be present in the field of view of the camera. Consequently we have to design a solution which uses a single (i.e. the initial) doorpost in the image as the input to the system.

A Lyapunov-based visual servoing scheme is designed which generates a smooth (and safe) trajectory around the detected doorpost. The control system uses the position of the doorpost in the image to perform the navigation. Thus a dedicated door detection and tracking framework is concurrently employed for this purpose. It is shown that the control process is able to autonomously take up a circular trajectory around the doorpost for a smooth passage. Results of experiments on a robotic wheelchair platform show the feasibility and robustness of the proposed system as a low-level control system for a semi-autonomous assistive wheelchair to be designed as a second step.

The paper is divided as follows. Section II gives the ge-ometrical modelling of the robotized wheelchair. The visual servoing scheme is explained in Section III. Final Section (IV) deals with experimental results.

II. MODELLING

We model the wheelchair as a six-wheeled robot which moves on a horizontal/inclined plane where the two wheels located in the middle are differentially actuated. For support, four additional caster wheels with two each in the front and back are required. This configuration allows modelling the wheelchair as a unicycle-like robot thus matching nonholonomous constraints. The two robot DOFs are its translational velocity u and rotational velocity ω. The cartesian frames considered in this study are depicted in Figure 1. The wheelchair uses two monocular cameras located on each side which are rotated at a suitable angle θ away from the body of the robot as the perception medium. This is done for the purpose of keeping the doorpost in view while the wheelchair passes through a door (on either side). In this study, we formulate the solution for the camera located on the right side of the wheelchair. It can be said the solution for the other camera would be symmetric in the opposite sense.

According to Figure 1, we define the robot frame as F r (P O , x r , y r , z r ). The origin of the robot frame F r is chosen as the mid-point of the line segment joining the two centres of the differential wheels. The camera (right) frame is defined as F c (C, x c , y c , z c ) where its optical center is given by C located at coordinates (l, -w, 0) and rotated at an angle θ with respect to F r . Note that w > 0 and θ < 0 for the configuration depicted on Figure 1.b.

By

denoting f v = f u x , f u y , f u z , f ω x , f ω y , f ω z T the
velocity of a frame F f expressed in F f , where the first three components represent the translation velocities and the last three components represent the rotational velocities, we have

r v = [u, 0, 0, 0, 0, ω] T . (1)
Since the translation r t c between the robot frame and camera frames is given by vector [l, -w, 0] T , by applying the well known formula

c v = c R r [ c t r ] c × R r 0 c R r r v (2)
where c R r is the rotation matrix between the camera and the robot, we obtain

c v = [ c u x , 0, c u z , 0, c ω y , 0] (3)
where

     c u x = u sin θ -ω(l cos θ + w sin θ) c u z = u cos θ + ω(l sin θ -w cos θ)) c ω y = -ω (4)

III. LYAPUNOV-BASED VISUAL SERVOING

The aim of a visual servoing scheme is to control the relevant DOFs by minimizing the errors between a set of measured features in the image and a set of desired features [START_REF] Chaumette | Visual servo control, part i: Basic approaches[END_REF]. Thus control laws have to be formulated relating the image features to the system dynamics. In the present case, we choose the rotational velocity ω as the DOF to be controlled while applying a constant forward velocity u = v.

As stated in Section I, we propose to use a single doorpost. A novel Lyapunov-based control scheme is designed which exploits the position of the line representing the initial doorpost of the door in the image (i.e. the doorpost closer to the robot) as visual feature.

A. Door recognition and tracking

There are several methods for detecting and representing doors in an indoor navigation construct [START_REF] Anguelov | Detecting and modeling doors with mobile robots[END_REF] [START_REF] Chen | Visual detection of lintel-occluded doors from a single image[END_REF]. But, in the present case, the representations have to be simple enough so that effective features can be extracted.

Consequently, we use a door detection and tracking framework specifically developed for indoor navigation tasks [START_REF] Sekkal | Simple Monocular door detection and tracking[END_REF]. This framework employs a set of information including the vanishing point to estimate a simple 3-D geometrical structure of the corridor. This structure, then defines a search space in which rectangular shapes representing doors are searched for, by employing a constraint that the doorposts are nearly verticals in the image. For tracking, a dedicated 2-D edge tracker inspired from the M oving Edges (ME) algorithm [START_REF] Bouthemy | A maximum likelihood framework for determining moving edges[END_REF] [18] is applied on the doorposts. The implementation of this framework on a generic corridor is shown in Figure 2.

B. Visual Feature -Definition and Extraction

Considering Figure 3, if the foot of the doorpost is represented by the point

D then D = (x d , h, z d ) T in the plane (x c , z c ) in the frame F c . In polar coordinates point D is represented by r = x 2 d + z 2 d , (5a)
φ d = arctan(x d /z d ), (5b)
If the point D projects in the image at point P = (x P , y P ), then due to a calibrated camera, the perspective projection equations reduce to To perform a successful doorway passing, the wheelchair needs to avoid the closest doorpost with a predefined margin m. To do so we formally define the visual feature as the angle φ d . We do so due to the fact that it can be easily estimated from the measure of the position of the doorpost. Indeed, from x P coordinate, we immediately obtain, using (5b), φ d = arctan(x P ).

x P = x d z d
Similarly from the y P coordinate of P, we can compute the distance r. Since z d = r cos(φ d ) (see Figure 3), we finally obtain r = h y P cos(φ d ) .

Now, to assign a desired value φ * d which must be achieved by φ d for task completion, we have to first assess the trajectory the wheelchair must follow for passing through the doorway.

C. Desired trajectory

We specify the desired trajectory that the camera should follow for a successful doorway passage as presented in Fig- ure 4. This trajectory has chosen since the wheelchair must be able to turn around the doorpost with a tolerance of m no matter what its starting position and orientation are. Consequently, the wheelchair must ideally take a tangential path towards an imaginary circle centered at the doorpost defined by a margin m. When the camera distance to the doorpost r is equal to m, it must take up a smooth circular trajectory about the doorpost as shown. The trajectory can thus be decomposed into two parts with the first one containing the tangential motion towards the circle (when r > m) and the second containing the circular motion around the doorpost (when r ≤ m).

The characteristic of the tangential motion toward the circle is that ideally the value of φ d should be equal to θ + arcsin( m r ). Thus if the desired value of φ d = φ * d , then

φ * d = arcsin( m r ) + θ if r > m. (7)
As r gets close to m, the wheelchair must switch to the circular motion around the doorpost. For such case it is obvious from Figure 4 that the desired value of the visual feature φ * d must be equal to θ + π 2 . Therefore, we can state that

φ * d = θ + π 2 if r ≤ m. (8)

D. Control law formulation

To achieve an asymptotically stable condition for (φ dφ * d ), we select as a classical Lyapunov candidate function

V = 1 2 (φ d -φ * d ) 2 . ( 9
)
Of course we have V = 0 when φ d = φ * d . We now have to compute V to deduce a stable control scheme. We have,

V = (φ d -φ * d )( φd -φ * d ). ( 10
)
We deduce φd from equations ( 4), (5b) and from the well known kinematics equation ẋ = -u -[ω] × x as

φd = ω + 1 r [Su + (lC + wS)ω] , (11)
where S = sin(φ d -θ) and C = cos(φ d -θ).

Then, from ( 7) and ( 8) we obtain

φ * d = - d(arcsin( m r )) dt = ṙm r √ r 2 -m 2 when r > m (12) and φ * d = 0 when r ≤ m. (13)
Again, from equations ( 4), (5a) we obtain ṙ as

ṙ = -Cu + (lS + wS)ω (14)
Now, by substituting ( 14) in [START_REF] Faragasso | Vision-based corridor navigation for humanoid robots[END_REF], and using equations ( 11) and ( 12) for φd and φ * d , we finally obtain an expression for V of the form

V = (φ d -φ * d ) (uA(r, φ d ) + ω(1 + B(r, φ d ))) (15)
where, when r > m

       A(r, φ d ) = S r + m C r √ r 2 -m 2 B(r, φ d ) = lC -wS) r -m wC + lS r √ r 2 -m 2 . . ( 16
)
and when r ≤ m in which case we recall that φ *

d = 0,        A(r, φ d ) = S r B(r, φ d ) = lC -wS r .
. Thus in both cases, we choose ω such that

ω = -k(φ d -φ * d ) -A(r, φ d )u 1 + B(r, φ d ) , ( 18
)
where k is a positive gain factor, so that V < 0. This ensures that the system is globally asymptotically stable and the visual feature φ d will converge asymptotically to the desired value φ * . Furthermore, when r > m, it can also be shown that ω = 0 when φ d = φ * d thus providing a straight tangential motion towards the circle. Finally, as soon as

φ d = φ * d = θ + π 2
(when r ≤ m) from ( 17) we have A = 1 r and B = -w r from which we deduce ω = -u r-w which naturally corresponds to a circular motion.

IV. EXPERIMENTS AND RESULTS

The robotized wheelchair used in this study is an offthe-shelf Penny and Giles system adapted to use ROS middleware. It is equipped with two Raspberry PI camera modules with 100 • field of view. The cameras are aligned at an angle of θ = 45 • with respect to the frame F r . The video stream from the camera runs at 15 frames per second and correspond to 808 x 480 pixels. The cameras were coarsely calibrated with h = 0.5m, l = 0.0m, w = -0.4m. It has to be noted that we focus our experimentation process on the right camera that was installed at the center right of the wheelchair body thus making l = 0. This is done in order to ensure the wheelchair is able to view the doorpost until the convergence of the control law. Visual feature extraction and control law computation were performed using the ViSP software [START_REF] Marchand | ViSP for visual servoing: a generic software platform with a wide class of robot control skills[END_REF].

The aim of the following experiments was to validate the convergence of the control law and to assess the effectiveness of the control system as a first step in developing it into a semi-autonomous system. Thus, autonomous door passage experiments were conducted where the wheelchair started at an unknown position from a specific door. The wheelchair was given a constant forward velocity (v = 0.2ms -1 ) and the visual servoing was applied to control the angular velocity ω while the wheelchair managed to pass the specific doorway.

A suitable value of the margin m is chosen based on the width of the wheelchair and the doorpost (see Figure 4). In the present case we set m as 0.2 m. The positive gain factor k was empirically tuned and set as 1.5. The results of the two cases presented here have been realised in the corridors of Inria building 12C in Rennes. Case I where the wheelchair started roughly r ∼ 1.9 meters away from the doorpost and Case II where the wheelchair started roughly r ∼ 1.5 meters. The servoing process is stopped as soon as the wheelchair is positioned in front of the doorway in Case I while it is stopped after the wheelchair loses the doorpost from its field of view in Case II.

The reconstructed trajectories of the wheelchair for Cases I and II with respect to the doorpost are given in Figure 5. These trajectories have been obtained from the odometry sensors that are used here for validation purposes. From the trajectories we can clearly observe the tangential motion of the wheelchair towards the imaginary circle centred at the doorpost and defined by m. Also, the circular motion of the wheelchair about the doorpost is clearly visible, especially in Case II.

In Figures 6 and7 we can observe the evolution of the visual feature φ d , the distance from the camera to the We can see from the figures that the visual feature φ d converges to its desired value of φ * d = θπ/2 ∼ -0.8 rads in both cases. Moreover, as expected, the servoing error (φ d -φ * d ) exponentially decreases. In particular, as r gets closer to m, the forward velocity u has an increasing impact on φ d . Thus we observe an increase in the servoing error: this is due to the fact that we do not have any estimation of the actual forward velocity of the wheelchair and we assume it remains constant for the control law computation. But as soon as the control law switches (i.e when r = m), the feature error again asymptotically converges to zero. Figures 6 and7 also show that the distance from the camera to the doorpost r reduces as desired and converges almost linearly to the margin m = 0.2 meters. Thus the above results validate the stability of the control law.

Furthermore, for Case II, Figure 8 shows a representative camera trajectory during the experimentation along with the images acquired by the camera at four instants during the servoing process. The red line represents the position of the doorpost acquired by the tracker from where the value of φ d is computed. The green line represents the position (φ * d ) in the image where the doorpost must be in order to achieve the desired trajectory. The cross represents the foot of the doorpost estimated by the system from which the distance r is computed. We can see that the foot of the doorpost is not visible as the wheelchair gets closer to the doorway (see Figure 8(c)). In that case we rely on odometry for estimating the position of this point.

Finally, when designing an assistive system for the task of doorway passage in a wheelchair, the main factor to take into account is that the wheelchair must not collide with the doorpost. We can clearly observe that the control law forces the wheelchair to respect the margin m by taking a circular motion around the doorpost (especially in Case II). The proposed control system is thus a feasible design as a first step in designing a semi-autonomous assistive system as well.

V. CONCLUSION

In this work, we proposed a visual servoing control scheme for autonomously passing a doorway in a wheelchair. The aim is to design a low-level control system which can be utilised, as a second step, in a semi-autonomous architecture where the user has considerable presence in the control loop.

A novel Lyapunov-based control scheme has been proposed to control the angular velocity of the wheelchair while maintaining a constant forward velocity as the wheelchair manages to pass through a doorway. Also, it has been taken into account that the wheelchair is able to position itself in front of the doorway no matter what its starting position is by respecting a margin m.

Experiments have been conducted on a robotized wheelchair. Results show the convergence of the control law and the feasibility of the system as a first step in designing a semi-autonomous assistive system. Future work aims at developing as mentioned a complete assistance system by taking into account the human-in-the-loop condition.

VI. ACKNOWLEDGMENT

Fig. 2 .

 2 Fig. 2. Door detection framework

Fig. 1 .Fig. 3 .

 13 Fig. 1. Definition of the robot and camera frames of reference (a),(b) and (c) along with the robotic platform (d)

Fig. 4 .

 4 Fig. 4. The desired camera trajectory shown in green

Fig. 5 .

 5 Fig. 5. The trajectory of the wheelchair with respect to the doorpost -Cases I and II

  This work is supported by APASH Oseo/Région Bretagne project and Inria Large-scale initiative action Personally Assisted Living. The authors would like to thank Daniel Guillard and Luc Le Pape from Ergovie and Eric Bazin from INSA, Rennes.

Fig. 6 . 1 -Fig. 7 .Fig. 8 .

 6178 Fig. 6. Evolution of φ d , r, φ dφ * d -Case II