The first multimodal robot design which our lab built, iHop v.1, was a simple pogo-stick-like vehicle
with a small rack-and-pinion mechanism mounted on the center of the leg, used to add energy to each bounce to make up for losses.
This naïve initial prototype could stabilize a continuous hopping motion, but not robustly.
One of the key challenges of this prototype was the delicate linear bearings used to guide the leg motion.
Our team learned a lot from this initial prototype regarding
spring, motor, & gear selection, sensor fusion & filtering, etc.
In 2006, we designed a new iHop v.2 prototype based on everything we had learned from iHop v.1.
This design has two large main wheels and a third small castoring "omni-wheel" at the top of the leg,
so it can transition between horizontal and upright roving modes, as in the motivating cartoon.
It also has a substantial third wheel inside the robot body, orthogonal to the two main wheels;
when in the air, it can torque against the two main wheels to reorient itself in the fore/aft direction,
and it can torque against the third (internal) wheel to reorient itself in the left/right direction.
This design also has an elastomer spring mounted between a small post at the top of the leg and a bracket at the bottom of the long lead screw
driven by a small motor.
The control algorithms developed to stabilize the hopping motion of iHop v.2 are highly effective.
Interestingly, though when hopping from one place to another the vehicle tilts primarily in the fore/aft direction,
stabilization of iHop v.2 in the left/right direction is in fact the most difficult to achieve, and the third (internal) wheel is often spun up to high rpm.
The reason for this difficulty is that the moment of inertia of this design is much higher in the left/right direction than it is in the fore/aft direction.
This weakness is addressed by iHop v.3, presented below.
iHop v.2 can self transform between several modes of operation, including horizontal roving, upright roving, repetitive hopping, single hops, running jumps,
and balancing on its toe. Encouraged but not satisfied by its performance, before committing to the construction of a third iHop prototype,
we investigated next how to climb stairs with a small vehicle without hopping.
The "little sister" of iHop, affectionately dubbed iLean, gives up on hopping altogether, and instead is designed to overcome obstacles slowly, by something of a "climb/lean" or "inverse slinky" maneuver, in which the vehicle climbs its own pole and then "leans" onto the top of the obstacle. This maneuver is quasi-static, so iLean can climb down using the inverse of the same motion. Note that iLean has only two reaction wheels. When using these wheels as the main drive wheels while in horizontal or upright roving modes, these wheels should be approximately parallel. When climbing its pole, iLean cants these wheels inward so they are approximately perpendicular to one another, allowing them to be used together to stabilize both the fore/aft and the left/right motion of the vehicle. The most difficult maneuver to perform reliably with iLean is this transition from upright roving mode to pole climbing mode, during which the two wheels need to be canted in quickly. This weakness is eliminated by the synthetic design presented next. Note that, as iLean climbs its pole, the equations of motion change as the moment inertia about the toe changes; a gain scheduling approach is thus required for maximum effectiveness. Once such a control scheme was implemented, iLean proved capable of climbing stairs effectively. Due to the assymetry of the iLean v.1 design, the prototype was only effective at climbing stairs by leaning in one direction, and had to do a clumsy 180 degree turn on every step in order to climb a series of steps; iLean v.2 addressed this weakness with a more compact and symmetric design that facilitates the end-over-end, "inverse slinky" maneuver without requiring this 180 degree turn on each step.
iHop v.3 is a sophisticated fusion of the iHop v.2 and iLean designs,
and inherits the outstanding capabilities of both while being simpler, lighter, and more robust.
A key improvement of iHop v.3 is that it removes the third (internal) reaction wheel of iHop v.2,
instead achieving left/right stability by shifting the mass of the two main wheels from side to side.
This design converts the high lateral moment of inertia of iHop from a liability, as it was in iHop v.2,
into an asset which can be leveraged effectively to stabilize the vehicle in the left/right direction, and does not require any delicate wheel canting
maneuvers when transitioning between modes.
A distinguishing feature of iHop v.3 is its multifunctional wheels, which are used for an incredible six distinct useful functions
during the operation of the vehicle:
(1) to drive the vehicle (when roving and the wheels are operated in conjuction),
(2) to steer the vehicle (when roving and the wheels are operated in opposition),
(3) to upright the vehicle from horizontal (when in horizontal roving mode and the main wheels are torque aggressively in the appropriate direction),
(4) to balance the vehicle in the fore-aft direction via reaction-wheel stabilization
(when balancing on its toe or hopping)
(5) as counterweights in the left-right direction (akin to a tight-rope walker's balance bar), and
(6) as counterweights for the stiff elasomer spring to work against in order to achieve the actual hopping motion of the vehicle.
The mass of these wheels, which needs to be significant for the last three of these functions to be viable, is functional; that is, the mass of the wheels is given by
vehicle batteries and the motors used to drive the wheels themselves; positioning these heavy components on the wheels, rather than putting dead weight on the wheels,
significantly reduces the mass of the overall design.
Note also that motors in the iHop v.3 design are also multifunctional, with completely different effects when driven clockwise or counterclockwise.
This is achieved via creative use of latching mechanisms on the motor housings.
iHop v.3 was built using the high-performance Texas Instruments C2000 MCU board,
and was programmed using both low-level coding in C as well as high-level control design leveraging
Matlab's Simulink module.