## 1 Introduction
Our proposed method GA-LVVJ provides a framework of motion mapping with the 3D information of skeleton points, and deals with the problems on how to construct virtual joints of the human skeleton model in accordance with the robot joints, how to establish link frames attached to the link vectors and how to extract joint angles for mapping using the geometrical method. This method proves the high similarity of the single-support and double-support imitation motions with low computational cost. Upper-body imitation has been studied for many years [10; 12; 14; 15; 19; 22; 30; 31; 32; 33; 34; 35; 36]. Compared with upper-body imitation, whole-body imitation is more comprehensive and complicated. Whole-body imitation usually involves multi-mode lower-body imitation and balance control [13; 16; 17; 18; 20; 21; 23; 24; 25; 26; 37]. [PERSON] et al. proposed a method of joint angle generation using a particle filter, which was based on a designed similarity function [18]. However, the particle filter could not ensure standing stability, and, consequently, a robot controlled in this way was limited to a doubly supported posture (standing on two feet). [PERSON] et al. studied upper-body and lower-body imitation separately to ensure stability [16]. The postures were estimated by means of neural-network-based inverse kinematics and five feature points extracted from a stereo-vision system, but only 11 preset stable motions were available for the lower body. [PERSON] et al. modified key postures via a Q-learning process to maintain a robot's balance during imitation [38]. It was necessary to train the balance control process in advance, and only limited numbers of joint angles could be modified independently using several fixed preset values. In [25], the Hip Roll joint of the swing leg was locked during the single-support phase, and the unstable imitation of the lower-body motion sometimes led to falling down. [PERSON] et al. presented a method of maintaining whole-body balance when imitating single poses or a pose sequence [26]. However, the landing of the foot when transitioning from the single-support to the double-support phase was not considered. Moreover, walking and hand detection, which are essential for task execution, also were not taken into account. In [23], [PERSON] et al. proposed a real-time imitation system based on the Kinect. The system derived robot joint angles by applying the Levenberg-Marquardt algorithm to the IK optimization problem and achieved both double and single support by means of an \"Ankle Strategy\" [37] and a \"Hip Strategy\". [PERSON] et al. also adjusted the ankle joints to maintain balance [13]. Still, walking and hand detection were not considered. Walking must be considered for true whole-body imitation. [PERSON] et al. used the Xsens MVN motion capture system to achieve stable whole-body imitation via the numerical inverse kinematics method [21]. The end effector was retargeted if the posture was not stable. The system enabled the robot to imitate a human gait at a low velocity, but the demonstrator was required to lift his or her leg slowly and high, which is inconvenient and inconsistent with spontaneous human walking motions. [PERSON] et al. focused on the problem of shifting the support leg and lifting/lowering the foot during motion imitation via task specification [17; 24]. These authors avoided using motion primitives, and the robot acted in a freer and more human-like manner when shifting the support leg, stepping and walking. However, the locomotion functionality remained limited because of the low stepping velocity. Using a different approach from these methods, some researchers have controlled the locomotion of a robot by using preprogrammed walking primitives to make it easier for the demonstrator to operate the robot. The system developed in [39] used a depth camera to record the positions of the human demonstrator and calculate the displacements, but it required a Wiimote as ancillary equipment to tell the system when to record the initial and final positions.