## 1. Introduction

Humanoid robots are the most proper type of robots for providing humans with various intelligent services, since it has a human-like body structure and high mobility. Despite this prosperity, operation of the humanoid robot requires complicated techniques for performing biped walking and various motions. Thus, the technical advancement concerning humanoid motion is somewhat sluggish.

For attracting more engineering interest to humanoids, it is necessary that one should be able to manipulate a humanoid with such easiness as driving an remote control(RC) car by a wireless controller. In doing so, they will watch the motion and learn intrinsic principles naturally. Actually, however, only a few well-trained experts can deal with a humanoid robot of their own assembling as often seen in robot shows. This limitation may be due to the lack of unified and systemized principles on kinematics, dynamics, and trajectory generation for a humanoid.

For biped walking, modeling of the humanoid for deriving kinematics and dynamics is to be constructed first. Humanoid modeling can be roughly classified into two categories; the inverted pendulum model (Park et al., 1998; Kajita et al., 2001; Kajita et al., 2003) and the joint-link model (Huang et al., 2001; Lim et al., 2002; Jeon et al., 2004; Park et al., 2006). The former approach is such that a humanoid is simplified as an inverted pendulum which connects the supporting foot and the center of mass (CoM) of the whole body. Owing to the limited knowledge in dynamics, this approach considerably relies on feedback control in walking. On the contrary, the latter approach requires the precise knowledge of robot specification concerning each link including mass, moment of inertia, and the position of CoM. This complexity in modeling, however, leads to an inevitable intricateness of deriving dynamics.

We have been building the humanoid walking technologies by constructing the unique three-dimensional model, deriving its dynamics, generating motor trajectories that satisfy both stability and performance in biped walking and upstairs walking since 2007 (Kim & Kim, 2007; Kim et al., 2008a; Kim et al., 2009a; Kim et al. 2009b). All the computer simulations were validated through implementation of walking with a small humanoid robot.

Based on the experience, we newly propose in this paper a wireless humanoid walking controller considered as a simple human-robot-interface. The target users of the controller are children and above, and thus it should be easy to command. The controller is equipped with a joy stick for changing walking direction and speed, function buttons for stop and start of walking or any other motions, and a haptic motor for delivering the current walking status to the user.

The proposed humanoid controller will arouse the popular interest on humanoids, and the related principles will bring about an improvement in the current walking techniques. The proposed controller can be applied to the remote medical robot, the exploration robot, the home security robot, and so on.

## 2. Humanoid Model

This section describes the kinematics of a humanoid robot in consideration of variable-speed biped walking and direction turning. Humans can walk, run, and twist by rotating joints whose axes are placed normal in three orthogonal planes; the sagittal, coronal, and transverse planes. These planes are determined from viewing angles to an object human. In the sagittal plane, a human walks forward or backward, while he or she moves laterally by rotating joints in the coronal plane. It is apparent that the joints locating in the transverse plane have to be rotated for turning the body.

Figure 1 illustrates the present humanoid model described in the three planes. There are three types of angles in the model;

Treating the motor angles is more straightforward and simpler than using the sagittal angles. These motor angles are shown in Figure 1(a) as
*an*, *kn*, and *th* represent ankle, knee, and thigh, and the superscripts *l* and *r* stand for left and right, respectively. Every sagittal joint motor has its own motor angle that has a one-to-one relationship with the six sagittal angles (Kim & Kim, 2007).

The coronal angle

The transversal joints with revolute angles

The present modeling approach is based on the projection technique onto the sagittal and coronal planes, and axis rotation for the transverse plane. While a humanoid is walking in three dimensions, the six links of the lower body seem to be simultaneously contracted from

the viewpoint of the sagittal and coronal planes.

The projected links viewed from the sagittal plane are written as

where the superscript *s* denotes the sagittal plane. In the same manner, the links projected onto the coronal plane are described as

(2) |

where the superscript *c* denotes the coronal plane. It should be noted from Eqs. (1) and (2) that the projected links are time varying quantities.

Using the projected links, coordinates of the six joints in left leg supporting are simply derived as direct kinematics from their structural relationship like the following:

(3) |

where

For turning in walking or standing, the kinematics in Eq. (3) should be extended to describe turning to an arbitrary angle. For example, let the robot turn to the right by rotating the hip joint of the left leg. At this time, the first rotation resulting from actuation of
*k*-th joint

where the superscript *t* implies that joint coordinates are rotated on the transverse plane. Owing to the consistency in coronal angles, the pelvis link
*z*-coordinates remain the same as shown in Eq. (4).

Using Eqs. (3) and (4), the *x*- and *y*-coordinates of the six joints after the rotation are rewritten as follows:

(5) |

When

For completion of turning to the right, direction of the left foot that was supporting should also be aligned with that of the right foot. Therefore, the second rotation in

Then the rotated coordinates are approximated as

## 3. Zero Moment Point (ZMP)

For stable biped walking, all the joints in a lower body have to revolve maintaining ZMP at each time in the convex hull of all contact points between the feet and the ground. ZMP is the point about which the sum of all the moments of active forces equals zero, whose* x*- and *y*-coordinates are defined as (Huang et al., 2001)

where *g* is the acceleration due to gravity,
*x*-, *y*-, and *z*-coordinates of the CoM point in the* i*th link.

Considering that every link CoM point is rigidly fixed between its two end joints, only second-derivative expression of joint coordinates need to be derived. Using interpolation with two ratios as shown in Figure 2, the CoM point of the *k*th link connected between the (*k*-1)th and *k*th joints is expressed as

where
*k*th link. Then the second derivatives of link CoM points required for computing Eqs. (8) and (9) are directly computed as

Therefore, computation of ZMP requires second-derivatives of all the joint coordinates that vary during walking.

In our recent work (Kim et al., 2009b), second-derivatives of the six joint coordinates in the lower body under actuation of the three-type joints have been derived like the following:

(12) |

where the functions have the following definitions

Insertion of Eq. (12) into Eq. (11) and then Eqs. (8) and (9) enables one to directly compute ZMP.

## 4. Generation of Optimal Trajectories

In our previous works (Kim & Kim, 2007), the biped robot was modeled in two planes, and dynamics was derived based on it for calculating total energy consumed. For generation of six joint trajectories, the blending polynomial that is a connection of several cubic polynomials (Spong et al., 2006) is used with the optimization method named univariate dynamic encoding algorithm for searches (uDEAS) (Kim et al., 2008b). This method minimized the cost function composed of the sum of total energy consumed by six joint motors and of the penalty function representing the satisfaction of essential requirements such that the swaying foot should land on the desired position, the tip of swaying foot should be always higher than the ground, all the joint motors should rotate within their rotation angle limits, and ZMP should be located inside the convex hull of supporting foot area as much as possible while walking. This work updates the previous ones by recalculating kinematics suited to the three-dimensional model and by elaborating the cost function for walking with variable speed.

Specifically in fast walking, touching the ground of the swaying foot before normal landing gives more impact to the body than in slow walking. Thus, the swaying foot needs be sufficiently high, which can be implemented by adding a related term in the cost function like the following:

(13) |

where
* i*-th link,
* i*-th link,
*S* is the stride length,
*T* is the stride cycle. The walking speed can be adjusted by varying* T* in the optimization stage.

## 5. Controller Hardware and Experiment

### 5.1. Humanoid Control System

Figure 3 shows a hardware structure of the proposed humanoid walking control system composed of two parts; a wireless haptic controller (WHC) part and a humanoid controller part.

WHC is executed by an Atmega128 board, where optimal trajectories of joint motors for each walking command are downloaded. Upon command, the motor trajectory data are transmitted to the humanoid controller, and the response data on walking status are feedback from the humanoid controller to WHC by Bluetooth communication.

The humanoid controller is executed by an ATmega128 board. This controller sends the optimal trajectory data received from WHC to each joint motor of the humanoid robot at sampled time.

The specification of the WHC is written in Table 1.

MCU | A t mega128 |

Memory | 256Kbit (32Kbyte) SRAM |

Network | Bluetooth Network (RS-232) |

Haptic Module | Vibration Motor X 2 |

Controller | Direction Switch, Joystick, Button |

Figure 4 shows the manufactured humanoid control system which is composed of the following:

Main processor is the ATmega128 processor.

An attached Bluetooth module communicates with the robot in real-time.

Upon user’s command, the information on the corresponding optimal joint motor trajectories downloaded in WHC is transferred to the ATmega128 board.

One can order the humanoid to walk or turn by using direction switches and a joystick, and command buttons.

An haptic actuator delivers walking status to the user by vibrating its motor.

### 5.2. Haptic Controller

Figure 5 illustrates components in the proposed WHC. Detailed explanation is given below:

Direction switches make the user select one of basic walking types; forward, left, right, and backward walking.

Buttons are associated with the basic robot motions such as initial standing, starting to move, and waiting the next command.

A joystick plays a role to modify walking direction and speed by user’s will. For instance, a strong upward strike of it will command the robot to walk forward fast.

A vibration motor makes the user feel the current robot status in motion.

### 5.3. Simulation and Experiment

We employ uDEAS as a basic optimization method for attaining thirteen optimal parameters of blending polynomials that describe the joint trajectories. The stride length is fixed as
*T* is changed from 2 to 4 seconds for simulation of various-speed walking. As *T* increases, walking speed decreases, and vice versa.

Figure 6 illustrates the simulation result of biped walking for three representative walking cycles. As shown in Figure 6, uDEAS successfully finds out optimal parameters for the given *T*. Thus, a real-time adjustment of walking speed can be realized by subdividing *T*, searching for optimal parameters for each *T* in off-line, saving all the sets of optimal parameters into memory of WHC, and then generating motor trajectories for a requested *T.*

Figure 7 shows simulation of bide turning to the right with 20 degrees during 4 seconds. All the joint trajectories involved in turning simulation are shown in Figure 8. The first seven motor angles are optimized by uDEAS for energy-minimal walking and the last angle

Figure 10 shows a snapshot of walking operation with WHC and a humanoid kit. Although the present feasibility of wireless humanoid control is limited to walking forward and turning in standing only, a wide variety of motion will be realized with high reliability in the near future.

## 6. Conclusion

This paper provides an innovative work concerning the principle and controller implementation on humanoid walking. A new humanoid model is described in three orthogonal planes, and kinematics equations are established based on the phenomena of projection and rotation. The feasibility of the proposed model is validated through the simulation result of variable-speed walking optimized by uDEAS with mere change in the stride cycle. Moreover, we newly succeeded in simulation of direction turning during walking with the aid of mathematical description of three-dimensional kinematics. In addition, the present work includes implementation of a wireless humanoid controller for the purpose of education and entertainment. This is in no doubt possible by virtue of new technologies to date. Our future research will be focused on wireless humanoid control for general human motions.