Abstract
This paper describes the development of an autonomous obstacle-avoidance method that operates in conjunction with groping locomotion on the humanoid robot Bonten-Maru II. Present studies on groping locomotion consist of basic research in which humanoid robot recognizes its surroundings by touching and groping with its arm on the flat surface of a wall. The robot responds to the surroundings by performing corrections to its orientation and locomotion direction. During groping locomotion, however, the existence of obstacles within the correction area creates the possibility of collisions. The objective of this paper is to develop an autonomous method to avoid obstacles in the correction area by applying suitable algorithms to the humanoid robot's control system. In order to recognize its surroundings, six-axis force sensors were attached to both robotic arms as end effectors for force control. The proposed algorithm refers to the rotation angle of the humanoid robot's leg joints due to trajectory generation. The algorithm relates to the groping locomotion via the measured groping angle and motions of arms. Using Bonten-Maru II, groping experiments were conducted on a wall's surface to obtain wall orientation data. By employing these data, the humanoid robot performed the proposed method autonomously to avoid an obstacle present in the correction area. Results indicate that the humanoid robot can recognize the existence of an obstacle and avoid it by generating suitable trajectories in its legs.
Keywords
Introduction
The past decade has seen an explosion of research on humanoid robotics (Hirai, K. et al., 1998), (Konno, A. et al.,1997). Robotics researchers are enthusiastically developing anthropomorphic robots, ones that can think intelligently and mimic human action (Waseda University, 2004), (Sony Corporation, 2002). The humanoid robot's shape shares many basic physical characteristics with actual humans, and for this reason, they are expected to coexist and collaborate with humans in environments where humans work and live. They may also be substituted for humans in hazardous environments or at disaster sites. These demands make it imperative for humanoid robots to attain many sophisticated motions such as walking, climbing up and down stairs, avoiding obstacles, creeping, etc.
The development of humanoid robots that can coexist and interact with humans and their surroundings, and are able to make decisions based on their own judgments, will be a crucial part of making them a commercial success. Therefore, this research focuses on developing methods for humanoid robots to effectively interact with their surroundings by applying physical contact. Current research has proposed the groping-locomotion method for humanoid robots (Hanafiah, Y. et al., 2004). This research comprises a basic interaction method for the humanoid robot to recognize its surroundings by touching and groping a wall's surface to obtain wall orientation. The robot then responds to its surroundings by performing corrections to its position and orientation. During groping locomotion, however, the existence of obstacles along the correction area creates the possibility of collisions. Hence, it is necessary to develop a method to avoid obstacles and improve the performance of groping locomotion.
Basically, the application of sensors is necessary for a humanoid robot to recognize its surroundings. In real applications, however, some types of sensor such as a vision sensor or an ultrasonic wave sensor sometimes cannot perform well due to interruption of environment factors such as noise, heat, dust, smoke, etc. In this research, force sensors were attached to both arms as end effectors that directly touch the obstacle and provide force data that are subsequently converted to position data by the robot's control system. The objective of this research is to develop an autonomous system to avoid obstacles in groping locomotion by applying suitable algorithms to the humanoid robot's control system, which based on rotation angle at legs joint caused by trajectory generation.
Definision of Obstacle Avoidance
The obstacle-avoidance method is a means to avoid obstacles that exist within the correction area of groping locomotion by applying a suitable algorithm to the humanoid robot's control system. Some studies on robotics have led to the proposal of an obstacle avoidance method employing non-physical contact, such as vision navigation and image processing (Seara, J.F. & Schmidt, G., 2004), (Seydou, S. et al., 2002), while others use armed mobile robots and humanoids on a static platform (Seydou, S. et al., 2002), (Borenstein, J. & Koren Y., 1991). There has been very little research reported about the application of a physical contact method to avoid obstacles in anthropomorphic biped humanoid robots. The proposed method in this research is applied to a bipedal humanoid robot whose arms were equipped with six-axis force sensors functioned to recognize physically the presence of obstacles.
Figure 1 shows a flow chart of the algorithm for the obstacle-avoidance method. The algorithm consists of three important processes: checking the obstacle to the left, rotating toward the back-left position, and confirming the obstacle's presence. The algorithm is based on trajectory generation of the humanoid robot's legs, with reference to the groping results in groping locomotion.

Algorithm of obstacle avoidance
Research on groping locomotion has led to the proposal of a basic interaction method for humanoid robots to recognize and respond to their surrounding conditions. A robot's arm gropes a wall surface to obtain the wall's orientation data by keeping its arm in contact with the wall's surface, and corrects its position and orientation to become parallel with the wall. Here, the proposed obstacle-avoidance method is designed to avoid obstacles existing at the correction area. Figure 2 shows a flowchart of the groping locomotion algorithm.

Algorithm of groping locomotion
Basically, the algorithm consists of four important processes: searching for a wall, groping a wall's surface, correction of robot position and orientation, and obstacle avoidance. However, obstacle avoidance features its own algorithm, as shown in Fig. 1, though it is related to the groping locomotion algorithm in terms of the groping angle result and motion of arms. Motion trajectories for each process were generated by solving interpolations and kinematics problems.
The motions of the right and left arms related to each other using a method called the “autonomous single-arm groping method.” This method comprises sequential motions of the left arm and the right arm during groping locomotion and obstacle avoidance. The left arm functioned as an obstacle checker to navigate the robot, either to correct its orientation or to perform obstacle avoidance, while the right arm functioned to search for walls, grope them, and confirm the presence of obstacles. The right arm's detection range in groping locomotion covered the front and the right side of the robot's orientation within the arm's length. For obstacle avoidance the right arm covered the robot's front, while the left arm covered left side of the robot to a distance within that arm's length. By applying this method, intelligent detection of most objects around the robot is able to demonstrate, and the method provides reliable relationships between groping locomotion and obstacle avoidance.
Groping the Wall
Groping is a process in which the humanoid robot keeps its arm in contact with the wall's surface while performing a rubbing-like motion. During the groping process, position data of the arm effector were defined, which were then calculated to obtain the wall surface's orientation. Based on the wall's orientation, relative relations of distance and angle between the robot and the wall could be defined. Positions of the end effector during groping of wall's surface were controlled by a formulation that applied values of maximum force, minimum force, and the arm's end effector shift distance in one sampling time, as parameter values. In this research, the groping process is classified into two situations: groping the front wall and groping the right-side wall. Figure 3 shows a plotted graph of end effector positions obtained while groping the front wall, and Fig. 4 shows a photograph of the robot's arms during that action.

Graph of end effector position while groping the front wall

Photograph of robot arm groping the front wall
The series of end effector position data shown in Fig. 3 were calculated using the least-squares method to give results for the variable factors

Robot orientation after groping the front wall
The concept of the obstacle-avoidance algorithm is based on trajectory generation of the humanoid robot's legs, with reference to the groping results. Leg positions are decided by interpolation using polynomial equations, and each leg-joint position is given via angle data from calculation of the inverse kinematics needed to move the legs to the desired positions.
Basically, obstacle avoidance is performed after correcting the robot's distance to the wall, before proceeding to the correct angle. While checking the obstacle to the left, the left arm will search for and detect any obstacle that exists within the correction angle's area and up to the arm's maximum length in order to instruct the robot's system either to proceed with the correction or to proceed with the next process of obstacle avoidance. If an obstacle is detected, the robot will rotate to the back-left position, changing its orientation to face the obstacle. The robot will then continuously recheck the existence of the obstacle by performing the “confirm obstacle” process. If no obstacle is detected, the robot will walk forward. However, if an obstacle was detected, instead of walking to forward direction, the robot will walk side-step towards its left side direction, and repeat again the confirmation process until no obstacle is detected. The robot will then walks forward and complete the obstacle-avoidance process. Figure 6 shows a geometrical analysis of the overall process flow of obstacle avoidance.

Process flow in the obstacle avoidance after groping front wall
While checking for an obstacle, if the arm's end effector touches the wall, the force sensor will detect the force and send the force data to the robot's control system. Once the detected force exceeds the parameter value of maximum force, motion will stop. At this moment, each encoder at the arm's joints will record angle data and send them to the robot control system. By solving the direct kinematics calculation of the joint angles, the end effector's position is obtained. The left arm's range of motion while checking for obstacles is equal to the correction angle,
Rotate to Back-Left Position
Once an obstacle has been detected during the process of checking for an obstacle to the left, the robot will rotate its orientation to the back-left position “facing” the obstacle in order to confirm the obstacle's position at a wider, more favorable angle, finally avoiding it.
At first, the left leg's hip-joint yaw will rotate counterclockwise direction to
Figure 7 shows a diagram of the humanoid robot

Diagram of the robot's legs and rotation of the hip joint yaw during rotate back left position

Geometrical analysis of foot-bottom position during rotation to back-left position

Rotation angle of left-leg joints during rotation to the back-left position
After the obstacle is detected and the robot orientation has changed to face the obstacle, it is necessary to confirm whether the obstacle still exists within the locomotion area. This process is performed by the robot's right arm, which searches for any obstacle in front of the robot within its reach. If the obstacle is detected within the search area, the arm will stop moving, and the robot will perform side-step to left direction. The robot's right arm will repeat the process of confirming the obstacle's presence until the obstacle is no longer detected. Once this happens, the robot will walk forward in a straight trajectory. These steps complete the process of avoiding the obstacle.
Correction of Robot Position and Orientation
In the obstacle-avoidance method, if no obstacle has been detected, the robot will continue operating under the groping-locomotion method by correcting its orientation. Referring to Eq. (2), correction of the robot's orientation can basically be defined by rotating the robot's orientation to the

Photographs of the robot correcting its orientation
Bonten-Maru II Humanoid Robot
This research utilized the 1.25-m tall, 32.5-kg prototype humanoid robot

Photograph of the humanoid robot
Range of joint rotation angles
Experiments were conducted in conjunction with the groping locomotion experiments. Initially, a series of motion programs were created and saved in the robot's control system. Before performing the experiments, data on the left leg's joint angles during rotation to the back-left position were taken to ensure the computation of hip-joint yaw rotation angle was correct and according to result of groping locomotion. Confirmation result was previously presented in analysis of algorithm.
In this experiment, the wall is positioned at the robot's front and its right side, while an obstacle is on its left side. The obstacle height is about same with the robot shoulder. During experiments, at first the robot performing groping locomotion to define groping angle, then continuously performs the obstacle avoidance. The experiment is conducted in autonomous way and the performance is evaluated by observation.
In order to recognize objects, six-axis force sensors were attached to the robot arms. The utilized force sensors are designed to detect three force components in each axial direction, with the other three components of moment around each axis operating simultaneously and continuously in real time with high accuracy. The maximum loads at the X-Y axes are 400 N, while at the Z-axis it is 200 N.
Experiment Result
Figure 12(a) ∼ (f) show sequential photographs of actual locomotion during the obstacle avoidance experiment. Photograph (a) shows motion of left arm during checking for obstacle to the left, where the end effector detects the obstacle. At photograph (b), the left leg rotating to back-left position in order to change the robot's orientation “facing” the obstacle. Continuously, the right arm is searching for obstacle to confirm obstacle's presence, as shown in photograph (c), where the obstacle is detected. This caused the robot to walk side-step to left direction as shown in photograph (d). Again, the robot performed the process of confirming the obstacle's presence, as shown in photograph (e), where this time the obstacle is no longer detected. Finally, the robot walks to forward direction as shown in photograph (f) to complete avoiding the obstacle.

Photographs of robot motions during obstacle avoidance
These result shows that the robot is able to autonomously recognize the obstacle and avoid it according to the proposed algorithm in the obstacle-avoidance method.
Sequential motions of the left arm and the right arm which is according to the proposed autonomous single-arm groping method were effectively operated. These enabled the robot to successfully check for and confirm the presence of an obstacle, consequently assist the robot to perform necessary trajectory to avoid obstacle. Application of this method exhibited good performance and demonstrated a reliable relationship between groping locomotion and obstacle avoidance.
This research proposed a new obstacle-avoidance method which applied reliable algorithms in a humanoid robot control system in conjunction with the groping-locomotion method. The proposed method is based on physical contact whereby the robot arms directly touch and analyze an object, with the aim of accomplishing the objective of developing an interaction method for the humanoid robot and its surroundings. Performance of the proposed method was evaluated by experiments using prototype humanoid robot
The experimental results indicated that the humanoid robot could recognize the existence of an obstacle and could avoid it by generating suitable leg trajectories. The proposed algorithm was effectively operated in conjunction with the groping locomotion algorithm to detect and avoid obstacle in the correction area, which improved the performance of the groping locomotion. In the experiments, autonomous motions of the robot's manipulators are managed to demonstrate. These satisfy the objective of this research to develop an autonomous system to avoid obstacles in groping locomotion.
Regarding the motion of the humanoid robot's arms, the proposed autonomous single-arm groping method provides a good relationship between groping locomotion and obstacle avoidance. It demonstrates intelligent detection of most objects around the robot, enabling the robot's control system to effectively identify the object position and perform necessary locomotion.
The proposed idea should contribute to better understanding of interactions between a robot and its surroundings. Furthermore, future refinement of the proposed idea in various aspects will result in better reliability of the groping locomotion mechanism, enabling any type of anthropomorphic robots fitted with it to operate effectively in the real environments.
