Programming and Controlling PUMA Robot Arms

When I was a Ph.D. student at the Purdue University, I spent some time on upgrading the Purdue University’s RCCL system. To find out the pros and cons of other robot programming and control systems, I played with some of them  such as  RCCL,  Kali,  MultiRCCL, and Chimera.

Prof. V. Hayward of the McGill University was invited  to discuss the upgrade of  the RCCL system.  He kindly provided us the source code and schematics of his Kali system. Eventually  I  came up with a hybrid of the RCCL and the Kali systems.  

V. Haward was  a visiting scholar working with R. P. Paul when he “wrote” the RCCL system in C.  I can say the RCCL is  based on the Purdue University’s PAL system written in Pascal and R. P. Paul’s textbook. V. Hayward viewed a robot as a peripheral of a computer system and showed some C libraries for that device can do the programming and control of robots.  Since the RCCL was introduced,  the research area of robot languages had disappered.   

Unimation was  the only company which gave away electrical schematics and mechanical drawing with their robots. They even passed the company-confidential document on interfacing an external computer with their PUMA controller.  Thus,  the PUMA robots has been a popular research platform in robotics. Due to the limitations of the Unimation controller, people tried to build their own robot controllers for PUMA robots.

On the request of my former major professor, C. S. G. Lee, I gave a presentation to his students in 1989.  The following slides were prepared for that presentation. And then more slides were added in 1999 and 2005, respectively.  All the robotics textbooks  mention the history of robots or robotics, but the history of robot controllers is found  nowhere.  In some sense, my slides show you the history of  robot controllers.        


Hardware and software platforms for an industrial robot controller

Hardware and Software Platforms for Industrial Robot Controllers

Aug. 2008

Gyoung Hwan Kim. Ph.D.


  • State-of-art robot controllers ?
  • Design concept ?
  • Internals of robot controllers?
  • Next robot controller ?

Robot Programming

  • AL: Stanford Univ., 1981
  • VAL: Unimation, 1980
  • PAL: Purdue Univ., 1981
  • “Robot Manipulators”, R. P. Paul, 1981
  • RCCL: Purdue Univ., 1983
  • Multi-RCCL: JPL, McGill Univ., 1990
    Dead research areaNote that Samsung’s robot language is based on VAL.

Robot Control

  • Kinematics-based control: independent joint control
  • Dynamics-based control: ~1990
  • Direct drive arms
  • Flexible robot control
    Matured research area

State-of-art Robot Controller ?

Robot Controller Developed

Robot Controller developed for SCARA and transfer robots

Design Concept ?

Internals of Robot Controllers ?

Robot Controller Structure

Servo Controller Structures

  • Type 1. Drive interface board + 1-axis drives
  • Type 2. Servo board + “IPM + DC-link”s
  • Type 3. Servo board + IPMs + DC-link
    Note that 1-axis drive = servo processor + IPM + DC-link circuit.


Type 1. Servo Controller

  • High-power applications.
  • Conventional control scheme.
  • Commercial 1-axis drives.

Type 1 Drive Interface Board
(developed and tested)

  • TI TMS320F2812 DSP for linear interpolation.
  • FPGA for binary rate multiplication and encoder pulse counters.
  • 6 channel incremental encoder inputs (electrically isolated).
  • 6 channel pulse outs for 1-axis drives (electrically isolated).


Type 2. Servo Controller

  • High-power applications.
  • Flexible control schemes.

Type 3. Servo Controller

  • Low-power applications.
  • Flexible control schemes.

Type 3 Servo Board

  • The most powerful , flexible and advanced servo controller used in commercial industrial robot controllers.
  • Software –only implementation of position, velocity, and current control.
  • 1KHz current loop and 0.5 kHz position and control loop.
  • DSP load is less than 30%.

Type 3 IPM
(Intelligent Power Module)

Type 3 DC-Link Circuit

Robot Controller Structure

Main Processor Board

  • Hardware: X86 motherboard + PCI boards
  • Software: Real-time Linux (RTAI)

CPU Board
(off-the-shelf product)

  • Compact size and low power consumption: Mini-ITX board with an 1GHz VIA CPU.
  • 3 PCI board using a riser card.

Riser Card for 3 PCI Slots

 PCI Boards

  • High speed 4-port serial board: two RS232 ports and two RS422 ports.
  • CC-link PCI board: TI TMS320C2812 DSP with a dual-port memory.
  • RTAI RTDM drive driver for the serial board and Linux device driver for the CC-link board are also developed.

Four-port Serial PCI Board

CC-Link PCI Board

Profibus PCI Board

Parallel I/O board

  • Intelligent parallel I/O board – TI TMS320F2812 DSP.
  • Electrically isolated 24 inputs and 24 outputs.

Main-to-Servo Interface

  • Main processor to servo controller interface:
    – electrically isolated.
    – high-speed (2.5M bps) serial interface – RS422.

Tested Configurations

  • One SCARA robot + one X-Y robot.
  • Three X-Y robots.
  • One transfer robot with one driving axis.

SCARA + X-Y robots

LCD Transfer Robot with a Driving Axis

Next Robot Controllers ?

  • For larger robots, a drive interface board is developed.
  • If needed, RCCL can be used.


  • A flexible robot controller is developed and tested with SCARA robots and transfer robots.