Andrea Cherubini
email: cherubini@dis.uniroma1.it

Giuseppe Oriolo
email: oriolo@dis.uniroma1.it

Francesco Macri

Fabio Aloise

Febo Cincotti
email: f.cincotti@hsantalucia.it

Donatella Mattia
email: d.mattia@hsantalucia.it

Francesco Macr

A vision-based path planner/follower for an assistive robotics project

à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The development of service robots for healthcare and assistance to elderly or disabled persons is an active area of research. A typical use of robots in this context is directed to partial recovery of the patient mobility. Semi-autonomous navigation systems for wheelchairs are an example. In these applications, mobile robots must acquire a high degree of autonomous operation, which calls for accurate and ef cient position determination and veri cation for safe navigation in the environment. In many recent works, this has been done by processing information from the robot vision sensors [START_REF] Desouza | Vision for Mobile Robot Navigation: A Survey[END_REF].

Implicitly or explicitly, it is imperative for a vision system meant for navigation to incorporate within it some knowledge of the environment. In particular, map-based robot navigation systems can be based on user-created geometric models within the environment [START_REF] Carreras | Nicosevici: Vision-based localization of an underwater robot in a structured environment[END_REF]. The vision system will search and identify some known landmarks and use them, along with a provided map, to estimate the robot position (self-localization) by matching the observation (image) against the expectation (landmark descriptions).

Visual navigation that uses patterns based on an identi cation code, has been exploited in [START_REF] Kabuka | Position veri cation of a mobile robot using standard pattern[END_REF]. More recent works include a guidance system for the visually impaired, based on visual cues on the ceiling [START_REF] Ching | SINVI: smart indoor navigation for the visually impaired[END_REF], and a localisation system for autonomous wheelchairs based on light-emitting markers on the oor [START_REF] Sabatini | Toward low-cost vision-based 2D localisation systems for applications in rehabilitation robotics[END_REF].

In this paper, we present a vision-based path planner/follower designed for an indoor structured environment. The system enables the robot to travel to a target destination, by extracting, visually tracking, and following, known arti cial paths. This robot navigation system has been utilized within the ASPICE (Assistive System for Patient's Increase of Communication, ambient control and mobility in absence of muscular Effort) project [START_REF] Cincotti | Brain-operated assistive devices: the ASPICE project[END_REF]. The ASPICE system enables a disabled user to remotely control homeinstalled appliances, including the Sony AIBO, a commercial mobile robot.

The paper is organized as follows. In Sect. 2, the main features of the AIBO robot are described. Section 3 presents the vision primitives developed for the robot framework. The vision-based navigation scheme that we designed and implemented, is outlined in Section 4. Experiments are reported in Section 5. Other issues not covered in the previous sections are mentioned in the conclusion.

2

The Robot Platform: AIBO

The platform used in this work is a quadruped robot, Sony AIBO ERS-7, pictured in Fig. 1. The robot is equipped with 20 actuated joints, a CMOS camera, two distance sensors (on the head and on the chest), and other equipment not used in this work. A wireless card enables remote control. AIBO's real-time operating system APERIOS runs a specialized layer called OPEN-R, a cross-development environment based on C++. The robot behavior is programmed by loading executable and con guration les on a memory stick which is read by the on-board processor. From a kinematic viewpoint, AIBO can be considered as an omnidirectional robot, i.e., three velocities (forward v x , lateral v y , and angular v θ around the robot center) can be independently speci ed (Fig. 2). In spite of these features, AIBO presents many limitations. The most severe are:

the closed hardware prevents the addition of sensors and/or actuators;

since Sony does not release the code of its driver, we had to realize from scratch an ad hoc driver for this work;

vibrational and slipping effects during the quadruped gait cycle make odometric reconstruction very inaccurate in the long run;

the variable attitude of AIBO during its gait precludes the use of an external sensory system (e.g., based on infrared triangulation with a detector placed on the robot) for solving the localization problem.

Vision primitives

In order to extract and track the arti cial visual landmarks (VL) on the navigation path, speci c vision primitives have been developed and integrated in the driver framework.

Let us de ne the three reference frames which will be used (shown in Fig. 2):

the robot frame with origin xed at the robot center projection on the ground, x axis in the forward direction, y axis pointing left, and z axis vertical;

the camera frame with origin xed in the camera center, horizontal This is accomplished by a visual landmark tracker (VLT).

Straight white line extractor

A requirement of the robot driver is straight white line extraction. In order to be independent from color classi cation, the SWLs are detected by search only on the luminance signal I i x, i y . Thus, line edges are searched at pixels with a strong variation of luminance with respect to that of adjacent pixels. For each pixel located in p = [ i x i y] T the gradient of luminance ∇I(p) is computed, using the Roberts operator [START_REF] Roberts | Machine perception of three-dimensional solids[END_REF] as in [START_REF] Rofer | Robocup 2005[END_REF]:

s(p) = I i x + 1 , i y + 1 -I i x , i y t(p) = I i x + 1 , i y -I i x , i y + 1 |∇I(p)| = p s(p) 2 + t(p) 2 ∠∇I(p) = ATAN2(s(p), t(p)) (1)
where |∇I(p)| is the magnitude and ∠∇I(p) ∈ (-π, π] is the direction of the pixel luminance gradient (with respect to line i y = -i x and positive CW, see Fig. (marked in yellow in Fig. 2). Adaptive thresholding makes the edge detection algorithm more robust to varying light conditions, as compared to similar works implemented in environments where light conditions had to be controlled. Afterwards, by comparing (with another threshold test) the luminance gradient directions of near edge pixels, pixels belonging to straight lines are identi ed and grouped in subsets. Indicating with N SW L the total number of straight white lines extracted on an image, the line pixel subsets are noted: P SW L,j (j = 1...N SW L ). Each P SW L,j de nes a line detected on the image, and must contain at n SW L,min pixels.

We tested other edge detection algorithms (Sobel, Susan), but the Roberts operator showed better results, although the aforementioned algorithms are more ef cient for color space based extraction [START_REF] Wesolkowski | Comparison of color image edge detectors in multiple color spaces[END_REF]. Besides, due to its low computation time, this line extraction method was preferred to the Hough Transform technique, which we also experimented. In conclusion, the SWLE algorithm returns the coordinates of the pixels belonging to the N SW L lines extracted on the image frame (Fig. 2):

[ i x r i y r ] T SW L,j ∈ P SW L,j r = 1, . . . , n j j = 1, . . . , N SW L (2)
3.2

Coded square extractor

Along with the SWLs, we have used as visual landmarks a set of white coded squares laid on the ground. The identity and orientation of each square is uniquely identi ed through a black dots code, as in [START_REF] Carreras | Nicosevici: Vision-based localization of an underwater robot in a structured environment[END_REF]. The choice of binary coding, i.e., black and white, is aimed at using luminance variation, instead of color classi cation, for extracting the CS characteristics. We arranged from 1 to 7 black dots on the squares border, in order to generate con gurations which uniquely de ne the landmark identity (de ned by its label: ID) and orientation. The 15 landmarks which we used can be seen in Fig. 1.

In practice, edges of squares are searched within the set of edge pixels P e derived as in the SWLE. The robot frame coordinates of all edge pixels are derived from their image frame coordinates, with the projection which will be presented below. Then, the projected edges are tted with a square mask with the same dimensions as the CS, in order to detect the pixels belonging to the square perimeter. These de ne a subset

of P e for each square (see Fig. 2). Indicating with N CS the total number of coded squares extracted on the image, the subsets of perimeter pixels of each square l are noted: P CS,l (l = 1...N CS ). Each P CS,l de nes a coded square detected on the image, and must contain at least n CS,min pixels. Afterwards, the image is scanned along the segments (scanlines) leading from the center to the perimeter of the CS, and pixels on such segments are classi ed by using a binary segmentation which uses the mean value of I on the image as threshold. Corke [START_REF] Corke | Visual control of robots: high performance visual servoing[END_REF] showed how binary segmentation is affected by noise, threshold selection and edge gradient. However, in this application, the choice of binary coding and the use of binary segmentation only in a small image window, and with adaptive thresholding, reduces these problems. Finally, black dots are extracted by associating a suf cient number of near black pixels found on the scanlines.

In conclusion, the CSE returns, for each of the N CS detected coded squares: the image coordinates of the square center o and of the centers of the n dots black dots (respectively marked in red, and in cyan in Fig. 2):

[ i x o i y o ] T CS,l [ i x m i y m ] T CS,l l = 1, . . . , N CS m = 1, . . . , n dots n dots = 1, . . . , 7 (3)

Visual landmark tracker

The SWLE and CSE only take into account information from the current image, and give no long-term knowledge. Thus, consistent landmarks must be obtained by comparing the extracted landmarks over consecutive images. This is done by projecting the characteristic points of each extracted visual landmark VL from the image frame

[ i x i y] T V L to the robot frame [x y z] T V L .
Such mapping is not one-to-one, and can only determine the projecting ray of the point. However, in our application, since all the VLs are on the ground plane, the problem can be solved in closed form.

In fact, given the intrinsic parameters of the camera, the projecting ray in camera frame coordinates corresponding to each [ i x i y] T V L can be derived [10]. Besides, the homogeneous transformation matrix representing the camera frame pose with respect to the robot frame can be computed through the robot joint positions by using the Denavit and Hartenberg method as in [START_REF] Rofer | Robocup 2005[END_REF]. This matrix can be used, along with the projecting ray expression in camera frame coordinates, and with the ground plane geometric constraint z V L = 0, to derive [x y 0] T V L in the robot frame.

The robot frame coordinates of SWL points [x r y r 0] T SW L,j are then processed with

[b α] T SW L,j j = 1, . . . , N SW L ID l γ l [x o y o 0] T CS,l l = 1, . . . , N CS (4) 4
The vision-based navigation scheme

The vision-based navigation (VBN) scheme that we developed relies on a physical roadmap (Fig. 1) connecting all relevant destinations in the experimental arena, and on a visual servoing scheme. In practice, the robot plans and follows the path to destination according to visual data. Since the VLT returns the position of the visual landmarks relative to the robot, position-based visual servo control turns out to offer a better solution than image-based servoing [START_REF] Corke | Visual control of robots: high performance visual servoing[END_REF]. The roadmap is formed by streets and crossings, all realized in white adesive tape and laid on the ground. The vision primitives are used to identify streets (i.e., straight white lines) and crossings (i.e., coded squares). The robot autonomous behavior is represented by a Petri Nets based framework which has been successfully deployed on the AIBO Platform in the Robocup eld [START_REF] Ziparo | Iocchi: Petri Net Plans[END_REF]. The VBN Plan uses the following actions: Seek nearest landmark, Approach nearest landmark, Follow street, Plan path to destination. Note that at all times during the actions, the vision primitives are also executed for searching and updating perceived data, and the robot keeps the nearest seen landmark centered in the image plane, by solving the inverse kinematics problem for the head joints. The VBN Plan repeats the actions until the destination is reached. Transitions that start or terminate the actions represent events (e.g., Street seen, or Crossing near) which are triggered by conditions on sensed information (e.g., distance from a line). In the rest of this section, the four actions are brie y described.

Seek nearest landmark AIBO seeks VLs by exploring the environment, while avoiding collisions. The robot alternates prede ned forward and rotation steps.

Approach nearest landmark When it perceives a landmark (preferably a crossing) with the SWLE or CSE, and tracks it with the VLT, the robot approaches it, in order to get a better perception, which can be useful for localization purposes. It is a posture stabilization task with reference con guration de ned by the position and orientation of the landmark. The walk that drives the robot implements a proportional closed-loop control strategy for reducing the robot relative distance and orientation with respect to the landmark. This is done by setting:

v x = κ T x V L v y = κ T y V L v θ = -κ R θ V L (5)
In the case of SWL approaching,

[x y θ] T V L = [b sin α b cos α -α] T . Similarly, for CS, [x y θ] T V L = [x o y o -γ] T .
In both cases, κ T and κ R are positive given gains.

Follow street When the robot is suf ciently near to a street but has not yet detected a crossing, it should solve the path following problem for the SWLs, until at least one crossing is detected. The task can be achieved by using only control variable v θ and setting constant v x = v f > 0 and null v y = 0. Linear feedback control can be realized by tangent linearization of ḃ and α, in the neighborhood of (b = 0, α = 0). This gives a second order linear system which is controllable, and thus asymptotically stabilizable by linear feedback on v ϑ with an appropriate choice of positive gains k 2 and k 3 :

v ϑ = (k 2 b -k 3 α) v f (6)
Plan path to destination When a crossing is detected with the CSE, and tracked with the VLT, the robot has univocally identi ed its ID and orientation. This information, along with the CS position in the robot frame, and with the map, identi es the robot pose (position and orientation). The robot then utilizes a Dijkstra-based graph search to nd the shortest path to the destination. Depending on the result of the graph search, the robot will approach and follow another street (repeat the corresponding actions in the plan), or stop if the crossing corresponds to the desired destination.

Experiments

In this section, we will outline the main characteristics of the ASPICE system, and show the results of two experiments: the rst is a comparison between VBN and the two existing ASPICE navigation modes, while the second achieves autonomous battery charging (clips are available at: http://www.dis.uniroma1.it/∼labrob/research/ASPICE.html).

The ASPICE system enables users to drive several output devices (the domotic appliances or AIBO). The video feedback from the robot camera to the user is fundamental for increasing his/her sense of presence within the environment. Several input devices (including a Brain Computer Interface) can be used to select commands, for driving AIBO, through a Graphic User Interface (GUI). Since an objective of the project is compatibility with a variety of users and their level of disability, three navigation modes have been developed for AIBO: Single step, Semi-autonomous and Autonomous mode.

Each navigation mode is associated to a ASPICE GUI (see Fig. 3). In single step mode, the robot can be driven, with a xed step size, in any six directions (forward, backward, lateral left/right, CW and CCW rotations). Before performing the command, the robot veri es with the distance sensors if the step can be performed without colliding.

In semi-autonomous mode, the user speci es the main direction of motion: the robot walks continuously in that direction until it receives a new command (either a new direction or a stop) and concurrently uses arti cial potential elds, based on the distance sensors, to avoid obstacles. Finally, in the autonomous mode, only a target point in the environment is assigned by the user, and the robot travels to the target (e.g., the living room, the bathroom, or the kitchen). This is useful for quickly reaching some important locations; it is particularly useful for severely impaired patients, which are unable to send frequent commands. The practical implementation of the autonomous mode is the vision-based path planner/follower presented in this paper.

In a rst experiment (Fig. 3), the user is expected to drive the robot, by selecting commands on the ASPICE GUIs, from a start point to a goal point (denoted respectively by S and G on the image). The task is repeated 5 times for each navigation mode (single step, semi-autonomous, and autonomous) and results are averaged. Comparison between the three modes is based on execution time and user intervention (i.e., number of times the user had to intervene by clicking on the GUI for updating the commands). As expected, results (indicated in Table 1) con rm the qualitative properties of the autonomous mode. Note, however, that the best choice depends not only on user's preference and ability but also on the speci c task (e.g., position of the start and goal points in the environment, presence and position of obstacles).

In a second experiment, autonomous battery charging is tested. This experiment provides an additional testbed for VBN. In fact, the AIBO Charging Station is placed near a marked crossing on the roadmap, and as soon as the battery level is low, the robot autonomously moves to the station. The experiment is illustrated in Fig. 4. The robot position at consecutive time frames is shown while it approaches the roadmap, follows the street up to the battery charger crossing, detects it, and makes a turn in order to reach the charging station on the basis of the plan. All of the patients were able to master the system and control AIBO within 5 sessions.

The average grade given by the patients to their `personal satisfaction in utilizing the robot' was 3.04 on a 5-point scale [START_REF] Cincotti | Non invasive Brain-Computer Interface systems: towards their application as assistive technology[END_REF]. This is a very promising result, considering that the users were originally more accustomed to using and controlling the `traditional' ASPICE appliances rather than the mobile robot.

  This work has been partially supported by the Italian Telethon Grant GUP03562. This manuscript describes variations of a work submitted at the IEEE International Conference on Robotics and Automation 2007: the main contribution concerns the ASPICE vision-based navigation mode vision related topics have been extended in this version.

Fig. 1 :

 1 Fig. 1: ASPICE features: the robot Sony AIBO ERS-7(left), and the roadmap used for visionbased navigation, with the ID labels of each coded square (right).

c x axis pointing right, c y axis

  pointing downward, and c z axis pointing forward; the image frame with origin xed at the top left corner of the image, horizontal i x axis pointing right, and i y axis pointing downward.The VLs that we use are straight white lines (SWL) and coded squares (CS) placed on the oor. Thus, a straight white line extractor (SWLE) and a coded square extractor (CSE) have been developed. Moreover, the VLs should be located in sequential scenes.

Fig. 2 :

 2 Fig. 2: Relevant variables utilized in: extraction and tracking of straight white lines (above), and extraction and tracking of coded squares (below).

a

  least square error algorithm to identify the parameters [b α] T SW L,j of each line: b is the signed distance between the nearest line point L and the robot (positive for y L > 0), and α ∈ -π 2 , π 2 denotes the orientation offset. The CS characteristic points [x o y o 0] T CS,l and [x m y m 0] T CS,l are processed to obtain the identity ID l = 1...15 and orientation γ l of each square. VLs extracted and projected at previous frames are displaced according to the robot measured motion and compared with the current landmarks for checking consistency and ltering out false positives. The algorithm returns the characteristics of the VLs, validated in a suf cient number of consecutive frames 2):

Fig. 3 :

 3 Fig. 3: Comparing navigation modes: AIBO is driven from S to G with single step (above), semiautonomous (center) and autonomous (below) modes. The ASPICE Navigation GUIs for each mode are also shown; in each GUI, the home button brings back to the ASPICE main GUI.

Fig. 4 :

 4 Fig. 4: The battery charging experiment.

6

  Conclusions and future workA vision-based navigation system for AIBO has been developed. This system has been integrated in the ASPICE system, compared with the two previously designed ASPICE navigation modes, and tested by patients in a neurorehabilitation program. For two weekly sessions over 4 weeks, patients suffering from Spinal Muscular Atrophy type II and Duchenne Muscular Dystrophy have been practising with the ASPICE system.

Table 1 :

 1 Comparison between the three ASPICE navigation modes.

	single step	107	11
	semi-autonomous	83	5
	autonomous	90	1

execution time (sec) user intervention (clicks)


Franc ¸ois Ingelrest David Simplot-Ryl
email: david.simplot@lifl.fr

Ivan Stojmenović

Smaller Connected Dominating Sets in Ad Hoc and Sensor Networks based on Coverage by Two-Hop Neighbors

In this paper, we focus on the construction of an efficient dominating set in ad hoc and sensor networks. A set of nodes is said to be dominating if each node is either itself dominant or neighbor of a dominant node. Application of such a set may for example be broadcasting, where the size of the set greatly impacts on energy consumption. Obtaining small sets is thus of prime importance. As a basis for our work, we use a heuristic given by Dai and Wu for constructing such a set. Their approach, in conjunction with the elimination of message overhead by Stojmenović, has been recently shown to be an excellent compromise with respect to a wide range of metrics. In this paper, we present an enhanced definition to obtain smaller sets in the specific case where 2-hop information is considered. In our new definition, a node u is not dominant if there exists in its 2hop neighborhood a connected set of nodes with higher priorities that covers u and its 1-hop neighbors. This new rule requires the same level of knowledge used by the original heuristic: only neighbors of nodes and neighbors of neighbors must be known to apply it. However, it takes advantage of some topological knowledge originally not taken into account, that may be used to deduce communication links between 1-hop and 2-hop neighbors. We provide the proof that the new set is a subset of the one obtained with the original heuristic. We also give the proof that our set is always dominating for any graph, and connected for any connected graph. Two versions are considered: with topological and positional information, which differ in whether or not nodes are aware of links between their 2-hop neighbors that are not 1-hop neighbors. An algorithm for locally applying the concept at each node is described. We finally provide experimental data that demonstrates the superiority of our rule in obtaining smaller dominating sets. A centralized algorithm is used as a benchmark in the comparisons. The overhead of the size of connected dominating set is reduced by about 15% with the topological variant and by about 30% with the positional variant of our new definition.

I. INTRODUCTION

Wireless networking has become an essential part of new technologies, allowing nomadic users to keep in touch with their family or their office using miscellaneous devices such as laptops, PDA's or smartphones. The most deployed technology, known as WiFi, is still very restrictive as users must be within the range of a correctly configured access point. Densely populated area like airports or train stations may easily be equipped with needed infrastructure, but it is not the case for other areas, where multi-hop wireless links may be desirable. Multi-hop wireless ad hoc and sensor networks have been widely studied recently. They are composed of a set of hosts operating in a self-organized and decentralized manner, which can communicate together using a radio interface. As in any wireless network, transmission ranges are limited due to propagation path loss, health and energy considerations. Thus, each node must act alternately as a terminal and a router, depending on the needs of the system, leading to a cooperative multi-hop routing.

Energy conservation is one of the most challenging problems in ad hoc and sensor networks because batteries have very limited capacities. Two particular important problems are activity scheduling and broadcasting. In activity scheduling problem, some nodes decide to turn off their radio equipment to preserve energy, but should have at least one active neighbor to collect messages for them or take over some sensing tasks.

In broadcasting problem, one host needs to send a particular message to all the other ones in the network. Broadcasting is applied for route discovery [START_REF] Johnson | The dynamic source routing protocol for mobile ad hoc networks (DSR)[END_REF], synchronization, alarming and other operations. In a straightforward solution to this problem, hosts only need to blindly relay packets once to their neighborhood. However, this leads to the well-known broadcast storm problem [START_REF] Ni | The broadcast storm problem in a mobile ad hoc network[END_REF]: while consuming a lot of energy, this method does not even ensure a complete coverage of the network due to multiple collisions. Connected dominating sets may be used to solve these two problems.

In a connected dominating set (CDS), each node either belongs to CDS or has a (1-hop) neighboring node in CDS. In an activity scheduling solution, only nodes from CDS may remain active. To reduce the set of relaying nodes in a broadcasting task, only nodes marked as dominant have to act as routers to relay the broadcasting packet, so that the broadcasting is performed by retransmitting by as few nodes as possible. An efficient distributed algorithm, known as the generalized self-pruning rule [START_REF] Dai | Distributed dominant pruning in ad hoc networks[END_REF], has been proposed to compute CDS by using only local 1-hop information. In this paper, we propose an improvement to this rule: while requiring the same level of knowledge at each node, our enhanced rule elects fewer nodes as dominant. No additional message exchanges are required to apply it, and needed information may be obtained by using simple beacon messages. We also give theoretical proofs that the set of nodes elected by our algorithm is always dominant and connected, and provide experimental data demonstrating the superiority of our method.

The remainder of this paper is organized as follows: in the next section, we provide the definitions needed by our network model, while in Sec. III a review of existing work is proposed. In Sec. IV we describe our algorithm and give the proof that the designated set is indeed always dominant and connected. We then provide in Sec. V experimental data for our new method and comparisons with existing work. We finally conclude in Sec. VI and give some directions for future work.

II. PRELIMINARIES

The common representation of a wireless network is a graph G = (V, E), where V is the set of vertices (the hosts, or nodes) and E ⊆ V 2 the set of edges giving the available communications: if a node v is a physical neighbor of a node u (v lies within the communication range of u and thus receives its messages), then there exists (u, v) ∈ E. If we assume that all nodes have the same communication range, denoted by R, then the set E is defined by:

E = {(u, v) ∈ V 2 | dist(u, v) ≤ R}, dist(u, v)
being the Euclidean distance between nodes u and v. Each node u must be assigned a unique identifier id(u) (this may be, for instance, IP or MAC address). We define the neighborhood set N(u) of a node u as:

N(u) = {v ∈ V | v = u ∧ (u, v) ∈ E},
and the extended neighborhood set Ṅ(u) as:

Ṅ(u) = N(u) ∪ {u}.
The neighborhood function is naturally extended to sets of nodes: for a given subset V ′ ⊆ V , we have N(V ′ ) = u∈V ′ N(u). The degree of a node u is simply its number of neighbors |N(u)|, while the density of the network is the average size of the extended neighborhood sets. We measure the distance between two nodes u and v in terms of number of hops, which is simply the minimum number of edges a message has to cross to travel from u to v.

A graph

G D = (V D , E D ), where V D ⊆ V and E D ⊆ E, is dominant iff: ∀u ∈ V ∃v ∈ V D | v ∈ Ṅ(u).
In simple terms, each vertex is either dominant or 1-hop neighbor of a dominant node. The set E D is the subset of E that contains only edges between two dominant neighbors:

E D = {(u, v) ∈ V 2 D | dist(u, v) ≤ R}.
We assume that each node is aware of its 2-hop neighbors. This is achieved in two rounds of HELLO messages. First, each node informs its neighbors about its existence (and position, if this information is available). Next, each node sends message to all its neighbors informing about its 1hop neighbors (nodes from which HELLO message in the first round was received). In a mobile ad hoc network, each node (regularly or based on its mobility) emits additional HELLO messages, to maintain 2-hop information. When a node u receives from a node v such a message, u adds v to its neighborhood table, or updates the entry if it was already there. Too old entries are regularly removed from the table, as corresponding nodes have not signaled themselves recently.

If Euclidean distances between neighbors are needed, a straightforward method to obtain them is to let nodes add their position in their beacon messages. Positions may simply be acquired by using a location system such as the GPS (Global Positioning System). Other methods may be used, like deducing distances to neighbors by measuring the reception power of messages. In the graph representing the 2-hop knowledge at each node, there exists a difference between topological and positional information that may be used. If positional information is available, each node may conclude, based on their locations, whether two of its 2-hop neighbors (which are not 1-hop neighbors) are neighbors themselves. Such a conclusion cannot be made without position information (that is, based solely on topological information), and therefore no edge between such neighbors is assumed. Fig. 1 illustrates the difference between these two assumptions, considering node a. With topological information, in 1(a), the 2-hop neighbors {c, e, f, g} are assumed to not be directly connected, while it is not the case with positional information in 1(b). However, node c is always known to be a common neighbor of nodes b and d because it appears in both neighborhood lists.

III. RELATED WORK

As stated in Sec. I, the easiest method for broadcasting a packet is to have all nodes act as routers and relay it at least once to their neighborhood: this method is known as blind flooding. However, such a simple behavior has huge drawbacks: too many packets are lost due to collisions between neighboring nodes (this can lead to only a partial coverage of the network) and far too much energy is consumed.

A possible method to reduce the energy consumption is to determine a set of nodes, such that if only those nodes act as routers, the broadcasting is still achieved. A dominating set of vertices V D is suitable for this task, as long as it is connected (there exists a path in G D between any two vertices). Once such a set has been obtained, the broadcasting process becomes obvious:

• The source node sends the packet to its neighborhood.

• Each dominant node that receives it acts as a router and forwards it to its neighbors. • Each non-dominant node simply drops it. Besides this simple method, dominating sets can also be used as part of a more sophisticated broadcasting mechanisms [START_REF] Ingelrest | Optimal transmission radius for energy efficient broadcasting protocols in ad hoc and sensor networks[END_REF].

Another application of connected dominating sets introduced in Sec. I is activity scheduling, especially in sensor networks. In this problem, only a subset of nodes needs to keep active its radio equipment to form a backbone. The latter is used to forward messages from some sensors to the sink. Nodes that do not belong to the backbone may turn off their radio equipment, thus saving a lot of energy. When an event occurs in their neighborhood, they just have to turn on their radio module to transmit an alert to their dominant neighbors.

The simplest connected dominating set is the unit graph itself, and using such a set for broadcasting is the same as performing a blind flooding. The problem of computing the smallest possible connected dominating set is known to be a NP-complete problem [START_REF] Garey | Computers and Intractability: A Guide to the Theory of NP-Completeness[END_REF], [START_REF] Amis | Max-min D-cluster formation in wireless ad hoc networks[END_REF] and requires a global knowledge of the network topology, thus many centralized and distributed approximated algorithms for constructing efficient sets have been proposed. We will describe only one here, which is quite simple, efficient compared to others, and easy to describe. It is a centralized algorithm proposed by Guha and Khuller in [START_REF] Guha | Approximation algorithms for connected dominating sets[END_REF] as follows. Each node is initially colored as white. The densest node in the graph is then colored as black, and all its neighbors as grey nodes. Then, iteratively, while there exists some white nodes, the grey node with the largest number of white neighbors is selected, colored as black node, and all its white neighbors as grey nodes. Ties can be resolved by using some keys (identifiers). At the end, the set of black nodes is a connected dominating set, and its size is a good estimate of the limits one can reach with a localized heuristic. Some localized efficient heuristics have also been proposed and may thus be applied in decentralized networks.

Wu and Li proposed in [START_REF] Wu | On calculating connected dominating sets for efficient routing in ad hoc wireless networks[END_REF] an algorithm that has been later improved in term of message overhead in [START_REF] Stojmenović | Dominating sets and neighbor elimination-based broadcasting algorithms in wireless networks[END_REF], [START_REF] Stojmenović | Comments and corrections to 'dominating sets and neighbor elimination-based broadcasting algorithms in wireless networks[END_REF]. We describe here the latter because it requires no messages once 2-hop neighborhood information is available. A node is referred to as intermediate if it has at least two neighbors not directly connected. A node u is covered by a node v ∈ N(u) if N(u) ⊆ N(v) and key(v) > key(u). Nodes that are not covered by any neighbor are called inter-gateway nodes. A node u is covered by two connected nodes v ∈ N(u) and w ∈ N(u) if N(u) ⊆ (N(v) ∪ N(w)), key(v) > key(u) and key(w) > key(u). Inter-gateway nodes that are not covered by any pair of connected neighboring nodes become gateway nodes.

This rule has been further improved in term of number of dominating nodes by Dai and Wu [START_REF] Dai | Distributed dominant pruning in ad hoc networks[END_REF]: they proposed a more general rule where coverage can be provided by an arbitrary number of connected 1-hop neighbors. A modification of this generalized self-pruning rule has been proposed by Stojmenović in [START_REF] Stojmenović | Mobile Ad Hoc Networking[END_REF] in order to avoid similar message exchanges between neighbors. A node u is covered by a set of 1-hop neighbors A u if A u is connected, N(u) ⊆ N(A u ) and if each node in A u has a higher key than u. It has been further computationally simplified by Carle and Simplot-Ryl [START_REF] Carle | Energy efficient area monitoring by sensor networks[END_REF] as follows. First, each node checks if it is intermediate, that is, whether it has at least two neighbors not directly connected. Then each intermediate node u constructs a subgraph G h of its 1-hop neighbors with higher keys. In the graph composed by N(u), each node which has a lower key than u is removed, as well as the corresponding edges. The resulting subgraph is denoted by G h . If the latter is empty or disconnected then u is in the dominating set. If G h is connected but there exists a neighbor of u which is not neighbor of any node from G h then u is in the dominating set. Otherwise u is covered and is not in the dominating set. Dijkstra's shortest path algorithm can be used to test the connectivity (it is performed locally at each node). Non-intermediate nodes are never dominant. This rule is illustrated by Fig. 2, where black nodes are dominant, and identifiers of nodes are used as keys using the lexicographical order for comparisons. Nodes {d, e} are not intermediate because they do not have unconnected neighbors, they are thus not dominant. Graphs G h of nodes a({e, g, h}), b({c, f, i}), c({d, f, h}) and f ({g, h, i}) are all connected, and cover neighbors with lower priority. These nodes a, b, c and f are thus not dominant. Only nodes g, h and i change their status to dominant. Finally, V D = {g, h, i}.

The key of a node represents its priority, and it is assumed to be unique for each node. A simple priority can be the identifier of the node, but it may also be any collection of values with the aim of increasing the efficiency of the dominating set. For example, in [START_REF] Wu | Power-aware broadcasting and activity scheduling in ad hoc wireless networks using connected dominating sets[END_REF] the proposed key for a node u is:

key(u) = {energy(u), degree(u), id(u)}.
This means that nodes with higher energy level have a larger probability to be elected as dominant. If the energy levels are equal for two nodes, then the second key, degree, is used for comparison. Finally, if there is a tie with the degree as well, the identifier is used. Fig. 3 illustrates the differences obtained when using different kinds of keys: in 3(a), the keys are the identifiers of nodes, while in 3(b) the degree is used a the primary key and the identifier as the secondary one. Some other keys were later proposed and studied in [START_REF] Shaikh | New metrics for dominating set based energy efficient activity scheduling in ad hoc networks[END_REF].

Liu, Pan and Cao recently proposed in [START_REF] Liu | An improved distributed algorithm for connected dominating sets in wireless ad hoc networks[END_REF] an iterative localized algorithm for connected dominating sets, improving the concept of [START_REF] Wu | On calculating connected dominating sets for efficient routing in ad hoc wireless networks[END_REF] in terms of size of connected dominating sets, but at the expense of additional messages between neighboring nodes. The principle is to have nodes exchange messages with their neighbors (there are exactly 5 messages exchanged) in order to decide whether they should be dominant, using information received from their neighbors. At each step, each node that decides not to be dominant becomes passive; otherwise it is active and reevaluates this decision in the next round. There can be 6 messages exchanged if each node wants to know which of its neighbors are dominant. The authors claimed that this process prevents 'illegal simultaneous' removals from the dominating set, which may disconnect it. The experimental performances show that the computed set is efficient, but the communication overhead and the synchronization needed make it more difficult to apply in a distributed environment. Furthermore, beacon messages are also needed for the first step to take place.

In [START_REF] Basagni | Localized protocols for ad hoc clustering and backbone formation: A performance comparison[END_REF], authors proposed a performance comparison of various protocols for computing backbones in ad hoc networks, including the previously cited protocols. They measured miscellaneous parameters, like the computation complexity (needed time to create the backbone), the backbone size or even the energy consumption per node in order to determine which protocol suits the best to ad hoc networks. They concluded that Wu and Li's algorithm used in conjunction with the variant by Stojmenović, Seddigh and Zunic [START_REF] Stojmenović | Dominating sets and neighbor elimination-based broadcasting algorithms in wireless networks[END_REF] is an excellent compromise with respect to all the considered metrics, and overall far superior than any other approach that exists in literature. This study completely justifies our approach on working on this concept to propose a more efficient one.

IV. DOMINATING SETS BASED ON COVERAGE BY TWO-HOP

NEIGHBORS

In this section, we give an enhanced definition for computing a connected dominating set over a connected graph by using only 2-hop topological or positional information. Note that a very general definition for computing such sets was given by Wu and Dai in [START_REF] Wu | Broadcasting in ad hoc networks based on selfpruning[END_REF].

We also provide proofs that the set obtained with this new definition is: • a subset of the one obtained with Dai and Wu's heuristic,

• always dominating for any graph,

• always connected for any connected graph. We finally provide an efficient algorithm to apply this rule in a practical context.

A. Description

Our new definition of dominating sets is based on the observation that the method described by Dai and Wu [START_REF] Dai | Distributed dominant pruning in ad hoc networks[END_REF] requires 2-hop topological knowledge, because nodes need to know their neighbors and the neighbors of their neighbors, and that this knowledge could be better used by applying some enhanced concepts. To illustrate this, let us consider Fig. 4(a) where the generalized self pruning rule has been applied using the lexicographical order to determine the priority of nodes. The node a has been marked as dominant because it has two neighbors {b, f } not covered by any set of neighbors with higher priority. In fact, a is itself covered by {b, e, f } although e is not a 1-hop neighbor, and a could be marked as passive as illustrated in 4(b): the set of black nodes would remain connected and dominant. While e is not a direct neighbor of a, this does not prevent the latter from verifying whether any of its neighbors are neighbors of e, or whether {b, e, f } are connected, since e appears in the list of neighbors sent to a by its 1-hop neighbors, therefore such conclusion can be made. Similarly in 4(b), node b concludes that it is not dominant since all its neighbors {a, c, e} and itself are covered by its connected higher key 2-hop neighbors {e, f }.

Therefore, our new definition of the dominating set V D may be described as follows:

∀u ∈ V u / ∈ V D ⇔ (1)
∃A u ⊆ Ṅ(u) 2 \ {u}    ∀v ∈ A u , key(v) > key(u) A u connected Ṅ(u) ⊆ Ṅ(A u )
In other words, an intermediate node u is not dominant if there exists in its 2-hop neighborhood a connected set A u of nodes with higher priorities, such that each neighbor of u either belongs to A u or is a neighbor of a node in A u (i.e., A u covers Ṅ(u)).

that, when topological information is used, u is not aware of possible links between its 2-hop neighbors, and therefore may declare the set disconnected although in reality it may be connected (refer to Fig. 1). This can be avoided if nodes are able to determine their location: they can add it to their beacon messages, and thus links between 2-hop neighbors will be part of the knowledge of nodes. This variant is considered from an experimental point of view in Sec. V.

B. Proof of inclusion

Theorem 1: The dominating set V D computed with our new definition is a subset of the one obtained with the generalized self-pruning rule.

Proof: In the generalized self-pruning rule, a node u is marked as not dominant if there exists a connected subset of N(u) composed by higher priority neighbors such that Ṅ(u) is covered by this subset. As N(u) ⊆ Ṅ(u) 2 \ {u}, if there exists such a set in N(u), then it also exists in Ṅ(u) 2 \ {u}. We can thus deduce that nodes marked as not dominant by the generalized self-pruning rule are also marked as not dominant by our new definition, which can only remove more nodes from the dominating set. This proof demonstrates that our new definition cannot generate a larger set V D than the one obtained with the generalized self-pruning rule.

C. Proof of dominance

Theorem 2: For any given graph G = (V, E), each node u ∈ V either belongs to V D or is a neighbor of a node v ∈ V D .

Proof: Assume that the set V D is not dominating. Let u be a node which is not in the dominating set and has no dominant neighbor. Node u covered by A u , set of 2-hop neighbors with higher key values than u. Let v be the node with the highest key value in N(u). Node v has higher priority than u because of the existence of A u and the need for at least one node from A u to be 1-hop neighbor of u. Node v is not dominant because u is not covered by V D . It is thus covered by a set A v . Therefore u is neighbor of a node w from A v . Node w is therefore neighbor of u and has higher key value than v, which is a contradiction with respect to the choice of v.

D. Proof of connectivity

Theorem 3: For any given connected graph G = (V, E), there exists a path between any two vertices in the graph G D = (V D , E D ) produced by our algorithm.

Proof: We may assume that nodes are removed one by one in ascending order of priority instead of simultaneous removal and will show that the removal of any node u preserves the connectivity. Let vuw be a path via node u. Node u is removed because of the set A u , which is connected and covers its neighbors, as illustrated by Fig. 5. Moreover, no nodes of A u has already been removed since A u contains nodes with higher priority than u. This means that there are two nodes v ′ and w ′ from A u so that v is neighbor of v ′ , w is neighbor of w ′ , and v ′ and w ′ are connected in A u . This means that nodes v and w remain connected after removal of node u. We can thus deduce that a node u will never 'remove' itself from the dominating graph if there does not exist another path between any two components that are 'glued' together thanks to u.

All three proofs do not depend on the possible links between 2-hop neighbors. They are therefore valid for both topological and positional information. This does not mean that they will result in the same dominating set. On the contrary, they can differ, since these 'special' links may be used to make a set of neighbors with higher priorities connected.

E. Algorithm

It could seem at first that the algorithm used for Dai and Wu's heuristic described in Sec. III could also be used for our new definition: instead of computing the graph G h using the 1-hop neighborhood, it could be computed using the 2-hop neighborhood (minus the links between the 2-hop neighbors in Fig. 5. Removal of vertex u does not lead to a loss of connectivity between vertices v and w. Fig. 6. A new algorithm must be used for the enhanced definition. case of topological information). However this may not work correctly, as illustrated by Fig. 6: node u is not dominant because there exists a connected set {v, w} which covers {a, u}. However, the set of nodes of higher priority within the 2-hop neighborhood {v, w, x} is not connected. Using the original algorithm, u would have been marked as dominant.

We therefore describe here a new algorithm for testing whether or not node u declare itself as being in dominating set as follows. This algorithm takes O(k 2 d 2 ) time, where d is the average density.

1) Create a graph G h composed from the nodes of higher priority than u within the 2-hop neighborhood of u. 2) Find the connected components in G h ; this can be done by repeated application of Dijkstra's shortest path algorithm starting each time from an unseen node. Alternately, depth first search or breath first search protocols can be repeatedly applied to find all components. 3) If u and its 1-hop neighbors are covered by at least one component, then mark u as not dominant.

V. PERFORMANCES EVALUATION

In our simulation, we compared our enhanced definition with the original heuristic by Dai and Wu. We did not consider other methods because of their communication overhead for construction and maintenance and other significant drawbacks as verified in [START_REF] Basagni | Localized protocols for ad hoc clustering and backbone formation: A performance comparison[END_REF]. On the other hand, only beacon ('HELLO') messages are required for the two compared rules. We used a very efficient centralized algorithm by Guha and Khuller [START_REF] Guha | Approximation algorithms for connected dominating sets[END_REF] as the benchmark in our comparisons. That algorithm is a good measure of the ability of localized algorithms to produce small connected dominating sets, and a good indicator of progress made among localized protocols.

We use the following abbreviations:

• CH: Centralized heuristic.

• ED: Enhanced definition.

• EDPOS: Enhanced definition with positioning information, this means that nodes are aware of links between their 2-hop neighbors. • GSPR: Generalized self-pruning rule.

The parameters of the simulations are the following. The network is static and always composed of 500 nodes randomly distributed in a uniform manner over a square area whose size is computed in order to obtain a given degree. We define the latter as the number of nodes in a communication area. For each measure, we took the average value obtained after 500 iterations.

We give in Fig. 7 the average percentage of dominant nodes obtained by applying the different schemes for varying degree between 10 and 100. Not surprisingly, the centralized greedy heuristic performs the best in obtaining small dominating sets for all ranges, and for high degree like 50, only 5.15% of nodes are marked as dominant. As theoretically proven in previous section, our enhanced definition always performs better in giving smaller dominating sets in the average case. For the value of 20 nodes per communication area, only 26% of nodes are elected as dominant, against 28.19% for the generalized self-pruning rule. As expected, using positioning information brings even better results, and only 23% of nodes are then marked as dominant. For higher density (50) the percentage of dominant nodes even decreases down to respectively 11.56% and 10.32%.

We provide in Fig. 8 the overhead of the localized heuristics over the centralized one. Considering degree 30 in 8(a), GSPR has an overhead equal to 151%: this means that this heuristic elects 151% more nodes as dominant than CH. For the same degree, ED has an overhead of 129%, this is a difference of 22%. With positioning information, EDPOS scores only an overhead of 105%, the difference being equal this time to 46%. In summary, as illustrated in 8(b), the overhead of the size of connected dominating set was reduced by about 15% with the topological variant and by about 30% with the positional variant of our new definition, with respect to the generalized self prunning rule. These percentages appears rather stable with respect to the network densities, for dense networks.

We finally give in Fig. 9 a comparison of the protocols in terms of the dominant graphs they produce. In 9(a) is given the average degree of the CDS's (this is the average number of dominant neighbors per dominant node). Not surprisingly, this value is dependent on the average size of the CDS's: the smallest is the set, and the smallest is the average degree, so CH obtains the best results and GSPR the highest ones. An interesting remark is that the degree of the produced CDS's is relatively constant for varying degree of the unit graph. The degree of the localized algorithms varies between 3 and 4, while the average degree of the centralized heuristic is around 2. We also consider in 9(b) the average length of the edges between two dominant neighbors divided by R. Once again, this value is relatively stable and does not really depend on the degree of the unit graph. The three localized schemes obtain nearly the same results, while CH has higher values. This can be easily explained: in this heuristic, at each step, the node with the highest number of 'non-covered' neighbors is chosen, and we can expect this value to increase with the distance between the nodes.

VI. CONCLUSION

In this paper, we have presented an enhanced definition for computing a dominating set in ad hoc and sensor networks, using as a basis a work from Dai and Wu when 2-hop information is considered. We have proved that our rule gives a subset of the one obtained thanks to the original heuristic. We have also prover that this subset is always dominating, and connected for any connected graph. We finally provided experimental results which demonstrate the superiority of our rule over the original one in electing fewer nodes as dominant. This is especially interesting in the dynamic networks we considered, where fewer dominant nodes induces greater energy savings.

As future research associated to this paper, we would like to consider specific usage of our heuristic (e.g., broadcasting) in a realistic environment, where mobility might be involved. We believe that the gain obtained thanks to our enhanced heuristic may be emphasized in such environment, compared to an algorithm that requires additional messages exchange that could get lost due to mobility. Maintenance of connected dominating structure in the presence of moving nodes is also a nontrivial operation that should be specifically studied.

Fig. 1 .

 1 Fig.1. Positional information may be used at node a to determine links between its 2-hop neighbors.

Fig. 2 .

 2 Fig. 2. Dai and Wu's heuristic: V D = {g, h, i}.

  (a) key(u) = u. (b) key(u) = {|N(u)|, u}.

Fig. 3 .

 3 Fig. 3. Applying Dai and Wu's heuristic with different kinds of priorities.

Fig. 4 .

 4 Fig.4. Dai and Wu's heuristic and its enhanced variant. Identifier of nodes gives their priority, using the lexicographical order.

Fig. 7 .

 7 Fig. 7. Percentage of dominant nodes for varying degree.

Fig. 8 .

 8 Fig. 8. Overhead compared to the centralized heuristic.

Fig. 9 .

 9 Fig. 9. Comparison of the produced connected dominating sets.

ACKNOWLEDGMENTS

This work was partially supported by a grant from CPER Nord-Pas-de-Calais/FEDER TAC COMDOM, INRIA research action IRAMUS, CNRS National platform RECAP and NSERC.


F Aloise

Febo Cincotti
email: febo.cincotti@uniroma1.it.

F Babiloni

M G Marciani

D Morelli

S Paolucci

G Oriolo

A Cherubini

F Sciarra

F Mangiola

A Melpignano

F Davide

D Mattia

ASPICE: an interface system for independent life

Keywords: Technologies for Independent Life, Brain-Computer Interfaces, Robotic Navigation, Ambient Intelligence, Severe Motor Impairment

In the framework of the ASPICE project, a hardware/software system has been developed, which allows the neuromotor disabled persons to improve or recover their mobility (directly or by emulation) and communication within the surrounding environment. The system pivots around a software controller running on a personal computer, which offers to the user a proper interface to communicate through input interfaces matched with the individual's residual abilities. The system uses the user's input to control domotic devices -such as remotely controlled lights, TV sets, etc. -and a Sony AIBO robot. Preliminary results of a clinical validation are reported.

Introduction

In the field of rehabilitation, the main goal is to reduce disability consequent to any pathological condition, by means of orthesis, and the management of the disability related to the social disadvantage, by means of different types of aids.

The project described in this paper offers the opportunity to integrate into a prototype the core technologies (Brain Computer Interface, Domotics, Robotics), in order to prove that an application in every day's life is possible, with particular attention to people who suffer from diseases that affect their mobility (e.g. Spinal Muscular Atrophy, Duchenne Dystrophy, Amyotrophic Lateral Sclerosis). The residual muscular strength, if present, cannot be adequate for the utilization of conventional aids and in those conditions in which practical obstacles or security concerns could prevent a displacement from bed.

Overview of the Aspice project

The ASPICE project (Assistive System for Patient's Increase of Communication, ambient control and mobility in absence of muscular Effort) fosters its aims through the integration of disciplines brought from the partners of the development consortium.

The key elements of the system are: a) interfaces for easy access to computer: mouse, joystick, eye tracker, voice recognition, up to utilization of signals collected directly but non-invasevely from Central Nervous System (BCI); b) controllers of intelligent motion devices which can follow complex paths, based on a small set of commands (Robotics); c) information transmission and domotics, establishing an information flow between patient and controlled appliances (Domotics). The ASPICE architecture, with its input and output devices, is outlined in Figure 1. The figure shows that the system interfaces the user to the surrounding environment. The modularity is assured by the use of a core unit that takes inputs by one of the possible input devices and sends commands to one or more of the possible actuators. A feedback is provided to keep the user informed about the status of the system.

Achievements of the project

At this stage of the project, a prototype of the system has been implemented and is available at the Fondazione Santa Lucia for the validation with patients.

Input Devices

The system input devices are customized on the users'residual motor abilities: users can access the system through the aids they are already familiar with, and that have been interfaced to provide a low level input to a more sophisticated assistive device. On the other hand, the variety of input devices provides robustness against worsening of patients' abilities, which is a typical consequence of degenerative diseases.

The software implementation of this modular attitude benefited from the use of the ICon package [START_REF] Dragicevic | Input Device Selection and Interaction Configuration with ICON[END_REF] An extreme instance of input devices that can be interfaced to the system are Braincomputer interfaces (BCI's). A BCI allow an individual to interact with the environment through communication and control channels that do not depend on the brain's natural output channels (nerves and muscles) [START_REF] Wolpaw | Brain-computer interfaces for communication and control[END_REF]. In practice, a BCI detects voluntarily induced changes of brain activity (by measuring the electrophysiological signals) and transforms them into a control signal that are downstreamed to other units. [START_REF] Pfurtscheller | Motor imagery and direct brain-computer communication[END_REF][START_REF] Birbaumer | Slow potentials of the cerebral cortex and behavior[END_REF][START_REF] Schalk | BCI2000: A general-purpose brain-computer interface (BCI) system[END_REF][START_REF] Millán | Non-invasive brain-actuated control of a mobile robot by human EEG[END_REF]

Core Operation

The system core receives the logical signals from the input devices and converts them into commands that can be used to drive the output devices.

Its operation is organized as a hierarchical structure of possible actions, whose relationship can be static or dynamic. In the static configuration, it behaves as a "cascaded menu" choice system. It will be duty of the Feedback module to choose the most appropriate representation of the available choices (i.e. a text menu, a set of icons, etc). In the dynamic configuration, an intelligent agent tries to learn from use which is the most probable choice that the user will make.

Whenever the user select an action that, rather than changing the internal context of the core (i.e. selects a non-leaf item of the cascaded menu), it instructs the system to undertake a physical action, the Control Unit fulfils the user's demands by sending the appropriate control signals to the output appliances. Drivers are used to offer a homogeneous interface from the Control Unit's point of view.

Feedback

The user can select the commands and monitor the system's behaviour through a Graphic Interface. Like all other modules, inter-module communication is transported via TCP/IP socket; among others, this allows each module to be run on a different computer. The Feedback can significantly benefit from this, since a lighter an low power computer such as a palmtop PC or even a smart phone can be used to give the subject the feedback he/she needs, while being of minimum burden for the user.

Figure 2 shows a possible appearance of the feedback screen. In this case, choices are pictured as button-shaped icons. This is possibly the most simple interface, and for sure the most practical to be operate with a reduced set of available input signals. Appearance of the feedback screen. The Feedback application has been instructed to divide the window into three panels. In the top panel, the available selections (commands) appear as icons. In the bottom right panel, a feedback stimulus by the BCI (matching the one the subject has been training with) is provided; the user uses his learnt modulation of brain activity to move the cursor at the center to hit either the left or the right bars -in order to focus the previous or following icon in the top panel -or to hit the top bar -to select the current icon. In the bottom left panel, the Feedback module displays the video stream.

Actuators

The Aspice system allows the user to operate remotely electric devices (e.g. TV, fan, lights) as well as monitoring the environment with remotely controlled videocameras. Moreover, A robot navigation system has been developed, based on a small set of commands, which has been interfaced with the Aspice system. [START_REF] Oriolo | Real-time map building and navigation for autonomous robots in unknown environments[END_REF]

Clinical validation

Clinical validation of the prototype has been carried out with the voluntary collaboration of 20 adult subjects affected by motor disability of variable degree due to neuromuscular diseases. These subjects were asked to interact with the prototype and to provide information about how it was perceived in terms of augmented independence in daily life activity. The results indicated that the individual's needs and interest must be analyzed and reinforced. Environmental control is a strong positive reinforcement even if the subject partially regains some independency in operating domotic devices. It remains to be tested how positive reinforces could be integrated into a general training framework.

Conclusions

The quality of life of an individual suffering from severe motor impairments is importantly affected by its complete dependence upon the caregivers. An assistive device, even the most advanced, cannot substitute -at the state of the art -the assistance provided by a human. Nevertheless, it can contribute to relief the caregiver from a continuous presence in the room of the patient. Most importantly, the perception of the patient is that he has no more to rely on the caregiver for each and every action. On one side this increases the sense of independence of the patient, on the other side this grants a sense of privacy, that is almost absent in the case another human has to take care. For both reasons, the quality of life of the patient is sensibly improved.

Figure 1 .

 1 Figure 1. Outline of the architecture of the ASPICE project. The figure shows that the system interfaces the user to the surrounding environment. The modularity is assured by the use of a core unit that takes inputs by one of the possible input devices and sends commands to one or more of the possible actuators. A feedback is provided to keep the user informed about the status of the system.

Figure 2 .

 2 Figure 2. Appearance of the feedback screen. The Feedback application has been instructed to divide the window into three panels. In the top panel, the available selections (commands) appear as icons. In the bottom right panel, a feedback stimulus by the BCI (matching the one the subject has been training with) is provided; the user uses his learnt modulation of brain activity to move the cursor at the center to hit either the left or the right bars -in order to focus the previous or following icon in the top panel -or to hit the top bar -to select the current icon. In the bottom left panel, the Feedback module displays the video stream.

This work is partially supported by the Italian Telethon Foundation Grant GUP03562


F Cincotti

F Aloise

F Babiloni

M G Marciani

D Morelli

S Paolucci

G Oriolo

A Cherubini

S Bruscino

F Sciarra

F Mangiola

A Melpignano

F Davide

D Mattia

Brain-Operated Assistive Devices: the ASPICE Project *

Keywords: Technologies for Independent Life, Brain-Computer Interfaces, Robotic Navigation, Ambient Intelligence, Severe Motor Impairment

The ASPICE project aims at the development of a system which allows the neuromotor disabled persons to improve or recover their mobility (directly or by emulation) and communication within the surrounding environment. The system pivots around a software controller running on a personal computer, which offers to the user a proper interface to communicate through input interfaces matched with the individual's residual abilities. The system uses the user's input to control domotic devices -such as remotely controlled lights, TV sets, etc. -and a Sony AIBO robot.

At this time, the system is under clinical validation, that will provide assessment through patients' feedback and guidelines for customized system installation.

I. INTRODUCTION

The ultimate objective of medical care or treatment is the recover from the disease, or alternatively the improvement of the clinical symptomatology proper of the disease. In the field of rehabilitation, the main goal is the reduction of the disability provoked by any pathological condition that is the achievement of the maximum independence for a given clinical frame, by means of orthesis and the management of the disability related to the social disadvantage by means of different types of aids.

Recently, the growing evidence for the development of electronic devices capable of ameliorating the possibility to increase the communication and the management of the house-environment has opened new avenues for patients affected by severe movement disorders with preserved cognitive functions. These devices still suffer from limitations due to the necessity of a residual motor ability . * This work is partially supported by the Italian Telethon Foundation Grant GUP03562 to the institutions: Fondazione Santa Lucia, Dip. di Informatica e Sistemistica -Università La Sapienza, Telecom Italia Learning Services. # Corresponding author, Febo Cincotti, Fondazione Santa Lucia IRCCS, via Ardeatina 306, I-00179 Roma, Italy. f.cincotti@hsantalucia.it which might prevent some pathological condition from their use.

It exists today the knowledge to convey a cutting edge technological and scientific result in a way that the largest part of the population can benefit from it.

The project offered the opportunity to integrate into a prototype the technologies described in the three following sections, in order to prove that an application in every day's life is possible, with particular attention to people who suffer from diseases that affect their mobility.

A Brain-Computer Interfaces

"Brain-computer interfaces (BCI's) give their users communication and control channels that do not depend on the brain's normal output channels of peripheral nerves and muscles." [START_REF] Wolpaw | Brain-computer interfaces for communication and control[END_REF]. This is the most accepted definition of the so-called BCI's. In other terms, a BCI can detect the activation patterns of the brain, and whenever the user induces a voluntary modification of these patterns, the interface is able to detect it and to translate it into an action that is associated to the user's will.

Recent experiments have shown the possibility to use the brain electrical activity to directly control the movement of robots or prosthetic devices in real time [START_REF] Chapin | Real-time control of a robot arm using simultaneously recorded neurons in the motor cortex[END_REF]- [START_REF] Serruya | Brain-machine interface: Instant neural control of a movement signal[END_REF]. Different experience on BCI technology has been gathered. In USA, the group of Wolpaw has develop a BCI based on variations of EEG rhythmic activity, capturing the signals by means of an electrode cap to control the movement of a cursor on a computer screen [START_REF] Wolpaw | An EEGbased brain-computer interface for cursor control[END_REF]- [START_REF] Wolpaw | Brain-computer interface research at the Wadsworth Center[END_REF]. In Europe, the BCI system developed by the group of Pfurtscheller (Graz University) relays on an array with high number of electrode leads located over the scalp primary motor areas. They demonstrated that background EEG activity variation underlying motor imagery can control a prosthetic device for limited hand movements in a tetraplegic subject [START_REF] Pfurtscheller | Prediction of the side of hand movements from single-trial multi-channel EEG data using neural networks[END_REF]- [START_REF] Pfurtscheller | Motor imagery and direct braincomputer communication[END_REF]. A different approach has been proposed by Birbaumer et al., (Tübingen University), utilizing a BCI based on the slow cortical potential that can open a communication channel with "locked-in" patients [START_REF] Birbaumer | Slow potentials of the cerebral cortex and behavior[END_REF]- [START_REF] Birbaumer | The thought translation device (TTD) for completely paralyzed patients[END_REF]. Finally, Millàn's group (IDIAP Research Center, Switzerland) has pioneered the use of BCI's to manipulate robots -a pocket-sized wheeled robot, a standin for a smart wheelchair, is directed to navigate its way through the rooms of a model house [START_REF] Del R. Millán | Noninvasive brain-actuated control of a mobile robot by human EEG[END_REF].

Many other research group, more than it would be possible to review here, contributed to the advancement of the field. However, as it emerges from this concise review, control tasks based on human EEG have been addressed to simple application, such as moving a computer cursor [START_REF] Wolpaw | An EEGbased brain-computer interface for cursor control[END_REF], opening a hand orthosis [START_REF] Pfurtscheller | Motor imagery and direct braincomputer communication[END_REF], or drive a miniaturized wheeled robot. Beyond this pioneer approach, it is conceivable to extend the communication between disabled person and external environment towards mobility interaction. In particular, the recognition of mental activity will be put forward to guide devices (electronic wheelchair) or to interact naturally with common devices within the external word (telephone, switch; etc). This latter application of BCI technology has not been explored, yet; and it will represent the ultimate objective of this proposal.

B Robotics

The possibility of taking advantage of robotic technologies in the present research project stems from the fact that, in the last decades, the morphology of robots has undergone a remarkable mutation: from the fixed-base industrial manipulator, it has evolved into a variety of mechanical structures, characterized by the fact that the robot is capable of locomotion, either on wheels or legs. This ability has largely increased the domain of application of robots, once limited to the traditional factory environment, encompassing a number of different situations, including material and goods transportation, assistance to hospital patients and disabled people, automatic surveillance, space exploration and many others [START_REF] Del R. Millán | Noninvasive brain-actuated control of a mobile robot by human EEG[END_REF].

Navigation systems for sensor-based robot motion have made impressive advancements in recent years. Along the way, it has been necessary to address a number of theoretical and technological issues, such as: -perception: the robot should be able to acquire a reliable local map of the surroundings using its sensory system [START_REF] Oriolo | Real-time map building and navigation for autonomous robots in unknown environments[END_REF]; -self-localization: to execute a given task, a precise estimate of the robot location in a world coordinate frame must be maintained [START_REF] Dissanayake | A solution to the simultaneous localization and map building problem[END_REF]; -obstacle avoidance: unexpected or moving obstacles should be avoided by appropriate reactive manoeuvres [START_REF] Latombe | Robot Motion Planning[END_REF]; -motion planning: on the basis of an environment map (local or global), the robot must plan movements leading to the destination, safely and efficiently [START_REF] Laumond | Robot Motion Planning and Control[END_REF]; -motion control: the accurate execution of movements (essential whenever the robot entrusts its own integrity to the sensory system) requires the development of effective feedback controllers whose performance must be robust with respect to perturbations [START_REF] Oriolo | WMR control via dynamic feedback linearization: Design, implementation and experimental validation[END_REF].

While solutions are available for all the above problems, there is a gap to be filled concerning the application envisaged in the present project. In fact, the limited set of low-rate, high-level commands received from the user through the BCI must be integrated by an intelligence layer so as guarantee safe and efficient and task execution.

C. Assistive Technology

Assistive technology device means any item, piece of equipment, or product system, whether acquired commercially off-the-shelf, modified, or customized, that is used to increase maintain or improve the functional capabilities of an individual with a disability. Assistive devices can enhance the ability of an individual to perform everyday life activities, including interaction with the home environment.

Most homes today have appliances that allow for some degree of remote control -TV and hi-fi sets, air conditioning, alarm, etc. Domotics integrates and extends this ability throughout the house. A house with a domotics system probably will have at least one computer that will allow the homeowner to control different applications in various parts of the house remotely. A house that is equipped with a domotic system likely will have the ability to call the police or fire department by itself, unlike normal alarm systems. Domotic systems are often able to automatically gather data from several sensors and perform such things as adjusting lights, pull back curtains and lift window blinds without physical interaction. Also, the user can open and unlock or lock doors and gates remotely, control indoor temperature, set lights to go off, and doors to lock-all with a touch of a button. With a domotic system, you can even have your PC screen or TV set act as a home monitoring system, so that if someone is at the front door, you can see who it is without going to it. If you want to check what is going on in another room, you can do that with this system, provided that a compatible video camera is installed.

Though potentially useful for the disabled, those systems are not always designed to include the needs of this part of the population.

II. OVERVIEW OF THE ASPICE PROJECT

The ASPICE project (Assistive System for Patient's Increase of Communication, ambient control and mobility in absence of muscular Effort) has received in 2004 a renewable two-year funding grant from Italian medical research charity foundation TELETHON. The project The project is aimed at the development of a technological aid which allows neuromotor disabled persons to improve or recover their mobility and communication within the surrounding environment. This aim is particularly addressed towards those stages of the disease in which the residual muscular strength, if present, cannot be adequate for the utilization of conventional aids and in those conditions in which practical obstacles or security concerns could prevent a displacement from bed. The reduction of the patients' independence involves a consequent increase of caregiver work load. Nowadays, Information Technology offers the chance to develop devices which, if correctly integrated, allow relief from the described limitations. The aid is being developed by integrating the expertise of the partners of the project. The key elements of the system are:

1) interfaces for easy access to computer: mouse, joystick, eye tracker, voice recognition, up to utilization of signals collected directly but non-invasevely from Central Nervous System (BCI);

2) controllers of intelligent motion devices which can follow complex paths, based on a small set of commands (Robotics);

3) information transmission and domotics, establishing an information flow between patient and controlled appliances, minimizing structural modifications of the house (Domotics).

The ASPICE architecture, with its input and output devices, is outlined in Fig. 1.

ACHIEVEMENTS OF THE PROJECT

At this stage of the project, a prototype of the system has been implemented and is available at the Fondazione Santa Lucia for the validation with patients.

In fact, a three-room space in the hospital has been furnished like a common house, and the actuators of the system have been installed afterwards. Care has been taken to make an installation that would be easily replicable in most houses. The place has been provided with a portable computer to run the core program, and several aids (input devices) are available to cope with as many categories of users as possible.

A Input Devices

The system input devices are customized on the motor users' residual abilities. In fact users can utilize the aids they are already familiar with, and that have been interfaced to provide a low level input to a more sophisticated assistive device. On the other hand, the variety of input devices provides robustness to the patients' abilities' worsening, which is a typical consequence of degenerative diseases.

The software implementation of this modular attitude benefited from the use of the ICon package [START_REF] Dragicevic | Input Device Selection and Interaction Configuration with ICON[END_REF] ICon is an editor designed to select a set of input devices and connect them to actions into a graphical interactive application. ICon allows physically challenged users to connect alternative input devices and/or configure their interaction techniques according to their needs. With the help of a technician for the configuration, it allows users to configure the Aspice application to use their favorite input devices and interaction techniques.

A non exhaustive list of input devices that have been successfully included follows: -keyboard and mouse. Of course these are the most widely used input devices, and all users that are able to use them are incouraged to do so.

Fig. 2 Examples of input devices that have been interfaced to the Aspice system. From the top left, clockwise, a keyboard-mouse pair, a special joystick, a "leaf" button (can be operated with the neck), three pushbuttons (usually operated with the hand). In the background, the Graphical User Interface of the ICon package, that seamlessly connects several types of inputs to a ICon-aware module of the Aspice.

-Joystick, rollerball. If the loss of muscular strength makes the use of keyboard and mouse uncomfortable for the patient, or if spastic movements impede a correct use, devices like joysticks and rollerballs may reveal more appropriate. -Touchpad. For those patients whose strength is too low to allow lifting arms, the touchpad (like the ones available on many laptop computers) allows to control the cursor with the movement of one finger. -Head Tracker. If the motor disability is extremely impairing for the limbs, but the neck muscles are preserved, the user can use this device to control the cursor with the movements of the head. -Microphone. Some users have a well preserved speech, which might reveal to be the most reliable way to send commands. A speech recognition engine translates phrases into commands for the core module. -Joypads and Buttons. Joypads can be used to move the cursor towards the selected direction, almost like a joystick. Buttons can be used to send a very simple command -like "select" -or small sets of commands -like "move forward" and "select", if the patient can use two buttons. This kind of input must be used in conjunction with an appropriate feedback strategy, like a self-scanning set of icons. Buttons can be of the most diverse fashions, and actuated with the most disparate strategies (hand, elbow, chin, neck, teeth, puff), according to the most effective strategy for the individual users. When the user is not able to use any of the above mentioned devices, or when a degenerative diseases makes likely that in the future he/she will no more be able, the support team proposes him/her to start training on the use of a BCI.

The BCI training is performed in a laboratory environment, through the use of the BCI2000 software package [START_REF] Schalk | BCI2000: A general-purpose brain-computer interface (BCI) system[END_REF] and a clinical EEG equipment. When the user shows that he/she is able to select reliably one out of two or four possible items in this simplified environment, the BCI is connected to the Aspice system, and the user is asked to utilize the button interface (see Feedback section below) using the BCI control that he/she best masters.

B Core Operation

The system core receives the logical signals from the input devices and converts them into commands that can be used to drive the output devices.

Its operation is organized as a hierarchical structure of possible actions, whose relationship can be static or dynamic. In the static configuration, it behaves as a "cascaded menu" choice system. A xml initialization file, containing information about the structure is loaded upon login of the user, and is used to feed the Feedback module only with the options available at the moment (i.e. current menu). It will be duty of the Feedback module to choose the most appropriate representation of the available choices (i.e. a text menu, a set of icons, a topographical representation of the commands, etc).

In the dynamic configuration, an intelligent agent tries to learn from use which is the most probable choice that the user will make. This prediction can be made on the basis of (i) frequent sequences (after the user has turned the TV on, he most probably wishes to set the volume level); (ii) time of the day (at the twilight, the "light on" command has a higher probability; (iii) of environmental information (if the temperature is high, the user will probably wish to turn the fan on); (iv) of external events (if someone rings the door bell, almost surely the next commands will be "open the door").

Whenever the user select an action that, rather than changing the internal context of the core (i.e. selects a nonleaf item of the cascaded menu), it instructs the system to undertake a physical action, the Control Unit fulfils the user's demands by sending the appropriate control signals to the output appliances. Drivers are used to offer a homogeneous interface from the Control Unit's point of view. In some cases, previously existing drivers are utilized for the devices, whereas in other cases (e.g. the robotic platform device) the driver has been designed "ad hoc" for the specific system.

C Feedback

The user can select the commands and monitor the system's behavior through a Graphic Interface. Like all other modules, inter-module communication is transported via TCP/IP socket. This is most important in the case of the Feedback module, because this means that this module can run on a different computer from the one that is running the control unit. While, as mentioned, this is true for all modules, the Feedback can significantly benefit from this, since a lighter an low power computer such as a palmtop PC or even a smart phone can be used to give the subject the feedback he/she needs, while being of minimum burden for the user.

Figure 3 shows a possible appearance of the feedback screen. In this case, choices are pictured as button-shaped icons. This is possibly the most simple interface, and for sure the most practical to be operate with a reduced set of available input signals. In fact, in principle a user must only be able to master a single signal, that would be associated to the "select" action, leaving to the system the duty to move the focus on each icon for a pre-determined interval of time (auto-scan mode).

D Actuators

The Aspice system allows the user to operate remotely electric devices (e.g. TV, fan, lights) as well as monitoring the environment with remotely controlled videocameras. Moreover, a robotic platform can be controlled from the ASPICE Control Unit in order to accomplish few simple tasks.

While input and feedback signals are carried over a wireless (wifi or Bluetooth) communication, so that mobility of the patient is minimally affected, most of the actuation commands (with the obvius exception of the robot) are carried via a powerline-based control system, namely the X10.

X10 is a communications protocol that uses the house's electrical wiring as the medium for remote control of electrical systems. It was chosen since many components are available at a reasonable price, which is an uncommon circumstance for assistive devices. We have tested the benefits and the limits of this technology, and we are exploring other possibilities to cope with situations when the X10 is not advisable.

A non exhaustive list of electric and electronic devices that have been successfully interfaced to the system (through either a general purpose or a custom driver) is reported below.

-Ceiling neon lights. A X10 module has been installed in derivation to the wall switch. This required the intervention of a technician for a few minutes. -Bulbs. Installation of X10 devices that can be interposed between a bulb and its socket require no technician to operate. -TV set and HiFi set. The Aspice system is able to control any infrared remotely controlled (IRRC) appliance, thank to its IRRC emulator. A radio-wave repeater allows to control appliances that are not in the same room as the Central Unit computer. -Motorized mattress. Low voltage motors were made controllable by interposing X10 modules between the tethered remote control and the motors. This required about two hours work by a technician. -Buzzer. A X10 device that emits an alert sound can be placed in any room of the house (simply by plugging it into a mains socket) and operated at will. -Door opener. A radio controlled device that turns a key in the keyhole has been interfaced with the system, allowing the user to open any door. Its installation requires no cabling or modification to the door. -Network Cam. A motorized wifi network cam allows the user to watch a video stream of a wide set of wiews, which is usually one of the first actions that are lost by a movement impaired individual. Its installation is trivial, only requires a power source nearby, and can be configured in minutes. Moreover, The Robotics Laboratory of University of Rome "La Sapienza" has developed a robot navigation system based on a small set of commands, which has been interfaced with the Aspice system. In fact, as previously mentioned, the system should cope with a variety of disabilities depending on the patients' conditions. Therefore, three possible navigation systems have been designed for robot control. Firstly, the autonomous mode, which is based on high level commands (e.g. "walk to the window") to drive the robot, should be used by very impaired patients', which are unable to send frequent commands. Alternatively, depending on their residual abilities, patients can use a continuous directional joystick mode with basic obstacle avoidance, or a single step directional joystick to control the robot.

THE CLINICAL EXPERIMENTATION

The clinical experimental design has been curried out with the participation of subjects suffering from Spinal Muscular Atrophy type II (SMA II), Duchenne Muscular Dystrophy (DMD) and Amyotrophic Lateral Sclerosis (ALS). These neuromuscular diseases cause a severe global motor impairment which totally reduces the subject's autonomy and creates a non-stop assistance condition as essential. The clinical experimentation has been taking place at the Santa Lucia Foundation where patients have been admitted for a neurorehabilitation program; the whole clinical experimental procedure underwent the approval of the local ethical commette. Accordingly, all patients have been informed on the nature of the developed device and on the modalities of the clinical experimentation and they gave their voluntary informed written consent. To this aim, we generated a booklet containing the project overview and the clinicians performing patients' inclusion have been trained with all the required technical information. Once the patients had decided to participate to the study, the first step of the clinical procedure consisted of an interview and physical examination performed by the clinicians, wherein several levels of the variables of interest (and possible combinations) were addressed as follows:

-the degree of motor impairment and of reliance on the caregivers for everyday activities, as assessed by current standardized scale (Barthel Index (BI) for ability to perform daily activities); -the use of and familiarity with transducers and aids (sip/puff, switches, speech recognition, joysticks) that can be used as input to the ASPICE system; -the ability to speak or communicate, resulting comprehensible to an unfamiliar person (professional personnel have been devoted to monitor language ability); -the level of informatics alphabetization, measured by the number of hours / week spent in front of a computer and by the fact that the patient works / used to work with a computer.

The second step consisted of the training with the ASPICE system. The training sessions have been integrated with the rehabilitation program as Occupational Therapy. For a period of time ranging from 3 to 4 weeks, the patient and (when required) her/his caregivers have been practising with the ASPICE system, installed into a house-like environment. During the whole period, even if more intensively at its beginning, patients have had the assistance of an engineer and a therapist in their interaction with the system. This experience has been conveyed into a manual of the system, for the advantage of users and installers, and into teaching guidelines, that are available for teachers with less experience.

Data on two main aspects have been collected during the experimentation: -increase of the user's independence -reduction of caregivers' workload.

The index of daily activities performed (i) at the beginning of the training and (ii) when the user masters the system have been recorded and analyzed to evaluate the degree of effectiveness (ability to produce the desired result) of the system. In this regards, the individual degree of motor impairment and the used types of ASPICE inputs have been taken into account for system evaluation. Finally, a subjective index of satisfaction has been derived from a questionnaire administered both to the patient and to the caregivers.

CONCLUSIONS

The quality of life of an individual suffering from severe motor impairments is importantly affected by its complete dependence upon the caregivers. An assistive device, even the most advanced, cannot substitute -at the state of the art -the assistance provided by a human. Nevertheless, it can contribute to relief the caregiver from a continuous presence in the room of the patient, since the latter can perform some simple activities on its own, and most importantly, because the attention of the caregiver can be recalled by some form of alarm.

This means that in a clinical environment, the cost of assistance can be reduced, since the same number of paramedics or assistants can care after a higher number of patients (in non emergency conditions). In a home environment, the life of familiars can be less hardly affected by the presence of the impaired relative.

Most importantly, the perception of the patient is that he has no more to rely on the caregiver for each and every action. On one side this increases the sense of independence of the patient, on the other side this grants a sense of privacy, that is almost absent in the case another human has to take care. For both reasons, the quality of life of the patient is sensibly improved.

The ASPICE project innovates the concept of assistive technology device, bringing it to a system level -the user is no more given many devices to perform separate activities; rather the system provides unified (though flexible) access to all controllable appliances. Moreover we succeeded in the effort of including as many commercially available components in the system, so that affordability and availability of the components themselves is maximized.

The usefulness of the BCI-based interface has been recently investigated in other studies [START_REF] Kübler | Patients with ALS can use sensorimotor rhythms to operate a brain-computer interface[END_REF]. The improvement of quality of life brought by such a interface is expected to be relevant only for those patients who are non able to perform any voluntarily controlled movement. The advances in the BCI field are expected to increase the performance of this communication channel, thus making it effective for a broader population of individuals.

Fig. 1

 1 Fig.1Outline of the architecture of the ASPICE project. The figure shows that the system interfaces the user to the surrounding environment. The modularity is assured by the use of a core unit that takes inputs by one of the possible input devices and sends commands to one or more of the possible actuators. A feedback is provided to keep the user informed about the status of the system.

  at the Fondazione Santa Lucia IRCCS, the Robotics Laboratory by the Dipartimento di Informatica e Sistemistica of University of Rome "La Sapienza" and Telecom Italia Learning Services S.p.A.

Fig. 3

 3 Fig.3Appearance of the feedback screen. The Feedback application has been instructed to divide the window into three panels. In the top panel, the available selections (commands) appear as icons. In the bottom right panel, a feedback stimulus by the BCI (matching the one the subject has been training with) is provided; the user uses his learnt modulation of brain activity to move the cursor at the center to hit either the left or the right bars -in order to focus the previous or following icon in the top panel -or to hit the top bar -to select the current icon. In the bottom left panel, the Feedback module displays the video stream from the video camera that was chosen beforehand in the operation.