**2.1 Modeling of robot workspace**

418 Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization

while *slicing* approach for the same is tried for curvilinear objects [Sacks & Bajaj, 1998] & [Sacks, 1999]. Nonetheless, various intricacies of the global c-space mapping techniques for a robot under static environment have been surveyed to a good extent [Wise & Bowyer, 2000]. Although the theoretical paradigms of c-space technique for solving *find-path* problem have been largely addressed in the above literature vis-à-vis a few more [Brooks, 1983], [Red & Truong-Cao, 1985], [Perez', 1987], [Hasegawa & Terasaki, 1988], [Curto & Monero, 1997], the bulging question of tackling collision detection under a typical manufacturing scenario,

Survey reports on motion planning of robots in general, have been presented, with special reference to path planning problems of lower dimensionality [Schwartz & Sharir, 1988] & [Hwang & Ahuja, 1992]. The find-path problem under sufficiently cluttered environment has been studied with several customized models, such as using distance function [Gilbert & Johnson, 1985], probabilistic function [Jun & Shin, 1988], time-optimized function [Slotine & Yang, 1989], shape alteration paradigms [Lumelsky & Sun, 1990a] and sensorized stochastic method [Acar et al, 2003]. Even, novel *path transform function* for guiding the search for find-path in 2D is reported [Zelinsky, 1994], while the same for manipulators with higher degrees-of-freedom is also described [Ralli & Hirzinger, 1996]. All these treatises are appreciated from the context of theoretical estimation, but lacks in simulating all kinds of

Based on the c-space mapping, algorithmic path planning in 2D using *visibility* principle is studied [Fu & Liu, 1990], followed by exhaustive theoretical analysis on visibility maps [Campbell & Higgins, 1991]. However, issues regarding computational complexity involved in developing a typical visibility graph, which is O (n2), 'n' being the total number of vertices in the map, is analyzed earlier [Welzl, 1985]. The concept of *M-line*1 and its uniqueness in generating near-optimal solutions against heuristic-based search algorithms

Several researchers have reviewed the facets of path planning problem in a typical spatial manifold. A majority of these models are nothing but extrapolation of proven 2D techniques in 3D space [Khouri & Stelson, 1989], [Yu & Gupta, 2004] & [Sachs et al, 2004]. However, new methods for the generation of c-space in such cases (i.e. spatial) have been exploited too [Brost, 1989], [Bajaj & Kim, 1990] & [Verwer, 1990]. Customized solution for rapid computation of c-space obstacles has been addressed [Branicky & Newman, 1990], using geometric properties of collision detection between *known* static obstacles and the manipulator body, while sub-space method is being utilized in this regard [Red et al, 1987]. The usefulness of several new algorithms using v-graph technique has been demonstrated

It may be mentioned at this juncture with reference to the citations above, that, although celebrated, a distinct methodology of using c-space mapping for higher dimensional robots as well as in spatial workspace is yet to be tuned. Our approach essentially calls on this lacuna of the earlier researches. We proclaim our novelty in adding new facets to the problem in a generic way, like: a] *rationalizing* configuration space mapping for *higher dimensional* (e.g. 7 or 8 degrees-of-freedom) *robots*; b] *preferential selection* of joint-variables for configuration space plots in 2D; c] extension of 2D path planning algorithm in 3D through *slicing technique (*creation, validation & assimilation of c-space slices) and d] *searching* 

1 Mean Line, as referred in the literature concerning the visibility graph-based path planning of robots.

cluttered with real-life multi-featured obstacles remains largely unattended.

polyhedral obstacles.

has also been examined [Lumelsky & Sun, 1990b].

in spatial robotic workspace [Roy, 2005].

collision-free path in 3D, using novel *visibility map-based algorithm*.

The robotic environment is modeled through *discretization* of the 3D space into a number of 2D planes (Cartesian workspace), corresponding to a finite range of *waist* /base rotation of the robot2. Thus, modeling has been attempted with the sectional view of the obstacles in 2D plane.

The obstacles are considered to be *regular*, i.e. having finite shape and size with standard geometrical features with known vertices in Cartesian co-ordinates. For example, obstacles with shapes such as cube, rectangular paralleopiped, trapezoid, sphere, right circular cylinder, right pyramid etc. have been selected (as primitives) for modeling the environment. A complex obstacle has been modeled as a Boolean combination of these primitives, to have polygonal convex shape preferably. However, concave obstacles can also be used in the algorithms by approximating those to the nearest convex shapes, after considering their 'convex hulls' (polytones). Irregular-shaped obstacles have also been modeled by considering their envelopes to be of convex shapes. Circular obstacles have been approximated to the nearest squares circumscribing the original circles, thereby possessing *pseudo-vertices*.

Features of the developed technique, namely, "Slicing Method", are: i] alongwith shoulder, elbow and wrist (pitch only) rotations, waist rotation of the robot is considered, which is guided by a finite range vis-à-vis a finite resolution; ii] the entire 3D workspace is divided into a number of 2D planes, according to the number of 'segments' of the waist rotation; iii] for every fixed angle of rotation of the waist, a 2D plane is to be constructed, where all other variables like shoulder, elbow and wrist pitch movements are possible; iv] corresponding to each of the 2D slices of the workspace, either one obstacle entirely or a part of it will be generated, depending on the value of the resolution chosen for waist rotation.

Corresponding to each slice, one c-space map (considering only two joint variables at a time) is to be developed and likewise, several maps will be obtained for all the remaining slices. The final combination of the colliding joint variable values will be the union of all those sets of the values for each slice. Nevertheless, the process of computation can be simplified by taking some finite number of slices, e.g. four to five planes. Figure 1 pictorially illustrates the above-mentioned postulation, wherein the robotic workspace consists of various categories of obstacles, like regular geometry (e.g. obstacle 'A', 'B' & 'C') and integrated geometry3 (e.g. obstacle 'D' & 'E').

<sup>2</sup> Base rotation is earmarked for articulated robots, whereas suitable angular divisions of the entire planar area, i.e. 3600 are considered for robots with non-revolute joints (e.g. prismatic).

<sup>3</sup> Boolean combination of regular geometries is considered.

Spatial Path Planning of Static Robots Using Configuration Space Metrics 421

In the present work, *sliced* c-space maps have been generated considering a two degrees-offreedom revolute type manipulator having finite dimensions (refer fig. 3) and an environment cluttered with polygonal obstacles. Both manipulator links and obstacles are

**2.2 Paradigms of the C-space mapping algorithms in 2D** *sliced* **workspace** 

Fig. 3. Representative schematics of a two-link manipulator with revolute joints

approximation, but it would be a reasonable solution for practical situations.

**3. Details of the C-space mapping algorithms developed** 

4 Concave obstacles are modeled as a combination of several convex polygons.

**3.1 Overview of the mapping algorithms 3.1.1 C-space transformation of "POINT"** 

The obstacles are considered to be *regular* in shape with fixed dimensions, having a welldefined shape (sectional view) in 2D, preferably convex, for easier calculations. This has been made purposefully as in most of the manufacturing and/or shop-floor activities *geometric* objects are being handled by the robot, for example, loading and unloading of components to/from the machine, handling of semi-finished components between machines, storage and retrieval of finished components into bins etc. The philosophy behind these mapping algorithms is to consider each complex obstacle as a boolean combination of various primitives, viz,. *'Point'*, *'Line'* and *'Circle'*. That is to say, if the obstacle is theoretically considered as a 'point', 'line' or 'circle' in shape in 2D, then colliding angle of the robot link(s) with those will be obtained and C-space maps can be drawn there from. These algorithms can also be applied for concave objects by considering the 'convex hull' of those and proceeding in the same manner taking that as the *new* obstacle. Similarly, irregular shaped objects can also be tackled with these models, in which *envelope* of the object is to be considered to get the nearest convex shape. Obviously accuracy of the results will suffer to some extent by this

This algorithm gives the C-space data for an obstacle, considered theoretically as a *point* in Cartesian space. The robot with line representation is being considered here. (refer fig.3).

represented as convex or concave polygons4.

Fig. 1. Schematic view of 'Slicing Model' for a congested spatial robotic environment

By knowing the intercept co-ordinates for each slice, an equivalent 2D *slice workspace* is developed; simply by projecting those intercept lines. Obviously the height of the obstacle will now play a vital role and the projecting length will be equal to the height of the obstacle. In a similar manner, obstacles with varying height (say, slant-top type) can also be considered, with differential length of projection. As before, irregular-shaped obstacles can be approximated by means of some standard regular shape, either uniform or varying height, using the same model.

The total number of configuration space plots for the entire cluttered environment will depend on the number of slices each obstacle has and also thereby the average number of slices obtained. Since each of those sliced c-space will represent obstacle geometries, fully or partially, it is important to label the nodes of the obstacle-slices so produced. In general, if a particular obstacle has got 'k' slices, having 'n' nodes each, then a generalized node of that obstacle will be labeled as, 'nk'. However, to avoid ambiguity, 'k' is considered alphabetic only. Figure 2 shows a representative obstacle with slices, where node '3b' signifies the third node of the bth. slice, which is incidentally the second slice of the obstacle.

Fig. 2. Node numbering thematic for sliced obstacles

Fig. 1. Schematic view of 'Slicing Model' for a congested spatial robotic environment

height, using the same model.

Fig. 2. Node numbering thematic for sliced obstacles

the obstacle.

By knowing the intercept co-ordinates for each slice, an equivalent 2D *slice workspace* is developed; simply by projecting those intercept lines. Obviously the height of the obstacle will now play a vital role and the projecting length will be equal to the height of the obstacle. In a similar manner, obstacles with varying height (say, slant-top type) can also be considered, with differential length of projection. As before, irregular-shaped obstacles can be approximated by means of some standard regular shape, either uniform or varying

The total number of configuration space plots for the entire cluttered environment will depend on the number of slices each obstacle has and also thereby the average number of slices obtained. Since each of those sliced c-space will represent obstacle geometries, fully or partially, it is important to label the nodes of the obstacle-slices so produced. In general, if a particular obstacle has got 'k' slices, having 'n' nodes each, then a generalized node of that obstacle will be labeled as, 'nk'. However, to avoid ambiguity, 'k' is considered alphabetic only. Figure 2 shows a representative obstacle with slices, where node '3b' signifies the third node of the bth. slice, which is incidentally the second slice of
