About the project
This is a robotic platform for developing an intelligent system for playing the drum. The project involves the mechanical design of the robotic arm, prototyping, control, and artificial intelligence used for learning drumming tasks.
The name of ZRob is inspired by the word "Zaraab" in Persian which literally means something that produces rhythm and beats.
Mechanics
All the body parts are designed and 3D-printed using state-of-the-art prototyping tools. The robot grippers contain passive springs for exploiting the natural dynamics of the drum membrane and the drum stick. One aim of the project is to explore different mechanical characteristics of the robot body such as stiffness of the gripper.
Control
The robots use quasi-direct drive servo motors, capable of torque adjustment with internal position, velocity and torque control modes. The control problem of the robots involves trajectory planning, sound-motion mapping, stable frequency and amplitude range of motion, and frequency adaptation.
AI
The primary purpose of the intelligent algorithm of the robotic system is to learn musical patterns and creative behaviour in drumming. The main approach for this purpose is Reinforcement Learning which makes the system capable of interacting with the environment.
Purpose
The aim of the project is to develop a robotic system that can learn drumming tasks through interaction with the environment. The interaction is based on adaptation to different physical constraints in the robot body and the dynamical behaviour of the environment. Some practical challenges involve synchronisation, motor learning, sound-motion mapping, and real-time training.
Main Approaches
- Analysis by Synthesis
- Reinforcement Learning
- Intermittent Control
- Curiosity-based Learning
Media
Codes and design
All the files for the 3D model of the robot and the control codes can be found in the ZRob Github repository. Also, more data is available on osf.