Sie sind auf Seite 1von 5

1

Anthropomorphic Robotic Arms: PRACTICE and SIMULATION (Dec 2011)


Bugra Ergin

AbstractThis report was written with an attempt to provide an overview of the practical work undertaken in the Robotics and Control module. During the course of the module, the practical assignments required simulating the Mitsubishi RV2AJ industrial robots movements and coordinates to be used in practice in order to build an Aztec Tomb using large Duplo blocks. Simulation data was created using Workspace 5 and Melfa Basic IV code was generated using the simulation. Melfa Basic IV code was then transferred to the robot arm. This report will intend to cover the procedures followed whilst working for each assignment, along with the challenges arose whilst working on the robot. Index Terms Anthropomorphic, programming, simulation, Workspace Melfa Basic, robot

report to identify the learning outcomes from practical and simulation assignments. II. PROGRAMMING THE ROBOT A. Offline Programming Offline programming requires a computer terminal where the programmer is required to write a program to be transferred to the robot. The most important advantage of using offline programming methods is to reduce the robots downtime by overlapping the programming time with the robots normal operation. There are various methods of offline programming such as systems using a text editor and a program compiler or even more sophisticated simulation systems. Offline programming techniques may require high and strong computational power as the high level programs needs to be converted to binary before being transferred to the robot. However, if access to a high computational power is not an issue; the requirement for high level programming languages can be advantageous for the programmer as these languages tend to be more user-friendly and can reduce programming time.[1] B. Simulation Textual or visual simulations are imitations of real systems created using computerized modeling techniques. Visual simulations require modeling the robot and its task on a computer. Simulated robots often have complex algorithms therefore creating a simulation would help programmer to determine the performance of the real system, such as the processing time. Although simulations are highly advantageous, the programmer is required to have a wide knowledge about the real system. Depending on the knowledge of the programmer, simulations can be timeconsuming.[2]

I. INTRODUCTION course of MECH515, Robotics and Control, module students were required to complete a number of assignments using Workspace 5, a robot simulation software and Mitsubishi RV-2AJ, an anthropomorphic robotic arm. The first task was to create a computer simulation of a simple pickand-place puzzle using Workspace 5 with the graphical simulation of Mitsubishi RV-2AJ. This was the first time the students have used Workspace 5, however completing the first simulation was relatively easy as the simulation did not have to be transferred to the robot. Completing the pick and place puzzle on simulation without any collusion was sufficient for the assignment. After the first assignment, once a report on the theoretical overview of anthropomorphic robotic arms (second assignment) was produced, modules most challenging assignment was given. Assignment required students to create a simulation of the robot arm, using the same program, to build an Aztec Tomb using 7 small and 6 large Duplo blocks. Most important part of the task was to create a Melfa Basic IV code starting with the code generated from the simulation and transfer this code to the real robot after completing required modifications. Assignment also required all students to form groups of two to work together and complete the task. After completing the tasks, groups competed in a timed competition measuring the quality and the speed of the building time of their Aztec Tomb. Final task of the module was to create a
URING

III. MITSUBISHI RV-2AJ This section gives an overview of the physical system. For assignment 1, simulation of the manipulator Mitsubishi RV2AJ with a gripper end effector has been used and assignment 3 required using the real Mitsubishi RV-2AJ. A picture of the manipulator is shown in Figure 1.

B.E. Author is studying in the Faculty of Science and Technolog of University of Plymouth, Plymouth, UK, PL4 8AA (e-mail: bugra.ergin@postgrad.plymouth.ac.uk).

2 codes [4]. Once the simulation is completed, Workspace can also generate codes in the robots own language such as Mitsubishis Melfa Basic IV. Other languages include Panasonics Pres, Siemens G-Code, Kawasakis AS and Mitsubishis PA10 along with many others.

V. ASSIGNMENT 1: PICK AND PLACE PUZZLE SIMULATION Figure 1: Mitsubishi RV-2AJ[3] RV-2AJ is one of the smaller robots in the Mitsubishi robot family. It can reach 695mm vertically and 410mm horizontally and it is capable of rotating 270 around its base. It weighs approximately 17kg and has 5 axes of rotation. RV-2AJs work envelope can be seen in figure 2 below. Table 1 shows the robots motion range and motion speeds for its individual axis. This kind of light weight manipulators with high accuracy are typically used in pick and place and material handling tasks. Its gripper can also be changed in order to adapt to various objects and sensitivity.[3] Pick and place puzzle simulation was the first assignment of the module. Simulation was to be created using the Workspace 5. The task was to create a simulation using the Mitsubishi RV-2AJ with its gripper end-effector to move three Duplo blocks with different sizes (small, medium and large), which were piled up on each other, from one base to another. In simulation, three bases of same size were created and aligned next to each other. The Duplo blocks were initially placed on the first base [Figure 3] and the task was to move these blocks to the third base in the same order [Figure 4].

Figure 3: Start Position[5] Figure 4: End Position[5] This task had a number of rules to be followed whilst creating the simulation. These rules are as follow: Only one block can be moved at a time Larger blocks cannot be stacked on smaller blocks Each base represents stacking area and the blocks must be placed at the center of each base The simulation must be physically plausible Blocks cannot collide with each other A. Assignment 1 Procedure IGES files for Realistic Duplo blocks with fillets were provided to use in the simulation. However, as these designs were created using separate pieces for each part of the blocks these files were very large and as Workspace 5 is a very unstable software, large file sizes can result in unexpected behavior such as program crashing or being very slow. Therefore, much simpler models of these blocks were created. The blocks were created with the sizes below. Large Block: 100x31x23mm Medium Block: 63x31x23mm Small Block: 25x31x23mm Base: 200x200x30mm Center of the base tile 2 was 305mm away from the center of the robot arm to create a more realistic environment. Once the environment was created, a number of Geometry Points (GP) had to be created. GP represent the coordinates of the blocks to be moved, in order to complete the task. In order to move the blocks from a known coordinate to a desired coordinate, following procedure was followed.

Figure 2: Work Envelope of Mitsubishi RV-2AJ[3] Motion Range Motion Speed Axis 1 150 Axis 1 180 /s (3.14 rad/s) Axis 2 +120, -60 Axis 2 90 /s (1.57 rad/s) Axis 3 +120, -110 Axis 3 135 /s (2.36 rad/s) Axis 5 90 Axis 5 180 /s (3.14 rad/s) Axis 6 200 Axis 6 210 /s (3.67 rad/s) Table 1: Motion Range and Motion Speed of 5 Axis of Mitsubishi RV-2AJ[3] IV. WORKSPACE 5 Workspace 5 is used for creating and simulating 3D objects in detail. Workspace 5 also allows generating geometry data and coordinates so that the created CAD files can be simulated with the imitation of the real tools with a pendant tool; in this case, the Mitsubishi RV-2AJ. Workspace 5 also allows customizing the objects coordinates with Visual Basic (VB)

3 1. 2. 3. 4. 5. The end effector was moved to a point directly above the block The end effector was moved downwards at a coordinate where when the gripper is closed it can grasp the block Grasp the block The end effector with the block was moved upwards, to the coordinate where the end effector was at number 2 The end effector with the block was moved horizontally to a coordinate above the desired coordinate for the block to be placed The end effector with the block was moved downwards to the desired coordinate Ungrasp the block Repeat for each block and movement code for the gripper actions was written in such a way that when gripper is commanded to close, two holders of the gripper were closed completely. During the simulation this did not cause any problem. However, in order to create a more realistic simulation, VB code was slightly modified so that when the gripper was commanded to close, it would only close as much as the width of the blocks (i.e. distance between the two holders were made the same size of a block, 31mm). Modified gripper code is shown in figure 5 below.

6. 7. 8.

By repeating the above procedure, each block was placed at their desired positions by following the sequence below. 1. 2. 3. 4. 5. 6. 7. Move small block from base 1 to base 3 Move medium block from base 1 to base 2 Move small block from base 3 to base 2, on top of medium block Move large block from base 1 to base 3 Move small block from base 2 to base 1 Move medium block from base 2 to base 3, on top of large block Move small block from base 1 to base 3 on top of medium block

Figure 5: VB Code for Gripper close and open states This assignment and the challenges faced by the Authors team provided a brief idea of working in an unstable but accurate simulation environment. As all the challenges were well understood and all students have learnt how to use Workspace 5 in detail, the simulation required by the final assignment was completed in a relatively shorter time.

VI. ASSIGNMENT 3: TIMED AZTEC TOMB CONSTRUCTION COMPETITION This task involved creating a simulation in Workspace 5, generating a Melfa Basic IV code using the simulation data and transferring the Melfa Basic code to the real Mitsubishi RV-2AJ using RoboExplorer. The aim was to build an Aztec Tomb (specific model given) from the specific starting position of the Duplo blocks. Initial positions are shown in Figure 6 and the final/target positions (Aztec Tomb) are shown in the Figure 7 below.

Once all the Geometry Points and rules were set, collision detector tool was switched on. By setting all the coordinates with careful calculations and considering the realistic sizes of each block, collisions were prevented and this was confirmed by the collision detector. B. Challenges and Extras As previously stated, Workspace 5 is an unstable environment. Creating the Geometry Points were relatively easy, however a number of challenges were faced whilst creating the simulation. First issue was, when the simulation is run once, in order to run the simulation again, blocks must be returned their original coordinates manually and initially this caused time loss. However, by writing a number of Visual Basic codes, block positions were set to their origin position at the beginning of every simulation. Visual Basic code for the small block is as below. ThisDocument.CadObject(block3).TransformTo 250, 200, 65.75, 0,0,0 Second challenge was the instability of the Workspace 5. It has been observed and experienced that if the simulation is stopped whilst grasping an object; the program combines the gripper tool with the object. Therefore, during the next simulations, program thinks, the object is a part of the gripper so the Workspace 5 has to be restarted, causing further time loss. After the simulation was finalized following the rules given, there was still time to work with some detail. Normally, VB

Figure 6: Initial Positions of the Duplo blocks[6]

Figure 7: Final/Target Positions (Aztec Tomb) of the Duplo blocks[6] The task involved a number of rules. Some of the main rules are as follow: 1. The robot should be limited to a speed of %50 using the code OVRD 50. 2. The robot should start from the home position (i.e. 0,0,90,0,0,0) 3. As usual, blocks can only be picked one at a time

4 A. Assignment 3 Procedure All groups were instructed to create a simulation prior to starting to working with the real robot. This would help understanding the collisions that may occur on the base and to plan the detailed coordinates of the blocks. The task required that using the simulation, Melfa Basic IV code had to be generated and all further calibrations must be made on the code which was initially generated by Workspace 5 simulation. However, Authors team had followed a procedure in the incorrect order and a number of interesting facts were observed. Instead of creating a simulation to gather geometry points, Author had collected these coordinate data by using the teach pendant attached to the physical robot and written the Melfa Basic IV code manually. By doing this, very accurate coordinates were gathered and correcting coordinate errors were much simpler. Dimensions of small and large Duplo blocks are shown in figure 8 below. good result for the first outcome, however in order to win the competition this was not enough. Calculated Actual GP2 305,-94.5,100,90,180,0 305,-97,100,90,180,0 GP34 273.5,-78.75,100,0,180,0 276,-83,100,0,180,0 GP70 305,0,115,0,180,0 309,0,115,0,180,0 Table 2: Comparison of Calculated and Actual Coordinates of 3 Geometry Points After all the coordinates were noted down from practice, these were than implemented to a simulation so that the simulation output can be monitored and compared with the actual working coordinates. It was observed that the simulation created an Aztec Tomb with a very low built quality. This was due to the fact that the Workspace 5 is a very accurate simulation program when compared to the actual robot and all the errors that were calibrated in reality have appeared in simulation as errors. As the aim of this assignment was not the simulation but the actual behavior of the robot, the built quality was ignored. Once the simulation was completed, Melfa Basic IV code was generated from the Workspace 5 and then transferred to the robot. This resulted in an interesting behavior. Although the coordinates used in the simulation were the coordinates used in reality previously, the robots gripper was always in the incorrect angle and fixing this error would require a longer time that the team had to meet the deadline and be able to compete in the competition. Therefore, the team decided to continue calibrating the robot and the coordinates with the initial method; manual calibration and manually writing the Melfa Basic code. In this method, use of Cartesian coordinates was possible, whereas the code generated by the Workspace 5 had to use Joint coordinates, which would be more accurate as each individual Joints angle is calculated individually using the Joint coordinates. B. Challenges and Outcome In theory, Mitsubishi RV-2AJ is a very accurate robot. However, after careful and detailed calculation of coordinates, the robot did not behave as expected. If the team was to create a simulation before working on the robot and roughly determining which block to go which coordinate, more detailed and a better quality work would have been created as only working strictly on the robot cause time loss. However, it was also observed that the code generated by Workspace 5 had only got Joint coordinates and the program was unable to convert Joint coordinates into Cartesian coordinates. Joint coordinates are not a very user friendly way of calculating coordinates therefore conversion would have also cause a time loss. Due to the time loss caused by the confusion between Cartesian and Joint coordinates, the team was forced to a last minute brainstorming session. Although the built quality of the Aztec Tomb was good as expected, two minutes of construction time was not enough to compete with other teams in the competition. Initially, the Melfa Basic code was written with a number of delay functions between each function of the robot and the actual robot was limited to speed 50%. This meant that the robot was running with %25 of its speed capacity (after the

Figure 8: Dimensions of large and small Duplo blocks[7] One of the observations made was the error caused, probably, by the gear calibrations in the actual robot. Before starting to gather any coordinates, Author tried to get exact measurements from the environment; such as the exact dimensions of Duplo blocks and the base, the distance between the base and the robot and the range where the robot can reach in reality. The aim was to use these exact measurements and calculate all the coordinates roughly on paper and to apply to the code to be transferred to the robot. Although all coordinates were initially calculated, when the team tested these coordinates on the robot, the blocks were placed in incorrect places on the board. Error range was not consistent and at the first level of the base, the error was at maximum, especially as the gripper went further away from the origin along the X axis. Error range was between 1 and 5mm. As the gripper moved up the Z axis, the error has decreased as it moved upwards. Error range not being consistent caused a big time loss. A number of calculated coordinates and the coordinates used are shown in Table 2 below. However once all the coordinates were calibrated specifically for each movement of each block, it was observed that the Aztec Tomb was built within 2 minutes, which was a

5 OVRD 50 code). Removing the delays which were not needed, decreasing the remaining delays down to 0.1 and increasing the robot speed to %100 (with OVRD 50) decreased the building time to 53seconds which was within the expected range of time. 53 second construction time was the winner time and building the tomb with no errors resulted in the Authors team winning the competition. to the necessity of investigation of a more efficient way of offline programming. This can be a simulation program like Workspace 5 but designed and developed by the robots manufacturer itself. This would increase the costs but as the program will implement exact numbers as the robot would understand, it would save a considerable amount of time.

VII. LEARNING OUTCOMES Throughout the module, it was observed that, although in theory real environment can be imitated with exact measurements and values in the simulation, when the code is executed by the real robot, unexpected behaviors may occur. This may have been caused by the optimistic characteristics of the Workspace 5 simulation software. Although the teams were allowed to use only one program (Workspace 5) for the simulations, a number of useful challenges were faced by the teams. It was clear that these challenges can be caused by many other simulation tools and robotic arms. Gathering geometry points with calculations and trying to implement these on the robot resulted in a time loss during the course of Assignment 3. If the coordinates were to be gathered in simulation for simplicity reasons and if the team was using the Joint coordinates in the Melfa Basic code, the team would have had more time for further calibrations and Joint coordinates would increase the built quality. It was learnt that simulation data cannot be the final solution to be transferred to the robot but it can be used as a starting point or even as a reference throughout the calibration process.

ACKNOWLEDGMENT Author would like to thank Dr Tony Belpaeme, Joachim de Greeff, Robin Read and others involved in the organization of the MECH515 module for running such a challenging and useful course and especially Joachim de Greeff and Robin Read for their help during the classes and throughout the course of the module.

REFERENCES
[1] G.M. Mair, Industrial robotics: Prentice Hall, 1988, ISBN:9780134632179 p.43 [2] S.Y. Nof, Handbook of industrial robotics: John Wiley, 1999, ISBN:9780471177838, p.238 [3] RobotWorx. (18 December 2011). Mitsubishi RV-2AJ Robot. Available: http://www.robots.com/mitsubishi.php?robot=rv-2aj [4] WAT Solutions. (18 December). Workspace 5 Robot simulation. Available: http://www.workspacelt.com/Workspace5/WS5_Index.htm. [5] Robin Read Tony Belpaeme, Joachim de Greeff, "Start and End positions of Pick and Place Puzzle on Workspace 5," M. S. H. 2011, Ed., 1.4.2 ed, 2011. [6] Robin Read Tony Belpaeme, Joachim de Greeff, "Start and End positions of Aztec Tomb," M. S. H. 2011, Ed., 1.4.2 ed, 2011. [7] Robin Read, "Large and Small Lego Blocks," 2008.

VIII. CONCLUSION Author gained a lot of knowledge on tackling difficulties during the creation of the simulation and more importantly whilst programming an anthropomorphic robot arm to function as required. For the assignment 3, Duplo blocks were used, however it was observed that these blocks are not strong enough to be handled by industrial robots. Although the task was to calibrate the Geometry Points to detail so that the robot could not damage the blocks, however the accuracy of the robot is not as high as expected and unexpected errors or behaviors resulted in damaging the blocks. Using stronger blocks such as metal or harder plastic would help preventing this problem. It was observed that the offline programming can be inaccurate and can force online programming. It can be said that the most suitable method of programming an industrial robot is the trial and error method by using online programming techniques, with the cost of time. Another observation was the time taken to transfer Melfa Basic code to the robot. Although this task was only a simple pick and place task and the code was considerably short when compared to more complex tasks, the transfer was taking a considerable amount of time. This being said, the strength and advantages of offline programming can be questionable, which highlights

Das könnte Ihnen auch gefallen