top of page

Legged Robots: Contact Detection

Why do robots need contact detection?

Working in an unpredictable environment requires a wide set of sensors which imitate human senses. Thanks to the contact detection ability (which slightly resembles human sense of touch), robots can detect contacts to provide proper process conditions on a production line or to avoid unexpected collisions with objects (or people). The most popular solution in industrial arms is a force/torque sensor mounted between a robot tip and a gripper. It’s a multi-directional strain gauge which gives us data about forces affecting the gripper.

Photo: Universal Robots

This solution gives us very accurate data, but what if something comes in contact with the robot corpus?

This problem has been on the market since the beginning of robotics. We have been most often enclosing robots in cages so far, but this approach is not optimal and thus implemented more and more rarely. Nowadays, as a result of introducing collaborative robots, said cobots can be put in the same room as people guaranteeing safety and work-effectiveness.

In the video there are two educational collaborative robots used in a simple teleoperation task. The engineer is using one arm to control the second one making the same move. Furthermore, the arms are exchanging data about loads, and as a consequence the operator can feel obstacles and forces affecting the remotely controlled arm. Why is this possible without any sensor on the co-bot tip? It’s proprioception!

What is a robotic proprioception?

Wikipedia defines proprioception as the sense of self-movement and body position. In humans and animals proprioception is mediated by proprioceptors, mechanosensory neurons located within muscles, tendons, and joints. There are multiple types of proprioceptors which are activated during distinct behaviors and encode distinct types of information: limb velocity and movement, load on a limb, and limb limits.

In simple terms, thanks to proprioception we know where our hands are with closed eyes and we can sense the texture of our meal by touching it with cutlery.

In robotics, we define proprioceptive sensors, all sensors which are embedded in the robot. The most common example is an IMU (integrated measurement unit) which gives us information about acceleration and orientation of the robot. To use the example of the before mentioned force/torque transducers — they will become proprioceptive sensors when we put them inside the robot e.g. in joints. How exactly the built-in transducer is formed is described in the next paragraph.

Torque transducers in joints allow us to accurately measure forces affecting each joint. Thanks to the mathematical transformation called Jacobian matrix we can determine forces that define a robot path and ones that come from the environment.

In a nutshell, this is how robots with haptic feedback and collaborative robots generally work. Now let’s move on to the main topic of this article — robotic “sense of touch” in walking robots.

How do walking robots detect contacts?

Walking robots need accurate contact detection with the ground which translates into implementability of complex gait algorithms. Binary contact information is used to change gait sequence eg. lowering/lifting the leg which suffices for stable locomotion. Analog information about forces on foot makes better corpus stability possible and it’s necessary for dynamic movement.

The simplest method for foot/ground contact detection is to add a switch inside the robot foot. This is a straightforward and cheap solution. It’s optimal for stable moving hexapods.

Photo: MAB Robotics co-founders student’s project made as a part of the activity in a research club — KN Mechatron, Poznan University of Technology. Inside the feet are buttons. The later foot version was equipped with a strain gauge sensor.

The next level of advancement is a force sensor in the robot foot. This solution is more complex and needs special electronics to convert analog signals from a strain gauge sensor. Advanced research projects use sensors similar to force/torque sensors, used in industrial robots, to detect loads on a gripper. However, such a solution has a significant disadvantage — we only know forces which act directly and only on the foot. If there is any clash with the robot’s knee, you don’t get this feedback. So how do you get more elaborate results?

Walking robots with proprioceptive sensing

Photo: ETH; ANYdrive sea actuator

In the photo above we see a series elastic actuator from ANYbotics company. The actuator is composed of an electric motor (3), control electronics (2), harmonic drive gears (4), rotational spring (5) and two encoders (1). The motor generates torque while control electronics provide accurate position and torque control. The harmonic drive causes a significant increase in torque, but the output speed is quite low. The rotational spring is the most characteristic element and has two purposes. First, the spring protects the harmonic gear from torque impacts — it works like shock absorbers in cars. The second is related to Hooke’s law that states that the force (F) needed to extend or compress a spring by some distance (x) scales linearly with respect to that distance.

F=kx, where k is a constant factor characteristic of the spring.

Seeing the SEA section poses a question why there are two encoders? Thanks to them we know what the spring extend/compress distance is. Moreover, we know what the k constant is. So, that is how we can easily calculate force and then torque which affects the actuator. SEA has high torque density and very accurate torque control. The disadvantages of the solution are significant mechanical complexity and elevated cost.

In walking robots we have impact loads with every step of the robot which actuators need to endure. If we don’t want to buy or develop complex and expensive actuators with built-in shock absorbers, there is a second option — Quasi Direct Drive actuator (QDD).

Photo: Quasi direct drive actuator; Benjamin G. Katz, MIT, Master Thesis — A Low Cost Modular Actuator for Dynamic Robots

Quasi direct drive actuator shown in the figure above is the best alternative for series elastic actuator. QDD comprises the following components: a BLDC motor, planetary gears, control electronics and a cover. Each of these parts performs specific tasks and should have certain properties:

  • The planetary gears provide a significant increase in torque and don’t reduce the dynamics of movement. This is due to the low level of reduction — 1:10 ratio is maximum for one staged gear. The low level of reduction provides resistance to impact loads and passes them to the engine.

  • The BLDC (BrushLess Direct-Current) motor generates the torque. Because of gears’ small reduction ratio the motor has to be big to generate demanded torque. Furthermore, thanks to the control algorithm the motor can work like a shock absorber — we can precisely model spring coefficient and damping factor, and also change it at any time.

  • The control electronics is the “brain” of the actuator. It’s responsible for motor control, position measurement and communication with the robot. It must be precise, fast and reliable like the MD10.

  • The case should be compact in size, have low weight, characterized by high resistance and have convenient mounting points.

SEA has the spring and two encoders for torque measurement. How does it work in QDD?

In a quasi direct drive actuator we can estimate torque thanks to specialized control electronics. Based on continuous measurement of currents flowing through the motor we can estimate generated torque. This is a much simpler and cheaper solution, but data is slightly less accurate than in SEA.


There is a range of solutions of how walking robots can detect contacts with the ground or other objects and each of them have advantages and disadvantages. Switches inside the robot foot are the cheapest and simplest solution but provide inaccurate data only from the end of the leg. Force sensors in the robot foot provide more accurate data but also only from the end of the leg. SEA are very good actuators, have very accurate torque measurement and nice parameters of move. The disadvantages are mechanical complexity and high price. QDD actuators also have accurate torque measurement and nice parameters of move. QDD are much cheaper than SEA and usually have less torque and greater speed. Choosing one depends on various factors: your objectives, budget and desired output information.

To add an interesting final remark, in MAB Robotics we are working on employing torque measurement not only for contact detection but also to determine parameters of the ground. It is accurate enough to estimate friction or type of the ground which opens up new possibilities of obtaining even nuanced data from the robot and to make it more efficient in its tasks.

In this article several information about robotics actuators were presented in synopsis. If you are looking for more in-depth insight and how to choose one most suitable for your needs read Legged Robots: Actuators Comparation.

If you are interested in this topic and want more specific information feel free to contact us or leave a comment.

Co-founder, Robotics Engineer in MAB Robotics


bottom of page