Home
same in room - 5axes
Contents
1. Abort Figure 21 Schematic of the error handling module The error handler is inactive until the robot enters the state MANUAL SERVICE When this happens the error handler is sent an error code The error code indexes a small error database to present both a visual and textual description of the problem as well as suggestions for remedy The user can choose to resume the welding from the point it was halted or simply abort the welding process It should be noted that it would not be possible to implement something like this in a real system today since the hardware the robot does not support monitoring of all possible errors that can occur For instance it is not possible to point out exactly that the gas tube is empty if ignition fails as in the case with the prototype 32 Visual Programming The prototype 4 5Pros and cons 4 5 1 The prototype is developed in Visual Basic It is very simple with slightly over dimensioned components Furthermore it probably lacks several desirable features However we still think it serves the purpose as a concrete representation of our basic idea of how arc welding can be made easier This section discusses advantages and disadvantages It is important to keep in mind that the created application is nothing but a prototype a suggestion for a possible solution This implies that not every intention or idea actually has been implemented A feature that is supposed to work in on
2. Synergy weld line Display synergy line relation between weld speed weld voltage weld wirefeed e Result Predicted weld result Visual feedback during error handling e Position Display the current weld position e Probable error location and suggested problem solution Wizard and choice of action Restrictions Application specified for arc welding only Not a generic application Functionality As simple as possible e Size of the display as big as the new graphical teach pendant Assumptions e Unlimited input devices available e The robot is calibrated Hardware support for error handling e Software support for different joint types information taken from SECRC e All the latest technologies available 49 Visual Programming Appendices Appendix C Examples of how the prototype could be applied on the teach pendant unit CENSORED Sheet Type Thickness Wire Type Thickness STEEL MILD gt STEEL ues mm Joint Type Figure 26 Process data configuration on the TPU CENSORED Figure 27 Weld data parameter setup on the TPU 50 Visual Programming Appendices Appendix D The prototype real time tuning module Part 2 5 165mm g 26 5V 18m min 15mm s O 284 18m min 15mm s O 23 5 15m min 16mm s O 21 11 m min 18mm s O 19 54 7m min 18mm s apid Code Move pHome v2500 2100 torch Tuning SYNERGIC TUNING WFS WS ArcLi0n p1 v100 seam weld
3. theories on the other Programmer survey The Outlook from Academia and Industry is an extensive survey from 1997 It presents some interesting differences in opinion among different categories of people including professional traditional programmers who are known to dislike new programming techniques and especially visual ones Three different categories of intended VP users participated in one survey each academic VP researchers with vast knowledge of visual programming languages professional programmers with none or small VP knowledge and strict LabView programmers The three different surveys were constructed to provide comparable results but here the LabView part is left out presented in 15 categories with regards to visual programming These were of type learnability productivity readability etc A sammary of the most interesting categories follows General impact refers to whether visual programming languages are easy to use The academic VP researchers agreed that is the case while half of the programmers claimed VPLs do not make a difference on the matter or are even more difficult to use Learnability is how easy something in this case a VPL is to comprehend and learn how to use The difference of opinion showed once again when the researchers repeatedly pointed out this VPL benefit The programmers however stated the time that would be required to learn a visual programming language if they at all menti
4. Shows the RAPID code lines for the whole program The codeline being executed is marked TUNING Tune the Volt Wire Feed Speed or Wire Speed by pressing the minus or plus buttons Tune along the synergy line by pressing the SYNERGIC TUNING plus or minus buttons 60
5. adaption resistance among programmers e Finally not everything in the prototype would even be possible to implement on a real system today This depends mainly on limitations in the hardware An example is the error handling phase in the prototype It presents a desired way of handling errors and displaying the exact problem and its remedy to the user but the hardware today does not support this kind of sophisticated monitoring of individual components See 3 2 2 Known Visual Programming difficulties 34 Visual Programming The prototype 4 6 User evaluation The user evaluation was performed on three people These test persons have very good knowledge about robot programming and especially on how to program an arc welding robot This implies that the results from the evaluation give at least an indication of how people with relevant knowledge understand the concept of the prototype The users were brought in one at a time Each one of them was given a short formal introduction providing them only with the background and purpose of the test In other words no details or instructions on how to use the prototype were mentioned so the user was free to investigate and explore it in any way desired The evaluation method that was used is called cooperative evaluation The cooperative evaluation method means that the users think aloud and tell the evaluator about their thoughts about what is going on why something
6. www aga com se 13 RobotScript http www rwt com RWT_ Content _Files articles RWT_AJan99IR html 14 ActWeld http www alma fr cgi bin charge_frame pl 15 Grasp2000 http www byesystems com robotics robotics_index htm Publications 16 Menzies T 1998 Evaluation Issues for Visual Programming Languages The University of NSW 17 Brooks F P Jr 1987 No Silver Bullet Essens and Accidents of Software Engineering In TEE Computer 20 No 4 pp 10 19 44 Visual Programming References 18 O Brien L 1993 Issues of Programming Computer Languages 10 No 1 pp 45 52 19 Green T R G Blackwell A F 1996 Thinking about Visual Programs Colloquium of IEE Computing and Control Division 20 Meyer M R Dr 1999 Visual Programming Research Introduction and Philosophy Computer Science Department Canisius College 21 Workshop 1998 Thinking with Diagrams Workshop EPSCR ESCR 22 Blackwell A F Whitley K N Good J Petre M 1998 TwD Discussion Paper on Programming 23 Gorgan D 1999 Visual Programming Techniques Dept Of Computer Science Technical University of Cluj Napoca 24 Whitley K N Blackwell A F 1997 Visual Programming The Outlook from Academia and Industry 7 Workshop on Empirical Studies of Programmers pp 180 208 25 Blackwell A F 1996 Metacognitive Theories of Visual Programming What do we think we are doing IEEE Symposi
7. 35 Another thing Blackwell points out is that graphical information is more intuitive than text that it enables use of native intelligence 34 and provides for intuitive interaction 33 The fact that something is intuitive will make it easier to understand in other words meaning that graphical presentations are more comprehensible 32 20 Visual Programming The prototype 4 The prototype 4 1 Background ABB recently finished an investigation among 250 ABB customers in ten countries worldwide Although the customers seem to have confidence for the company the results show that ABB is not generally associated with user friendliness To get an objective idea as possible about robotic arc welding robots in general robot programming usability problems and other important background facts we have tried to get input from different points of views This means we do not only want to know what people in the robot developing business think but also what the end user on the factory floor has to say about it A field trip to Lax with the intention to hear about their development goals visions and expectations also gave us an opportunity to see arc welding in their laboratory A number of issues and problems regarding tuning and welding results became obvious during the demonstration This was followed up by a visit at Corporate Research in V ster s They are developing a way to simplify the welding process as
8. Figure 23 Evaluation part 2 Welding Configuration Expectation The idea behind the welding configuration phase is that the user gets an overview of the most important generated welding parameters without taking the risk of accidentally changing them To show only the most important parameters is in line with removing unnecessary distracting information from the user The user now sees two weldlines at a time the current and the next following line These two lines are marked with black and white colors respectively in the upper left corner image These colors are supposed to visually connect the lines to the black and white frames containing the weld parameter data in the current part and next part views Result 1 The first reaction was silence and confusion The users repeatedly tried to click non buttons and were expressively not sure how to interact with the program However this initial confusion did not last for long since all testers managed to edit and cycle through the different weldlines after no or very little guidance 2 Someone wondered were the voltage wirefeed speed and welding speed values came from since he had not set them himself 3 Another comment was that the word current was unfortunate in this context 4 All of the testers had problems with the connection between the black and white lines and their respective parameter frames but after a short explanation there
9. Related work 2 2 Programming techniques Today arc welding robots are programmed in one of two possible ways In reality these techniques are often combined which sometimes is referred to as hybrid programming The two main techniques are described shortly below 2 2 1 Online programming Online programming means creating the control program directly on the robot s onboard computer hence by manually steering the robot to different positions using a jog or similar control mechanism Each desired position contributes to the code as a number of coordinates An advantage with online programming is exactness and few later corrections due to programming the actual robot in its actual real world environment Time consuming and long production stops are mentioned as disadvantages 2 2 2 Offline programming In contrast to online programming offline programming means creating the control program on a detached unit such as a PC This involves either manual editing of code in a text editor or automatically generated code using for instance a CAD model in RobotStudio 47 or corresponding environments Once the program is ready for deployment it is moved to the robot s computer for manual correction and tuning An advantage with this method is that robots can be programmed before installation and stay in production while being reprogrammed meaning production breaks usually are significantly shortened On the other hand manual correction
10. STEEL W21 j lt i mm Sheet Type Thickness STEEL Figure 14 Example screenshot of the process data setup design The other part of the visual design was about creating logic steps for the user The basics here were e minimize the number of steps to enhance availability and overview e easy navigation back and forth between the steps e spare the user from unnecessary walking through levels and menus CURRENT PART Figure 15 Manipulated example screenshot of the welding configuration design Graphical User Interface 28 Visual Programming The prototype 4 4 5 Internal design and implementation A basic informal design of the main objects and their connection to each other could be made at an early stage thanks to inspiration of how real welding robots work A detailed schematic design of the whole prototype looks like this Welding setup Parameters Instructions Weld info Weld data Weld points Position Tuned parameters Status Tuned angles Error code WELD CONFIG Interruption Error code TUNING Position Command Solution ADVANALNI ERROR HANDLING ADVAHJALNI Figure 16 A schematic overview of the internal design Not included in the schematic is the weld point editor since it really is not a
11. There were also some remarks on what is missing or could be done in a better way For instance possibility to modify and adjust the interface and degree of difficulty and details depending on the user s skills was wished for However the overall impression was that the idea behind the prototype is very good and that it is a step in the right direction for online programming The intention and hope is that the results lay a ground for further research to make it possible for a wider range of people to program arc welding robots 43 Visual Programming References 7 References Bibliography 1 Svetskommisionen 1997 Goda rad vid aluminiumsvetsning Vastra Aros Tryckeri AB V ster s ISBN 91 630 5065 0 2 Miller Electric Training Department 1994 Gas Metal Arc Welding Miller Electric Mfg Co USA Web sites 3 Basic categories of programming languages http www rwt com 4 Sanscript http www trulyvisual com sanscript index htm 5 Dymola http www radata demon co uk dymola html 6 AMIRA Esprit project 22646 http www cee etnoteam it amira frameset html 7 KIE KUKA Icon Editor http www kuka roboter de 8 UltraArc www delmia com 9 CimStation Robotics http www adept com Silma products pd cimstationrobo html 10 ROPSIM http www camelot dk english historie htm 11 Cosimir http www irf uni dortmund de cosimir eng prospekt d welcome htm 12 Welding gas information http
12. Thickness mm x Wire Type Thickness MILD gt lat 1 0 ee mm STEEL OK Change gas type 1 Click on the gas type picture 2 In the gas type popup menu click on a gas type picture to change it and go back 3 Click CANCEL to cancel action and return to the previous value Change joint type 1 Click on the joint type picture 2 In the joint type menu that pops up click on a joint type picture to change it and go back 3 Click CANCEL to cancel action and return to the previous value When done Click BACK to return to the Weld Point Editor Click OK to continue the welding configuration Change sheet type 1 Click on the sheet type picture 2 In the sheet type menu that pops up click on a sheet type picture to change it and go back 3 Click CANCEL to cancel action and return to the previous value Change wire type 1 Click on the wire type picture 2 In the wire type menu that pops up click on a wire type picture to change it and go back 3 Click CANCEL to cancel action and return to the previous value Change thicknesses 1 Click on the desired thickness picture 2 In the thickness popup menu click on a thickness picture to change it and go back 3 Click CANCEL to cancel action and return to the previous value 56 Visual Programming Appendices The picture in the upper left corner shows the selected weld lines The black line is the current w
13. one of the most difficult tasks is learning what the commands are and how to use them To get an overview of different types of robot programming languages it is appropriate to put them in three basic categories 1 Specialized robot languages These languages have been developed specifically for robots The commands found in these languages are mostly motion commands with minimal logic statements available Most of the early robot languages were of this type although many still exist today VAL is an example of such a robot language 2 Robot library for a new general purpose language First creating a new general purpose programming language and then adding robot specific commands to it created these languages They are generally more capable than a specialized language since they tend to have better logic testing capabilities KAREL is an example of this type 3 Robot library for an existing computer language These languages are developed by creating extensions to already existing popular computer programming languages Consequently the robot languages resemble traditional computer programming languages providing the same power as these widely used languages RobotScript is an example of this type of language See Appendix E Table 1 for code example KAREL is a robot programming language from Fanuc Robotics see Appendix E Table 2 for code example gt See Appendix E Table 3 for code example Visual Programming
14. many what colors are available on the target system In the case of this thesis the fantasy is the limit and hence such specific obstacles are removed On the other hand there are more general issues that apply to all applications What happens if the user is colorblind What colors or symbols are inappropriate to use for a certain culture How detailed should the image be to provide exactly the amount of information needed intended Is the picture ambiguous A more concrete difficulty with a visual programming technique is that the environment does not fit the purpose Weld robots usually work in very noisy and dirty environments and the air can be very dusty Hence touch screens can get very difficult to interact with if the components are too small or detailed and the visual feedback may be difficult to grasp These and other questions need to be considered when creating a visual programming tool This prototype gives one suggestion for a solution however there are countless possibilities 27 Visual Programming The prototype 4 4 4 2 Approach Considering the aim of this project to create a visual tool for programming robots the GUI design became very important The basic ideas were big clear components that are hard to misunderstand and easy to interact with e not too much detail e no unnecessary information showing if not wished for e combine images with text as often as possible Wire Type Thickness MILD
15. published papers 49 Johnsson K G 1997 EWA prestudy Visit to small AW workshops ABB Robotics Products 47 Visual Programming Appendices Appendix A As part of the background research an interview as well as an end user survey was performed in an attempt to clarify how visual aids would help during the programming phase Unfortunately this survey turned out to get very little response and is not sufficient to draw any general conclusions from However the few users that answered the survey tend to have answered the same four or five questions so a summary gives at least a hint of a bigger picture Summary of the end user survey and interview Background information Participants Age Robot programming experience 3 18 to 35 6 months to 6 years What would you think about replacing occasional commands or instructions with intuitive symbols Very good Good Ok but unnecessary It would be worse Don t know 20 80 0 0 0 What would you think about having a completely visual system that guides you through the entire welding setup via a point and click interface i e everything including setting up weld points tuning the weld parameters and handle errors Very good Good Ok but unnecessary It would be worse Don t know 60 40 0 0 0 A few of the comments regarding
16. sometimes gets very extensive and a programmer is also required to write the code offline A jog is a joystick for manual control of a robot RobotStudio is a software environment created by ABB for program development simulation code generation etc Visual Programming Related work 2 3 How an ABB arc welding robot is programmed today This section of the chapter works as a short introduction to understand the principles of how to program an online arc welding robot today and is not a complete step by step guide However before this introduction it should be mentioned that today there are complete solutions that simplify the programming and use of robots These solutions are called work cells e g FlexArc Compact and consist of a robot welding equipment and software integrated in a steel cage with complete safety functionality Before starting to edit arc welding instructions the arc welding system and external axes must be configured The arc welding data that is to be used needs to be defined as well This data is divided into three types seamdata describes how the seam is to be started and ended welddata describes the actual welding phase e weavedata describes how any weaving is to be carried out The exact components of the above data depend on the configuration of the robot at the time Now the arc welding instructions can be added This can be done in the following way 1 Jog the robot to the desired
17. them it would be a great relief to use such a simple intuitive point and click system User friendliness e Good solution with the most useful functions collected in one place during program execution gets very easy to use e Database support for the welding parameters is good Also a good thing to disable not recommended process parameter combinations Contents e Possibility to switch between different tuning functions and feedback during execution would be better e Weave data parameters need to be editable e Possibility to set the A measurement for the selected joint type is preferable e Weave data parameters should be tunable e Pulse data parameters should be tunable e It would be nice to be able to change the wire stickout during program execution e The idea of synergic tuning is very useful but needs improvement Synergic tuning can be very confusing for the beginner and or for people not familiar with the synergy line Help functionality could be useful the first weeks but with possibility to disconnect it if you do not want to use it or need it e It would be very helpful and useful if the predicted result can be shown in real time e Very good to have the option to edit the generated RAPID code manually General remarks Itis a very good idea and takes the programming phase in the right direction Ifit works satisfactory it is an opportunity to entice new customers to ABB robots e General tester enthusiasm e Some di
18. weave fine torch ArcL p2 v 100 seam weld weave 210 torch AccL p3 100 seam weld weave 210 torch AccL p4 100 seam weld weave 210 torch AvcL Off p5 v 100 seam weld weave tme torch Move pHome v2500 2100 torch Figure 28 Real time tuning in the prototype SYNERGIC TUNING 31 Visual Programming Appendices Appendix E Appro lt point gt lt dist gt Approach lt point gt leaving dist mm still to move depart lt dist gt Depart from current position by dist mm Tool z axis Open Close Gripper above below Set elbow position for following movements lefty righty Change robot configuration to left or right handed Similar to above below but applies to wrist JTS Return to zero state the point at which all potentiometer values are Zero Where Find current position world mm of end effector XYZ with respect to point of rotation in Joint JT 1 It also supplies the angle of wrist joint rotation OAT This also returns the current degree of rotation of each joint relative to each zero state Here lt point gt Define a location in world coordinates of the end effector to allow the robot to easily return to a known point Tool By applying this function the end effector moves in tool coordinates such that the z axis is now aligned along the length of the gripper as opposed to the world z axis perpendicular to the ground Table 2 Common VAL commands Description Infor
19. were exclusively positive reactions 37 Visual Programming The prototype Action More conspicuous colors were suggested though as opposed to our attempt to please colorblind users After getting familiar with the configuration layout the users comments were very encouraging 4 6 6 3 Evaluation part 3 SE Change Parameters For ALL Weldparts Ea Ea Perpendicular HELP UNDO OK Figure 24 Evaluation part 3 Change Parameters Expectation In this part of the welding setup the user has the possibility to change the parameters that have been generated in an earlier step of the program The user can change the values for all of these parameters as well as change the values for some default parameters not highlighted earlier at all in the program The thought is that the combination of text and images on every button helps the user to change the right parameters Result 1 Some of the users had difficulties understanding how to change the values for voltage wire feed speed and weld speed Attempts were made to click the text beside the real button 2 The users never reflected over the images when trying to change values for the seam start and seam end data they only read the text on the button 3 Another problem the users had in this step was with the meaning of the image where they can change the push perpendicular drag angle of the weld They did not have a clue what value they
20. why this would be good or very good were RAPID is too complicated symbols are easier to memorize and keep track of than instructions would probably be faster the present menu system is complicated the abbreviations are difficult to understand would be easier to optimize the joints it would be easier to get an overall picture of what is going on visual feedback and images would definitely be a bonus Other more general comments were it would only be better if the system offered a default setup the error handling needs better feedback suggestions on how to solve certain problems would be nice 48 Visual Programming Appendices Appendix B Requirement specification Requirements Minimize programming time Hiding and clustering What you see is what you program WYSIWYP Minimize visual distractions Show only the necessary input output General welding options e MAG welding for mild steel only Support only one weld type possibility to add more types in the future Interface Intuitive Logical steps through the weld process Text and pictures Combination of text and pictures output Visual tuning in real time Tuning linked and individual tuning of weld speed weld voltage weld_wirefeed Angle Change the angle of the weld gun Visual feedback during welding e Position Display the current weld position
21. 2 4 4 Visual programming software concentrated towards the robot process industry 10 2 4 4 1 AMIRA Esprit project 22646 ninoi e E bese g inn nrg str sars rr born Nr E sr ANN RR 10 2 4 4 2 KIE KUKA Icon ECMOFososesesssosssrsrsrrrrererrsrsrsrrrerererssrsrsrerrsrs sr ses reser KR KR Res ona KKR KR RER Ks rer KRA ers r ses r nen 11 2 4 4 3 AAA tl a tea deh tl ae eset dat a i alae dace ta E canted it 12 2 4 4 4 GimSstation RODOLECS it A obey Tes ede gts EREE edna seg oS tage a iia 12 2 4 4 5 ROBSIM dit at tt ae i tation Gia ie cates Blas le hae ie ba ala iti tr th dda cat ait 13 2 4 4 6 RODOLS CHIP bee Scotts sus ste tats Ni aoe in es ache OEM incl ie Wn aetna EA E det oS sy a 13 2 4 4 7 GSP 20 00 ce LLL Bh Mh i ese da den A cdot asta etn daily Aid dd 14 2 4 4 8 C OSIMER 5 ide 14 2 4 4 9 AMV vespa dies i see cte lt rr den dera dant dere s nt Hon Br see SE REA oiled KASS hasbeen atid OO eagle 15 24410 RobotSt udio fie seo 8 Giese RE abe Ee UE BE atin 15 2 3 CONCLUSIONS 353222055 rede r S der grep sa E E A conch T E A NRS 15 3 VISUAL PROGRAMMING 5s0ossovstsssses esssvssssvsnsos nssssosvspensssvsnsspssedervossnsossossesssresvsnessesdessesesbarersosssssessepesierenes 16 3 1 INTRODUCTION cani oo 16 3 2 A E 17 3 2 1 Is Visual Programming always better o c ccccecceccccesesseesetseeeecuseescesessceseceeecusseecnseeseeseeieeaeeneeeeeneeeten 17 3 2 2 Known Visual Programming difficulties cccccccccccecesssesetssesecuseeseusesseusesseeecs
22. Institute of Robotics Research GER Industrial Robot Language Kuka Robot Language MovemasteR Command 14 Visual Programming Related work Its structure is modular and can be configured with different packages and modules making it possible to extend COSIMIR for new requirements e g by adding additional modules for further programming languages or for the up and download from to specific robot controllers 2 4 4 9 ActWeld ActWeld 14 is an offline programming development environment that similarly to amongst others RobotStudio imports CAD CAM models to allow for the programmer to program the robot graphically ActWeld supports basically all robots in the market and claims to be able to take all necessary parameters into consideration 2 4 4 10 RobotStudio RobotStudio is ABB s own software tool for simulation and offline programming of robots It is built on the ABB VirtualController an exact copy of the real software that runs the robots in production and hence provides very realistic simulations using real robot programs and configuration files 2 5 Conclusions The extensive search for different modern visual robot programming environments provided a voluminous number of interesting software applications that confirm what was stated in 1 1 Background a majority of them are offline based A closer look at each one of them shows that many of them are very similar to each other in many respects The use
23. SD Uy JA ERER M LARDALENS H GSKOLA FPAUIDID Department of Computer Science at M lardalen University ABB Automation Technology Products Supervisor Rikard Lindell AB Robotics Examiner Peter Funk Supervisor Ralph Sj berg Visual Programming Simplified online programming of arc welding robots Master Thesis 20p in Computer Science Department of Computer Science at M lardalen University V ster s Sweden January 2002 Authors Mikael Johnsson Andreas Ormo Visual Programming ABSTRACT This paper presents the result of our Master thesis work at ABB Automation Technology Products AB Robotics performed late 2001 and early 2002 ABB sees the potential in the visual programming field and is interested in investigating if it is possible to develop something new or improved for manufacturers that have not got the possibility or knowledge to use RobotStudio These customers program in the old fashioned way online The main purposes with this thesis are to show the principle of visual online programming by making an intuitive robust simple and usable prototype connected to present online programming methods as well as to investigate the state of the art in visual programming today The prototype has a straightforward intuitive user interface and the navigation is simple Unneeded advanced features are hidden and the use of necessary ones is simplified and automated to make it possible for a wider range of people to pro
24. Systems p 2 38 Brown M H Sedgewick R 1984 4 system for algorithm animation SIGGRAPH p 178 39 Chang S K Ungar D Smith R B 1995 Getting Close to Objects Visual Object Oriented Programming Concepts and Environments p 186 40 Green T R G Petre M Bellamy R 1991 Comprehensibility of Visual and Textual Programs The Test of Superlativism Against the Match Mismatch Conjecture Empirical Studies of Programmers Fourth Workshop pp 121 146 41 Moher T Mak D Blumenthal B Leventhal L 1993 Comparing the Comprehensibility of Textual and Graphical Programs The Case of Petri Nets Empirical Studies of Programmers Fifth Workshop pp 137 161 Manuals 42 ABB NDT Training Center 1996 Svetskompendium ABB NDT Training Center V ster s 43 ABB Flexible Automation Handbook ArcPack ABB Robotics AB V ster s Article number 3HAC 5681 1 43 ABB Flexible Automation RAPID ProcessWare ABB Robotics V ster s Article number 3HAC 5715 1 44 Table of Contents ESAB MAC 2000 46 Visual Programming References CD ROM 45 ABB Automation Inc 2001 Virtual FlexArc ABB Automation Inc Welding Systems Division Fort Collins USA 46 ESPRIT Project 22646 1999 Advanced Man Machine Interfaces for Robot System Applications AMIRA Fraunhofer IPK Berlin Germany 47 ABB Robotics AB Industrial Software Division RobotStudio Video tape 48 ESAB MAC 2000 Not
25. With this in mind a prototype was created using Visual Basic since it is a language that allows for simplicity and speed to create very much in very little time Another thought behind the choice of Visual Basic was that it is easy to make changes and easy to remove or add functionality if needed These qualities allowed for a rather functional prototype which was of importance since we were able to introduce most of our ideas and get lots of creative feedback at the user evaluation There are several improvements to the prototype concerning ease of use Unneeded advanced features are hidden and the use of necessary ones is simplified and automated It has a straightforward intuitive user interface and the navigation is simple The results from the user evaluation also contributed to these conclusions With that the prototype gives a straight answer that it is very much possible to build an application using visual programming techniques Altogether it is shown that by using simple means and already available technique existing applications can be greatly simplified Since the prototype does not follow any ABB standards there are several technical problems to solve before the ideas can be used to their full extent Integration with and adaption to an existing low resolution system would for example be a difficult task if there were strict limitations to screen size and color depth Consequently the prototype itself cannot be applied on th
26. amelot ROPSIM 10 is a PC based model driven robot simulation system with 3D visualization The simulation is performed virtually and allows production simulation on screen It is a robot programming system for use in design layout production and maintenance of work cells in integrated production systems ROPSIM is e Developed for Microsoft Windows e Able to reuse CAD models and simulate 3D robot programs e Drag n drop programming Robot supplier independent The program has been developed with the focus of simplifying offline programming of robots Programming is graphical and supported by CAD models It has a project oriented approach Models and robot programs are combined in projects for easy program usage ROPSIM is open for integration with third part software In ROPSIM programs can be built in two different ways interactively graphically or textually Interactive programming is utilized for programming of movement while program logics are programmed using the latter ROPSIM has interfaces for several robot vendors controllers The interface can consist of a text file on a disc a network connection or through direct communication via the serial port of the PC In other cases a post processor is used so that robot programs developed in ROPSIM can be transferred to the robot s controller 2 4 4 6 RobotScript RobotScript 13 should get a category of its own since it is not really a graphical environment for vis
27. amming systems that support 3D models created with CAD tools The system exists in two versions one basic version supporting most common robots and robot programming languages and another version developed together with Toshiba specifically for their robots In addition to standard functionality among this kind of products such as collision detection reach validation and numerous system checks Grasp2000 claims to be offering features that other offline programming systems do not extraordinary calibration software for calibrating the 3D model and mapping it onto the real world Further it needs no external measuring equipment to be set up but requires only a few robot poses as input for calibration and analysis Grasp2000 is available for the Windows and UNIX platforms 2 4 4 8 COSIMIR COSIMIR 11 is a 3D robot simulation system much like RobotStudio It can be used to check position reachability of all positions as well as plan and simulate whole work cells This means that not only robot motion but also the interaction of the robot with the environment e g gripper and transport actions is realistically simulated COSIMIR supports several robot programming languages for instance IRL V KRL RAPID MRL etc and can generate programs in the chosen programming language automatically Universal Robot Controller is an open architecture PC based robot controller Developed by Bygsystems limited GB gt Developed at
28. ape Select a weave shape in and plus signs in the popup window that appears to the popup window to change it and go change the desired values back Click the weave button to change the Seam Start Seam End Click the SEAM START button to change the values for ignition voltage ign_ voltage and ignition wirefeed ign wirefeed Click the SEAM END button to change the value for burn back time bback time In both cases use the minus and plus signs in the popup window to change the values al Change Parameters For CURRENT Selected Weldpart Torch distance push drag angle work angle To change the values for torch distance push drag angle or work angle just use the minus and plus signs next to the appropriate picture When done Click UNDO to RESET all changes and return to Welding Configuration Click OK to APPLY all changes and return to Welding Configuration 58 Visual Programming Appendices Welding Configuration Completed Click BACK to go back to the Welding configuration Click VIEW CODE to see the generated RAPID code Click OK to proceed to the simulation phase Welding Configuration Completed 2 Start the welding simulator A BACK VIEWI amp ODE al Welding Configuration Completed Start welding simulation MoveJ pHome v2500 z100 torch ArcL On p1 v100 seam weld weave fine torch ArcL p2 v100
29. ation offline program Simulation offline program Macro like robot program visual textual robot language Simulation offline program Simulation offline program Simulation offline program Simulation offline program Visual Programming Related work 2 4 3 General purpose prototypes and software Applications presented here are to be considered general purpose visual programming tools They are intended for various industrially related tasks such as the robot industry but need not be used specifically for programming robots 2 4 3 1 Sanscript Sanscript 4 is a visual dataflow programming language and development environment Scripts called flowgrams are assembled from graphic functions connected together in dataflow like diagrams Sanscript is for professionals that aren t programmers but need to throw a script together now and then to get their job done Functions are the primary components of Sanscript Functions are represented by icons that include labels inlets data entry points outlets where data leaves the functions and other appropriate symbols The icons indicate the action of the function The pre made functions include drive path directory and file management text and string handlers integer and decimal number tools system utilities and user interface components There are also functions for working with the Windows Registry data lists and compound data records Sanscript also i
30. changed when the minus or plus sign was pressed 4 Another question the users had in this step was how value s were changed when editing all parts simultaneously 38 Visual Programming The prototype 4 6 6 4 Evaluation part 4 O 28 5 11m min 8mm s O 28 11 m min Smm s i 26V 9m min 15mm s O 20 Em min 15mm s O 19 4m min 12mm s Tuning SYNERGIC TUNING AHAOSNHO pany zeH ET 2100 torch Perpendicular ArcL40n p1 v100 seam weld weave fine torch ArcL p3 v100 seam weld weave 210 torch Bel ArcL p4 v100 seam weld weave 210 torch AccL p5 v 100 seam weld weave 210 torch AvcL p6 v 100 seam weld weave 210 torch Da ArcLp v100 seam weld weave 210 torch ArcL p8 v 100 seam weld weave 210 tor Figure 25 Evaluation part 4 Real Time Tuning during program execution Expectation The idea is to gather the most common or commonly wished for real time tuning options in one single window Intuitive interaction and clear visual feedback for every interaction were also kept in mind during design Result 1 The first thing that was commented was simply the great idea of having all tuning options in one place accessible during the whole welding process In connection to this the testers mentioned how difficult it is to switch to tuning and actually have time to do any tuning with the current system 2 Another appreciated aspect was the possibility to tune angles in r
31. culties and problems to solve with VP it is still necessary to consider the opportunities in a longer perspective In the perfect case the programmer s job is made significantly easier With syntactical problems removed the programmer can focus on program design and what the program is supposed to do the semantics This should lead to a reduced development time but at the same time improved software qualities For the remainder of this paper textual languages might be referred to as TLs This problem is sometimes referred to as the spaghetti plate syndrome 17 Visual Programming Visual Programming 3 3 Theoretical background 3 3 1 There are a few difficulties doing theoretical research on VP To begin with there seems to be almost an inner circle of researchers who seem to attend every meeting or conference available and whose names are repeatedly cross referenced from each other s papers and journals Put differently a majority of the documents concerning visual programming tend to be influenced by a minority of people in one way or another It is hard to tell what impact this may have on the results presented Moreover many of the theories stated do not have proper experimental studies to back them up also implied by 21 amp 221 they are merely opinions or visions of the author Based on these conditions the theoretical research presentation is presented as actual studies results on one hand and authors
32. d_voltage can be tuned using the weld data tuning function When tuning this way it is always the present value that is changed however the original value can also be updated i e it can be set to the same value as the present value Manual functions during program execution Certain data can also be tuned while it is active i e when the program is executing however only the present values can be tuned The original values can be altered only when program execution has been stopped Example of arc welding instructions Data for the start and end sequences of the weld Arguments for flying start Data for the ongoing weld of the process Data for weaving ArcL on p1 v100 sm1 wd1 wv1 fine torch AA a j 7 L Linear C Circular Arguments as in the MoveL instructions MoveJ p10 v100 z10 torch ArcL On p20 v100 sm1 wd1 wvl fine torch ArcC p30 p40 v100 sm1 wd1 wvl z10 torch ArcL p50 v100 sm1 wd1 wvl z10 torch ArcC p60 p70 v100 sm1 wd1 wvl z10 torch ArcL Off p80 v100 sm1 wd1 wvl fine torch MoveJ p90 v100 z10 torch Figure 2 Arc welding instructions in RAPID Visual Programming Related work 2 4 State of the art 2 4 1 Approach As mentioned earlier VP is a rather wide concept In this case however state of the art visual programming systems are only interesting if they are applicable to robot programming This approach turned out to present two types
33. dera systemet map anv ndbarhet enkelhet och effektivitet och realiserbarhet Arbetet utfores lampligen av en eller flera studenter som i projektform tillsammans med oss arbeta fram en kravspecifikation och implementerar en prototyp Arbetet b r genomf ras i ABB Robotics lokaler eftersom all utrustning och programvara som beh vs finns d r 54 Visual Programming Appendices Appendix H This section serves as a user manual to the prototype The steps are explained in natural order Si Weld Point Editor FE ES Mark Arcs with Gyro Pen Start off by selecting one of the shapes pictures To select a weld line 1 Click in a corner you get a red circle in the corner to select a starting point for the weld 2 Click in a second corner to set a finishing point to a Select drag push angle the weld the selected line turns red 3 In the select drag push angle menu that pops up click on a picture to select a desired standard weld angle 4 To select more weld lines repeat step 1 3 To deselect a weld line 1 Click in any corner you get a circle in the corner connected to the weld line you want to unmark 2 Click in the second corner of the weld line to unmark the line line turns grey again When done Click OK to continue your welding configuration 55 Visual Programming Appendices al Weld Process Data Joint Type Gas Type R CO 8073 BACK STEEL a eet Type
34. destination position 2 Open the instruction pick list by choosing IPL1 Motion amp Process 3 Select the instruction ArcL or ArcC The instruction will be added directly to the program as illustrated in Figure 1 The arguments are set in relation to the last arc welding instruction that was programmed The instruction is now ready for use However if an argument needs to be changed it can be replaced by another File Edit View IPL1 IPL2 Program Instr WELDPIPE main Motion amp Proc 1 2 ArcL On v100 Sml wd1 wvl z gt ArcL Off v100 Sml wdl wvl z gt 2 AreC 3 ArcKill 1 ActUnit 4 ArcL 5 ArcL Off 6 ArcL On 7 ArcRefreah 8 DeactUnit 9 More y Copy Paste OptArg ModPos Test gt Figure 1 RAPID instructions on the teach pendant See 43 for further information Visual Programming Related work When finished adding arc welding instructions it is time to go on with the arc welding topics The topics contain parameters that define the arc welding functions The units used when the parameters are entered The process functions used The current equipment The weldguide sensor being used When the setup is complete and the program is running there are two ways of tuning the weld data components A short description of how to do it both ways follows Manual functions when program execution has been stopped Certain weld data components weld_speed weld_wirefeed and wel
35. e KUKA Icon Editor www kuka roboter de webc re_engl index html 11 Visual Programming Related work 2 443 UltraArc UltraArc 8 is a simulation and offline programming solution with calibration tools that let users adjust the simulation model to accurately reflect real world device relationships The interface lets programmers easily modify robot devices to achieve very accurate robot motion results UltraArc holds a library of arc welding robots and weld guns including the latest robots from ABB Fanuc and Motoman It also includes a built in CAD package to create custom work cell components and supports direct import of CAD files via IGES DXF and direct translations Robot programs can then be automatically generated from information contained in weld details There is also support for robot controller specific weld process information seam tracking seam searching speeds currents voltages etc Figure 7 UltraArc www delmia com 2 4 4 4 CimStation Robotics CimStation Robotics 9 is a program much like RobotStudio The major difference between these two products is that CimStation supports many different robot suppliers and their products Developed by Delmia worldwide Developed by Silma a division of Adept Technology Inc 12 Visual Programming Related work 2 4 4 5 ROPSIM This virtual production system is a result of a research environment at DTU and IKS after further development by C
36. e teach pendant unit in its current performance Although it is important to look at the prototype merely as a tool for presenting a concept and an idea in this matter there is an example of what it might look like if it actually could be applied on the teach pendant unit in Appendix C Another purpose with this thesis was to present a summary of the state of the art within visually aided software applications available on the robot programming market up to date The extensive state of the art search shows that visual online programming tools for arc welding robots are rare The only such tool that was found was the KIE or the KUKA Icon Editor In addition the tools that were found almost exclusively concentrated on building a program using a flowchart approach Instead of repeating these ideas and focusing on replacing RAPID code instructions with a visual symbol on a 1 1 or even n 1 relationship basis we took the abstraction one step further and completely removed the obvious connection to RAPID instructions The people who participated in the user evaluation were of varying age and experience levels but they were all inspired and encouraged by the concept with a graphical tool for 2 4 4 2 KIE KUKA Icon Editor 42 Visual Programming Conclusions online programming To reflect a few of the participants thoughts the combination of images and words throughout the application should be a big help for the beginner
37. e way but does not today will not be mentioned as a disadvantage Advantages There are several improvements to the prototype e Concerning ease of use it has a straightforward intuitive user interface with big and understandable components that combine text and images e The navigation is simple just back and forth which is made possible thanks to the wizard like step by step setup e There is topic related help available at all times e Undo and cancel options at every possible point of changing the data e Programming arc welding robots is an advanced thing to do There are lots and lots of parameters that need to be set up and set right to get an acceptable result However there are also a lot of parameters and coding possibilities that are available but do not need to be set up For example the small company with its low quantities probably needs merely the basic features of the arc welding system The main idea here is to show not too much detail or information at once The prototype therefore hides unneeded advanced features and simplifies and automates the use of necessary ones At the same time advanced users are allowed to manually edit the resulting RAPID code e To relieve the user from as much low level editing as possible the prototype uses a database containing welding information to generate welding parameters depending on the users welding process setup This provides the user with a default setup hopefully re
38. eal time None of the testers had any visual interaction or comprehension problems at all however it was stated that the synergic tuning feedback via a plotted curve might be too advanced for the common operator Positive remarks were given to the result calculation The actual response to the tuning phase was rather close to the expected response 39 Visual Programming Future work 5 Future work Proposals for future work e The visual interface should be designed by expert designers graphic artists to reach the best results Component design is more difficult and important than often given credit for Better dynamics in the visual feedback is also desirable The path programming phase the latest technique should be used to get the weld points into the system A gyro pen which unfortunately merely is a future technique at the moment or some similar technique is optimal and was also referred to in the current prototype Visualization of these weldpoints is also interesting since it if combined with the possibility to configure weld data by selecting deselecting them by touch gives the user an even more intuitive and powerful tool The tuning phase better synergy tuning opportunities and possibility to tune the weave data as well as to adjust the weld gun diagonal offset to the weld point for improved results The error handling phase an error handling system that monitors and indicates different weld collision and proces
39. easiest possible way In relation to this ABB Robotics wants to offer their customers innovative advanced products that are experienced as user friendly in the meaning that they are very easy to learn to deal with and use The simplification is intended to substantially decrease the programming and startup time considerably for the customers an improved programming time from e g 3 weeks to 3 days or 3 days to 3 hours is by no means impossible The bottom line is that a robot that is not working properly or not working at all means losing thousands of dollars every minute for a multinational company and is not acceptable in any way 4 3 Goals The best way to describe arc welding robot programming today and what part of it this thesis focuses on is perhaps with an overview relation chart Simplified robot programming Offline programming Customer must have computer nowledge Synergism between these two Simplicity Programming amp administration All functionality Online programming Simplified programming 80 Path programming skip Process programming Logical programming 20 Find the most important functions in arc welding for the small user and improve the usability for them Visual programming graphical Figure 9 Schematic overview of the thesis project The nodes Offline programming and Online programming describe the two ways of pr
40. ed system consisting of many parts Ease of use and efficiency are strong user demands ABB s robot simulator RobotStudio that allows manufacturers to program their next job without interrupting the one currently in progress is starting to attract considerable attention from both large and small companies In some cases it is halving the time for products to come to market and is cutting costs by up to 30 percent according to customers This is the reality today Customers large or small that have the funding knowledge and technique use the latest technology Virtual programming with RobotStudio allows companies to accept big contracts that would have taken a robot off the daily grind for long bouts of manual programming and testing In order to achieve simplification and efficiency in future use of arc welding robots there is a need to investigate the possibilities to make use of a graphical description of the controlling program as well as the process information To create a graphical description visualization lies within the boundaries of something called Visual Programming VP research is a very wide concept with many concentrations of which only a few are of interest in this case fundamental research industrial research in general and if possible special attentions towards the robot process industry 1 1 Background The majority of all visual robot programming tools today are offline based The big customers e g ca
41. eds no detailed explanation of its implementation It is to be thought of as an application run on the teach pendant unit It is hence merely an interface between the user and the robot and is best described with a schematic TUNING ROBOT OUTPUT INPUT Eoo G Weld angle Y Result State SYNERGY Progress Drag push Drag push SYNERGY Weld angle Y Y Volt Wirefeed speed Weld speed Volt Wirefeed speed Weld speed Figure 20 The tuning module The input is sent to the robot meaning the visual output is not updated until the next interrupt occurs when the robot sends the information back to the tuning module This is not an optimal solution for the prototype since the delay might be experienced as if the input was not registered but the principle of having communication between the teach pendant and the robot was preferred to instant output just to get a better sense of reality Tool Service Center an automatic cleaning and recalibration tool 31 Visual Programming The prototype The final part of the simulation phase is the error handler Error database Solution database OUTPUT I ERROR HANDLING Progress Error type Solution suggestion Resume welding
42. eeecnseesenseeseeaesneeeeeneeetens 17 3 2 3 gt Why Visual Programin AR 17 3 3 THEORETICAL BACKGROUND curia 18 33A PPFORPAMMEL SUIVON it oben pony stele a AA dite candy A E e rr 18 332 cRESCOLPCNETS ANCORA A Cuneta beer ed 19 4 THE PROTO LY PE i s vs ovtseveosussassssssvessssssssvesssvsssoviossssusssvtovsseneosdenpsb esedsseensensresesnssssessseerbindsabesierenssssesesssssseres 21 4 1 BACKGROUND initial da A 21 4 2 VIRIONS is ccs stivcice steeds sesh sets ice be cea ida daa dei 23 4 3 GOALS dni dad a a E e RES 23 4 4 APPROACH nacio adoos 24 LAT GENERAL A ES CAIDO A A A AA A eE E RENEE 24 AAD Requirements A A A ii 25 AAS WORK A sa vette Gr rer so FASS NASSA atc ee Minas MSs Nees Bae aa Messi cate oie MAA Fes bas r SS 26 4 4 4 Graphical User Interface desi gni ccccccccssccessescssesscetesseeecseesecuseeeceseeseesecseesecsesseeseseeeecteeeeeaeeseeaeeeten 27 4 4 4 1 Issues when creating a prototype for programming arc welding robots visually 27 4 4 4 2 ADDU OGM A E A A a Beta cbse Noe 28 4 4 5 Internal design and implementation ccccccccceccecessceseeseeteesseeecnseescusecseeseceeecueeesenseesensecseeaesneseneeeetees 29 4 5 PROSAND CONS E tri a ou tex onesies bibs cu Von ea eon cole AVES Ein 33 BSD LAVAN TES A A A A EA oS Ree BEE Ds as 33 43 2 4 DISAAVANIAGES aia A A e a re Be SR dE Ree ia 34 4 6 USEREVALUATI N voir a a Oca 35 46I Evaluation results A A A SR ATA RES 36 466 1 Eval ation POTES ie a iea A 36 Visual Pr
43. eld line the white one is the line following the current weld line All remaining weld lines are grey a Welding Configuration Aa ES CURRENT PART NEXT PART 10 45 0 45 s Push Perpendicular 28 t 18 0V 18 0V 2A CE mm 5m min 5m 4min Aor U eory AUL PARTS CURB WEAVE Ce 18mmi s Y 18mmfs Welding configuration data is shown for the current and the next weld lines EDIT CURRENT By clicking on the EDIT CURRENT button you will enter the manual weldpart editor Changes to the parameters will only apply to the CURRENTLY SELECTED WELD LINE which is marked as a black arc in the top left corner EDIT ALL PARTS By clicking on the EDIT ALL WELDPARTS button you will enter the manual weldpart editor Changes to the parameters will apply to ALL WELD LINES which is indicated by all arcs being black in the top left corner This should be done before editing the individual parts PREV NEXT By clicking on the NEXT or PREV buttons you can step through all of the weld lines one at a time and see the weld configuration for them in the CURRENT PART and NEXT PART displays When done Click BACK to return to Weld Process Data Click OK to finish the welding configuration 57 Visual Programming Appendices Weld Data Weave Shape Click the button to change the values for voltage wirefeed speed and welding speed Use the minus weave sh
44. expectations and results to each step Each step is illustrated with a screenshot of the actual prototype 4 6 6 1 Evaluation part 1 Joint Type Wire Type Thickness Corner MILD gt Joint STEEL se Gas Type AR co atl 20 HELP BACK OK Figure 22 Evaluation part 1 Weld Process Data Expectation The idea with this step is that the user selects a parameter from each one of the available types joint type gas type wire type wire thickness sheet type and sheet thickness The concept of the pictures is to simplify and help the user to see what to do and what happens when a button is pressed The text over the buttons should guide the user right if they do not understand the picture alone A comment to this step is that it is not necessary for the user to do the selections in a special order Result 1 A problem that arose was that the users thought the wire type button was actually two separate ones depending on the vertical line in the middle of the button 2 Another problem in this step was hesitation on what to do and how to interact with the program 3 Confusion whether the selections need to be done in a certain order or not Action It is a small problem and can be solved easily with education of the users 36 Visual Programming The prototype 4 6 6 2 Evaluation part 2 CURRENT PART NEXT PART 45 10 y Drag Dr Prev e ey 7 M 11m min eee eae ee BACK OK
45. gram arc welding robots A user evaluation with people inside ABB is also carried out and the result about how these people understand the prototype is presented The result from the user evaluation can be used as input for future development projects with focus on visual programming Some of the comments from the test persons were it is a very good idea and takes the programming phase in the right direction and if it works satisfactory it is an opportunity to entice new customers to ABB robots http www abb com robots Visual Programming ACKNOWLEDGEMENTS First and foremost we would like to thank Ralph Sj berg and Lars Barkman at ABB Automation Technology Products AB Robotics for their continuous support guidance and technical information A big thank you also goes to Lars Dahl n and Henrik Lander for giving us a good start We would like to thank Rikard Lindell and Peter Funk at IDt for giving us a push in the right direction every once in a while Thanks to Peter and Jonas at Segerstr m amp Svensson in Eskilstuna for taking their time to show us the production and participating in a survey A special thank you also goes to Lars G Karlsson and the three volunteering prototype testers in Lax Thanks to the following persons for answering our sometimes stupid questions and for helping us getting valuable information or contacts G ran Manske Anders Lundell Henrik Ryeg rd Martin Strand Ahmed Kaddani K G Johnss
46. happened etc The users also tell the evaluator how the system is understood and what can be seen on the screen and so on The users and the evaluator can ask questions too each other during the whole process With this method the users feel more comfortable with themselves and have the courage to criticize the system Observation data during every evaluation moment is written down in a protocol There was a surprisingly positive attitude among the testers They were of varying age and experience levels but they all seemed to be inspired and encouraged by the concept with a graphical tool for online programming On a detailed level there were of course a lot of remarks on what the prototype lacks and what could be done in a better way However the remarks were of very differing natures There seems to be as many opinions on what is useful necessary good bad or stupid as there are individuals The remarks reflected this and were sometimes contradictory In spite of all that the overall impression was that the idea behind the prototype is to take at least one step in the right direction The evaluation results can be viewed in the next section and a summary of the users comments during the evaluation can be viewed in Appendix F Also known as the walk through method 35 Visual Programming The prototype 4 6 1 Evaluation results The results are presented as a step by step presentation of the prototype with the evaluation
47. iate and obvious than other programming techniques Some researchers even believe that VP is easy to learn easy to use to write understand and modify even without training However as with VP in general there is little research that has investigated the relative speed of learning to program and a claim of competence without training whatsoever seems unlikely 25 According to Chang et al it was often stated that people find it easier to deal with the concrete than the abstract solutions are easier to perceive if abstract information is converted to a concrete i e visual form 39 Brown and Schiffer agree to this by pointing out that pictures are good at showing abstraction 38 or communicate a higher level of abstraction 36 In addition there is extensive general research showing that concrete words are easier to remember than abstract ones 31 while others say that abstract data is challenging for visual programming exactly because it is not naturally visual 37 In a study Blackwell noticed that several writers have mentioned how VP helps to express problem structure 25 This was implied earlier by Schiffer stating that relationships are more explicitly represented and easily recognized in pictures than in text 36 These theories have further support in Larkin and Simon s cognitive model of diagram use in problem solving where locality and topological connections between elements reduce the need to label corresponding items
48. igure 10 A comprehensive prototype description The prototype can be thought of as five parts 1 The first part is a weldpoint editor that really has nothing to do with the prototype itself Its only purpose is to create a few virtual points in 3D space that are necessary for testing of the following parts of the prototype 2 The second part consists of four steps of which three are unavoidable to the user These steps let the user set up the weld process parameters as well as robot specific data such as work angles torch distance speed and so on 3 The third part of the prototype comes into action once the welding setup is completed This is the robot simulation phase that is used only to show how the tuning and error handling modules are intended to work and is actually just a small state machine representing a few actions of a very simple robot 4 The fourth part is the real time tuning module that is part of the robot simulation phase 5 The last part of the prototype is the error handling module This is also a part of the simulation phase See Appendix D for a screenshot of the prototype real time tuning module 24 Visual Programming The prototype 4 4 2 Requirements Although the prototype is to be seen as an experiment to point out the possibilities and obstacles with using a combination of words and pictures the thoughts behind the design should be of some interest The final requirements used in the prot
49. ions of programs tend to quickly become very big In addition many visual environments use arcs to connect nodes flowchart style resulting in lines going back and forth across the screen the combination of the two makes overviewing hard An issue that VP researchers often have to struggle with is the difficulty of proving any of their theories in real life it is hard to do reliable surveys to back them up leaving a great need for empirical results on whether visual representations improve the programming process or not This is a well known problem in the VP community also referred to as the evidence problem 24 Another problem that might seem peculiar and irrelevant is the classical resistance among programmers to adapt to new programming techniques and in particular the use of visual ones Brooks writes regarding graphical and visual programming for software development Nothing even convincing much less exciting has yet emerged from such efforts I am persuaded that nothing will 17 O Brien agrees by writing beware the claims of visual programming Drawing lines between objects becomes bafflingly web like Purely visual programming is not yet and may never be viable 18 These extracts are just examples to show a bigger picture so on the contrary it is of great importance to take this issue into consideration when developing visual programming environments Why Visual Programming Despite present diffi
50. l commands and instructions used in text based languages like e g RAPID The result was a visual programming environment on a point and click basis that was tested and verified in industrial environments and thus created the foundation for the KIE Global Setting of Coordinate System Values are vald until rest global Settings se SELECT Jag smrt Figure 5 Screenshot of AMIRA the precursor of KIE KUKA Roboter GmbH GER founded 1898 in Augsburg 2 4 4 2 KIE KUKA Icon Editor 10 Visual Programming Related work 2 4 4 2 KIE KUKA Icon Editor Based on the AMIRA project KUKA developed an online visual programming system called KIE 7 As with its successor the idea is to relieve the end user from syntactic work and focus on the higher level logic and task goals Instead of writing lines of code in a text editor the programmer selects the proper icon and inserts it in a flowchart like environment KIE also allows direct manual textual manipulation of the code to satisfy needs of both beginner and experienced programmers Considering that KIE uses icons to represent programs there is a risk as with all visual graphic environments that the working space might become very immense and detailed In an attempt to maintain the overall picture no matter the complexity of a program KIE also features an overview window with zooming functionality Figure 6 KIE Th
51. ld configuration is something similar to the figure down below It is only to be seen as a first draft of how the application can be done in a different way and not a complete design on how to do it Weld process data a mixture of pictures and text in all process data Weld configuration Push Corner Joint Work Joint Drag and drop angle sdk Hoe Perpendicular Drag Push Butt Corner T Lap Joint Joint Joint Joint Sheet type How to create a weld configuration Create a new weld configuration Drag and drop weld process data into the weld configuration folder eWhen the weld process data folder is black enabled When the weld process data folder is grey disabled Change the weld configuration Change weld parts by dragging it back from the weld configuration folder and drop it into the weld process data folder Select a new part drag and drop it into the weld configuration folder The weld configuration is finished when all weld process data folders are disabled 41 Visual Programming Conclusions 6 Conclusions The purpose with this thesis was not to create as much functional program code as possible nor to build a fully functional application Instead 1t was of importance to show whether it is possible or not to build an intuitive simple and straightforward application using visual programming for the robot arc welding industry and to make this process easier on the user
52. lf teaching basis Can he she read That might seem like a stupid question but the truth is that not all countries have well educated labor Anyway depending on the answers the user has totally different needs and demands on the system An advanced and experienced user may and this was discussed earlier prefer having access to every programming detail there is in order to create as fast and accurate welding cycles as possible The user might also be an old school programmer and be very resistant to using a visual programming technique On the other hand the beginner might be overwhelmed by all the functionality provided in the programming language or the user interface Once decided to make the programming easier by using visual programming there are well known issues to think about Can pictures replace all textual parts Probably not Not all words can be described by concrete objects and making abstract pictures can make things even more difficult for the user Also if a picture replaced every word the screen would soon be filled with pictures high and low making a detailed mess incomprehensible to the user A related question is if a picture always makes actions more intuitive even if there really is an appropriate image for a word or bunch of words The image alone requires a paragraph of itself Depending on what the system is to be used for there are of course different demands on the picture For instance one could ask how
53. lieving him of editing every weldline separately e Another suggestion for simplified use is the real time tuning phase The prototype provides quick access to tune the most common parameters such as voltage wirefeed speed welding speed work angles etc The intention and hope is that these advantages together make it possible for a wider range of people to program arc welding robots since a user does not have to know everything about programming in RAPID nor everything about the process phase 33 Visual Programming The prototype 4 5 2 Disadvantages There are also a number of drawbacks with the suggested prototype even when unimplemented features are not considered e First of all since it was created using the imagination is the limit principle the prototype does not follow any standardized design or layout patterns e This version requires quite some screen space high resolution and many colors to provide an intuitive interface Integration with and adaption to an existing low resolution system might decrease the usability in several ways Designing the GUI images layout colors etc in a final application could hence be a difficult task if there are strict limitations to screen size resolution and color depth e A possible problem of more general type is that the prototype offers a new way of programming This may not appeal to experienced users as desired and was mentioned earlier as the classical problem of
54. m2 KAREL RobotScript Joint Motion MOVJ SMOTYPE JOINT MoveJointTo MOVE TO Turn on DOUT OT 12 ON DOUT 12 ON SetDigitalOutput output r 1 Addition ADD 112 113 X 112 113 X 112 113 Table 3 Comparison of Robot Language Syntax 52 Visual Programming Appendices Appendix F The user evaluation was performed on three persons with knowledge about arc welding robots and how to program them Here is a compilation of the most common actions reactions and comments these test users had gathered under a few larger subcategories Layout text pictures and colors The text was often read before or even instead of looking at an image e There were overviewing difficulties with the welding configuration part of the setup Difficulties to connect the black current and white next part with the correct part data The word current is an unfortunate choice since it has ambivalent meanings in this case e The combination of images and words is a good help for the new user e Some buttons are hard to discover The users frequently tried to press non buttons e Insecurity about whether actions must be performed in a certain order Intuition e Easy to understand the images and the actions behind them in the process data setup even if you don t know anything from the beginning e Many of the older robot operators who are used to S3 do have the welding knowledge but know nothing about computers To
55. n stage was reached Once the logics were in order the internal prototype design could be put together providing a very good ground for the next step the prototype implementation The development approach was of an iterative nature o E 1 2s 3 Implemented functionality Not yet implemented functionality Figure 13 The iterative model The requirements were then portioned into modules by functionality The base for the prototype was created 1 e a shell consisting of all the steps described in the general description was put together but without any contents Functionality was then added to the different steps in gradual stages 4 4 1 General description 26 Visual Programming The prototype Along with added functionality the prototype was repeatedly tested on the same people at ABB as the design sketches were The testers comments were then taken into consideration when modifying the prototype 4 4 4 Graphical User Interface design 4 44 1 Issues when creating a prototype for programming arc welding robots visually There are a lot of things to take into consideration when trying to make the programming phase easier on the end user For starters we should think about who the end user is what is his her background like Did he or she know about programming or welding before he she started using this workstation or is he she working on a se
56. ncludes functions for OLE DDE that provide a mechanism to work with objects in other applications There are over 200 functions provided 5 Sanscript Professional Edition Hello World lel ES E File Edit View Insert Run Catalog Window Help la x slala zel 0 ojala nal elelee eje ees Program B s Since a General a 5 Examples and Templates Display Message C Batch Examples A constant A component that displays a message HE Example Functions Math Quiz Simple Examples H E System Examples H E Templates Component Directory E USER alla 2 D Y Do you want Hello World to say hello Fibonacci Compound Test An Open Component Cabinet Interest Progress Bar The data flows down this link at runtime READY 100 4 Figure 3 Sanscript www trulyvisual com sanscript tour sample htm Developed by Northwoods Software Corporation USA Visual Programming Related work 2 4 3 2 Dymola Dymola 5 is described as both a general purposes modeling program and language appropriate for building all sorts of mechanical and electrical systems It has an object oriented approach enabling several of the powerful characteristics of such languages e g hierarchical structures model classes and even inheritance Dymola is built on using equations for describing modeling details The equations are automatically solved and interpreted to symbolical represen
57. ng less should be called visual programming no textual editing necessary because there is often no generated code at all to edit Menzies suggests a definition for what pure visual programming is A pure VP system must satisfy two criteria Rule 1 the system must execute Rule 2 the specification of the program must be modifiable within the system s visual environment more than just e g merely setting numeric threshold parameters 16 Gorgan ignores the execution rule and defines visual programming like the visual programming notion means the developer or programmer uses visually built up expressions in the programming process For example the syntactic forms are built by picking up the terms from graphics scene If the syntactic forms and generally all program entities i e statements expressions data structures flow control structures and so on have visual presentations then the programming language is visual programming language 23 Another idea of difference between visual and textual languages is multidimensionality as expressed by Burnett 29 In the case of investigating visual programming as a method for programming industrial robots the pure visual programming approach seems tempting However at present time that is a very difficult goal to achieve and a more realistic path would be a combination a robot program is created using visual programming exclusively but the programmer still has the opportu
58. nity to make necessary final corrections on a lower textual level Without taking any of these thoughts into consideration visual programming could probably be summed up with one word usability Usability is a word with many definitions However its basic meaning is about making it easier and faster for a user to learn use and master something in this case a software tool Hence making it easier on the end user perhaps by creating an interface between computer and human that is more appropriate to us than the classical console textual standard is basically what visual programming is all about 16 Visual Programming Visual Programming 3 2 Outline 3 2 1 3 2 2 3 2 3 Is Visual Programming always better Whether programming visually really helps programmers or not has been lively debated Results from studies and reports show very differing at times even contradictory results 16 Some researchers mean that they help to some extent but are far from always superior to textual languages 19 Others mean that TLs including fairly new object oriented ones like Java already are on the edge of being obsolete due to being to C like low level and complex suggesting they should be replaced by flowchart like programming methods 20 Known Visual Programming difficulties There are a number of problems with programming visually that are known to VP researchers One is the lack of desktop space meaning visual representat
59. nterrupt a number of calculations and other operations are performed before the GUI is updated and a signal is sent to the tuning module The robot is implemented as a simple finite state machine consisting of seven states After service TSC failed Service interval Figure 19 The seven states of the robot simulator It should be noted that the transition Arc is a generalization for both the ArcC and the ArcL commands The robot starts and ends up in the HOME POS state via the START WELD and END states during a normal weldpart However depending on the selected level of simulated error frequency welding errors as well as other hardware failures may occur These errors are spread based on the internal probability of the errors appearing For instance 30 Visual Programming The prototype an ignition error is far more common than a collision a wirefeed error occurs more often than an empty gas tube and so on If a welding error occurs the robot tries to re ignite twice The chance of success depends on what type of error it is and the chance of success is also decreased with every retry If re ignition fails the robot tries to clean the weldgun tip in the TSC The chance of success here is also depending on the type of error If another type of error occurs such as an empty wire bobbin or gas tube the robot enters MANUAL SERVICE directly since an attempt to re ignite is a waste of time The tuning phase ne
60. of applications hence dividing the topic into two larger subcategories general purpose visual programming software and VP tools concentrated towards the robot process industry Sw package CimStation Robotics RobotScript Grasp2000 Cosimir RobotStudio 2 4 2 Compilation of visual programming software and tools Company Web site Northwoods Software Corporation USA www trulyvisual com sanscript index htm Rapid data GB www radata demon co uk dymola html KUKA Roboter GmbH GER et al www cee etnoteam it amira frameset html KUKA Roboter GmbH GER www kuka roboter de Delmia WorldWide www delmia com Silma a division of Adept Technology Inc www adept com Silma products pd cimstationrobo html Camelot DK www camelot dk english historie htm Robotic Workspace Technologies Inc WorldWide www rwt com RWT_ Content Files articles RWT_A Jan99IR html Bygsystems limited GB www bygsystems com robotics robotics index htm Institute of Robotics Research GER www irf uni dortmund de cosimir eng prospekt d welcome htm Alma FR www alma fr cgi bin charge frame pl ABB WorldWide www robotstudio com Table 1 Compilation of visual programming software and tools General description Visual dataflow programming language Modeling program and language Advanced Man machine Interface project before KIE Online visual programming language Simulation offline program Simul
61. of imported CAD CAM models with possibilities to simulate movements and generate code by graphically manipulating the model is a popular approach as seen in RobotStudio ActWeld CimStation Robotics UltraArc etc These different products could basically have been put under one headline which is why not all of them have been described in detail Visual online arc welding programming tools on the other hand seem to be rare the Kuka Icon Editor excepted A probable explanation is that successful research within this new hot area is not presented to the public at least not on the Internet ActWeld is developed by Alma FR 2 4 4 2 KIE KUKA Icon Editor 15 Visual Programming Visual Programming 3 Visual Programming 3 1 Introduction VP has been an area of interest for quite some time Research can actually be said to have been going on since the sixties depending on exactly what is meant by Visual Programming What is really meant by the expression For instance autonomous robots agents that are able to interpret information gained through a camera are considered being visually programmed among some people The expression itself often and incorrectly leads the thoughts to textual programming using visual environments as for instance in Microsoft Visual Studio True visual programming researchers refer to VP as a method for creating whole programs using nothing but visual building blocks implying nothi
62. ogramming 40 02 Evaluation part Zi esse eaaa eea aaa daudssilashdesodsesbusissebseussasubri aharien isiin 37 4 6 6 3 Evaluation part Iaoi hanee aao a aa aeaa a at ta dadas 38 4 6 6 4Evaluation PURA she duasssseesdtassavusasslonadtassenhsse gt sdpastiiaaredecentgwdiedaphigsesdsubssdadeninatadevdas Sr sag NIE FOA RESAN 39 FUTURE WORK AEE E T TT E EAT 40 CONCLUSIONS tiscsiccscsacsssasestiessucessctestasessiecseccsssuasusbecetecastaneosesecstecous sbeiessiesteeduecss0Uehesuedscenssadeassaetaccdaat ausassauese 42 REFERENCES iii scsees EE E evcves caossnsursueceseocsesestesetsnesestucsuseusesaacessocsess 44 APPENDIX EA iia ia A a A dolesh a A S Tes a Aids 48 APPENDIN B AAEE A A E E E dete cascasshsacedsvasessbovesasesesesnusesssadtetouaassuts E 49 aN id d DNI DA D E OE E AE EE E E AEE E E 50 APPEND EXOD EAEN AEE SEE NEE EE E EEES 51 APPENDIX DENEN E AE AE ENESE AER 52 APPENDIX E EE E EE E AEE 53 APPENDIX cinc A A T E E E ARE E E EAE 54 APPENDIX H PAPA no A 55 VI Visual Programming Introduction 1 Introduction Robotics has been an active area of research for more than three decades Today various types of robots are thus in use in industry in particular for manufacturing applications Europe has a strong position in robotics manufacturing through major companies ABB Automation Technology Products AB Robotics is such a company that develops manufactures and distributes industrial robots An industrial robot is a complex computer aid
63. ogramming arc welding robots today This thesis focuses on the process and logical programming parts in the Online programming node not including path programming issues From these parts one objective is to extract the most important robot programming functionality and provide a new visual interface This could improve usability and widen the user clientele to include non programmer welders on one hand and non welding programmers on the other Another possible outcome might be to point out some sort of synergism between offline and online programming in general 23 Visual Programming The prototype 4 4 Approach 4 4 1 General description Prototype Description Preparation I Execution I The simulated robot executes the code by Robot changing states It can be manipulated from simulated object the tuning panel Based on internal relational probability percentage errors occur and generate error events The operator gets an error description and can then take necessary actions to correct them I Transfer code to robot I Code r g Errorhandling State welding l n code N S 1 0 Configuration S I 1 I Tuning and visual feedback A Setup I vv 21413 I Progres lt i rogress 4 I I F
64. on and Peter Herbrich Andreas rmo and Mikael Johnsson January 2002 II Visual Programming LIST OF FIGURES Figure 1 RAPID instructions on the teach perdais 5 Figure 2 Arc welding instructions in RAPID s emessesessersrrsrsrrsrerresrerersrsrerrrsrererrrsrrrrrrrsrr rr sr rn rr rr rr ennen 6 Figure 3 Sanscript www trulyvisual com sanscript tour sample htm ssesessreremrsrsmsrrsna 8 Figure 4 Dymola www radata demon co uk dymola html o smsmmssrsrssrssrsrrsrrsrsrrssrsrerrerrsrerrrnrrrrnnr ara 9 Figure 5 Screenshot of AMIRA the precursor Of KIE s mssssrssesersrrsresrsrernerrerernrsrrsrerrsresrenrrr rn nen 10 Figure 6 KIE The KUKA Icon Editor www kuka roboter de webc re_engl index html 11 Figure 7 Ultra ArE www delmia com is 12 Figure 8 Robotscript www rwt com RWT_Content_Files articles RWT_AJan99IR html 14 Figure 9 Schematic overview of the Thesis Profes iie 23 Figure 10 A comprehensive prototype description s ssseessrsssrserssrrssrsrsrsrrssrenrrsnrssrenrrsrnsrnrrnrnn 24 Figure 11 Requirement elicitation analysis definition and specification ooonconcnnnccnncnonnnoccnanonos 25 Figure 12 The waterfall model with feedback authors interpretation oooonnccnnnconocococnconnnonnnno 26 Figure 13 The iterative o 26 Figure 14 Example screenshot of the process data setup C eSigM ssseessrsrsrsressressrsnersrnsnrsnnsn 28 Figure 15 Manipulated example screenshot of the welding c
65. oned it Productivity The paper says quote productivity improvements are the only justification for any investment in new programming techniques Both categories agreed that visual programming could increase the amount of code produced However unlike the VP researchers the programmers disagreed that there also were advantages to design debugging and maintenance as well implying that the overall project benefits were less See 3 2 2 Known Visual Programming difficulties LabView is a visual programming environment gt The third survey questions were directly aimed at LabView and can be misleading in this theoretical discussion Visual programming languages might be referred to as VPLs 18 3 3 2 Visual Programming Visual Programming Readability Both categories more or less agreed in this matter that the structure is easier to follow in visual than textual programs This may be worth noticing since the programmers have little or no experience of VPLs They referred to flow chart diagrams and models in general while the researchers more specifically pointed out the advantages of specific languages Documentation effects Respondents from both categories stated that visual representation works directly as documentation as well as a communicating medium between developers and customers This is in line with Baroth and Hartsough s opinion several years earlier quote The most important advantage in u
66. onfiguration design 28 Figure 16 A schematic overview of the internal dCSiZD ssessssrsrrssrsrerresrererrnerrrrerrrrrrrrr renen nr nr nn 29 Figure 17 Schematic of the welding Configuration ssssssesssrsorssrrssrssrrsrrssrerrnrsrrnssrrsrnrrrrrnrrnnna 29 Figure 18 Schematic of the robot in the simulation phase sssreersersrrrresrsrerrrrsrsrrrrrsrsresrenrsr rn nen 30 Figure 19 The seven states of the robot simulator s ssesesssrsressesrrrrrsrrsrsrerrerrererrrrrrrrrrrsr rr nr nr rr rn nen 30 Figure 20 THe tuning Oh es se sseideress a aats E Ae eta ties 31 Figure 21 Schematic of the error handling module msmsesssssrsrrsrrrrsrrsrrsrrrrerrsrerrrrrrrrrrr sne rr rr sr r sr en or 32 Figure 22 Evaluation part 1 Weld Process Data sseeesssrsresserresrrsresrsrernesesrrrsrsrrrrrrrsrrrnenr rr ennen 36 Figure 23 Evaluation part 2 Welding COnfiguratiON s sssrseesersrerresrsrrrresrererrrsrrrrerrsrrr rr croacia 37 Figure 24 Evaluation part 3 Change Parametros a ds 38 Figure 25 Evaluation part 4 Real Time Tuning during program execution ssss ssess0s0 39 Figure 26 Process data configuration on the TPU sssmessesssssrsresrssrsrerrrsrrrrerrsrerrerrsrrrrnrrrrr rr nrsr rr nono 50 Figure 27 Weld data parameter setup on the TPU Mai 50 Figure 28 Real time tuning in the prototype ni 51 MI Visual Programming LIST OF TABLES Table 1 Compilation of visual programming software and
67. otype are developed with the help of discussions and meetings with people at both ABB Robotics and M lardalens H gskola These demands actually consist of three parts requirements restrictions and assumptions however they all concern the prototype Taken all in all it is implied that the prototype shall strive to fulfil some important parts of the usability concept such as being intuitive effective and easy to use The following model inspired the process of determining requirements Problem Problem Prototyping Documentation analysis description and testing and validation Figure 11 Requirement elicitation analysis definition and specification See Appendix B for a detailed description of the requirements 25 Visual Programming The prototype 4 4 3 Work method The overall development method was inspired by the waterfall model with feedback Requirements Validate analysis be design Program design System E testing Figure 12 The waterfall model with feedback authors interpretation The interface and logics were designed first A storyboard was complemented by numerous power point slides describing the approximate appearance and interaction with the user The design drafts were tested on people at ABB Robotics as well as M lardalens H gskola The slides were then redesigned and tested again until all major drawbacks were eliminated and the program desig
68. parameters semantics and so on e The programmer needs to know how all parameters affect the welding result which means he she also needs to know a lot about welding e A company might be using several different robot fabricates This means a robot operator would have to know several totally different programming languages as well Tuning of welding parameters such as voltage welding speed and wirefeed speed during welding means walking through several drop down menus Once the tuning menu is reached the parameters can only be tuned one at a time By the time all parameters are tuned there is a good chance the robot is done welding a long time ago e The interface on the teach pendant is generally not very usable user friendly There are several steps that should be avoidable in doing simple tasks such as programming and tuning e To change certain data for a welding program such as the burnback time in the seam data or the wire diameter the programmer has to walk through all files in the program and set it at every single location e Defining welding points by manually jogging the robot is not easy nor effective Even so this is still the most common way to do it e Today a program can be created by up to three different people The following could be a totally possible scenario one man defines a rough path making sure the robot will not collide with any objects The next one creates a more exact path setting coordina
69. part of the prototype At least it has no other connection to reality than to simulate the insertion of weld points in 3D space and for that reason the implementation details are not of interest in this section However for each and every weld line the user added in the weld point editor an object is added to a list The programming phase that then follows named weld config in the schematic above is implemented as a wizard Welding setup Parameters _ Instructions Weld points WELD CONFIG Figure 17 Schematic of the welding configuration The user can modify the objects in the list by changing the process parameters These process data also lie as a ground for the automatic generation of weld data These data are generated using a database object and are also stored in the object list The object list is then used to generate proper RAPID code for the weld setup The RAPID code instructions are then stored in a separate data type 29 Visual Programming The prototype The simulation phase consists of the robot the tuning and the error handling modules FSM Change state ENGINE INTERFACE Get next state Get current state B ARAE A AAA State database Figure 18 Schematic of the robot in the simulation phase Similar to real life the robot has an engine In this case it creates an interrupt at even intervals depending on the simulation speed At each i
70. r factories are ready and able to invest money in expensive offline programming computers and programmers and they have great use of pre programming the robots for the big scale production they provide However not all customers benefit from such systems The smaller companies have maybe a single up to a few robots at their disposal intended for a small scale production In their case investing in expensive offline programming equipment is not really an option Even if it was once the equipment is in place all work cells and materials need to be modeled there must be an educated operator to do this and so on This gets very ineffective considering the small quantities they produce perhaps down to a single piece The solution for them is to use online programming Nevertheless this also needs programming knowledge to perform In relation to this there are a large number of potential customers that also might use a robot if it was easier to program and maintain For the remainder of this paper ABB Automation Technology Products AB Robotics will be referred to as ABB Robotics http www abb com robots http inside abb com published 011119 For the remainder of this paper Visual Programming will occasionally be referred to as VP for short Visual Programming Introduction 1 2 Purpose The purpose with this thesis is not to create as much functional program code as possible nor to build a fully functional applica
71. r to the visual programming domain It starts with a general discussion of advantages and disadvantages with visual programming followed by a theoretical background Chapter4 THE PROTOTYPE In this chapter a prototype with the requested functionality is presented It ends up in a few conclusions and a user evaluation section Chapter5 FUTURE WORK This chapter gives proposals on future work Chapter6 CONCLUSIONS This chapter draws conclusions over the thesis work Visual Programming Related work 2 Related work The idea to this assignment is based on an earlier bachelor degree En studie av Visuell robotprogrammering 27 A free translation is A study of Visual robot programming and it was intended to investigate the possibility to extend the textual programming phase with graphics and images A prototype was developed during this project as well It uses a flowchart model to create arc welding programs and a combination of buttons icons and textual input in a windows like environment to let the user set up necessary parameters 2 1 Basic categories of programming languages Virtually all robots are programmed with some kind of robot programming language These programming languages are used to command the robot to move to certain locations signal outputs and read inputs The programming language is what gives robots flexibility When learning any programming language be it a robot language or a computer language
72. s errors to the user and in similarity to the prototype introduces some kind of solution proposal for the error A proposal for such a system to visualize and remedy the arisen error is to use some kind of wizard similar to that in a photocopier Measurement standards functionality not implemented in today s prototype is inches as complement to millimetres amperes as complement to meters per minute etc Help functions Extended more detailed case based help functionality at all times More automation an improvement to make the prototype more usable and powerful and to decrease the amount of thinking for the user is to extend the database support for different joint gas wire and sheet types The RAPID code integration with the common RAPID editor for manual code editing and consequently also a RAPID code generator as glanced at in the prototype are needed to manually fine tune the welding program A suggestion for a future thesis investigate if there are any possibilities to use a combination of different techniques to simplify robotic arc welding Such a combination is gesture based visual programming which should be interesting in a few years when the technique is sufficient 40 Visual Programming Future work A new idea during the progress of this thesis new ideas have emerged that are not possible to test within the time limits of this project Such a way or future idea of an application for the we
73. s that are claimed There are three camps of researchers in the matter those who are truly devoted to VP and all of its benefits those who are very suspicious skeptical and critical and then the people in between merely reporting others statements Hirakawa belongs to the positive group claiming When we use visual expressions as a means of communication there is no need to learn computer specific concepts beforehand which enables immediate access to computers even for computer non specialists He continues by stating that pictures are superior to texts by being more easily comprehensible and universal 30 This is in line with Gradman s thoughts He thinks the mind does not have to interpret a picture since it already is in terms the mind can comprehend He goes even further than Hirakawa when stating that VP is such a powerful paradigm that a user does not even have to be a programmer to learn how to write applications The universality of visual language makes programming something anyone can learn and do 26 Others oppose statements like these and refer to the lack 19 Visual Programming Visual Programming of evidence supporting them 40 amp 41 Still a decade later that is an unfortunate truth hard evidence is rare Other typical statements are that VP is more user friendly helpful satisfying intuitive readable familiar appealing accessible reliable pleasant straightforward alluring immed
74. seam weld weave 210 torch ArcL p3 v100 seam weld weave 210 torch ArcL p5 v100 seam weld weave 210 torch ArcL p6 v100 seam weld weave 210 torch ArcL Off p7 v100 seam weld weave fine torch MoveJ pHome v2500 2100 torch EDIT Click EDIT to change the RAPID code for the selected row UP DOWN ARROWS Use these buttons to select the next upward downward RAPID code row When done Click OK to start simulating a welding session Click BACK to return to Welding Configuration 39 Visual Programming Appendices PROGRESS Shows the progress for the current weld part as well as the total progress RESULT Shows the anticipated weld result for the current parameter setup SYNERGY LINE Shows the current weld data parameters plotted as a curve za IER aa oa EE GHEH ATTE Al Syhergy Line ATTE Cora __ Progress WELDING O 285V 16m min 10mm s O 28 15m4min 13mm s Part 3 7 O 24 11m min 15mm s F 24 11m2min 18mm s 1 18 Sm min 18mm s MoveJ pHome v2500 2100 torch wcLiOn p1 100 seam weld weave fine torch weave 210 torch weave 210 torch weld weave fine torch 00 torch Move pHome v2500 Tune the push drag angle by pressing the minus or plus buttons ANGLE Tune the work angle by pressing the minus or plus buttons RAPID CODE
75. sing visual programming is the support for communications among the customer developer and hardware Without the visual component the support for communications is not present 28 Syntax reduction and modularity Although the researchers did not seem to think about less syntax problems as a big benefit with VPLs it was pointed out clearly by several of the programmers However a few worried about syntactic problems using visual programming languages as well e g the spaghetti plate problem The surveys were summarized using different codes to get both numerical and theoretical conclusions The overall picture confirms the well known classical resistance and skepticism among traditional programmers against new programming techniques no matter the advantages they may contribute with Less powerful less readable and less enjoyable to use were a few of their strongest arguments The academic researchers had almost exclusively good things to say about VP using positive influence on the mental process of the programmer as their best argument Researchers theories The following chapter describes different researchers theories from the VP literature The intention is to reproduce their theories as good as possible so that the reader can get a good overall picture about the different thoughts reported in the vast VP literature As mentioned before there are very different opinions whether VP really improves programming in the way
76. tations These models and symbols can then be generated on different formats Supported at the moment are amongst others C and Fortran Dymola is available for the UNIX and Windows platforms File Edit File Edit View Setup Help 50m 3l Mal inertial cylBadr bodyShapar eiea 8 ES gt primo Dymola Dynamic Modeling Laborato File Translation Experiment Simulation Hi Been simulate Partition Partitioning the model equ Structure of partitioned mi Sequence of 263 equations System of 189 simultaneous Sequence of 324 equations Figure 4 Dymola www radata demon co uk dymola html DYnamic MOdeling LAnguage by Rapid Data GB Visual Programming Related work 2 4 4 Visual programming software concentrated towards the robot process industry This section contains visual programming software directly aimed for the robot process industry 2 4 4 1 AMIRA Esprit project 22646 In November 1996 KUKA lead the way for cooperation among five European companies with the intention to develop the next generation of advanced man machine interfaces for robot system applications The project was called Advanced Man machine Interfaces for Robot System Application or AMIRA 6 amp 46 for short and proceeded until spring 1999 Some of the keywords were a visual language for robot programming i e a tool that allows the end user to create programs on a higher level than with the usua
77. tes and angles the way they should be The third person has vast knowledge about welding so he she sets up all welding parameters such as weld data seam data weave data etc The natural reaction to this is that one person could do all of it if it would not demand him to know everything about both programming and welding All of this implies that there is a need to create a simple tool to let smaller customers program robots with extreme ease The everyday user has a need for approximately 20 percent of all programming functionality available The rest is considered unnecessary and even confusing One approach to supply this might be to create a much simpler and more limited tool that allows for visual programming and that has enough power to perform all actions needed for the small user A teach pendant is the operator s handcontroller to program and operate the robot 22 Visual Programming The prototype 4 2 Visions Visions on how to program an arc welding robot in the future are many and of different natures Many of the thoughts are about how the programming phase can be simplified for the end user It does not matter if you are running a multinational company with production all over the world using advanced off line programming tools in your production or if you run a smaller business that generally programs the robot online a demand these customers have in common is the possibility to handle and program the robot in the
78. tion Instead it is of importance to show whether it is possible or not to build an intuitive simple and straightforward application using visual programming for the robot arc welding industry and to make this process easier on the user This is attempted with a prototype Another purpose is to present a summary of the best visually aided software applications available on the robot programming market up to date in other words a state of the art investigation 1 3 Document description The chapters are intended to be a chronological journey through our work Starting at chapter 2 with a short background of different techniques used in robot programming today Chapter 2 continues with the state of the art investigation followed by visual programming theories in chapter 3 Chapter 4 describes the prototype including a user evaluation The following two chapters are very important as they summarize draw conclusions and give the reader ideas on future work in this subject Chapter1 INTRODUCTION This chapter introduces the reader to the thesis background purpose and limitations Chapter2 ROBOT PROGRAMMING TODAY This chapter describes the two main categories of programming techniques used in robot programming today A brief description of how robots are programmed using RAPID is also presented Finally there is a presentation of some visual programming tools on the market today Chapter3 VISUAL PROGRAMMING This chapter introduces the reade
79. tools Table 2 Common VAL commands ccocoocccccoconoccnncnononancnnnnanannninnoos Table 3 Comparison of Robot Language Syntax IV Visual Programming TABLE OF CONTENTS LIN TRODU CEION E STT T T T E TT 1 1 1 BACKGROUND tad A A AAA CONNEC 1 1 2 PURPOSE daia recess Und Dea cteciaea rest E ae poate ENE ias EA a pas 2 1 3 DOCUMENT DESCRIPTION l ices E EE EE A chan toed Sa es 2 2 RELATED WORK iii dad oido cias 3 2 1 BASIC CATEGORIES OF PROGRAMMING LANGUAGES ossssrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsnsrsrsnsrnnnnnen 3 2 2 PROGRAMMING TECHNIQUES cocinar ojal pilar orden nia ment aio 4 2 21 gt Online programming a tested nieces io Uae a ete Meas Mi el MEM NS 4 222 Offline programming issn hia EI Sil Beale hack pel thin a dd 4 2 3 How AN ABB ARC WELDING ROBOT IS PROGRAMMED TODAY sssrersrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrnrsrsrnnnnnen 5 2 4 STATE OF TOBART usini orra isting idee Ar en a iain AS 7 DAT AP PVOQCH ss tcc NS AUN eS ES Bon beh as ats ah Ge aed TO 7 2 4 2 Compilation of visual programming software and tools memrmaresrersrerrrrererrarererrrrerrrrererr aren ers ra rar sr er en ann 7 2 4 3 General purpose prototypes ANd software ccecccccceecssesetecseeeecnseescsesscesecseeseceeecaseesetecseeaecteveeeneeeeeaes 8 2 4 3 1 SANS CDE La A see Nie TS E las bars hae EA IA Petals iii amp 2 4 3 2 DD TIONG i sce en ets al EA Dla nhc A AA alas cs iia ada ab pa E i ta 9
80. ual programming itself Code is produced textually but because it operates in a Windows environment the end user has the advantage of using any third party software to enhance the operation of the robot cell It also provides an intuitive graphical user interface to reduce operator training and minimize errors It can easily be customized using the Software Development Kit to provide a standard enterprise wide operator interface RobotScript is a macro like robot programming language that employs the Microsoft ActiveX technology and is actually based on Microsoft s Visual Basic Scripting programming language Consequently RobotScript can be used in a variety of Microsoft development environments including Visual Studio Office or any Windows development environment The Danish Technical University The Institute for Construction and Controlling technique Camelot Development Denmark Developed by Robotic Workspace Technologies Inc 13 Visual Programming Related work RobotScript is used to program virtually any robot model that is being controlled by the URC It runs in online mode in the Windows NT environment on a company s URC or in offline mode on any PC running Windows NT 95 Press Here or F1 for Help Figure 8 Robotscript www rwt com RWT_Content_Files articles RWT_AJan99IR html 2 4 4 7 Grasp2000 Grasp2000 15 is another software application in the vast category of visual robot progr
81. um on Visual Languages pp 240 246 26 Gradman M 2000 CHI Issues in Visual Programming CPSC 671 Dr Shipman 27 Manske G 1995 En studie av Visuell robotprogrammering Link pings universitet 28 Baroth E Hartsough C 1995 Visual Programming Improves Communication Among the Customer Developer and Computer 29 Burnett M M 1999 Visual Programming Oregon State University USA 30 Hirakawa M 1994 Visual Language Studies A Perspective Software Concepts and Tools pp 61 67 31 Paivio A 1971 Imagery and Verbal Processes Holt Rinehart and Winston New York 32 Yeung R 1990 The design and implementation of MPL a matrix oriented programming environment based on logic and constraints Visual Languages and Visual Programming Ed S K Chang p 214 33 Constagliola G De Lucia A Orefice S Tortora G 1995 Automation generation of visual programming environments IEEE Computer 34 Glinert E P Tanimoto S L 1984 Pict an interactive graphical environment IEEE Computer 45 Visual Programming References 35 Lewis C M 1991 Visualizations and situations Situation Theory and Its Applications Stanford University 36 Schiffer S Frshlich J H 1995 Visual Programming and Software Engineering with Vista Visual Object Oriented Programming Concepts and Environments p 201 37 Chang S K 1990 Principles of Visual Languages Principles of Visual Programming
82. vergency about what functionality is important to have in a final product 53 Visual Programming Appendices Appendix G Rubrik Visuell programmering Inriktning Robotteknik Omrade Anvandargranssnitt Amne Datalogi Niva D Foretag ABB Automation Technology Products AB Robotics V ster s Startdatum 010813 Prel slutdatum 020113 Handledare f retag Ralph Sj berg ralph sjoberg se abb com Handledare skola Rikard Lindell IDt rikard lindell mdh se Examinator skola Peter Funk IDt peter funk mdh se Student Mikael J ohnsson Student Andreas Ormo Beskrivning ABB Automation Technology Products AB Robotics utvecklar tillverkar och saljer industrirobotar En industrirobot r ett komplicerat datorstyrt system med m nga ing ende delsystem V ra anv ndare st ller stora krav p att industriroboten kan hanteras enkelt och effektivt Med avsikt att f renkla och effektivisera framtidens handhavande av robotar skall vi unders ka m jligheterna att utnyttja en grafisk beskrivning av programinformationen och process informationen Det finns ett tidigare examensarbete som skall ligga till grund for det fortsatta arbetet Uppgiften bestar i att e unders ka State of the Art inom visuell programmering e utreda vilka krav som stalls p ett visuellt programmeringssystem i en processrobot tillampning ex bagsvetsning e specificera och konstruera ett prototypsystem med inriktning p handhavandet e utv r
83. well This relieves us from a few parts since we now can assume these already exist In addition we were inspired by the way they presented the program information visually However once again we were reminded about the difficulties in robotic arc welding To balance these experiences we visited Segerstr6m amp Svensson in Eskilstuna They have a number of welding robots from ABB and Motoman We made an interview with one of the people involved in programming maintaining the weld robots In addition to this interview a small end user survey was performed The results provided us with a few interesting thoughts and even some concrete programming problems A compilation of these can be viewed in Appendix A It should be mentioned that an effort was made to get a demonstration of the revolutionary KUKA Icon Editor Contact was made with Peter Herbrich at DEFAC in Germany but unfortunately nothing could be arranged The investigation was commissioned in late 2001 2 4 4 2 KIE KUKA Icon Editor 21 Visual Programming The prototype In addition to this input we have discussed these issues with several people at ABB Robotics To summarize there seems to be a general opinion that online programming of ABB arc welding robots today is unnecessarily difficult A few main aspects of what these difficulties include in no particular order e The programmer needs extensive knowledge about RAPID Commands syntax function
Download Pdf Manuals
Related Search
Related Contents
American Dynamics Tyco VII User's Manual Scavenger Transmitter Module STM 430J / 431J April 30, 2013 INSTRUCCIONES Chief X-Large FUSION Copyright © All rights reserved.
Failed to retrieve file