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.        


Design and implementation of industrial robot controllers

Gyoung H. Kim, Ph.D. (E-mail:

저자는 국내외의 산업용 로봇, 수중 로봇, 의료 로봇, 반도체 로봇의 controller 및 software 개발에 참여한 바 있으며, 국내 산업용 로봇 개발의 초창기부터 현재에 이르기까지 다소 긴 기간 (30년)에 걸쳐 산업용 로봇에 대해 생각해 볼 기회가 많았던 engineer라 할 수 있다. 저자가 산업용 로봇 분야에 참여하면서 가졌던 기술적 의문점에 대한 해답이나 생각해 온 개발 방향에 대해, 시간이 날 때마다 memo 해 본 것들을 보고서의 형식으로 편집하여 보았다. 본 보고서를 통해 기존의 주요 연구 및 개발 결과와 저자의 관점에서 본 제어기의 개발 방향 및 방법을 소개함으로써, 실제 산업용 로봇 제어기의 개발 시 당면하는 많은 기술적 문제에 그 해답을 제시하고자 한다.

For over 30 years, I have been actively involved in the development of robot controllers for medical robots, underwater robot, and various industrial robots including  XYZ rectangular (Cartesian) robots, SCARA robots, LCD transfer robots, wafer transfer robots,and  sealing robots.

Believe it or not, I still design the hardware and write the software of industrial robot controllers as an engineer.  While working with other engineers,  I watched them “invent” their own robot controllers from scratch. I know why they should develop robot controllers in that way. I was in the same situation 30 years ago; I could not find any information on  “real” robot controllers, not the robot controllers that existed only on research papers.

To develop industrial robot controllers, I had to solve so many practical problems everyday. Recently I started to write down those problems and solutions in form of a technical report. My  report is not a textbook on robotics.  It is filled with all kind of  know-hows and  must-knows, which are needed for  designing  and implementing industrial robot controllers.

Design of a robot programming system using the VAL compiler

To figure out how to expand/extend the VAL robot programming language, I reverse-engineered the VAL language ROMs in 1985.

My master thesis shows  the internals of the VAL robot programming language. As far as I know,  there is  no other techical document that reveals the internals of a commercial robot programming language.

The  Japanese indistrial standard on robot programming languages tooks many commands from the VAL and  the descendants of the VAL are still used in many robot systems. Thus, it would be interesting to take a look at how robot programming languages began.

The draft of  my master thesis was written in English, but for some reasons the final version was re-written in Korean.