Open access peer-reviewed chapter

Implementation of a Wireless Haptic Controller for Humanoid Robot Walking

Written By

Eun-Su Kim, Man-Seok Kim, Johwan Kim, Sang Woo Kim and Jong-Wook Kim

Published: April 1st, 2010

DOI: 10.5772/8690

Chapter metrics overview

2,188 Chapter Downloads

View Full Metrics

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;θ,φ, andψ.The sagittal anglesθii=1,,6are the joint angles that make a robot proceed forward or backward. As shown in Figure 1(a), the joint anglesθ1θ2andθ3are associated with the supporting leg and an upper body, whileθ4θ5andθ6are assigned to move a swaying leg.

Treating the motor angles is more straightforward and simpler than using the sagittal angles. These motor angles are shown in Figure 1(a) asθiji=anknthj=lrwhere the subscripts an, kn, and threpresent ankle, knee, and thigh, and the superscripts land rstand 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φplays the role of translating the upper body to the left or right for stabilizing the robot at the single support phase. Figure 1(b) shows that there are four joints, i.e. two ankle joints and two hip joints, in the coronal plane. These joints, however, consistently revolve with one degree-of-freedom (DOF) to maintain the posture in which the upper body and the two feet are always made vertical to the ground in the coronal view.

The transversal joints with revolute anglesψii=lractuate to twist the upper body and lifted leg around each axis and thus change the current walking direction. The left transverse joint (ψl) undertakes a right-hand turning by its first revolving in left leg supporting and by its second doing in right leg supporting. On the contrary, the right transverse joint (ψr) has to be rotated for turning to the left.

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

Figure 1.

Stick diagrams of a biped robot seen from the side and the front.

the viewpoint of the sagittal and coronal planes.

The projected links viewed from the sagittal plane are written as


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


where the superscript cdenotes 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:


whereC12j,S12j, andSφrepresentcos(θ1+θ2++θj)sin(θ1+θ2++θj)andsin(φ), respectively. In the case of supporting with the right leg, onlyy3is changed in Eq. (3) asy3=y2+l7

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ψlleads to the circular motion of all the joints except those installed in the supporting left leg. Since the coordinate of the left transverse joint is(x2y2z2)as shown in Figure 1(b), the resultant coordinates of the k-th joint(xktyktzkt)k=3,,6are derived by using the following rotation matrix:


where the superscript timplies that joint coordinates are rotated on the transverse plane. Owing to the consistency in coronal angles, the pelvis linkl7is parallel to the ground, and thus the 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:


Whenψ=l0, the joint coordinates in Eq. (5) become identical with those in Eq. (3).

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ψlis also to be carried while the right leg supports the upper body at this time. Thus the origin of the coordinate frames(x0y0z0)is assigned to the ankle joint of the right leg, and the left transverse joint has the coordinate(x3y3z3). In this case, the rotation matrix written in Eq. (4) is changed like the following:


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, whosex- and y-coordinates are defined as (Huang et al., 2001)


where gis the acceleration due to gravity,ximyimandzimdenote the x-, y-, and z-coordinates of the CoM point in theith link.

Figure 2.

Center of mass point of thekth link as an interpolated point with ratios ofαkandβk.

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 kth link connected between the (k-1)th and kth joints is expressed as

(xkmykmzkm)=(αkxk+βkxk1αk+βkαkyk+βkyk1αk+βk αkzk+βkzk1αk+βk)k=1,,6E10

whereαkandβkrepresent the CoM point division ratios of the kth 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:


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:

J=γ10TE(t)dt+PE(t)=12(m1(v1(t))2+m2(v2(t))2++m6(v6(t))2)+12ωTIωP=γ2(|x6(T)S|S+|z6(T)|hf)+γ3(violation of limit angle)+γ4(violation of nontouching ground)    +γ5(violation of ZMP)+γ6(violation of maximum height),E13

whereγii=1,,6are the penalty weights chosen to keep from violating each constraint,miis the mass of thei-th link,viis the velocity of the CoM point in thei-th link,ωis the angular velocity vector,Iis the inertia tensor, Sis the stride length,hfis the maximum height of the swaying foot, and Tis the stride cycle. The walking speed can be adjusted by varyingTin the optimization stage.


5. Controller Hardware and Experiment

5.1. Humanoid Control System

Figure 3.

Hardware structure of the humanoid walking 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.

MCUA t mega128
Memory256Kbit (32Kbyte) SRAM
NetworkBluetooth Network (RS-232)
Haptic ModuleVibration Motor X 2
ControllerDirection Switch, Joystick, Button

Table 1.

Specification of WHC board.

Figure 4.

Exterior of the humanoid control system.

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

  1. Main processor is the ATmega128 processor.

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

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

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

  5. 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:

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

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

  3. 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.

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

Figure 5.

Manipulation components in the wireless haptic controller.

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 asS=0.1mand the stride cycle Tis changed from 2 to 4 seconds for simulation of various-speed walking. As Tincreases, 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 Tin off-line, saving all the sets of optimal parameters into memory of WHC, and then generating motor trajectories for a requested T.

Figure 6.

Simulation of variable-speed biped walking.

Figure 7.

Simulation of turning to the right with 20 degrees.

Figure 8.

Joint trajectories for biped turning to the right.

Figure 9.

Trajectories of ZMP during turning in walking.

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ψlis newly added with a linear change from 0 to20°. This simple trajectory is expected to affect dynamics minimally, and the ZMP’s computed by Eqs. (8) and (9) stay inside the stable area, i.e. sole of the supporting foot, sufficiently long time as shown in Figure 9.

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.

Figure 10.

Walking operation with WHC and a humanoid robot.



This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (2009-0073527).


  1. 1. HuangQ.YokoiK.KajitaS.KanekoK.AraiH.KoyachiN.TanieK.2001Planning walking patterns for a biped robot,IEEE Trans. Robotics and Automation,173280289
  2. 2. JeonK. S.KwonO.ParkJ. H.2004Optimal trajectory generation for a biped robot walking a staircase based on genetic algorithm,Int. Conf. on Intelligent Robots and Systems,28372842, Sept. 2004, IEEE, Sendai, Japan
  3. 3. KajitaS.KanehiroF.KanekoK.FujiwaraK.HaradaK.YokoiK.HirukawaH.2003Biped walking pattern generation by using preview control of zero-moment point,Int. Conf. on Robotics and Automation,16201626, Sept. 2003, IEEE, Taipei, Taiwan
  4. 4. KajitaS.KanehiroF.KanekoK.YokoiK.HirukawaH.2001The 3D linear inverted pendulum mode: a simple modeling for a biped walking pattern generation,Int. Conf. on Intelligent Robots and Systems,239246, Oct. 2001, IEEE/RSJ, Maui, Hawaii
  5. 5. KimT.KimJ.-W.2007Planning walking patterns of a biped robot with uDEAS optimization,Proceeding of International Conference on Control, Automation, and Systems,26932698, Oct. 2007, ICROS, Seoul, Korea
  6. 6. KimE.KimT.KimJ.-W.2008aOptimal trajectory generation for walking up a staircase of a biped robot using genetic algorithm (GA),Proceeding of 39th International Symposium on Robotics,713717, Oct. 2008, Seoul, Korea
  7. 7. KimJ.-W.KimT.ParkY.KimS. W.2008bOn load motor parameter identification using dynamic encoding algorithm for searches (uDEAS),IEEE Trans. on Energy Conversion,233804813
  8. 8. KimE.KimJ.-H.KimJ.-W.2009aGeneration of optimal trajectory for ascending and descending a stair of a humanoid based on uDEAS,Proceeding of International Conference on Fuzzy Systems (Fuzz-IEEE 2009),660665, Aug. 2009, Jeju, Korea
  9. 9. KimE.KimT.KimJ.-W.2009bThree-dimensional modelling of a humanoid in three planes and a motion scheme of biped turning in standing, IET Control Theory Appl.,3911551166
  10. 10. LimH.KaneshimaY.TakanishiA.2002Online walking pattern generation for biped humanoid robot with trunk,Int. Conf. on Robotics and Automation,31113116, May 2002, IEEE, Washington, DC
  11. 11. SpongM. W.HutchinsonS.VidyasagarM.2006Robot Modeling and Control, John Wiley & Sons Inc.
  12. 12. ParkI.-W.KimJ.-Y.LeeJ.OhJ.-H.2006Online free walking trajectory generation for biped humanoid robot KHR-3 (HUBO),Int. Conf. on Robotics and Automation,12311236, May 2006, Orlando, Florida
  13. 13. ParkJ. H.KimK. D.1998Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control,Int. Conf. on Robotics and Automation,35283533, May 1998, Leuven, Belgium

Written By

Eun-Su Kim, Man-Seok Kim, Johwan Kim, Sang Woo Kim and Jong-Wook Kim

Published: April 1st, 2010