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 (in simulation) 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 sagittal 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 sagittal 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 of up to 91%.
- New Balance Controller (2D): Roy 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, even on this unsatisfactory hardware, 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.)
- 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, even after being stiffened, 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.
- 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 Prof. 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 Onward
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 centre of mass 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 real robot.