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 ���
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) ���
���
��� Kali Graphic Simulator
��� Kali Graphic Simulator
��� Kali Graphic Simulator
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 ���
���
���
��� ALVIN
ALVIN (ALmost Very Intelligent, but Not) - Purdue's new robot system - Named by Prof. C S G Lee - Advanced system in hardware and software ���
72 ���
��� 73
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 ���
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 ���
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 ���
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 ���
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 ���
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 ���
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 ���
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. ���
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 ���
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. ���
��� End of Part 1
Gyoung H. Kim, Ph.D RCCL Variants 1999
RCCL-related Systems RCCL v1.0-based • Multi-RCCL • RWRCCL • Qrobot • ARCL • ���
��� Configurations RCCL v1.0
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 ���
��� RCCL Architecture
��� RCCL Routines
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". ���
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 ���
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 ���
��� Software Architecture of ALVIN-RCCL
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 ���
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. ���
��� Hardware Architecture of Multi-RCCL
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. ���
RWRCCL (TRC Boards) Host PC/Linux ISA bus TRC004 board Unimation Controller TRC006 Board Power amplifier Arm Cable PUMA ARM ���
���� Hardware Architecture of RWRCCL
Recommend
More recommend