Abstract
Technology has recently been developed which offers an excellent opportunity to design systems with the ability to help people in their own houses. In particular, assisting elderly people in their environments is something that can significantly improve their quality of life. However, helping elderly people outside their usual environment is also necessary, to help them to carry out daily tasks like shopping. In this paper we present a person-following shopping cart assistance robot, capable of helping elderly people to carry products in a supermarket. First of all, the paper presents a survey of related systems that perform this task, using different approaches, such as attachable modules and computer vision. After that, the paper describes in detail the proposed system and its main features. The cart uses ultrasonic sensors and radio signals to provide a simple and effective person localization and following method. Moreover, the cart can be connected to a portable device like a smartphone or tablet, thus providing ease of use to the end user. The prototype has been tested in a grocery store, while simulations have been done to analyse its scalability in larger spaces where multiple robots could coexist.
1. Introduction
Recently, the proliferation of big supermarkets and shopping centers, added to the rapid development of robot technology, has produced robotic systems for helping people in these particular environments. Some specific types of applications, such as enhancing the physical capabilities of the user, helping in the transport of products by providing a mobile shopping basket, and improving the information given to the user in a more intelligent manner, have been described in scientific literature.
Assisting elder people in their environments is a way of significantly improving their quality of life. As an example, networks of sensors and actuators embedded in buildings (i.e., Ambient Intelligence) can provide useful functions. In fact, several European Union projects have focused on this particular subject. However, helping elderly people outside their usual environment is also necessary, to help them to carry out daily tasks like shopping.
Population ageing is a concern for most developed countries and it is forecast that it will accelerate in the years to come. The main goal in the field of assistance robotics is to help users in their everyday lives, in tasks such as moving around, handling objects, or interacting, possibly remotely, with other people, either friends or relatives, or professionals. In this context, robot devices are aimed not only at assisting people, instead of replacing them, but also at adopting the role of companions. Therefore, they must be designed to interact with untrained people, and a great effort must be made to enable users to accept them easily.
Moreover, these assistance robots may have to operate in unstructured environments that cannot be customized, such as homes, shops, or parks. This implies a need for the robot that is conscious of its surroundings, which requires the use of a variety of sensors. In addition, many of the things that need to be handled, such as food, do not come in standard sizes and shapes, as they often do in an industrial context.
In this paper we present a person following shopping cart and assistance robot named CompaRob, the companion robot (Figure 1), capable of easily helping elderly people to carry products in a supermarket. First of all, the paper presents a survey of related systems designed to help people in supermarkets and commercial malls [1–3] and to help people shopping and carrying their articles in a supermarket [4, 5] using different approaches, such as attachable modules and computer vision. After that, the paper describes in detail the proposed system: a mobile platform that implements person following behaviour that uses ultrasound and radio transmissions technology to provide robustness and ease of use from the point of view of the user. Finally, the paper analyzes the scalability of this system for increasing the number of robots in a simulated environment and its usability in a small grocery store.

CompaRob: a person following shopping cart assistance robot based on the Erratic robotic mobile platform equipped with a shopping basket.
2. Review of Developed Systems
2.1. Information and Help Systems
In the context of information and help systems, the services that those systems provide to the customers in malls and big supermarkets are mainly centered on indicating the location of certain shops and offering nonspecific advertisement information based on customer identification.
In [1] a system is described that has the ability to accompany the user in the search of a list of articles previously specified. The system does not carry the food. Moreover, the robot performs navigation and obstacle detection by using a camera and a laser range finder.
Using a Robovie IIF platform with humanoid aspect, in [2] a system is described that interacts with the persons in a mall and is able to give them directions about the localization of the products or even recognizing them through RFID tags. The user input is provided by means of a speech recognition system.
An intelligent multirobot system for big stores is proposed in [3], where the robots may develop cooperative tasks in order to detect available space in the shelves, checking the real location of the products by looking at their barcodes, knowing the number of articles in a shelf by using RFID tags, making an inventory of the available products, and helping customers to localize specific articles.
2.2. Shopping Cart Robots
In recent years, some studies have addressed the idea of developing an autonomous shopping cart. As an example, the possibility of developing a porting system for large-sized facilities like a shopping mall or an airport is studied in [4, 5]. To achieve this purpose, they have attached a drive system to a shopping cart, in order to transmit power to the cart wheels. To perform the desired person following capability, they use a stereo camera installed in front of the cart. One advantage of this system is that the person does not have to wear any attached element. In contrast, as they are using recognition by colour segmentation, the person has to wear clothes of a specific colour. Additionally, they have to face all the problems related to computer vision: high computational cost, light variability problems, background colour interference problems, and so forth.
A more complete prototype is proposed in [6], composed of two robots, a companion and a carrier. In order to localize the position of the companion, a set of cameras is used, which allows the detection of robots and humans present in the scenario. The carrier robot is able to follow the companion one, which is able to guide the customer to the desired position, as well as follow him while waiting for the next action to be performed. A system for tracking shopping carts in indoor environments is developed in [7]. This system consists of the installation of a computer and a video camera on the shopping carts, for them to be able to self-localize and send their position to a centralized system. We find this system interesting, as it could also be a first step to having an autonomous cart with person following capabilities, but as a disadvantage, it requires a complex system to be installed on the cart, and a building with preexistent infrastructure.
The study carried out in [8] concludes that elder people interact in a better way with robots carrying the shopping basket when they have a humanoid aspect and provide conversational capabilities, although this fact implies a high cost and complex system. In [9, 10] a shopping help system is developed, able to obtain the shopping list from a mobile device through a QR code, carry the shopping basket and show at each moment which articles are on it, and communicate with the supermarket computer system to inform about the location of articles. It uses a laser range finder, sonar, and contact sensors (bumpers) to navigate.
A special case is presented in the system proposed in [11], where the user controls the robot remotely by specifying the products to be grasped. Then, the robot navigates through the supermarket to perform the task autonomously. A lot of work is provided in the design of the artificial hand used to grasp a wide variety of food products. No details are provided in the paper about the localization and navigation techniques used by the robot. It seems a very useful system for handicapped people. On the other hand, some elderly people prefer being present in the supermarket to touch the products and make a more detailed selection.
2.3. Robot Person following Behaviour
Person following performed by a robot (see Figure 2) has traditionally been an important research topic in the machine vision area. It is natural to imagine that mobile robots of the future, especially those operating in public places, will be expected to have this skill. As an example, in [12, 13], two different efficient person-tracking algorithms for a vision-based mobile robot using two independently moving cameras are presented. With this approach it is possible to carry out real-time person following in indoor environments. In [14], the authors describe a robot with following function and returning function using a monocular camera.

Robot following an elder person using ultrasound and radio sensors. An ultrasound ring transmitter is attached to the elder person's leg. The robot can follow the elder person using the received signals.
A different human tracking method using template matching in range data obtained from a laser range finder (LRF) is described in [15]. The block matching is performed using stored templates, which correspond to appearances of human legs. In [16], the authors use laser scans and filtering techniques for tracking moving objects and persons. In [17], the authors use a laser-based person-tracking method and two different approaches to person following, direction-following and path-following, and a combination of both methods is proposed, a hybrid approach, with the robot automatically selecting which method to use. In [18] the laser-based leg detector is combined with a Kinect system to detect the user position, predict its trajectory, and make the vehicle follow it. In [19], the laser range finder is combined with two cameras to detect the user position and the presence of obstacles, while the main goal of the paper is to provide the robot with different behaviour strategies (e.g., Go To User, Follow User, Local Search, and Global Search) and motion ways (Free Space and Cluttered Space) selecting the appropriate one in every situation.
A robot tracking system based on a camera and a light-emitting device is used in [20]. Their purpose is to develop an autonomous mobile robot which can follow a human being. The robot with a camera looks at a human having a light-emitting device. The device consists of two LEDs. The robot can estimate the position of the human from the distance between two LEDs, and the direction, from the position of the LED on the captured image.
In [21], a double sensor system is used to perform person following by a robot. The robot can accompany a person using vision-based target detection and avoid obstacles with ultrasonic sensors while following the person. In [22] a camera is used to detect both the person to be followed and the environmental obstacles, while RFID tags are used to obtain the robot's localization.
In [23], a shopping help robot is proposed for visually impaired people, using RFID tags for product identification and a laser range finder for localization and navigation, while, in [24], RFID is mixed with visio techniques to identify the user in a crowd and track his or her position in order to make it possible to follow him.
As can be seen, several approaches have been developed using different kinds of sensor information: computer vision, laser range finder devices, light-emitting diodes used as a light pattern, ultrasonic sensors to detect obstacles, and so forth. In Table 1, a comparison between the reviewed systems is shown.
Comparison between main features of several reviewed systems.
n/a: information not available.
A: obstacle (and user) detection.
B: barcode for localization.
C: barcode for items identification.
D: RFID for localization.
E: RFID for items identification.
F: data connection with warehouse.
G: data connection with user.
H: teleoperation.
I: mutual interaction with other robots.
J: environment cameras for localization.
K: object manipulation.
The system proposed in this paper is a shopping cart robot that implements a person following behaviour. The objective is to have a simple and robust system, easy to use, specially for older people, and that represents a relatively low cost solution compared to other approaches. The proposed person following system is based on a combination of radio and ultrasound signals to perform measurements between the person and the robot. Once the system takes a pair of measurements, a simple operation estimates the position of the human to be followed. The implementation requires a couple of measurement devices installed on the robot and an ultrasound ring attached to the person's leg. This detection technique, as different to other implementations, avoids the use of cameras and the large amount of computation necessary to image processing.
This system has already proven its efficiency in the context of the EU GUARDIANS project [25, 26], where the risky and low visibility environments required a robust and reliable system. Its strong points are the simplicity, robustness, and its independence to changes in visibility conditions. Compared to other proposed methods, computational requirements are low, so it is possible to implement the whole system in a cost-effective programmable board.
3. System Description: The Shopping Cart Assistance Robot
In this section, the proposed shopping cart assistance robot named CompaRob is presented. The temporal development of the system and the achieved milestones are represented in Figure 4. To the best of the authors' knowledge, it is the first shopping assistance robot that combines modularity, simplicity, and ease of use at a reasonable cost that is especially targeted to help the elderly people in such a common activity like doing shopping. As it will be described below, it is based on a commercial robotic platform and several accessories like an RFID tag reader that provides additional control of the products that are being added to the cart. Moreover, when the system is connected to a mobile device like a tablet computer or smartphone, it provides additional information to the user and allows the adjustment of different person following parameters.
3.1. The Mobile Platform
The CompaRob is based on the Erratic-Videre mobile robot platform [27], a platform which has been equipped with a shopping basket. It is a compact and powerful platform and is capable of carrying a full load of robotics equipment, including an integrated PC, laser range finder, and other sensors. The selection was motivated because it is a simple platform, reasonably priced, highly expandable, and robust. Additionally, this platform is very flexible, as it has been designed to work either with an on-board PC, using the power supply from the robot batteries, or with a laptop, with its own battery. Additionally, the hardware is compatible with Player/Stage [28] and ROS (Robot Operating System) [29], both open-source and widely employed in the robotics community. The platform is equipped with three 12V 7AH lead-acid batteries, providing a reasonable autonomy for the described purpose (around 2 hours for a normal shopping use). The platform weighs 13.5 Kg including the base, batteries, and accessories. The supported payload is 20 Kg.
3.2. Ultrasound Localization System
The localization system used in the shopping cart robot has been adapted from the previous results obtained in the field of person following under emergency situations and low visibility conditions [30, 31]. This system uses ultrasound-based signals to make measurements between two points (see Figure 3). It also uses radio signals for synchronization purposes. The developed ultrasonic localization system involves the following devices:
Hagisonic sonars (transmitters/receivers): two different models of ultrasonic sonar [32] have been studied and used for implementing time difference of arrival (TDoA) in order to derive position information. Those sensors (HG-M40DAI and HG-M40DAII) are ultrasonic object detectors and range finders that offer very-short-to-medium-range detection. The AII model offers a special narrow directional response, 25~30 degrees in vertical direction to minimize the reflection of unwanted sound waves. Radio modules, standard radio transmitter/receiver working at 433 MHz: those modules allow the modulation of digital signals up to 1 KHz at maximum distances of around 20–30 m. Those wireless modules are intended to provide a synchronization mechanism, by sending real-time signals between the different robots that could be present. Handy Board, general purpose board based on the 68HC11 microcontroller [33]: it is widely used in the field of mobile robots for educational, hobbyist, and industrial purposes.

Position determination by trilateration. The robot has an estimation of the elderly position by doing two independent measurements.

CompaRob shopping cart temporal development evolution and summary of the achieved milestones.
3.3. TDoA with RF and Ultrasound
With this approximation, we try to determine the 2D position of a physical target (i.e., a person) with respect to a mobile robot by using the time difference of arrival of two different signals each one with a known propagation speed (i.e., radio and ultrasound; see Figure 5).

TDoA principle for measuring distances between robots by using the time difference of arrival of two different signals (electromagnetic and ultrasonic) each one with a known propagation speed.
The first step was to determine the feasibility of the use of ultrasound signals to obtain distances. In order to do that, several laboratory experiments have been done to evaluate some available ultrasound transmitters/receivers using wires to connect both transmitter and receiver. Those sensors (HG-M40DAI and HG-M40DAII) are ultrasonic object detectors and range finders that offer very-short-to-medium-range detection. The AII model offers a special narrow directional response, 25–30 degrees in vertical direction to minimize the reflection of unwanted sound waves. We obtain larger transmission distances by removing the frontal cover of the sensors that acts as an anisotropic filter.
After performing those experimentations, we concluded that the measurement of the time of flight of ultrasound waves could be a feasible way of estimating distances. The estimation of distances by measuring the time of propagation of ultrasonic waves can be useful for several localization methods based on the knowledge of some distances. Further experimentation demonstrated that this technique offered a good performance of the sensors for distances up to 7-8 meters.
The next step was to introduce synchronization radio signals in order to estimate distances between two independent nodes (i.e., a robot and the person or two robots). To achieve this purpose, the theoretical idea of the time difference of arrival (TDoA) was implemented (see Figure 5). The idea is to measure the time of flight of the ultrasound signals using the radio signal as synchronization method. The time of flight of the radio signal is considered constant for the range of distances that we are going to measure (from 0 to a maximum of 8 meters).
The most challenging task for implementing the TDoA was to find a hardware platform that could take those measurements, being able to control both, radio and ultrasound sensors. After exhaustive research about its capabilities, the Handy Board [33], widely used for teaching purposes in Jaume I University, was used. Some additional electronics were necessary for coupling those components to the board (see Figure 6). The programming of the board was done with a mixture of C programming language for the global routine and assembly language for the real-time reading and writing of signals.

Radio/ultrasound measurement system module implemented with a Handy Board, a general purpose board based on the 68HC11 microcontroller.
The measurement capabilities of the boards were tested, and the result is that the obtained measurements were quite accurate, being able to measure up to 8 meters with a maximum error of around 3 cm.
3.4. Trilateration for Position Determination
The prototype presented in this paper uses a couple of measurement boards to determine the 2D position of the person. The two radio/ultrasound measurement systems (see Figure 7) are separated by a known distance

Erratic robot prototype, to be used as a shopping cart, equipped with a couple of radio/ultrasound measurement systems.
With this configuration, and using an algebraic trilateration method (see [34] for a nonalgebraic approach based on constructive geometric arguments), we can measure the distances from an emitter located at P point (see Figure 8). The P point is the position of the person that we want to locate (i.e., the elderly; see Figure 3).

Trilateration principle. (a) The P point in the intersection of
In order to obtain the
Knowing both center points
Solving this system of equations, we obtain the point
The equation for the y coordinate provides two solutions (positive and negative), but we only use the positive solution because ultrasound sensors are only receiving signals from both y positive quadrants, as they are mounted in positive y direction and not in negative y direction. Once we know the relative position of the P point with respect to the robot, a control algorithm computes the resultant linear and angular speeds for controlling the robot.
3.5. Trilateration Geometrical Error Study
In order to assess the error produced by individual measurements when using the above trilateration method, a geometrical study was made for the most common configurations.
When using the implemented trilateration technique, two independent measurements
As an example, in Figure 9, we present a geometrical representation of the uncertainty areas in which the point

Trilateration geometrical error study when the emitter is moving away in diagonal line. Distance between receivers: 50 cm. Emitter-Robot distance: 1–8 m. Emitter Angle: 40°. Angular uncertainty: 14 + 17°.
Even this theoretical error study reveals that the position determined by the method can be affected by an important horizontal error; in practice, the individual measures obtained from the devices are much smaller than the theoretical maximum, so the position of the person can be accurately determined and tracked by using a simple filtering technique.
3.6. Attachable Ultrasound Ring
The shopping cart assistance robot is able to follow an elderly person that has an ultrasound ring attached to his or her leg (see Figure 10). This prototype device is composed of a 9 V battery, a radio transmitter, and five ultrasound transmitters. The device is continuously emitting radio and ultrasound signals in order to indicate to the assistance robot the position of the elderly person.

An ultrasound ring transmitter is attached to the elderly person's leg. The robot can follow the person using the received signals.
The particular design of the prototype was chosen so that it can be easily attached to the leg and simple in usage from the point of view of the user (only requires to use an on/off switch). Its design is simple and discrete, and its simplicity implies also reliability. It is also important to take user acceptability into account, especially when designing products that are designed for the elderly.
After testing the system with a small pilot group and gathering the opinion of several potential users, we can conclude that the device is well accepted among elderly people. It would even be desirable not having to use any attached device, the ultrasound ring is a necessary element for the robot to work, and it does not affect in any way the mobility of the person.
3.7. RFID Tag Reader
The CompaRob has been equipped with an RFID tag reader, allowing it to keep control of the products that are being added to the basket (see Figure 11). The list of products is sent to a user interface (described in Section 3.8) so the user can see the list of purchased products and their total cost. The tag reader is a Skyetek SkyeModule M2, which connects to the on-board computer using a USB interface.

RFID tag reader, allowing keeping control of the products that are being added to the basket (a). The list of products is sent to a tablet computer (b).
The software architecture includes a C++ server running in the robot's on-board computer, which provides a TCP/IP interface to an Android device. At the moment of writing the server is running on a Windows Virtual Machine, due to some drivers issues, which made it impossible to run the server directly on the Linux operating system and ROS platform.
3.8. User Interface
The CompaRob is connected wirelessly to a tablet computer or smartphone, allowing the user to check the shopping list. Moreover, the user can control some parameters of the robot related to the person following functionality (described in Section 4) by means of a setup configuration screen.
In this context, the user is able to, for example, adjust the following distance, as well as modifying the following speed and the robot turn delay (see Figure 12). This will allow the user to tune the way he/she wants the robot to perform. Moreover, by using this interface, the user can know other robot parameters, like the battery status and so forth.

User interface to get the actual products' list (a) and adjusting some parameters related to the robot person following navigation (b).
4. Person following Functionality
The person following functionality is implemented in a computer program allocated on the on-board PC of the robot. The PC runs an Ubuntu 12.04 LTS distribution, and the robot is controlled using ROS, thanks to the erratic_player node that wraps the Erratic driver found in Player project. The system functionality is partially implemented in Java (the interface to the measurement units and the positioner) and Python (using rospy, a pure Python client library for ROS), to implement the person following functionality and to interface with ROS and the hardware platform controller.
The person following functionality is implemented using a 4-state machine (see Figure 13). Each state represents one different position of the followed person with respect to the robot (see Figure 14). The 4 states are described as follows:
Follow: the current position Wait_1: the current position Wait_2: in this state, the person has moved to the side of the robot and leaves the coverage area of ultrasound receivers. This situation happens, for example, when the person wants to leave something on the basket, or when the person changes direction. In this case, the robot waits for a configurable period of time (turn delay), just in case the person comes back to the coverage area. If the person comes back to the coverage area, the new state will be Wait_1 or Follow. Otherwise, after waiting an amount of time, the program will transition to the Search state. Search: the robot starts rotating slowly in order to search for the person. This situation happens, for example, after the person has changed direction. Once the person has been located, the possible next states will be Follow or Wait_1.

Person following behaviour 4-state machine. Each state represents a different position of the followed person with respect to the robot.

Person following behaviour: the person can be in one of the 3 shown regions, corresponding to Wait_1, Wait_2, and Follow states.
When the program starts its execution, both measurement units installed on the robot are queried. Depending on the read value, the initial state will be one of the following: Follow, Wait_1, or Wait_2. After the initialization, the program will evolve as described above.
5. Simulation Results
Several 2D simulations of the robots using Player/Stage and ROS have been carried out to test the feasibility and scalability of the presented system and are described below. The videos of the simulations are available online [35].
5.1. Small Grocery Store Simulation
The first simulation recreates a small grocery store (see Figure 15), in which there are five people doing shopping and five robots each one following one of the five persons. The environment is based on a small grocery, consisting of three corridors with shelves on each side. The customers move along the corridors and stop in front of the shelves to pick a product.

Simulation of five persons and robots on a small grocery, consisting of three corridors with shelves on each side.
We were particularly interested in the scalability of our system; that is, how would the system perform as the number of robots increases? Due to the interferences between the sonar sensors of different robots, the frequency of the pulses is decreased. In this simulation the positioning system provides new measurements at a rate of merely 2 Hz. Such low frequency allows the group of robots to make measurements of each person in turn, without overlapping.
Robots are programmed to follow the persons at a target distance of 1 m. Each robot follows the person depicted in the same colour. Figure 16 presents the distances between each person and the corresponding follower robot, during an interval of 70 seconds. In such an interval, a common person performs between three and five stops and motions.

Person-robot distances between each person and the corresponding follower robot, during an interval of 70 seconds.
When a person starts to move, the distance to the robot increases momentarily, with peaks at about 2.2–2.4 m, since the velocities of robots are limited, and the feedback control loop is purely proportional. But the positioning system guides the robot towards the person, following the appropriate path until the person stops again in front of a shelf.
Upon the person approaching the robot below a given threshold, it will move slowly backwards to keep the preselected distance (e.g., see the distance of the robot r_5 in the plot between seconds 60 and 70), according to the person following functionality described in Section 4.
5.2. Large Grocery Store Simulation
The previous follower algorithm works only for small distances. We have tested a more complex follower behaviour in a larger shopping environment. Figure 17 depicts the new simulation environment, consisting of a larger shop with a higher number of corridors and shelves. The robots are programmed to calculate a trajectory towards the position of the person, given the map of the environment, and a proper self-positioning system. We have run a simulation of the five people doing shopping over a period of six minutes. Distances between each person and the corresponding follower robot are shown in Figure 18. Each robot updates the position of the followed person at 1 Hz. The preprogrammed distance is 1 m and most of the time the robots remain within a distance to the person shorter than 2.5 m. But the distance may increase due to the delay in the update, and the moving obstacles (other persons and/or robots). With our available sensors, the positioning of the person can be reliably determined up to a distance of 8 m (threshold shown in the figure). Two robots (r_1 and r_4) approach such distance in two instants of the simulation. In such cases, the robot should stop and wait for the person to come within the detection distance once more.

Simulation of five people shopping in a larger environment.

Person-robot distances in the large shop environment. A detection threshold for the ultrasound sensor is also shown.
6. Field Experiments (I): Person following Functionality in a Small Grocery Store
To evaluate the usability, feasibility, and most convenient robot following parameters in a real environment, several experiments were carried out in a small grocery store (Figure 19). The system was tested with a small pilot group of elderly people, with the aim to get some feedback related to usability and adequate robot parameters. All of them were required to do their usual shopping, following approximately the trajectory shown in Figure 20.

The shopper with the CompaRob in a small grocery store used as a real validation scenario.

Approximate floor plan of the grocery store, the real validation scenario. The trajectory followed by the shopper and the robot is marked in a dotted line.
Two different linear following speeds were selected, first at 0.2 m/s and then at 0.3 m/s, following the preferences of the users. For each selected speed, the distance from the robot to the person was recorded during an interval of 70 seconds, as in the first simulation experiment. The aim now is to test the robustness of the proposed following method at low measuring rates (i.e., 2 Hz) coming from the positioning system. Also, different following distances were tested

Person-robot distances in the real grocery environment for different following distances
As can also be observed, when the person does a stop to pick something up, the distance decreases as the robot approaches the person. This happens faster in Figure 22 as the linear speed is 0.3 m/s, slightly greater than in the experiments depicted in Figure 21 (0.2 m/s). When the person approaches the robot, for example, to put something into the basket, the robot remains static if the user approaches from the side, according to the state machine explained in Section 4. Contrarily, if the user approaches from the front, the robot begins to move slowly backwards to keep the predefined distance, providing more freedom to the user when moving along the corridor.

Person-robot distances in the real grocery environment for different following distances
For the tested following distances, the robot behaves adequately, but if greater distances were required (i.e., a user that prefers a greater robot distance), an obstacle avoidance system should be used to avoid collisions. To tackle this issue, the platform is also equipped with a Hokuyo URG-04LX Scanning laser range finder (LRF) [36] and uses a local planner for obstacle avoidance, based on the Dynamic Window Approach [37] to local navigation on a plane. Given the reference position of the person to follow and a costmap obtained by a laser range finder, the local planner produces velocity commands to send to the mobile base. The information for the sonar needs to be combined with the laser measurements in order for the detected person not to be treated as an obstacle. Nevertheless, with the use of an LRF this device increases significantly the cost of the platform, so as an alternative, a much cheaper optical triangulation-based distance sensor (like the Sharp GP2D12 distance measuring sensor) could be used instead.
Further details, like a video with the person following system in action and some preliminary usability results can also be seen online [35].
7. Field Experiments (II): Usability Tests with Two Robots in a Large Grocery Store
Based on the first user experiments and suggestions, an improved version of the robot has been designed, and a first prototype (named CompaRob-2; see Figure 23) was tested in a larger grocery store (see Figure 24). In the evolved version, a standard shopping cart bag was fitted to the robot by means of a PVC structure, improving the ergonomics and the aesthetics. The previous prototype had a 22 × 25 × 40 cm (

CompaRob-2 prototype: an improved version of CompaRob shopping cart based on first user usability tests and suggestions.

Usability tests with two robots in a larger grocery store. Both CompaRob and CompaRob-2 robots were tested with different people doing normal shopping.

Working drawings and dimensions of the original CompaRob (a) and the new CompaRob-2 robot (b).
In this second experiment, the new platform was teleoperated, using a remote laptop connected wirelessly to the computer on board the robot, and using the ROS teleop package. The objective at this prototyping stage was to get as much feedback as possible from users before the design and development of an improved person following functionality. Five different people were asked to do normal shopping in a grocery store, acting as natural as possible and forgetting about having to push the shopping cart.
The user experiences were collected in a series of interviews. All of them indicated that this new version is more comfortable than the previous one, mainly with the new design of the bag. A summary of the main ideas brought by the users in order to improve the system is the following:
Make the robot even more light, in order to allow the user to move it manually in case of necessity. Design a tool or elevator that helps elder people to extract the goods in a simple and easy manner. The use of an intelligent arm watch instead of an attachable belt to the leg.
Moreover, a set of four questions was asked to the four people that tested the robots. Their responses to a Likert 1–5 scale are summarized in a chart (Figure 26). As can be seen, all of them are very satisfied with the new design, and they mainly suggest the use of an intelligent arm watch as an interaction device with the robot.

Summary of the responses given by the four interviewed users, related to usability and overall satisfaction with the two versions of the robot.
8. Conclusion and Future Work
In this paper we have presented a person following system for a mobile assistance robot that is based on a combination of radio and ultrasound signals to perform measurements between the person and the robot. One of the objectives of the work was to develop a simple, reliable, and easy to use system that could provide freedom of movements for the elderly people. To do so, the mobile robot follows the person by reading the signals from an ultrasound ring attached to the person's leg.
A second important objective was the user acceptability. After testing the system with some potential users, we were able to conclude that this shopping cart robot is well accepted among elderly people, because they understand that it is an improvement in their lives, a technological advance, instead of something that replaces their physical capabilities.
As future work, we are planning to integrate the recently proposed indoor radio-based localization system [38] into the shopping cart. This system is based on fingerprinting techniques and can be applied to robot and person localization in order to know their position in a particular environment [39], just using simply the WiFi/ZigBee transceiver information, and providing a 1.5 m localization error. This could improve the robot navigation inside a shopping center, and the robot could also show the person where to go in order to find a particular product. Combining the radio/sonar localization for navigation and the fingerprinting global approach, more sophisticated applications will be possible. In fact, further work can, for example, provide a more intuitive user interface by providing the possibility of searching for the available products in the store, creating a wish list, and let the robot conduct the user to the proper place in an efficient and autonomous manner. This would require a better integration of the robot interface with the store database. On the other hand, if the user wants to lead the navigation, the smartphone can provide orientations to find the products related to the actual position of the robot and the user.
Moreover, some experiments are being performed to enhance the global localization system of the person by using the eZ430-Chronos watch [40], a device that enables the integration of a sophisticated radio-based localization system and provides a bidirectional communication link between user and the robot.
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This work was partly supported by Spanish Ministry under Grant DPI2014-57746-C3 (MERBOTS Project) and by Universitat Jaume I Grants P1-1B2015-68 and PID2010-12.
