InTech uses cookies to offer you the best online experience. By continuing to use our site, you agree to our Privacy Policy.

Engineering » Biomedical Engineering » "Advances in Haptics", book edited by Mehrdad Hosseini Zadeh, ISBN 978-953-307-093-3, Published: April 1, 2010 under CC BY-NC-SA 3.0 license. © The Author(s).

Chapter 6

Implementation of a Wireless Haptic Controller for Humanoid Robot Walking

By Eun-Su Kim, Man-Seok Kim, Johwan Kim, Sang Woo Kim and Jong-Wook Kim
DOI: 10.5772/8690

Article top


Stick diagrams of a biped robot seen from the side and the front.
Figure 1. Stick diagrams of a biped robot seen from the side and the front.
Center of mass point of the kth link as an interpolated point with ratios of 
Figure 2. Center of mass point of the kth link as an interpolated point with ratios of α k and β k .
Hardware structure of the humanoid walking control system.
Figure 3. Hardware structure of the humanoid walking control system.
Exterior of the humanoid control system.
Figure 4. Exterior of the humanoid control system.
Manipulation components in the wireless haptic controller.
Figure 5. Manipulation components in the wireless haptic controller.
Simulation of variable-speed biped walking.
Figure 6. Simulation of variable-speed biped walking.
Simulation of turning to the right with 20 degrees.
Figure 7. Simulation of turning to the right with 20 degrees.
Joint trajectories for biped turning to the right.
Figure 8. Joint trajectories for biped turning to the right.
Trajectories of ZMP during turning in walking.
Figure 9. Trajectories of ZMP during turning in walking.
Walking operation with WHC and a humanoid robot.
Figure 10. Walking operation with WHC and a humanoid robot.

Implementation of a Wireless Haptic Controller for Humanoid Robot Walking

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

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,,6 are the joint angles that make a robot proceed forward or backward. As shown in Figure 1(a), the joint angles θ1θ2 and θ3 are associated with the supporting leg and an upper body, while θ4θ5 and θ6 are 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=lr where the subscripts 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 φ 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=lr actuate 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 s denotes the sagittal plane. In the same manner, the links projected onto the coronal plane are described as


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:


where C12j , S12j , and Sφ represent cos(θ1+θ2++θj) sin(θ1+θ2++θj) and sin(φ) , respectively. In the case of supporting with the right leg, only y3 is changed in Eq. (3) as y3=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 ψl leads 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,,6 are derived by using the following rotation matrix:


where the superscript t implies that joint coordinates are rotated on the transverse plane. Owing to the consistency in coronal angles, the pelvis link l7 is 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 ψl is 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, whose x- and y-coordinates are defined as (Huang et al., 2001)


where g is the acceleration due to gravity, ximyim and zim denote the x-, y-, and z-coordinates of the CoM point in the ith link.


Figure 2.

Center of mass point of the kth link as an interpolated point with ratios of αk and β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,,6

where αk and βk represent 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),

where γii=1,,6 are the penalty weights chosen to keep from violating each constraint, mi is the mass of the i-th link, vi is the velocity of the CoM point in the i-th link, ω is the angular velocity vector, I is the inertia tensor, S is the stride length, hf is the maximum height of the swaying foot, and 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.

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:

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


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 as S=0.1m and the stride cycle 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 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 ψl is newly added with a linear change from 0 to 20° . 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.

7. Acknowledgements

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 - Q. Huang, K. Yokoi, S. Kajita, K. Kaneko, H. Arai, N. Koyachi, K. Tanie, 2001 Planning walking patterns for a biped robot, IEEE Trans. Robotics and Automation, 17 3 280 289
2 - K. S. Jeon, O. Kwon, J. H. Park, 2004 Optimal trajectory generation for a biped robot walking a staircase based on genetic algorithm, Int. Conf. on Intelligent Robots and Systems, 2837 2842 , Sept. 2004, IEEE, Sendai, Japan
3 - S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, H. Hirukawa, 2003 Biped walking pattern generation by using preview control of zero-moment point, Int. Conf. on Robotics and Automation, 1620 1626 , Sept. 2003, IEEE, Taipei, Taiwan
4 - S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, H. Hirukawa, 2001 The 3D linear inverted pendulum mode: a simple modeling for a biped walking pattern generation, Int. Conf. on Intelligent Robots and Systems, 239 246 , Oct. 2001, IEEE/RSJ, Maui, Hawaii
5 - T. Kim, J.-W. Kim, 2007 Planning walking patterns of a biped robot with uDEAS optimization, Proceeding of International Conference on Control, Automation, and Systems, 2693 2698 , Oct. 2007, ICROS, Seoul, Korea
6 - E. Kim, T. Kim, J.-W. Kim, 2008a Optimal trajectory generation for walking up a staircase of a biped robot using genetic algorithm (GA), Proceeding of 39th International Symposium on Robotics, 713 717 , Oct. 2008, Seoul, Korea
7 - J.-W. Kim, T. Kim, Y. Park, S. W. Kim, 2008b On load motor parameter identification using dynamic encoding algorithm for searches (uDEAS), IEEE Trans. on Energy Conversion, 23 3 804 813
8 - E. Kim, J.-H. Kim, J.-W. Kim, 2009a Generation 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), 660 665 , Aug. 2009, Jeju, Korea
9 - E. Kim, T. Kim, J.-W. Kim, 2009b Three-dimensional modelling of a humanoid in three planes and a motion scheme of biped turning in standing, IET Control Theory Appl., 3 9 1155 1166
10 - H. Lim, Y. Kaneshima, A. Takanishi, 2002 Online walking pattern generation for biped humanoid robot with trunk, Int. Conf. on Robotics and Automation, 3111 3116 , May 2002, IEEE, Washington, DC
11 - M. W. Spong, S. Hutchinson, M. Vidyasagar, 2006 Robot Modeling and Control, John Wiley & Sons Inc.
12 - I.-W. Park, J.-Y. Kim, J. Lee, J.-H. Oh, 2006 Online free walking trajectory generation for biped humanoid robot KHR-3 (HUBO), Int. Conf. on Robotics and Automation, 1231 1236 , May 2006, Orlando, Florida
13 - J. H. Park, K. D. Kim, 1998 Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control, Int. Conf. on Robotics and Automation, 3528 3533 , May 1998, Leuven, Belgium