Computing the Configuration Space for a Convex ... - Semantic Scholar

Report 2 Downloads 81 Views
Computing the Configuration Space for a Convex Robot on Hypercube Multiprocessors Jing-Fu Jenq Department of Computer Science Tennessee State University jenqO [email protected]

Wing Ning Li Department of Computer Science University of Arkansas [email protected]. edu

invert the object A , i.e. to rotate A about the reference point by 1 80' and slide the reference point around the boundary of the obstacle B,.The area covered by A

Abstract Computing the configuration space obstacles is an important problem in spatial planning for robotics applications. In this paper, we present parallel algorithm for computing the configuration space obstacles by using hypercube multiprocessors. The digitized images of the obstacles and the robot are stored in an N x N image plane. An algorithm for handling robots whose shapes are arbitraly convex polygons was presented. Our algorithms take O(logN) time and O(1) space which is asymptotically optimal for hypercube computers.

during the slidlng plus that covered by

B,

defines the

configuration space obstacle of B,. Note that the orientation of A does not change when we move A around the obstacle. Thls method works as long as the A and B, are convex polygons. See Figure 1 for an example

.

1. Introduction In this paper, we develop algorithm for computing the configuration space for a convex robot on hypercube multiprocessors. Computing the configuration space is an important problem in spatial planning for robotics applications [6] and 171. For spatial planning, the main problem is to determine how to place an object A inside a specified region R in such a way that no collision will occur between the object A and other objects (obstacles) B, already in R. For path planning, the main issue to find a path which can move A from a position s (the initial position) to another position d (the target position) without colliding with the obstacles already in R. One common way to solve both problems is the configuration space approach which reduces object A to a single reference point p and expands each obstacle B, to include all the positions of p that cause a collision

Figure 1 Robot A and its inverted A', the dark lines form the configuration obstacles Recently, Jenq and Li develop an optimal algorithm of computing the configuration space for circular robot by using hypercube computers [ 5 ] . Their algorithm also works for rectangular robot. Dehne, Hassenklover, and Sack present a systolic algorithm for computing the configuration space obstacles in a plane for a rectilinear convex robot [ 11. Their algorithm takes O w ) time for an N x N image on an N x N mesh computer. Since the class of hypercube computers is a superset of the class of

between A and B, . The expansion of an obstacle B is called the configuration space obstacle of B j . In the new representation, the object A (robot) becomes a single point. The configuration space approach essentially reduces a complex problem to a simple one.. One way to transform an ordinary obstacle B, into the corresponding configuration space obstacle is to

160 1063-6374/95 $04.00 0 1995 IEEE

mesh computers, their algorithm can be easily realizedl with the same complexity on a hypercube computer. Ink this paper, we present faster algonthm for computing the: configuration space obstacles for robots with shape of convex polygons. The algorithm takes O(logN) time for an N x Iā€\r image on a hypercube with N x N processors. In section 2, the notation and basic operations, on hypercube is defined. In section 3, the algorithm for computing configuration space obstacles from convex obstacles and robot is developed. In secuon 4, we discuss a new hypercube operation called OAR which is essential for developing the optimal algorithm. We conclude the result in section 5.

2.2.2. Rank Each PE( i ) :has a flag selected(i) , which is set to true 8 PE( i ) is selected. A rank operation assigns a rank to each PE., where the rank of PE( i ), rank(i) , is the number of selected PES whose indices are less than i . This operation takes O(1ogN) time [8]. 2.2.3. Prefix sum. Each PE holds a number in its A variable. The prefix sum operation computes the partial sum of each PE( i ) according to the following equation:

psum(i) = 2 A ( j ) j=O

This operation is similar to the rank operation and takes O(1ogN) time [12].

2. Preliminaries 2.1. Hypercube notations

2.2.4. Shift. ShifI(A,i,w)skufts the A register circularly, counter-clockwisely by i iin a window of size W This operation takes O(logW) time [9]. When i is a power of 2, the operation takes OQO&I) time [IO].

A P -dimensional hypercube connects a total of N = 2ā€˜ PES (processing elements). Each PE has a unique index as its ID. PE(i)refers to the PE whose index is i . Let b,-,, bp-2...bo be the binary -

representation of the index of PE( i ). Let bk be the coimplement of bit b, . In a hypercube netwok, a PE is connected to those PES whose indlces in bi~iary form differ in exactly one bit from its own. I.e. at PE with address bp-,,bp-2..bk. bo is connected to the -

PES

with

addresses

bp-,bp-2...bk....

bo,

O