Correcting Path of a Shopping Cart Using a Particle Filter and an Environment Map

— Understanding of consumer behaviors contributes a store for improving the profitability. It is important to analyze and understand consumer trajectories in a store building for the purpose. Therefore analyses of purchasing history and consumer's movement are performed in the process. Purchasing histories is regularly obtained via a POS system. For acquiring the movement path, a measurement device using an optical sensor and a gyro sensor was proposed in our preview research. However, the device has a problem of poor measurement accuracy because of the accumulated error in the sensors. In this study, we propose a method for improving the measurement accuracy by using a particle filter and an environmental map. In various environments, we inspect the usefulness of this method. We describe the outline of the device and the path estimated by the method, using the measured data with a map .


I. INTRODUCTION
Comprehension of consumer behaviors greatly influences the profitability of a store in a retail trade. To analyze and understand consumer behaviors is important [1], because the analysis of purchasing the history and movement paths of consumers is necessary for improving the profitability. Histories of purchase are generally obtained by a POS (point of sale) system and introduced at a lot of stores [2]. The movement paths to analyze consumer behaviors are able to be measured by attaching an intelligent sensing device to a shopping cart [3]. However, there is a problem that remodeling of the store need of a large introduction cost because this device requires setting up position markers in a store building. The simplification of the sensors in order to be put on a shopping cart is considered as a method to reduce the introduction cost. By using a rotary encoder, the revolution of a wheel can be counted for a shopping cart. Therefore the trajectory of the cart is estimated from the calculation of the quantity of movement [4]. The accurate estimation of the movement path, however, is difficult owing to the slippage of the cart wheel. Wheel slippages occur because the center of gravity of a shopping cart changes depending on the allocation and amount of the load. As a robust method that a wheel does not skid for estimating the quantity of movement, there is a method that uses a camera to detect the change of image of a floor [5]. However, because the calculation of motion estimation takes time depending on the search range between frames, this method has a problem that it is unable to support the velocity up to a walking speed of consumer. As a method for resolving these problems, using a laser sensor module was proposed [6]. One laser sensor module is able to measure only the quantity of planar motion of x-axis and y-axis without rotation. Thus, a method to measure the quantities of planar motion and the turning angle of a cart with two laser sensor modules was suggested [7] [8]. For a precision improvement, we suggested a method to measure the turning angle by a gyro sensor and the quantity of planer motion by a laser sensor module, respectively. In the result, we confirmed a precision improvement of the estimated path. The estimated path, however, was not enough correct because error accumulates in each sensor on the long-time use. In recent years, a probabilistic technique in consideration of sensor error is widely studied. We suppose that it is effective to introduce the technique for our research [9] [10]. This study provides a method for improving the accuracy of a cart trajectory with an environment map and a particle filter to reduce the accumulation error of sensors.
This paper describes a summary of our developed sensing device, a particle filter and an environmental map, path estimation of motion. We also report an experimental result of a path acquisition when a cart is moved with the sensing device.

II. SUMMARY OF SENSING DEVIC
A sensing device to estimate the trajectory of a shopping cart has been developed. The device consists of a laser sensor with a laser module and an optical sensor, and a gyro sensor connected to a microcomputer (Renesas Electronics GR-KURUMI). Measured values obtained from each sensor are transmitted to the microcomputer, and small translation and rotation are calculated by summing them up. A PC reads the small amount of motion calculated in the microcomputer at every frame time of 10 [ms], and records them in the storage.

A. Laser Sensor Module
The laser sensor module consists of an optical sensor (Avago Technologies ADNS-9500) and a laser module (Aitendo Enterprise LB-12034XSF-B2S). The optical sensor is designed for using in a mouse. This sensor photographs a laser speckle pattern as an image of 30×30 [pixel], and processes the image at a frame rate of 5000 [fps]. A red laser of wavelength 650 [nm] is emitted by the laser module. The output power of this laser module is 4.5 [mW]. This laser module is attached so that the laser beam perpendicularly irradiates a floor.  Fig. 1 shows the observation of the laser speckle pattern by an optical sensor. A laser beam is light with coherence that means keeping phase. Because the laser rays are reflected from a floor surface, which is rougher than the wavelength of the laser light, these laser rays interfere them each other. The same-phase reflected lights become a bright point in a space on the surface, and opposite-phase reflected lights become a dark point at where the light does not exist. When these laser rays reflect from a surface material, they are seen as an irregular pattern with strong contrast. That irregular pattern generated in the space is called laser speckle pattern. The amount of translational movement of the cart is detected by observing a change of this speckle pattern by an optical sensor.

C. Gyro Sensor
The gyro sensor is a part of a 9-axis sensor module (InvenSense MPU-9150). This sensor mojule has a 3-axis compass, a 3-axis gyro and a 3-axis accelerometer. The output rate is 100 Hz. Moreover, the precision of each angle measurement in the gyro is 3 [%]. The resolution of the gyro sensor is 16 bit. In this paper, 1-axis to detect the change of yaw angle is used, and the detection range is set to 250 [deg/s]. The current yaw direction is calculated by integrating the small angular velocity.

III. PARTICLE FILTER
A particle filter is a calculation technique for predicting a state of a system expressed in chronological order. In the particle filter, the state of the system is expressed as the state vector, and each particle has a different state vector. The motion model of the system is expressed as the system model, and the state of the observation obtained from a sensor is expressed as an observation model. A large number of particles approximate the state distribution of the prediction, and the state distribution is updated by changing each particle. The particle filter consists of three processes. The first process is a prediction. In the prediction process, each particle moves based on an equation of the state. The second process is a likelihood calculation. In the likelihood calculation, a likelihood for the cause in the state of the current particle is calculated. The likelihood is a value which expresses the plausibility of the particles and it is said that the bigger a likelihood is, the higher the existence probability becomes. The third process is a choice. In the choice process, particles of small likelihood are removed and new particles are generated near the particle with a big likelihood. Fig. 2. Generating movement candidate points by using a particle filter

A. Generating Movement Candidate Points
In our particle filter the number of particles is N, and N particles are prepared at the initial state. Fig. 2 shows generating movement candidate points in an inertial coordinate system, where the dark place has a high existence probability and the thin place has a low existence probability. The initial position of the shopping cart is origin . In the coordinates (, ), the quantity of small translation provided from the laser sensor is represented as ,  and the quantity of small rotation provided from the gyro sensor is . In addition, the noises generated by a density function according to a normal distribution are expressed as ( x ,  y ,   ). When the current position in the world coordinate system is (x t , y t ), the position of a particle (x t+1 , y t+1 ) is calculated by

B. Likelihood Calculation
A likelihood function assigns the importance of adoption to each particle. When the position of a shopping cart is obtained by the sensing device as y (t) and the position of the i particle is y t Where the coefficient  is any value. If the position of the particle is the position of the obstacle to be invaded, this particle is regenerated on the position of the particle being the likelihood maximum. If the position of a shopping cart obtained by the sensing device is the position of the obstacle to be invaded, the position of the shopping cart is also replaced on the position of the particle being the likelihood maximum. The value obtained by the sensing device is added to the updated position of the shopping cart. In repeating this, the movement path not to invade the obstacle is estimated.

C. Map Matching
The environmental map could be constructed in advance because the obstacle information in a store building has been already known. The particles are removed and new particles of the same number as the removed particles are regenerated at the position of a particle which has a maximum likelihood in particles remained when one or more predicted particles invade the area of the obstacle in the map. By using this map matching algorithm, the particles do not indefinitely spread each other, where they exist in an area outside obstacles.

D. Judgment of Obstacle Contact
Contact points of a particle are needed to judge an obstacle contact. One particle position estimated by calculations in the previous sections means the center of a cart. Therefore, in consideration of the physical frame of the cart, it is necessary to judge a contact of the frame with obstacles in an environmental map. As the shape of the cart, 36 contact points are allocated around a particle for judging the contact. If there is one contact point overlapped with the region of obstacle defined in the map, it is determined that the cart holding the contact point is collided.

A. Experimental Setup
A measuring device with a gyro sensor and a laser sensor module is attached to a truck which imitates a shopping cart.

Result and Consideration
An original trajectory of the cart obtained by the sensor, and the distribution of particles are showed by Fig. 4. This figure shows that particles were spread according to the movement of the cart. Moreover the particle which invaded an obstacle disappears, and the spread of particles converges. Even if the position of the cart estimated by the sensor overlaps with obstacles, all particles are able to be estimated as points that do not invade obstacles. An original trajectory by the sensor and the path estimated with a particle filter are showed by Fig. 5. This figure shows that the path estimated with the particle filter is approximately a correct course of the cart because the cart was actually moved without invading obstacles in the experiment. Fig. 6 shows comparing the method with the particle filter with the method without the particle filter. This graph shows that the method with the particle filter is in higheraccuracy than the method without the particle filter, in most positions. That is the reason why the precision of the method proposed with the particle filter becomes better than the method without the particle filter. From this, we confirm that the accumulation error of sensor data is reduced by introducing a particle filter. In this paper, we have described a summary of the developed sensing device for localization, and the reduction of the measurement error by using a particle filter and an environment map. Furthermore, we have conducted a path acquisition experiment using the particle filter, and an estimated path without a collision with obstacles. In future, we will experiment with other environments with the particle filter.