programming and controlling puma robot arms
play

Programming and Controlling PUMA Robot Arms 1989, 1999, 2005 - PowerPoint PPT Presentation

Programming and Controlling PUMA Robot Arms 1989, 1999, 2005 Gyoung H. Kim, Ph.D. gyounghkim@open-robotics.com Contents I. Controlling PUMA Robot Arms with VAL, RCCL, Kali, or ALVIN, 1989. II. RCCL Variants and RCCL Porting Guide,


  1. Run-Time Structure 1. Synchronous processes i. Trajectory generator ii. Servo control iii. I/O process 2. Asynchronous process i. User process ii.Dynamic computations Processor Communication 1. Message passing 2. Shared memory ���

  2. Real-time Computing 1. Software support Host: Unix-based workstation Target: real-time operating system (VxWorks) Target-host communication - ethernet 2. Hardware support Servo CPUs: 1 ms servo rate PID control algorithm One CPU for three joints (CPU3 and CPU4) Computational CPUs: I. User program, trajectory generator, kinematics (CPU1) ii. Dynamic computation (CPU2) iii. Supervisor - all I/O information handling(CPU0) ���

  3. ���

  4. ��� Kali Graphic Simulator

  5. ��� Kali Graphic Simulator

  6. ��� Kali Graphic Simulator

  7. Spatial Relationships (Ring Structures) � � � � B M T A D C = Identity � where B : the Manipulator base transform M : the manipulator transform T : the tool transform A : the accommodation transform D : the drive transform C : the goal position of the control frame ���

  8. ���

  9. ���

  10. ��� ALVIN

  11. ALVIN (ALmost Very Intelligent, but Not) - Purdue's new robot system - Named by Prof. C S G Lee - Advanced system in hardware and software ���

  12. 72 ���

  13. ��� 73

  14. ALVIN Block Diagram(Stage I) SUN 3 workstation ethernet link VSB CPU 1 memory CPU 2 ethernet 68030 68030 board board VMEbus VMEbus adaptor Unimation MK I Qbus adaptor PUMA controller PUMA 560 ROBOT ARM ���

  15. ALVIN Block Diagram (Stage I) VMEbus System VSB Engineering CPU 1 Shared- CPU 0 Ethernet Computer 68030 Memory 68030 Controller Network VMEbus Bus Adaptor Unimation MK I Controller Bus Adaptor Qbus DRV-11 SERVO Digital Analog Power INTERFACE Servo Servo AMP. Arm Cable CLOCK PUMA 560 ARM ���

  16. ALVIN Block Diagram (Stage II) Engineering Computer Network VMEbus System SUN workstation Ethernet Card CPU 0 (68040) CRT CPU 1 (68040) CRT CPU 2 (68040) Unimation Unimation MK I CPU 3 (68030) MK III Controller Controller CPU 4 (68030) Shared Memory Qbus Adaptor Qbus Adaptor VMEbus Adaptor ADC ADC VMEbus Adaptor DRV-11 A-interface Arm Interface B-interface Digital Servo Digital Servo Clock / term. Paddle Analog Servo Arm Cable Paddle Arm Cable PUMA 560 PUMA 562 Robot Arm Robot Arm ���

  17. optinal disk teach Alter Spare terminal aux. Super. digimig driver pendant Quad serial Quad serial board board user I/O CPU CMOS memory I/O PCA connect interface board board A operator interface panel C B POT CX PCA interface interface ENC digital servo boards power amplifier high power servomotors function bd. potentiometers encoders arm signal board PUMA MK III CONTROLLER ���

  18. VME BUS VMEbus adaptor VME BUS SYSTEM UNIMATION Qbus CONTROLLER adaptor A interface B C POT CX PCA interface interface ENC digital servo boards power amplifier high power servomotors function bd. potentiometers encoders arm signal board PUMA MK III Controller Modified for ALVIN I ���

  19. VME BUS Parallel I/O ADC DAC Robot I/O Board Board Board Board Motor Current ENC POT C CX PCA interface power amplifier high power servomotors function bd. potentiometers encoders arm signal board PUMA MK III Controller Modified for ALVIN II ���

  20. ALVIN Block Diagram (Stage III) SUN workstation VSB ethernet CPU 1 CPU 2 CPU 3 CPU 4 CPU 5 memory board 68040 68040 68040 68030 68030 board VME BUS parallel Vision ADC DAC robot I/O parallel I/O board Board board board board I/O board CCD force/torque Cameras power Unimation sensor amplifier MK I & III PUMA Controllers PUMA 560 & 562 ROBOT ARMS ���

  21. References VME bus / VSB � � Wayne Fischer, � "IEEE P1014 - A Standard for the High-Performance � VME Bus," IEEE Micro, Feb. 1985. � Paul L. Borrill, � "MicroStandards Special Feature: A Comparison of � 32-Bit Buses," IEEE Micro, Dec. 1985. � Walter S. Heath, "Software Design for Real-Time Multiprocessor � VMEbus Systems," IEEE Micro, Dec. 1987. � Shlomo Pri-Tal, � "MicroStandards - The VME subsystem bus (VSB)," � IEEE Micro, Apr. 1986. � Craig MacKenna and Rick Main, � "Backup support gives VMEbus powerful multiprocessing � architecture," Electronics, Mar. 22, 1984. � � � VxWorks, VRTX [vrtx 1] James F. Ready, "VRTX: A Real-Time Operating System for Embedded Microprocessor Applications,“ IEEE Micro, Aug. 1986. [vrtx 2] J. Mattox, "A Multi-processor Approach to Using UNIX in a Real-Time Environment,“ WESCON '86 [vrtx 3] S. J. Doyle and P. Bunce, "Real-Time Multiprocessing Requirements,“ WESCON '86 [vxworks 1] Jerry Fiddler and Leslie Kirby, "How to use VMEbus and Ethernet to build real-time distributed systems,“ VMEbus Systems, Sep.-Oct. 1987. [vxworks 2] Jerry Fiddler and David N. Wilner, "VxWorks/Unix Real-Time Network and Development System,“ Mini/MicroNortheast, 1986 [vxworks 3] Wind River Systems, VxWorks version 3.20, 1987. ���

  22. PUMA/VAL [puma 1] B. Fisher and V. Hayward, "Communication Routines Between the LSI 11-03 and the 6503's", Purdue University, (undated, unpublished) [puma 2] B. Fisher and V. Hayward, "Robot Controller,“ Purdue University, (undated, unpublished) [puma 3] Unimation Inc., "Controlling the PUMA Series 500 Robot Arm Without using VAL", (undated, unpublished, company confidential) [puma 4] R. Vistnes, "Breaking Away From VAL, or How to use your PUMA without using VAL,“ Stanford University, (undated, unpublished) [puma 5] A. Melidy and A. A. Goldenberg, "Operation of PUMA 560 Without VAL,“ Robots 9, 1985 [puma 6] S.-Y. Lee, A Study on the Wrist Servo-Controller of PUMA-760 Robot, MS Thesis, Dept of ME, KAIST, Feb., 1986. [puma 7] P. Nagy, "A New Approach to Operating a PUMA manipulator Without Using VAL,“ Robots 12 and Vision '88, 1988 [puma 8] P. Nagy, "The Puma 560 Industrial Robot: Inside-Out,“ Robots 12 and Vision '88, 1988 [puma 9] Unimation Inc., Unimate Puma Robot Volume I - Technical Manual 398H1, Oct. 1981 [puma 10] Unimation Inc., PUMA MARK III Robot 500 Series Models 552/562 Equipment Manual 398AH1, Jan. 1987 [puma 11] R. M. Stanley, Host Control of PUMA 6503-based Servos Communication Protocol and Arm Specific information, June 1986. Unimation Inc., (company confidential) [puma 12] P. I. Corke, The Unimation PUMA servo system, MTM-226, CSIRO, 1994 [val 1] Unimation Inc., User's Guide to VAL version 12, June 1980 [val 2] Unimation Inc., Programming Manual User's Guide to VAL II version 2.0, Part 1 - Control from the System terminal Part 2 - Communication with a Supervisory System Part 3 - Real-Time Path Control Dec. 1986. [val 3] B. Shimano, "VAL: A Versatile Robot Programming and Control System,“ Proc. COMPSAC 79 [val 4] B. E. Shimano, C. C. geschke, and C. H. Spalding III, "VAL-II: A New Robot Control System for Automatic Manufacturing" IEEE Intl Conf on Robotics, Mar. 1984 [unival 1] E. M. Onaga and L. L. Woodland, "Six-Axes Digital Torque Servo for Robotics,“ Robots 11/ISIR 17, 1987 [unival 2] Unimation Inc., UNIVAL Robot Controller - 19 inch Rack Mount Equipment Manual Apr., 1988 LEVEL II [level II 1] R. Guptill and P. Stahura, "Multiple Robotic Devices: Position Specification and Coordination,“ IEEE Intl Conf. Robotics and Automation, 1987 ���

  23. RCCL ( a Robot Control C Library) [rccl 1] V. Hayward, Robot Real Time Control User's Manual, TR-EE 83-42, School of Electrical Engineering, Purdue Univ., Oct. 1983. [rccl 2] V. Hayward, Introduction to RCCL: A Robot Control 'C' Library, TR-EE 83-43, School of Electrical Engineering, Purdue Univ., Oct. 1983. [rccl 3] V. Hayward, RCCL User's Manual Version 1.0, TR-EE 83-46, School of Electrical Engineering, Purdue Univ., Oct. 1983. [rccl 4] V. Hayward, RCCL Version 1.0 and Related Software Source Code, TR-EE 83-47, School of Electrical Engineering, Purdue Univ., Oct. 1983. [rccl 5] J. Roger, "VAX-LSI Interprocessor FIFO", Purdue University, (undated, unpublished) [rccl 6] V. Hayward and R. P. Paul, "Robot manipulator Control Under Unix,“ ISIR 13/ Robots 7, 1983. [rccl 7] V. Hayward and R. P. Paul, "Robot manipulator Control under Unix RCCL: A Robot Control "C" Library," Intl J. Robotics Research, Vol.5, No.4, 1986. [rccl 8] J. S. Lee, S. Hayati, V. Hayward, and J. E. Lioyd, "Implementation of RCCL, a robot control C library on a microVAX II,“ SPIE VoL. 726, Intelligent Robots and Computer Vision, 1986. [rccl 9] D. Kossman and A. Malowany, "A Multi-processor Robot Control System for RCCL under iRMX,“ IEEE Intl Conf Robotics and Automation, 1987. [rccl 10] A. S. Malowany and M. Pilon, "An RCCL Simulator for the Microbo Robot,“ Computers in Eng., ASME, 1988. [rccl 11] J. Lloyd, M. Parker, and R. McClain, "Extending the RCCL programming Environment to Multiple Robots and Processors,“ IEEE Intl Conf Robotics and Automation, 1988. Kali V. Hayward, L. Daneshmend, A. Nilakantan, and A. Topper, A Selection of Papers " KALI Project “ McGill Research Center for Intelligent Machines, Aug. 1, 1989. A. Topper, The McGill Robot I/O Board Rev B, May 1989. ���

  24. ��� End of Part 1

  25. Gyoung H. Kim, Ph.D RCCL Variants 1999

  26. RCCL-related Systems RCCL v1.0-based • Multi-RCCL • RWRCCL • Qrobot • ARCL • ���

  27. ��� Configurations RCCL v1.0

  28. RCCL (Purdue, 1983) VAX-11780 UNIBUS Serial FIFO Teach Floppy Aux Pend. CRT CPU RAM ROM DLV-11J FIFO LSI-11 Qbus CLOCK DRV-11 SERVO Digital Analog Power INTERFACE Servo Servo AMP. current Arm Cable encoder Unimation Controller pulses PUMA 560 ARM ���

  29. ��� RCCL Architecture

  30. ��� RCCL Routines

  31. Routine Explanation (1) main(): The main program. (2) startup(): Connect "setpoint_n()" to the clock interrupt. Initialize and check hardware connection. (3) move(park): "park" is a built-in position. Usually the robot starts from this position. (4) pumatask(): The actual user process. Users write only this routine. (5) release(): Stop the trajectory generator. (6) setpoint(): The trajectory generator. (7) jnsend_n(): Send the setpoints to the robot controller in the global variable "chg". (8) getobsj_n(): Get the actual robot position from the global variable "how". (9) getobst_n(): Get the arm currents from the ADC from the global variable "how". ���

  32. ALVIN-RCCL (Purdue, 1991) 68030s/VxWorks VMEBus CPU #2 Shared Mem. CPU #1 Bus adapter � CRT Bus adapter Qbus CLOCK DRV-11 SERVO Digital Analog Power INTERFACE Servo Servo AMP. current Arm Cable encoder Unimation Controller pulses PUMA 560 ARM ���

  33. RCCL-ALVIN (Purdue, 1998) Host PC/QNX PCI Bus Bus adapter Bus adapter Qbus CLOCK DRV-11 SERVO Digital Analog Power INTERFACE Servo Servo AMP. current Arm Cable encoder Unimation Controller pulses PUMA 560 ARM ���

  34. ��� Software Architecture of ALVIN-RCCL

  35. RCCL / RCI (Standard) Host Computer Host computer bus Serial Parallel I/O Teach Floppy Aux Pend. Unimation Controller CRT CPU RAM ROM DLV-11J Parallel I/O LSI-11 Qbus CLOCK DRV-11 SERVO Digital Analog Power INTERFACE Servo Servo AMP. current Arm Cable encoder pulses PUMA ARM ���

  36. Multi-RCCL Multi-RCCL v5.0 • John Lloyd and Vincent Hayward, 1992. Official release of Multi-RCCL. Multi-RCCL v5.1 • John Lloyd, 1997. Simulation mode on Linux. Multi-RCCL v5.1.4 • Torsten Scherer, 1999. Unofficial modifications for Linux. ���

  37. ��� Hardware Architecture of Multi-RCCL

  38. RWRCCL RWRCCL(Roger Williams RCCL): • RCCL modified by Matthew Stein at Roger Williams University in 2000. Configuration • – ARM: a single puma560 only. – Hardware: PC + Trident TRC 004/006 boards. – Software: RCCL ported to rtlinux. Position control is added to RCCL. ���

  39. RWRCCL (TRC Boards) Host PC/Linux ISA bus TRC004 board Unimation Controller TRC006 Board Power amplifier Arm Cable PUMA ARM ���

  40. ���� Hardware Architecture of RWRCCL

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend