Abstract
1. Introduction
In recent years, the research field on the intelligent environment has been expanding (Jin et al., 2001; Lee et al., 1999; Lee et al., 2002). An intelligent environment is the space where many intelligent devices, such as computers and sensors, are distributed. As many intelligent devices cooperate, the environment comes to have intelligence. The environment supports humans in the intelligent environment physically and informationally, facilitating use of advanced computers and complicated mechanical systems. The human-tracking robot in this research implements a method of maintaining a certain relative positional relationship between the human and the robot. It has been reported that a human being accompanied by a mobile robot leads to mutual interactions (Akiyama et al., 2002). Jin et al. (2006) describe a mobile robot which always faces and follows human acts as an assistant robot.
Lee et al. (1999) considered four-legged mobile robots for following humans. However, these studies only addressed the problem of how to follow humans, not how to detect the presence of humans. They developed their studies on the premise that human detection is possible. Technology which includes the recognition of humans, a position estimation technique for a mobile robot and humans, and a control strategy for following humans who are walking in a stable way, is required in order to realize robot human-tracking behaviour. In order to recognize humans, most human-tracking robots are mounted with many sensors, such as charge-coupled device (CCD) cameras, ultrasonic sensors, etc. These sensors detect the relative position of the mobile robot to the target human. The mobile robot in Kim et al. (2001) recognizes a human's skin colour using a CCD camera, and traces the target human by combining pan-tilt control of a CCD camera. In addition to the vision sensor, a voice recognition sensor and LED sensors are mounted in the mobile robot (Lee et al., 1999; Lee et al., 2002), which is able to follow humans in an outdoor environment. Most of the proposed human-tracking robots burden the target human with special equipment. It is very difficult for a mobile robot to continue following a human taking the shortest time-path while avoiding other obstacles, without missing a target walking at a natural speed, since the stand-alone robot has limitations in terms of recognition performance (Inamura et al., 1998).
In this research, a robotics space is used in order to solve these problems. A mobile robot cooperates with multiple intelligent sensors, which are distributed around the environment. The distributed sensors recognize the walking human and the mobile robot, and give control commands to the robot to follow the walking human in the shortest time-path. We aim to achieve a human-tracking robot without placing any burden on the human with a mobile robot that is simple in structure. We propose predictable robotic space as an intelligent environment with many intelligent sensors to estimate the shortest path and time, and are building an environment where humans and mobile robots can coexist. The human-tracking robot of this research is one of the physical agents for human support in robotic space.
First, this paper briefly introduces the configuration of the robotic space and the basic human-tracking concept in Section II. Section III explains the coordinates for mobile robot control, and Section IV deals with trajectory estimation of a walking human using computer simulations. In Section V, the motion planning involved in tracking a walking human and experimental results to verify the efficiency of the system are shown. Finally, Section VI presents conclusions and mentions possible related work for the future.
2. Structure of the Robotic Space
2.1 Human-Tracking Concept
Robotic Space (Lee et al., 2002) is a space where many intelligent devices are distributed throughout the whole of the space, as shown in Fig. 1. These intelligent devices have sensing, processing and networking functions, and are called distributed networked sensors (DNS). These devices observe the positions and behaviour of the humans and robots coexisting in the robotic space. The information acquired by each DNS is shared among the others through the network communication system. Based on the accumulated information, the environment as a system is able to understand the intention of humans. For supporting humans, the environment/system utilizes machines including computers and robots.

Structure of robotic space by distributed cameras.
As the basic concepts for the human-tracking robot in robotic space, a new scheme for a mobile robot to estimate and follow walking humans using images of cameras in robotic space is proposed. The positions of a walking human and a mobile robot were estimated respectively using the kinematics of the camera adopted as the sensor in robotic space, and images of the walking human and mobile robot, assuming that the robot is flat and small on the floor.
The linear and angular velocities of the walking human were estimated for the human-tracking robot to predict the future trajectory of the human; the robot then estimates the shortest time-path to follow the walking human. A state estimator was designed to overcome the uncertainties from the image data caused by the point-object assumption and physical noises, using a Kalman filter. Based on the estimated velocities of the human, the position of the human-tracking robot was controlled to follow a walking human on the centre of the image frame.
2.2 System Structure
Three DNSs are used to recognize the mobile robot and to generate the control commands. The other three DNSs are used to recognize the position of the human. DNSs are placed as shown in Fig. 1. The placement of the three DNSs for human recognition is optimized to expand the viewable area of the cameras so that the head and hands of the human can be recognized over a wide area. On the other hand, the placement of DNSs for the mobile robot has to be decided by trial and error. It is desirable that the DNSs for the mobile robot recognize the whole of the area covered by the three DNSs for human recognition in order to achieve the human-tracking system and reliable mobile robot control. Thus, three DNSs are placed so that the area for human recognition is completely covered. Human walking information is extracted by background subtraction and by detecting the skin colour of a face and hands on captured images.
A differential wheel velocity-type mobile robot is used for the human-tracking robot. Since the DNSs take charge of the sensing and processing in robotic space, the mobile robots do not need any special functions or devices, except for an ability to move and a wireless network device to allow for communication with the DNSs.
This mobile robot (Pioneer3-DX datasheet et al., 2012) is connected to the DNS network via wireless LAN, as shown in Fig. 2, and shares the resources of the DNSs.

Human and mobile robot in robotic space.
3. Coordinates for Human-Tracking Control
The camera system in robotic space has the ability of panning and tilting, as shown in Fig. 3. The position and posture of the camera are defined according to the base frame. According to the Denavit-Hartenberg convention, the homogeneous matrix can be obtained after establishing the coordinate system and representing parameters, and an attitude vector of the homogeneous matrix represents Roll(θ

Estimation of position information, r̂0 (upper figure), 0 (lower one).
To measure the distance from a camera to objects using the camera images, at least two image frames captured for the same object at different locations are necessary. Usually, a stereo-camera system has been used to obtain the distance information (Yoda et al, 2006; Agrawal et al, 2006). However, there exist uncertainties in feature point matching and it takes too long to be implemented in real-time. This approach requires only a frame to measure the distance to the object from the CCD camera. Since the approach becomes possible by assuming that a point-object is located on the floor, there also exist uncertainties in the position estimation. To minimize the uncertainty in the position estimation and to estimate the velocities of the moving object together, a state estimator is designed based on the Kalman filter. The image coordinates for the point object, (
where
To estimate the real location, (
where θ
where θY represents the angle between the mobile robot and the camera of DINDs.
4. Trajectory Estimation of a Human
4.1 Human modelling
When the velocity and acceleration of the walking human and mobile robot can each be estimated, the next human position (
where δ
In the
where
From (8)–(12), we can obtain the state transition matrix, as follows:
where
Notice that Φ
4.2 State estimation
Input data such as image information include uncertainties and noises generated during the data capturing and processing steps. The state transition of a moving object also includes irregular components. Therefore, as a robust state estimator against these irregularities, a Kalman filter was adopted to form a state observer (Adam et al., 2000; Jang et al, 1997; Sorenson, 1996). The Kalman filter minimizes the estimation error by modifying the state transition model based on the error between the estimated vectors and the measured vectors, with an appropriate filter gain. The state vector, which consists of position on the x-y plane, linear/angular velocities, and linear/angular accelerations, can be estimated using the measured vectors representing the position of a moving object on the image plane.
The covariance matrix of estimated error must be calculated to determine the filter gain. The projected estimate of the covariance matrix of estimated error is represented as where
The optimal filter gain
where
The estimate of the state vector
Therefore,
After the current time is updated to

Trajectory of walking human.
To incorporate the measurement noise, which is empirically assumed to be zero-mean, Gaussian random noise with a variance of 2, the linear and angular velocities of the object were set as follows:
where the linear and angular velocities (ξ

State estimations
4.3 Trajectory estimation
The states of a moving object can be estimated if the initial state and input are given for the state transition model. Therefore, the states can be estimated for the next inputs by estimating the linear velocity and angular velocity of the moving object using the Kalman filter as a state estimator. From the linear velocity/acceleration and rotational angular velocity/acceleration data, the next states can be approximated, as in the following first order equations:
In Fig. 5, the result includes possible noise since it is a dynamically varying system, although it is suppressed by the Kalman filter. The least square estimation method is therefore utilized, which has robust anti-noise characteristics (Jang et al, 1997).
where
and
From the estimated inputs and using the state transition model, the trajectory of a moving object can be estimated as follows:
5. Experiments
For the first task, to follow a walking human, the mobile robot needs to be controlled by considering the relation between the position of the mobile robot and the position of the walking human. Fig. 6 shows the motion planning process of a mobile robot for following a walking human.

Estimation of the trajectory for human-tracking.
Each DNS computer system estimates the position of the moving object within
where ◯
With regard to the second task, to demonstrate and illustrate the proposed method, we present an example. It is assumed that the velocity limit of a mobile robot is 30 cm/sec and the initial locations of the mobile robot and the moving object are (−50, −50) and (−250, 300), in cm in relation to the reference frame, respectively. The velocity and angular velocity of the moving object are as follows:
The forward direction and rotational angular velocity of the moving object are Gaussian random variables with variances of 2 and 0.1, respectively, which are obtained experimentally.
Fig. 7(a) shows the trajectory of a walking human and the mobile robot trying to follow the human by estimating the trajectory. Fig. 7(b) represents the distance between the mobile robot and the walking human, the error between the estimated velocity and the real velocity, and the error between the estimated angular velocity and the real angular velocity, respectively. Although the error of the estimated velocities is high at first, they converge to zero immediately.

Results of experiment.
The experiment was performed to generate the shortest time trajectory for following the walking human based on the curved path showed in Fig. 7. Fig. 8 shows the experimental results for estimating information and following a walking human. The mobile robot is attached to 70×20[cm] red panels. The human walks at random velocities in the range of 45–50[cm/sec]. First, the mobile robot detects the moving human using cameras in robotic space. When the walking human is detected within view, the mobile robot tracks it following the proposed method. Fig. 8 illustrates the mobile robot following a human in the shortest time-path as in the temporary position of Fig. 7(a). The shortest path was estimated using the trajectories of the mobile robot and the human while the mobile robot was tracking the walking human.

Experimental results for human-tracking at human position
6. Conclusions
This paper proposes a method of human-tracking for a mobile robot to track and follow a walking human in robotic space. First, a control algorithm using a position estimation of moving objects, walking human and mobile robot, based on the kinematic relationship of consecutive image frames, was proposed for a mobile robot to follow a walking human whose position is estimated incompletely. The proposed model is able to absorb the gap between the motion of the human and the mobile robot. Movement estimation of the objects using a Kalman filter based on DNSs for tracking was shown, as well as the motion planning of a mobile robot for following a walking human based on its estimated trajectory, within the shortest time.
Future studies will involve applying this system to complex environments where many people, mobile robots and obstacles coexist. Since the proposed algorithm absorbs the kinematic differences between humans and robots, any kind of mobile robot, including legged robots, can be used as a human-tracking robot, as long as the robot is able to move at the speed of human walking.
