# Control algorithms for a Mobile Robot Tracking a Human in front

Eui-Jung Jung, Byung-Ju Yi, Member, IEEE, and Shin'ichi Yuta, Member, IEEE

Abstract— This paper presents tracking algorithms of a mobile robot that tracks a human in front. The mobile robot, which is a differential-driven wheel type, is equipped with a laser range finder to perform human tracking in front. Initially, we recommend the torso part for the robust tracking of the human body in outdoor environment by a laser range finder. To track a human in front, we define a virtual target determined by the velocity of the target human. For a more efficient movement of the mobile robot, a desired heading direction of the robot considering motion vectors of the robot and the human is proposed.

### I. INTRODUCTION

[N recent years, applications of mobile robots to the human environment have drawn much attention. Such applications involve several kinds of service robots helping general public in our daily life or working environments. Mobile robots are also good means of providing some mobility to the disables in rehabilitation area. That is why navigation and tracking with mobile robots has been active research areas with many successful systems developed, such as for museum guidance [^1], hospital assistance [^2], or pedestrian tracking [^3]. Most of these systems are designed to operate indoors and structured outdoor environments at limited robot speed.

There are a variety of human tracking approaches. Most of them are based on visual tracking [^4] [^5] [^6] [^7] [^8], and there are other approaches such as laser based human tracking [^9] [^10] [^11] [^12] and both a camera and a laser fusion tracking [^12] [^13] [^14]. When the human tracking algorithm is implemented to a mobile platform in outdoor environment, sensors will have more noise, and the human target can be occluded or lost temporarily. In such unstructured environments, tracking a human can be an enormously difficult task. To achieve such a goal, the robustly recognizable part of the human body should be sought for human tracking. Using a laser range finder sensor, Lee, et al [^12] proposed a human tracking algorithm by scanning two legs and Glas, et al [^15] tracked the torso part of the human body. However, in most of researches for human tracking with a mobile robot, the robot tracks the target human behind like Fig. 1(a). If a mobile robot provides a service in front of a human like Fig. 1(b), he or she may feel more comfortable.

In this study, we perform some fundamental tracking experiment to find the most robustly recognizable part of the human body by using one laser range finder (LRF), and then we propose a virtual target for a mobile robot that has to track a human in front.

![Image](images/837db207c640c388d328b006cc28ba10484316f9ab79e780a006de523006a5cd.jpg)

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

![Image](images/e3929b6fc1f0b59c4c6bed4c033e896386804d0ed9ceaa1887b599ae8d8ed2d4.jpg)

<div style="text-align: center;">Fig. 1. Two ways of Human Tracking</div>

Contribution of this study is the introduction of a virtual target in front of the mobile robot for a more efficient movement of a mobile robot tracking a human. This work is organized as follows. Section II addresses the motivation of this research. Some fundamental human tracking algorithms are introduced in section III. Control algorithms for a mobile robot tracking a human in front are described in section IV. Section V discusses the experimental results of the human tracking robot.

### II. MOTIVATION

Nowadays, many people are interested in robots that assist humans or provide services for a human being, and there are many kinds of works that robots can assist, for example, surgery, lifting heavy things, military works, guidance, and so on. However, still many people do not absolutely trust robots. In this point of view, we conducted an experiment about a human tracking robot on our university campus.

In this experiment, a subject walks or runs in a straight line about 50 meters, and a mobile robot tracks the subject behind. Then, we counted how many times the subject looks back at the mobile robot while it is tracking the subject. 32 subjects participated in this experiment. As an experimental result, 10.87 times they look back at the robot on an average. The reasons why they look back were that they were curious about the mobile robot whether the robot tracks well or not, and they worried whether the robot bumps into them or not. This experiment result tells that a robot following a human behind causes the human to pay attention to its motion always.

In a human tracking task, we suggest that if a mobile robot can track the human in front, it would make people comfortable. Therefore, in this paper, tracking algorithms for a mobile robot tracking a human in front are proposed.

---

### III. HUMAN TRACKING

### A. Human Detection

A laser range finder has been known one of the best means to detect objects and to draw map of the environment. There are several ways to detect human by a laser range finder (LRF). One of common ways is scanning legs. However, sometimes one of legs cannot be detected because of screening by the other leg. Of course there are many methods to predict the screened leg, but it is better to remove such screened case. Especially, when people walk or run, the legs are faster than the body, which means that the oscillatory movement of legs generates larger measurement errors. As the measurement distance increases, a small object like a leg can be detected less accurately because of the limited angular resolution of the laser range finder.

From the viewpoint of robustness in real application, it would be better to scan non-oscillatory part of the human body, like a torso. Noting that the size of the torso is larger than of the leg, the data from the torso may have relatively less noise and uncertainty. When a robot is tracking a person in outdoor environment, the measurement errors are much worse. Thus, scanning a torso part is preferable to track the human body.

![Image](images/c6450d39b5a7a7d35469f7e13583461421104d0dc92899339786d7c7564f54fe.jpg)

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

![Image](images/1e77bd5ef7716310c4bf77dfd4013897514e982450dd24b4f76c782dd5d156ec.jpg)

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

![Image](images/eb2a7527544848984256a37e52b78e40b73f088bf826f66385b56b62a977ccff.jpg)

<div style="text-align: center;">Fig. 2. The cases of scanning torso parts when a mobile robot goes over a bump in a road</div>

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

Another merit of scanning a torso is its robustness against the changing environment. If a mobile robot tracks a human in a road with bumps, the horizontal angle of a laser rays can be changed when the mobile robot goes through the bumps as shown in Fig. 2. Even though the mobile robot undergoes some angular variation due to such a bump, the scanned data still produces the similar shape since the shapes of all parts of the torso obtained by a LRF look similar. Therefore, we recommend the torso part for the robust tracking of a human body in outdoor environment by a laser range finder.

The state of the art in detecting people in 2D range data is using machine learning approaches such as AdaBoost $^{[16]}$ and Support Vector data description. These approaches provide robust detection of people. However, these approaches are not perfect solutions. There still exist detection errors because the shapes of non-human objects in cluttered environments can be similar to those of a human in 2D range data. Sometimes the algorithms fail to detect a human, e.g. a tree that has a similar shape to human in 2D range data can be recognized as a human. In a human tracking task, counting the exact number of human bodies is not a concern. Detecting human bodies is more important than distinguishing human bodies from other objects in the environment. Therefore, in this paper, we used only the 2D range data as a human feature in 2D data. We set the range of the torso's width to detect the existence of a human. If some non-human objects have a similar width of human's torso, the course, it can be a candidate of a human body. However, this problem does not matter to track one person. Tracking one person is the main issue in this tracking task. Distinguishing the target person from other people and other objects can be dealt with an estimation method and a data association method.

### B. State Estimation

Tracking a person by a mobile robot is a challenging task. The difficulties of human tracking with a laser range finder lie on the uncertainty and the sensor noise created by uncertain movement of the human body and the environment. In order to track the human bodies robustly against these difficulties, Particle filters [^17], which are sophisticated model estimation techniques based on simulation, is utilized to estimate the state variable of human movement. The state variable vector $\underline{x}$ given as

 $$ \underline{\mathbf{x}}=\left(\begin{matrix}{x}&{y}&{\dot{x}}&{\dot{y}}\\ \end{matrix}\right)^{T}, $$

includes the information of positions and velocities of the human body. x and y denote x- and y-directional components in the global reference frame, respectively.

Modeling the motion of the human body is a difficult task because most of the time people's behaviors are unpredictable. Many applications for human tracking are based on a simple Brownian model [^18], but to handle occlusions, a constant velocity model is a better choice [^19] [^20]. Therefore, the motion model of the i-th particle in our system is designed as a constant velocity model in discrete time as follows.

 $$ \underline{{\mathbf{x}}}_{k+1}^{i}=F\underline{{\mathbf{x}}}_{k}^{i}+B\underline{{w}}_{k}^{i}, $$

where $F=\begin{bmatrix}I&TI\\0&I\end{bmatrix}$ and $B=\begin{bmatrix}T^{2}/2I\\TI\end{bmatrix}$, respectively. T denotes the sampling time, and $\underline{w}_{k}$ describes the process noise that is assumed to be zero mean Gaussian white noise with variance $\sigma_{w}^{2}$; $\underline{w}_{k}\sim N(0,\sigma_{w}^{2})$, which is the variance of the acceleration. The measurement model is written as follows.

 $$ \underline{\mathbf{z}}_{k}=\mathrm{H}_{k}\underline{\mathbf{x}}_{k}+\underline{v}_{k}, $$

where $H_k = [I \quad \underline{0}]$. $\underline{v}_k$ represents the measurement noise that is assumed to be zero mean Gaussian white noise with variance $\sigma_v^2$; $\underline{v}_k \sim N(0, \sigma_v^2)$, where $\sigma_v^2$ is the variance of measurement data. The two noises are assumed to be mutually independent.

To observe sequential movement of each human candidate in cluttered environment, each data coming from the sensor should be correctly assigned to the proper human body, which is called data association. Then the positions of the estimated human bodies are updated at every sampling time. The general scheme of data association is illustrated in [^21]. We apply the Nearest Neighbor (NN) standard filter [^22], which consists of choosing pairs with the closest ones. That is, one

---

measurement is assigned to one prediction at each update step.

By applying the Particle filters estimation method and the data association, the mobile robot estimates all positions and velocities of human body candidates with respect to the global reference frame within the scanning range of a LRF.

### IV. CONTROL ALGORITHM

### A. Target Setup

For the safe movement of the mobile robot in a target setup process, the system initially sets a target person if any human body candidate is near the target setup position, which is located at one meter behind the mobile robot in our system. If a candidate far from a target setup position is set as a target, at the moment, the mobile robot might move to the target immediately with a high speed and a high acceleration to compensate the tracking distance error.

Because there could be many human body candidates in the scanning range, the target body should be distinguished from other candidates. After the target setup process, the mobile robot can track the position of the target person because the positions of all candidates are estimated by the Particle filters and the data association.

### B. Virtual Target

To make the mobile robot track in front of the target person, we build a virtual target in front of the mobile robot by using the velocity vector of the target person. Then, the mobile robot tracks the virtual target while it keeps the virtual tracking distance, $d_{T}$, as shown in Fig. 3, where $\varphi_{H}$, $\varphi_{d}$, $\varphi_{V}$, and $\varphi_{P}$ denote the current heading direction of the robot, the desired heading angle to the virtual target from the mobile robot, the angle of the virtual target, and the angle of the velocity vector of the target person, respectively. All angles are referenced to the global reference coordinate. The easiest way to decide the location of the virtual target may be setting $\varphi_{V}$ and $\varphi_{P}$ identical and locating the position of the virtual target at the distance $d_{V}$ along the line of $\varphi_{V}$ as shown in Fig. 4(a). If the virtual tracking distance, $d_{T}$, is too short, the small variance of $\varphi_{V}$ largely affects the heading angle of the robot. Therefore, considering the sensitivity of the heading angle, we set $d_{V}$ as 3m and $d_{T}$ as 2m in our experiment. As a result, the mobile robot tracks the virtual target 1m in front of the target person.

It is noted that the velocity vector of the target person is not observable. Thus, the velocity vector of the target person is estimated by particle filters. However, the data have a noise, which makes big movements of the virtual target. Therefore, we apply a low pass filter to obtain the angle $\varphi_{P}$ of the velocity vector of the target.

One of problems of tracking a human in front is that when the human takes a turn at a corner, the mobile robot should make a big circular path because of the differential nature of the mobile robot, which usually has a certain amount of radius of curvature to create a circular motion. Another problem is that when the virtual target exists inside some obstacles such as a wall, the mobile robot may collide to the obstacles. Path planning algorithms can cope with this problem.

![Image](images/c8b03c4f6f4806b973a211beff41794cf9d8e0eac56c6f8d494d4500b6f2b2de.jpg)

<div style="text-align: center;">Fig. 3. Descriptions of parameters for a virtual target</div>

First of all, to resolve the big circular path problem, we modify the angle $\varphi_{V}$ for the virtual target as follows.

## 1 ) Weighted Vector Sum

 $$ \varphi_{V}=\mathrm{atan2}\left(\sin(\varphi_{P})+W_{H}\sin(\varphi_{H}),\cos(\varphi_{P})+W_{H}\cos(\varphi_{H})\right) $$

where the weight $W_{H}$ for the heading direction $\varphi_{H}$ of the robot is decided as the following equation.

 $$ W_{H}=K_{H}(\varphi_{c u t o f f}-\varphi_{d i f f})\;/\;\varphi_{c u t o f f} $$

where $K_{H}$, $\varphi_{cutoff}$, and $\varphi_{diff}$ denote a weight gain, a cutoff angle, and the angle between the angle of the heading direction of the mobile robot and that of the velocity vector of the person, respectively. The cutoff angle, $\varphi_{cutoff}$, is a boundary value that changes the human motion from a straight motion to a turning motion or vice versa. $\varphi_{diff}$ being smaller than $\varphi_{cutoff}$ implies that the target person moves straight, and $\varphi_{diff}$ bing larger than $\varphi_{cutoff}$ implies that the person makes a turn.

![Image](images/85536815d61a2c836c864d0a4f2d24b8391fabca3e46675f31bbeece1f8a805f.jpg)

<div style="text-align: center;">(a) Initial angle    (b) Unit vector sum    (c) Weighted vector sum Fig. 4. Comparison of the virtual target angles in vector forms</div>

Initial strategy to locate the virtual target is setting $\varphi_{V}$ and $\varphi_{P}$ identical as shown in Fig. 4(a). To use the velocity vector angle $\varphi_{P}$ for this strategy in a real system, we should employ a low pass filter because of the noise that is generated from

---

the non-observable and estimated velocity vector of the target person. To reduce more noise, we perform the vector sum of two vectors; the velocity vector of the person and the heading direction vector of the mobile robot. Fig. 4(b) is the case that the magnitude of the heading direction vector of the mobile robot is set the same magnitude as the velocity vector of the target person. The result angle of the unit vector sum is $\varphi_{V}$ of Eq. (4) when $W_{H}$ is 1. However, there exists a little time delay in the change of the velocity vector angle, $\varphi_{P}$, of the human because of the noise filters.

Finally, we employ the modified angle of the virtual target as shown in Fig. 4(c), which enables the mobile robot to track the human rather along a shorter path without taking a big turn. To use the modified angle of the virtual target, we need to set up the parameters; the cutoff angle $\varphi_{cutoff}$ and the weight gain $K_{H}$ as Eq. (4)-(5).

## 2 ) Velocity Limitation

One of the reasons that the robot makes a big turn is that the robot generates a high-speed to keep the virtual tracking distance before completing compensation of the angle errors between the heading direction angle $\varphi_{H}$ and the desired angle $\varphi_{d}$. Therefore, we propose a velocity limitation algorithm of the mobile robot. We set the velocity limit as follows.

 $$ V_{\mathrm{l i m i t}}=\left\{\begin{aligned}K_{V}\left\|\underline{v}_{P}\right\|\left(\left(\pi/2-\varphi_{d i f f}\right)/\left(\pi/2\right)\right)^{3}\quad&\varphi_{d i f f}\leq\pi/2\\ 0\quad&\varphi_{d i f f}>\pi/2\end{aligned}\right. $$

where $K_{V}$ is a proportional gain to the magnitude of the velocity vector of the target person. We set the gain as 2 in our system. In this case, when the heading direction of the mobile robot is the same as the velocity vector of the target person, $\phi_{diff}$ is zero, implying that the robot can move two times faster than the target person for keeping the virtual tracking distance to the virtual target. As the angle difference $\phi_{diff}$ increases, the velocity limit $V_{limit}$ dramatically decreases. Therefore, if the angle difference $\phi_{diff}$ is large, the mobile robot can move forward after the angle $\phi_{diff}$ gets smaller. As a result, the robot can generate a shorter path when the target person makes a turn. If the angle difference $\phi_{diff}$ is larger than $\pi/2$, the mobile robot will stop moving forward until the angle $\phi_{diff}$ is small enough to move forward by the angle error compensation.

### V. EXPERIMENT

### A. Human Tracking Robot

Fig. 5 shows the Human Tracking Robot (HTR) that is designed to track a human in front. It was designed to create the maximum speed of 6.0 m/s and carry loads up to 5kg. In order to absorb some impulse from the irregular terrain in the outdoor environment, a suspension system is implemented at the front caster wheel of the robot platform. TABLE I shows the specification of the HTR. It is equipped with two laser range finders. One is UTM-30LX(HOKUYO Co.) that covers the angular range of $270^{\circ}$ within 30 meters for detecting humans, and the other is URG-04LX(HOKUYO Co.) that covers the angular range of $240^{\circ}$ within 4 meters for detecting obstacles on the ground and is installed on the tilt. The specifications of two laser range finders are shown in TABLE II.

![Image](images/d7c89d1acdfb595860c2af5fdb93004ce92bde4ea3664208f906445f5cf94319.jpg)

<div style="text-align: center;">Fig. 5. Human tracking robot (HTR) TABLE I</div>

<div style="text-align: center;">SPECIFICATION OF THE HUMAN FOLLOWING ROBOT</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Motor</td><td style='text-align: center; word-wrap: break-word;'>Maxon RE50 (200W) $\times$ 2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Max Speed</td><td style='text-align: center; word-wrap: break-word;'>6.0 m/s</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Max Acceleration</td><td style='text-align: center; word-wrap: break-word;'>10 m/s $^{2}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Weight</td><td style='text-align: center; word-wrap: break-word;'>23 kg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Payload</td><td style='text-align: center; word-wrap: break-word;'>10 kg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>W $\times$ D $\times$ H</td><td style='text-align: center; word-wrap: break-word;'>560 mm $\times$ 630 mm $\times$ 800</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Wheel radius</td><td style='text-align: center; word-wrap: break-word;'>130 mm</td></tr></table>

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

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="3">SPECIFICATION OF THE LASER RANGE FINDERS</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>UTM-30LX(HO KUYO Co.)</td><td style='text-align: center; word-wrap: break-word;'>URG-04LX(HO KUYO Co.)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Measurement Range</td><td style='text-align: center; word-wrap: break-word;'>20~30000 mm</td><td style='text-align: center; word-wrap: break-word;'>60~4000 mm</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Measurement Accuracy</td><td style='text-align: center; word-wrap: break-word;'>$\pm 30$ mm</td><td style='text-align: center; word-wrap: break-word;'>$\pm 10$ mm</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Angular Range</td><td style='text-align: center; word-wrap: break-word;'>270°</td><td style='text-align: center; word-wrap: break-word;'>240°</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Angular Resolution</td><td style='text-align: center; word-wrap: break-word;'>0.25°</td><td style='text-align: center; word-wrap: break-word;'>0.36°</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Sampling Time</td><td style='text-align: center; word-wrap: break-word;'>25 ms</td><td style='text-align: center; word-wrap: break-word;'>100 ms</td></tr></table>

To apply the Particle filters estimation method to a real tracking system, few parameters, such as T, $\sigma_{w}^{2}$, and $\sigma_{v}^{2}$, should be specified. In our robot system, the sampling time, T, is set as 50ms. $\sigma_{w}^{2}$ is set as the variance of the acceleration of human motion, and $\sigma_{v}^{2}$ is set as the variance of the measurement errors from the LRF on the robot.

![Image](images/c286c8415746cbb06cb4c9b8329569cec85b8caf3d869f61731b880191820f57.jpg)

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

![Image](images/fcb5389efbcf4645b9d93fb9b800fa08a8c08b78bd1360fa25295b94ecad89e3.jpg)

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

<div style="text-align: center;">Fig. 6. Distribution of the angle differences</div>

---

To set up the cutoff angle, we obtained the angle differences, $\varphi_{diff}$, while the mobile robot was tracking the virtual target and the target person was moving straight. In this experiment, the angle $\varphi_{V}$ for the virtual target is set as the original angle $\varphi_{P}$ after applying a low pass filter. As a result, it can be seen that the maximum magnitude of the angle differences, $\varphi_{diff}$, is less than $10^{\circ}$ as shown in Fig. 6(a). Therefore, considering the noise margin, the cutoff angle is set as $20^{\circ}$, and the weight gain $K_{H}$ is set as 1 in our experiment.

When the modified angle of the virtual target in Eq. (4)-(5) is applied, the maximum magnitude of the angle difference is smaller than $5^{\circ}$ as shown in Fig. 6(b), which means that the mobile robot moves smoothly while the target person is going straight.

In Fig. 7, transitions of the angles $\varphi_V$ of the virtual target are compared when the initial angle difference, $\varphi_{diff}$, is between zero and $90^\circ$. In this graph, the heading direction of the mobile robot is $90^\circ$. For example, if the angle difference is $90^\circ$, it means that by Eq.(6), the target person initially moves to the direction whose angle is either $0^\circ$ or $180^\circ$ because the heading direction of the mobile robot is $90^\circ$.

![Image](images/8818cf6694b848cfed037af251051c12fb0f7945ac2f7c09e274ab97762f8127.jpg)

<div style="text-align: center;">Fig. 7. Comparison of the virtual target angles</div>

The dotted line (red) shows a transition of the original $\varphi_{V}$, which is identical to the angle $\varphi_{P}$ of the velocity vector described in Fig. 3. In this case, even though the angle difference is initially $90^{\circ}$, the robot cannot immediately move to the $0^{\circ}$ direction by the action of the low pass filter and the angle error compensator for tracking, which minimize the angle difference.

Sum of two unit vectors shown in Fig. 4(b) can have effect of reducing the noise as the dashed line (black) in Fig. 7. However, the response time is much longer when the person makes a turn. Therefore, the modified virtual angle, $\varphi_{V}$, for the virtual target is proposed as Eq. (4)-(5).

As the solid line (blue) of Fig. 7, when the angle difference $\varphi_{diff}$ is smaller than the cutoff angle $\varphi_{cutoff}$, the target person is considered to move straight, it also has effect of reducing the noise of the angle of the person's velocity vector like the unit vector sum. However, when the angle difference $\varphi_{diff}$ is larger than the cutoff angle $\varphi_{cutoff}$, it implies that the target person makes a turn and the mobile robot can make a faster turn. While the robot is tracking a person in front, a big angle error (larger than $40^{\circ}$) between the heading direction angle $\varphi_{H}$ and the desired angle $\varphi_{d}$ in Fig. 3 normally do not last long because of using the low pass filter and a compensator minimizing the angle error.

There is one exception in the calculation of the new virtual angle. When the angle difference $\varphi_{diff}$ is larger than $130^{\circ}$, which means that the target person moves backward with respect to the mobile local coordinate, we consider this case as a backward tracking. Therefore, when the person moves backward, the mobile robot does not track the virtual target and tracks the target person backward.

To evaluate the effectiveness of the proposed algorithm, we conduct experiment on tracking a human when a target person moves to the direction perpendicular to the heading direction of the mobile robot, in which a mobile robot tracks the human in front as shown in Fig. 8. Fig. 9 explains the difference among three cases and the merits or demerits of the proposed algorithms. In these experiments, the initial heading direction of the mobile robot is the y-axis, the initial position of the target person is one meter behind the robot, and the initial position of the virtual target is located 3 meters in front of the person because of values of the virtual target distance $d_{v}$ and the virtual tracking distance $d_{T}$. Then the person moves to the x-axis about 11 meters long. As results of each experiment, the middle line of each graph denotes the path of the mobile robot.

![Image](images/ba5d91887f625f05a2338b46779b5529d4a78b6f2a7035cce4de36745bfbf9d2.jpg)

<div style="text-align: center;">Fig. 8. Snap shot of human tracking experiments</div>

In the case of applying the original angle of the virtual target, the mobile robot makes a turn about 2 meters apart from the target person. In the case of applying the proposed weighted vector sum method, the robot makes a turn less than 2 meters apart from the person. It can be seen that the position of the virtual target is rapidly changed in the beginning. Around 6 meters along the x-axis, the virtual target was shaking near the cutoff angle depicted in Fig. 7. However, the robot moves smoothly because of the low pass filter and the long virtual tracking distance $d_{T}$. In the last experiment, we apply the weighted vector sum method as Eq. (4) and the velocity limitation as Eq. (7). The movement of the virtual target is

---

similar to the previous one in the beginning, but the mobile robot makes a rapid turn and generates a shorter path as compared to the other cases. Therefore, the mobile robot can achieve the role of smooth tracking a human in front, even in the case that the human moves to the direction perpendicular to the heading direction of the mobile robot. The attached video clip demonstrates the experimental result that a mobile robot tracks a human in front.

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

![Image](images/d9a8ced163d91f008c2b1d1749e410aa7bb4e816b0195afb4cf62ca43a2d500d.jpg)

<div style="text-align: center;">Weighted Vector Sum</div>

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

<div style="text-align: center;">Weighted Vector Sum & Velocity Limit</div>

![Image](images/22bcac83f916f55053fee03da63d3d8e779013f090ab17cc0b860c8594dcd79e.jpg)

<div style="text-align: center;">Fig. 9. Human tracking experiments</div>

### VI. CONCLUSION

A human tracking robotic system, which tracks a human in front, is proposed in this paper. A torso of the human body is found the robustly recognizable part in outdoor environment. We performed the task that a mobile robot tracks a human in front by applying the proposed tracking algorithms using the virtual target. A satisfactory result was obtained in terms of stable performance. Through the proposed tracking algorithms, a mobile robot could provide better services for a human being. The future work is to optimize parameters of the proposed tracking algorithms, to increase the level of safety, and to improve the mechanical reliability of the mobile robot platform.

## ACKNOWLEDGEMENT

This work is supported by the Technology Innovation Program (10040097) funded by the Ministry of Knowledge Economy (MKE, Korea), supported by GRRC program of Gyeonggi Province (GRRC HANYANG 2012-A01), and financially supported by the Ministry of Knowledge Economy (MKE) and Korea Institute for Advancement in Technology (KIAT) through the Workforce Development Program in Strategic Technology, supported by the MKE (The Ministry of Knowledge Economy), Korea, under the Robotics-Specialized Education Consortium for Graduates support program supervised by the NIPA (National IT Industry Promotion Agency) (NIPA-2012-H1502-12-1002)

## REFERENCES

[^1]: S. Thrun, M. Bennewitz, W. Burgard, A. Cremers, F. Dellaert, D. Fox, D. Haehnel, C. Rosenberg, N. Roy, J. Schulte, and D. Schulz, “Minerva: A second generation mobile tour-guide robot,” in Proc. of IEEE Int. Conf. on Robotics and Automation, 1999.

[^2]: J. F. Engelberger, “Health-care robotics goes commercial: The helpmate experience,” in Robotica, vol. 11, 1993, pp. 517–523.

[^3]: L. Davis, V. Philomin, and R. Duraiswami, “Tracking humans from a moving platform,” in Proc. of Int. Conf. on Pattern Recognition, Washington, DC, 2000, pp. 4171.

[^4]: B. Jung and G. S. Sukhatme, “Detecting moving objects using a single camera on a mobile robot in an outdoor environment,” in Proc. of Int. Conf. on Intelligent Autonomous Systems, Amsterdam, Netherlands, Mar 2004, pp. 980–987.

[^5]: J. K. Aggarwal and Q. Cai, “Human motion analysis: a review,” Comput. Vis. Image Underst., vol. 73, no. 3, 1999, pp. 428–440.

[^6]: C. Rasmussen and G. D. Hager, “Probabilistic data association methods for tracking complex visual objects,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 23, no. 6, 2001, pp. 560–576.

[^7]: J. MacCormick and A. Blake, “A probabilistic exclusion principle for tracking multiple objects,” Int. J. Comput. Vision, vol. 39, no. 1, 2000, pp. 57–71.

[^8]: I. J. Cox and S. L. Hingorani, “An efficient implementation of Reid's multiple hypothesis tracking algorithm and its evaluation for the purpose of visual tracking,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 18, no. 2, 1996, pp. 138–150.

[^9]: A. Fod, A. Howard, and M.J. Mataric, “A laser-based people tracker,” in Proc. of IEEE Int. Conf. on Robotics and Automation Washington, DC, May 2002, pp. 3024-3029.

[^10]: H. Zhao and R. Shibasaki, “A novel system for tracking pedestrians using multiple single-row laser-range scanners,” IEEE Trans. on Systems, Man, and Cybernetics, vol. 35, no. 2, March 2005, pp. 283-291.

[^11]: B. Kluuge, C. Kohler, and E. Prassler, “Fast and robust tracking of multiple moving objects with a laser range finder,” in Proc. of IEEE Int. Conf. on Robotics and Automation, Seoul, 2001.

[^12]: J. H. Lee, T. Tsubouchi, K. Yamamoto, and S. Egawa, “People tracking using a robot in motion with laser range finder,” in Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems October 2006, Beijing, China, pp. 2936-2942.

[^13]: N. Bellotto and H. Hu, “Vision and laser data fusion for tracking people with a mobile robot,” in Proc. of IEEE Int. Conf. on Robotics and Biomimetics, December, 2006, pp. 7-12.

[^14]: M. Kobilarov, G. Sukhatme, J. Hyams, and P. Batavia, “People tracking and following with mobile robot using an omnidirectional camera and a laser,” in Proc. of IEEE Int. Conf. on Robotics and Automation, Orlando, Florida, May 2006, pp. 557-562

[^15]: D. F. Glas, T. Miyashita, H. Ishiguro, and N. Hagita, “Laser tracking of human body motion using adaptive shape modeling,” in Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Diego, CA, USA, 2007, pp. 602-608.

[^16]: K. O. Arras, O. M. Mozos, and W. Burgard, "Using boosted features for the detection of people in 2D range data," in Proc. of IEEE Int. Conf. on Robotics and Automation, 2007, pp. 3402-3407.

[^17]: B. Ristic, S. Arulampalam, and N. Gordon, Beyond the Kalman Filter: Particle filters for tracking applications, Artech House, 2004.

[^18]: M. Montemerlo, W. Whittaker, and S. Thrun, “Conditional particle filters for simultaneous mobile robot localization and people-tracking,” in Proc. of IEEE Int. Conf. on Robotics and Automation, Washington DC, USA, 2002, pp. 695-701.

[^19]: D. Beymer and K. Konolige, “Tracking people from a mobile platform,” in Proc. of IJCAI Workshop on Reasoning with Uncertainty in Robotics, Seattle, WA, USA, 2001.

[^20]: D. Schulz, W. Burgard, D. Fox, and A. B. Cremers, “People tracking with mobile robots using sample-based joint probabilistic data association filters,” Int. Journal of Robotic Research, vol. 22, no. 2, 2003, pp. 99-116.

[^21]: D. L. Hall, Mathematical Techniques in Multisensor Data Fusion, Artech House, 1992.

[^22]: Y. Bar-Shalom and X. R. Li, Multitarget-Multisensor Tracking: Principles and Techniques, Y. Bar-Shalom, vol. 3, 1995.
