Technical Report 2 Final (Graded)

Technical Report 2 Final (Graded) - ilolerchk girder...

Info icon This preview shows pages 1–14. Sign up to view the full content.

View Full Document Right Arrow Icon
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 4
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 6
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 8
Image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 10
Image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 12
Image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 14
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ilolerchk girder LabVIEW Graphical Programming Advantages in Robot Arm Design Grant Corley, Albert Ho A&EP Lasers, Inc. 245 Clark Hall Ithaca, NY 14850 May 1, 2006 Abstract The graphical programming software package LabVIEW can be utilized by developer 0 I #23 easily and precisely control the robotics required in microchip processing. One “vi ual ’i’YM‘S {Wm instrument” is Visually designed to record key coordinates in a robot arm’s desired 4’0 microchip movement trajectory while a second transforms those coordinates into a $65“ 13” smoothed replay of the trajectory. This graphical programming approach offers the same will???“ functionality as conventional C++ instruction-based programming while providing the gt “PM advantages of reduced development time and cost. These advantages would prove I extremely beneficial for our frequently changing product line that requires periodic MS frdm' upgrades and modifications. Thus, we recommend replacing our C++ coded operating ’5‘, software with a LabVIEW application for our company's new robotics facility. Introduction to Robot Arm Experiment The automation of robotics used in this company’s microchip processing facilities currently requires our developers to initiate long-term software projects that are time consuming and strain the development budget. Programs are written in C++, an instruction-based programming language that requires good documentation when code is passed between individual programmers on a development team. These programs need support for future patches and upgrades, but with poor documentation the code will be very difficult for our programmers to work with and modify. For this problem, we have identified National Instrument’s LabVIEW graphical programming package as an ideal candidate for replacing this company’s current instruction-based programming methodology. We initiated a project whose goal is to determine whether LabVIEW can replace programming in C++ in the development and support stages of software. Using the graphical interface provided, we built several LabVIEW programs with great ease and greater flexibility than their would-be C++ counterparts. In addition to this, we used these LabVIEW programs to easily program a robot arm to move rings between pegs, in order to simulate how the robot arm should behave in a microchip processing facility. As a result of this project, we determined that LabVIEW‘s unique graphical development interface provides the significant advantages of reduced time and cost for software projects in our interest, to the end of making our development efforts more productive and within budget. ' NUCe fépflj —-— we“ lava. LabVIEW Background The LabVIEW graphical interface consists of “virtual instruments,” which are analogous to programs written in C++. They are written in a programming language called G, which shares the same programming concepts as C++ such as arithmetic logic, loops, conditional statements, functions and subroutines. Unlike C++, G uses no textual coding, which is often the subject of error or confiision in conventional instruction—based programming. A virtual instrument (VI) consists of a block diagram that represents the G source code, as well as a front panel that controls user input and program output. Programming in G is done by dragging and dropping a variety of graphical objects from the control box and wiring them together on the block diagram. Objects can represent any primitive programming concept such as ASCII—to-character conversion, integer/floating-point addition, a conditional test or even a loop that encloses other objects to specify what is affected by the loop. They are placed on the block diagram and finally connected by wires to represent the dataflow within a routine. It is understood that each sequential object connected in a series of objects executes only after its forerunning object finishes executing, thus the instruction—based flow of C++ is preserved in G’s graphical format. This graphical approach to program development is extremely beneficial because the datapath of the block diagram is intuitive even to a programmer with very little experience. LabVIEW code can be compiled just as a C++ program is compiled, but debugging can be accomplished in a much more efficient manner. Since LabVIEW offers the programmer the same graphical environment for debugging, finding a broken wire or logical error within a block diagram is much easier than finding small textual syntax errors and fixing logic in instruction—based code. The interested reader can consult Lab VIE W for Everyone by Jeffrey Travis1 for more information on graphical programming with LabVIEW. Results of Robotic Arm Experiment To simulate the wafer—handling task typical of the robotics in the new microchip processing facility, we use LabVIEW to control a robot arm with five servo motors (arm, waist, shoulder, elbow, wrist, and gripper) and make it automatically transfer a wooden ring from one post to another. This is accomplished through the use of two Virtual instruments, RECORDVI and PLAYBACK.VI, designed by our group. (See Appendix A for front panels and block diagrams.) RECORDVI is visually designed to record key coordinates in the robot arm’s desired microchip movement trajectory. The key parts of this Virtual instrument’s front panel are the coordinate adjustment tools for each of the five servo motors (a “slider bar” and a manual entry box for each) and a button that records the current coordinates of each servo to a file when pressed. It also contains a box for adjusting the address of the saved coordinates file, a display of the current set of coordinates in string format as written to the serial port, and an error detector that checks for abnormalities in the serial port string. Servo coordinates are integers ranging from 0 to 254 covering the range of each of the servo motors. To record a desired coordinate in a certain trajectory, the user simply runs RECORDVI in “continuous” mode, manipulates the five servo positions either manually or using the slider bars until the robot arm is in the appropriate configuration, and then presses the record button. (We recommend recording a location slightly past that desired and then moving to and recording the desired location as this seems to significantly reduce mechanical backlash.) This method allows for simple and rapid design of the robot arm‘s trajectory in real time. To code such a user-friendly graphical real time interface in C++ would be much more time consuming and expensive to develop. This process is repeated at each of what the user deems key locations in the desired trajectory, and then the program is terminated. (The trajectory should be completed with each servo near their “home positions” of 128; RECORDVI is designed such that each servo begins at this location, so completing the trajectory here will avoid sharp jerks of the robot arm when the trajectory is automated.) The file of saved coordinates now contains all of the necessary trajectory locations to be used in the automation of the robot arm. ' The second virtual instrument used to control the robot arm, PLAYBACK.VI, transforms the coordinates saved to file by RECORD.VI into a smoothed replay of the robot arm’s trajectory. This virtual instrument’s front panel contains information about the file being replayed, current positions of the servos, total number of positions in the replayed trajectory, and, like RECORDVI, a display of the serial port string and an error detector. These displays are indicators used only for informational purposes, however, and are not manipulated to replay the saved trajectory. To accomplish this automation, the user merely runs the program in “continuous” mode. PLAYBACK.VI is designed to smooth the trajectory between prerecorded locations by slowly and continuously incrementing or decrementing each servo’s position towards the next saved coordinate. This smoothing prevents troublesome jerking and hesitation in the replayed trajectory. RECORDVI and PLAYBACK.VI are highly efficient in controlling the robot arm in its simulated wafer handling. After a few trials, we are able to record and then playback a desired trajectory that causes the robot arm to successfillly move the wooden ring between posts. The same trajectory can be executed time after time with no noticeable loss in precision. If a different physical configuration and trajectory are desired, we simply record a new set of coordinates; there is no need to manipulate the design of either virtual instrument or write new programming code at all. We can also easily modify the speed of trajectory replay by changing a single number in the block diagram of PLAYBACK.VI. In general, we can use these two LabVIEW graphical programs to quickly and easily cater to any robotics needs of our company’s new microchip processing facility. Our group is planning further testing of these virtual instrurrients to ensure that they can be easily modified to concord with future changes in company policies and strategies. Conclusions and Recommendations We recommend switching from conventional C++ instruction-based programming software to LabVIEW graphical programming software for our company’s new robotics facility for the following reasons: 0 LabVIEW virtual instruments used to control wafer—handling robotics can be very quickly and easily modified to meet the needs of our company’s frequently changing product line whereas the existing C++ software is poorly documented and requires considerable time and expense to modify. 0 The graphical programming approach offered by the LabVIEW software is much more user-friendly than conventional instruction—based software as the user can literally see on the computer screen what’s happening during operation of the robot arm rather than thinking in terms of pro gramming code. 0 LabVIEW software allows for simple and rapid real-time design of a wafer— handling trajectory, whereas coding such a user-friendly graphical real time interface using conventional C++ software requires much more time and expense to develop. References 1. Travis, Jeffrey. Lab VIE W for Everyone. 2nd Ed. NJ: Prenctice Hall, 1996. Appendix A Principal Virtual Instruments 1. RECORD.VI 2. PLAYBACKVI Appendix B Supplementary Virtual Instruments 1. INCREMNT.VI 2. ROBOWRT.VI 3. STEP.VI Appendix A Principal Virtual Instruments 1. RECORD.VI W {:3 ngwwmeamw 4 1 _ Front panel for RECORDVI that allows for user alteration of servo positions. g;i:lv!r'¢’.§“‘ ~iw.w\w.uv1wflwfi ' First page of block diagram for RECORDVI as designed by our group. , :7"*‘:*r:’£‘:: *1 Second page of block diagram for RECORDVI as designed by our group. 2. PLAYBACK.VI mmmmt y;g=;nn.:in:;4y:.€sx1i':l‘~ ' Front panel for PLAYBACK.VI that displays current positions of servo motors. d by our group. 1gne VI as des Block diagram for PLAYBACK Appendix B Supplementary Virtual Instruments 1. INCREMNT.VI :- ~W~53 : ‘ r ;::- -;~,w.\~wm,g§;.; _ ’ ..-;. h Front panel and block diagram for ]NCREMNT.VI as designed by our group. Increments or decrements an initial number one step closer to a goal number. 2. ROBOWRT.VI Front panel for ROBOWRT.VI. Moves the 5 servos to the user-specified positions by writing a string to the serial port. » M? :u‘mamh 5 Block diagram for ROBOWRT.VI as designed by our group. 3. STEP.VI Front panel and block diagram for STEP.VI as designed by our group. Smoothes and slows the motion of the servos by dividing the difference between successive saved coordinates into equally-spaced small steps....
View Full Document

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern