Parallelism and Robotics: The Perfect Marriage By R.Theron,F.J.Blanco,B.Curto,V.Moreno and F.J.Garcia University of Salamanca,Spain Rejitha Anand CMPS.

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

System Integration and Performance
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
VLIW Very Large Instruction Word. Introduction Very Long Instruction Word is a concept for processing technology that dates back to the early 1980s. The.
Why Systolic Architecture ?. Motivation & Introduction We need a high-performance, special-purpose computer system to meet specific application. I/O and.
1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
Manipulator’s Inverse kinematics
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Chapter 11: Numerical Algorithms Sec 11.2: Implementing.
Reference: Message Passing Fundamentals.
Rational Trigonometry Applied to Robotics
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM Department of Electrical and Computer Engineering Carnegie Mellon University Pittsburgh,
Acknowledgments: Thanks to Professor Nicholas Brummell from UC Santa Cruz for his help on FFTs after class, and also thanks to Professor James Demmel from.
IK: Choose these angles!
Image Enhancement in the Frequency Domain Part I Image Enhancement in the Frequency Domain Part I Dr. Samir H. Abdul-Jauwad Electrical Engineering Department.
Uninformed Search Reading: Chapter 3 by today, Chapter by Wednesday, 9/12 Homework #2 will be given out on Wednesday DID YOU TURN IN YOUR SURVEY?
Some Properties of the 2-D Fourier Transform Translation Distributivity and Scaling Rotation Periodicity and Conjugate Symmetry Separability Convolution.
BINARY MORPHOLOGY and APPLICATIONS IN ROBOTICS. Applications of Minkowski Sum 1.Minkowski addition plays a central role in mathematical morphology 2.It.
Topic Overview One-to-All Broadcast and All-to-One Reduction
Unit 7 Fourier, DFT, and FFT 1. Time and Frequency Representation The most common representation of signals and waveforms is in the time domain Most signal.
Topic 7 - Fourier Transforms DIGITAL IMAGE PROCESSING Course 3624 Department of Physics and Astronomy Professor Bob Warwick.
Discrete-Time and System (A Review)
1 Chapter 8 The Discrete Fourier Transform 2 Introduction  In Chapters 2 and 3 we discussed the representation of sequences and LTI systems in terms.
Developing Simulations and Demonstrations Using Microsoft Visual C++ Mike O’Leary Shiva Azadegan Towson University Supported by the National Science Foundation.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
 Optimal Packing of High- Precision Rectangles By Eric Huang & Richard E. Korf 25 th AAAI Conference, 2011 Florida Institute of Technology CSE 5694 Robotics.
An approach for solving the Helmholtz Equation on heterogeneous platforms An approach for solving the Helmholtz Equation on heterogeneous platforms G.
G Practical MRI 1 The Fourier Transform
World space = physical space, contains robots and obstacles Configuration = set of independent parameters that characterizes the position of every point.
Complete Coverage Path Planning Based on Ant Colony Algorithm International conference on Mechatronics and Machine Vision in Practice, p.p , Dec.
: Chapter 14: The Frequency Domain 1 Montri Karnjanadecha ac.th/~montri Image Processing.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Chapter 19.
FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed
KINEMATICS ANALYSIS OF ROBOTS (Part 2)
1 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
Performance Measurement. A Quantitative Basis for Design n Parallel programming is an optimization problem. n Must take into account several factors:
Implementation Problems and Solutions in Stochastic Volatility Models of the Heston Type Jia-Hau Guo and Mao-Wei Hung.
Acoustic diffraction by an Oscillating strip. This problem is basically solved by a technique called Wiener Hopf technique.
Fundamentals of Electric Circuits Chapter 18 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Z TRANSFORM AND DFT Z Transform
Fast Fourier Transform & Assignment 2
Energy-Aware Scheduling for Aperiodic Tasks on Multi-core Processors Dawei Li and Jie Wu Department of Computer and Information Sciences Temple University,
Digital Signal Processing
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Outline: Introduction Solvability Manipulator subspace when n<6
CS 471 Final Project 2d Advection/Wave Equation Using Fourier Methods December 10, 2003 Jose L. Rodriguez
CSCI-455/552 Introduction to High Performance Computing Lecture 23.
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
Lecture 5 – 6 Z - Transform By Dileep Kumar.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
CSCI-455/552 Introduction to High Performance Computing Lecture 21.
Frequency Domain Representation of Biomedical Signals.
Chapter 2 The z-transform and Fourier Transforms The Z Transform The Inverse of Z Transform The Prosperity of Z Transform System Function System Function.
1 Chapter 8 The Discrete Fourier Transform (cont.)
IK: Choose these angles!
PERFORMANCE EVALUATIONS
IK: Choose these angles!
DIGITAL SIGNAL PROCESSING ELECTRONICS
INVERSE MANIPULATOR KINEMATICS
UNIT II Analysis of Continuous Time signal
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
Z TRANSFORM AND DFT Z Transform
Market-based Dynamic Task Allocation in Mobile Surveillance Systems
CHAPTER-6 Z-TRANSFORM.
Outline: Introduction Solvability Manipulator subspace when n<6
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Parallelism and Robotics: The Perfect Marriage By R.Theron,F.J.Blanco,B.Curto,V.Moreno and F.J.Garcia University of Salamanca,Spain Rejitha Anand CMPS 5433

INTRODUCTION Robotics is a fast evolving area of scientific study Autonomous robots Programmed to achieve specific objective Goal - formulate a sequence of intelligent movements Need parallel processing techniques to manage heavy computational load Path planning- search for an optimal route from an initial location to a desired one avoiding collisions

TERMINOLOGIES Fourier transform – decomposes or separates a waveform or function into sinusoids of different frequency which sum to the original waveform Discrete Fourier transform(DFT) – numerical algorithm to compute Fourier transform Fast Fourier Transform – is a DFT algorithm which reduces number of computations form N 2 to N log N

TERMINOLOGIES (continued) Convolution – is an integral that expresses the amount of overlap of one function g as it is shifted over another function f, therefore blends one function with another Convolution theorem – states Fourier transform of a convolution is the product of Fourier transforms Master-slave paradigm – master task allocates problem. Slave requests and executes problem from master. Slaves can also send new tasks to manager for allocation to other slaves

KNOWING THE ENVIRONMENT Global planning – requires total knowledge of the environment Configuration space (C-space) represents the workspace of the robot position and orientation of robot defined by a single point Evaluation of C-space is computational intensive

CALCULATION OF C-OBSTACLES Curto and Moreno proposed mathematical formalism through evaluation of a convolution of two functions one describes the robot A and other describes the obstacles B Convolution theorem states Fourier transforms can be used CB the function that describes the C-obstacles

TOWARDS A FASTER EVALUATION Solving the equation  Need to evaluate the integral product of Fourier transforms of N m-r configurations and values of space variables -N is the resolution chosen to describe the discrete workspace - m is the dimension of the c-space -r the Fourier transform dimension  When convolution does not exist integration performed provides new opportunities for parallelization

THREE LEVELS OF PARALLELISM  Fourier transform level(FFT): the Fourier transform algorithm which is inherently parallel is the computational tool to calculate this level  Space variable level: for those variables where convolution can’t be found (x r +1,…,x n ), it is necessary to perform an integration which may be processed in parallel  Configuration variable level: in this case some configuration variables(q 1,…,q r ) the convolution must be performed; trivial parallelization exists for configuration variables where there is no convolution (q r+1,…,q m )

EXAMPLE  Consider a 2D mobile robot has three configuration variables - (x,y) - which describe the position that convolute with the workspace coordinates - Theta – defines the angle of rotation and does not convolute  two levels of parallelism is possible – the Fourier transform level and the configuration variable level ( for the accumulation of convolutions products over the values of theta)

MASTER SLAVE APPROACH The FFT level is exploited. The master asks slaves to perform the computation of a Fourier transform, and they proceed in parallel with the well known FFT algorithm

MASTER SLAVE APPROACH Shows the configuration variable level, where again there is a master and n slave processes. The master asks the slaves to evaluate a slice of the C- space, that is, the convolution product for one value of the configuration variable for each slave. Then the partial results are gathered and the final C-space is built.

MASTER SLAVE APPROACH a more complex model is where three level solution is exploited. Sub master processes organize the communications of partial results, that are then communicated to the master. This method can be seen as a single level nested solution.

A CASE STUDY: IMPLEMENTING THE PARALLEL ALGORITHM  Implemented to evaluate configuration space of a mobile robot moving on a 3D workspace partially occupied with obstacles  Robot has a planar movement – position defined by three configuration variables (x r, y r, theta r )  Expression for C-space evaluation

POSSIBILITIES  First the algorithm consists of iteratively performing a series of basic operations one for each possible robot orientation,theta r, (i.e., the configuration variable level)  Second, each orientation needs to accumulate the convolution products for each plane z (i.e., the spatial variable level)  These calculations are independent, therefore they can be done in parallel. These intermediate results are integrated to form a final result (instance of data parallelism model).

MASTER  Master communicates the tasks that need to be calculated to each of its slaves  After receiving the result (the slice of the corresponding C- space) from a slave the master assigns a new task.  Finally, the master indicates to the slaves that no more calculations are required. During this process the master builds a three-dimensional array representing the C-space.

SLAVES  Need to know which orientation to calculate (determined by the master with the number of task)  The slave builds the needed robot bitmap for that orientation and a z plane and obtains its FFT  Carries out the point-to-point product of this FFT with the transformed workspace that the master has provided  Procedure is repeated a number of times as determined by the highest point of the mobile robot, and the results are added (i.e., the accumulation of the spatial variable level)  Inverse transformation applied to the accumulated result to obtain the portion of the C-space  This intermediate result is in turn, sent to the master, expecting another task to be assigned or a end of execution signal.

RESULTS  Two different platforms used to validate the implementation - A Silicon Graphics Origin 200 computer with four MIPS R10000 processors Mbytes of memory, and four workstations (PII 266Mhz with 64Mbytes of memory) connected by a FastEthernet network  Used MPI to develop both implementations  The results are similar, however, more problems were encountered with the networked workstations because of communication difficulties.

DISCRETIZATIONS In order to work with the FFT algorithm employed for the needed evaluation of 2D Fourier transforms, three discretizations of the 3D workspace have been used: - 64 x 64 x 64, x 128 x and 256 x 256 x 256

Execution times (seconds) for 64 x 64 resolution SequentialParallelRobot height Speedup

Execution times (seconds) for 128 x 128 resolution SequentialParallelRobot height Speedup

Execution times (seconds) for 256 x 256 resolution SequentialParallelRobot height Speedup

CONCLUSION Limitations of test environment prompted development and implementation of a solution optimizing at the configuration variable level Different experiments have been carried out in which the resulting speedups are very acceptable The presented case study provides reasonable results that could be extrapolated to more complex robotic structures More complex structures can hopefully be designed on the lines of the parallel algorithm studied in this paper

Questions ?