← Back to Portfolio

Real-time contact force visualization on a humanoid robot

In 2015, I joined ISIR (Institut des Systèmes Intelligents et de Robotique, a joint research lab of CNRS and Université Pierre et Marie Curie) in Paris for an internship focused on humanoid robotics.

The project centred on the iCub — one of the most sophisticated open-platform humanoid robots in the world. Developed by the Italian Institute of Technology and widely used across European research institutions, iCub is a full-size child-shaped humanoid capable of complex whole-body interaction with its environment. The goal was to make the contact forces that arise during such interactions visible in real time, directly inside the Gazebo physics simulator.

iCub holding a box — contact force vectors rendered in real time inside Gazebo.
iCub holding a box — contact force vectors rendered in real time inside Gazebo. Source: alexandrelheinen/vector-view

The result was two complementary tools:

Technical Highlights

The work required integrating across the full humanoid robotics middleware stack: Gazebo for simulation, YARP for inter-process communication, and the iCub SDK for model and sensor access.

Raw contact sensor data is inherently noisy. A custom DSP filtering pipeline (using DSPFilters) was built to clean the signal before rendering, ensuring the visualised vectors reflect meaningful physical forces rather than sensor artefacts.

The simulation environment was driven by the ocra-core whole-body controller, running predefined task sequences to exercise the robot’s contacts systematically.

Additional Resources