An Electromyography Recording and On-Line Driving System for a Robotic Wrist

Document Type : Original Article


1 Department of Mechatronics Engineering, University of Tabriz, Tabriz, Iran

2 Graduated in Medical Engineering-Biomechanics, Department of Mechatronics Eng., University of Tabriz, Tabriz, Iran


Rehabilitation of people with movement disability for any reason, including spinal cord injury, neuromuscular diseases, or post-stroke complications is considered one of their most important challenges and needs. In recent years, the incidence of these complications has grown significantly. Therefore, developing and providing rehabilitation equipment and devices, especially in such a way that a person is able to use them at home without going to medical centers, is considered an important challenge in the field of medical engineering. In recent years, several researchers have developed exoskeleton robots that are designed to train such patients. The problem of motor driving and controlling this active equipment has gone through an evolutionary process and has reached the intelligent detection of the user’s intention from the implementation of predetermined movements. Now, the attention of many researchers has been directed to the control of exoskeleton robots using electromyography signals. In this article, we are going to drive the servo motor of a robotic wrist to imitate the movements of flexion and extension and abduction and adduction using the signals recorded from the muscles of the human forearm. Accordingly, a prototype based on Arduino board with electromyography modules was designed and built. In laboratory conditions and following conventional protocols, EMG signals were recorded during flexion, extension, radial deviation (abduction) and ulnar deviation (adduction) movements. In order to facilitate the necessary programming for the pre-processing that should be done on the recorded electromyography signal, as well as the development of the movement detection algorithm, by adding the toolbox of “communication with the Arduino board”, from the software MATLAB was used to communicate with the Arduino board through the serial port. The result of the processing algorithm is a three-state control command, which is used to driving the motors so that without intermediate jumps, the robot imitates conjugate movements (e.g. flexion and extension) with almost the same timing as the user’s movements.


Volume 7, Issue 1
January 2024
Pages 72-81
  • Receive Date: 06 November 2023
  • Revise Date: 12 January 2024
  • Accept Date: 02 March 2024