# A portable three-dimensional LIDAR-based system for long-term and wide-area people behavior measurement

International Journal of Advanced Robotic Systems

March-April 2019: 1–16

© The Author(s) 2019

DOI: 10.1177/1729881419841532

journals.sagepub.com/home/arx

SAGE

Kenji Koide $^{1,2}$, Jun Miura $^{1}$ and Emanuele Menegatti $^{2}$

## Abstract

It is important to measure and analyze people behavior to design systems which interact with people. This article describes a portable people behavior measurement system using a three-dimensional LIDAR. In this system, an observer carries the system equipped with a three-dimensional Light Detection and Ranging (LIDAR) and follows persons to be measured while keeping them in the sensor view. The system estimates the sensor pose in a three-dimensional environmental map and tracks the target persons. It enables long-term and wide-area people behavior measurements which are hard for existing people tracking systems. As a field test, we recorded the behavior of professional caregivers attending elderly persons with dementia in a hospital. The preliminary analysis of the behavior reveals how the caregivers decide the attending position while checking the surrounding people and environment. Based on the analysis result, empirical rules to design the behavior of attendant robots are proposed.

## Keywords

3-D LIDAR, people detection and tracking, behavior analysis

Date received: 3 August 2018; accepted: 22 February 2019

Topic: Service Robotics

Topic Editor: Antonio Fernandez-Caballero

Associate Editor: Tiziana D'Orazio

## Introduction

It is important to measure and analyze people behavior for designing systems which interact with people. We have to understand how people behave with respect to the surrounding people and environment to achieve systems with natural and rich interactions with people. In particular for service robots, by analyzing the behavior of a person who is helping another, we could model their behavior and create a robot with human-like behavior. This allows robots to have natural interaction with humans and makes them more acceptable in daily service situations.

Several models which describe the social interaction between persons, such as social distance $^{1}$ and social force model, $^{2}$ have been proposed, and a number of works have applied those models to service robots. $^{3-5}$ However, since those models are based on simple analysis of the distance between persons, they cannot describe the influence of the surrounding environment and the other persons. Such limitations may yield unnatural behavior of the robots in complex situations. To realize a robot with natural and acceptable behavior, it is necessary to measure person

---

![Image](images/c8ecc19540116a033dee93fc461c4feb14c13a5a268374ff861daf4ffeab698f.jpg)

<div style="text-align: center;">Figure 1. The proposed system to measure people behavior using a 3-D LIDAR. The observer carries the backpack with a 3-D LIDAR and follows the persons to be measured. 3-D: three-dimensional.</div>

behavior in diverse situations and construct a sophisticated interaction behavior model.

There are several data sets which provide people behavior in indoor $^{6}$ and outdoor environments. $^{7,8}$ However, to the best of our knowledge, no data set provides people behavior involving interaction between followed and following persons even though such a situation is very common in daily services. Most of existing robots just keep the distance to the target person constant, and this naive following strategy could make people feel uncomfortable. We believe that it is necessary to measure and analyze people attendant behavior to design the behavior of attendant robots, and it triggered us to develop a system which enables long-term and wide-area people behavior measurement and create a data set which consists of real professional human’s attendant behavior data.

Figure 1 illustrates the proposed system for people behavior measurement. The system is based on a three-dimensional (3-D) LIDAR, and a human observer carries the system and follows the persons to be observed while keeping them in the sensor view. The system simultaneously estimates the sensor pose in a 3-D environmental map and tracks the target persons. The proposed system can be applied to long-term and wide-area people behavior measurement tasks.

The contributions of this article are threefold. First, we propose a portable measurement system which enables long-term and wide-area people behavior measurements. We validated that the tracking accuracy of the proposed system is comparable to a static sensor-based people tracking system. Second, we provide a preliminary analysis of a field test of the proposed system in a hospital. We recorded the behavior of professional caregivers attending elderly persons with dementia. The results show that the proposed system can be applied to the measurement of real people behavior. In addition to that, based on the analysis results, we propose empirical rules to design the behavior of attendant robots. Third, we provide the software of the system and the recorded people behavior as open-source and a public data set (<http://github.com/koide3/hdl_graph_slam>, and <http://www.aisl.cs.tut.ac.jp/database_fukushimura.html>). They would be useful to measure and analyze people behavior in situations which are hard for existing people tracking systems.

The rest of the article is organized as follows. The following section explains related work. The third section describes an overview of the proposed system. The fourth and fifth sections describe the offline Simultaneous Localization and Mapping (SLAM) method using a 3-D LIDAR and the online people behavior measurement method which includes sensor localization and people tracking, respectively. The sixth section explains a field test in a hospital and provides a preliminary analysis of the field test. The last section concludes the article and discusses future work.

## Related work

Systems to measure people behavior can be categorized into two groups: (1) systems using static sensors which are fixed at the environment and (2) systems using wearable sensors attached to the target persons.

People tracking using static sensors, such as cameras and laser range finders, has been widely studied. In particular, people tracking using cameras for surveillance is a major research topic in the computer vision community. A lot of works have proposed people detection $^{9}$ and tracking methods $^{10}$ using RGB cameras. Recent inexpensive consumer RGB-D cameras allow us to reliably detect and track people, $^{11}$ and a camera network system for people tracking using RGB-D cameras has been proposed. $^{12}$ Although such works provide reliable people tracking, a capability of recovering the track of a person, who left the camera view once, is necessary. This problem (i.e. person reidentification) has been one of the main research topics of vision-based people tracking systems. A lot of reidentification methods based on people appearance $^{13-16}$ and soft biometric features $^{17,18}$ have been proposed. They enable reliable people reidentification over time and over cameras.

Laser range finders have also been used for people tracking systems. $^{19,20}$ Such systems can very accurately localize people, and the measurement area of each sensor is larger than cameras. While the reliability and the detection accuracy of those static sensor-based systems are very good, they can measure people behavior only in an area limited by the sensor view. In order to cover a large environment, they require the placement of a lot of static sensors, thereby increasing the time and cost of installing and calibrating all the sensors.

Another way to measure the behavior of specific persons for a long time over a wide area is to attach a wearable sensor to each target person and measure their behavior with the sensor. Several kinds of sensors, such as inertia navigation system (INS) and global positioning system (GPS), have been used for this purpose. Recent small wearable GPS sensors allow us to track a person in outdoor

---

environments, and they have been applied to several applications of people behavior measurement and analysis. $^{21,22}$ As an application, GPS-based wearable devices for helping elderly or visually impaired people have been proposed. $^{23,24}$ The combination of GPS and INS improves tracking accuracy under low-level GPS radio power. $^{25}$ However, GPS signals are not available in places close to buildings and indoor environments.

Recently, Wi-Fi signal-based localization has been widely studied. $^{26-28}$ Some of them are based on triangulation of Wi-Fi signal strength and show decimeter or centimeter accuracy in ideal situations. $^{26,27}$ However, they require to place multiple antennas in the environment to accurately estimate the device position, and thus, it is hard to be applied to a large environment. Other ones are based on the matching of Wi-Fi fingerprint matching. $^{28}$ While they do not rely on external antennas and can be applied to large environments where Wi-Fi signal is available, the estimation accuracy is very limited.

Behavior measurement systems for indoor environments based on pedestrian dead reckoning have also been proposed. $^{29,30}$ Those methods estimate the target person position by integrating acceleration and angular velocity obtained by an INS (attached to the person). In order to prevent estimation drift, Li et al. combined pedestrian dead reckoning and map-based localization. $^{29}$ Those methods can keep track the position of the person as long as they hold the sensor. Since they utilize smartphones which are very common and inexpensive in recent years, those methods are cost-effective and easy to adopt. However, since INS is an internal sensor and it cannot sense the surrounding environment, it is hard to accurately measure the person position with respect to the environment and other persons’ positions. Thus, they cannot be applied to the measurement of the interaction between persons and that of person’s behavior affected by the environment.

## System overview

Figure 2 shows an overview of the proposed system. In this system, the observer carries the backpack equipped with a 3-D LIDAR (velodyne HDL-32e) and a PC and follows the persons to be measured. The 3-D LIDAR provides 360° range data at 10 Hz, and from the range data, the system estimates its pose while tracking the target persons. The process of the proposed system consists of two phases: (1) offline environmental mapping and (2) online sensor localization and people detection/tracking.

In the offline mapping phase, we create a 3-D environmental map which covers the entire measurement area. For the mapping, we employ a graph optimization-based SLAM approach (i.e. Graph SLAM $^{31}$). In order to compensate accumulated rotational errors of the scan matching, we introduce ground plane and GPS position constraints for indoor and outdoor environments, respectively.

![Image](images/c977161ea8271cbc467b3711f56b90d209ecfeabfa965d66638bb62c06234796.jpg)

<div style="text-align: center;">Figure 2. System overview.</div>

In the behavior measurement phase, the system estimates its pose on the map created offline by combining a scan matching algorithm with an angular velocity-based pose prediction using unscented Kalman filter (UKF). $^{32}$ Simultaneously, the system detects and tracks the target persons.

## Offline environmental mapping

## Graph SLAM

Graph SLAM is one of the most successful approaches to the SLAM problem. In this approach, the SLAM problem is solved by constructing and optimizing a graph whose nodes represent parameters to be optimized, such as sensor poses and landmark positions, and edges represent constraints, such as relative poses between sensor poses and landmarks. The graph is optimized so that the errors between the parameters and the constraints are minimized. Following, $^{31,33}$ let $\mathbf{x}_k$ be the node k. Let $z_k$ and $\mathcal{Q}_k$ be the mean and the information matrix of the constraints relating to $\mathbf{x}_k$. The objective function is defined as

 $$ F(\boldsymbol{x})=\sum\boldsymbol{e}_{k}(\boldsymbol{x}_{k},\boldsymbol{z}_{k})^{T}\boldsymbol{\varOmega}_{k}\boldsymbol{e}_{k}(\boldsymbol{x}_{k},\boldsymbol{z}_{k}), $$

where $e_k(x_k, z_k)$ is an error function between the parameters $x_k$ and the constraints $z_k$. Typically, equation (1) is linearized and minimized by using Gauss–Newton or Levenberg–Marquardt algorithms.

However, if the parameters span over non-Euclidean spaces (like pose parameters), those algorithms may lead to suboptimal or invalid solutions. One way to deal with this problem is to perform the error optimization on a manifold which is a minimal representation of the parameters and acts as a Euclidean space locally. In order to enable it, an operator $\boxplus$ is introduced, which transforms a local variation $\Delta x$ on the manifold.

---

Input: $\mathcal{P} = \{p_0, \ldots, p_N\}$, pose nodes

Input: $\mathcal{R} = \{r_{0,1}, \ldots, r_{N-1,N}\}$, odometry edges

Output: $\mathcal{L} = \{l_0, \ldots, l_M\}$, loop edges

1: $\mathcal{L} \Leftarrow \{\}$

2: for $i = 0 \ldots N - 1$ do

3: $\mathcal{C} \Leftarrow \{\}$ $\triangleright$ Loop candidates

4: $accum\_d \Leftarrow 0$ $\triangleright$ Accumulated distance

5: for $j = i + 1 \ldots N$ do

6:  $d \Leftarrow \|\mathbf{p}_i.t - \mathbf{p}_j.t\|$

7: $accum\_d \Leftarrow accum\_d + d$

8: if $d < th_d$ and $accum\_d > th_a$ then

9: Add loop candidate $l = \{p_i, p_j\}$ to $\mathcal{C}$

10: end if

11: end for

12: for $l = \{p_i, p_j\}$ in $\mathcal{C}$ do

13: $m \Leftarrow scan\_matching(p_i, p_j)$

14: if $m.score < th_s$ then

15: $\mathcal{L} \Leftarrow \mathcal{L} \cup \{l\}$

16: end if

17: end for

18: end for

Typically, in the 3-D SLAM problem, node $x_k$ has parameters of the sensor pose at k (a translation vector $\boldsymbol{t}_k$ and a quaternion $\boldsymbol{q}_k$). A manifold of the quaternion $\boldsymbol{q}_k = [q_w, q_x, q_y, q_z]^T$ can be represented as $[q_x, q_y, q_z]^T$, and the operator $\boxplus$ is described as

 $$ \boldsymbol{q}_{k}\boxplus\Delta\boldsymbol{q}=\left[\sqrt{1-\|\boldsymbol{q}_{x}^{\prime}+\boldsymbol{q}_{y}^{\prime}+\boldsymbol{q}_{z}^{\prime}\|^{2}},q_{x}^{\prime},q_{y}^{\prime},q_{z}^{\prime}\right] $$

where $q_{*}^{\prime}=q_{*}-\Delta q_{*}$

In the proposed system, we first estimate the sensor trajectory by iteratively applying normal distributions transform (NDT) scan matching $^{34}$ between consecutive frames. For 3-D LIDARs, NDT shows a better performance than other scan matching algorithms, such as iterative closest points, $^{35}$ in terms of both the reliability and the processing speed. $^{36}$ Let $p_t$ be the sensor pose at t, consisting of a translation vector t and a quaternion $\boldsymbol{q}$, and $r_{t,t+1}$ be the relative sensor pose between t and $t+1$ estimated by the scan matching. We add them to the pose graph as nodes $[p_0, \cdots, p_N]$ and edges $[r_{0,1}, \cdots, r_{N-1,N}]$. Then, we find loops in the trajectory and add them to the graph as edges (i.e. loop closure) to correct the accumulated error of the scan matching with Algorithm 1.

The loop detection algorithm is similar to the work of Nelson. $^{37}$ First, we detect loop candidates based on the translational distance and the length of the trajectory between nodes (lines 2–11). Then, to validate the loop candidates, a scan matching algorithm (in our case, NDT) is applied between the nodes of each candidate. If the fitness score is lower than a threshold (e.g. 0.2), we add the loop to the graph as an edge between the nodes (lines 12–17). Every time a loop is found, the pose graph is

![Image](images/5031686cb31ffbf72e545daa0ba3bfa762078df079ae87d96feb119a8c53c411.jpg)

<div style="text-align: center;">Figure 3. Comparison of the sensor trajectories estimated by the existing method and the proposed method. (a) BLAM. (b) LeGO-LOAM. (c) Ours without plane constraints. (d) Ours with plane constraints.</div>

updated such that equation (1) is minimized. We utilize g2o, a general framework for hypergraph optimization, $^{33}$ for the pose graph optimization.

As a generated map gets larger, it tends to be bent due to the accumulated rotational error of the scan matching (see Figure 3). In order to compensate the error, we introduce ground plane and GPS position constraints for indoor and outdoor environments, respectively. Figure 4 shows an illustration of the graph structure of the proposed system.

## Ground plane constraint

To reliably generate the map of a large indoor environment, we assume that the environment has a single flat floor and introduce the ground plane constraint which optimizes the

---

![Image](images/f00067f168bc9cd46bdc977d6d421e2d2cebed9e4f2e3b268bee0634b57d6dbb.jpg)

<div style="text-align: center;">Figure 4. The proposed pose graph structure.</div>

![Image](images/b63dbdb4b3557e1ddcaa067fb5ceb6e863efb09623d2c9f72aa3666703bd4acd.jpg)

<div style="text-align: center;">Figure 5. Ground plane detection. Points within a certain height range are extracted by height thresholding (green points), and then RANSAC is applied to them to detect the ground plane (red points). The horizontality of the ground plane is validated by checking the plane normal.</div>

pose graph such that the ground plane detected in each observation becomes the same plane. This assumption is valid in many indoor public environments, such as schools and hospitals.

We assume that the approximate height of the sensor is known (e.g. 2 m) and extract points within a certain height range which should contain the ground plane points (e.g. $(-1.0, +1.0)$ m from the ground). Then, we apply RANSAC $^{38}$ to the extracted point cloud and detect the ground plane. If the normal of the detected plane is almost vertical (the angle between the normal and the unit vertical vector is lower than $10^\circ$), we consider that the ground plane is correctly detected and add a ground plane constraint edge to the graph. Figure 5 shows an example of the detected ground planes. Green points are the points extracted by the height thresholding, and red points belong to the ground plane detected by RANSAC. We detect the ground plane every 10 s and connect the corresponding sensor pose node $\boldsymbol{p}_i$ with the fixed ground plane node where the plane coefficients are $\boldsymbol{\pi}_0 = [n_x, n_y, n_z, d]^T = [0, 0, 1, 0]^T$.

To calculate the error between sensor pose $\boldsymbol{p}_t$ and the ground plane $\boldsymbol{\pi}_0$, we first transform the ground plane into the local coordinate of the sensor pose $\boldsymbol{p}_t$

 $$ [n_{x}^{\prime},n_{y}^{\prime},n_{z}^{\prime}]^{T}=\boldsymbol{R}_{t}\cdot[n_{x},n_{y},n_{z}]^{T} $$

 $$ \boldsymbol{d}^{\prime}=\boldsymbol{d}-\boldsymbol{\mathbf{t}}_{t}\cdot[n_{x}^{\prime},n_{y}^{\prime},n_{z}^{\prime}]^{T} $$

where  $\pi'_{0} = [n'_{x}, n'_{y}, n'_{z}, d']$ is the ground plane in the local coordinate, and  $[R_{t}|t_{t}]$ is the sensor pose at time  t.

Following Ma et al.'s $^{39}$ work, we employ the minimum parameterization $\tau(\pi)=(\phi,\psi,d)$, where $\phi,\psi$, and d are the azimuth angle, the elevation angle, and the length of the intercept, respectively. The error between a pose node and the ground plane node is defined as

 $$ \tau(\pi)=\left[\arctan\left(\frac{n_{y}}{n_{x}}\right),\arctan\left(\frac{n_{z}}{|n|}\right),d\right] $$

 $$ \boldsymbol{e}_{i,0}=\boldsymbol{\tau}(\boldsymbol{\pi}_{0}^{\prime})-\boldsymbol{\tau}(\boldsymbol{\pi}_{t}) $$

where $\pi_{t}$ is the detected ground plane at t.

## GPS constraint

In outdoor environments where the ground is not flat, we use the GPS-based position constraint instead of the ground plane constraint. For ease of optimization, we first transform GPS data into the universal transverse mercator coordinate, where a GPS data has easting, northing, and altitude values in a Cartesian coordinate. Then, each GPS data is associated with the pose node, which has the closest time stamp to the GPS data, as a unary edge of the prior position information.

The error between the translation vector $t_{t}$ of a pose node $p_{t}$ and a GPS position $T_{t}$ is simply given by

 $$ \boldsymbol{e}_{i}=\boldsymbol{t}_{t}-\boldsymbol{T}_{t} $$

## SLAM framework evaluation

In order to validate the proposed SLAM system, we recorded a 3-D point cloud sequence in an indoor environment. Figure 6 shows the experimental environment and the trajectory of the sequence. The duration of the sequence is about 45 min (2700 s), and the length of the trajectory is about 2400 m (estimated by the proposed method).

For comparison, we generated 3-D environmental maps using the proposed method with and without plane constraints. We also applied existing publicly available SLAM frameworks, BLAM $^{37}$ and LeGO-LOAM, $^{40}$ to this data set.

Figure 3 shows the trajectories estimated by the different SLAM algorithms. BLAM and LeGO-LOAM were aborted in the middle of the sequence when they failed to estimate the trajectory and did not recover. BLAM failed to find the loops due to the accumulated rotation error of the scan matching and generated a warped and inaccurate trajectory. Since LeGO-LOAM maintains the local consistency of the

---

![Image](images/901a7734517eb4e74db0e9e3e0983ba79f71c4035e16293866bd6233bc63c7dc.jpg)

<div style="text-align: center;">Figure 6. The experimental environment. The duration of the sequence is about 45 min, and the length of the trajectory is about 2400 m.</div>

![Image](images/e43e97598388d81634fada67d97c4cdcf3aa1a5b20e9042d42380d933b4d9199.jpg)

<div style="text-align: center;">Figure 7. The created environmental map. The color indicates the height of each point. The height of the floor is consistent thanks to the plane constraint.</div>

ground plane between consecutive frames, the estimated trajectory is flatter than the one estimated by BLAM. However, it still suffers from the accumulated rotational error due to the lack of the global ground constraint. Eventually, it failed to estimate the trajectory when the observer made a u-turn at the end of a narrow corridor.

With and without the plane constraint, the proposed method could construct pose graphs properly thanks to the reliability of NDT, and it generated consistent maps. However, without the plane constraint, the resultant map is warped due to the accumulated rotational error which is hard to be corrected by loops on a plane. With the ground plane constraint, the accumulated rotational error is corrected, and the resultant map is completely flat. Figure 7 shows the generated environmental map. The color indicates the height of each point. The floor has the consistent height thanks to the plane constraint. The result shows that the proposed plane constraint is effective to compensate the accumulated rotational error in a large indoor environment.

Table 1 shows the processing time of the proposed method and BLAM. The processing time of LeGOLOAM is not available here, since it provides only real-time processing. While BLAM took about 15,327 (s) to generate the map, the proposed method took about 5392 (s) thanks to the computational efficiency of NDT.

We also validated the proposed method in an outdoor environment. Figure 8(a) shows the environment and the trajectory of the sequence. The duration of the sequence is about 42 min (2500 s). Figure 8(b) shows the map generated by the proposed method with the GPS constraint. Although there were large undulations, the system correctly found loops and constructed a proper pose graph thanks to the GPS constraint. Note that, without the GPS constraint, the system could not find the loop due to the scan matching error and failed to create the environmental map.

## Online people behavior measurement

In order to measure people behavior, the system simultaneously estimates the sensor pose on the 3-D environmental map and tracks people around the observer. Figure 9 shows an overview of the online sensor localization and people tracking system. By integrating angular velocity and range data provided by the LIDAR, the system estimates the sensor pose. Then, it detects and tracks people to know people positions with respect to the environmental map. Note that the initial pose of the sensor is given by hand to avoid the global localization problem.

---

<div style="text-align: center;">Table I. Processing time of BLAM and our SLAM system.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Time (s)</td></tr><tr><td rowspan="4">Ours</td><td style='text-align: center; word-wrap: break-word;'>Scan matching</td><td style='text-align: center; word-wrap: break-word;'>1542</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Floor detection</td><td style='text-align: center; word-wrap: break-word;'>231</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Loop closing</td><td style='text-align: center; word-wrap: break-word;'>3619</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'>5382</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>BLAM</td><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'>15,327</td></tr></table>

![Image](images/9a55eb593a032dd5f75feb1b829dbf4cdd4c993fe40f631502ea5f4e4d5e022c.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/15b6e099decc4fe1c70593881aa94e2753ae62ff1c09da609920f1107caf6124.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 8. The SLAM system validation in an outdoor environment. (a) The outdoor environment. The duration of the sequence is about 42 min, and the length of the trajectory is about 3000 m. (b) The 3-D map of the outdoor environment generated by the proposed method with GPS constraints. The color indicates the height of each point. 3-D: three-dimensional; GPS: global positioning system.</div>

## Sensor localization

We can estimate the sensor ego motion by iteratively applying a scan matching algorithm as in the SLAM part. However, in contrast to the SLAM scenario, the observer has to follow the target persons during the measurement and sometimes has to move quickly to keep them in the sensor view. In such cases, the sensor motion between frames gets very large and the scan matching may wrongly estimate the sensor ego motion due to the large displacement. In order to deal with this problem, we integrate the NDT scan matching with angular velocity data provided by the 3-D LIDAR using UKF. $^{32}$

We define the sensor state to be estimated as

 $$ \boldsymbol{x}_{t}=[p_{t},\boldsymbol{q}_{t},\boldsymbol{v}_{t},\boldsymbol{b}_{t}^{a}]^{T} $$

where $p_t$ is the position, $q_t$ is the rotation quaternion, $v_t$ is the velocity, and $\boldsymbol{b}_t^a$ is the bias of the angular velocity of the sensor at time t. Assuming constant translational velocity for the sensor motion model, and constant bias for the angular velocity sensor, the system equation for predicting the state is defined as

 $$ \boldsymbol{x}_{t}=[\boldsymbol{p}_{t-1}+\Delta t\cdot\boldsymbol{v}_{t-1},q_{t-1}\cdot\Delta\boldsymbol{q}_{t},\boldsymbol{v}_{t-1},\boldsymbol{b}_{t-1}^{a}]^{T} $$

where $\Delta t$ is the duration between t and $t-1$, and $\Delta q_t$ is the rotation during $\Delta t$ caused by the bias-compensated angular velocity $\boldsymbol{a}_t' = \boldsymbol{a}_t - \boldsymbol{b}_{t-1}^a$

 $$ \Delta\boldsymbol{q}_{t}=\left[1,\frac{\Delta t}{2}a_{t}^{x^{\prime}},\frac{\Delta t}{2}a_{t}^{y^{\prime}},\frac{\Delta t}{2}a_{t}^{z^{\prime}}\right]^{T} $$

With equation (9), the system predicts the sensor pose by using UKF and then applies NDT to match the observed point cloud with the global map with the estimated $\boldsymbol{x}_t$ and $\boldsymbol{q}_t$ as the initial guess of the sensor pose. Then, the system corrects the sensor state with the sensor pose estimated by the scan matching $\boldsymbol{z}_t = [\boldsymbol{p}_t', \boldsymbol{q}_t']^T$. The observation equation is defined as

 $$ \mathbf{z}_{t}=[\boldsymbol{p}_{t},\boldsymbol{q}_{t}]^{T} $$

We normalize the quaternion in the state vector after each of the prediction and correction steps to prevent its norm from changing due to the unscented transform and the accumulated calculation error. It is worth mentioning that we also implemented pose prediction which takes acceleration into account. However, the estimation result got worse due to the strong noise on acceleration observations.

## People detection and tracking

We first remove the background points from an observed point cloud to extract the foreground points. Then, we create an occupancy grid map with a certain voxel size (e.g. 0.5 m) from the environmental map. The input point cloud is transformed into the map coordinate according to the sensor pose estimated by UKF, and then each point at a voxel containing environmental map points is removed as the background. The Euclidean clustering is then applied to the foreground points to detect human candidate clusters. However, in case persons are close together, their clusters may be wrongly merged and are detected as a single cluster. To deal with this problem, we employ Haselich's split-merge clustering algorithm. $^{41}$

The algorithm first divides a cluster into subclusters until each cluster gets smaller than a threshold (e.g. 0.45 m) by using dp-means $^{42}$ so that every cluster does not have

---

![Image](images/0985a39f4bb3d97e415e7f3f4ddc44f3fcb99f0e753776fb24bb7e783668580f.jpg)

<div style="text-align: center;">Figure 9. The online sensor pose estimation and people detection and tracking system.</div>

![Image](images/3c31e7789b69ab466f5151aad3da4d136da581420805b5b9c8e04b5fd384c0d0.jpg)

<div style="text-align: center;">Figure 10. Haselich's clustering algorithm. The green bounding box indicates the Euclidean clustering result. Two persons are wrongly detected as a single cluster. The cluster is divided into small subclusters (red bounding boxes) and then remerged if there is no gap between those subclusters. The blue bounding boxes are the final detection result. (a) Top view. (b) Bird's eye view.</div>

points of different persons. Then, if there is no gap between those subclusters, the clusters are considered to belong to a single person and remerged into one cluster. Figure 10 shows an example of the detection results. The person clusters are correctly separated even when they are very close together thanks to the split and the remerge process.

The detected clusters may contain nonhuman clusters (i.e. false positives). To eliminate nonhuman clusters among detected clusters, we judge whether a cluster is a human or not by using a human classifier trained with slice features by Kidono et al. $^{43}$ and Schapire and Singer. $^{44}$ Assuming that persons walk on the ground plane, we track persons on the XY plane without the height. We employ the combination of Kalman filter with the constant velocity model and global nearest neighbor data association $^{45}$ to track persons. The tracking scheme works well as long as

![Image](images/7d9f9efd8502067010755ab28859d6b430adfddf1cff172e49d847b5af596162.jpg)

<div style="text-align: center;">Figure 11. The experimental environment of the sensor localization experiment.</div>

the tracked persons are visible from the sensor and are correctly detected.

## Sensor localization evaluation

To show how the pose prediction improves the sensor localization, we conducted a sensor localization experiment. Figure 11 shows the experimental environment. An observer carries the system and moves along the corridor, and the system estimates its pose from the range and angular velocity data. We conducted the experiment twice. In the first trial, the observer walked (about 1.5 m/s) to avoid the sensor being moved quickly. In the second trial, the observer ran (about 3.0 m/s) and the sensor got shaken very strongly.

Figure 12 shows the results of the first trial. Figure 12(a) shows the estimated trajectories with and without the pose prediction. Since the observer moved slowly during the first sequence, both the results show the same correct trajectory. To assess the effect of the sensor pose prediction,

---

![Image](images/d689d7949e6baac486d30eaa2df62c3b8e08b62ac66410fa9ca971685ebe24a1.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/03c5c76e1e2c3bb6b834cda351c1c5d26d0aa96bba3cc4698902948b986bf719.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/9c08409501d2506d37065ef014a5bbda802dba99e2e8b93c86d06a8317f9365c.jpg)

<div style="text-align: center;">(c)</div>

![Image](images/6bb28c39dbd0cadd51fd4849015609f8a4a0f7f279132ecfb573557b44ce190c.jpg)

<div style="text-align: center;">(d)</div>

<div style="text-align: center;">Figure 12. The results of the first trial of the sensor localization experiment. The observer walked during the trial (about 1.5 m/s). Both the trajectories with and without the angular velocity-based pose prediction are correctly estimated. With the prediction, the initial guess for NDT significantly gets closer to the correct pose. (a) Estimated trajectories. (b) Difference between the predicted and the corrected positions. (c) Difference between the predicted and the corrected rotations. (d) Processing time. NDT: normal distributions transform.</div>

we assume that the trajectories estimated by NDT are mostly correct, and we compare the predicted sensor poses with the poses estimated by NDT since measuring the ground truth of the sensor trajectory is difficult. Figure 12(b) and (c) shows the difference between the predicted sensor pose (initial guess pose) and the one estimated by NDT. In the case without the pose prediction, the previous matching result is used as an initial guess. With the prediction, the translational and rotational pose prediction errors significantly decrease thanks to the constant velocity model and the consideration of angular velocity, respectively.

The results of the second trial are shown in Figure 13. The system failed to estimate the sensor pose without the pose prediction (see Figure 13(a)) since the observer moved very quickly, and the sensor displacement between frames got larger. The NDT matching took a longer time (about 56 ms per frame) without the pose prediction since the large displacement between frames makes NDT need more

![Image](images/f4ac126d6709b3dc9871ba235bd11c4fc009eba55cef393916d552869c130142.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/e456037447d3f666b96b86b2dbf8966520db9d769e65f38e5d502e97a61455b7.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/a6ed4c0fe27fcba9864d3be1f3a70bc2b711e0bc14c0220a11cf267c1bd7a48f.jpg)

<div style="text-align: center;">(c)</div>

![Image](images/c75689f37c237a0404c6fd73d05f53b2783b38985de9ee7efdffb3047cbd76e2.jpg)

<div style="text-align: center;">(d)</div>

<div style="text-align: center;">Figure 13. The results of the second trial of the sensor localization experiment. The observer ran during the trial (about 3.0 m/s). Without the pose prediction, the system could not correctly estimate the pose due to the very quick motion. (a) Estimated trajectories. (b) Difference between the predicted and the corrected positions. (c) Difference between the predicted and the corrected rotations. (d) Processing time.</div>

<div style="text-align: center;">Table 2. The summary of the sensor localization experiment.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="3">With prediction</td><td colspan="3">Without prediction</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Seq.</td><td style='text-align: center; word-wrap: break-word;'>Error (m)</td><td style='text-align: center; word-wrap: break-word;'>Error ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>Time (ms)</td><td style='text-align: center; word-wrap: break-word;'>Error (m)</td><td style='text-align: center; word-wrap: break-word;'>Error ( $^{\circ}$)</td><td style='text-align: center; word-wrap: break-word;'>Time (ms)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>st (walk)</td><td style='text-align: center; word-wrap: break-word;'>0.0588</td><td style='text-align: center; word-wrap: break-word;'>1.0913</td><td style='text-align: center; word-wrap: break-word;'>38.88</td><td style='text-align: center; word-wrap: break-word;'>0.1367</td><td style='text-align: center; word-wrap: break-word;'>2.1625</td><td style='text-align: center; word-wrap: break-word;'>40.06</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>nd (run)</td><td style='text-align: center; word-wrap: break-word;'>0.1851</td><td style='text-align: center; word-wrap: break-word;'>4.2845</td><td style='text-align: center; word-wrap: break-word;'>45.14</td><td style='text-align: center; word-wrap: break-word;'>0.3330</td><td style='text-align: center; word-wrap: break-word;'>6.6798</td><td style='text-align: center; word-wrap: break-word;'>56.11</td></tr></table>

iterations to converge to a local solution. With the prediction, the matching took about 45 ms per frame thanks to the good initial guess (see Table 2). The results show that the angular velocity-based pose prediction makes the pose estimation robust to quick motions and fast to converge.

## People detection evaluation

To analyze the effect of the split-merge clustering $^{41}$ and the human classifier, $^{43}$ we recorded a 3-D range data sequence,

---

<div style="text-align: center;">Table 3. The people detection evaluation result.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>$Split-merge_{{41}}$\nclustering</td><td style='text-align: center; word-wrap: break-word;'>$Human classifier^{{43}}$</td><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>F-measure</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Without</td><td style='text-align: center; word-wrap: break-word;'>Without</td><td style='text-align: center; word-wrap: break-word;'>1.000</td><td style='text-align: center; word-wrap: break-word;'>0.834</td><td style='text-align: center; word-wrap: break-word;'>0.909</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Without</td><td style='text-align: center; word-wrap: break-word;'>With</td><td style='text-align: center; word-wrap: break-word;'>1.000</td><td style='text-align: center; word-wrap: break-word;'>0.809</td><td style='text-align: center; word-wrap: break-word;'>0.894</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>With</td><td style='text-align: center; word-wrap: break-word;'>Without</td><td style='text-align: center; word-wrap: break-word;'>0.902</td><td style='text-align: center; word-wrap: break-word;'>0.995</td><td style='text-align: center; word-wrap: break-word;'>0.946</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>With</td><td style='text-align: center; word-wrap: break-word;'>With</td><td style='text-align: center; word-wrap: break-word;'>0.961</td><td style='text-align: center; word-wrap: break-word;'>0.961</td><td style='text-align: center; word-wrap: break-word;'>0.961</td></tr></table>

in which two persons are close together and walking side by side. It is a hard situation for the usual Euclidean clustering since the persons' clusters may be merged into a single cluster. The number of frames is 102, and we applied the human detection method with and without the split-merge clustering and the human classifier to this sequence.

Table 3 shows the evaluation result. Without both the techniques, the recall value is low (0.834), since clusters of the persons are sometimes detected as a single cluster due to the Euclidean clustering. With the split-merge clustering, the wrongly merged clusters are split into subclusters, and the recall value gets higher (0.995). With both the split-merge clustering and the human classifier, over split subclusters are eliminated by the classifier, and the highest F-measure value is achieved (0.961). This result shows that, in situations where persons are close together, the split-merge clustering $^{41}$ effectively increases the recall of human detection, and by combining it with the human classifier, $^{43}$ we can obtain reliable human detection results.

## Comparison with a static sensor-based people tracking system

In order to reveal the pros and cons of the proposed system, we compared the proposed system with a publicly available static sensor-based people tracking framework, OpenPTrack. $^{12}$ The framework is designed for people tracking using static RGB-D cameras, and it is scalable to a large camera network. Moreover, it uses cost-effective hardware and is easy to setup. It has been operated by people including nonexperts in computer vision, such as artists and psychologists.

Figure 14 shows the experimental environment and the configuration of the RGB-D camera network. The map is created by the proposed SLAM method. We placed nine Kinect v2s so that they cover about $2 \times 20 \, m^2$ area. We calibrated the camera network according to the procedure provided by OpenPTrack and then estimated the transformation between the environmental map and the camera network by performing ICP registration between point clouds of the Kinects and the environmental map.

While a subject walked in the corridor, an observer carrying the proposed system followed him. The trajectories of both the persons were measured by the proposed system and OpenPTrack. Table 4 shows the summary of the differences between the people positions measured by the proposed system and OpenPTrack. The differences sometimes became larger (about 0.2–0.3 m) due to detection

![Image](images/5bbb2f3d13182dbaf64101f7ddb4cea7d88fb2ac611c958c604b1e5fab9edf11.jpg)

<div style="text-align: center;">Figure 14. The experimental environment and the configuration of RGB-D cameras for OpenPTrack. Nine Kinect v2s are placed in the corridor. While OpenPTrack can measure only the limited area covered by cameras (about  $2 \times 20 \, m^2$ area), the proposed system can cover the whole of the floor.</div>

<div style="text-align: center;">Table 4. The difference of the observer and the subject positions measured by the proposed system and OpenPTrack.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td colspan="4">Difference (m)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Min</td><td style='text-align: center; word-wrap: break-word;'>Max</td><td style='text-align: center; word-wrap: break-word;'>Mean</td><td style='text-align: center; word-wrap: break-word;'>Standard deviation</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Observer</td><td style='text-align: center; word-wrap: break-word;'>0.0008</td><td style='text-align: center; word-wrap: break-word;'>0.2126</td><td style='text-align: center; word-wrap: break-word;'>0.0768</td><td style='text-align: center; word-wrap: break-word;'>0.0448</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Subject</td><td style='text-align: center; word-wrap: break-word;'>0.0035</td><td style='text-align: center; word-wrap: break-word;'>0.2837</td><td style='text-align: center; word-wrap: break-word;'>0.0990</td><td style='text-align: center; word-wrap: break-word;'>0.0445</td></tr></table>

errors of OpenPTrack at the border of the camera view. However, the difference is lower than 0.1 m on average, and the result shows that the measurement accuracy of the proposed system and the static sensor-based people tracking system are comparable.

In summary, the tracking accuracy of the proposed portable system is comparable to the static sensor-based system, and the measurement area of the proposed system can be extended easily. For instance, the system can measure the people behavior over the whole area of the map shown in Figure 7 ( $200 \times 50 \, m^2$). We would need hundreds of cameras to cover the whole area of the map if we used a static sensor-based system in the environment. On the other hand, static sensor-based systems can measure behavior of all people in the covered area simultaneously, while the proposed system covers only the surrounding area. Thus, we can say that the proposed system is suitable to measure the behavior of specific people over a large area, while static sensor-based systems are suitable for behavior measurement of all the people in a relatively small environment.

## Field test in a hospital

## Measuring behavior of caregivers attending elderly persons

To show that the proposed system can be applied to real people behavior measurements, we conducted a field test in

---

![Image](images/ef1c344e4800d4c78b091fd943a12b1c3dfbf696c08252c894b9378c29b7238d.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/955725c5441c2b24c6f648218cb44deec1ff9caa4bb4bb1591b36310338479da.jpg)

<div style="text-align: center;">Figure 15. A snapshot of the field test. The behavior of the care giver attending an elderly is recorded by using the proposed system. (a) Image. (b) Range data.</div>

Sawarabikai Fukushimura hospital. The hospital is specialized for elderly care, and hundreds of elderly patients are hospitalized and receiving care and rehabilitation in the hospital. Under permission granted by the hospital, we recorded professional caregivers' behavior while they attend elderly persons with dementia. Figure 15 shows a snapshot of the field test. The caregiver attends the elderly to prevent accidents (such as stumbling, colliding, and falling) and sometimes guides him/her to their room.

The number of sequences is 33, and the total duration is about 52 min. We also recorded an attendant behavior sequence in an outdoor environment shown in Figure 8. The duration of the outdoor sequence is about 22 min. Note that, for privacy reasons, we captured images during only the sequence shown in Figure 15 with the special permission from the hospital, the subject, and his family. In the other sequences, we recorded only range data. It is a merit of the proposed system that it can measure people behavior without privacy problems.

Figure 16 shows the created indoor environmental maps through the field test. The elderly persons take rest at the dining hall on the first floor and then return to their hospital room on the second floor with a caregiver using the elevator. After they ride the elevator, we switch the map from the one of the first floor to the second floor.

During the measurement, there were other patients and objects, such as wheelchairs and medicine racks, and the observer sometimes had to move quickly to keep the subjects in sensor view. However, the proposed system could correctly localize itself through all the sequences thanks to the wide measurement area of the 3-D LIDAR and the integration of the scan matching and the angular velocity-based pose prediction.

Regarding people tracking, the system failed to keep track of the subjects when a patient came between the observer and the subjects to be observed, and new IDs were assigned to the subjects after they reappeared. In such cases, the system notifies that it lost the track of subjects, and we reassigned correct IDs to them by hand. Since we saw those cases only a few times, the system could keep track of the subjects for the most part of the sequences, and we could reassign all the IDs with the minimum effort.

![Image](images/97c1ae7995d0c5f6b79fd1290d6bde61951160b5f00d538ad6afba9d69c62b54.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/43e4dc5a989c2d6d626088f3bd14ae2c09590fe691507c5a8926a369e25c06f1.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 16. The environments of the field test. (a) Hallway (IF). (b) Ward (2F).</div>

## Preliminary analysis of the attendant behavior

To show the possibility of the behavior analysis with the proposed system, we provide preliminary analysis of the measured behavior sequences.

Figure 17(a) shows the distribution of the distance between a caregiver and an elderly person in the indoor environment. The distribution is unimodal, and the peak is at about 0.6 m. In proxemics, this distance is categorized as “Personal distance (0.45–1.2 m),” and people allow only familiar people to be within this distance $^{1}$ while they keep more distance (i.e. “Social distance (1.2–3.6 m)”) when meeting or interacting with unfamiliar people. It implies that people maintain a closer relationship while attending another person comparing to usual people interaction, such as meeting. Figure 17(b) shows the distribution of the caregivers’ position with respect to the elderly persons. The caregivers usually locate at the side of the elderly persons. In order to lead the elderly persons, they slightly precede the patients. The distribution is a bit anisotropic: when a caregiver is following an elderly person, the distance between them tends to be larger since the caregivers see the elderly person and the surrounding environment at the same time. From this preliminary analysis, we can find that the caregivers decide their attending position in order to keep the elderly person in the view and look ahead in the environment.

Figure 18(a) shows the trajectories of the caregivers and the elderly persons at a corner, and it also suggests the importance of visibility for deciding the attending position. The number of the trajectories is 17. The caregivers tend to

---

![Image](images/d80599b2681e2fa45037b488fa617d615a0a90359f23fdec85a5fb9900e037c6.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/8d0d88c798fa04e833eae8c10f0ad9845a4891d082a30e67a4aef0a8018bb180.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 17. An analysis of the people attending behavior during the field test in an indoor environment. (a) The distribution of the distance between the elderly person and the caregiver. (b) The distribution of the relative position of the caregiver with respect to the elderly person.</div>

![Image](images/ad1504a858efee4b8b506902ece3a4cc50902ddc6dc10baef792f9631cfd74f2.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/da4bc975cef8ec0e183f5e5905da35c2c161da4aaa186611c197adfe54d0c899.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/82fc1f1087cf7b2e3e9d5004ce8dfb1eeffaedf97b376eec7d636c8a57f404d5.jpg)

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">Figure 18. The trajectories of the caregivers (in orange) and the elderly persons (in green) at a corner. The light blue lines indicate that the connected points are measured at the same time. In most of the cases, the caregivers walked on the outer side of the corner (15 of 17). In a few cases, the caregivers walked on the inner side. In such cases, they preceded the elderly persons to ensure outlook of the corridor (2 of 17). (a) All the trajectories of the caregivers and the elderly person. (b) An example of the cases where the caregiver walks on the outer side of the corner. (c) The case where the caregiver walks on the inner side of the corner.</div>

walk on the outer side of the corner (15 of 17). We can consider that, by walking at the outer side, the caregivers keep the outlook of the corridor to prevent accidents, such as stumbling and colliding. The caregivers walk on the inner side in a few cases (2 of 17). However, they preceded the elderly persons in order to check the safeness before the elderly persons enter the corner. These results suggest that the caregivers always check the existence of other surrounding people and objects, such as wheelchairs, to prevent accidents.

Figure 19(a) shows the recorded trajectories in the outdoor environment. In this sequence, the elderly was fine to walk, and the caregiver did let him walk relatively freely while navigating him to return back to the hospital. Figure 19(b) shows the caregiver's walking speed and the elevation of her position in the global map. When the caregiver (and the elderly) was going up a slope, they got slow down to 1.0–1.2 m/s, while they walked at 1.2–1.4 m/s in down slopes. Slopes influence not only their walking speed but also their position relationship. We extracted their behavior in up slopes and down slopes, respectively, and calculated the distributions of the caregiver's relative position with respect to the elderly (see Figure 20). We can see that, in down slopes, the elderly led the caregiver while they walked side by side in up slopes due to the change of the walking speed. Although the caregiver's "X-axis" position varies depending on the walking speed, he/she almost always stays at 0.6 m side from the elderly. This is also observed in indoor environments (see Figure 17). These results suggest that, during attendance, professional caregivers adjust their position depending on the elderly persons' status and the surrounding environment, while keeping their side distance to the elderly persons constant. This can be applied to designing of person following

---

robots. Most of existing person following robots just keep the distance to the target constant. However, it might be unnatural behavior for people. We can make the robot keep

![Image](images/a9d4d146453d8c680e8b4db71438b49e5ff57225612b07844c5f524171ed3a83.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/0c0376c78bcaf72b79059ad5e3774043a5a61b1568773ab6fb5d2b11eefc709a.jpg)

<div style="text-align: center;">Figure 19. The recorded attendant behavior in the outdoor environment. (a) People trajectory. (b) The caregiver's walking speed (green) and altitude (blue).</div>

the side distance to the target constant, and it may contribute the naturalness of the following behavior of the robot.

Those analysis results are difficult to obtain using existing measurement systems which use static sensors or wearable devices, such as INS and GPS, since it requires accurately measure people behavior with respect to other people and the surrounding environment. The results show that we can capture and analyze such people behavior with the proposed system.

## Person following behavior rules

Based on the analysis of the real caregivers' behavior, we propose empirical rules to design the behavior of attendant robots. It would be helpful to design a robot which attends a person while keeping him/her away from dangerous situations.

1. The robot attends the person while keeping the side-by-side positioning as long as it's possible. In particular, it should keep in the position 0.6 m aside from the person.

2. Depending on the walking speed, the relative position would deviate along the front-back direction. However, even in such a case, the robot should keep the certain distance aside from the person.

3. At a corner, the robot should go on the outer side of the corner so that it can check the safeness of the corridor while avoiding to disturb the person.

4. In case the robot cannot go on the outer side due to positioning and obstacles, it should go on the inner side before the person enters the corner and check whether it's safe. It would slightly disturb the person from walking. However, the safety has a higher priority than the comfortableness.

5. To attend a person who is fine to walk, the robot has to be able to run at about 1.4 m/s.

![Image](images/2adfad5c56417a3fb9b245f288b374da1bd51ae416daf1085ec36e25d5829cf6.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/c79a735f4a75868b5d64f8577237dc2c38dcd0a3442b332a24ec448acc6b2634.jpg)

<div style="text-align: center;">(b)</div>

<div style="text-align: center;">Figure 20. The distribution of the relative position of the care giver with respect to the elderly person in an outdoor environment. (a) Up slopes. (b) Down slopes.</div>

---

Note that the values in the rules, such as the distance to the person to be attended, should be adjusted depending on the robot configuration (e.g. size and shape). However, we believe that the rules would be a good initial guide to designing a comfortable attendant robot which is socially acceptable.

## Conclusions and discussion

This article has described a portable people behavior measurement system using a 3-D LIDAR. The proposed system enables long-term and wide-area behavior measurement. The system first creates a 3-D map of the environment using the Graph SLAM approach in advance to measurements. Then, it estimates its pose, detects, and tracks people simultaneously. The tracking accuracy of the system is comparable to a static sensor-based people tracking system. As a field test, we demonstrated the effectiveness of the proposed system in measuring the behavior of professional caregivers' attending elderly persons. Based on the analysis of the measured behavior, empirical rules to design the behavior of attendant robots are proposed. The measurement system and the professional caregivers' behavior data set have been public so that they can be used for measurement and analysis of people attendant behavior.

The current system requires a human observer who carries the backpack with the 3-D LIDAR, thus manual effort to observe people is necessary. The human observer would be replaced with a mobile robot so that a large attendant behavior data set is automatically created for improving the robot attendant behavior.

## Acknowledgement

The authors would like to thank O. Kohashi, S. Yamamoto, and T. Gomyo for allowing us to conduct the field test in Sawarabikai Fukushimura hospital and their excellent cooperation during the test.

## Declaration of conflicting interests

The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.

## Funding

The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This work is in part supported by JSPS Kakenhi No. 25280093 and the Leading Graduate School Program R03 of MEXT.

## ORCID iD

Kenji Koide 🆔 <https://orcid.org/0000-0001-5361-1428>

## References

1. Hall E. The hidden dimension: Man's use of space in public and private. London, UK: Doubleday anchor books, Bodley Head, 1969. ISBN <tel:9780370013084>.

[^2]: Helbing D and Molnar P. Social force model for pedestrian dynamics. Phys Rev E 1995; 51(5): 4282. DOI: 10.1103/PhysRevE.51.4282.

[^3]: Ferrer G, Garrell A, and Sanfeliu A. Robot companion: a social-force based approach with human awareness-navigation in crowded environments. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 6 January 2013, pp. 1688–1694. IEEE. DOI: 10.1109/IROS.2013.6696576.

[^4]: Ferrer G and Sanfeliu A. Proactive kinodynamic planning using the extended social force model and human motion prediction in urban environments. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, USA, 14 September 2014, pp. 1730–1735. DOI: 10.1109/IROS.2014.6942788.

[^5]: Oishi S, Kohari Y, and Miura J. Toward a robotic attendant adaptively behaving according to human state. In: IEEE International Symposium on Robot and Human Interactive Communication, New York, USA, 26 August 2016, pp. 1038–1043. IEEE. DOI: 10.1109/ROMAN.2016.7745236.

[^6]: Brscic D, Kanda T, Ikeda T, et al. Person position and body direction tracking in large public spaces using 3D range sensors. IEEE Trans Human Mach Syst 2013; 43(6): 522–534.

[^7]: Baltieri D, Vezzani R, and Cucchiara R. 3DPEs: 3D people dataset for surveillance and forensics. In: ACM Workshop on Multimedia access to 3D Human Objects, Scottsdale, Arizona, USA, pp. 59–64.

[^8]: Benfold B and Reid I. Stable multi-target tracking in real-time surveillance video. In: IEEE Conference on Computer Vision and Pattern Recognition, Colorado Springs, USA, 20 June 2011, pp. 3457–3464.

[^9]: Zhang S, Benenson R, Omran M, et al. How far are we from solving pedestrian detection? In: IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, USA, 27 June 2016, pp. 1259–1267. IEEE. DOI: 10.1109/CVPR.2016.141.

[^10]: Fuentes LM and Velastin SA. People tracking in surveillance applications. Image Vision Comput 2006; 24(11): 1165–1171. DOI: 10.1016/j.imavis.2005.06.006. Performance Evaluation of Tracking and Surveillance.

[^11]: Luber M, Spinello L, and Arras KO. People tracking in RGBD data with on-line boosted target models. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, San Francisco, USA, 25 September 2011, pp. 3844–3849. IEEE. DOI: 10.1109/IROS.2011.6095075.

[^12]: Munaro M, Basso F, and Menegatti E. OpenPTrack: Open source multi-camera calibration and people tracking for RGB-d camera networks. Robot Auton Syst 2016; 75:525–538. DOI: 10.1016/j.robot.2015.10.004.

[^13]: Bedagkar-Gala A and Shah SK. A survey of approaches and trends in person re-identification. Image Vision Comput 2014; 32(4): 270–286. DOI: 10.1016/j.imavis.2014.02.001.

[^14]: Satake J, Chiba M, and Miura J. A SIFT-based person identification using a distance-dependent appearance model for a person following robot. In: IEEE International Conference on Robotics and Biomimetics,

---

Guangzhou, China, 11 December 2012, pp. 962–967. IEEE. DOI: 10.1109/ROBIO.2012.6491093.

[^15]: Koide K and Miura J. Identification of a specific person using color, height, and gait features for a person following robot. Robot Auton Syst 2016; 84: 76–87. DOI: 10.1016/j.robot.2016.07.004.

[^16]: Ristani E and Tomasi C. Features for multi-target multi-camera tracking and re-identification. In: IEEE Conference on Computer Vision and Pattern Recognition, Salt Lake City, USA, 18 June 2018.

[^17]: Munaro M, Fossati A, Basso A, et al. One-shot person re-identification with a consumer depth camera. In: Person Re-Identification, 2014, pp. 161–181. Springer. DOI: 10.1007/978-1-4471-6296-4_8.

[^18]: Semwal VB, Raj M, and Nandi G. Biometric gait identification based on a multilayer perceptron. Robot Auton Syst 2014;65: 65–75. DOI: 10.1016/j.robot.2014.11.010.

[^20]: Nakamura K, Zhao H, Shibasaki R, et al. Human sensing in crowd using laser scanners. London, UK: INTECH Open Access Publisher, 2012. DOI: 10.5772/33276.

[^19]: Song X, Cui J, Zhao H, et al. Laser-based tracking of multiple interacting pedestrians via on-line learning. Neurocomputing 2013; 115: 92–105. DOI: 10.1016/j.neucom.2013.02.001.

[^21]: Sabapathy T, Mustapha MA, Jusoh M, et al. Location tracking system using wearable on-body GPS antenna. In: Engineering Technology International Conference, Ho Chi Minh City, Vietnam, 5 August 2016, vol. 97. EDP. DOI: 10.1051/matecconf/20179701099.

[^22]: Doherty ST, Lemieux CJ, and Canally C. Tracking human activity and well-being in natural environments using wearable sensors and experience sampling. Soc Sci Med 2014;106: 83–92. DOI: 10.1016/j.socscimed.2014.01.048.

[^23]: Escriba C, Roux J, Hajjine B, et al. Smart wearable active patch for elderly health prevention. In: 5th Annual Conference on Computational Science & Computational Intelligence, Las Vegas, United States, 13 December 2018.

[^24]: Ramadhan A. Wearable smart system for visually impaired people. Sensors 2018; 18(3): 843. DOI: 10.3390/s18030843.

[^25]: Zhu X, Li Q, and Chen G. Apt accurate outdoor pedestrian tracking with smartphones. In: Proceedings IEEE INFO-COM, Turin, Italy, 14 April 2013, pp. 2508–2516. IEEE. DOI: 10.1109/INFCOM.2013.6567057.

[^26]: Kotaru M and Katti S. Position tracking for virtual reality using commodity Wi-Fi. In: IEEE Conference on Computer Vision and Pattern Recognition, Honolulu, USA, 21 July 2017.

[^27]: Soltanaghaei E, Kalyanaraman A, and Whitehouse K. Multipath triangulation: decimeter-level Wi-Fi localization and orientation with a single unaided receiver 2018; DOI: 10.1145/3210240.3210347.

[^28]: Edwards A, Silva B, dos Santos R, et al. Wi-Fi based indoor positioning using pattern recognition. In: IEEE 27th International Symposium on Industrial Electronics, Cairns, Australia, 13 June 2018. IEEE. DOI: 10.1109/isie.2018.8433869.

[^29]: Li F, Zhao C, Ding G, et al. A reliable and accurate indoor localization method using phone inertial sensors. In: ACM Conference on Ubiquitous Computing, Pittsburgh, USA, 5 September 2012, pp. 421–430. ACM. DOI: 10.1145/2370216.2370280.

[^30]: Kang W and Han Y. Smartpdr: smartphone-based pedestrian dead reckoning for indoor localization. IEEE Sens J 2015;15(5):2906–2916. DOI: 10.1109/JSEN.2014.2382568.

[^31]: Grisetti G, Kummerle R, Stachniss C, et al. A tutorial on graph-based slam. IEEE Int Trans Syst Magaz 2010; 2(4):31–43. DOI: 10.1109/MITS.2010.939925.

[^32]: Wan E and Merwe RVD. The unscented Kalman filter for nonlinear estimation. In: Adaptive Systems for Signal Processing, Communications, and Control Symposium, Lake Louise, Canada, 4 October 2000. IEEE. DOI: 10.1109/asspcc.2000.882463.

[^33]: Kümmerle R, Grisetti G, Strasdat H, et al. G2o: A general framework for graph optimization. In: IEEE International Conference on Robotics and Automation, Shanghai, China, 9 May 2011, pp. 3607–3613. IEEE. DOI: 10.1109/ICRA.2011.5979949.

[^34]: Magnusson M, Lilienthal A, and Duckett T. Scan registration for autonomous mining vehicles using 3D-NDT. J Field Robot 2007; 24(10): 803–827. DOI: 10.1.1.189.2393.

[^35]: Besl PJ and McKay ND. A method for registration of 3-D shapes. IEEE Trans Pattern Analysis Mach Int 1992; 14(2): 239–256. DOI: 10.1109/34.121791.

[^36]: Magnusson M, Nuchter A, Lorken C, et al. Evaluation of 3D registration reliability and speed - a comparison of ICP and NDT. In: IEEE International Conference on Robotics and Automation, Kobe, Japan, 12 May 2009, pp. 3907–3912. IEEE. DOI: 10.1109/ROBOT.2009.5152538.

37. Nelson E. Blam - Berkeley localization and mapping, 2016. <https://github.com/erik-nelson/blam> (accessed 3 April 2019).

[^38]: Fischler MA and Bolles RC. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications 1981; 24(6): 381–395. DOI: 10.1145/358669.358692.

[^39]: Ma L, Kerl C, Stckler J, et al. CPA-SLAM: Consistent plane-model alignment for direct RGB-D slam. In: IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 16 May 2016, pp. 1285–1291. IEEE. DOI: 10.1109/ICRA.2016.7487260.

[^40]: Shan T and Englot B. Lego-loam: lightweight and ground-optimized LIDAR odometry and mapping on variable terrain. In: IEEE/RSJ International Conference on Intelligent Robots and Systems), Madrid, Spain, 1 October 2018, pp. 4758–4765. IEEE. DOI: 10.1109/IROS.2018.8594299.

[^41]: Haselich M, Jobgen B, Wojke N, et al. Confidence-based pedestrian tracking in unstructured environments using 3D laser distance measurements. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, USA, 14 September 2014, pp. 4118–4123. IEEE. DOI: 10.1109/iros.2014.6943142.

[^42]: Kulis B and Jordan MI. Revisiting k-means: new algorithms via Bayesian nonparametrics. CoRR 2011; abs/1111.0352.

---

[^43]: Kidono K, Miyasaka T, Watanabe A, et al. Pedestrian recognition using high-definition LIDAR. In: IEEE Intelligent Vehicles Symp, (IV), Baden-Baden, Germany, 5 June 2011, pp. 405–410. IEEE. DOI: 10.1109/IVS.2011.5940433.

[^44]: Schapire RE and Singer Y. Improved boosting algorithms using confidence-rated predictions. In: Annual Conference

on Computational learning theory, vol. 37, Madison, USA, 24 July 1998, pp. 297–336. ACM. DOI: 10.1145/279943.279960.

[^45]: Radosavljevic Z. A study of a target tracking method using global nearest neighbor algorithm. Vojnotehnicki glasnik 2006; (2): 160–167. DOI: 10.5937/vojtehg0602160r.
