Hardware Abstraction for General-Purpose Robot Control, 10-R9832

Printer Friendly Version

Principal Investigators
Jeremy K. Zoss
Glenn R. Regner

Inclusive Dates:  07/01/08 – Current

Background - Traditionally, robotic software development has been tightly coupled with the specific hardware platform selected for deployment. End-users often must control the robot using a manufacturer-specific controller, communications protocol, or programming language. Users that need to deploy multiple robot types are forced to learn a variety of hardware and software interfaces to accomplish even the most basic tasks. Significant effort is spent duplicating existing code, control methods, or operator interfaces on multiple platforms, since cross-platform code reuse is extremely difficult. The continued growth of robotics into increasingly different industries and applications will only compound these difficulties. Users across many different fields have identified the need for a general-purpose control interface, to provide control consistency and promote hardware independence.

Approach - A generic control interface is a software module that receives signals from a variety of input devices and executes commands to cause the desired motion in different target robot platforms. Since the physical construction of robot platforms can vary greatly, it is expected that different detailed motion steps may be required to achieve the same high-level goal. For example, a two-wheeled robot might turn in-place to face its goal, while a caster-steered robot might follow a wide arc to reach the same target position. One of the functions of the generic control framework will be to generate the appropriate control strategies for physically dissimilar hardware platforms. Rather than develop independent standalone control modules for each target robot, the generic control interface will use a series of nested abstraction layers to maximize code reuse and algorithm consistency. This project will develop the hardware abstraction framework and test the design on three different robot platforms: two small mobile robots and an industrial fixed-base manipulator. A software implementation will support user input from both tele-operation (joystick control) and preprogrammed motion paths. This implementation will be used to provide both qualitative feedback from operators performing tele-operation tasks and quantitative feedback comparing motion performance of the different platforms.

Accomplishments - This project is approximately one-quarter completed, and the investigators are beginning to lay the foundations for the interface abstraction design. A generic motion interface has been defined, based on a comparison of control functions available in existing robot platforms. The next step will be to design the abstraction framework, including the structure and algorithms of the various abstraction layers.

2008 Program Home