Results 2010–2013
- Better Contact Model:
Morteza and Roy developed a new nonlinear model of compliant contact that
reproduces published experimental measurements of contact behaviour between
solids ranging from cork to cast iron more accurately than any previous
model. See publications 1, 5 and 6.
- Ability to Balance:
Roy invented a new quantitative measure of a robot's ability to balance,
called velocity gain, which can be used to help design new robots
(like Skippy), analyse existing ones, and choose good balancing
behaviours. See publications 3, 9 and 12.
- Balance Control (2D):
Morteza developed a new balance control system that was as good as the best
published balance control systems. He implemented it on planar
inverted double pendulums and demonstrated good balancing behaviour on both
sharp points and rolling contacts. The new controller makes the robot
track commanded motion trajectories while simultaneously maintaining the
robot's balance, both tasks being performed by a single actuator. See
publications 2, 6 and 11.
- Single Hops (2D):
Morteza demonstrated inverted double pendulums making single hops to a
specified landing point, the motion beginning and ending in a balanced
configuration. Specifically, the robot leans forward, crouches down,
launches itself into the air, controls its foot motion during flight, lands
on a specified spot, recovers its balance, and finishes in an upright
position. All aspects of the motion were performed using Morteza's
balance controller, which demonstrates just how versatile it is. See
publications 4 and 6, and this video.
- Balancing in 3D—Bend Swivel Control:
Roy invented, and Morteza implemented, a new strategy for balancing in 3D,
in which the task is decomposed into two subtasks: balancing in the robot's
saggital plane (bend control) and keeping the plane vertical
(swivel control). The swivel controller also rotates the plane,
so that the robot can face in any desired direction. Morteza's
controller works well, but there is room for improvement because swivelling
interferes with bending due to gyroscopic forces. See publications 6
and 8, and this video. The robot in
the video is following a trajectory that specifies the angle between the
upper and lower links (the bend angle) and the orientation of the saggital
plane (the yaw angle, or heading) while simultaneously maintaining the
robot's balance in 3D; and it is doing all this with only two actuators.
Results 2014–2018
- Ring Screw Mechanism:
It became apparent at an early early stage that the speed limit on the ball
screw would be the limiting factor on Skippy's performance. This
prompted Roy to invent a new transmission mechanism, called
the ring screw
mechanism, which performs the same function as a ball screw but at
higher speeds. This mechanism has now been patented; and a Masters
student called Elco Heijmink tested a prototype at speeds of up to 16,000rpm
and mesured efficiencies (at lower speeds) of up to 91%.
- New Balance Controller (2D):
Roy has invented a new planar balance controller, inspired by Morteza's
controller, which has similar performance to Morteza's controller but is
simpler, more easily applied to general planar mechanisms, and can work in
combination with a separate motion controller. The key step was to
study the physics of balancing first, and then design a controller that
controls balancing behaviour in an abstract sense, thereby exploiting the
fact that the physics of balancing is the same for all planar
mechanisms. See publications 10 and 13 and talk 1.
- Leaning in Anticipation (2D):
Roy discovered a new and very simple way to make a robot lean in
anticipation of the balance disturbances expected to be caused by the
robot's immediate future motions. It involves passing a preview of the
motion command signal through a simple first-order low-pass filter
running backwards in time, and feeding the output of the filter to the
balance controller. This simple technique improves the speed, accuracy
and robustness of the controller to such a great extent that it is now good
enough for Skippy. See publication 13 and the
two leaning-in-anticipation videos.
- Improved Bend Swivel Control:
Roy found a way to generalize his planar balance controller to balancing in
3D, resulting in a new formulation of bend-swivel control that overcomes a
technical limitation of Morteza's controller: his version requires the bend
and swivel actions to be performed by a constant-velocity coupling, and
Roy's version does not. This is important because Skippy does not use
a constant-velocity coupling, and therefore cannot be controlled by
Morteza's version. This work has not been published because the
problem of gyroscopic forces remains; but you can see the new controller in
action in this video.
- Experimental Demonstration of Balancing:
The simplest device that Roy's balance controller can control is a
reaction-wheel pendulum. Roy worked out the simplified equations for
this special case, and Antony and Roodra implemented them and demonstrated
the new balance controller on a balancing machine called Tippy.
Unfortunately, this machine proved to be much too wobbly to be fit for
purpose, and part of its structure had to be clamped in a specially made
stiffening brace to remedy the problem. We also had some trouble with
the servo control of the harmonic drive around zero velocity.
Nevertheless, the balance controller worked very well. This work also
features a simple balance offset observer (designed by Roy) that measures
the difference between true balance and what the sensors say should be the
balanced configuration. See publication 15
and this video.
Results 2019–2023
- Parametric Design of Skippy:
Antony performed a detailed multi-objective design study in which
parameterized designs of Skippy were tested and evaluated for their ability
to perform a large variety of behaviours. The list included small
hops, big hops, hops of increasing and decreasing height, travelling hops,
somersaults and balancing. The study was performed using
professional-quality design software called
modeFRONTIER. The most important results of this
study were as follows:
- It proves that Skippy really can do the things we want.
- Roy's original guess of a 10cm foot is too short. The correct
length is 25cm. A longer foot implies a greater clearance between
the crossbar and the ground, so that there is now room for a three-arm
crossbar, which is preferable to the original idea of a two-arm
crossbar, both from a dynamics point of view and a crash-protection
point of view.
- The mass does not have to be kept as low as 2kg—even a 3kg robot
can reach the target height. So the target mass was increased to
3kg.
- Although designs can be found that can make a 4m hop, these designs
need springs that are too stiff for low hops. So it was decided
to abandon the 4m target in favour of a 3m maximum hopping height.
(In a later design study by Antony using accurate models of fibreglass
leaf springs it was decided to lower the target height further to 2.7m.)
See publications 18, 19, 20, 24, 29 and 30.
- Mechanical Shock Propagation:
Skippy will experience a mechanical shock each time its foot hits the
ground. Roodra investigated the theoretical propagation of shock from
a legged robot's foot to its torso, and methods that might be used to
minimize it. The most practical method for Skippy is to design the
ankle joint, foot and ankle spring so that the angle between the foot and
the leg is close to 90 degrees when the spring is at rest. (The angle
when the foot hits the ground will be close to the rest angle.) See
publications 16 and 22.
- Precision Leaping and Landing:
Before a robot can make a travelling leap, it must first tip itself off
balance by just the right amount, so that it leaves the ground with just the
right linear and angular velocity to land at its destination and
(optionally) recover its balance. Roodra collaborated with Justin Yim
of the Biomimetic Millisystems Lab at the University of California,
Berkeley, to help him implement our balance controller on
Salto-1P
for exactly this purpose, with impressive results. See publication 17
and
this IEEE Spectrum article.
- Balancing and Leaping on a Springy Leg:
Skippy has both an ankle spring, which gives it a springy leg, and a main
spring, which gives it a series-elastic actuator. These springs
increase Skippy's physical performance, but at the expense of making the
motion control problem more difficult. We decided to investigate the
springy leg first. Morteza had demonstrated a hop with a springy leg
years earlier (see this video), but we
needed to study the problem more deeply; so Juan made it the topic of his
Ph.D. studies. He developed methods for planning a hop, for landing
without a bounce, for balancing while doing other things, and for surviving
a broken spring on landing (all in simulation, and all in 2D). His
finale was a double
backflip. See publications 21, 23, 27 and 31, and
the movie from talk 5.
- Shock Testing of Parts:
Some parts, such as rotary shaft encoders, are sensitive to mechanical
shock, and could malfunction momentarily when the foot hits the ground
(which is a bad time to have a sensor malfunction). Only a few data
sheets contain this type of information, so we decided to do our own
experiments. This work was carried out by Roodra initially, although
he left IIT before it was finished. The results can be found in
publication 25.
- Control of Absolute Motion While Balancing:
One of the most serious limitations of Roy's balance controller is that
neither the balance controller nor its companion motion controller (if
present) is able to control the absolute motion of the robot (i.e., its
motion relative to static objects in the environment). So the robot's
ability to interact with its environment is seriously limited. The
thing that causes this problem is that the robot's absolute position depends
on its orientation about its support, which is a passive motion freedom; but
the two controllers are designed to control only the active motion
freedoms. Roodra looked into this problem, and found a solution for
the special case of a planar double pendulum. Roy then looked further
into the problem, and found a more general solution. See publications
22 and 26, talk 6
and this video (which is an excerpt
from talk 6); and an early example can be seen in
the movie from talk 5.
- First Prototype:
Antony and Roodra designed and created Skippy's brain in 2018; but the rest
of Skippy had to wait until Federico arrived in late 2020. Skippy was
designed and built in two stages: first the head and crossbar, then the rest
of the robot. The reason for this approach is that Skippy's head is
already capable of balancing, and can be used in a series of balance
experiments before the rest of Skippy is built. By mounting Skippy's
head on a pair of stilts, it can be configured as a reaction-wheel pendulum
by fitting it with a symmetric three-arm crossbar, or as a general inverted
double pendulum by fitting it with an asymmetric one-arm crossbar.
(See photos here.) Using Skippy's head,
Federico performed the following experiments:
- Balancing of a reaction-wheel pendulum using an IMU, thereby
demonstrating that the small processing delay introduced into the
feedback loop by the IMU does not affect balancing performance.
(Earlier experiments with Tippy did not use an IMU. Also, Tippy
was too wobbly to achieve a bandwidth better than 10rad/s, whereas
Skippy reached the target bandwidth of 20rad/s right away.) See
publication 34.
- Balancing of a general planar double pendulum on a point foot.
This was the first experimental demonstration of Roy's balance
controller on a planar double pendulum. See publication 28.
- Balancing of a general planar double pendulum on a rolling contact (a
circular foot). See separate topic below.
The rest of Skippy was built and operational by early 2023. The
hardware is described in publication 34, and there are pictures on
the hardware page. There are also videos
of this prototype in action on the videos page.
- Bounce Testing of IMUs:
Roy did not believe that all IMUs maintain their accuracy during prolonged
hopping motion, so he asked Federico to investigate. Federico
performed an experiment in which a selection of IMUs from different
manufacturers were subjected to bouncing motion resembling that of a hopping
robot, and their outputs were recorded and analysed. Result: yes, some
IMUs really do go out of spec. For details see publications 32 and 34.
- Balancing on a Rolling Contact:
All of the balancing experiments so far, both in simulation and reality,
have assumed a point foot, which implies that the support point does not
move. Yet there are many examples of robots that balance on a rolling
contact (e.g. wheels). Are these two different kinds of balancing, or
can a single controller do both? Federico investigated this question,
with help from Pat
Wensing, and came up with a generalization of Roy's balance controller
that works with circular rolling contacts. (A point foot is then a
circle of radius zero.) For details see publications 33 and 34.
- Small Hops:
In late 2023 Antony and Federico managed to demonstrate small hops on a
modified version of the first prototype in which the main spring was
replaced with a pair of rigid links, so that the ankle spring was the only
spring in the mechanism, and the foot was fitted with a shoe that made a
line contact with the ground, thereby constraining the robot to balance and
hop in a vertical plane. The results appear
in this video.
Results 2024 Onwards
Roy handed the Skippy project over to Federico and Antony in 2024. The
results listed here are theirs.
- Hopping Higher With a Ring Screw:
Publication 35 and this video
compare the hopping height that can be reached using
a ring screw versus a
ball screw. Not surprisingly, the higher maximum speed of the ring
screw allows Skippy to hop higher: in this case a 34cm hop measured as the
rise of the CoM from lift-off to the apex. A notable feature of this
work is that it is the first published example of a ring screw being used in
a robot.