# Human Gait Tracking for Normal People and Walker Users Using a 2D LiDAR

Huu Toan Duong and Young Soo Suh $^{ID}$, Member, IEEE

Abstract—This paper proposes a human gait tracking method using a low scanning rate (10Hz) 360 degree 2D LiDAR. The sensor is placed at a height of 0.3m above the ground. Since the human gait tracking is important not only for normal people but also for patients who need to use walking-aid such as walker, we propose a tracking method for both normal people and walker users. The left and right legs are separated and tracked even with nonlinear walking path. To overcome the occlusions between legs when one leg might be hidden from the sensor, a spline-based smooth and interpolation method is applied to estimate the legs trajectories. An algorithm is also proposed to remove the walker legs data in case of walker users. The performance

![Image](images/4cf601d0fbb3c2c40e97d728999e8407a5cf0c9a200327efee0cde1a9abeb57b.jpg)

of proposed tracking method is investigated in different walking speed levels and two positions of LiDAR (parallel and horizontal to walking direction). The experimental results verify the robustness of our proposed method. The horizontal position of LiDAR gives better estimation than the parallel position. The RMSE is less than 2.0cm for walking step length estimation and is less than 1.4cm for walking distance estimation. The tracking range of our system is up to 10m with horizontal placement of LiDAR.

Index Terms—Human gait tracking, 2D LiDAR, laser scanner sensor, walker, spline-based interpolation.

### I. INTRODUCTION

THE tracking of human gait plays an important role in different areas such as medical [^1] [^2] [^3] [^4], sport [^5] and human navigation [^6]. Among the parameters which represent the human gait, velocity and step length are the most important. There are various methods to measure these parameters. While the accurate tracking systems such as Vicon [^7] and GAITRite [^8] are known as gold standard systems, they are unsuitable for long-term monitoring and outside laboratory environment due to the associated costs and installation efforts. Another method is based on body-worn wearable sensor [^2]. It is low cost, suitable for long-term monitoring. However, it has to be attached on specific body part (foot, shank or waist). It may be uncomfortable and requires users' willingness and habituality of use.

LiDAR sensors have been applied to many applications in autonomous vehicle [^9] [^10] [^11] [^12] [^13], mobile robot navigation [^14], mapping [^15] [^16] [^17] [^18] and human gait tracking [^19] [^20] [^21] [^22] [^23] [^24] [^25] [^26] [^27] [^28]. They have some advantages such as high accuracy, no external markers, and simple installation.

In human gait analysis using LiDAR sensor, the sensor can be mounted on a moving platform such as a mobile robot [^19], [^20], [^29] or a smart walker [^21], [^22]. A walking trainer is proposed in [^20] to monitor and encourage walking of elderly people. The robot used only one 2D LiDAR on the bottom to track the human legs and only step length is considered. There is no orientation estimation and the walking path is only straight. In [^29], a 3D LiDAR is placed on a mobile robot to classify human from the deployment environment. Their main focus is not to human gait analysis. In [^19], a human-robot interaction strategy is presented. Human legs position and orientation are tracked by a LiDAR mounted on the robot while human trunk motion is estimated by an IMU mounted at the pelvis. A robotic platform (CPWalker) which consists of a smart walker and an exoskeleton is proposed in [^21] for rehabilitation. This is a complicated system consisting of different sensors and the LiDAR is placed in front of CPWalker to detect the patient legs. With the moving LiDAR, to track the walking orientation, the additional sensor is needed on mobile platform or human body.

The other researches analyze the human gait with only one LiDAR placed on the ground. These systems are simple and can be placed everywhere in a minute. However, it has a drawback that is the decreasing of scan information when

---

the subject is far away from the sensor. Therefore, they are suitable for medium walking range tracking as Timed Up and Go test [^30].

A leg detection method is proposed in [^23] using a machine learning method with a 2D LiDAR. In [^24], [^27], a 2D LIDAR is placed opposite to the walking direction at a height of 0.1m. With 40Hz of scanning rate, the tracking ranges are up to 10m. The walking path is only linear. The left and right legs separation algorithm is also proposed to deal with this specific position of sensor to walking direction. In [^25], a LIDAR is placed orthogonally to the walking direction. They tested with two LIDARs which have 10 Hz and 40 Hz of scanning rate. The legs detection gives a good result only for the higher scanning rate. They also discard the turning path and only evaluate the gait parameters in linear walking path. In [^26], the leg trajectory is estimated using Kalman filter. There is only parallel position of LiDAR is considered. During straight walking phase, the leg position observations (measurement in Kalman filter) are calculated considering five leg patterns (from parallel sensor perspective). Spline-based interpolation is used to estimate leg position observations during occlusion in turning phase. In summary, most studies use a high scanning frequency LiDAR placed parallel to walking direction. The tracking algorithms are proposed for only normal people without walking-aids, whereas the gait tracking is important for patients using a walking-aid as well as for normal people.

In this paper, we propose a gait monitoring system using only a 2D LiDAR fixed on the ground for both normal people and walker users. In the legs tracking, the challenge is the legs separation and the tracking during occlusion between legs, especially in turning motion. A simple and efficient method is proposed to solve this problem. In case of walker users, an algorithm is presented to remove the walker legs data. The remaining human legs scan data is processed by the same algorithms in normal people gait tracking. We use a low scanning rate LiDAR sensor (10Hz) and place the sensor orthogonally to walking direction to extend the walking range. Our algorithm can work with any positions of laser sensor; however, the tracking performance is maximum if the sensor is placed orthogonally to walking direction.

### II. METHODS

### A. 2D LiDAR Sensor

A measurement data point $p_{j}$ obtained in the i-th scan is defined by:

 $$ p_{ji}=(d_{ji},\theta_{ji}) $$

where d is the measured distance between the rotating core of the LiDAR and the sampling point, and $\theta$ is the heading angle of the measurement.

This polar coordinate measurement is transformed to Cartesian coordinate measurement $r = \left[ x \, y \right]^T$ assuming the y-axis defined by the angle $0^\circ$ of measurement:

 $$ x_{ji}=d_{ji}\sin(\theta_{ji}) $$

 $$ y_{j i}=d_{j i}\cos(\theta_{j i}). $$

![Image](images/47616b88792931dec34811b7b1ca7403b9abfac29e0d87ec464dc52bb764c82f.jpg)

<div style="text-align: center;">Fig. 1. Workflow diagram of proposed human gait tracking method.</div>

Then the set of all data point $S_{i}$ collected in the i-th scan is defined by:

 $$ S_{i}=\{p_{j i},r_{j i}\},\quad j=1,\ldots N_{i} $$

where $N_{i}$ is the number of points at the i-th scan.

A RPLIDAR A3M1 2D LiDAR is used in our study. The scanning frequency of the sensor is 10Hz with $0.3^{\circ}$ angular resolution. The sensor is placed at shin height (0.3m).

### B. Proposed Human Gait Tracking Method

Fig. 1 shows the workflow of our proposed human gait tracking method for normal people and walker user. As we can see, the difference in walker user gait tracking is the walker leg data removing part. After that, the problem is similar as normal human gait tracking.

1) Walking Zone Detection: This process is to detect the legs scan data and remove the environment scan data. A polygon is manually defined to bound the measurement points corresponding to the contour of the legs (blue area in Fig. 2).

2) Clustering and Center Point Estimation: A segment is defined to consist of all measurement data inside or on the edge of the walking zone polygon in a scan. For detecting the legs, all measurement data of a segment will be divided into clusters. Let $N_{seg}$ be the number of total data segments. A simple clustering method is then applied for each segment. If two following conditions are satisfied, a cluster will be detected.

- Condition 1: Number of measurement data of cluster is larger than a threshold (integer  $N_{c}$). In our algorithm, leg scan is modeled as a circle and  $N_{c} = 3$ is used.

- Condition 2: The change of measurement data (distance or heading angle) is greater than a threshold ( $\delta d$ for distance and  $\delta\theta$ for heading angle).

Assume that a cluster m of i-th scan consists of $n_m$ data points $r_k = \{x_k, y_k\}$, $k = 1, \ldots, n_m$. We model each cluster with a circle of fixed radius $R_{leg}$. Center point of each cluster is estimated using a least mean square circle fitting procedure. Let $c_{m,i}$ be the center of this circle. The optimization problem becomes:

 $$ \min_{c_{m,i}}\ \sum_{k=1}^{n_{m}}((r_{k}-c_{m,i})^{2}-R_{leg}^{2})^{2}, $$

---

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

![Image](images/6842edcb951d81a24572a2b63e28df6010fa4d4855cbae7d54357fb50bc3ab78.jpg)

<div style="text-align: center;">Fig. 2. Centers of legs estimation.</div>

with the initial value of $c_{m,i}$ is computed as follows:

 $$ \begin{array}{r}{\bar{c}=\left[\begin{matrix}{\mathsf{m e a n}\{x_{k}\}}\\ {\mathsf{m e a n}\{y_{k}\}}\end{matrix}\right],}\end{array} $$

 $$ c_{i n i t}=\bar{c}+\frac{\bar{c}}{\|\bar{c}\|}R_{l e g}. $$

In Fig. 2, the upper plot shows an example of center estimation in scan 20, and the bottom shows centers estimation result for all scan data.

3) Center Line Estimation: For a scan which has two centers, their middle point is extracted. All of these middle points form the center line. Fig. 3(a) shows the middle points extraction corresponding to two centers in a scan. Due to occlusions between legs, some scans do not have enough two centers. This leads to the loss of middle points in these scans. To overcome this problem, an eighth-order algebraic splines algorithm is applied to smooth and interpolate the middle points data [^31]. The middle points $\tilde{m}_{s}(t)$ are represented by the eighth-order spline, where the k-th spline segment is given by:

 $$ \bar{m}_{s}(t)=\bar{m}_{s,k}(u)=\sum_{j=0}^{7}p_{k j}u^{j},\quad t\in[k T,(k+1)T],u\in[0,T], $$

where $p_{kj}(0 \leq k \leq N_0, 0 \leq j \leq 7)$ are the coefficients of the k-th spline segment, and $N_0$ is the number of unobservable middle points. Continuity constraints up to third derivative of $\bar{m}_{s,k}(u)$ are imposed on the coefficients. The result of middle points estimation is shown in Fig. 3(b).

After that, the walking direction $wd_{i}$ ( $i = 1, \ldots, N_{seg} - 1$) of a middle point is estimated as follows:

 $$ w d_{i}=\left\{\begin{aligned}&\frac{\bar{m}_{s,i+1}-\bar{m}_{s,i}}{\left\|\bar{m}_{s,i+1}-\bar{m}_{s,i}\right\|},&\text{if}\left\|\bar{m}_{s,i+1}-\bar{m}_{s,i}\right\|>d_{min}\\ &0,&\text{otherwise.}\end{aligned}\right. $$

![Image](images/d6bcb87df84d32a1518752d954406fcf36938f6429b07d8a9a05f256536f2044.jpg)

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

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

<div style="text-align: center;">Fig. 3. Center line estimation.</div>

![Image](images/be4e51d73df91283bf170796e32d55371debaa83b89267516953bb7dde5f43be.jpg)

<div style="text-align: center;">Fig. 4. Center line estimation. c represents the leg's center point. wd is the walking direction.  $\tilde{m}$ is the middle point of two legs' center point. n is the normal vector of center point to its closet walking direction.</div>

The threshold $d_{min}$ is the minimum displacement of middle points to dismiss the non-moving period.

4) Left and Right Legs Separation: Let $r_{L}$ and $r_{R}$ denote the left and right legs. Two criterions are used to classify left and right legs centers.

Criterion 1: If the displacement of the current cluster center to the last update of left (or right) leg is smaller than a threshold $\delta d$, it is classified as left (or right) leg.

Consider the current center point $c_{m,i}$. Let $d_{1}$ and $d_{2}$ be defined by:

 $$ d_{1}=\|c_{m,i}-r_{L,e n d}\| $$

 $$ d_{2}=\|c_{m,i}-r_{R,e n d}\|, $$

and the last update of left or right leg is determined as follows:

 $$ \left\{\begin{aligned}r_{L,end}&=c_{m,i},\quad if d_{1}<\delta d\\ r_{R,end}&=c_{m,i},\quad if d_{2}<\delta d.\end{aligned}\right. $$

Criterion 2: If the angle between the normal vector of current cluster center to its closest walking direction and its closest walking direction is positive, it is classified as left leg, and vice versa.

This criterion is illustrated in Fig. 4. Consider the i-th scan which has two centers $c_{m,i}$, $(m=1,2)$. A moving window of

---

![Image](images/e578da7bced90e017627732dbb5a408ba5a7e90d29d9e488713e9daa6a458972.jpg)

<div style="text-align: center;">Fig. 5. Left and right legs classification.</div>

 $2M_{s}+1$ spline-based middle points from $i-M_{s}$ to $i+M_{s}$ is used to find the closest walking direction of a center. Firstly, we compute the distance from that center to each middle point in the window:

 $$ d_{m,k}=\|c_{m,i}-\bar{m}_{s,k}\|, $$

with $k \in [i - M_s, i + M_s]$. Let $k^*$ be the discrete time index from the following optimization problem:

 $$ k^{*}=\min_{i-M_{s}\leq k\leq i+M_{s}-1}\sum_{j=k}^{k+1}d_{m,j}. $$

The closest walking direction $w d_{m,min}$ of center $c_{m,i}$ is estimated as the walking direction at index $k^{*}$:

 $$ w d_{m,{m i n}}=w d_{k^{*}}. $$

As in Fig. 4, the closest walking direction of $c_{1,i}$ is $wd_i$ while the closest one of $c_{2,i}$ is $wd_{i-1}$.

The normal vectors $n_{m,i}$ of each center to its closest walking direction are then easily detected. The sign of the angle between the normal vector and closest walking direction decides the left or right legs:

 $$ \left\{\begin{aligned}r_{L,end}&=c_{m,i},&if\operatorname{sign}(\angle(n_{m,i},wd_{m,min}))&>0\\ r_{R,end}&=c_{m,i},&if\operatorname{sign}(\angle(n_{m,i},wd_{m,min}))&<0.\end{aligned}\right. $$

Fig. 5 shows the classification result. The left and right leg centers are displayed by magenta and black circles, respectively.

5) Velocity and Step Length Estimation: The velocities of legs are simply estimated by taking derivative of legs trajectories. However, the occlusion between legs during walking causes the missing of legs data so that the trajectories is not differentiable. To solve this problem, an eighth order spline algorithm is again applied to smooth and interpolate the legs trajectories. Fig. 6 shows the spline-based trajectories estimation of left (blue dot line) and right (black dot line) legs.

Let $r_{L,s}$ and $r_{R,s}$ be the spline-based trajectories of left and right legs, respectively. The velocities of left $(\upsilon_{L})$ and right $(\upsilon_{R})$ legs are estimated as follows:

 $$ v_{L}=\frac{\partial r_{L,s}}{\partial t} $$

 $$ v_{R}=\frac{\partial r_{R,s}}{\partial t}. $$

![Image](images/e675accb811c10fee59253ae3bed314af870062a97da94a21339ab00e8d55781.jpg)

<div style="text-align: center;">Fig. 6. Spline-based legs trajectories estimation and ground contact of feet.</div>

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

<div style="text-align: center;">Fig. 7. Velocities of legs estimation and ground contact of feet detection (red diamonds).</div>

Fig. 7 shows the velocity estimation of the left leg in the upper plot and the velocity estimation of the right leg in the bottom plot. A simple threshold-based zero velocity detection method is applied to estimate the zero velocity intervals of each leg. The discrete time k is assumed to belong to the zero velocity interval if the following condition is satisfied:

 $$ v_{L,j}\leq B_{v},\quad k-\frac{N_{1}}{2}\leq j\leq k+\frac{N_{2}}{2} $$

 $$ v_{R,j}\leq B_{v},\quad k-\frac{N_{1}}{2}\leq j\leq k+\frac{N_{2}}{2} $$

where $B_{v}$ is a threshold and $N_{1}$ and $N_{2}$ are integers. The ground contact of feet is detected as the minimum value of velocity during zero velocity interval. The black rings in Fig. 6 and red diamonds in Fig. 7 represent the moments feet are on the ground.

The walking step length is then defined as the travelling distance between two consecutive ground contact time of the same foot. Let $G_{1}$ and $G_{2}$ be the number of ground contact points of left and right feet, respectively. We denote $t_{L}$ and $t_{R}$ to be the discrete time indexes of ground contact time of left and right feet, respectively. The walking step length is then

---

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

<div style="text-align: center;">Fig. 8. Center points of consecutive scans data with  $N_{w}=5$.</div>

estimated as follows:

 $$ s_{L,k_{1}}=||r_{L,s,t_{L,k_{1}+1}}-r_{L,s,t_{L,k_{1}}}|| $$

 $$ s_{R,k_{2}}=||r_{R,s,t_{R,k_{2}+1}}-r_{R,s,t_{R,k_{2}}}|| $$

where $k_1 \in [1, G_1 - 1]$ and $k_2 \in [1, G_2 - 1]$, and $s_L$ and $s_R$ are the walking step length of left and right legs, respectively.

6) Walker Legs Data Removing: The human gait tracking for walker users is another contribution of this paper. The difference in the human gait tracking for walker users is the present of walker legs scan data in addition to human legs scan data. If the walker legs data are removed, the problem becomes normal human gait tracking which is proposed in the previous section. Therefore, we only presents an algorithm to remove the walker legs data in this section.

At the i-th scan, we compute the center points $cw_i$ of $2N_w + 1$ consecutive scans as follows:

 $$ c w_{i}=\frac{1}{\sum N_{k}}\sum_{j=1}^{N_{k}}p_{j,k},\quad i-N_{w}\leq k\leq i+N_{w}, $$

where $N_{k}$ is the number of scan data in a scan k. By using all of the scan data in a moving window, the bounding shape has less change, so that the center point moving is more smooth. Fig. 8 shows the center points of consecutive scans with $N_{w}=5$. It is quite smooth and similar to walking trajectory.

The center point direction $c_{d}$ is then estimated as follows:

 $$ c d_{i}=\frac{c w_{i+1}-c w_{i}}{\|c w_{i+1}-c w_{i}\|},\quad1\leq i\leq N_{s e g}-1. $$

The next part is clustering and merging. We use the same two conditions in section II-B.2 to divide scan data into clusters. A different merging algorithm is used for robustness. As illustrated in Fig. 9, when a part of human leg is occluded by a walker leg, we have three clusters: clusters 1 and 3 belong to human leg and cluster 2 belongs to walker leg. To prevent losing data, an algorithm is needed to merge clusters 1 and 3.

Consider three clusters 1, 2 and 3 in Fig. 9. Each cluster is defined by: number of scan data $(n_m)$, center of cluster $(C_m)$ (the mean value of scan data) and scan data $\{d_{m,k}, \theta_{m,k}, r_{m,k}\}$ with $m = 1, 2, 3$ and $k \in [1, n_m]$. Clusters 1 and 3 will be merged if the following conditions are satisfied:

1) Three clusters are consecutive:

 $$ \theta_{2,1}-\theta_{1,n_{1}}<2\alpha $$

 $$ \theta_{3,1}-\theta_{2,n_{2}}<2\alpha, $$

with $\alpha = 0.3^{\circ}$ is the angular resolution of scan data.

![Image](images/78585362616e0273a6e3e8795ca47e47e29904d6dd6759028f6fc476d0d19dd3.jpg)

<div style="text-align: center;">Fig. 9. Human leg is occluded by walker leg during walking.</div>

2) The number of scan data in cluster 1 and 3 is larger than $N_{c} = 3$:

 $$ n_{1}+n_{3}\geq N_{c}. $$

3) Both widths of clusters 1 and 3 are smaller than human leg diameter:

 $$ \|r_{1,1}-r_{3,n_{3}}\|<2R_{{l e g}}. $$

4) The difference of distances from centers $C_{1}$ and $C_{3}$ to LiDAR is smaller than human leg radius:

 $$ \|d_{C_{1}}-d_{C_{3}}\|<R_{l e g}. $$

5) The width of cluster 2 is smaller than walker leg diameter:

 $$ \|r_{2,1}-r_{2,n_{2}}\|<R_{w a l k e r}. $$

The minimum number of scan data of an input cluster of merging is only 1. However, the minimum number of scan data of merged cluster is $N_{c}=3$.

Fig. 10 shows an example of clusters merging in scan 71. Before the merging, this scan has 6 clusters which are plotted by different colors in Fig. 10(a). Clusters 1, 2, and 4 are walker legs while clusters 3, 5, 6 are human legs. The LiDAR is at the origin (0,0) which is not plotted. At this position, the human leg is divided into 2 clusters: clusters 3 and 5. By applying the above merging algorithm, two clusters 3 and 5 are merged to one cluster 3 as in Fig. 10(b).

Now, the clustering method in section II-B.2 can be applied on merged data. Each cluster is then represented by a center point $C_{m}$ which is the mean of scan data in that cluster:

 $$ C_{m}=\operatorname{m e a n}\{r_{k}\},\quad k\in[1,n_{m}], $$

where $n_{m}$ is the number of data in cluster.

The closest center point direction $cd_{m,min}$ is estimated as in (11), (12), and (13). Let $k^{*}$ be the index of the closest center point direction. The distance d from $C_{m}$ to $cd_{m,min}$ is computed as follows:

 $$ d_{m}=\frac{(C_{m}-c w_{k^{*}})^{\prime}\upsilon}{\left\|\upsilon\right\|} $$

where $\upsilon = \left[cd_{m,min}(2) - cd_{m,min}(1)\right]'$.

---

## An example of cluster merging in scan 71

![Image](images/58fb5c9006da5f84075f6245f997b73379b9d2ba977a1591f25d55d5302f29a4.jpg)

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

![Image](images/b6f9fd514a7c7da3924645cfad593e1f4217e3148215e354a82acfd83f91d3b2.jpg)

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

<div style="text-align: center;">Fig. 10. An example of cluster merging in scan 71: clusters 3 and 5 (left) are merged into cluster 3 (right).</div>

![Image](images/523205227d6a6cec0ef1e51f4fd39164f57e7c7afe3fc2494a5679c540b685f7.jpg)

<div style="text-align: center;">Fig. 11. The human legs data after removing the walker legs data.</div>

<div style="text-align: center;">TABLEI</div>

<div style="text-align: center;">PARAMETERS USED IN THIS PAPER</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Parameters</td><td style='text-align: center; word-wrap: break-word;'>Equation</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$d_{min} = 30mm$</td><td style='text-align: center; word-wrap: break-word;'>(7)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\delta d = 50mm$</td><td style='text-align: center; word-wrap: break-word;'>(10)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$B_v = 400mm/s$ for slow speed\n $B_v = 600mm/s$ for normal speed\n $B_v = 800mm/s$ for fast speed</td><td style='text-align: center; word-wrap: break-word;'>(17)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$R_{walker} = 15mm$</td><td style='text-align: center; word-wrap: break-word;'>(28)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>$\Delta d = 200mm$</td><td style='text-align: center; word-wrap: break-word;'>(31)</td></tr></table>

The walker and human legs are classified as follows:

 $$ \left\{\begin{aligned}C_{m}&=human,\quad if d_{m}<\Delta d\\ C_{m}&=walker,\quad otherwise.\end{aligned}\right. $$

Fig. 11 shows the result after removing the walker legs data. The human gait tracking problem of walker users now becomes normal human gait tracking.

### III. EXPERIMENTAL RESULTS

### A. Parameters

The parameters used in this paper are listed in Table I. The leg radius of a person is manually measured by a tape.

### B. The Validation of the 2D LiDAR Tracking System

The first experiment is to verify the tracking performance of proposed method with two positions of LiDAR and different

![Image](images/b3fc9e24d85b615dfe02c16efb425a66aa67d891c97905315ccaad9029e5a9fe.jpg)

<div style="text-align: center;">Fig. 12. Two LiDARs are placed parallel and horizontal to walking direction for comparison.</div>

![Image](images/21a8d8dcbf7e30a3bff2a6b16a1306ee4a2be8166b32ecd3ed8329eacfc61127.jpg)

<div style="text-align: center;">Fig. 13. The LiDAR and walker picture.</div>

speed levels. Fig. 12 and 13 show the configuration of this experiment. Two LiDARs are placed at a height of 30cm above the ground, at two positions: parallel and horizontal to walking direction. They have the same sampling scan rate of 10 Hz. Four healthy participants (3 men and 1 woman) are recruited for this experiment. All subjects are asked to start with the left leg and walk total five steps (three steps for left side and two steps for right side). Without the walker, each person walks 15 times equally divided into three speed levels (slow, normal and fast). With the walker, each person walks 5 times at their normal speed level. The position provided by an Optitrack camera system is used as the ground truth. An infrared marker is attached on each shank to get the position.

To evaluate the performance of our proposed method, we compute the difference of step length estimation and the total walking distance estimation of two systems as follows:

 $$ Se_{i}=SL_{i,optitrack}-SL_{i,LiDAR}, $$

 $$ D e_{k}=D_{k,{o p t i t r a c k}}-D_{k,{L i D A R}}=\sum S e_{i}, $$

where Se and De are the step length error and total distance error, respectively. $SL_{i}$ is the step length estimation of i-th step. $D_{k}$ is the total walking distance estimation of k-th walking.

Fig. 14 and Fig. 15 show the errors and the means of the estimated step length and total walking distance, respectively. After removing the outliers, the root mean square errors (RMSE) of the estimated step length and total walking distance are computed and shown in Table II.

---

![Image](images/42eeff38d48da700d6c9c05124688e239d7ea9fc123c0948392f9eaa483834c5.jpg)

![Image](images/12451af805d8c7e14c7431081db88df6f2e40bcba81cc56d1c294a45ae179f68.jpg)

<div style="text-align: center;">Fig. 14. The errors (Se) of estimated step length with two positions of LiDAR, different speed levels and with a walker.</div>

![Image](images/de90fe4305ed2917ce596c916079fde9e8dcdaa2f435ae9403d1a246cd019f2a.jpg)

![Image](images/409b9715f57b10cc813b6f555ae6a19f9d4e84636eb4e8acfdb96740f98bba83.jpg)

<div style="text-align: center;">Fig. 15. The errors (De) of estimated total walking distance with two positions of LiDAR, different speed levels and with a walker.</div>

<div style="text-align: center;">TABLE II</div>

<div style="text-align: center;">THE RMSE (M) OF THE ESTIMATED WALKING DISTANCE AND ESTIMATED WALKING STEP LENGTH FOR LEFT AND RIGHT LEGS FROM PARALLEL AND HORIZONTAL PLACEMENTS OF LIDAR</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="2">Step length</td><td style='text-align: center; word-wrap: break-word;'>Slow</td><td style='text-align: center; word-wrap: break-word;'>Normal</td><td style='text-align: center; word-wrap: break-word;'>Fast</td><td style='text-align: center; word-wrap: break-word;'>Walker</td></tr><tr><td rowspan="2">Parallel</td><td style='text-align: center; word-wrap: break-word;'>Left</td><td style='text-align: center; word-wrap: break-word;'>0.012</td><td style='text-align: center; word-wrap: break-word;'>0.016</td><td style='text-align: center; word-wrap: break-word;'>0.023</td><td style='text-align: center; word-wrap: break-word;'>0.013</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Right</td><td style='text-align: center; word-wrap: break-word;'>0.011</td><td style='text-align: center; word-wrap: break-word;'>0.016</td><td style='text-align: center; word-wrap: break-word;'>0.025</td><td style='text-align: center; word-wrap: break-word;'>0.017</td></tr><tr><td rowspan="2">Horizontal</td><td style='text-align: center; word-wrap: break-word;'>Left</td><td style='text-align: center; word-wrap: break-word;'>0.014</td><td style='text-align: center; word-wrap: break-word;'>0.015</td><td style='text-align: center; word-wrap: break-word;'>0.020</td><td style='text-align: center; word-wrap: break-word;'>0.014</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Right</td><td style='text-align: center; word-wrap: break-word;'>0.015</td><td style='text-align: center; word-wrap: break-word;'>0.019</td><td style='text-align: center; word-wrap: break-word;'>0.020</td><td style='text-align: center; word-wrap: break-word;'>0.018</td></tr><tr><td colspan="2">Total distance</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td rowspan="2">Parallel</td><td style='text-align: center; word-wrap: break-word;'>Left</td><td style='text-align: center; word-wrap: break-word;'>0.012</td><td style='text-align: center; word-wrap: break-word;'>0.021</td><td style='text-align: center; word-wrap: break-word;'>0.030</td><td style='text-align: center; word-wrap: break-word;'>0.014</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Right</td><td style='text-align: center; word-wrap: break-word;'>0.014</td><td style='text-align: center; word-wrap: break-word;'>0.025</td><td style='text-align: center; word-wrap: break-word;'>0.035</td><td style='text-align: center; word-wrap: break-word;'>0.022</td></tr><tr><td rowspan="2">Horizontal</td><td style='text-align: center; word-wrap: break-word;'>Left</td><td style='text-align: center; word-wrap: break-word;'>0.009</td><td style='text-align: center; word-wrap: break-word;'>0.010</td><td style='text-align: center; word-wrap: break-word;'>0.014</td><td style='text-align: center; word-wrap: break-word;'>0.006</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Right</td><td style='text-align: center; word-wrap: break-word;'>0.011</td><td style='text-align: center; word-wrap: break-word;'>0.006</td><td style='text-align: center; word-wrap: break-word;'>0.006</td><td style='text-align: center; word-wrap: break-word;'>0.010</td></tr></table>

As we can see, for the parallel LiDAR, the RMSEs of the estimated step length and total walking distance increase with the walking speed from 0.011m to 0.025m and from 0.012m to 0.035m, respectively. The maximum of estimated step length errors and estimated walking distance errors are 0.059m and 0.043m, respectively. In case of parallel LiDAR, the distance from LiDAR to human legs increases with the walking step. When the walking speed increases, the legs scan

![Image](images/17392203005456784d9a3f234cfe33758298ae1ad1bbf4c26ea69068b17af4c7.jpg)

<div style="text-align: center;">Fig. 16. Walking range determination.</div>

data decreases. Therefore, the estimation error increases with the walking speed.

For the horizontal LiDAR, the RMSEs of the estimated step length slightly increase with the walking speed from 0.014m to 0.020m. In the walking distance estimation, the RMSEs are almost not affected by the walking speed. The maximum is 0.014m for fast walking speed. The maximum of estimated step length errors and estimated walking distance errors are also smaller than the one of parallel LiDAR. They are 0.043m and 0.030m, respectively.

The reason for better performance of horizontal LiDAR is that the distance from the human legs to this LiDAR is smaller than parallel LiDAR. Therefore, horizontal LiDAR can collect more scan data and gives better estimation of legs' center points. Another reason is that two LiDAR scan different sides of the legs. It leads to the difference in legs' center point estimation.

The estimation results when using a walker are similar to the results of normal speed walking without the walker for both positions of LiDAR. This confirms the robustness of our proposed method.

### C. Walking Range of Proposed Tracking System

In our proposed method, human legs are model as circles with fixed radius. Therefore, we need at least three scan data on a leg. Fig. 16 shows the ideal case with three points on leg as plotted. Assume that d is the scan radius or the walking range. a is the angular resolution of the LiDAR. To collect 3 scan data on a leg, the distance L must be smaller than the leg diameter. We have the following condition:

 $$ L=2d\sin a<2R_{leg} $$

 $$ d<\frac{R_{leg}}{\sin\alpha}. $$

With $R_{leg} = 0.04m$ and $\alpha = 0.3^{\circ}$, the maximum walking range $d_{max} = 7.6m$. This is the maximum walking range in ideal case. In practice, the maximum walking range is much smaller.

We will investigate the maximum walking range with two positions of laser sensor: orthogonal to walking direction and parallel to walking direction. Three subjects are asked to do this experiment. Fig. 17 shows the configuration of this experiment. Three subjects walk following an U-shape path. maximum walking distances to the LiDAR are 4m, 5m and 6m for parallel LiDAR. In the horizontal LiDAR, the walking distances are 9m, 10m and 11m where the LiDAR is placed in the middle point. For a walking distance, each subject walks 5 times without the walker and 5 times with the walker at normal walking speed. In total each subject has 30 data (3 × 5 × 2) for a position of LiDAR. This experiment also

---

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

<div style="text-align: center;">Fig. 17. Schematic U-shape walking with two positions of LiDAR.</div>

![Image](images/ee400af878d1a29125ba5a2f8e0922a674857b3a491cc64fbe72c57750ae51b8.jpg)

![Image](images/ae25234e8b0506f6580674260384dafb62daaebeb4ba35ab650c25efe9fe132a.jpg)

![Image](images/cdc4d03daa6ff76bce768824176d0d36fbc09b30291c08dbe3e95597c17a657f.jpg)

![Image](images/253af273e863186a6b6e91cdd4656b8c60c6b274d475868c129e8edec9c9667f.jpg)

![Image](images/a9679cebdb1164b38f9577371dedbd2c12cbfeef79d43b8292b68ef98e5b27d0.jpg)

![Image](images/9282e9137e379366c1e014db338c3c45d842181c89baeb84d22ea251beb07bf3.jpg)

<div style="text-align: center;">Fig. 18. Walking range from parallel LiDAR. The left and right legs trajectories are represented by red lines and dashed blue lines, respectively. The black ring represents the LiDAR position.</div>

![Image](images/f88fde1a67de519c5b937d135fa4a3dd38acb7ad8a47fd514ecfe0a721e26e9b.jpg)

![Image](images/cd7fa62ff66f88398888698d0884f0c836f2bb2c46b11473197b947d0486a115.jpg)

![Image](images/fe100a0874c6e5d6009f104c9a883da44ac65650dd9d51315396d10d93e0aa4e.jpg)

![Image](images/f02203493b463d14f0057565714dd9919ff7a8558e64d9d9e087d4429d8ff1e5.jpg)

![Image](images/b753f4dae6a4f24f8e7f48752ea7f03a093c964e707131a80f9c84f75e8e74a8.jpg)

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

<div style="text-align: center;">Fig. 19. Walking range from horizontal LiDAR. The left and right legs trajectories are represented by red lines and dashed blue lines, respectively. The black ring represents the LiDAR position.</div>

verifies that the proposed method can track nonlinear walking path.

In Fig.6 and Fig.7, an example is given from 5m walking data with the parallel sensor. They show the left and right legs trajectories and velocities. Fig.18 and Fig.19 show the estimated trajectories of three subjects from parallel LiDAR and horizontal LiDAR, respectively. The left side is normal gait walking without the walker. The right side is the walking with the walker. As we can see, in parallel LiDAR, the trajectories estimation of both legs shows good results up to 5m for normal gait and 4m for walker-using gait. In horizontal LiDAR, the walking range is up to 10m for normal gait and 9m for walker using gait. In longer distance, the scan data is not enough to estimate the leg's center point. Therefore, the spline algorithm cannot smooth and interpolate the trajectory data. This is the reason for large deviations in the third rows of Fig.18 and Fig.19.

These results demonstrate that our algorithm can work well with any position of sensor and the walking range is doubled up to 10m if the sensor is placed orthogonally to walking direction.

### IV. CONCLUSION

This study presents a human gait tracking method for both normal people and walker users using a 2D LiDAR. The sensor is placed at a shin height (0.3m) to track human legs which are modeled as circles with a fixed radius. For normal people, the gait tracking, the scan data, is firstly divided into clusters. If a scan has two clusters, a middle point is extracted. The line is formed by these middle points splits the legs, the centers into two sides. Then we can easily detect left and right legs. An issue in human legs tracking with a 2D LiDAR is the occlusion between legs where one leg is hidden from the sensor. To solve this problem, an eighth-order algebraic spline smooth and interpolation method is applied to estimate middle points line and the trajectories of left and right legs. For walker users, the gait tracking, the algorithm is also proposed to remove the walker legs data. Then the remaining human legs data is processed with the same algorithm for normal people gait tracking.

From the experimental results, it was confirmed that our proposed method can track human gait in both positions of sensors: parallel or orthogonal to walking direction. However, it is apparent that the walking range is extended if the sensor is placed orthogonally to walking direction. With scanning rate of 10Hz, the walking range of our system is up to 10m if the sensor is orthogonal to walking direction. With higher scanning rate and angular resolution, the walking range could be greater. The accuracy of our system is also compared with an optical tracking system. With the higher walking speed, the horizontal LiDAR shows a higher accuracy than the parallel LiDAR. With the parallel position, the RMSEs of estimated step length and walking distance increase with the walking speed. Their maximum values are 0.025m and 0.035m for estimated step length and walking distance, respectively. With the horizontal position, the RMSEs slightly change with the walking speed. Their maximum values are 0.020m and 0.014m for estimated step length and walking distance, respectively. The tracking performance with a walker is similar to the normal walking speed without the walker.

## REFERENCES

[^1]: H. Zhou and H. Hu, “Human motion tracking for rehabilitation a survey,” Biomed. Signal Process. Control, vol. 3, no. 1, pp. 1–18, 2008.

---

[^2]: W. Tao, T. Liu, R. Zheng, and H. Feng, “Gait analysis using wearable sensors,” Sensors, vol. 12, no. 2, pp. 2255–2283, Feb. 2012. [Online]. Available: <https://www.mdpi.com/1424-8220/12/2/2255>

[^3]: A. Muro-de-la-Herran, B. Garcia-Zapirain, and A. Mendez-Zorrilla, "Gait analysis methods: An overview of wearable and non-wearable systems, highlighting clinical applications," Sensors, vol. 14, no. 2, pp. 3362–3394, Feb. 2014.

[^4]: H. D. Lee, J. I. Moon, and T. H. Kang, “Design of a series elastic tendon actuator based on gait analysis for a walking assistance exosuit,” Int. J. Control, Autom. Syst., vol. 17, no. 11, pp. 2940–2947, Aug. 2019.

[^5]: J. A. Kirkup, D. D. Rowlands, and D. V. Thiel, “Team player tracking using sensors and signal strength for indoor basketball,” IEEE Sensors J., vol. 16, no. 11, pp. 4622–4630, Jun. 2016.

[^6]: Q. Tian, Z. Salcic, K. I.-K. Wang, and Y. Pan, “A multi-mode dead reckoning system for pedestrian tracking using smartphones,” IEEE Sensors J., vol. 16, no. 7, pp. 2079–2093, Apr. 2016.

[^7]: P. Merriaux, Y. Dupuis, R. Boutteau, P. Vasseur, and X. Savatier, “A study of vicon system positioning performance,” Sensors, vol. 17, no. 7, p. 1591, Jul. 2017.

[^8]: A. L. McDonough, M. Batavia, F. C. Chen, S. Kwon, and J. Ziai, "The validity and reliability of the GAITRite system's measurements: A preliminary evaluation," Arch. Phys. Med. Rehabil., vol. 82, no. 3, pp. 419–425, Mar. 2001. [Online]. Available: <http://www.sciencedirect.com/science/article/pii/S0003999301237174>

[^9]: H. Gao, B. Cheng, J. Wang, K. Li, J. Zhao, and D. Li, "Object classification using CNN-based fusion of vision and LIDAR in autonomous vehicle environment," IEEE Trans Ind. Informat., vol. 14, no. 9, pp. 4224–4231, Sep. 2018.

[^10]: Z. Rozsa and T. Sziranyi, “Obstacle prediction for automated guided vehicles based on point clouds measured by a tilted LIDAR sensor,” IEEE Trans. Intell. Transp. Syst., vol. 19, no. 8, pp. 2708–2720, Aug. 2018.

[^11]: K. Li, X. Wang, Y. Xu, and J. Wang, “Density enhancement-based long-range pedestrian detection using 3-D range data,” IEEE Trans. Intell. Transp. Syst., vol. 17, no. 5, pp. 1368–1380, May 2016.

[^12]: L. Caltagirone, S. Scheidegger, L. Svensson, and M. Wahde, “Fast LIDAR-based road detection using fully convolutional neural networks,” in Proc. IEEE Intell. Veh. Symp. (IV), Jun. 2017, pp. 1019–1024.

[^13]: B. Kim, B. Choi, S. Park, H. Kim, and E. Kim, “Pedestrian/Vehicle detection using a 2.5-D multi-layer laser scanner,” IEEE Sensors J., vol. 16, no. 2, pp. 400–408, Jan. 2016.

[^14]: Y. Xu, Y. S. Shmaliy, Y. Li, X. Chen, and H. Guo, “Indoor INS/LiDAR-based robot localization with improved robustness using cascaded FIR filter,” IEEE Access, vol. 7, pp. 34189–34197, 2019.

[^15]: T. Shan and B. Englot, “LeGO-LOAM: Lightweight and ground-optimized lidar odometry and mapping on variable terrain,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Oct. 2018, pp. 4758–4765.

[^16]: L. Sun, Z. Yan, A. Zaganidis, C. Zhao, and T. Duckett, “Recurrent-OctoMap: Learning state-based map refinement for long-term semantic mapping with 3-D-Lidar data,” IEEE Robot. Autom. Lett., vol. 3, no. 4, pp. 3749–3756, Oct. 2018.

[^17]: J. Zhang and S. Singh, “Visual-lidar odometry and mapping: low-drift, robust, and fast,” in Proc. IEEE Int. Conf. Robot. Autom. (ICRA), May 2015, pp. 2174–2181.

[^18]: N. Dalmedico et al., “Sliding window mapping for omnidirectional RGB-D sensors,” Sensors, vol. 19, no. 23, p. 5121, Nov. 2019. [Online]. Available: <https://www.mdpi.com/1424-8220/19/23/5121>

[^19]: C. A. Cifuentes, A. Frizera, R. Carelli, and T. Bastos, “Human–robot interaction based on wearable IMU sensor and laser range finder,” Robot. Auto. Syst., vol. 62, no. 10, pp. 1425–1439, Oct. 2014. [Online]. Available: <http://www.sciencedirect.com/science/article/pii/S0921889014001122>

[^20]: C. Piezzo, B. Leme, M. Hirokawa, and K. Suzuki, “Gait measurement by a mobile humanoid robot as a walking trainer,” in Proc. 26th IEEE Int. Symp. Robot Human Interact. Commun. (RO-MAN), Aug. 2017, pp. 1084–1089.

[^21]: C. Bayón et al., “Development and evaluation of a novel robotic platform for gait rehabilitation in patients with cerebral palsy: CPWalker,” Robot. Auto. Syst., vol. 91, pp. 101–114, May 2017. [Online]. Available: <http://www.sciencedirect.com/science/article/pii/S0921889016301816>

[^22]: C. A. Cifuentes, C. Rodriguez, A. Frizera-Neto, T. F. Bastos-Filho, and R. Carelli, “Multimodal Human-robot interaction for walker-assisted gait,” IEEE Syst. J., vol. 10, no. 3, pp. 933–943, Sep. 2016.

[^23]: D. Li, L. Li, Y. Li, F. Yang, and X. Zuo, “A multi-type features method for leg detection in 2-D laser range data,” IEEE Sensors J., vol. 18, no. 4, pp. 1675–1684, Feb. 2018.

[^24]: T. Palleja, M. Teixidó, M. Tresanchez, and J. Palacín, “Measuring gait using a ground laser range sensor,” Sensors, vol. 9, no. 11, pp. 9133–9146, Nov. 2009. [Online]. Available: <https://www.mdpi.com/1424-8220/9/11/9133>

[^25]: S. Fudickar, C. Stolle, N. Volkening, and A. Hein, “Scanning laser rangefinders for the unobtrusive monitoring of gait parameters in unsupervised settings,” Sensors, vol. 18, no. 10, p. 3424, Oct. 2018. [Online]. Available: <https://www.mdpi.com/1424-8220/18/10/3424>

[^26]: A. Yorozu, T. Moriguchi, and M. Takahashi, “Improved leg tracking considering gait phase and spline-based interpolation during turning motion in walk tests,” Sensors, vol. 15, no. 9, pp. 22451–22472, Sep. 2015. [Online]. Available: <https://www.mdpi.com/1424-8220/15/9/22451>

[^27]: M. Teixidó, T. Palleja, M. Tresanchez, M. Nogués, and J. Palacín, “Measuring oscillating walking paths with a LIDAR,” Sensors, vol. 11, no. 5, pp. 5071–5086, May 2011. [Online]. Available: <https://www.mdpi.com/1424-8220/11/5/5071>

[^28]: C. Benedek, B. Galai, B. Nagy, and Z. Janko, "Lidar-based gait analysis and activity recognition in a 4D surveillance system," IEEE Trans. Circuits Syst. Video Technol., vol. 28, no. 1, pp. 101–113, Jan. 2018.

[^29]: Z. Yan, T. Duckett, and N. Bellotto, “Online learning for human classification in 3D LiDAR-based tracking,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Sep. 2017, pp. 864–871.

[^30]: A. Shumway-Cook, S. Brauer, and M. Woollacott, “Predicting the probability for falls in community-dwelling older adults using the timed up & go test,” Phys. Therapy, vol. 80, no. 9, pp. 896–903, Sep. 2000.

[^31]: D. Simon, “Data smoothing and interpolation using eighth-order algebraic splines,” IEEE Trans. Signal Process., vol. 52, no. 4, pp. 1136–1144, Apr. 2004.

![Image](images/433a566e7a5ed6b40b41d820fc5a91f37f21a32f0b3fc47845ec6b524badf6a3.jpg)

Huu Toan Duong received the B.S. degree in automation from the Department of Electrical Engineering, Hanoi University of Science and Technology, Vietnam in 2013, and the M.S. degree from the School of Electrical Engineering, University of Ulsan, South Korea, in 2016, where he is currently pursuing the Ph.D. degree. His research interests include human gait analysis, motion tracking, and personal navigation systems.

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

Young Soo Suh (Member, IEEE) received the B.S. and M.S. degrees from the Department of Control and Instrumentation Engineering, Seoul National University, Seoul, South Korea, in 1990 and 1992, respectively, and the Ph.D. degree from the Department of Mathematical Engineering and Information Physics, University of Tokyo, Tokyo, Japan, in 1997. He is currently a Professor with the Department of Electrical Engineering, University of Ulsan, Ulsan, South Korea. His current research interests include networked control systems and attitude estimation and control, and personal navigation systems.
