NASA Goddard Space Flight Center
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 co-ordinate 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).
Photo by E.K. Conklin, FORTH, Inc.
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’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 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. It could be tuned for different loads (but was latter replaced with fuzzy logic control — see below). 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 with only a few minutes of explanation of the essential differences.
In order to further improve the joint control, a sophisticated fuzzy logic package based on Togai Infralogic’s
TIL_SHELL was added. A separate team of fuzzy logic experts used the Togai package to develop the rule base, delivering the result as a large C library for integration with EXPRESS, which called it at various points in the control logic using FORTH, Inc.’s bridgeFORTH utility for interconnection with external software.
Project manager Joe Mica, of NASA/GSFC, has presented a number of papers on this system. Reprints are available. At the joint IEEE/International Fuzzy Systems Association (IFSA) meeting in Yokohama, Japan, in April 1995, Mica also organized an information exhibit complete with video on the technology and performance.