Industrial Robot: An International Journal Emerald Article: High-level robot programming based on CAD: dealing with unpredictable environments

Similar documents
Research on the Anti-perspective Correction Algorithm of QR Barcode

How To Ensure That An Eac Edge Program Is Successful

An inquiry into the multiplier process in IS-LM model

2 Limits and Derivatives

Comparison between two approaches to overload control in a Real Server: local or hybrid solutions?

Can a Lump-Sum Transfer Make Everyone Enjoy the Gains. from Free Trade?

Tangent Lines and Rates of Change

Instantaneous Rate of Change:

Geometric Stratification of Accounting Data

2.23 Gambling Rehabilitation Services. Introduction

Verifying Numerical Convergence Rates

Schedulability Analysis under Graph Routing in WirelessHART Networks

The EOQ Inventory Formula

h Understanding the safe operating principles and h Gaining maximum benefit and efficiency from your h Evaluating your testing system's performance

SAMPLE DESIGN FOR THE TERRORISM RISK INSURANCE PROGRAM SURVEY

A system to monitor the quality of automated coding of textual answers to open questions

In other words the graph of the polynomial should pass through the points

What is Advanced Corporate Finance? What is finance? What is Corporate Finance? Deciding how to optimally manage a firm s assets and liabilities.

f(x) f(a) x a Our intuition tells us that the slope of the tangent line to the curve at the point P is m P Q =

Force/position control of a robotic system for transcranial magnetic stimulation

Catalogue no XIE. Survey Methodology. December 2004

Lecture 10: What is a Function, definition, piecewise defined functions, difference quotient, domain of a function

College Planning Using Cash Value Life Insurance

Theoretical calculation of the heat capacity

Optimized Data Indexing Algorithms for OLAP Systems

SHAPE: A NEW BUSINESS ANALYTICS WEB PLATFORM FOR GETTING INSIGHTS ON ELECTRICAL LOAD PATTERNS

A strong credit score can help you score a lower rate on a mortgage

Industrial Robotics. Training Objective

OPTIMAL FLEET SELECTION FOR EARTHMOVING OPERATIONS

FINITE DIFFERENCE METHODS

MATHEMATICS FOR ENGINEERING DIFFERENTIATION TUTORIAL 1 - BASIC DIFFERENTIATION

An Intuitive Framework for Real-Time Freeform Modeling

Operation go-live! Mastering the people side of operational readiness

1.6. Analyse Optimum Volume and Surface Area. Maximum Volume for a Given Surface Area. Example 1. Solution

Digital evolution Where next for the consumer facing business?

Overview of Component Search System SPARS-J

Section 2.3 Solving Right Triangle Trigonometry

Robot Task-Level Programming Language and Simulation

Notes: Most of the material in this chapter is taken from Young and Freedman, Chap. 12.

Math 113 HW #5 Solutions

Chapter 11. Limits and an Introduction to Calculus. Selected Applications

Staffing and routing in a two-tier call centre. Sameer Hasija*, Edieal J. Pinker and Robert A. Shumsky

CHAPTER 7. Di erentiation


Dev eloping a General Postprocessor for Multi-Axis CNC Milling Centers

CHAPTER TWO. f(x) Slope = f (3) = Rate of change of f at 3. x 3. f(1.001) f(1) Average velocity = s(0.8) s(0) 0.8 0

ACT Math Facts & Formulas

2.12 Student Transportation. Introduction


Haptic Manipulation of Virtual Materials for Medical Application

Programming ABB Industrial Robot for an Accurate Handwriting

Intelligent Submersible Manipulator-Robot, Design, Modeling, Simulation and Motion Optimization for Maritime Robotic Research

The modelling of business rules for dashboard reporting using mutual information

Dynamically Scalable Architectures for E-Commerce

SWITCH T F T F SELECT. (b) local schedule of two branches. (a) if-then-else construct A & B MUX. one iteration cycle

Visual Servoing Methodology for Selective Tree Pruning by Human-Robot Collaborative System

SAT Subject Math Level 1 Facts & Formulas

Derivatives Math 120 Calculus I D Joyce, Fall 2013

A PAIR OF MEASURES OF ROTATIONAL ERROR FOR AXISYMMETRIC ROBOT END-EFFECTORS

An Orientation to the Public Health System for Participants and Spectators

How To Program A Laser Cutting Robot

New Vocabulary volume

Design-Simulation-Optimization Package for a Generic 6-DOF Manipulator with a Spherical Wrist

- 1 - Handout #22 May 23, 2012 Huffman Encoding and Data Compression. CS106B Spring Handout by Julie Zelenski with minor edits by Keith Schwarz

OPTIMAL DISCONTINUOUS GALERKIN METHODS FOR THE ACOUSTIC WAVE EQUATION IN HIGHER DIMENSIONS

Distances in random graphs with infinite mean degrees

Predicting the behavior of interacting humans by fusing data from multiple sources

Free Shipping and Repeat Buying on the Internet: Theory and Evidence

Math Test Sections. The College Board: Expanding College Opportunity

Training Robust Support Vector Regression via D. C. Program

Tis Problem and Retail Inventory Management

1. Case description. Best practice description

Orchestrating Bulk Data Transfers across Geo-Distributed Datacenters

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

A survey of Quality Engineering-Management journals by bibliometric indicators

3D SCANNING: A NEW APPROACH TOWARDS MODEL DEVELOPMENT IN ADVANCED MANUFACTURING SYSTEM

Projective Geometry. Projective Geometry

The Derivative as a Function

Heterogeneous firms and trade costs: a reading of French access to European agrofood

Pressure. Pressure. Atmospheric pressure. Conceptual example 1: Blood pressure. Pressure is force per unit area:

Multivariate time series analysis: Some essential notions

Pre-trial Settlement with Imperfect Private Monitoring

Welfare, financial innovation and self insurance in dynamic incomplete markets models

Automotive Applications of 3D Laser Scanning Introduction

Robotic motion planning for 8- DOF motion stage

Strategic trading and welfare in a dynamic market. Dimitri Vayanos

Pioneer Fund Story. Searching for Value Today and Tomorrow. Pioneer Funds Equities

Transcription:

Emerald Article: Hig-level robot programming based on CAD: dealing wit unpredictable environments Pedro Neto, Nuno Mendes, Ricardo Araújo, J Norberto Pires, A Paulo Moreira Article information: To cite tis document: Pedro Neto, Nuno Mendes, Ricardo Araújo, J Norberto Pires, A Paulo Moreira, (2012),"Hig-level robot programming based on CAD: dealing wit unpredictable environments",, Vol 39 Iss: 3 pp 294-303 Permanent link to tis document: ttp://dxdoiorg/101108/01439911211217125 Downloaded on: 24-04-2012 References: Tis document contains references to 23 oter documents To copy tis document: permissions@emeraldinsigtcom Access to tis document was granted troug an Emerald subscription provided by Emerald Autor Access For Autors: If you would like to write for tis, or any oter Emerald publication, ten please use our Emerald for Autors service Information about ow to coose wic publication to write for and submission guidelines are available for all Additional elp for autors is available for Emerald subscribers Please visit wwwemeraldinsigtcom/autors for more information About Emerald wwwemeraldinsigtcom Wit over forty years' experience, Emerald Group Publising is a leading independent publiser of global researc wit impact in business, society, public policy and education In total, Emerald publises over 275 journals and more tan 130 book series, as well as an extensive range of online products and services Emerald is bot COUNTER 3 and TRANSFER compliant Te organization is a partner of te Committee on Publication Etics (COPE) and also works wit Portico and te LOCKSS initiative for digital arcive preservation *Related content and download information correct at time of download

Researc article Hig-level robot programming based on CAD: dealing wit unpredictable environments Pedro Neto, Nuno Mendes, Ricardo Araújo and J Norberto Pires Department of Mecanical Engineering (CEMUC), University of Coimbra, Coimbra, Portugal, and A Paulo Moreira Institute for Systems and Computer Engineering of Porto (INESC-Porto), Porto, Portugal Abstract Purpose Te purpose of tis paper is to present a CAD-based uman-robot interface tat allows non-expert users to teac a robot in a manner similar to tat used by uman beings to teac eac oter Design/metodology/approac Intuitive robot programming is acieved by using CAD drawings to generate robot programs off-line Sensory feedback allows minimization of te effects of uncertainty, providing information to adjust te robot pats during robot operation Findings It was found tat it is possible to generate a robot program from a common CAD drawing and run it witout any major concerns about calibration or CAD model accuracy Researc limitations/implications A limitation of te proposed system as to do wit te fact tat it was designed to be used for particular tecnological applications Practical implications Since most manufacturing companies ave CAD packages in teir facilities today, CAD-based robot programming may be a good option to program robots witout te need for skilled robot programmers Originality/value Te paper proposes a new CAD-based robot programming system Robot programs are directly generated from a CAD drawing running on a commonly available 3D CAD package (Autodesk Inventor) and not from a commercial, computer aided robotics (CAR) software, making it a simple CAD integrated solution Tis is a low-cost and low-setup time system were no advanced robot programming skills are required to operate it In summary, robot programs are generated wit a ig-level of abstraction from te robot language Keywords Robots, Programming, Computer aided design, Industrial robotics, Hig-level programming, Sensory feedback, Unpredictable environments Paper type Researc paper 1 Introduction 11 Motivation Increasingly, companies are canging and reinventing teir production systems Traditional manufacturing systems (often based on fixed automation and manual work) are being replaced by flexible and intelligent manufacturing systems, enabling companies to continue to be competitive in te global market (Kopacek, 1999) Tis competitiveness is reflected in te companies capacity to respond/react quickly to market demands, producing more and better quality products at competitive prices Owing to its flexibility, programmability and efficiency, industrial robots are seen as a fundamental element of modern flexible manufacturing systems Neverteless, tere Te current issue and full text arcive of tis journal is available at wwwemeraldinsigtcom/0143-991xtm 39/3 (2012) 294 303 q Emerald Group Publising Limited [ISSN 0143-991X] [DOI 101108/01439911211217125] are still some problems tat inder te utilization of robots in industry, especially in small and medium-sized enterprises (SMEs) SMEs ave difficulty finding skilled workers capable of operating wit robots Terefore, new and more intuitive ways for people to interact wit robots are required to make robot programming more accessible, easier and faster Te goal is tat te instructor can teac a robot in a manner similar to tat used by umans to teac eac oter, for example using CAD drawings, gestures or troug verbal explanation (Neto et al, 2009, 2010b) 12 Objectives and contribution Robot programming troug te typical teacing metod (using te teac pendant) is a tedious and time-consuming task tat requires tecnical expertise Te goal is to develop metodologies tat elp users to program a robot in an intuitive way, quickly, wit a ig-level of abstraction from te robot specific language, and, if possible, witout speeding too muc money Tis work was supported in part by te Portuguese Foundation for Science and Tecnology (FCT) (SFRH/BD/39218/2007) 294

Pedro Neto et al In tis paper, a new CAD-based system to program a robot from a 3D CAD drawing, allowing users wit basic skills in CAD and robot programming to generate robot programs offline, is presented In addition, te 3D CAD package (Autodesk Inventor) tat interfaces wit te user is a wellknown generic CAD package, widespread on te market at a relative low-cost Starting from te CAD model of te robotic cell in study, te way te user generates a robot program is as simple as drawing te desired robot pats in te CAD environment Later, te information needed is automatically extracted from te CAD environment, analyzed and converted into robot programs Note tat te robot programs are not extracted neiter from a computer aided manufacturing (CAM) software nor from a computer aided robotics (CAR) software or from a virtual reality modelling language VRML-based platform On contrary, robot programs are directly generated from Autodesk Inventor It means tat we are proposing a simple CAD integrated solution for te robotics field Wit te advent of sopisticated and sometimes expensive CAR softwares, researc in CAD-based robot programming (from raw CAD data) as been neglected Today, considering te capabilities of modern CAD packages, new researc opportunities in te robotics field can be identified Commercial CAR packages are powerful tools, wic enable modelling, simulation and robot programming Neverteless, tey ave some disadvantages tat inder teir use in companies, especially in SMEs By comparing commercial CAR packages wit a CAD-based robot programming system similar to tat presented in tis paper (Neto et al, 2010a), it was found tat te CAD-based system as some relative advantages: low-cost since te construction of CAD models and te robot programming task are performed in te same environment/platform (Autodesk Inventor) te programming task becomes easier and ceaper; sort learning curve; and simplicity of use te most time-consuming task, te construction of te CAD model, is present in bot systems Notwitstanding te above, CAD-based robot programming approaces work well if te environment of te robot tasks is well defined However, tere are situations wic are likely to create errors or impede te normal operation of te robot: te CAD models do not reproduce correctly te geometry of te real scenario; inaccuracies created in te robot calibration process; inefficient fixtures tat do not ensure te static caracter of te workpieces; and a foreign object is introduced in te real environment In tese cases, we can say tat we are in te presence of a dynamic and unpredictable environment To perform successful manipulation robots depend on precise information about objects in teir surrounding In an unpredictable environment, suc information cannot be given to te robot a priori, robots ave to autonomously and continuously acquire information about teir surrounding environment to support teir decision making and react to unanticipated events Sensory feedback allows a robot to recognize your work environment for itself, for example producing corrections (on-line) in pre-programmed robot pats (Figure 1) In fact, te integration of sensors into Figure 1 (a) Planned pat for a specific environment; (b) a foreign object is introduced into te environment and collision occurs; (c) sensory feedback is introduced, elping te robot to deal wit te unpredictable environment (robot pat is adjusted) robotic platforms reduces te setup time, te need for accurate robot trajectory programming and promotes flexibility and te autonomous beaviour of robotic systems (Bolmsjö and Olsson, 2005; Joansson et al, 2004) In line wit te above mentioned, we are proposing an approac involving te use of real-time sensory feedback to assist robots wen tey are off-line programmed from CAD Te proposed platform is validated wit two different realworld experiments for two different tasks, seam tracking (using a laser camera) and for applications tat require te robot to follow a geometric profile wile maintaining a contact force (using a force/torque (F/T) sensor) Details in te way te laser camera and F/T sensor interact wit te robot are beyond te scope of tis study In fact, sensory feedback is used to validate te CAD-based robot programming system wen confronted wit uncertain 2 Related work In recent years, CAD tecnology as become economically attractive and easy to work wit so tat today millions of SMEs worldwide are using it to design and model teir products Already in te 1980s, CAD was seen as a tecnology tat could elp in te development of robotics (Banu, 1987) Since ten, a variety of researc as been conducted in te field of CADbased robot planning and programming A review of CAD-based robot pat planning for spray painting is presented by Cen et al (2009) Anoter study presents a metod to generate 3D robot working pats for a robotic adesive spray system for soe outsoles and uppers (Kim, 2004) Nagata et al (2007) proposes a robotic sanding platform were te robot pats are generated by CAD/CAM software A recent study discusses robot pat generation from a CAM software for rapid prototyping applications (Cerit and Lazoglu, 2011) An example of a novel process tat benefits from te robots and CAD versatility is te so-called incremental forming process of metal seets (Scaefer and Scraft, 2005) Feng-yun and Tian-seng (2005) presents a robot pat generator for te polising process, were te cutter location data is generated from te postprocessor of a CAD system As we ave seen above, a variety of researc as been done in te area of CAD, CAM and VRML based robot planning and programming However, none of te studies so far deals wit an effective solution for intuitive and low-cost robot programming using raw CAD data Unpredictable environments pose a significant callenge because of teir complexity and inerent uncertainty Over te last few years, important studies ave been carried out to deal wit uncertainty in te robotics field: using models of ideal environments, sensory feedback, and implementing reasoning metods into robotic platforms (Bruyninckx et al, 1991; 295

Pedro Neto et al Nayak and Ray, 1990) Tese concepts ave evolved and recently, researcers ave been successful in developing skills tat can andle te complexity of dynamic and predictable environments (Kenney et al, 2009; Mendes et al, 2010) A number of autors ave devoted attention to sensor simulation, trying to mimic as closely as possible te beaviour of a real sensor, and tus integrating it (te virtual sensor) witin a CAR platform (Cederberg et al, 2002; Brink et al, 1997; Bolmsjö and Olsson, 2005) Moreover, sensor information as been used to update robotic cell models in real-time, allowing to avoid problems suc as collisions, kinematic singularities and exceeding of joint limits (Brink et al, 1997; Joansson et al, 2004) Te concept of seam tracking applied to robotic welding as been studied over te last two decades (Nayak and Ray, 1990) Recently, important work as been carried out in te integration of sensors to assist te robotic arc welding process (Fridenfalk and Bolmsjö, 2002; Bolmsjö and Olsson, 2005) 3 Robot programming from CAD Starting from a 3D CAD model of te robotic cell in study, te way te user generates a robot program can be as simple as drawing te desired robot pats in te CAD environment Furtermore, to define te robot end-effector pose (position and orientation), it is necessary to know, not only te robot pat positions but also te end-effector orientations in space Terefore, after drawing te robot pats, simplified tool models sould be placed along te pats Tese models will define te orientation of te robot end-effector in eac segment of te pat (Figure 2) Te information needed to program te robot will be extracted from te CAD environment by using an application programming interface (API) provided by Autodesk Tis API allows te extraction of te points tat caracterize eac of te different lines used to define a robot pat; straigt lines, splines and arcs Moreover, te API also gives information about te transformation matrix of eac part model represented in te CAD environment Te transformation matrix contains te rotation matrix and te position of te origin of te part model to wic it refers, bot in relation to te origin of te CAD assembly model Later, te information extracted from te CAD is converted into robot programs (Video 1, 2010) A diagram wit te procedure to extract 3D data from CAD and teir conversion into a robot program is sown in Figure 3 Figure 3 Extracting 3D data from CAD programming languages; Visual Basic, Visual C#, Visual Cþþ In our proposed system, a standalone application was used to extract information from te CAD and te Autodesk Apprentice Server was used to display te CAD models on te screen, Figure 4 A flow cart, containing te metod to automatically extract information about a straigt line drawn in CAD, is sown in Figure 5 32 Position and orientation in space In order to off-line generate a robot program from a CAD environment and put it running in a real environment, te CAD model of te cell sould matc wit te real one In oter words, it is necessary to ave all robot end-effector positions and orientations wit respect to one or more reference frames known a priori by te robot Tese frames are made known to te robot troug a calibration process Generally, tis is a simple and non-time-consuming process were te user needs to define te frame(s) witin te CAD environment and ten to Figure 4 Accessing te autodesk inventor s API 31 Application programming interface Te Autodesk Inventor API sows te Inventor s functionalities in an object-oriented manner, allowing developers to interact wit Autodesk Inventor using current Figure 2 Simplified tool models defining te end-effector orientation 296

Pedro Neto et al Figure 5 Extracting data from CAD (straigt line) Figure 6 System frames teac te real robot about tat frame(s) pose in te real scenario (off-line to on-line mapping) Wen tere are a significant number of frames to define, te calibration process can be lengty and prone to error Te API provides all te information (transformation matrices and pat lines data) wit respect to te origin of te CAD assembly model, te universe coordinate system {U} Considering tat a frame {B} is defined relative to {U} during te calibration process, from te API we ave te transformation matrix of {B} relative to {U}, U B T Tis means tat frame {B} makes te link between te virtual and real world Note tat, as mentioned above, it is possible to define more tan one frame if necessary, as te process is similar Since Autodesk Inventor considers te robot pat lines drawn as a constituent of a single CAD part model (ipt file) contained in te CAD assembly model (iam file), te transformation matrix (relative to {U}) of tat single part model defines te pose of te pat lines For te general case sown in Figure 6, te pat line is part of te table top model in wic te origin and orientation is defined by frame {E} However, it is not necessary to know te orientation of te pat lines as te API provides all te necessary points to define te pat lines relative to {U}, for example te initial pat point U P ini (Figure 6) So it is necessary to acieve te pat line points relative to frame {B} In terms of establising te robot end-effector orientation, frames {C} and {D} elp to define te origin and orientation of simplified tool models in Figure 6 As mentioned, te API provides te transformation matrix of tese models relative to {U}, U C T and U DT However, for robot programming purposes we wis to express frame {C} and {D} in terms of frame {B}, B C T and B D T For te case of B CT we ave: B C T ¼ B U T U C T To find B UT, we must compute te rotation matrix tat defines frame {U} relative to {B}, B UR, and te vector tat locates te origin of frame {U} relative to {B}, B P Uorg So, we know tat: ð1þ B U T ¼ 2 B U R 4 0 0 0 B P Uorg 1 3 5 ð2þ Given te caracteristics of a rotation matrix, B U R ¼ U B RT, and as we know U B T, te next step is to calculate B P Uorg Considering a generic vector/point defined in {U}, U P; if we wis to express tis point in space in terms of frame {B} we must compute: B P ¼ B U R U P þ B P Uorg Rewriting equation (3) by replacing P wit U P Borg : ¼ B U R U P Borg þ B P Uorg ð4þ B U P Borg Te left side of equation (4) must be zero, so, from equation (4) we ave: ð3þ B P Uorg ¼ 2 B U R U P Borg ¼ 2 U B RT U P Borg ð5þ From equations (2) and (5) we can write: 2 U B R T 3 B U T ¼ 2 U B RT U P Borg 4 0 0 0 5 ð6þ 1 Now, we can rewrite equation (1) and acieve B CT Te same metodology can be used to acieve B DT and any oter transformation 33 Position and orientation interpolation Wen an industrial robot is performing a pre-programmed movement and tis one requires abrupt end-effector orientation canges, we must take special care because it can come into a situation were no one as total control over te end-effector orientation Tis is particularly true wen robot programs are generated off-line Te proposed solution to circumvent tis problem is based on te implementation of linear smoot interpolation of end-effector positions and 297

Pedro Neto et al orientations (Feng-yun and Tian-seng, 2005) Te process involves te following steps: 1 Identification of risk areas (pats) Tis is done by analyzing te CAD model and manually defining tose areas in te drawing 2 Discretization of te risk pat in equally spaced intervals 3 Calculation of end-effector orientations for eac interpolated pat point Te new pat is smooter tan te initial (Figure 7) Consider rðkþ ¼ r i T xðkþ r y ðkþ r z ðkþ a generic end-effector position generated i at te discrete time k and defined in P j P jþ2, (Figure 7) P j,p jþ 1 and P jþ 2 are known endeffector poses, extracted from te CAD drawing (see Section 412) For te profile in Figure 7 (possible area of risk) we will separate te interpolation in two sections, S 1 and S 2 ; S 1 [ P i j P jþ1 and S 2 [ P i jþ1 P jþ2 Te calculations are presented for section S 1 but for oter sections te procedure is te same So, r(k) is calculated using bot te known data points from CAD (P j,p jþ 1 ) and te profiling velocity v(k): vðkþ ¼ v i T xðkþ v y ðkþ v z ðkþ ð7þ It is assumed tat te magnitude of v(k), jv(k)j, is a constant Considering rðkþ [ P i j P jþ1, a direction vector W can be defined as: W ¼ P jþ1 2 P j From equations (7) and (8), eac directional velocity profile is obtained by: v i ðkþ ¼jvðkÞj W i ; ði ¼ x; y; zþ jw j ð9þ From equation (9), using a sampling widt Dt, te interpolated position r(k) is given by: rð0þ ¼P T j ¼ P i j; x P j; y P j; z ð10þ rðnþ ¼P T jþ1 ¼ P i jþ1; x P jþ1; y P jþ1; z ð11þ r i ðkþ ¼r i ð0þþv i ðkþ k Dt; ( ði ¼ x; y; zþ ðk ¼ 1; :::; n 2 1Þ ð12þ Note tat n represents te number of interpolated points A quaternion interpolation algoritm (sperical linear interpolation Slerp) to interpolate smootly a sequence of end-effector orientations was used For te profile in Figure 7 we will interpolate end-effector orientations between Figure 7 (a) End-effector pose before interpolation and (b) end-effector pose after interpolation ð8þ P j and P jþ 2 Given two known unit quaternions, Q 0 (from P j ) and Q n (from P jþ 2 ), wit parameter k moving from 1 to n 2 1, te interpolated end-effector orientation Q k can be obtained as follows: Q k ¼ were: sinð1 2 ððk 2 1Þ=ðn 2 1ÞÞ uþ Q 0 sin u þ sinðððk 2 1Þ=ðn 2 1ÞÞ uþ sin u u ¼ cos 21 ðq 0 Q n Þ Q n ; k [ 1 n 2 1 ð13þ ð14þ 34 Robot program generation Using te information extracted from te CAD environment, te system presented ere is able to generate robot programs for specific robotic applications Te code generation process is divided into two distinct pases: 1 Definition and parameterization of robot positions/ orientations, reference frames, tools, etc Te end-effector positions and orientations extracted from CAD are used to define te robot pat target poses (equation (15)) Wen confronted wit risk areas te interpolation algoritms automatically generate te appropriate end-effector poses for tese areas From equation (3) we ave te end-effector positions B P; from equation (1) te transformation matrix B C T containing te rotation matrix, wic in turn is used to calculate te end-effector orientation in te form of quaternions or Euler angles; from equation (13) te interpolated positions r(k); and finally from equation (14) te interpolated orientations (quaternions) Q k : P ¼ x; y; z ffl{zffl} ; q1; q2; q3; q4 fflfflfflfflfflfflfflfflffl{zfflfflfflfflfflfflfflfflffl} B B P and r iðkþ T and Qk C ð15þ Body of te program A robot program contains predominantly robot motion instructions (linear, joint, circular or spline robot movement) Tese movement instructions are selected according to te type of lines used in te CAD drawing to define te robot pats 4 Experiments Two different experiments are discussed, and in bot cases, robot programs are generated off-line from a CAD drawing In te first experiment, seam tracking, robot pats are adjusted wit te information received from a laser camera attaced to te robot In te second experiment, a robot follows a geometric profile wile maintaining a contact force, robot pats are adjusted wit te information received from a F/T sensor attaced to te robot wrist To better visualize te robot pat adjustments provided by sensory feedback, te robotic space was forced to become a more viewable unpredictable environment by purposely making a roug calibration process Often, calibration errors arise from te little time and attention devoted to te robot calibration process Errors also arise from te geometrical and dimensional differences between te CAD model and te real scenario, and from te tolerance of te fixtures 298

Pedro Neto et al 41 Seam tracking 411 Experimental setup Te experimental setup of te robotic platform (Figure 8) is te following: an industrial robot ABB IRB 2400 equipped wit a S4C þ /M2000 controller; a computer running Microsoft Windows Xp; and a laser camera DIGI-I/S from Servo Robot Te computer is running a CAD package (Autodesk Inventor) and te developed software interface, wic receives data from CAD, interprets te data received and generates robot programs Te robot is remotely controlled and managed by te software interface, wic uses an ActiveX named PcRob for suc purposes Te laser camera is connected wit te robot controller via serial port 412 CAD model Te CAD assembly model from wic a robot program will be generated does not need to accurately represent te real cell in all its aspects (Figure 9) On te contrary, it can be a simplified model containing te important information As an example, te robot tool lengt, robot pats and relative positioning of CAD models sould represent te real scenario, owever, te models appearance do not need to be exactly equal to te real objects It means tat, for example, in te construction of a CAD model, camfers or rounded edges are expendable Tis speeds up te modelling process Te scale of te CAD models is 1:1 For tis particular experiment, te CAD assembly model sould contain te workpieces to be welded, te robot pats and te robot tools wit te desired torc orientation for eac pat segment In terms of risk areas, tere is only one abrupt tool orientation cange (Figure 9) 413 Pat adjustment Analyzing te incoming data from te laser camera, te implemented control system decides wic end-effector adjustments sould be applied to te main pats extracted from CAD Te system modus operandi is relatively simple: Definition/calibration of te robot tool to matc wit te robot reference frame Te laser camera is configured wit information about te welding joint and te desired vertical and/or orizontal distances (tool standoff) tat te torc must maintain to te welding joint Features from te workpiece profile are extracted and matced against te predefined joint templates and tolerances Te automatic end-effector adjustment is acieved by a closed loop position control tat promotes compensation of te errors in y- and z-directions Correction data are acquired wit a sample rate of 5 Hz 414 Results and discussion Results sowed tat te CAD-based robot programming system is easy to use and witin minutes an untrained user can generate a robot program for welding purposes However, in te real scenario (Figure 10) we ave a dynamic environment were robot pat adjustments are required Figure 11 sows te robot pat adjustments/corrections (in te y-direction) made by te robot during te seam tracking process (Video 2, 2010) As te robot only allows pat adjustments at a frequency of 5 Hz, for iger welding speeds te pat correction does not appear so smoot Anoter limitation is te low robot resolution (001 mm), making te pat adjustment process more abrupt 42 Profile following 421 Experimental setup and features Te experimental setup of te robotic platform (Figure 12) is te following: an industrial robot Motoman HP6 equipped wit te NX100 controller; a computer running Microsoft Windows Xp; a six degrees of freedom F/T sensor from JR3; and a local area network, Eternet and TCP/IP based, used for robot-computer communication (100 Mbps) Te computer is running Autodesk Inventor and te developed software interface Tis interface generates robot programs from CAD and manages te force control system, acquiring data from te F/T sensor and sending motion commands (adjustments) to te robot Te software interface communicates wit te robot using a software component named MotomanLib Te ActiveX component JR3PCI is used to acquire force and torque data from te F/T sensor Te robot pose is adjusted wit a sample rate of 20 Hz As in te previous experiment, te robot program is generated from a CAD drawing (Figure 13) Te real work environment is an unpredictable environment due to te Figure 8 System arcitecture 299

Pedro Neto et al Figure 9 CAD assembly model of te workpieces to be welded (butt joint) Note: A robot program will be generated from tis model uncertainty tat comes from an inaccurate calibration process and due to te surface rougness of te workpiece Te robot tool sould follow a geometric profile wile maintaining a contact force In order to facilitate te analysis of experimental results, a ball-saped tool was mounted on te robot s end-effector 422 Results and discussion Regarding te generation of te robot program from a CAD drawing, tis experiment sowed similar results to tose of Section 414 From te incoming data from te F/T sensor, te implemented force and robot displacement control system (Fuzzy-PI and PI reasoning) decides wic displacements sould be applied to te robot end-effector to acieve satisfactory performance (Mendes et al, 2010; Video 3, 2010) Te force control system ensures tat te contact forces are maintained at a constant value, adjusting te preprogrammed robot pats extracted from CAD (Figures 14 and 15) Te graps of Figure 14 sow some force fluctuation due to te rougness of te surface and te noise of F/T data 43 Overall results Some problems can occur wen external sensors are used to on-line adjust robot motion and in fact, tese problems can be listed: collisions between te external sensor and te surrounding workspace; situations in wic te robot arm is sent to a location outside of te robot working area; kinematic singularities; poor coice of process parameters; and te communications delay between te external sensor and te robot controller can produce a negative effect on te proper definition of te robotic task In order to avoid te above mentioned problems te operator sould ensure tat te workpieces are inside te working area of te robot, no collisions occur and kinematic singularities are identified During effective robot operation, if a failure or malfunctioning is detected, two different situations can be considered: task abortion or activation of a reactive task After aborting te process, te restarting of te system can be a complicated issue, depending on te type of robotic task For example, for an arc welding application, restarting te system requires at least placing te torc at te point were te robot stopped 5 Conclusion and future work A new CAD-based robot programming system was presented Experiments sowed tat te proposed platform opens new possibilities for intuitive robot programming It means tat an untrained operator can generate a robot program for a specific task witin minutes Moreover, since te construction of te CAD models and robot programming task are performed in te same platform (Autodesk Inventor) te entire robot programming process becomes easier and ceaper Tis is very important for SMEs tat produce small batces of products and need to constantly reprogram te robotic cells In addition, sensory feedback enables te robot to be more flexible wen confronted wit product cangeover By adding sensory feedback to te robotic platforms we ensure tat te robot manoeuvres in an unpredictable environment, damping possible impacts and increasing te tolerance to positioning errors from te calibration process or from te construction of te CAD models Furter researc and development will be needed to make te proposed platform more generalist It means tat te metods to generate robot programs must evolve to oter applications Te CAD-based module sould be able to simulate robot motion and detect collisions In fact, today, Figure 10 Robotic cell 300

Pedro Neto et al Figure 11 Pat adjustments in y-direction Note: Robot velocity 10 mm/s Figure 12 System arcitecture Figure 13 CAD assembly model of te working profile 301

Pedro Neto et al Figure 14 Experimental results by using a Fuzzy-PI controller (at left) and PI controller (at rigt) Figure 15 Robot tool in contact wit te real workpiece te Autodesk Inventor API provides tools tat allow us to face tis direction of researc wit optimism Moreover, future work will be required to proceed wit te development of metodologies wic would facilitate sensor integration in robotic platforms, especially for wen robots are programmed off-line References Banu, B (1987), CAD-based robot vision, IEEE Computer, Vol 20 No 8, pp 12-16 Bolmsjö, G and Olsson, M (2005), Sensors in robotic arc welding to support small series production, Industrial Robot, Vol 32 No 4, pp 341-5 Brink, K, Olsson, M and Bolmsjö, G (1997), Increased autonomy in industrial robotic systems: a framework, Journal of Intelligent and Robotic Systems, Vol 19, pp 357-73 Bruyninckx, H, De Scutter, J and Allotta, B (1991), Model-based constrained motion: a modelling, specification and control, IEEE 5t International Conference on Advanced Robotics, Pisa, pp 976-81 Cederberg, P, Olsson, M and Bolmsjö, G (2002), Virtual triangulation sensor development, beavior simulation and CAR integration applied to robotic arc-welding, Journal of Intelligent and Robotic Systems, Vol 35, pp 365-79 Cerit, E and Lazoglu, I (2011), A CAM-based pat generation metod for rapid prototyping applications, Te International Journal of Advanced Manufacturing Tecnology, Vol 56, pp 319-27, on-line available Cen, H, Fulbrigge, T and Li, X (2009), A review of CAD-based robot pat planning for spray painting, Industrial Robot, Vol 36 No 1, pp 45-50 Feng-yun, L and Tian-seng, L (2005), Development of a robot system for complex surfaces polising based on CL data, Te International Journal of Advanced Manufacturing Tecnology, Vol 26, pp 1132-7 Fridenfalk, M and Bolmsjö, G (2002), Design and validation of a sensor guided robot control system for welding in sipbuilding, International Journal for te Joining of Materials, Vol 14 Nos 3/4, pp 44-55 Joansson, R, Robertsson, A, Nilsson, K, Brogard, T, Cederberg, P, Olsson, M, Olsson, T and Bolmsjö, G (2004), Sensor integration in task-level programming and industrial robotic task execution control, Industrial Robot, Vol 31 No 3, pp 284-96 Kenney, J, Buckley, T and Brock, O (2009), Interactive segmentation for manipulation in unstructured environments, IEEE International Conference on Robotics and Automation, Kobe, Japan, pp 1337-82 Kim, JY (2004), CAD-based automated robot programming in adesive spray systems for soe outsoles and uppers, Journal of Robotic Systems, Vol 21 No 11, pp 625-34 Kopacek, P (1999), Intelligent manufacturing: present state and future trends, Journal of Intelligent and Robotic Systems, Vol 26, pp 217-29 Mendes, N, Neto, P, Pires, JN and Moreira, AP (2010), Fuzzy-PI force control for industrial robotics, in Vadakkepat, P, Kim, J-H, Jesse, N, Mamun, AA, Kiong, TK, Baltes, J, Anderson, J, Verner, I and Algren, D (Eds), Trends in Intelligent Robotics, Springer, Berlin, pp 322-9 Nagata, F, Kusumoto, Y, Fujimoto, Y and Watanabe, K (2007), Robotic sanding system for new designed furniture wit free-formed surface, Robotics & Computer- Integrated Manufacturing, Vol 23 No 4, pp 371-9 302

Pedro Neto et al Nayak, N and Ray, A (1990), An integrated system for intelligent seam tracking in robotic welding: part I conceptual and analytical development, IEEE International Conference on Robotics and Automation, pp 1892-7 Neto, P, Pires, JN and Moreira, AP (2009), Accelerometer-based control of an industrial robotic arm, 18t IEEE International Symposium on Robot and Human Interactive Communication, Toyama, pp 1192-7 Neto, P, Pires, JN and Moreira, AP (2010a), CAD-based off-line robot programming, IEEE International Conference on Robotics, Automation and Mecatronics, Singapore, pp 516-21 Neto, P, Pires, JN and Moreira, AP (2010b), Hig-level programming and control for industrial robotics: using a and-eld accelerometer-based input device for gesture and posture recognition, Industrial Robot, Vol 37 No 2, pp 137-47 Scaefer, T and Scraft, D (2005), Incremental seet metal forming by industrial robot, Rapid Prototyping Journal, Vol 11 No 5, pp 278-86 Video 1 (2010), Robot program generation from CAD virtual pats, available at: ttp://roboticsdemucpt/pedro neto/gs3tml (accessed 15 December) Video 2 (2010), Robot pat adjustment laser camera, available at: ttp://roboticsdemucpt/pedroneto/gs4tml (accessed 15 December) Video 3 (2010), Robot pat adjustment force sensor, available at: ttp://roboticsdemucpt/pedroneto/gs5tml (accessed 15 December) Corresponding autor Pedro Neto can be contacted at: pedroneto@demucpt To purcase reprints of tis article please e-mail: reprints@emeraldinsigtcom Or visit our web site for furter details: wwwemeraldinsigtcom/reprints 303