A Simulator for NASA's Shuttle Robot Arm

Edward K. Conklin
Manhattan Beach, California

"Factoring the application into separate,
largely autonomous modules, called 'processes,'
kept the development time short -- particularly the debugging time."

NASA's space shuttle carries a 50-foot long, six-joint arm for use in satellite deployment and retrieval operations, and to assist astronauts in servicing tasks such as the recent mission to repair and upgrade the Hubble Space Telescope. The arm, formally called the Remote Manipulator System (RMS), has ten different modes of operation, ranging from simple direct movement of the joints, one at a time, to very complex multi-joint motions directed by rotational and translational joysticks. Using the joysticks, an operator can command motion about any desired axis, and the RMS software will make all the coordinate transformations and complex calculations necessary to derive the needed command rates for each of the six joints. Arm control, status information, and positional displays are provided both by a hard-wired panel containing control switches, status lights, and digital displays, and by a series of interactive status and control screens on the shuttle's General Purpose Computer (GPC).

In order to plan for missions involving the RMS, there are also two ground-based versions of it, one at the Johnson Spaceflight Center in Texas (JSC) and one at the Goddard Spaceflight Center in Maryland (GSFC). Because of the need to work in a gravity environment and other specific design factors, the ground-based arms differ from the RMS and from each other. The GSFC arm, for example, is designed to carry up to a thousand pound payload at its tip. In order to do this, it uses a high pressure (4000 psi) hydraulic system rather than electric motors as on the RMS.

In June 1994, Forth, Inc. was selected to provide the overall control program for the GSFC arm, called the RMSS (Remote Manipulator System Simulator), along with Electrologic of America (ELA) who provided the control electronics and drivers. Because of the completely different nature of the joint controls, the original RMS software was not usable except as a source of algorithms. The basic requirements for the RMSS were that it must behave identically to the RMS as far as operational modes, display panels, and CRT screens were concerned, while interfacing to a new and different type of hydraulic control hardware. There were other constraints, such as the fact that, although this is a rate control system, the RMSS (unlike the shuttle RMS) has no tachometers and rate information had to be derived from differencing angular position data. Finally, the entire system was to be delivered in 60 days.

The RMSS proved to be an excellent application for EXPRESS, Forth, Inc.'s Event Management and Control System software package. The design methodology in EXPRESS, involving the factoring of the application into separate, largely autonomous modules called "processes," was an important factor in keeping the development time -- and particularly the debugging time -- short. The RMSS contains fourteen separate processes: one for each joint, one for each joystick, one for the digital display panel, a simulation process, a trending process, and several supervisory processes. Each process was developed and tested as a stand-alone unit, and was later integrated into the complete system.

EXPRESS contains, as a standard feature, full simulation capabilities which allow application testing without any I/O hardware present. During RMSS development, engineers simulated operation of the arm in all modes, including the joystick-commanded multi-joint motions with their involved mathematics. The simulation process in the RMSS application was used to convert commanded rates to simulated joint angles so that the full arm position was available on all the system displays. Simulation testing was so thorough that when the arm software was installed on site, not a single change was made to the executive control algorithms.

When working with the real arm hydraulic system, it became clear that major changes were needed in the low-level joint control processes to ensure smooth and accurate operation. First, because joint angle readouts are used for both position and rate, precise calibrations were necessary. EXPRESS' standard Historical Trending Display (HTD) was used to capture joint angles as a function of time; then later analysis of the graphs provided the necessary position and rate information.

Because of the large and changeable gravity loads on the system, it was not possible to achieve precise commanded velocities for the various joints without rate feedback. A PID control loop was developed for each joint, with rate feedback coming from an adjustable second-order software filter on the joint angle. This complexity was necessary because differencing angles to get rates is inherently a noisy process. Although this was a major change to each joint process in the RMSS, because of the inherent process isolation in EXPRESS there were no system-wide ramifications. In order to tune the filter coefficients and PID constants for each joint, EXPRESS' Process Monitor Display (PMD) was used extensively. This utility allows examination and on-line modification of all variables in a process. While the arm was running, it was possible to change the characteristics of each joint and observe the results without stopping to recompile and reload the software. In a single operating session of a few hours it was, therefore, possible to make a complete pass at optimizing all six joints in the system.

The complete checkout, debugging, and optimization of the RMSS on site took several weeks, including the inevitable hardware component failures and software modifications typical of first-time operation of a complex system. At the end of this period, in a two-day demonstration the RMSS operation successfully duplicated the original shuttle RMS. Astronauts from NASA's Johnson Spaceflight Center who had been trained on the RMS were able to use the RMSS after only a few minutes of explanation of the essential differences.

The author, who generally goes by "Ned," was one of the founders of Forth, Inc. In his former life, he was a radio astronomer at the National Radio Astronomy Observatory and NAIC, Arecibo, Puerto Rico. This article first appeared in Forth Dimensions XVI/6.