ROBIN: The Robotic Inspector
The Intelligent Robotics Lab at Vanderbilt University continually seeks to develop unique robotic systems which address specific application areas.A former development was in the area of mobile robots for inspection. After several discussions with TDOT and civil engineers, inspection of man-made structures was selected to be the primary application area. ROBIN the ROBotic INspector was developed as a multi-purpose, robotic inspection vehicle to support further research in this area. The prototype shown abovewas intended to be used for bridge inspection, and eventually serve the larger goal of inspection many types of man-made structures including buildings, ships and planes.
ROBIN was patented September 3, 1996 in the United States (Patent Number: 5,551,525) by Robert T. Pack, Moenes Z. Iskarous, and Kazuhiko Kawamura.
Technical DescriptionROBIN is a 4 DOF serial mechanism with fixtures at each end. By fixing one end of the mechanism and moving the other, ROBIN can walk, turn and transition between surfaces. ROBIN uses all off-the-shelf gears, bearings, and fittings so the system can be reproduced easily and inexpensively. ROBIN's motions are powered by Rubbertuators which are rubber pneumatic muscles that have a high strength-to-weight ratio. The pneumatic muscles and vacuum fixtures are controlled by a master-slave network of microcontrollers that continually monitor pressure, valve settings, and joint angles to keep the robot in position and on course. Chain tension of each joint is maintained by a "torque" controller. Initially, each joint's microcontroller is loaded with a table of pressures and corresponding encoder positions. Motion is achieved by applying an additive pressure, or "torque", to a rubbertuator in the desired direction of rotation. Power is provided to the robot by an umbilical cord that carries air lines, DC power, and a serial communication line for interfacing with a host computer that directs ROBIN's actions.
Advantages of ROBIN
- High Mobility
- Walks on planar surfaces (horizontal or vertical).
- Transitions between horizontal and vertical surfaces, as shown in this image.
- Steps over obstacles and gaps on surfaces.
- Large Sensor Payload - 8Kg for prototype.
- Scalable to Task - Design can be enlarged or miniaturized for a specific task.
- Light Weight - 20Kg for prototype.
- Versatile Fixtures - Handles many types of surfaces using interchangeable vacuum, magnetic, and grippers.
- Parallel Multicontroller - Modular, extensible control system that can support fault tolerance and hot-swapping of controllers.
Applications of ROBIN
- Building Inspection - Outer walls, windows, elevator shafts.
- Aircraft Inspection - Wings, fuselage, cowling, engine mounts.
- Ship / Tanker Inspection - Outer Hull, inner tank surfaces.
- Bridge Inspection - Support columns, superstructure, bearings.
ROBIN's locomotion control mechanism is designed using a group of object-oriented classes that allow the derivation of behavior-based classes. These classes contain a behavior and wire manager, communications thread for input/output, and a setup function for connecting the various wires to behaviors. ROBIN's control system consists of zero, slew, foot, contract, extend, and sequence behaviors. A diagram of this system is shown below.
The zero behavior is the lowest level behavior of the system. This behavior uses a timeout as a sort of interrupt. Once an interrupt occurs, the zero behavior sends a torque of zero to all joints. Torque, in this context, is an additive pressure to the normal pressure required to keep the chains tensioned around a joint. Torque is positive or negative depending on the desired direction of joint rotation. By constantly timing out and sending a torque of zero, this behavior "relaxes" the system when not being acted on by higher-level behaviors.
The slew behavior allows the two degree of freedom ankle to move in unison by linking one joint to the other. It uses a pre-determined encoder offset to keep the joints aligned. Turning is possible by subsuming this behavior from a higher-level.
The foot behavior occupies the first level of the system. There is one behavior for each foot in the system. This behavior responds to surface detection by IR sensors. It then triggers the corresponding vacuum pump to activate/deactivate.
The contract behavior is a level two behavior in the system. It is signaled to run by the sequence behavior when the knee is extended and both vacuum pumps are activated. It monitors encoder positions of nodes three and four's ankle joints and the knee. It first lifts the free foot, then closes the knee, finally lowering the free foot again. Pre-defined encoder goals feed a rule-based positioning algorithm. This positioning algorithm is utilized by all joints to achieve the desired pose. If the current position is above the target, we load the maximum negative torque into the joint. Likewise, if the position is below the target then we load the maximum positive torque into the joint. When we pass the desired target, we load an "approximation" torque that attempts to maintain the target position. We decrement or increment this approximation according to whether we drop below or rise above the target position when our approximation is loaded.
The extend behavior is also a level two behavior. It acts similar to the contract behavior. The only difference being what foot it lifts and it opens the knee rather than closes it. It, too, is signaled by the sequence behavior. Sequence also signals extend when not to run which causes the behavior to reset its state variables.
This is the fourth, and highest, level behavior. It monitors the vacuum pumps of each foot and the knee position. Based on these three variables, it determines which behaviors should run and activates them. It also subsumes the vacuum pumps during transitions to allow each foot to be lifted. When necessary, it signals behaviors to reset their state.
The behavior controller was programmed in Microsoft Visual C++ 4.0 under Microsoft WindowsNT 4.0. It allows for a simple interface to the many parameters of the system. In addition, these parameters are serializable to disk so that different climbing implementations may be experimented with. The behavior controller communicates with the a network of 68HC11 joint controllers via RS-232 at 19.2kBaud.
ResearchROBIN has demonstrated horizontal walking on a planar surface using the behavior-based controller explained above. We are now extending the controller to perform horizontal to vertical transitions. In the future, hardware and software modifications will be made that enable ROBIN to readily scale vertical surfaces.
ROBIN is currently only a proof of concept design. In the future, it could be developed further; increasing the payload, decreasing weight, improving mobility and robustness, and finally integrating the robot into the framework of a structural inspection system. This inspection systemcould use sensors to gather data from a structure and provide on-line control and data logging. ROBINachieved the first of four stages of planned development.
- Stage 1: Demonstrate ROBIN's feasibility and proof of concept by walking on a horizontal surface.
- Stage 2: Extend ROBIN's control to include vertical climbing and horizontal to vertical surface transitioning. This includes upgrading the hardware to accelerate development and allow ROBIN faster response times.
- Stage 3: Perform field experiments on structures such as bridges and buildings.
- Stage 4: Design a second prototype building upon experiences with ROBIN.