Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
3,14 MB
Nội dung
Towards Simulation of Custom Industrial Robots 341 input pins is read continuously. Function of the input pins state, the routine either sends a message to the Gumstix micro-computer or stops the motors if needed. The motors control routine controls the four Devantech H-Bridges using the I2C protocol. Each H-Bridge can open a serial communication line using a data register. The data register can be configured using the 4-mode switches placed on each H-Bridge. The PIC microcontroller selects which H-Bridge to control with the help of the built-in i2c_start, i2c_write and i2c_read functions. 4. The Simulation Software Application According to Zaratti, a simulation tool for industrial robots must accomplish the following requirements (Zaratti et al., 2006): • Flexibility: the tool should allow the simulation of various types of robots, sensors and actuators. The working space of the robot(s) should allow easy modeling; • Physical realism: to obtain good results, the interaction between the robot and the simulated working space should be modeled by using physical law and rigid body dynamics laws; • Visual realism: the entire system should be as realistic as possible in order to obtain a correct representation of the data collected from the sensors; • Efficiency: the simulation must be made in the most efficient way, preferable at a maximum refresh rate; • Modularity: the simulator should allow the modification of the working space and the robot components; • Effective control: the simulator should be able to interact with the robot controller software packages. The requirements above can be accomplished when talking about well-known robot types from the market. Even in this case the effective control is very hard to be made and the programmer(s) should be familiar with a large number of robots, robot controllers, sensors and actuators. More than that, in case of a custom robot the simulator must be flexible enough in order to simulate custom components. Therefore, we proposed that in case of a custom industrial robot the simulator should be designed and built from scratch. The idea of building a simulator from scratch may be discouraging but analyzing the variety of methods for creating a 3D simulator it becomes an encouraging idea. Since our simulation system contains a single industrial robot, the first requirement would be only partially accomplished. In order to be able to accomplish all the requirements we decided to create the simulation software by modeling with open-source programming languages. Therefore, we used Linux operating system, Qt4 programming language to design the interface and OpenGL to create the 3D simulation scene. 4.1 The simulator main window The main window of the simulator (Fig. 6) was designed and built in Qt4 programming language (Blanchette & Summerfield, 2006). Qt4 is a cross-platform application framework used desktop or embedded development. We choose this platform because of the advantages provided: • free and open source for Linux operating system; Robot Manipulators 342 • rich set of application building blocks; • easy to use and learn; • implemented in C++ and provides support for C++ development; • has implemented support for OpenGL. Figure 6. The main window The main window program consists of four primary classes, five secondary classes and two experimental classes (Fig. 6). Figure 7. Main program classes and data flow The data exchange between the program classes is made with the help of Qt signals and slots. The signals and the slots are predefined or user defined functions interconnected by the Qt connect function. When a signal is emitted by a function or a class, the corresponding slot Towards Simulation of Custom Industrial Robots 343 function loaded. From the programming point of view this represents an advantage and leads to an easy exchange of data between the classes. The right side of the main window consists of information read by the tcpMainThread class from the Gumstix micro-computer. The tcpMainThread acts like a TCP/IP client class. The TCP/IP server resides on the robot controller and sends the sensors and motors status on connection start and every time a sensor or a motor changes its state (if a client is connected). Based on the joints position read by the multiplexer and PIC microcontroller, the “Current Position” group indicates the current gripper position relative to the robot base. The gripper position is calculated with the forward kinematics equations implemented as variables in the Gumstix program and sent to the client main window through TCP/IP. The “Sensor Status” group contains five pairs of edit boxes indicating the stroke limit sensors status for each of the four joints and for the robot gripper ( open and closed state). Function of the TCP/IP connection status, the “WiFi Connection” group can indicate three types of status messages: “Connected”, “Not connected” or a connection error message (Fig. 8). Figure 8. WiFi TCP/IP connection status The simulation program is able to run in two modes: real mode and simulation mode. In real mode, the program read the information from the robot controller via TCP/IP and any change of data from the main window is changing the position of the virtual model from the simulation window. In simulation mode, the “ Set Position” and “Motion Axis” groups are disabled (Fig. 9), the simulation window is automatically opened and the virtual model of the robot moves from initial position to the position given by the “ Set Position” parameters. Figure 9. The simulation modes Robot Manipulators 344 4.2 The simulation window The simulation window is OpenGL based and contains a primary class named openglWindow which is a child class of the main program class irSim. Therefore, the elements from this window can be easily controlled by the main window. The openglWindow is linked with a secondary class (child class) named glWidget which handles the graphical simulation process with the help of the OpenGL functions. OpenGL is the premier environment for developing portable, interactive 2D and 3D graphics applications. Since its introduction in 1992, OpenGL has become the industry's most widely used and supported 2D and 3D graphics application programming interface (API), bringing thousands of applications to a wide variety of computer platforms. OpenGL fosters innovation and speeds application development by incorporating a broad set of rendering, texture mapping, special effects, and other powerful visualization functions. Developers can leverage the power of OpenGL across all popular desktop and workstation platforms, ensuring wide application deployment. OpenGL routines simplify the development of graphics software—from rendering a simple geometric point, line, or filled polygon to the creation of the most complex lighted and texture-mapped NURBS curved surface. OpenGL gives software developers access to geometric and image primitives, display lists, modeling transformations, lighting and texturing, anti-aliasing, blending, and many other features. Our simulation window reproduces the robot structure at a small scale (Fig. 10). Figure 10. The simulation window The simulation window is split into two main parts: the graphical simulation widget and the simulation control elements. Every component of the virtual model is represented by an OpenGL list and the position and orientation of the components is based on then values set by the simulation control elements. By using OpenGL lists the objects are precompiled and the simulation process is performed faster. Each list contains sets of functions which generate the objects from OpenGL primitives: points, lines, quads, disks, etc. The process of Towards Simulation of Custom Industrial Robots 345 building the lists is difficult and requires the exact knowledge of the object dimensions. Anyway, once created, the objects can be easily modified by changing their dimensions and visual properties. Our robot simulation process can be performed automatically or manually. The simulation is performed automatically when the main program is set on real motion mode and is connected to the robot controller. Also, the simulation performs automatically when the OpenGL window is opened by the main window simulation mode. To simulate the robot manually the main program should not be connected to the robot controller. In this case, the virtual model of the robot can be moved in any possible position by changing the values of the joints positions. The joints positions can be changed both from the “ Simulation” group slide bars and from the “ Joints position” group spin boxes. At any change of the joints position the gripper coordinates are displayed in the “ Gripper position” group edit boxes. The gripper position is calculated automatically using the forward kinematics equations, no matter if the simulation process is performed manually or automatically. When the gripper coordinates are received from the main window the joints positions are calculated using the inverse kinematics equations and the virtual model of the robot is positioned accordingly (Fig. 11). Figure 11. Robot virtual model in a particular position 5. Conclusions In order to create a simulator for custom industrial robots, it is very important to know the forward and inverse kinematics equations of the robot structure, the controller output data and the limitations of the robot mechanical components. In this paper we presented the steps for building a simulation program for a custom industrial robot. The first step was the robot modeling where we obtained the forward and inverse kinematics equations used as motion laws both for the simulated and for the real robot. The second step was the design of Robot Manipulators 346 an open architecture robot controller able to communicate with TCP/IP clients. The last step was the design of an open source flexible simulation program, able to reproduce the real robot as realistic as possible. By designing and building this simulation system we implemented a free and easy to use simulation method which can be easily implemented in other research areas. The use of OpenGL features lead to a flexible simulation program which can be easily modified function of the system needs. With regards to the information presented in this chapter we conclude that the simulation system of the robot is a great step forward for us in our research within the field of industrial robot simulation. 6. References Blanchette, J. & Summerfield, M. (2006). C++ GUI Programming with QT4, Prentice Hall Publishing, ISBN 0-13-187249-4. Dai Gil, L., (2005). Axiomatic Design and Fabrication of Composite Structures, Oxford University Press, ISBN 0195278777, pp. 513. Gerkey, B.P., Vaughan, R.T. & Howard, A. (2003). The Player/Stage Project: Tools for Multi- robot and Distributed Sensors Systems, Proceedings of the International Conference on Advanced Robotics (ICAR), pp. 317-323, ISBN 972-96889-9-0, June 30 - July 3, 2003, Coimbra, Portugal Laue, T., Spiess, K. & Rofer, T. (2005). SimRobot - A General Physical Robot Simulator and its Application in RoboCup, Proceedings of RoboCup Symposium, Universitat Bremen Lazea, Gh., Rusu, R.B., Robotin, R., Sime, R. (2006). The ZeeRO mobile robot - A modular architecture, RAAD 2006 International Workshop on Robotics, ISBN 963-7154-48-5, Balaton, Hungary Negran, I., Vuscan, I. & Haiduc, N. (1997). Robotics – Kinematics and Dynamic Modelling, Didactic and Pedagogic Publishing, ISBN 973-30-5309-8, Bucharest, Romania Rohrmeier, M. (2000). Web Based Robot Simulation using VRML, Simulation Conference Proceedings, ISBN: 0-7803-6579-8, vol. 2, pp. 1525-1528, Orlando, U.S.A Rusu, R.B., Lazea, Gh., Robotin R. & Marcu C. (2006). Towards Open Architectures for Mobile Robots: ZeeRO, IEEE-TTTC International Conference on Automation, Quality and Testing, Robotics AQTR 2006 (THETA 15), pp. 260-265, 25-28 May, 2006, Cluj- Napoca, Romania Wang, J., Lewis, M., Gennari, J. (2003). A game engine based simulation of the NIST Urban Search & Rescue arenas, Proceedings of the 2003 Winter Simulation Conference Zagal, J. C. & del Solar, J. R. (2004). UCHILSIM: A Dynamically and Visually Realistic Simulator for the RoboCup Four Legged League. In RoboCup Symposium 2004, Robot Soccer World Cup VIII. Zaratti, M., Fratarcangeli, M. & Iocchi, L. (2006). A 3D Simulator of Multiple Legged Robots based on USARSim, Proceedings of RoboCup Syposium, Bremen, Germany 19 Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform Adrian Martin and M. Reza Emami University of Toronto Institute for Aerospace Studies Canada 1. Introduction The need for developing high quality systems with short and cost-effective design schedules has created an ongoing demand for efficient prototyping and testing tools (Wheelright & Clark, 1992). In many engineering applications failure of a system can have severe consequences, from loss of hardware and capital to complete mission failure, and can even result in the loss of human life (Ledin, 1999). The earliest form of prototyping, physical prototyping, began with the development of the first system, and it refers to fabricating a physical system to evaluate performance and test design alterations. There have been many advances in this field, such as the use of scaled models (Faithfull et al., 2001), but in most cases the time and cost involved in building complete physical prototypes are prohibitive. With the advent of computers a new form of prototyping, termed analytical prototyping, has become a second viable option (Ulrich & Eppinger, 2000). Computer models are generally inexpensive to develop and can be quickly modified to experiment with various aspects of the system. However, this flexibility often comes at the cost of approximations used to model complex physical phenomena, which in turn lead to inaccuracies in the model and system behaviour. A prototyping tool that has been gaining significant popularity in recent years is hardware-in-the-loop simulation, which can effectively combine the advantages of the two traditional prototyping methods. The underlying concept of hardware-in-the-loop (HIL) simulation is to use physical hardware for system components that are difficult or impossible to model and link them to a computer model that simulates the other aspects of the system. This technique has been successfully applied to development and testing in a wide range of engineering fields, including aerospace (Leitner, 1996), automotive (Hanselman, 1996), controls (Linjama et al., 2000), manufacturing (Stoeppler et al., 2005), and naval and defence (Ballard et al., 2002). This research investigates the application of HIL simulation as a tool for the design and testing of serial-link industrial manipulators, and proposes a generic and modular robotic hardware-in-the-loop simulation (RHILS) architecture. The RHILS architecture was implemented in the simulation of a standard industrial manipulator and evaluated on its ability to simulate the robot and its usefulness as a design tool. The remainder of this section briefly reviews the state-of-the-art in HIL simulation across a broad range of fields, highlighting some of the key benefits and considerations, and then summarizes the current work of other researchers in the specific field of robotic Robot Manipulators 348 manipulators. Section 2 presents the details of the RHILS architecture and an analysis of the load emulation mechanism. The hardware setup designed to evaluate the effectiveness and viability of the RHILS architecture is outlined in section 3. This setup was used to simulate a 5-d.o.f. industrial manipulator during a real-world design scenario and the comparison between the RHILS setup and a complete physical prototype is presented in section 4. The conclusions from this research are presented in section 5, discussing the strengths and weaknesses of the RHILS platform implementation and the direction of current research. 1.1 Hardware-in-the-Loop Simulation Hardware-in-the-loop simulations have been used successfully in a number of engineering fields, but found their first application in aerospace flight control systems (Maclay, 1997). The increasing importance of several factors has led to an increase in the use of HIL simulation as a tool for system design, testing, and training. These factors are listed in (Maclay, 1997) as: reducing development time, exhaustive testing requirements for safety critical applications, unacceptably high cost of failure, and reduced costs of the hardware necessary to run the simulation. These factors are mentioned repeatedly throughout the literature along with a number of other benefits of HIL simulation, which are demonstrated in the following paragraphs. By using physical hardware as part of a computer simulation it is possible to reduce the complexity of the simulation and incorporate factors that would otherwise be difficult or impossible to model. The effectiveness of this technique was shown by the contact dynamics HIL simulator developed by the Canadian Space Agency. This simulation was of the manipulator motion for the Special Purpose Dexterous Manipulator (SPDM) to be installed on the International Space Station. The setup linking a computer simulation of the space manipulator to a physical hydraulic robot described in (Aghili & Piedboeuf, 2002) was successful in simulating the free motion and contact dynamics of the manipulator, a task that would be impossible with a pure computer simulation. Another benefit of HIL simulation exemplified in (Aghili & Piedboeuf, 2002) is the ability to simulate a 0-g environment, desirable since many space robots are incapable of operating in 1-g conditions and so physical prototyping is impractical. The use of HIL simulation in machine tools and manufacturing systems is discussed in (Stoeppler et al., 2005). In addition to mentioning the cost, safety, and development time benefits, (Stoeppler et al., 2005) talks about how it can be used to safely and economically test new ideas and allow the concurrent design of hardware and software components. An innovative application is detailed in (Faithfull et al., 2001), where they present the success of a HIL simulation used in conjunction with scaled physical prototyping during the design of a 4x4 electric vehicle. The HIL simulation proved to be an effective design tool, and had the added benefit of improving the credibility of the results when presented to both technical and non-technical persons (Faithfull et al., 2001). Other applications of HIL simulation include embedded computing and field robotics. In embedded computing HIL simulation is used because many of the systems are safety critical and require thorough and accurate testing (Ledin, 1999). In the field of robotics the applications range from underwater vehicle testing (Lane et al., 2001), to aerospace robotic manipulators (Aghili & Piedboeuf, 2002), to multi-agent mobile robot systems (Hu, 2005). When implementing software for HIL simulations such as those described above it is often beneficial to use object-oriented or graphical modelling techniques (Kasper et al., 1997). Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform 349 Programming tools such as Dymola, based on Modelica®, make it easier to model complex mathematical systems by facilitating the decomposition of the system into components and allowing them to be connected using a graphical interface (Aronsson & Fritzson, 2001). This object-oriented approach has the additional benefit of translating easily to multiprocessor systems which can avoid computational limits that may otherwise prevent real-time simulations of complex systems (Kasper et al., 1997). It is obvious that HIL simulation has been successfully applied in many areas and proven a useful design tool which reduced development time and costs (Stoeppler et al., 2005; Hu, 2005), and with the ever improving performance of today’s computers it is possible to build HIL simulations without specialized and costly hardware (Stoeppler et al., 2005). However, (Ma et al., 2004) offers the caution that, as with any type of simulation, it is necessary to extensively validate the results before making use of the simulation. Based on the validation of the SPDM Task Verification Facility, (Ma et al., 2004) proposes a two-step methodology: the first step is verification at a general, higher level, while the second step is verification at a more detailed engineering level. With these considerations taken into account HIL simulation can be an extremely powerful design and testing tool. 1.2 Robotic Hardware-in-the-Loop Simulation HIL simulation is receiving growing interest from researchers in the field of robotics, and has been applied from a number of different perspectives. These approaches include: robot- in-the-loop simulations, such as the platform used for the task verification of the SPDM at the Canadian Space Agency (Piedboeuf et al., 1999) or the use of both real and simulated mobile robots interacting with a virtual environment (Hu, 2005); controller-in-the-loop simulations, where a real control system interacts with a computer model of the robot (Cyril et al., 2000); and joint-in-the-loop simulations, which use a computer model to compute the dynamic loads seen at each joint and then emulate those loads on the real actuators (Temeltas et al., 2002). Each of these approaches applies the HIL concept slightly differently, but all have produced positive results. In the recent work (Aghili, 2006) a hardware setup similar to that which was developed for this research is described. It focuses on the simulation of a simple 2-d.o.f. planar manipulator and includes environmental controls which allow testing in space-like thermal/vacuum conditions. 2. Platform Architecture 2.1 RHILS Architecture The RHILS platform architecture developed for this research allows for simultaneous design and testing of both the joint hardware and control system of a robot manipulator. The architecture is designed to be adequately generic so that it can be applied to any serial-link robot manipulator system, and focuses on modularity and extensibility in order to facilitate concurrent engineering of a wide range of manipulators. This section presents a detailed breakdown of the main blocks of the architecture. The architecture is separated into four subsystems: (a) the User Interface, (b) the Computer Simulation, (c) Hardware Emulation, and (d) the Control System, which are described below with reference to Fig. 1. These subsystems are further partitioned into two major categories: RHILS Platform components (indicated with a white background), and Test System Robot Manipulators 350 components (indicated with a grey background). The RHILS Platform components are generic and should remain largely consistent over multiple applications, while the Test System components are part of the system being designed and/or tested on the platform. Depending on how much of the system is implemented in hardware versus how much is simulated it is possible to tailor the setup to all phases of the design cycle, and the architecture is designed to make adjusting this ratio as easy as possible. A1 User interface host computer A2 Control system user interface and trajectory setup A3 Simulation user interface and scheduler B1 Motor interface block, converts between actual hardware signals and the standardized form used in the simulation B2 Joint assignment for the module B3 Inverse dynamics simulation B4 Control interface block, converts between actual control signals and the standardized form used with simulated actuators B5 Simulated model of an actuator, for cases where the hardware module is unavailable, impractical, or unnecessary C1 Drive electronics for Test Motor C2 Test Motor C3 Differential rotary encoder C4 Harmonic drive transmission C5 Detachable coupling to allow test hardware to be swapped in and out C6 Load Motor C7 Reaction torque transducer, for closed loop control and data acquisition C8 Drive electronics for Load Motor D1 Trajectory planner D2 Position controller A grey background indicates that section is part of the system being designed and tested using the RHIL platform Figure 1. RHILS Platform Architecture [...]... 23, No 2-3, pp 311- 324 Chhabra, R & Emami, M R (2008) Concurrent Design of Robot Manipulators Using Hardware-in-the-loop Simulation, 2008 IEEE International Conference on Technologies for Practical Robot Applications (TePRA), Massachusetts, USA, November 2008 Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform 371 Craig, J (1989) Introduction to Robotics Mechanics... point Due to the natural dexterity of robot manipulators, the space of solution is non-linear and multidimensional, where more than a single solution exists to solve a particular point in the Cartesian space and choosing the appropriate solution requires an optimisation approach Taking this into consideration, the solution of the motion planning problem of robot manipulators is an ideal candidate for... prototype robot Three sets of tests were carried out to evaluate the design capabilities of the platform The first was done to compare the performance of the RHILS platform to the prototype when the same control system Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform 367 modifications were made on each The second set involved comparing the performance of the robot. .. configurations early in the design phase Figure 16 Design Capabilities: Payload Simulation, Shoulder Joint 370 Robot Manipulators 5 Conclusion The RHILS architecture and suitable hardware implementation were proposed as a coherent strategy for applying HILS techniques to the simulation and design of robot manipulators First, it was shown that the architecture was able to run on a standard computer with modest... system is minimal Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform 363 4 Case Study In order to evaluate the true potential of the RHILS platform it was applied to the simulation of a generic industrial robot manipulator, namely the CRS CataLyst-5 from Thermo Fisher Scientific Inc The CataLyst-5, pictured in Fig 11, is a midsized 5-d.o.f manipulator with a... Liu, M (2004) On the validation of SPDM task verification facility Journal of Robotic Systems, Vol 21, No 5, pp 219-235 Maclay, D (1997) Simulation gets into the loop IEE Review, Vol 43, No 3, pp 109 -112 Martin, A (2007) Development of a Modular Hardware-in-the-Loop Simulation Platform for Synthesis and Analysis of Robot Manipulators, M.A.Sc Thesis Report, University of Toronto, April 2007 Piedboeuf,... simulate the robot Three sets of tests were carried out: (a) sinusoidal trajectories, first on each joint individually and then on all joints simultaneously, (b) random trajectories, Design and Simulation of Robot Manipulators using a Modular Hardware-in-the-loop Platform 365 again on each joint individually and then on all joints simultaneously, and (c) a standard series of motions such as the robot would... a bidimensional graph called “Collision map” where the path of the second robot is represented against time and collision regions are identified The manipulators are modelled by spheres and the motion of the robots is restricted to straight-line paths An extension of this method is presented in (Chang et al., 1994), where the robots are represented as polyhedral and the minimal delay-time value, necessary... to simulate a completely new robot The exact hardware and control system from the robot were installed on the RHILS platform and the results were compared with the physical prototype in a series of tests Fig 12 shows the first three joints of the RHILS setup, where each Test Module includes the motor, belt transmission, and harmonic drive from the real manipulator Figure 11 CRS CataLyst-5 Manipulator... as a testbed for concurrent design strategies for reconfigurable robots using automated optimization techniques (Chhabra & Emami, 2008) 6 References Aghili, F & Piedboeuf, J.-C (2002) Contact dynamics emulation for hardware-in-loop simulation of robots interacting with environment, Proceedings ICRA '02 IEEE International Conference on Robotics and Automation, Vol 1, pp 523-529, 2002 Aghili, F (2006) . model of the robot is positioned accordingly (Fig. 11) . Figure 11. Robot virtual model in a particular position 5. Conclusions In order to create a simulator for custom industrial robots, it. then summarizes the current work of other researchers in the specific field of robotic Robot Manipulators 348 manipulators. Section 2 presents the details of the RHILS architecture and an. window simulation mode. To simulate the robot manually the main program should not be connected to the robot controller. In this case, the virtual model of the robot can be moved in any possible