**5. Case study**

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

However, it is to be noted that the exact shape of the v-graph (generated out of the most significant c-space slice plot) will depend upon the joint-angle ranges of the joint-pair under consideration and we will have distinct locations for 'S' & 'G', outside the c-space zone. It is evident from fig. 27 that S23G is the optimal path as '' is the smaller angle, which

The generalized formulation for evaluating the angular position of 'S' & 'G' in the v-graph

*j k <sup>m</sup> j k*

*j k <sup>m</sup> j k*

where. 'm' : positional attribute of the end-point, i.e. either 'S' or 'G'; {lj}: link-lengths; {km}:

Now considering the Cartesian co-ordinates for 'S' as (20, 72.5) and the constant values for {<sup>3</sup> <sup>4</sup> <sup>5</sup> <sup>6</sup> 7} as [100 50 150 60 100] we can solve for 1 & 2 using eqns. (43), which gives us

<sup>S</sup> 600 and 2<sup>S</sup> 00. Similarly considering 'G' as (-30, -40) with the constant values for {<sup>3</sup> <sup>4</sup>

1200.Thus, as proposed in section 4.5.1, the nodes, {Nk, k=1,2,3,4} of the final collision-free path of the manipulator between 'S' & 'G' will be: N1 'S' = (600, 00, 50, 80, 180, 40, 130); N2 = (1400, 00, 50, 80, 180, 40, 130); N3 = (1400, 1200, 50, 80, 180, 40, 130) and N4 'G' = (1080, 1200, 50,

Fig. 27. Visibility graph obtained as per the most significant c-space slice plot of fig. 18

*<sup>Y</sup>*

 

*<sup>X</sup>*

(43a)

(43b)

<sup>G</sup> 1080 and 2G

 

guides this path as per Angular deviation algorithm.

1

80, 180, 40, 130).

(using inverse kinematics routine for the manipulator) is as follows,

7

7

<sup>5</sup> <sup>6</sup> 7} as [50 80 180 40 130] we can solve for 1 & 2, which gives us <sup>1</sup>

1 1 *j kj <sup>m</sup>*

1 1 *j kj <sup>m</sup>*

joint-angles for 'S' or 'G' and (Xm, Ym): planar Cartesian co-ordinates for 'S' or 'G'.

*Sin l*

*Cos l*

We have studied one real-life case of robot path planning in 3D, based on c-space modeling and v-graph searching, as delineated in the paper so far. The study was made with a five degrees-of-freedom articulated robot, RHINO-XR 3, during its traverse between two predefined spatial locations through a collision-free path. The main focus was to maneuver this robot between 3D obstacles in reaching a goal location in a cluttered (laboratory) environment. Since RHINO is a low-payload robot, instead of standard pick-and-place tests, we designed our experiment such that it had to only *touch* the start ('S') and goal ('G') locations by the gripper end-point. The safe path in 3D, between the start and goal locations, was arrived using *c-space slice* mapping and *Angular Deviation Algorithm* (refer section 4.3). Figure 28 presents the photographic view of the experimental set-up, emphasizing the combined obstacle zone.

Fig. 28. Photographic view of the test set-up for spatial path planning with RHINO robot

Based on the obstacle zone map vis-à-vis waist rotation of the RHINO robot, we have discretized the workspace into three *non-identical* slices. The task-spaces, corresponding to these slices, are schematically shown in fig. 29. In all the sliced maps, the vertices of the combined obstacles are labeled alphabetically, with a numeric indication for the slicenumber. For example, the vertex "A1" signifies the vertex number "A" in slice number1. It is to be noted that the vertex numbers are not *obstacle-specific*, rather those are serially numbered depending on the shape of the obstacle-zone in that very slice.

Spatial Path Planning of Static Robots Using Configuration Space Metrics 453

Fig. 30. C-space map for the first slice pertaining to the case- study

Fig. 31. C-space map for the second slice pertaining to the case – study

Fig. 29. Schematics of the Cartesian task-space slices for the case-study with RHINO robot

The co-ordinates of the vertices under each of the three slices were obtained by physical measurement of the task-space in 3D. In other words, first we took the measurements of the Boolean obstacle(s) in (x,y,z) form and then the planar co-ordinates of the slice-vertices were evaluated using the method of *projection geometry*. The co-ordinates of the vertices, so evaluated, under each slice, are tabulated in the matrix below.


The co-ordinates of the 'S' and 'G' are measured prior to the experiment and those are (30,145,40) & (225,145,42) respectively. It may be mentioned that 'S' & 'G' will not appear in the sliced task-space(s); rather, those will be only in 3D task-space as well as in c-spaces (sliced). Now, considering the kinematics of the RHINO robot, we get a feasible set of jointangle combinations for 'S' & 'G' though inverse kinematics as,

$$\text{"S': } \{ \theta\_1 = 50^0, \theta\_2 = \text{-100}, \theta\_3 = 150, \theta\_4 = 50^0, \theta\_5 = 150 \}$$

and

$$\text{"{G}"} \text{"{e}"} \text{"{e} @ {e}"} \text{"{e} = \text{60}"} \text{"{e} = \text{120}"} \text{"{e} = \text{580}"} \text{"{e} = \text{980}"} \text{"{e} = \text{200}"}.$$

As evident by now, we will have three non-identical c-space slice maps for this environment and for the clarity in comparison between these three maps, we have selected common scale for the joint-angles. For example, the scale of '1' in *slice1* map will be same as that of in *slices 2 & 3* and likewise, for other joint-angles. This universality in scaling is helpful in judging the *most critical* map of a particular slice. We will now present the details of the three c-space slice maps, in their final form, alongwith the demarcation of the most critical map(s).

Figures 30,31 & 32 illustrate the conjugate maps corresponding to slice#1, slice#2 & slice#3 respectively.

Fig. 29. Schematics of the Cartesian task-space slices for the case-study with RHINO robot The co-ordinates of the vertices under each of the three slices were obtained by physical measurement of the task-space in 3D. In other words, first we took the measurements of the Boolean obstacle(s) in (x,y,z) form and then the planar co-ordinates of the slice-vertices were evaluated using the method of *projection geometry*. The co-ordinates of the vertices, so

1 { 1 : (10,20) 1 : (190,20) 1 : (190,68) 1 : (145,68) 1 : (145,98) 1 : (85,98) 1 : (85,80) 1 : (95,80) 1 : (95,68) 1 : (45,68) 1 : (45,78) 1 : (10,78) 1 : (15,128) 1 : (45,128) 1 : (40,135) 1 : (40,155) 1 : (20,155)

2 { 2 : (15,25) 2 : (195,35) 2 : (192,54) 2 : (170,58) 2 : (160,88) 2 : (142,68) 2 : (140,58) 2 : (45,68)

3 { 3 : (18,28) 3 : (198,38) 3 : (193,56) 3 : (172,58) 3 : (168,88) 3 : (142,88) 3 : (18,134) 3

*Slice A B C D E F G H* : (52,134)

The co-ordinates of the 'S' and 'G' are measured prior to the experiment and those are (30,145,40) & (225,145,42) respectively. It may be mentioned that 'S' & 'G' will not appear in the sliced task-space(s); rather, those will be only in 3D task-space as well as in c-spaces (sliced). Now, considering the kinematics of the RHINO robot, we get a feasible set of joint-

'S': {1=500, 2 = -100, 3 =150, 4=500, 5=150}

 'G': {1=600, 2 = 1200, 3 =580, 4=980, 5=200}. As evident by now, we will have three non-identical c-space slice maps for this environment and for the clarity in comparison between these three maps, we have selected common scale for the joint-angles. For example, the scale of '1' in *slice1* map will be same as that of in *slices 2 & 3* and likewise, for other joint-angles. This universality in scaling is helpful in judging the *most critical* map of a particular slice. We will now present the details of the three c-space slice maps, in their final form, alongwith the demarcation

Figures 30,31 & 32 illustrate the conjugate maps corresponding to slice#1, slice#2 & slice#3

(47,138) 2 : (48,142) 2 : (22,150) 2 : (22,132) 2 : (212,138) 2 : (242,140)

*NO P Q R*

*Slice A B C D E F G H I J K L MN O P Q*

: (210,128) 1 : (240,128) 1 : (235,135) 1 : (235,155) 1 : (215,155) 1 : (215,135)}

*T U VWX Slice A B C D E F G I*

evaluated, under each slice, are tabulated in the matrix below.

angle combinations for 'S' & 'G' though inverse kinematics as,

1 : (20,135) 1

2 : (15,68) 2 : (18,130) 2 : (52,132) 2 :

2 : (236,136) 2 : (236,156) 2 : (222,154) 2 : (220,134)}

*I J KL* 3 : (46,138) 3 : (48,144) 3 : (24,148) 3 : (24,128)}

*J KL M*

*STUV*

of the most critical map(s).

respectively.

*R S* 

and

Fig. 30. C-space map for the first slice pertaining to the case- study

Fig. 31. C-space map for the second slice pertaining to the case – study

Spatial Path Planning of Static Robots Using Configuration Space Metrics 455

**1** 4.5869 32.3878 16.8239 3.7116 57.5102

**2** 4.3758 30.9764 16.7132 3.7208 55.7862

**3** 3.8916 30.3358 16.4581 3.7211 54.4066

**Final (Combined Computation) 4.7938 32.8832 16.8423 3.7428 58.2621** 

Table 6. Summary Data for the Case Study with Details of the Computational Time [PC-

It may be noted that elemental timings for module A, B, C & D against individual slices give an apprehension regarding the relative toughness of the corresponding task-space and later on c-space & v-graphing. On the contrary, the final combined timings indicate the actual processing time (using multi-session processing of the operating system of the PC) of the problem, with usual co-processor actuations. Similar timings were observed while using *A\** 

The details of the visibility graph-based heuristic algorithm for *safe* path planning in 2D plane as well as 3D space have been discussed in the paper, backed up by the theoretical paradigms of the generation of c-space obstacles from their respective task-spaces. The outcome of the c-space and v-graph algorithms have been found effective in programming the robot in order to perform certain pre-specified tasks or a series of tasks, such as in somewhat off-the-track industrial applications. The *best* path needs to be selected out of the possible alternatives by considering the most feasible criteria, which is essentially application specific. The novelty of the developed method lies with the ease of computational burden as 2D c-space slices are being joined statistically (*union*). Also by not incorporating all obstacles in one c-space slice we are improving upon computational efficiency and thereby reducing undue technical details regarding the obstacles. However, the safe path obtained by the developed method may overrule some nearer nodes, because the corresponding c-space slices are based on maximum *safety margins*, as per the

**Elapsed Time (for computation) [sec.] A B C D Total** 

**Slice Task Space Critical C-space** 

based]

*algorithm* for graph search.

**6. Conclusions** 

**& V-graph path** 

Fig. 32. C-space map for the third slice pertaining to the case – study

It is to be noted that some of the c-space slice maps in the above figures bear similarity; in fact, those maps are bounded by rectangular regions, occupying the full rotational ranges8 of the participating joint-angles. That means, the full region is formidable, so far as the selection of safe nodes are concerned. This property is unique in the developed method, and it is helpful for obtaining the safe path in the final *go*. Now, assimilating all the three critical c-space slice maps as per figs. 30,31 & 32, we get the final safe path for the environment as the statistical *union* of the slice maps and it is represented as, S "2"[1] "3"[1] "4"[2] "4"[3]G, where the legend "N"[k] symbolizes node 'N' of the k th. slice (refer section 4.5.2 for the formulation). Thus, the final path has got four *Intermediate Points* (IP), besides 'S' & 'G'. The joint-angle combinations for these 'IPx', x=1,..,4 (as labeled from 'S' onwards) are evaluated as, IP1 "2"[1] {1=1200, 2 =-100, 3=580, 4=980 5=200}; IP2 "3"[1] {1=1200, <sup>2</sup> =1200, 3=580, 4=980 5=200}; IP3 "4"[2] {1=500, 2 =-100, 3=200, 4=970 5=200} and IP4 "4"[3] {1=500, 2 =-100, 3=300, 4=970 5=200}.

Table 6 presents a summary of the various important outputs pertaining to the case study, with details of the computational time (for PC-based evaluation). Here, *Elapsed Time* has been divided into elemental time-periods (computational) against 4 sub-heads, viz. "**A**": *Generation of slices in task-space with co-ordinates (x,y) & node numbering*; "**B**": *Generation of cspace maps, including the critical-most*; "**C**": *Development of the v-graph* and "**D**": *Graph searching & output of the Angular Deviation Algorithm*.

<sup>8</sup> The *effective* rotational ranges of the five joint-angles of the RHINO robot are, 1: (-400 to 1200), 2: (-100 to 1200), 3: (100 to 900), 4: (100 to 1000) and 5: (50 to 650), as selected on the basis of our task-space layout & experiments.


Table 6. Summary Data for the Case Study with Details of the Computational Time [PCbased]

It may be noted that elemental timings for module A, B, C & D against individual slices give an apprehension regarding the relative toughness of the corresponding task-space and later on c-space & v-graphing. On the contrary, the final combined timings indicate the actual processing time (using multi-session processing of the operating system of the PC) of the problem, with usual co-processor actuations. Similar timings were observed while using *A\* algorithm* for graph search.
