Beruflich Dokumente
Kultur Dokumente
1.INTRODUCTION
When we say about voice control, the first thing come into our mind is Speech recognition which
makes system to understand the human voice/commands. Now, depending upon this voice
commands our robotic hand is going to be controlled. First thing has to be cleared is model of the
voice recognition module. There are two types of voice recognition modules namely V2 and V3.
To build up the strong robotic hand for lifting high weights high torque motors should be used
where DOF’s are preferred. As of the small robotic hand servo motors are preferred. The
controlling of the robotic hand is controlled with micro controller namely Arduino UNO. When
we give a voice command it is driven to controller to perform the operation of the robotic hand.
The block diagram shows all the major components that are required for implementation of the
robotic hand. Here, we have used Micro phone which is connected to the voice recognition module
of V3 model interfaced with micro controller connected. Power supply required for voice
recognition module, Arduino and Servos is 5V. Driving of 5V from Arduino as input for servos is
not preferable, as power supply drops. Microcontroller will generate the control signals to operate
the five servos of the robotic arm.
Components used:
2.LITERATURE SURVEY
In the robotics field, several research efforts have been directed towards recognizing human gestures. Few
popular systems are:
This Gesture Recognition methodology has become increasingly popular in a very short span of time.
The low moderate cost and relatively small size of the accelerometers are the two factors that makes it
an effective tool to detect and recognize human body gestures. Several studies have been conducted on
the recognition of gestures from acceleration data using Artificial Neural Networks (ANNs).
3.THEORETICAL STUDY
• These 80 voice commands are stored in one large group like a library. Any 7 voice
commands in the library could be imported into recognizer.
3.1.1. PARAMETERS:
• Current: <40mA
While speech recognition is the process of converting speech to digital data, voice recognition is
aimed toward identifying the person who is speaking. Voice recognition works by analyzing the
features of speech that differ between individuals. Everyone has a unique pattern of speech
stemming from their anatomy (the size and shape of the mouth and throat) and behavioral patterns
(their voice’s pitch, their speaking style, accent, and so on). The applications of voice recognition
are markedly different from those of speech recognition. Most commonly, voice recognition
technology is used to verify a speaker’s identity or determine an unknown speaker’s identity.
Speaker verification and speaker identification are both common types of voice recognition.
Speaker verification is the process of using a person’s voice to verify that they are who they say
they are. Essentially, a person’s voice is used like a fingerprint. Once a sample of their speech is
recorded, a person’s speech patterns are tested against a database to see if their voice matches their
claimed identity.
After all the setting above, you can speak or send voice instruction to it. If identified successfully,
result will be returned via serial port in the format:
• Clear – clear
• Record indication: D1 (RED) flashes 3 times within the 600ms, then off for400ms,
and then flashes quickly for 4 times within 600ms. Now the recording indication is
over.
• Begin to speak: D1 (RED) is off for 400ms, and then is on. Voice during the time
while D1 (RED) is on will be recorded by this module.
• Recording a voice instruction successfully for the first time: D1 (RED) off, D2
(ORANGE) on for 300ms.
• Recording a voice instruction successfully for the first time: D1 (RED) off, D2
(ORANGE) on for 700ms.
• Recording failure: D2 (ORANGE) flashes 4 times within the 600ms. In cases that
voice instructions detected twice don’t match, or the sound is too large, or there is
no sound, recording will fail. You need to start over the recording process for that
instruction.
Initially we have trained the voice recognition module with few of the voice commands[1], namely
3.4. ALGORITHM:
start
Check input
port
Yes HOLD
If
Condition1
No
Yes PINCH
If
Condition2
No
Yes THUMB
If
Condition3
No
Yes INDEX
If
Condition4
No
Yes RELEASE
If
Condition5
A servo motor is controlled by controlling its position using Pulse Width Modulation Technique.
The width of the pulse applied to the motor is varied and send for a fixed amount of time. The
pulse width determines the angular position of the servo motor. For example, a pulse width of 1ms
causes an angular position of 0 degrees, whereas a pulse width of 2ms causes an angular width of
180 degrees.
Commands on Arduino:
• servo.attach(pin) - servo.attach(9);
• servo.write(angle) – servo.write(90);
3.6. ARDUINO:
• The current version of Arduino Uno comes with USB interface, 6 Analog input pins, 14 I/O
digital ports that are used to connect with external electronic circuits. Out of 14 I/O ports, 6
pins can be used for PWM output.
• Arduino Uno are the most official versions that come with Atmega328 8-bit AVR Atmel
microcontroller where RAM memory is 32KB.
• Atmega328 microcontroller is placed on the board that comes with a number of features like
timers, counters, interrupts, PWM, CPU, I/O pins and based on a 16MHz clock that helps in
producing more frequency and number of instructions per cycle.
4. EXPERIMENTAL STUDY
4.1. CONNECTIONS:
-
POWER
SUPPLY
+
Figure 4.1 Circuit diagram of Robotic hand
4.2. METHODOLGY:
• This project presents the working of a robotic hand using voice control. The main aim of
this project is that it can be very useful for paralyzed people or people with impairments.
• The first term to be considered in voice control is Speech Recognition i.e. making the
system to understand human voice. Speech recognition is a technology where the system
understands the words (not its meaning) given through speech which are recognized by a
mic.
• The speech recognizer depends basically on HM2007 processor which is the heart of the
speech recognizer. The Analog voice input is transformed to digital commands. These
commands are used as input to the Arduino.
• Microcontroller also provides a PWM signal for controlling the speed and direction of
rotation of the motor. The PWM output of the controller is fed to the servo motors that
drive the motors of the robotic arm.
• During working, when the user says a particular trained word into the microphone of the
speech recognition module, the words are recognized by it and the digital output
corresponding to the voice command is provided to the microcontroller.
• Initially the output from the voice recognition module is of the state 00
• The corresponding BCD output of the speech recognition kit is sent to the Arduino
microcontroller. According to the inputs received by the Arduino, appropriate signals are
now sent to the motors to rotate the required motor in the specific direction.
• In this way, one can operate this robotic arm similar to the real hand such as holding and
releasing the objects, moving fingers freely. All these operations can be done by
recognizing the corresponding voice commands which is very realistic.
4.3. CODE:
#include "VoiceRecognitionV3.h"
#include <Servo.h>
/** .*
Connection
Arduino VoiceRecognitionModule
2 -------> TX
3 -------> RX
*/
uint8_t buf[64];
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
/**
*/
int i;
Serial.write(buf[i]);
else{
Serial.print("[");
Serial.print(buf[i], HEX);
Serial.print("]");
/**
*/
Serial.println("VR Index\tGroup\tRecordNum\tSignature");
Serial.print(buf[2], DEC);
Serial.print("\t\t");
if(buf[0] == 0xFF){
Serial.print("NONE");
else if(buf[0]&0x80){
Serial.print("UG ");
Serial.print(buf[0]&(~0x80), DEC);
else{
Serial.print("SG ");
Serial.print(buf[0], DEC);
Serial.print("\t");
Serial.print(buf[1], DEC);
Serial.print("\t\t");
if(buf[3]>0){
printSignature(buf+4, buf[3]);
else{
Serial.print("NONE");
Serial.println("\r\n");
void setup()
/** initialize */
myVR.begin(9600);
servo1.attach(3);
servo2.attach(5);
servo3.attach(6);
servo4.attach(9);
servo5.attach(11);
Serial.begin(115200);
pinMode(led, OUTPUT);
if(myVR.clear() == 0){
Serial.println("Recognizer cleared.");
}else{
while(1);
Serial.println("hold loaded");
Serial.println("relese loaded");
Serial.println("thumb loaded");
Serial.println("index loaded");
void loop()
int ret;
if(ret>0){
switch(buf[1]){
case hold:
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(0);
break;
case relese:
servo1.write(180);
servo2.write(180);
servo3.write(180);
servo4.write(180);
servo5.write(180);
break;
case thumb:
servo1.write(0);
servo2.write(0);
servo3.write(0);
servo4.write(0);
servo5.write(180);
break;
case index:
servo1.write(0);
servo2.write(180);
servo3.write(0);
servo4.write(0);
servo5.write(0);
break;
default:
break;
printVR(buf);
Our Robotic hand can be very useful for paralyzed people or people with impairments. It can be
controlled as a realistic hand which performs the tasks easily.
REFERENCES:
[1] International Research Journal of Engineering and Technology (IRJET) Volume: 04
Issue: 04 | Apr -2017.
CERTIFICATES: