University of Utah
Department of Computer Science


Vision and Robotics:
Utah Robotics Lab Kit




Faculty

Graduate Students


URK: Utah Robot Kit and UPE: Utah Prototyping Environment

Prototyping is an important activity in engineering. Prototype development is a good test for checking the viability of a proposed system. Prototypes can also help in determining system parameters, ranges, or in designing better systems. We have designed and implemented a prototyping environment for electro-mechanical systems, and have chosen a 3-link robot manipulator as an example. In Designing a robot manipulator, the interaction between several modules (S/W, VLSI, CAD, CAM, Robotics, and Control) illustrates an interdisciplinary prototyping environment that includes different types of information that are radically different but combined in a coordinated way. Our environment enables flexible design using reconfigurable links, joints, actuators, and sensors, our environment also has the right ``mix'' of software and hardware components for designing the physical parts and the controllers, and for the algorithmic control for the robot modules (kinematics, inverse kinematics, dynamics, trajectory planning, analog control and computer (digital) control). Specifying object-based communications and catalog mechanisms between the software modules, controllers, physical parts, CAD designs, and actuator and sensor components was a necessary step in the prototyping activities. URK and its prototyping environment incorporates a flexible framework for design, real-time control, monitoring, and simulation of robot manipulators with the required subsystems and interfaces between the different components.

Our goal was to build a framework for the flexible design and control of robot manipulators with software and hardware systems and modules which are independent of the design parameters and which can be used for different configurations and varying parameters. This environment is composed of several subsystems. Some of these subsystems are:

Each subsystem has its own structure, data representation, and reasoning strategy. On the other hand, much of the information is shared among these subsystems. To maintain the consistency of the whole system, an interface layer was implemented to facilitate the communication between these subsystems, and set the protocols that enable the interaction between the subsystems to take place.

Another goal was to build a prototype three-link robot manipulator. This helped determine the required subsystems and interfaces to build the prototyping environment, and gave us hands-on experience for the real problems and difficulties to be addressed and solved using the prototyping environment.

Teaching robotics in most engineering schools lacks the practical side and usually students end up taking lots of theoretical background and mathematical basis, and maybe writing some simulation programs, but they do not get the chance to apply and practice what they have learned on real robots. This is due to the fact that most of the robots available in the market are either too advanced, complicated, and expensive (e.g., specialized industrial robots), or toy-like robots which are too trivial and do not give the required level of depth or functionality needed to demonstrate the main concepts of robot design and control. One of our goals in this project, was to build a robot that is simple, flexible, and easy to use and connect to any workstation or PC, and at the same time, is capable of demonstrating some of the design and control concepts. We also tried to keep the cost as low as possible to make it available to any engineering school or industrial organization. Therefore, we built URK (Utah Robot Kit) which is a three-link robot prototype that has a small size and reasonable weight which is convenient for a small lab or class room. URK can be connected to any workstation and soon to PC's through the standard serial port with an RS232 cable, and can be controlled using a software program with a graphical user interface.

URK is capable of non-trivial robotic tasks, and its motors and sensors are easily replaceable with different motors and sensors to perform different functions. The developed software enables operators to simulate, control, and monitor the robot in real time, using on-screen 3D graphics and even to design their own versions of robots. The system enables users to simulate the tasks they want the robot to perform and to monitor the jobs as they are actually being done. The graphical menu-driven user interface enables non-expert users to move the robot to perform any motion the user specifies.

The graphical user interface enables students in Robotics and Automatic Control classes to practically study and test the behaviour of the robot under different control parameters. The Utah Prototyping Environment (UPE) for Robot Manipulators software system serves as a communication tool between the different groups involved in the designing and building of any robot manipulator. It is very important to timely inform each group of any changes in the design that was made by another group, and to maintain a set of design constraints that should not be violated during the design process. Beside maintaining consistent data among the design groups, the system can also provide a design history of the decisions made during the design process and the results of each configuration chosen. This will help robot designers to study and analyze these decisions and avoid some mistakes in future developments.

The robot and the prototyping environment were designed and built by a group headed by Professors Tarek M. Sobh and Thomas C. Henderson from the Department of Computer Science and Professor Sanford Meek from the Department of Mechnical Engineering. Other team members include Professor Robert Mecklenburg in Computer Science; Mircea Cormos, coordinator of the Advanced Manufacturing Laboratory in the College of Engineering; and computer science graduate students Mohamed Dekhil and Anil Sabbavarapu.

This project involved the interaction and cooperation of several different research groups. The robotics group was involved in the design and analysis of the prototype robot, and also the implementation of the necessary software systems for the prototyping environment and for controlling and simulating the three-link robot. The Alpha_1 group was involved in designing the CAD/CAM model for the robot using the Alpha_1 CAGD (Computer Aided Geometric Design) system. The VLSI group helped in the analysis stage, particularly, in making the decision of using hardware vs. software solutions, this group was also involved in the design of the communication circuitry between the robot and the controller workstation. The Center of Software Science (CSS) helped in the design and analysis of the prototyping environment with the required communication protocols and database analysis. The Center of Engineering Design (CED) was involved in selecting the electrical and electronic components and helping out in the overall design and testing procedures for the robot manipulator. Finally, the manufacturing group at the Advanced Manufacturing Lab (AML) was involved in the manufacturing and assembly of the robot. Besides these groups, there was cooperation between the Departments of Computer Science and Mechanical Engineering in selecting the required components for the robot. A cataloging system that has been recently developed automates the selection process for some of the parts.

The importance of this project arises from several points:

The Department of Computer Science intends to make this robot available with its software to computer science and engineering departments and companies at near cost price.



Selected URK and UPE Publications:


Journal Papers

-
T. M. Sobh, M. Dekhil, and T. C. Henderson, ``URK and UPE : A Case Study in Computer-Aided Prototyping.'' Invited paper, IEEE Magazine on Robotics and Automation, August 1994.

-
M. Dekhil, T. M. Sobh, T. C. Henderson, and R. Mecklenburg, ``UPE: Utah Prototyping Environment for Robot Manipulators.'' Submitted to the Journal of Intelligent and Robotic Systems, October 1994.

-
M. Dekhil, T. M. Sobh, T. C. Henderson, and A. Sabbavarapu, ``URK: Utah Robot Kit - A Three-link Robot Prototype.'' Submitted to the IEEE Transactions on Robotics and Automation, October 1994.


Invited Papers and Book Chapters:

-
``Prototyping Activities in Robotics, Control, and Manufacturing'', Department of Defense Software Technology Support Center (DoD STSC) Annual Symposium, Salt Lake City, April 1994.

-
T. M. Sobh, M. Dekhil, and T. C. Henderson, ``URK and UPE : A Case Study in Computer-Aided Prototyping.'' Invited paper, IEEE Magazine on Robotics and Automation, August 1994.


Conference Papers

-
M. Dekhil, T. M. Sobh, T. C. Henderson, and R. Mecklenburg, ``UPE: Utah Prototyping Environment for Robot Manipulators''. Submitted to the IEEE International Conference on Robotics and Automation, Nagoya, Japan, May 1995.

-
M. Dekhil, T. M. Sobh, and T. Henderson, ``URK: Utah Robot Kit - A 3-link Robot Manipulator Prototype.''. In proceedings of the IEEE International Conference on Robotics and Automation, San Diego, May 1994.


Some URK parts


The follwing pages include a variety of URK parts:
Page 1
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7