|
Development of a High-Speed, Servo-Level Control, 10-9266 Printer Friendly VersionPrincipal Investigators Inclusive Dates: 07/01/01 - 11/01/02 Background - Several factors prevent the wider use of robotics in many industrial and commercial applications. A known shortcoming in robotics is the inability to control and maintain force contact with the environment. After the end-effector makes contact with the environment, control issues related to stick-slip friction, compliance, and transitions from open- to closed-kinematic chains, and parallel mechanisms (multiple fingers in contact with the grasped object) become significant and complex challenges. With respect to serial manipulators (robot arms) and other platforms (e.g., mobile robots or unmanned aerial vehicles), these contact issues couple with the already highly nonlinear, dynamic systems. While theoretical control solutions have been demonstrated analytically and in simulation, few systems are in production. In investigating critical elements toward solving these challenges, this project focuses on a key operating parameter of a robot controllerthe update rate. In general, without modifications to the controller hardware or software, the update rate is the rate at which one can close the control loop. The typical industrial robot update rate is 20 milliseconds or greater and is referred to as the major tick rate. In earlier work (Project 10-9133), SwRI reduced this update rate to approximately 10 milliseconds. To achieve the project goal of a one-millisecond update rate, the research team proposed to move code from higher architectural levels to the core (kernel) layer. Approach - The objectives of this research project were to determine the degree of improvement possible, while demonstrating that sufficient improvement can be achieved to provide adequate performance for force and torque (F/T) feedback control of manufacturing processes using the current generation of robot controllers. As shown in the first illustration below, the software used for this project consists of a hierarchy of layers that operate at differing update rates, including:
The challenge is to provide force/torque (F/T) feedback at a rate faster than the major tick rate, while still maintaining the major tick rate for the trajectory generator. The solution is to modify the servo object so that it executes at a rate between the major and minor tick rate, for example, two milliseconds. The modified software accesses the F/T data and updates the hardware at the new rate. The higher-level system activities still occur at the major tick rate, leaving the existing software for the trajectory generator and many other functions unaffected. At the same time, a faster update rate is possible for the F/T adjustments. The existing F/T fuzzy logic and F/T sensor software are integrated just above the servo object module layer. The increased F/T sensor update rate improves force feedback performance, thereby enhancing the precision of motion or permitting more rapid overall motion. The project was accomplished using the Staubli RX-170 laboratory robot running the Trajectory Motion System (TMOS) on the open Architecture Controller (OAC). TMOS operates using the LynxOS real-time operating system (OS). Accomplishments - The original proposal outlined a method for moving Fuzzy Controller functionality into the device driver. This move would incur the least overhead penalty from higher level (servo object, TMOS, etc.) code, but imposes significant constraints on the implementation, development, and usage of the fuzzy controller. The servo device driver functions in the operating system kernel space, and as such is granted special low-level access privileges not available to generic user space code. But, it must also meet a rigid set of timing and functionality limitations imposed on kernel-level code. After careful review and analysis, the servo object was determined to be the most appropriate layer for this work, because most of the overhead was determined to be in the trajectory generation and monitoring layer. The servo object provided the necessary access to the position data command stream and significant potential for update rate improvements (by avoiding TMOS overhead) without the implementation difficulties of modifying the servo device driver. The required separation between the TMOS (major) update rate and servo card (low-level) update rate was accomplished by adding a mid-level interpolation layer (see second illustration). In addition to the work to increase the available update rate, a Fuzzy Motion Controller (FMC) was devised to bring consistency to the fuzzy logic control using force feedback being reused from earlier projects. In the previous structure, each control problem (e.g., peg-in-the-hole) required hand coding of C routines to implement the operational strategy. A need was seen to provide structure to these strategies that did not require recompilation of the core software; in addition, this framework allowed for the creation of a consistent set of rules. Collectively, these demands led to the creation of the FMC. A further benefit of the FMC development is that it should be reusable. Given a controller, a real-time direct path control mechanism, and sufficient processing power, the FMC should be portable as a replacement motion planner; only the portions of the code that interface to the rest of the system should need to be changed (for example, the mechanism used to issue real-time position commands). This project has successfully modified the Servo Object layer of a robot controller to gain the timing and smoothness improvements required for force-feedback assembly applications and has demonstrated experimentally an update rate of 500 hertz. This 2-millisecond (ms) period is a four to five times improvement over our previous results, and as much as a ten times improvement when compared to a typical commercial robot controller. The modified system was tested with a range of problems in force-feedback control including free-space motion, compliant tool on plane, rigid tool on plane, and peg-in-the-hole. In all cases, the noisy motion characteristic of slow update rates and insufficient position command capabilities were eliminated. In addition, for the rigid tool cases (rigid tool on plane and peg-in-the-hole), the time to complete the task declined as the servo update rate was increased (16, 8, 4, and 2 ms). Of particular note, the peg-in-the-hole task, which had been all but impossible to perform using a previous version of the system, was successful using the system created as a result of this project.
|