IMPLEMENTATION OF RASPBERRY PI AS A2DP
MODULE ON THE QUALITY OF SONG RECEPTION OF HUMANOID ROBOT
Wildan Iswahyudi1, Mochamad
Farhan Ali Irfani2, Muzayana3, Siti Sendari4, Nuzul Zaeni Eki Ramadhanu2
University of Malang Malang, Indonesia
Email: [email protected]1, [email protected]2, [email protected]3, [email protected]4, [email protected]5
ABSTRACT This
research discusses comparing the performance of Bluetooth communication on
Raspberry Pi in controlling dance humanoid robots using external modules and
direct communication. This research aims to understand the difference in
performance between the two methods, by analyzing data transmission speed,
signal stability, and communication latency that affect the quality of robot
movement. In addition, this research also aims to evaluate the effectiveness
of using simple filters such as low-pass filter circuits to improve the
stability of Bluetooth communication on Raspberry Pi. It is hoped that this
research can lead to a better understanding of the influence of both
communication methods on the quality of dance humanoid robot movements. Keywords: raspberry
pi, bluetooth, humanoid.����������� |
|
|
This work is
licensed under a Creative Commons Attribution-ShareAlike 4.0 International |
INTRODUCTION
Wireless communication
is a major factor in controlling humanoid robots especially in the context of
dance performances. Raspberry Pi, as a versatile control platform, enables
Bluetooth communication to control robots wirelessl (Al Haq, 2021). However, the performance of Bluetooth
communication on Raspberry Pi can be affected by the use of external modules or
direct communication without modules. A comparison between the two is essential
to understand the differences, advantages, and disadvantages of each approach
in controlling dance humanoid robots (Sulistyo, 2015).
In this study, the
researchers compared the performance of Bluetooth communication on Raspberry Pi
in controlling a dance humanoid robot using an external module and direct
communication (Engin, Aksoz, Dursun, & Hamidiogullari, 2016). The main objective
of the study was to understand the performance differences between the two
methods, by analyzing the data transmission speed, signal stability, and
communication latency that affect the quality of the robot's movements (Ala�uddin, Siradjuddin, & Winarno, 2023) . In addition, this
research also evaluates the effectiveness of using simple filters such as
low-pass filter circuits to improve the stability of Bluetooth communication on
Raspberry Pi. It is expected that this research will result in a better
understanding of the influence of both communication methods on the quality of
dance humanoid robot movements, as well as provide recommendations for the development
of more effective control solutions in the context of performing arts (Haryanto, Putra, Syauqy, & Maulana, 2019).
raspberry pi as a2dp module on the quality of song reception of humanoid robot
A. Dance Robot
The Indonesian Dance
Robot Contest (KRSTI) is a competition that integrates elements of art into
robots. The dance robots participating in this contest are humanoid robots
specifically designed to dance in time with the rhythm of a song (Rifandi et al., 2021). During the contest,
the robot will be placed in the arena in a ready condition. In its execution,
the robot must dance when the music plays and automatically stop when the music
ends (Ala�uddin et al., 2023). The music detection
process in the Indonesian Dance Robot Contest (KRSTI) begins with sending music
via Bluetooth Transmitter. The music is then received by the Bluetooth Receiver
attached to the robot (Prasetyo, Putra, Riski, Yahya, & Ramadhan, 2023). The data received by
the Bluetooth Receiver is initially an analog signal of the music frequency.
Once received, this analog signal is then forwarded to the Arduino
microcontroller integrated in the robot. The data will be processed into
movement cues for the robot.
B. Sensor System
In music sound
detection and robot motion systems in maintaining balance, the sensors used are
as follows:
a. Sound Sensor
The sound sensor used
by both robots is designed to be able to receive sound via Bluetooth and detect
the frequency of Kancet Ledo/Gong
Dance accompaniment music. The Bluetooth used is Bluetooth Audio.
b. Accelerometer
Both robots use the
MMA7361 module which is an IMU (Internal Measurement Unit) sensor consisting of
2 Accelerometers type MMA7361 (to measure acceleration, detect and measure
vibration, and measure acceleration due to gravity (inclination). This sensor
can "sense" the acceleration experienced by the sensor on 3 axes (XYZ
axis), so that it can be used to adjust the balance of the robot (Kim, 2019).
Broadly speaking, the
way this module works is: data from the MMA7361 accelerometer which is analog
data will be converted in digital form by an analog to digital conventer which then outputs the data and enters the OpenCr 1.0 and OpenCM 9.04
controller modules. This module is used as a data processor from the accelometer to drive 28 servo motors on each robot.
Figure 1 Sound Detection of Accompaniment
Music
�
The robot will receive
Kancet Ledo/Gong dance
accompaniment music that has been prepared by the judges through Bluetooth
audio. Furthermore, bluetooth audio will send digital
data to the main controller, then the main controller will send motion data via
the SPI line to move the 28 servo motors on the robot.
The sound sensor is
designed to be able to select the types of input frequencies. The frequencies
that can be selected are bass with a frequency range of 60Hz - 160Hz, middle
with a frequency range of 400Hz - 2.5kHz, and trible
with a frequency range of 6.25kHz - 16kHz (Pucher, Gattringer, & M�ller, 2019). By using the theme
raised in 2020, namely Kancet Ledo/Gong
Dance, the dance movements were carried out based on the analysis of the Kancet Ledo/Gong Dance
accompaniment music received by the sound sensor (Satrio Pambudi, Wiharta, & Putra Sastra, 2018). The dance movement
is divided into 5 zones, in the first zone (start) the robot moves to zone A.
In zone A there are two movements to be performed by the robot, namely the pambuka movement and the nganjat
movement. In zone B, the movement that must be done is the ngasai
motion. In zone C, the robot must perform the purak barik motion.
Finally, in the
closing zone, the robot performs the closing prayer of Kancet
Ledo/Gong Dance. The selection of movements is
determined as the table of movement changes from one movement to another is
determined when the detection of the sound sensor is within the predetermined
bass level.
����������������
METODE PENELITIAN
A.
System Overview
Based
on the figure above, there are three blocks of system stages, namely input or
input, processing and output or output. The following is an explanation of each
stage:
1. In the input block, there is one
analog sound sensor and Raspberry Pi device. The sound sensor will read the
sound input and Raspberry Pi will decipher the signal into a filter in
Raspberry Pi which becomes an input parameter that will be transferred to Arduino Uno Atmega 328.
2. Input by Raspberry Pi is processed
by the Arduino Uno microcontroller to get a band or frequency band as a system
parameter which will produce data. the data will be processed on the Raspberry
Pi. The parameters are then processed to get the output.
3. The system output is a unit of tempo
value obtained from the Raspberry Pi frequency bands after several processes.
Another output is an indication of movement that directly shows the values of
the input parameters received by Arduino Uno as sound. The system results in a
PCB Raspberry Pi module that is easily connected to the sound sensor module and
the arduino uno
microcontroller (Haq, 2018).
The module is designed this way to facilitate the use of the system.
B.
Hardware Design
The
two parts of the hardware design are the Raspberry Pi design with sound sensor
and the motion indication design. The former should include components
necessary for the performance of the Raspberry Pi, such as several resistors
and capacitors to set the internal timing of the Raspberry Pi or set the input
frequency (Aryanti, Ikhthison Mekongga, 2016). To
facilitate external connections, the Raspberry Pi module is equipped with
several pin-headers, especially for the analog sound sensor module and the arduino uno microcontroller.
Thus, the system performance starts with the sound sensor module, then the
Raspberry Pi module, and finally the arduino uno microcontroller (Inoue, Uemura, Minagawa, Esaki, & Honda, 1985).
The motion indication is mounted on the same PCB board as the Raspberry Pi IC
and its supporting components. The motion indication will provide an output
that will be entered by Raspberry Pi. The hardware design schematic is shown in
the figure below.
Figure 2 Systematic Picture of Hardware Design
Figure 3 Design body robot
The picture above is
the KRSTI Robot which will be the subject of this research
C.
PCB Design Drafting
Figure 4 PCB Visualization Drawing
PCB
or Printed Circuit Board design is done by visualizing the schematic in the
picture above. The PCB design measures 33mm and 27mm.
D.
Software Design
Figure 5 Systematic Flowchat
As
the flowchart above says, the system will start by analyzing the voice signal.
Then when the voice signal is analyzed, the signal will start a frequency level
check using the MSGEQ7 filter. then the data is sent as a communication signal
in pose mode, then the pose mode communication signal will output in the form
of a pose movement.
E.
System Implementation
The
system implementation resulted in a well-used detection system. The
implementation begins with the implementation of the MSGEQ7 module by connecting
the sound sensor processed on the Arduino Uno
externally(Ji, Pan, Xu, & Wang, 2022).
Then the movement design is carried out on the module to be an indication of
the system output. After the hardware implementation is done, then the software
implementation is done. The system must be able to receive input from outside
the system in the form of sound and then become an output (McCarthy, 2012).
HASIL DAN PEMBAHASAN���������
Table 1 Raw Data
The
table above is the raw data that is produced� by doing 3x experiments using the same
file and different times. Then to continue the analysis process, we normalize
it by equalizing the RMS Value as in the table below.
Table 2 Data Normalization
In
the table above the RMS Value has been generalized to a value of 1, this makes
the max value and min value change. At max value, the highest value is
generated by the source file of 8.432 and the lowest value is generated by the
Bluetooth module file of 6.286. Then at the min value the highest value is
generated by the Bluetooth module file -6,286 and the lowest value is generated
by the source file of -7,7547. Furthermore, the dynamic range can be seen from
the spectrogram graph, the higher the dynamic range value, the more green color
will be shown on the spectrogram graph and the highest value in the dynamic
range is produced by the Raspberry file of 212.5504 dB.
Furthermore,
the crest factor is the value produced by the song to prove the received sound
signal is valid (Muller, Ellis, Klapuri, & Richard, 2011). Then in the
signal duration of the songs received, only a few are 1 second different and
there are several similarities in the duration signals received, this occurs
due to noise. Furthermore, the Euclidean similarity is to measure the distance
of how far the difference in max value and min value is to the source. Then the
similarity is the percentage resulting from Euclidean similarity, and the
resulting raspberry has a percentage of 98% similarity in receiving songs.
Figure 6 Spectrogram graph
This spectrogram is used
to measure the signal spectrum with frequency consistency in time. On the
source graph, the dynamic range at frequencies 12.50 kHz - 15 kHz shows values
of -20 to -30 dBV2 Magnitude. In Bluetooth, the dynamic range
frequency shows that the frequency of 15 kHz is at -15 to -20 dBV2
Magnitude. On the Raspberry Pi dynamic range shows 17 kHz is in a stable state
at -15 dBV2 Magnitude.
Figure 7 Histogram graph
This
histogram is used to measure the signal spectrum with amplitude. The source has
a max value of 12*104 with an amplitude range of -4 V to 4 V. On bluetooth has a max value of 11*104 with an
amplitude range of -3 V to 3 V. The raspberry has a max value of 14*104
with an amplitude range of -4 V to 4 V.
Figure 8 Spectrum graph
This
spectrum is used to determine the magnitude with frequency. At the source, the
frequency ranges from 10-2 Hz to 1 Hz, a starting point value above
-100 dBV2 magnitude is obtained. In the range of 1 Hz to 100 Hz, the
magnitude fluctuates between -125 dBV2 to 100 dBV2. In
Bluetooth devices, the frequency ranges from 10-2 Hz to 1 Hz, with the starting
point exactly at 100 dBV2 magnitude. In the range of 1 Hz to 100 Hz,
the magnitude varies between -90 dBV2 to -140 dBV2.
Whereas on the Raspberry Pi, for frequencies ranging from 10-2 Hz to 1 Hz, with
a starting point below -100 dBV2 magnitude. In the range of 1 Hz to
100 Hz, the magnitude changes between -90 dBV2 to -150 dBV2.
Research
Student Innovation Grant Non-budgetary funding sources for state income and
expenditure Malang State University Fiscal year 2024, Decree of the Chancellor
of Malang State University Number 3.4.93/UN32/KP/2024
BIBLIOGRAPHY
Al Haq, Winindra. (2021). Rancang Alat Pengukur Denyut Nadi Berbasis
Sensor Strain Gauge Melalui Media Bluetooth Smartphone. SinarFe7, 4(1),
497�502.
Ala�uddin, Muhammad Afif,
Siradjuddin, Indrazno, & Winarno, Totok. (2023). Analisa Frekuensi Musik
Untuk Sinkronisasi Gerak Tarian Pada Robot KRSTI. Jurnal Elektronika Dan Otomasi Industri, 9(3), 206�211. https://doi.org/10.33795/elkolind.v9i3/330
Aryanti, Ikhthison Mekongga,
Hari Ramadhan. (2016). Implementasi Sensor Suara Sebagai Pengendali Gerakan
Robot Penari Humanoid dengan ATMEGA 8535. Https://Jurnal.Polsri.Ac.Id/, 8, 1�7. https://doi.org/https://doi.org/10.5281/zenodo.3429001
Engin, Salim, Aksoz, Ahmet,
Dursun, Mahir, & Hamidiogullari, Melik H�seyin. (2016). The Design of
Humanoid Robot Using C# Interface on Bluetooth Communication. Journal of Automation and Control
Engineering, 4(3),
229�232. https://doi.org/10.18178/joace.4.3.229-232
Haq, Winindra Al. (2018).
Sensor Strain Gauge Melalui Media Bluetooth Smartphone. Sains, 497�502.
Haryanto, Tio, Putra, Adi,
Syauqy, Dahnial, & Maulana, Rizal. (2019). Sistem Pendeteksi Tempo Lagu
Untuk Kontes Robot Seni Tari Indonesia ( KRSTI ) Berdasarkan Frekuensi Dengan
Algoritma Beat This. Jurnal
Pengembangan Teknologi Informasi Dan Ilmu Komputer, 3(4), 3986�3992.
Inoue, Masahiro, Uemura,
Kazuho, Minagawa, Yoshiji, Esaki, Mitsunobu, & Honda, Yoshiyuki. (1985). Home
Automation System Dengan Menggunakan Raspberry PI 4 Trio. IEEE Transactions on Consumer Electronics,
CE-31(3), 60�73. https://doi.org/10.22214/ijraset.2020.32314
Ji, Wei, Pan, Yu, Xu, Bo,
& Wang, Juncheng. (2022). A Real-Time Apple Targets Detection Method for
Picking Robot Based on ShufflenetV2-YOLOX. Agriculture (Switzerland), 12(6), 1�23. https://doi.org/https://doi.org/10.3390/rs13091619
Kim, Jung Hoon. (2019).
Multi-axis force-torque sensors for measuring zero-moment point in humanoid
robots: A review. IEEE Sensors Journal,
20(3), 1126�1141.
McCarthy, Bob. (2012). Sound systems: design and optimization:
modern techniques and tools for sound system design and alignment.
Routledge.
Muller, Meinard, Ellis,
Daniel P. W., Klapuri, Anssi, & Richard, Ga�l. (2011). Signal processing
for music analysis. IEEE Journal of
Selected Topics in Signal Processing, 5(6), 1088�1110.
Prasetyo, Fauzan, Putra,
Eka, Riski, Moh, Yahya, Muhammad Syarif, & Ramadhan, Moh Hairul. (2023). Mengenal Teknologi Jaringan Nirkabel Terbaru
Teknologi 5G. 5(2), 5�7.
https://doi.org/10.37034/jsisfotek.v5i1.233
Pucher, Florian, Gattringer,
Hubert, & M�ller, Andreas. (2019). Collision detection for flexible link
robots using accelerometers. IFAC-PapersOnLine,
52(16), 514�519.
https://doi.org/10.1016/j.ifacol.2019.12.013
Rifandi, Riki, Studi,
Program, Sistem, Rekayasa, Teknologi, Fakultas, Universitas, Informasi, Raya,
Serang, Pi, Raspberry, & Pendahuluan, I. (2021). Rancang Bangun Kamera
Pengawas Menggunakan Raspberry Dengan Aplikasi Telegram Berbasis Internet Of
Things. Jurnal Prosisko, 8(1), 19�20.
Satrio Pambudi, Nicko,
Wiharta, Dewa Made, & Putra Sastra, Nyoman. (2018). Analisa Kestabilan
Gerakan Statis Pada Robot Humanoid. Jurnal
SPEKTRUM, 5(2), 253.
https://doi.org/10.24843/spektrum.2018.v05.i02.p32
Sulistyo, Eko. (2015).
Sistem Komunikasi Robot Humanoid Dalam Aplikasi Robot Penari. Seminar Nasional Sains Dan Teknologi 2015
Fakultas Teknik Universitas Muhammadiyah Jakarta, (November), 1�5.