Zero Behavior 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.
Slew
Behavior 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.
Foot
Behavior 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.
Contract
Behavior 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.
Extend
Behavior 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.
Sequence
Behavior 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.
Implementation 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.
Research
ROBIN 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.
Download a Video For
Windows animation of ROBIN taking a step! - ROBIN.AVI (~3.77MB,
Indeo R3.2 Compression)
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.
|