Home CV uOBionics O-Crab Biomimetics

Introduction to Biomimetics

2019-08-24


What is biomimetics?

Biomimetics is seriously cool. If you've never seen a Boston Dynamics robot, look them up now. Done? Great, I hope your mind was as blown as mine when I first saw a robot do a backflip, or parkour, or run like an actual legged animal.

Biomimetics is (loosely) the design process when animals are mimicked to build robots. This could include more obvious examples like Boston Dynamics' Atlas and Spot, which mimic humans and quadrupedal (4-legged) animals quite impressively, to robotic fish that can integrate into shoals, and beyond.

What's out there?

There are a few very advanced biomimetic robots either at universities or specialized companies. Namely, anything Boston Dynamics dreams up. Another very well publicized and developed robot is the MIT Cheetah and Cheetah Mini, the former being able to run extremely quickly and the latter being able to perform a backflip. Other examples include the Stanford Doggo, ATRIAS, and Boston Dynamics RHex.

Some biomimetic robots, taken from Simon Kalouche's thesis

Some biomimetic robots, taken from Simon Kalouche's thesis

Why make biomimetic robots?

Personal interest aside, biomimetic robots (or to focus more, legged robots) have the ability to go where wheeled robots cannot. Whereas a wheeled robot can navigate on a basketball court just fine, it will very likely run into issues trying to scale a mountain, or climb a ladder, or navigate over rubble. While some robots get around this by using flexible, leg-like wheels to navigate (such as RHex), that robot is throwing itself at whatever obstacle is in front of it until either something catches or the robot runs out of power.

Ultimately, legged robots have the upper hand at exploring the part of the world that isn't flat or relatively cleared of debris (so half of it 1).

What are the challenges to making biomimetic robots?

There are a ton of challenges unique to building biomimetic, specifically quadrupedal, robots. First and foremost, I mentioned that legged robots can navigate terrain that wheeled robots cannot. That doesn't mean it's easy to make them do it.

As an exercise, picture yourself walking in a straight line on a sidewalk. Your gait, or how you walk, is consistent and repeating. A legged robot walking in a straight line on a flat surface will use a pre-determined pattern to move, just like you, and can do so on the side-walk just fine since there is nothing unexpected about the terrain.

Place that same robot on the beach and things become interesting. Now there are discontinuities; holes in the sand, small dunes, and further, the sand is soft, meaning that every step the robot makes could sink a little or a lot into the sand, depending on how wet it is. For a robot to be able to navigate this environment, it must be able to adapt, or be compliant to the environment. How can it do this?

via GIPHY

We could add springs to the legs; if a leg hits a dune, the spring will absorb some of the added height. But what if a dune is too large, or a hole too deep? Then that spring becomes insufficient. What if the robot wants to move faster? If the spring is too loose, it will make the leg motion jiggly and slow. You can't make a pogo stick bounce back immediately the second it touches the ground; it has to compress first, then extend.

Suppose we could mimic the effect of a spring, but constantly change how "springy" it is to match the environment or how fast the robot wants to move? Now we're looking at Virtual Model Control, a method that will come up again later. In essence, sensors read how much current is being sent to the motors while moving; this can be used to figure out how much torque they're generating and, by extension, how much force the foot is hitting the ground with. This can be used to figure out whether the robot has hit a dune, sunk into a hole, is jumping, etc. But designing a system like this introduces a host of new issues, like force transparency2.

This gives a very brief idea of a couple of the challenges that need to be tackled in order to make a robot that can navigate tough terrain.

What am I trying to do?

I've always been fascinated with the work done by the team at MIT's Biomimetic Robotics Lab and Boston Dynamic's whole suite of robots, but it wasn't until I read Simon Kalouche's phenomenal thesis that I decided I needed to try my hand at making a robot like this. His paper details the development of a robot called GOAT, or Gearless Omnidirectional Acceleration-vectoring Topology, a robotic leg capable of jumping impressively high, with high force transparency and low leg mass.

I'd like to try working off his design, with a couple changes. First, we (and 4-legged animals) do not move in a perfectly omnidirectional way. We're great at sprinting forward, but not so much sideways. The same applies to jumping. There's a clear difference, and it's there for animals too; we simply can't move sideways as well as we can forward. I'd like to approach designing a robot that takes advantage of many of the principles he lays out in his design, but that is somewhere between existing robots like the MIT Cheetah Mini and his for lateral/sideways movement. I'd also like to try reducing the cost to develop even further. Unfortunately, I don't have a few extra grand sitting around to build a carbon-fibre, custom-milled robot. Stanford Doggo is another interesting robot, similar in principle to the MIT Cheetah Super Mini, but at less than $3000 for the robot; I'd like to do something similar to them, but with Kalouche's unique leg topology3.

Stanford Doggo

Stanford Doggo

Ultimately, I'd like to keep the cost of building this robot to under $2000.

What's first?

In the next post, I'd like to outline the design procedure I will use to work my way through developing this robot. I will also give some preliminary decisions on leg topology (although these may well change over the course of the design process).


  1. I remember reading this somewhere, but can't find my source.

  2. Force transparency is a measure of how well a robot can approximate the contact force of the foot with the ground, by looking at the motors controlling the hip. This will be explained in much greater detail later, but for now, a simple example to give some context. Imagine a robot where the leg is just a rigid stick, and a motor attaches this leg to the body. When the foot comes into contact with the ground, the stick leg does not bend at all (since it is rigid); this means that all the energy from the impact goes right up the leg to the motor. This leg has very high force transparency. Now replace our leg with a spring, and the bottom of the leg is coated in a soft rubber. When the foot makes contact with the ground, the rubber deforms slightly and the spring compresses. This loss of energy is not measured at the hip motor, meaning that whatever energy the motor is reading is not the actual value. This configuration has lower force transparency. (In reality, the leg Jacobian is used to transform between contact force and motor torque, and thus current, but I'll go into more detail later)

  3. Leg topology is essentially the leg configuration; how many joints it has, which way they face, etc.