Behavior Selection Based Navigation and Obstacle Avoidance Approach Using Visual and Ultrasonic Sensory Information for Quadruped Robots

A robot functioning in an environment may exhibit various forms of behavior emerge from the interaction with its environment through sense, control and plan activities. Hence, this paper introduces a behaviour selection based navigation and obstacle avoidance algorithm with effective method for adapting robotic behavior according to the environment conditions and the navigated terrain. The developed algorithm enable the robot to select the suitable behavior in real-time to avoid obstacles based on sensory information through visual and ultrasonic sensors utilizing the robot's ability to step over obstacles, and move between surfaces of different heights. In addition, it allows the robot to react in appropriate manner to the changing conditions either by fine-tuning of behaviors or by selecting different set of behaviors to increase the efficiency of the robot over time. The presented approach has been demonstrated on quadruped robot in several different experimental environments and the paper provides an analysis of its performance.


Introduction
A large number of robots have been developed to work in critical environment, such as, space, ocean bottom, power plants, as well as, in the fields of clinical medicine, hazard prevention, etc., and researchers continue to design robots with greater capabilities to perform more challenging and comprehensive tasks (Hirose et al., 1986;Ooka et al., 1986;Cruse et al., 1994;Chen et al., 2002a;Habib, 2003a).There are many ways for a robot to move across a solid surface in which wheels, crawlers, and legs were common options for the available robots.The application fields of such robots are naturally restricted, depending on the condition of the ground.Wheeled mobile robots are mechanically simple, easy to construct, easy to implement a controller, dynamically stable in general, and they are ideal for operation on level and hard surfaces.When the surface is rough and has projections and depressions with dimensions that are greater than the diameter of the wheel or when the surface is soft, resistance to the movement increases drastically and their function as transport machines is almost lost, which leads to poor performance.The crawler type locomotion mechanisms have traverse ability higher than that of the wheel, but its control is hard and the dead-reckoning is difficult to realize, though it is possible to move on different terrains.In order to have good mobility over uneven and rough terrain a legged robot seems to be a good solution because legged locomotion is mechanically superior to wheeled or tracked locomotion over a variety of soil conditions and certainly superior for crossing obstacles.The path of the legged machine can be (partially) decoupled from the sequence of footholds, allowing a higher degree of mobility.This can be especially useful in narrow surroundings or terrain with discrete footholds (Raibert, 1986;Hirose, 2001).However, creating and controlling a legged machine that is powerful enough, but still light enough is very difficult.Legged robots are usually slower and have a lower load/power ratio with respect to wheeled robot.Autonomous legged robots have distinct control issues that must be addressed.These problems are amplified when the robot is small with an on-board controller that is purposely simple to accommodate weight and expense restrictions.The kinematics and dynamics of legged robots are nonlinear, while robot parameters, such as center of mass position, amount of payload, etc. are not known exactly and might also vary (Nishikawa et al., 1998).In addition, it is difficult to estimate states of the system (Pugh et al., 1990).The system might be unstable without control, and the goal of keeping balance is difficult to be decomposed into actuator commands.A legged system has a lot of degrees of freedom in which a high motion performance and ground adaptation ability on irregular terrain can be demonstrated.In order to allow a completely decoupled motion over irregular terrain, at least three degrees of freedom per leg are required.Two joints would be enough to place the foot in any desired position, and with the third joint, the robot can climb over much larger obstacles relative to its size and also can climb a slippery hill that a leg with two joints can not perform.But, this will result in using 12 actuators for a four-legged robot, which yields to increase weight and control complexity compared to six actuators for a traditional industrial manipulator (Waldron et al., 1984).Contact forces, in general, only allow pushing the feet into the surface, not pulling.This directly limits the total downwards acceleration that can be applied to a walking machine.This initiates a challenge to investigate the technical problems involved in the realization of a robot that uses legs to navigate in difficult, partially unstructured and unknown environments.Autonomous robots operating in an unknown and uncertain environment have to cope with dynamic changes in the environment.Hence, enable a robot to navigate successfully to goals while avoiding both static and dynamic obstacles is a challenging problem for mobile robots in general and for legged robots in specific.There is a large body of work devoted to the navigation of wheel-based mobile robots.Some common approaches are odometry, inertial navigation and landmark navigation.The progress made so far in the design of legged robots has been mostly in the areas of leg coordination, gait control, stability, incorporation of various types of sensors, etc.But what is missing in most of these robots is some perception-based high-level control that would permit a robot to operate with a measure of autonomy.Legged mobile robots do not require avoiding all obstacles by altering the path in the obstacle avoidance task as in the case of wheeled and crawler robots.Because legged robots have the ability to step over and onto obstacles in their path depending on the obstacle configuration and the current state of the robot, they are uniquely suited to overcoming these difficulties.However, many existing navigation planning methods fail to consider these additional capabilities, because they were primarily designed for wheeled mobile robots.The navigability of an autonomous multi-legged system is a crucial element of its overall capabilities (Go et al., 2006).The design of algorithms to compute robust goaldirected navigation strategies for legged robots is an important area of research.The basic difference between path planning for legged robots and mobile robots is that for mobile robots the path is continuous, while for legged robots it is not.In addition, the ability to follow a particular trajectory also depends on the design of the legged robot, i.e., a path planning method that may work for one type of legged robot may not work efficiently for all other types of legged robots.Navigation planning for legged robots via foot placement planning has enabled several walking type robots to traverse various environments autonomously.The available planning approaches for legged robots can be classified based on how much details are considered during the planning process.One category of planning approaches uses every detail in solving the navigation problem.This involves solving a giant motion planning problem for all degrees of freedom of the robot (Hauser et al, 2005); Kallmann et al, 2004;Kuffner et al, 2002).However, the high computational cost becomes a critical problem for locomotion.Another category of planning systems have used local planning that allows the robot to adjust its gait locally in response to the type of terrain (Bares & Wettergreen, 1999;Hodoshima et al, 2004;Krotkov et al, 1991).In addition, another category of planning approaches ignores all the details of the legs, and treats the robot as a wheeled robot than can be steered within its environment.In general, global navigation strategies for mobile robots aim to search for a collision-free path in a 2D environment.These techniques have been applied to legged robots, resulting in conservative global navigation strategies.However, this always forces the robot to go around obstacles rather than using the ability to traverse obstacles by stepping over or onto them.Other approaches build action models trying to simplify the planning problem.One action model uses straight sequences of footsteps to the edges of obstacles similar to a visibility graph, combined with turning in place and stepping-over actions to cross through obstacle-filled environments (Chestnutt et al, 2004).Biological systems have a tightly integrated action perception cycle.Hence, for walking robots, to realize their full potential, distal environment sensing must be tightly integrated with the walking cycle.Distal sensing is crucial to allow anticipatory gait adjustment to accommodate varying terrain.Close coupling of the visual and locomotor cycle can lead to rapid, adaptive adjustment of the robot (Lewis, 2002).This problem is even more difficult when the robot is unable to generate accurate global models of the obstacles in its environment.Determining an optimal navigation policy without this information can be difficult or impossible.A legged mobile robot is a free roving collection of functions primarily designed to reach a target location.Equipping robots with more sensors increases the quantity and reliability of information the robot can extract from its environment to support robot's intelligent behavior (Ferrell, 1994).In order to facilitate flexible obstacle detection and avoidance techniques, it is necessary to acquire the 3-dimensional (3D) information about the surrounding environment.Generally, 3D information is acquired through external sensors, such as binocular cameras, ultrasonic sensors (Ohya et al., 1997), laser range finders, etc.However, a high computational cost is required to analyze 3D information because the binocular camera needs to process two frames from two cameras (Okada et al., 1999, Okada et al., 2003).In addition, although the ultrasonic sensor can accurately measure the distance to an object, there is a difficult problem in determining the azimuth.Therefore, it remains a challenging task to build a robust real-time obstacle avoidance system for a robot using vision data.

Quadruped Robot and Behavior based Solution for Obstacle Avoidance
It is well known that the autonomous walking of a quadruped robot depends on not only the implementation of the locomotion but also the navigation control.Although there are a lot of works published on the implementation of the locomotion in the rough terrain for quadruped robots, few works can be recognized on the adaptive navigation in a cluttered environment.In this paper, a quadruped walking robot TITAN-VIII (Arikawa & Hirose, 1996;Hirose & Arikawa, 2000) has been used as a platform to test and demonstrate the development and implementation of a behavior selection based obstacle avoidance algorithm (See Figure 1.(a)).TITAN VIII is a walking machine that has four modular legs.The leg mechanism is composed of a planar 2 degrees of freedom link-wire mechanism and a rotating mechanism which rotates the planar.Hence, this leg mechanism has 3DOF.One of the characteristics of this leg is usage of wire and pulley driving system within the leg.The feet of TITAN VIII can be used also as wheels in order to achieve faster motion on flat surfaces.TITAN VIII walks in a walking posture jutting out its legs to each side.This is standard walking posture of TITAN VIII.In such a walking posture, good energy efficiency can be achieved (Arikawa & Hirose, 1996;Hirose & Arikawa, 2000).An ART-based Fuzzy controller for the adaptive navigation of a quadruped robot has been developed (Chen et al., 2002b), and then different type of sensors has been integrated with the robot to support its navigation (Yamaguchi et al., 2002a;Yamaguchi et al., 2002b).Visual and ultrasonic sensors have been integrated with the quadruped robot.The aim of these sensors is to detect and acquire 3D information of obstacles along the path of the robot.The first sensor was the USB camera.The camera was fixed at the front side of the robot body (See Figure 1.(b)).In addition, three ultrasonic sensors have been used and configured at the tip of each of the front legs (See Figure 1.(c)).The obstacle is roughly measured by processing the image acquired through the USB camera, and the ultrasonic sensors are used to complement the visual information in relation to obstacle and to perform the selection of the suitable actions at the right time.In order to facilitate this process, a set of behavioral actions is decided, designed and implemented.Currently, the main actions in the list include: default, detour, striding, and climbing-over obstacles actions.Thus, fusing information

Sensory Information and Obstacle Measurement
The size of an obstacle within the environment of the robot is measured by ultrasonic sensors and a USB CCD camera.The maximum measurable distance of the ultrasonic sensor is about 600 [mm].The image resolution of the camera is set to 320 × 240 [pixel], and the specification of the camera is listed in

3-Dimensional Measurements by Single Camera
The measurement model between a camera and an obstacle in top view is shown in Fig. 2. The parameter definitions relevant to the top view are listed in Table 2.The obstacle width W is calculated by using parameters in the image, such that where (2) In an exploratory experiment, the acquisition range c W became 220 [mm] when the distance L was set to 300 [mm].Therefore, the projection angle α was set to 40 [deg].Next, parameters in a vertical direction are defined as listed in Table 3 and the corresponding side view is shown in Fig. 3.The obstacle height is calculated by using parameters defined for the vertical direction, such that and 1 L is given by In an exploratory experiment, the acquisition range c H became 80 [mm] when the distance L was set to 300 [mm].Therefore, the projection angle β was set to 30 If the obstacle shape is assumed to be a rectangular parallelepiped, then the obstacle depth can be obtained by a perspective method.The perspective is the art of making some objects or people in a picture look further away than others.The concept of perspective is shown in Fig. 4, where 1 S denotes the area of front surface for the object, 0 S denotes the area of rear surface for the object and 0 Z denotes the obstacle depth.The obstacle depth is given by

Image Processing
The raw colored image is first converted into the shade (or gray scale) image and further converted into the monochrome image by image binarization.Then, the 3D size information of obstacle is calculated based on the perceived number of surfaces of the obstacle.The flow of this process is illustrated in Fig. 5.
1. Case of one surface detection When the acquired image has only the front surface of an obstacle as shown in Fig. 6, the width w and the height h of the obstacle front surface are given by 1 2 where the image point using the image coordinates for apexes 1 P , 3 P and 4 P .In this case, the vanishing point is the point that the straight line passing through points 2 P and 4 P intersects the straight line passing through points 5 P and 6 P .The height of rear surface for the obstacle is defined as the distance between the point 2 P and the intersection point at which the vertical perpendicular passing through the y coordinate of point 2 P intersects the straight line passing through points V and 1 P .The width of the rear surface is the distance between the points 2 P and 6 P .Hence, the area 0 S of the rear surface is obtained using the calculated from the height and the width of the rear surface.Then, the depth o Z of the obstacle is calculated according to Eq. ( 6). 3. Case of three surface detection When the acquired image includes the front, the top and the side surfaces as shown in Fig. 8, the width w and the height h of the obstacle front surface are given by 1 4 using the image coordinates for apexes 1 P and 4 P .In this case, the height of the rear surface is the distance between the points 2 P and 3 P , and the width of the rear surface is the distance between the points 2 P and 5 P .Let us consider a situation where a part of the obstacle is not reflected in the acquired image, which is shown in Fig. 9.In this situation, the width and the height of the front surface are defined as

Obstacle Obstacle
In this case, the vanishing point V is the point that the straight line passing through the points 1 P and 3 P intersects the straight line passing through the points 2 P and 6 P .In this situation, the width of the rear surface for the obstacle is defined as the distance between the point 2 P and the intersection point at which the horizontal line passing through the x coordinate of point 2 and parallel to the line passing through the points 4 P and 6 P , intersects the straight line passing through the points V and 4 P .The height of the rear surface is the distance between points 2 P and 3 P .

Design of Actions
Primitive actions with different level of abstraction have been designed and implemented to support formulating the behavior of a robot using a combination of these actions.In general, the description of an action set can have the following form, where i A denotes the symbol of i th action and n denotes the number of actions.The action i A consists of the series of parameters to move the robot, such as where i c denotes i th movement parameter vector and m denotes the number of movement parameters to perform the action i A .In this research, the gait of the quadruped robot is selected to be an intermittent crawl gait (Tsukakoshi et al., 1996).The leg order in one cycle is 4th leg, 2nd leg, 3rd leg and 1st leg.In this paper, the i th movement parameter vector i c composes the traveling distance and the height of swing leg, such as denotes the upward distance of j th leg when the j th leg becomes the swing leg from the support leg.In addition, ij dz Δ denotes the downward distance of j th leg, when the j th leg becomes the support leg from the swing leg.The following subsections describe the core actions, which enable the robot to avoid obstacle at different circumstances.

Default Action: 1 A
The default action 1 A is for a straight translation.Here, we define 1 A as 50 50 50 50 50 where the unit of 1 c element is [mm].

Striding Action: 2 A
The process sequence of the developed striding action 2 A is listed as follows: 1.The robot approaches an obstacle up to the distance in which the robot can stride the obstacle, 2. Front legs of the robot stride the obstacle, 3. Rear legs of the robot approach the obstacle, and then 4. Rear legs of the robot stride the obstacle.

Climbing-over Action: 3 A
The process sequence of the developed climbing-over action 3 A is listed below: 1.The robot approaches an obstacle up to the distance in which the robot can climb the obstacle, 2. Front legs of the robot climb the obstacle, 3. Rear legs of the robot approach the obstacle, 4. Rear legs of the robot climb over the obstacle, 5. Front legs of the robot get off the obstacle, and then 6. Rear legs of the robot get off the obstacle.

Detour Action: 4 A
The detour action 4 A enables the robot to move around the obstacle by generating a crank like path.The process sequence of 4 A action is listed as follows: 1.The robot approaches an obstacle up to the distance in which the robot can avoid it, 2. The robot moves to side as the crab walking up to the distance in which the robot can avoid the obstacle, and then 3. The robot moves forward up to the distance in which the robot passes the obstacle.

Action Selection
Autonomous intelligent systems are characterized by the fact that they select one from a set of equivalent action alternatives in a given situation as appropriate (Habib, 2003b).Hence, it is important to develop a navigation strategy with efficient action selection mechanism.
Currently, the authors have implemented a rule based logical flow to support the selection of a suitable action according to perceived relation between the robot and the detected obstacle.Brief listing of the rule based logical flow is shown below, where L is the distance between the robot and the obstacle; H is the obstacle height, and o Z is the obstacle depth.

Experimental Results
Experiments have been conducted to prove that the designed set of action modules enables the robot to recognize and avoid obstacles in real-time under different situations.The selected gait of the robot during the experiments was an intermittent crawl gait.In addition, a unit cycle has been used to illustrate the total time required to perform each action.A unit cycle represents the time required for moving each of the four legs of the robot once according to the pattern of the selected gait.However, the total number of cycles depends on the environment and the type of the available obstacles.The following subsections highlight the experimental results and achievements.

Striding Action
This experiment aims to demonstrate a striding action.The observed robot behavior was described by the following set of actions, The results obtained through this experiment illustrate the ability of the robot to perform the striding action successfully.Figure 10 shows the tips of left side legs of the robot, i.e., the 1st and 3rd legs, didn't have any contact with the obstacle during the avoidance.In addition, Figure 11 shows the z positions for the tip of the 1st leg.The time performance for executing the set of actions above as illustrated by Figure 11 is shown below, Action 1 A is performed with 1 cycle, and the total number of 1 A action as illustrated in this behavior is 9; Action 2 A is performed with 6 cycles; and Thus, the total number of cycles is 5 + 6 + 4 = 15cycles.

Climbing-over Action
The climbing-over action has been demonstrated in this experiment, and the observed robot behavior was described by the following set of actions, { } The robot has performed the climbing-over action successfully.The experimental results are illustrated in Figure 12, in which it also highlights the case where the tips of left side legs of the robot didn't have any contact with the obstacle at anytime during swing phase.Figure 13 shows the z positions for the tip of the 3rd leg.The results illustrate a contact point between the obstacle and the tip of the robot leg during a support phase while climbing-over.The time performance for executing the set of actions above as illustrated by Figure 13 is shown below, Action 1 A is performed with 1 cycle, and the total number of 1 A action as illustrated in this behavior is 6; Action 3 A is performed with 10 cycles; and Thus, the total number of cycles is 4 + 10 + 2 = 16 cycles.

Detour Action
The observed robot behavior during the execution of the detour action was described by the following set of actions, The experimental result of a detour action is shown in Fig. 14.The results show none of the robot's legs tips did have any contact with the obstacle during the avoidance.The time performance for executing the set of actions as stated above is, Action 1 A is performed with 1 cycle, and the total number of 1 A action as illustrated in this behavior is 8; Action 4 A is performed with 15 cycles; and Thus, the total number of cycles is 5 + 15 + 3 = 23 cycles.

Detour and Striding Actions
An experiment was demonstrated to verify the effectiveness of the present approach in case of having multiple obstacles crossing the path of the robot.The successful experimental results with two obstacles are shown in Fig. 15 and Fig. 16.The set of actions that has been selected to formulate the intended behavior is shown below,  A .Then, the robot initiates the avoidance of the first obstacle using action 4 A .After clearing the first obstacle, and while the robot approaches the second obstacle using a number of 1 A actions, the robot selects to avoid it by activating the action 2 A .The time performance for executing the set of actions above as illustrated by Figure 16 is shown below, Action 1 A is performed with 1 cycle, and the total number of 1 A action as illustrated in this behavior is 9; Successful experimental results have been achieved to avoid two obstacles and it is shown in Fig. 17 and Fig. 18 respectively.During the execution of this behavior, first, the robot activates the default action 1 A and then it selects the detour action 4 A for avoidance.After taking the detour action and avoiding the first obstacle, the robot activates again the default action 1 A to proceed with the forward trajectory.During the walking course, the robot detects the second trajectory and according to the situation, it selects the climbing-over action 3 A to avoid the second obstacle.Finally, the robot activates again the default action to proceed with its trajectory.The time performance for executing the set of actions above as illustrated by Figure 18 is shown below, Action 1 A is performed with 1 cycle, and the total number of 1 A action as illustrated in this behavior is 12; Action 4 A is performed with 19 cycles; and Action 3 A is performed with 9 cycles.Thus, the total number of cycles is 4 + 19 + 5+ 9 + 3 = 40 cycles.

Conclusions
This paper presented a robust approach to the design of a set of behavioral actions with a strategy that adapt robot actions to the local terrain during legged navigation planning.The developed navigation and obstacle avoidance algorithm has the capability to use a combination of primitive actions to formulate a set of high level behaviors, which supports quadruped robots navigation.The developed algorithm enable the robot to select the suitable behavior in real-time to avoid obstacles based on sensory information through visual and ultrasonic sensors utilizing the robot's ability to step over obstacles, and move between surfaces of different heights.These adaptive action models have been applied to a quadruped robot with very promising results, allowing these robots to successfully and reliably navigate environments.

Future Work
Intelligent systems should exhibit emergence property that is not designed into any of its individual subcomponents.In order to make these systems adaptable to various situations and type of goals to be pursued in the world, it is necessary to dynamically select behaviors and to change their respective priority to make the system behave appropriately according to the situations it encounters in the real world.Since behavior modules take part at different levels of the control hierarchy, an efficient action selection mechanism should be devised to deal with scheduling, management, coordination and communication between modules constituting behavior based systems so that coherent behavior can be achieved.Learning to select appropriate actions is still an open challenge in terms of real-time performance, complexity of task and the environment dynamics.Under certain situations the action set of a robot may not have the action required to support the transition from a particular state.In such a case, it is necessary that the robot has the ability to the new action to the set in order to fulfill the need to recover from that situation.
Fig. 1 Quadruped robot and the sensors used through the use of different and multiple sensors separately according to the situation and obtaining the information necessary for obstacle avoidance can support the right decision to select the suitable set of actions to avoid obstacles in real-time.

w
Fig. 2. Camera model in top viewSymbolsPhysical meaning L Distance between an obstacle and the camera c W center of image and the top of image with distance L β Vertical projection angle of the camera

Fig. 8 .Fig. 9 .
Fig. 8. Image of three surfaces without any lacking of parts

Fig. 13 .
Fig. 12. Experimental result of climbing-over action Fig. 14.Experimental result of detour action

Fig. 16 .
Fig. 16.Tip of 2nd leg with a detour and striding action During this behavior, the robot approaches the first obstacle with action 1A .Then, the robot initiates the avoidance of the first obstacle using action 4 Fig. 17 Experimental result of detour and climbing-over action

Table 1 .
The camera is mounted on the front of the robot body.

Table . 2
. Physical parameters of camera model in the top view

Table . 3
. Physical parameters of the camera model in the side view