Sunteți pe pagina 1din 54

WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 1

INTRODUCTION

A robotic arm consists of several sections connected together by linkages that help the arm
to travel specifically in a designed pattern, with sensors ensuring that all movements are
exactly of the similar pattern. They are endowed with several degrees-of-freedom, giving
them the flexibility to move in many directions through multiple angles with utmost ease
and agility.

A Robot in lay man’s terms is a mechanical device that has come into existence not only to
make the human life simpler by replacing or replicating human activities, but to offer an
excellent amount of precision and accuracy. It is defined as a programmable,
multifunctional manipulator designed to move material, parts, tools or specialized devices
through various programmed motions for the performance of a variety of tasks. The robot
inspiring the project is a machine that senses the signals it is designed to recognize,
processes the sensor information, and then uses it to carry out the assigned activity. A
Robotic Arm consists of several sections connected together by linkages. It involves motors
coupled with joints that are resolved by computers. Multiple degrees of freedom in robots
give them the flexibility to move in many directions through multiple angles with utmost
ease and agility. They circumvent human errors. This offers great accuracy reduced
production time and optimum output in regards to quality as well as quantity.

In recent year’s robot based surgery plays a key role in the medical field. Robot based
surgery allows doctors and surgeon to perform different type of complex procedure with
more accuracy, precision and flexibility to control the different positions of the human
hand. Robot plays a very important role in surgery, but used hardware and software in the
robotic surgery are extremely costly which is not affordable for every surgeries In complex
operations procedure, number of helper required in operation room are more. To reduce the

BTLIT BENGALURU/2015 1
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

number of helpers (nurses) in operation theatre, automatically pick and place robotic
system plays significant role in complex surgery.

In order to control the position of robotic hand by sensors, researchers have developed
many sensing methods (Optical linear encoder, Strain gauge and Potentiometer). The OLE
sensors placed on the different joint of the body (elbow, ankle or wrist) capture hand joint
movement. Also the miniature OLE sensor can be mounted at the back of all the fingers.
The number of OLE sensors mounted can accurately capture the movements of the finger
joint. The OLE sensor is compact in size, hence it is easy to attach on the human hand glove
to give high repeatability and reliability in both gripped and flat position. It is also
lightweighted, low-cost, and immune to temperature or electromagnetic interferences, and
can be interfaced with a general computing system through wired and wireless standard
interfaces, but the drawback of OLE sensor is applicable only for two angles 0 degree and
90 degree.

Strain gauge is a thin passive resistive device generally unidirectional in operation. When
we apply pressure on strain gauge its resistance changes, these changes in resistances are
measured from Wheatstone bridge. The main issue of strain gauges, it saturates easily under
large deflections which is not suitable to control the position of robotic hand.
A Potentiometer is a passive resistive device. The Potentiometer is generally a pot,
depending upon the application this pot may need to vary. But using the potentiometer in
the sensing hand glove, will not give the exact accuracy as the sudden change in the
movement of hand glove.

Some of the most advanced robotic arms have such amenities as a rotating base, pivoting
shoulder, pivoting elbow, rotating wrist and gripper fingers. All of these amenities allow
the robotic arm to replicate work closely resemble what a man can do only without the risk.
Medical robotics is a growing field and regulatory approval has been granted for the use of
robots in minimally invasive procedures. Robots are being used in performing highly
delicate, accurate surgery or to allow a surgeon who is located remotely from their patient
to perform a procedure using a robot controlled remotely.

BTLIT BENGALURU/2015 2
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

1.1 Problem Statement


 The wired system is used only in limited areas. This limits the use of the robot and
it applications.
 Due to this reason, the application of the system gets reduced. Hence, to avoid this
problems the system is made wireless which makes it more easy and convenient to
use.
 Therefore, design and fabrication of robotic arm will be done in this project for
master slave with Bluetooth.
 Due to the reduced complexity of the overall system the application of the system
also increases.
 The hand gestures are recognized by the sensor and the signal is sent to the system
for its actual working.

1.2 Objective of the project


 The project aims to design and implement a cost-effective and an affordable
prototype model of robotic arm.
 To provide accuracy as per the change in the position of the fingers or hand,
resistance of sensors are calibrated which are mounted on human hand.
 The system uses flex sensor as a sensory element. The flex sensors are mounted on
a gloves only on four fingers, and there is a wireless connection via Bluetooth
module between the Robotic Me Arm.
 The movements of the robotic arm are controlled by moving the user’s fingers
using the flex sensors and wireless Bluetooth modules.
 When a flex sensor is bent at certain angles, the voltage across it changes. This
voltage sensed is processed by Arduino to rotate the corresponding servo motors
wirelessly using Bluetooth module.

BTLIT BENGALURU/2015 3
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 2

LITERATURE SURVEY

To developed a human-machine communication interface between the Flex-Sensor and the


Me robotic arm. [1]

An algorithm was developed to allow an optimum mapping between the user hand
movement, tracked by the Flex-Sensor. The system should allow for a more natural human-
computer interaction and a smooth manipulation of the robotic arm by using higher
accurate sensors and capable servo motors. To build a robotic arm controlled by natural
human arm movements whose data is acquired through the use of Flex-Sensors has been
proposed.[2]

The development of this arm was based on Ardiuno platform along with a personal
computer for signal processing. Finally, this prototype of the arm may be expected to
overcome the problem such as placing or picking hazardous objects or non-hazardous
objects that were far away from the user. To designing and developing of a microcontroller
(Ardiuno Uno) based robotic arm has been described. The robotic arm responds to the
gesture as well as can be programmed to go along a definite path and task [3].

The system feels the movement of user’s arm and robotic arm replicates the given input
gesture. The gesture is sensed by a number of Flex-Sensors which are embedded onto a
glove. The movement in Flex-Sensors regulate the position for the servo motors driving
the parts of the arm. One of the most difficult problem of accuracy which was resolved in
sufficient manner and represented in this article is processing acceleration data to estimate
linear position of the robotic arm adequate to operator's motion. The results of algorithm's
parameter values selections and results of practical evaluation of the interface.

BTLIT BENGALURU/2015 4
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

A proposition of a Flex-Sensors based system to control an industrial robot. These Flex-


Sensors are attached to the human arms, capturing its behaviour (gestures and postures)
and schooled with a backpropagation algorithm was used to recognize arm gestures and
postures. The robot starts the movement almost at the same time as the user starts to
perform a gesture or posture (low response time). The results show that the system grants
the control of an industrial robot in an intuitive way. The achieved recognition rate of
gestures and postures (92%).[5]

Gourab Sen Gupta,S. C. Mukhopadhyay and Matthew Finnie(2009)proposed the design


of controlling an anthropomorphic robotic arm through a LAN or via the Internet. The user
can control the robotic arm remotely and access its sensory feedback signals. The camera
mounted on the robot arm takes images and transmits to the control station. The robot arm
is controlled using a master-slave control methodology. [6]

Sulabh Kumra,Rajat Saxena and Shilpa Mehta described the layout and development of a
low cost and user friendly interface for the control of a 6-DOF anthropomorphic robotic
arm. Articulation of the robotic arm is achieved about six single-axis revolute joints. Tele-
operator, master, uses the Man Machine Interface (MMI) to operate in real-time the robotic
arm. The MMI has simple motion capture devices that translate motion into analog voltages
which bring about the corresponding actuating signals in the robotic arm.[7]

Hye-Jong Kim, Yuto Tanaka,Akihiro Kawamura,Sadao Kawamura and Yasutaka


Nishioka(2015) presented an inflatable robotic arm controlled by a joystick to be used for
healthcare applications. The arm is constructed almost entirely of plastic elements:
inflatable links, air bag actuators, and acrylonitrile butadiene styrene (ABS) joints. It is
softer and lighter than typical robotic arms that are made of metal and heavy elements. A
new control method is proposed to be controlled with a joystick. Here an inflatable robotic
arm with four degrees of freedom (4 DOF) to obtain experimental results for the control
performance of the inflatable robotic arm.[8]

S.P. Praturu and J.N. Anderson proposed the position signal interface (PSI), which
contribute the primary position feedback path in the RACS. It keeps track of all the joint
positions and allows real-time access to the position and error data. The PSI is constructed
on a single DIP plugboard and fits into the Unimation controller rack. Feedback signals

BTLIT BENGALURU/2015 5
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

from the six optical encoders are used by the PSI to determine absolute joint positions and
for error detection. The PSI also provides joint position data to the VAL communication
interface of the RACS for operation in a 'VAL-dependent' mode. [9]

A new concept of force feedback. The system can overcome the bottlenecks of other
feedback system in a user friendly way. Force sensor and laser distance sensor
communicates the information from the gripper's position to the teleoperator by using force
feedback module on a glove. Pneumatic pressure gives the operator distance information,
while a Magnetorheological Fluid (MR-Fluid) based actuator presents the gripper's force.
It shows the possibility of usage of such force feedback glove in combination with a robotic
arm.[10]

G. Sen Gupta, R. Paddison, C.H. Messom and S.Demidenko(2006) described the


effectiveness of the proposed method is available robotic arm which is controlled by a
prototype 6-DOF master unit. The robotic arm mimics the dexterity of the human hand and
wrist. The prospective master control unit is cost-effective and will have wide ranging
applications in the fields of medicine, manufacturing, security, extreme- environment,
entertainment and ROV (Remotely Operated Vehicle) teleoperation in undersea
improvement or extraterrestrial exploration vehicle. [11]

A controller collects data in a database and analysis of stored data. This system was worked
based on an algorithm developed to lift the object. Then, through a webbased user interface,
internet users can control the robot arm in order to achieve at anywhere and anytime. The
development of this robot is based on Ardiuno platform.[12]

An interesting description of inertial sensors and some innovative application of sensors


have been discussed gives an examination of the impact of individual sensor on the
performance of a navigation system. Gives the design of a controller intended for
teleoperation, which is capable of controlling an anthropomorphic robotic arm through a
LAN or via the Internet. Provides a review of relevant mobile robot positioning
technologies like Odometry, Inertial Navigation, Magnetic Com-passes, and GPS Model
Matching etc. Pick and place operation by controlling the speed and position using FPGA
and sensor circuitry has been discussed in. But the important contribution of present work
is that any human arm moments can be mapped onto the robotic arm with good precision.

BTLIT BENGALURU/2015 6
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Further the flexibility of micro controller programming makes the task easier. Robots can
be used to perform surgeries in a more accurate and precise manner where the surgeon can
make decisions and operate the robot as and when needed at the spur of the moment. This
ensures that no human error is involved, there is a reduced amount of blood loss, and the
area of surgery is comparatively smaller.
In minimally invasive robotic surgery (MIRS), the surgery is performed by the surgeon
using tele-operated robotic tools instead of using manual instruments. In this scheme,
robots do not replace the surgeon, but instead provide the surgeon with improved abilities
to perform the intricate, precise surgical manipulations. The following are the examples of
existing MIRS systems:
Da-Vinci Robot

This system has been approved by the FDA for laparoscopic, non-cardiac thoracoscopic,
prostatectomy, cardiology, cardiac revascularization, urologic surgical, gynaecologic
surgical, paediatric surgical and trans-oral otolaryngology surgical procedures. Zeus
System

The Zeus system has the similar capabilities as the Da Vinci system. It has been approved
by the FDA as well. It is composed of a master console and 3 table-mounted robotic arms.
Two robotic arms mimic the surgeon’s arms and hold the surgical tool and the third arm is
a voice-controlled robotic endoscopic system.

The endoscopic instrument mounted on the slave manipulator provides five degrees of
freedom to extend the dexterity inside the patient for the surgeon. Robotic systems thus
have proven to play a very important role in the medicinal and surgical sector, be it in
manufacturing medicines and drugs or carrying out simple tasks in specific surgeries.
However, robots do not take over the whole procedure in a surgery, but certainly assist the
surgeons to perform the task accurately and avoid large incisions, infections and blood loss.

BTLIT BENGALURU/2015 7
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 3

INTRODUCTION TO ROBOTICS

Robotics is an interdisciplinary branch of engineering and science that includes mechanical


engineering, electronics engineering, computer science, and others. Robotics deals with the
design, construction, operation, and use of robots, as well as computer systems for their
control, sensory feedback, and processing. These technologies are used to develop
machines that can substitute for humans and replicate human actions.

Robotics can be defined as the science or study of the technology primarily associated with
the design, fabrication, theory, and application of robots. While other fields contribute the
mathematics, the techniques, and the components, robotics creates the magical end product.
The practical applications of robots drive development of robotics and drive advancements
in other sciences in turn. Robotics is a confluence science using the continuing
advancements of mechanical engineering, material science, sensor fabrication,
manufacturing techniques, and advanced algorithms. The study and practice of robotics
will expose a dabbler or professional to hundreds of different avenues of study.

In summary, robotics is the field related to science and technology primarily related to
robotics. It stands tall by standing the accomplishments of many other fields of study.

3.1 Robotic arm


A robotic arm is a type of mechanical arm, usually programmable, with similar functions
to a human arm; the arm may be the sum total of the mechanism or may be part of a more
complex robot. The links of such a manipulator are connected by joints allowing either
rotational motion (such as in an articulated robot) or translational (linear) displacement.
The links of the manipulator can be considered to form a kinematic chain. The terminus of
the kinematic chain of the manipulator is called the end effector and it is analogous to the
human hand. The end effector, or robotic hand, can be designed to perform any desired task
such as welding, gripping, spinning etc., depending on the application.

BTLIT BENGALURU/2015 8
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

For example, robot arms in automotive assembly lines perform a variety of tasks such as
welding and parts rotation and placement during assembly. In some circumstances, close
emulation of the human hand is desired, as in robots designed to conduct bomb
disarmament and disposal.

3.2 Types of Robotic arm

• Cartesian robot / Gantry robot: Used for pick and place work, application of sealant,
assembly operations, handling machine tools and arc welding. It's a robot whose arm
has three prismatic joints, whose axes are coincident with a Cartesian coordinator.
• Cylindrical robot: Used for assembly operations, handling at machine tools, spot
welding, and handling at die-casting machines. It's a robot whose axes form a
cylindrical coordinate system.
• Spherical robot / Polar robot Used for handling machine tools, spot welding,
diecasting, fettling machines, gas welding and arc welding. It's a robot whose axes form
a polar coordinate system.
• SCARA robot: Used for pick and place work, application of sealant, assembly
operations and handling machine tools. This robot features two parallel rotary joints to
provide compliance in a plane.
• Articulated robot: Used for assembly operations, die-casting, fettling machines, gas
welding, arc welding and spray painting. It's a robot whose arm has at least three rotary
joints.
• Parallel robot: One use is a mobile platform handling cockpit flight simulators. It's a
robot whose arms have concurrent prismatic or rotary joints.
• Anthropomorphic robot: It is shaped in a way that resembles a human hand, i.e. with
independent fingers and thumbs

BTLIT BENGALURU/2015 9
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 4

ROBOT ARM MECHANICS

4.1 General Characteristics of Robot Arm Mechanics


Kinematics in robotics is the science of motion investigation. Robot arm links can be
rotated or offset according to the reference coordinate frame. A systematic and general
approach developed by Denavit and Hartenberg establishes the relationship between the
robot endpoint and the total displacement of robot arm links.
Angular and linear displacements between limbs are called joint coordinates and are
defined by limb variables. In order to determine the amount of rotation and
displacement according to the reference coordinate system of the endpoint, the
matrices A which represent the amounts of each limb rotation and displacement are
multiplied in turn. If the coordinates of the end point are given, limb variables can be
obtained by going backward. These operations are called forward and inverse kinematics.
The general transformation matrix can be quite complex even for simple robots. It can be
found in standard textbooks such as the Jacobian matrix for standard robots (2) and (3).

4.2 Coordinate Frames and Transformation Matrices for a


General Robot Arm
An n-dimensional position vector is denoted by an n + 1-dimensional vector and is called
a homogeneous coordinate representation. In the following, a matrix of 4 X 4 is shown
which shows a position vector in the homogeneous coordinates between the coordinate
frames (4).

BTLIT BENGALURU/2015 10
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

p = p i + p j + p k x y z the vector of the origin of the new frame, x = x i + x j + x k x y


z the contour vector of the x-axis of the new frame, y = y i + y j + y k x y z the
contour vector of the y-axis of the new frame, z = z i + z j + z k x y z Represents the
contouring vector of the z-axis of the new frame. Column 4 of the transformation matrix
has 3 elements corresponding to displacement in the x, y, and z directions.

If any of the 3 coordinate axes is possible to rotate, there are 3 rotational transforms
corresponding to the rotations in the x, y, and z-axes up to the q angle. The following
matrix can be written for x-axis;

The matrices representing only the revolutions around the y and z-axes can be written in a
similar manner.

BTLIT BENGALURU/2015 11
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

The elements of the transformation matrix can be found by the arithmetic multiplication of
pure rotation and displacement matrices. This can be obtained by a sequence of rotations
about the axes of the stationary reference frame if the orientation is desired according to
the reference frame of the Cartesian space endpoint. Although there are many ways to do
this, one of the best known is the "roll-pitch-yaw" transformation. 3 turns. First turn
around the x-axis, then y and then around the z-axis.

BTLIT BENGALURU/2015 12
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 5

HARDWARE DESCRIPTION

The system basically consisted of three parts:


1. Master Section - This section includes the flex sensors connected to the transmitting
Arduino board along with the Bluetooth shield and the Bluetooth module.

2. Bluetooth Wireless Network - This is the section which physically doesn’t exist. It
consists of the wireless communication between the Bluetooth modules attached to
the Transmitter and Receiver Arduino board.

3. Slave Section - It includes the Receiver Bluetooth module attached to the receiver
Arduino board via the shield. The output of the Arduino board is connected to the
servo motors on the Robotic Arm enabling the corresponding motion of the arm.

Figure 5.1: Block Diagram of the System Architecture

BTLIT BENGALURU/2015 13
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

5.1 Master section

5.1.1 Flex Sensors


Flex sensors are analog resistors. These resistors work as variable analog voltage divider.
Inside the flex sensor are carbon resistive elements with thin flexible substrate. More
carbon means less resistance. When the substrate is bent the sensor produces resistance
output relative to the bend radius. The flex sensor achieves great form-factor on a thin
flexible substrate. When the substrate is bent, the sensor produces a resistance output
correlated to the bend radius. Smaller the radius, higher will be the resistance value. The
impedance buffer in the circuit is a single sided operational amplifier used with these
sensors as shown in figure. Since low bias current of the op amp reduces error due to source
impedance of the flex sensor as volt-age divider. The variation in deflection or bending of
flex sensor results in variation of resistance itself. The signal conditioning circuit is used to
read these resistance changes and it is given to ADC. ADC converts these values into
equivalent digital values.

Figure 5.2: Flex Sensor

BTLIT BENGALURU/2015 14
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 5.3: Flex Sensor Connection Circuit

Figure 5.4: Flex sensor bend proportional to varying resistance

BTLIT BENGALURU/2015 15
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

5.1.2 The Glove


Gloves offer for superior data input potential since they provide multiple degrees of
freedom for each finger and the hand as a whole. By taking orientation of fingers and
relative position of hand, glove devices can track an enormous variety of gestures each of
which corresponds to a different type of data entry. This gives the glove remarkably rich
expressive power, which can be used in the inputting of extremely complicated data.

Gloves measure finger flexure and hand orientation, to a greater are lesser extent. Each type
of glove measure either four or five fingers for the degree of flexure, measurement range
from the fingers being extended straight in the line with the palm, to being curled up against
the palm as in making a first. Glove can track hand orientation by measuring roll, pitch and
yaw or position of the hand as a whole.
All data glove devices track the orientation of the hand and fingers using either fiber optics,
ultrasonic, magnetic, electrical resistance or some combination of these methods. However
any glove device feed data about hand and finger positions to a tracker, a piece of
equipment that process the data so that it can be understood by the computer. The computer
then matches the orientation to a file of gestures and fires an event corresponding to the
matching gestures.
In this project the flex sensors are mounted on four fingers- the right index finger, the right
middle finger, the left index finger and the left middle finger through the gloves.

Figure 5.5: The Glove

BTLIT BENGALURU/2015 16
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

5.1.3 Arduino Uno (ADC)

Arduino Uno is a microcontroller board based on the ATmega328P. It has 14 digital


input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz
quartz crystal, a USB connection, a power jack and a reset button. It contains everything
needed to support the microcontroller; simply connect it to a computer with a USB cable
or power it with an AC-to-DC adapter or battery to get started. It can be powered by a USB
cable or by an external 9 volt battery, though it accepts voltages between 7 and 20 volts.

The ATmega328 provides UART TTL (5V) serial communication, which is available on
digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the board channels this serial
communication over USB and appears as a virtual com port to software on the computer.
The RX and TX LEDs on the board will flash when data is being transmitted via the USB-
to-serial chip and USB connection to the computer (but not for serial communication on
pins 0 and 1). A Software Serial library allows serial communication on any of the Uno's
digital pins.

Here are the components that make up an Arduino board and what each of their
functions are.
1. Reset Button – This will restart any code that is loaded to the Arduino board
2. AREF – Stands for “Analog Reference” and is used to set an external reference
voltage
3. Ground Pin – There are a few ground pins on the Arduino and they all work the
same
4. Digital Input/output – Pins 0-13 can be used for digital input or output

5. PWM – The pins marked with the (~) symbol can simulate analog output
6. USB Connection – Used for powering up your Arduino and uploading sketches
7. TX/RX – Transmit and receive data indication LEDs
8. ATmega Microcontroller – This is the brains and is where the programs are stored
9. Power LED Indicator – This LED lights up anytime the board is plugged in a
power source

BTLIT BENGALURU/2015 17
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

10. Voltage Regulator – This controls the amount of voltage going into the Arduino
board
11. DC Power Barrel Jack – This is used for powering your Arduino with a power
supply
12. 3.3V Pin – This pin supplies 3.3 volts of power to your projects
13. 5V Pin – This pin supplies 5 volts of power to your projects
14. Ground Pins – There are a few ground pins on the Arduino and they all work the
same
15. Analog Pins – These pins can read the signal from an analog sensor and convert it
to digital

Figure 5.6: Arduino Uno microcontroller board (interface)

BTLIT BENGALURU/2015 18
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

5.1.3.1 Technical specifications

Microcontroller ATmega328
5V
Operating Voltage

Input Voltage
7-12V
(recommended)
Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O Pin 40Ma

DC Current for 3.3V Pin 50mA

32 KB (ATmega328) of which 0.5 KB used by


Flash Memory
boot loader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

5.2 Bluetooth Module


HC‐05 module is an easy to use Bluetooth SPP (Serial Port Protocol) module, designed for
transparent wireless serial connection setup. The HC-05 Bluetooth Module can be used in
a Master or Slave configuration, making it a great solution for wireless communication.
This serial port Bluetooth module is fully qualified Bluetooth V2.0+EDR (Enhanced Data
Rate) 3Mbps Modulation with complete 2.4GHz radio transceiver and baseband. It uses
CSR Blue core 04‐External single chip Bluetooth system with CMOS technology and with
AFH (Adaptive Frequency Hopping Feature). The Bluetooth module HC-05 is a
MASTER/SLAVE module. By default the factory setting is SLAVE. The Role of the

BTLIT BENGALURU/2015 19
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

module (Master or Slave) can be configured only by AT commands. The slave modules
cannot initiate a connection to another Bluetooth device, but can accept connections. Master
module can initiate a connection to other devices .The user can use it simply for a serial
port replacement to establish connection between MCU and GPS, PC to your embedded
project, etc. It has the footprint as small as 12.7mmx27mm.

Figure 5.7: Bluetooth HC 05 module (Front View)

Figure 5.8: Bluetooth HC 05 module (Back View)

5.2.1 Specifications
• Bluetooth protocol: Bluetooth Specification v2.0+EDR
• Frequency: 2.4GHz ISM band
• Modulation: GFSK (Gaussian Frequency Shift Keying)
• Emission power: ≤4dBm, Class 2
• Sensitivity: ≤-84dBm at 0.1% BER
• Speed: Asynchronous: 2.1Mbps (Max) / 160 kbps, Synchronous: 1Mbps/1Mbps
• Security: Authentication and encryption
• Power supply: +3.3VDC 50mA

• Working temperature: -20 ~ +75Centigrade


• Dimension: 26.9mm x 13mm x 2.2 mm

BTLIT BENGALURU/2015 20
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

• Slave default Baud rate: 9600


• Data bits: 8
• Stop bit: 1
• Parity: No parity
• PIO control
• UART interface with programmable baud rate
• With integrated antenna
• With edge connector
• Permit pairing device to connect as default
• Auto‐pairing PINCODE:”1234” as default
• PIO9 and PIO8 can be connected to red and blue led separately. When master and
slave are paired, red and blue led blinks 1time/2s in interval, while disconnected
only blue led blinks 2times/s

5.2.2 Pin Description


1. Key/EN: It is used to bring Bluetooth module in AT commands mode. If Key/EN
pin is set to high, then this module will work in command mode. Otherwise by
default it is in data mode. The default baud rate of HC-05 in command mode is
38400bps and 9600 in data mode.
HC-05 module has two modes:
Data mode: Exchange of data between devices. The module is in data mode by
default.
Command mode: It uses AT commands which are used to change setting of HC-
05. To send these commands to module serial (USART) port is used.

2. Vcc: Powers the module. Connect to +5V Supply voltage.


3. GND: Ground pin of module, connect to system ground.
4. TXD: Transmits Serial Data. Everything received via Bluetooth will be given out
by this pin as serial data.
5. RXD: Receive Serial Data. Every serial data given to this pin will be broadcasted
via Bluetooth.

BTLIT BENGALURU/2015 21
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

6. State: The state pin is connected to on board LED, it can be used as a feedback to
check if Bluetooth is working properly.

5.3 Slave Section


5.3.1 Servo Motors
Servo detects the operation error of a mechanism, provides feedback and corrects faults.
The servo motor can have alternating current (AC), direct current (DC) or stepper motors.
In addition to these, there are drive and control circuits. Servo motors are the kinds of
motors that can fulfil the commands we want. They can operate steadily even at very small
or very large speeds. In these motors, the large moment can be obtained from the small
size.

Servo motors are used in control systems such as fast operation, excessive axis movement,
condition control and so on. Servo motors are the last control element of a mechanism.
They are highly sensitive and servo motors are used in conjunction with electronic or
programmable circuits. These engines are divided into AC and DC. When the AC servo
motors are brushless type motors, the servo motors brush. Servo motors are mostly three
cables. These are a red cable for power, black for grounding and yellow cables for control
(data, data).

Servo motors MG 90S are used for this project as it gives better accuracy and precision
features. These servo motors are fixed in four different positions of robotic arm. This motor
is mainly consists of three terminals (Supply, PWM Pulse and Ground).

Input terminals of a servo motor are connected to 5VDC supply, ground terminal and the
PWM pulse which is provided by micro-controller. The Pulse Width Modulation (PWM)
signal coming from micro-controller is given to servo motor and as per this signal servo
motor moves and movement of robotic system occurs. The movement of robotic system is
depends upon the compress or tensile bending of flex sensor.

BTLIT BENGALURU/2015 22
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 5.9: Servo Motor MG90S used in the project

5.3.1.1 Specifications

• Weight: 13.4 g
• Dimension: 22.5 x 12 x 35.5 mm approx.
• Stall torque: 1.8 kgf·cm (4.8V), 2.2 kgf·cm (6 V)
• Operating speed: 0.1 s/60 degree (4.8 V), 0.08 s/60 degree (6 V)
• Operating voltage: 4.8 V – 6.0 V
• Dead band width: 5 µs

5.3.1.2 Inside servo motor


To fully understand how the servo works, you need to take a look under the hood. Inside
there is a pretty simple set-up a small DC motor, potentiometer and a control Circuit. The
motor is attached by gears to the control wheel. As the motor rotates, the Potentiometer’s
resistance changes, so the control circuit can precisely regulate how much movement there
is and in which direction it is. When the shaft of the motor is at the desired position, power
supplied to the motor is stopped. If not, the motor is turned in the appropriate direction.
The desired position is sent via electrical pulses through the signal wire. The motor's speed
is proportional to the difference between its actual position and desired position. So if the

BTLIT BENGALURU/2015 23
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

motor is near the desired position, it will turn slowly, otherwise it will turn fast. This is
called proportional control. The internal construction of servo is shown in figure 5.10.

Figure 5.10: Construction of Servo motor

5.3.1.2 Working of servo motor


Figure (5.10) shows the circuit diagram of the servomotor built out of five resistors and a
capacitor, aided by a transistor. The power and control are given as input to this circuit.

BTLIT BENGALURU/2015 24
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 5.11: Circuit diagram of Servo motor

Figure 5.12: Angle positioning depends on the length of the pulse

BTLIT BENGALURU/2015 25
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

5.3.2 Robotic Me Arm


The MeArm is a small and inexpensive robotic arm with 4 degrees of freedom. Originally
developed as an educational tool for schoolchildren the MeArm has since become a popular
device for robotics experimenters of all ages. Its simple open source design makes it an
ideal tool for anyone developing software and electronics. Projects created with the MeArm
can then be ported for use on a more expensive and capable full-sized robotics arm.

As the MeArm is an open source project the plans for building it are available freely on the
Internet. To build a MeArm from scratch requires just four small servo motors and a
material such as acrylic or wood to construct the arm itself. It is also possible to assemble
a MeArm using parts produced with a 3D Printer.

5.3.2.1 Building the MeArm


The MeArm is constructed of acrylic plastic and within the kit you’ll find four sheets, each
pre-cut with all of the MeArm parts. The four sheets each come with a white plastic backing
on one side. You need to remove the plastic before beginning construction.

The “Fixings Package” contains all of the nuts and screws that you’ll need to assemble the
MeArm. The screws are all M3 metric fasteners and in many cases they self-tap into the
acrylic. The parts list is as follows:

• 10 x M3 Nut

• 6 x M3-6mm Screws

• 15 x M3-8mm Screws

• 3 x M3-10mm Screws

• 8 x M3-12mm Screws

• 4 x M3-20mm Screws

In addition the Fixings Package also contains four stick-on feet for the MeArm base and a
2.5 mm hex Allen key. The Allen key is required to tighten the screws.

BTLIT BENGALURU/2015 26
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 5.13: Acrylic Parts from which the MeArm is built

Figure 5.14: MeArm Fixing Package contents (nuts, screws and Allen key)

BTLIT BENGALURU/2015 27
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 5.15: Robotic MeArm

BTLIT BENGALURU/2015 28
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 6

SOFTWARE DESCRIPTION

6.1 Programming the Arduino

Once the circuit has been created on the breadboard, you’ll need to upload the program
(known as a sketch) to the Arduino. The sketch is a set of instructions that tells the board
what functions it needs to perform. An Arduino board can only hold and perform one
sketch at a time. The software used to create Arduino sketches is called the IDE which
stands for Integrated Development Environment.

The Arduino integrated development environment (IDE) is a cross-platform application


(for Windows, macOS, Linux) that is written in the programming language Java. It
originated from the IDE for the languages Processing and Wiring. It includes a code editor
with features such as text cutting and pasting, searching and replacing text, automatic
indenting, brace matching, and syntax highlighting, and provides simple oneclick
mechanisms to compile and upload programs to an Arduino board. It also contains a
message area, a text console, a toolbar with buttons for common functions and a hierarchy
of operation menus. The source code for the IDE is released under the GNU General Public
License, version 2.

The Arduino IDE supports the languages C and C++ using special rules of code structuring.
The Arduino IDE supplies a software library from the Wiring project, which provides many
common input and output procedures. User-written code only requires two basic functions,
for starting the sketch and the main program loop, that are compiled and linked with a
program stub main () into an executable cyclic executive program with the GNU toolchain,
also included with the IDE distribution. The Arduino IDE employs the program avrdude to
convert the executable code into a text file in hexadecimal encoding that is loaded into the
Arduino board by a loader program in the board's firmware.

BTLIT BENGALURU/2015 29
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

A minimal Arduino C/C++ program consist of only two functions:

• void setup (): This function is called once when a sketch starts after power-up or
reset. It is used to initialize variables, input and output pin modes, and other libraries
needed in the sketch.
• void loop (): After setup () has been called, function loop () is executed repeatedly
in the main program. It controls the board until the board is powered off or is reset.

Figure 6.1: Arduino Integrated Development Environment

BTLIT BENGALURU/2015 30
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

6.2 Flex Sensor Calibration


The flex sensor changes its resistance when flexed so we can measure that change using
one of the Arduino’s analog pins. To do that we need a fixed resistor that we can use for
that comparison (We are using a 1K resistor). This is called a voltage divider and divides
the 5v between the flex sensor and the resistor. The analog read on the Arduino is basically
a voltage meter at 5V (its max) it would read 1023, and at 0v it read 0. So we can measure
how much voltage is on the flex sensor using the analog read and we have our reading.

The amount of that 5V that each part gets is proportional to its resistance. So if the flex
sensor and the resistor have the same resistance, the 5V is split evenly (2.5V) to each part
(analog reading of 512).For calibration we use the Arduino UNO, USB cable, breadboard,
Jumper wires, 1k Ω resistors and Computer (Mac, Linux, Windows).

The procedure to calibrate the flex sensors is described below:

Step 1
Connect the flex sensors’ terminals to the 5v pin, ground pin and analog input pins of the
Arduino as shown in the figure.

Step 2
Plug the Arduino into the computer and upload the program listed below.

//Constants: const int ledPin = 3; //pin 3 has PWM


function const int flexPin = A0; //pin A0 to read
analog input

//Variables: int value; //save


analog value

void setup ()
{
pinMode (ledPin, OUTPUT); //Set pin 3 as 'output'
Serial.begin (9600); //Begin serial communication } void
loop ()

BTLIT BENGALURU/2015 31
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

{
value = analogRead (flexPin); //Read and save analog value from potentiometer
Serial.println (value); //Print value value = map (value, 700, 900, 0, 255);
//Map value 0-1023 to 0-255 (PWM) analogWrite (ledPin, value); //Send
PWM value to led delay (100); //Small delay

Step 3
After uploading, open your serial monitor, and set the baud rate to 9600 bps.If you bend
the flex sensor, you should see resistance and estimated angle calculations change.

Figure 6.2: Interfacing the Flex Sensors to Arduino Uno

BTLIT BENGALURU/2015 32
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

6.3 Configuring two HC-05 Bluetooth Modules as Master and


Slave
To establish the connection between the two HC-05s, one of them is to be set as master and
the other one to the slave mode. The data transmission has to follow some communication
protocol which requires setting the baud rate of both the modules. Baud rate is the rate at
which it sends the data to the other module. To set the module as master or slave and its
baud rate to a desired value, the AT command mode of the module has to be activated.

Make the following connections:

1. Connect the RX, TX and ground pin of HC-05 to TX, RX and ground pins of Arduino
Uno respectively.
2. Connect 5V pin of HC-05 to a 5V Vcc supply and Enable (EN) pin to Arduino’s 5V
pin.
3. At last, connect ground pin of the Arduino to the ground of the supply.
4. Then connect the Arduino to the PC using a USB cable and open Arduino ide.

Figure 6.3: Interfacing the HC-05 Bluetooth module to Arduino Uno

BTLIT BENGALURU/2015 33
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Now follow the following procedure to execute the AT commands:

1. Open device manager and check which COM port is available for your serial
terminal.

2. If there are no available ports, download and install the COM drivers (I used
CP210xVCPInstaller).

3. Open the Arduino ide and select the Tools tab. Then click on the Port option and
set the port number same as the one shown in your device manager.

4. Open the serial monitor next and set the baud rate to 38400 at right bottom of the
monitor window.

5. Then, in the command line, type AT and hit enter. If OK shows on the console, AT
mode of your module has been activated and if doesn't print anything (which
happens a lot), start over the ide and reset the baud rate again.

6. After it prints OK as a response, type AT+ROLE=0. This sets the module to slave
mode.

7. Then type AT+ADDR? Which gives the physical address of this module. Note it
down.

8. Finally, type AT+UART=4800, 1, 0. This command is to set the baud rate of the
module to 4800 (you can set it to any other value) and 1 and 0 are the stop bit and
parity bit values. For UART communication, 4800 baud rate along with 1MHz
frequency of the microcontroller is suitable.

9. Now, remove this and connect the other HC-05 to the Arduino similarly. Again type
AT+ROLE=1 to set the module to master mode. Then set its baud rate to 4800 as
well likewise.

10. Now, to pair these two modules, type AT+bind= (physical address of the slave)
98d3:34:905d3f for example. It'll print OK if the devices got successfully paired.

BTLIT BENGALURU/2015 34
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 6.4: Slave Configuration

Figure 6.5: Master Configuration

BTLIT BENGALURU/2015 35
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

6.4 Servo Calibration


Prior to beginning construction of the MeArm you will need to calibrate the servo motors.
An Arduino, some jumper wires, an external 5 volt power supply capable of enough current
for the four servos is needed. Here is the list of the actual servo motor wire colors and how
they “translate” to the ones shown in the MeArm manual:

• Yellow = Orange (This is the PWM control wire)

• Black = Brown (This is the Ground wire)

• Red = Red (This is the 5 Volt power supply wire)

The PWM wires for the motors are connected to four of the digital outputs on the Arduino
as shown in figure.

Figure 6.6: Servo Motors connections to Arduino and Bread Board

BTLIT BENGALURU/2015 36
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

The steps involved in calibrating the servo motors are as follows:

Step 1

Using the configuration as shown in fig, connect servo motors to the power and the
Arduino.

Step 2

Connect the Arduino to the PC via USB cable.

Step 3

Start the Arduino IDE or go to codebencher.cc/sketch 148456

Step 4

Type the code below

#include <Servo.h>

Servo middle, left, right, claw; // creates 4 "servo objects" void

setup ()

Serial.begin (9600); middle.attach (11); // attaches the servo on pin

11 to the middle object left.attach (10); // attaches the servo on pin 10

to the left object right.attach (9); // attaches the servo on pin 9 to the

right object claw.attach (6); // attaches the servo on pin 6 to the claw

object

} void loop

()

BTLIT BENGALURU/2015 37
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

middle.write (90); // sets the servo position according to the value (degrees)

left.write (90); // does the same right.write (90); // and again claw.write

(25); // yes you've guessed it delay (300); // doesn't constantly update the

servos which can fry them }

Step 5

Take your permanent marker pen and draw a line across the servo motor body and the
motor spindle. This line serves as a calibration line in case the motors get moved during
assembly.

Step 6

Attach the servo arms as shown below using the small machine screw from the servo
fixing packing. Leave these attached until you are required to use them in building the
MeArm.do not move the position of the spindle as they are calibrated now.

Figure 6.7: Calibrated servo motors with markings

Step 7

Move onto building the MeArm.

BTLIT BENGALURU/2015 38
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 7

SYSTEM DESIGN DETAIL

7.1 System Overview


The basic components of the glove are the hand itself, the servos, the Arduino, the glove,
the Bluetooth module and the flex sensors. The glove is mounted with flex sensors variable
resistors that change their value when bent they’re attached to one side of voltage divider
with resistor of a constant value on the other side. The voltage change when the sensors are
bent is read by one Arduino and the data is transmitted serially through the master HC-05
Bluetooth module to the slave HC-05 module. The data received by the slave is sent to the
other Arduino Uno. The other Arduino will generate PWM signals for controlling the servo
motors.

Figure 7.1: Connection Design with Blue Tooth Device

BTLIT BENGALURU/2015 39
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

7.2 Circuit Design


In this project Arduino is powered using 5v and same current used from Arduino is provided
to flex sensors. Extra power is provided to the servo motors from a battery. Circuit is
designed in a very compact manner, so that no or less wires are used and shown with 100%
portability.
A voltage of 5V is through a resistor of 1k and then attached analog Signal Sender wire on
one side, connected to flex sensor and on other side ground. In similar way, all 4 sensors
are connected to one of the Arduino. Analogue Reading is attached from pins A0 – A3 with
each of 4 sensors. The master Bluetooth module is connected to the Arduino as per the pin
configuration.
The slave Bluetooth module is connected to another Arduino Uno. Servo Motors are then
attached to power and ground through battery and each of them are connected to digital
pins from 3-7 of the other Arduino.
Flex Sensors send analog voltage input values to the first Arduino to which they are
connected. These readings are transmitted serially in the form of a string via master
Bluetooth module. The slave Bluetooth module receives these analog values serially and
send them to the digital pins of the other Arduino which is converted to digital values, to
make Servo Motors to move which in turn causes movements of the robotic arm. This all
hardware system is made functional by creating a code and uploading it.

7.3 Master and Slave Codes

• Master Code

int flex = A0;


int flex1 = A1;
int flex3 = A2;
int flex4 = A3;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(flex,INPUT);
pinMode(flex1,INPUT);
pinMode(flex3,INPUT);

BTLIT BENGALURU/2015 40
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

pinMode(flex4,INPUT);

void loop() {
//SERVO MOTOR 1
int flexx=analogRead(flex);
//Serial.print("flexvalue=");

//flexx*=4;
//Serial.println(flexx);
delay(500);
//if(flexx>160)
if(flexx>35)
{

//Serial.println('0');
}

if((flexx<35)&&(flexx>33))
{
//Serial.println(flexx);
Serial.println('1');
}

if(flexx<33)
//if((flexx<155)&&(flexx>147))
{
//Serial.println(flexx);
Serial.println('2');
}

//SERVO MOTOR 2
int flexx1=analogRead(flex1);
//Serial.print("flexvalue1=");

//flexx1*=4;
//Serial.println(flexx1);
delay(500);
if(flexx1>180)
{
//Serial.println('0');
}

if((flexx1<170)&&(flexx1>140))
{
//Serial.println(flexx1);
Serial.println('3');

BTLIT BENGALURU/2015 41
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

if(flexx1<140)
{
//Serial.println(flexx1);
Serial.println('4');
}

//SERVO MOTOR 3
int flexx3=analogRead(flex3);
//Serial.print("flexvalue3=");

//flexx3*=4;
//Serial.println(flexx3);
delay(200);
if(flexx3>35)
{
//Serial.println('0');
}

if((flexx3<35)&&(flexx3>32))
{
Serial.println('5');
//Serial.println(flexx3);
}

if(flexx3<33)
{
Serial.println('6');
//Serial.println(flexx3);
}

//SERVO MOTOR 4
int flexx4=analogRead(flex4);
//Serial.print("flexvalue4=");

//flexx4*=4;
//Serial.println(flexx4);
delay(500);
if(flexx4>35)
{
//Serial.println('0');
}

if((flexx4<34)&&(flexx4>32))
{

BTLIT BENGALURU/2015 42
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Serial.println('7');
}

if(flexx4<32)
{
Serial.println('8');
}
delay(1000);
}

• Slave Code

#include <Servo.h> //Servo library


Servo servo_test; //initialize a servo object for the connected servo
Servo servo_test1; //initialize a servo object for the connected servo
Servo servo_test2; //initialize a servo object for the connected servo
Servo servo_test3; //initialize a servo object for the connected servo

int d1,d2,d3,d4,d5,d6,d7,d8;

int angle = 0;

int in=0;

char data=0;

void setup()
{
servo_test.attach(3); // attach the signal pin of servo to pin9 of arduino
servo_test1.attach(5); // attach the signal pin of servo to pin9 of arduino
servo_test2.attach(6); // attach the signal pin of servo to pin9 of arduino
servo_test3.attach(9); // attach the signal pin of servo to pin9 of arduino

Serial.begin(9600);
}

void loop()
{

data=Serial.read();
if(data=='1')
{
Serial.print(data);
if(d1<2)
d1++;
Serial.println(d1*90);

BTLIT BENGALURU/2015 43
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

if(d1<=2)
{
for(angle = ((d1*90)-90); angle < (d1*90); angle += 1) // command to move from 0
degrees to 180 degrees
{
servo_test.write(angle); //command to rotate the servo to the specified angle
delay(50);
}

}
}

else if(data=='2')
{
Serial.print(data);
Serial.print(d1*90);

if(d1>0)
{

for(angle = (d1*90); angle>=((d1*90)-90); angle-=5) // command to move from 180


degrees to 0 degrees
{
servo_test.write(angle); //command to rotate the servo to the specified angle
delay(150);
}
}
if(d1)
d1--;
}

else if(data=='3')
{
Serial.print(data);
if(d2<2)
d2++;
Serial.println(d2*90);
if(d2<=2)
{
for(angle = ((d2*90)-90); angle < (d2*90); angle += 1) // command to move from 0
degrees to 180 degrees
{
servo_test1.write(angle); //command to rotate the servo to the specified angle
delay(50);
}

BTLIT BENGALURU/2015 44
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

}
}

else if(data=='4')
{
Serial.print(data);
Serial.print(d2*90);

if(d2>0)
{

for(angle = (d2*90); angle>=((d2*90)-90); angle-=5) // command to move from 180


degrees to 0 degrees
{
servo_test1.write(angle); //command to rotate the servo to the specified angle
delay(150);
}
}
if(d2)
d2--;
}

else if(data=='5')
{
Serial.print(data);
if(d3<2)
d3++;
Serial.println(d3*90);
if(d3<=2)
{
for(angle = ((d3*90)-90); angle < (d3*90); angle += 1) // command to move from 0
degrees to 180 degrees
{
servo_test2.write(angle); //command to rotate the servo to the specified angle
delay(50);
}

}
}

else if(data=='6')
{
Serial.print(data);
Serial.print(d3*90);

if(d3>0)
{

BTLIT BENGALURU/2015 45
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

for(angle = (d3*90); angle>=((d3*90)-90); angle-=5) // command to move from 180


degrees to 0 degrees
{
servo_test2.write(angle); //command to rotate the servo to the specified angle
delay(150);
}
}
if(d3)
d3--;
}

else if(data=='7')
{
Serial.print(data);
if(d4<2)
d4++;
Serial.println(d4*70);
if(d4<=2)
{
for(angle = ((d4*70)-70); angle < (d4*70); angle += 1) // command to move from 0
degrees to 180 degrees
{
servo_test3.write(angle); //command to rotate the servo to the specified angle
delay(50);
}

}
}
else if(data=='8')
{
Serial.print(data);
Serial.print(d4*70);

if(d4>0)
for(angle = (d4*70); angle>=((d4*70)-70); angle-=5) // command to move from 180
degrees to 0 degrees
{
servo_test3.write(angle); //command to rotate the servo to the specified angle
delay(150);
}
}
if(d4)
d4--;
}

data='a';

BTLIT BENGALURU/2015 46
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 8

RESULTS
A prototype model of robotic hand for using haptic technology was implemented. The
Arduino boards were configured to communicate which facilitated the data transfer
wirelessly. The results shown below show changes in the flex sensor voltages, its analog
values at the transmitting Arduino board and its corresponding value at the receiving
Arduino board which can be mapped using ‘Map” function.
The ‘analogRead’ on an Arduino is basically a voltage meter. At 5V (its max) it would read
1023, and at 0V it reads 0. So the bend can be measured using the change in the voltage
values using analog Read. A voltage divider circuit is generated using a 1kOhm resistor
with the flex sensor. The following are the voltage values for the 4 flex sensors. Thus we
can see the robotic arm moving as we flex the various flex sensors in the glove. Hence, by
mounting flex sensors on the individual fingers of the glove, each servo motor of the robotic
arm can be controlled separately.

Figure 8.1: Master Circuit

BTLIT BENGALURU/2015 47
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 8.2: Movement of MeArm

Figure 8.3: Graph plot of index finger

BTLIT BENGALURU/2015 48
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Figure 8.4: Graph plot of middle finger

BTLIT BENGALURU/2015 49
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 9

CONCLUSION

9.1 Success
 The paper discussed a hardware and software co design of robotic arm controller
using four servomotors employing micro controller. Micro controller
programming can be done with an ease to suit the requirements.
 Micro controller based programs can be flexibly modified to suit the necessary
drive control of the serve motor.
 The robotic arm can be fitted with wheel and more sensors to equip the device
with more flexible movements of the robotic arm.
 The overall system performs reasonably well. The user is able to carry out
comfortable and precise functions of the robotic Hand through the use of a sensor
based control glove.
 Furthermore, the robotic Hand is capable to carry normal routine function as
human hand does. The microcontroller accepts inputs from the sensor and
generates the proper control signals based on those inputs.

9.2 Uncertainties
 The lift-capacity of the servo motors on the robotic Hand is limited.
 Replacement of the current servos with a higher torque model would allow a
complete range of motion when manipulating heavier objects.
 The usable lifetime of the flex sensors seems to be limited. The sensors themselves
are very fragile and easily wear out from overuse.
 Careful maintenance and protection of the flex sensors is crucial to successful
operation of the system.

BTLIT BENGALURU/2015 50
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

9.3 CURRENT APPLICATIONS AND FUTURE SCOPE

The applications of robotic arm varies from industry to industry, Including office, military

tasks, hospital operations, dangerous environment and agriculture.

Some of the major applications are:

• Manipulation (Pick & Place)

• Machine Assembly

• Industrial Spray Painting

• Arc Welding

• Packaging (Gluing)

• Soldering (cars)

• Access unevenly placed parts (for scanning and selecting)

• Welding

• Electron Beam

• Dispensing

• Material Handling

• Milling

BTLIT BENGALURU/2015 51
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

CHAPTER 10

BIBILOGRAPHY
[1] M.R. Cutkosky, "On Grasp Choice, Grasp Models, and the Design of Hands for

Manufacturing," IEEE Transactions on Robotics and Automation. Vol. 5, pp. 269-279,

1989

[2] J.K. Salisbury, "Kinematic and Force Analysis of Articulated Hands," PhD thesis,

Standford University, Standford, 1982

[3] In [6],Gourab Sen Gupta,S. C. Mukhopadhyay and Matthew Finnie(2009)

[4] S.C. Jacobsen, E.K. Iversen, D.F. Knutti, R.T. Johnson, and K.B. Biggers, "Design of

the Utah/M.I.T Dextrous Hand," Proceedings of IEEE International Conference on

Robotics and Automation, San Francisco, pp. 1520-2530, 1986

[5] R. Tomovic, G.A. Bekey and W.J. Karplus, "A Strategy for Grasp Synthesis with

Multifingered Robot Hands," Proceedings of IEEE International Conference on

Robotics and Automation, pp. 87-101, 1987.

[6] Y. Zhang, W.A. Gruver, J. Li, and Q. Zhang, "Classification of Grasps by Robot

Hands," IEEE Transactions on Systems, Man and Cybernetics, Vol.31, pp.436-444,

2001

[7] In [7],Sulabh Kumra,Rajat Saxena and Shilpa Mehta described the layout and
development of a low cost and user friendly interface for the control of a 6-DOF
anthropomorphic robotic arm.
[8] In [8],Hye-Jong Kim,Yuto Tanaka,Akihiro Kawamura,Sadao Kawamura and
Yasutaka Nishioka(2015)
[9] In [9], S.P. Praturu and J.N. Anderson proposed the position signal interface (PSI),
which contribute the primary position feedback path in the RACS
[10] L. Wang, Z. Deng, L. Zhang and Q. Meng, Dynamic Analysis of Reha- bilitative Arm

BTLIT BENGALURU/2015 52
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

Robot International
Conference on Mechatronics and Automation, 2006.
[11] In [11], G. Sen Gupta, R. Paddison, C.H. Messom and S.Demidenko(2006)
[12] J. K. Paik, B. Shin, Y. Bang, Y. Shim, Development of an Anthropomorphic Robotic
Arm and Hand for Interactive Humanoids Science Direct, Journal of Bionic
Engineering, (2014).
[13] S. Klug, B. Mohl, O. v .Stryk and O. Barth, Design and application of a 3DOF Bionic
Robot Arm, Proc. AMAM, 2005.
[14] T. Takaki, T. Omata, High-Performance anthropomorphic Robot Hand With
GraspingForce-Magnification Mechanism IEEE Transactions on- Mechatronics,
2011.

[15] J. SC, I. EK, K. DF, J. RT, B. KB Design of the Utah/MIT dexterous hand. In:
Proceedings of the IEEE International Conference on Robotics and Automation.
Spain; April 2005.
[16] Md. A. Rahman, A. H. Khan, Dr. T. Ahmed, Md. M. Sajjad Design, Analysis and
Implementation of a Robotic Arm- The Animator American Journal of Engineering
Research
(AJER), 2013.
[17] A. R. Krishna, G. S. Bala, A. S. C. S. Sastry, B. B. P. Sarma, G. S. Alla, Design And
Implementation Of A Robotic Arm Based On Haptic Technology International Journal
of
Engineering
Research and Applications (IJERA) May-Jun 2012.
[18] V. J. Gohil1, Dr. S. D. Bhagwat, A. P. Raut, P. R. Nirmal Robotics Arm Control Using
Haptic Technology
International Journal of Latest Research in Science and Technology, March - April (2013).
[14] A. Che Soh, S. A. Ahmad, A. J. Ishak and K. N. A. Latif development of an adjustable
gripper for robotic picking and placing operation international journal on smart sensing and
intelligent systems, vol. 5, no. 4, december
[15] R. C. Luo, K.L. Su, .A multi agent multi sensor based real-time sensory control system
for intelligent security robot. IEEE International Conference on Robotics and
Automation, vol. 2, 2003, pp.2394 .2399.

BTLIT BENGALURU/2015 53
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM

[16] Robert Faludi, "Building Wireless Sensor Networks: with ZigBee, XBee, Arduino,
and Processing

[17] Intuitive Surgical, "Da Vinci Surgical System",


http://www.intusurg.com/products/da_vinci.html [7/10/05]

[18] C. Pasca, P. Payeur, E.M. Petriu, A-M. Cretu, "Intelligent Haptic Sensor System for
Robotic Manipulation," Proc. MTC/2004, IEEE Instrum. Meas. Technol. Conf., pp.
279284, Como, Italy, May 2004.

[19] Bouzit, M.; Burdea, G.; Popescu, G.; Boian, R., "The Rutgers Master II-new design
force-feedback glove", IEEE/ASME Transactions on Mechatronics, Volume 7, Issue
2, June 2002 Page(s):256-263

BTLIT BENGALURU/2015 54

S-ar putea să vă placă și