Drumming

Introduction

We have developed an architecture that allows for the superimposition and the switch between discrete and rhythmic movements. While this architecture has been principally developed for adaptive locomotion, more precisely crawling, we have first applied it to drumming as this task is simpler but still involves many key issues, such as:

  • Superimposition of discrete and rhythmic movements
  • Precise coordination between the limbs
  • Robust online modulation of the parameters

Moreover, closed loop control can be studied through the interaction between the stick and the drums.

People involved: Sarah Dégallier, Ludovic Righetti, Auke Ijspeert.

Related research topics: Superimposition of discrete and rhythmic motor primitives

First Implementation: Drumming with Hoap 2

Drumming was first implemented on the Hoap2 robot by Fujitsu. The robot drums with its two arms on two banjos and a cymbal. The controller is design so that the robot plays a predefined score which can be freely defined by the user. In simulation, an inverse kinematics has been implemented so that the robot dynamically adapts its movement to the changing position of the drums.

 

(click to enlarge, find here the video)
 

The overall architecture of the system is depicted below. A score matrix M is translated into a time-varying control vector α, this vector specifying the parameters of the different CPGs of the network. Each circle represents a CPG and the arrows represent couplings between them. By integrating the dynamical system of the different CPGs, we obtained desired trajectories n which are transformed in the actual trajectories ñ by the PID controllers of the robot.


(click to enlarge)

In order to ensure synchronization, we couple the different CPGS together. Moreover we add an external clock used as a metronome to provide for a unit of time, i.e. as an external reference to be synchronized with. This clock is only coupled to one degree of freedom to avoid oscillations to be forced in a direct way.

Inverse kinematics

We add an inverse kinematics algorithm to our system to show that when an instrument is moved during the score, the robot can smoothly adapt its trajectories to the new configuration of the drum set.

drum robot webots
(click to enlarge picture, find here the Webots animation video)

Second implementation: Drumming with iCub

A second implementation has been done on the iCub robot developed by the RobotCub consortium. The robot drums with both its arms and legs on an electronic drum set. The controller was then extended to allow for online modulation of the parameters (i.e. for real-time description of the score to be performed). Some extra parameters are controllable such as the frequency and the phase shift between the different limbs. Moreover, a feedback term has been added to make the contact between the stick and the drum more secure for the robot.
 


(Click to enlarge, find the video here)
 

To illustrate the real time modulation capabilities of the system, we have added an interface so that a user can freely define the score that the robot has to play online.
 


(Click to enlarge)


A feedback term has also been added to deal with the collision between the stick and the drums, so that the robot autonomously adapts its trajectory to the position of the drum.

 
(Click to enlarge, find here the video)

S. Degallier, L. Righetti, L. Natale, F. Nori, G. Metta and A. Ijspeert, A modular bio-inspired architecture for movement generation for the infant-like robot iCub , in Proceedings of the second IEEE RAS / EMBS International Conference on Biomedical Robotics and Biomechatronics (BioRob), 2008. [PDF]

S. Degallier, C. P. Santos, L. Righetti and A. Ijspeert, Movement generation using dynamical systems: a humanoid robot performing a drumming task , in Proceedings of the IEEE-RAS International Conference on Humanoid Robots (HUMANOIDS06), 2006. [Video] [PDF]