Documente Academic
Documente Profesional
Documente Cultură
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
BTLIT BENGALURU/2015 3
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
CHAPTER 2
LITERATURE SURVEY
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
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]
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]
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]
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 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.
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.
• 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
BTLIT BENGALURU/2015 10
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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
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.
BTLIT BENGALURU/2015 13
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
BTLIT BENGALURU/2015 14
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
BTLIT BENGALURU/2015 15
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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.
BTLIT BENGALURU/2015 16
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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
BTLIT BENGALURU/2015 18
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
Microcontroller ATmega328
5V
Operating Voltage
Input Voltage
7-12V
(recommended)
Input Voltage (limits) 6-20V
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
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.
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
BTLIT BENGALURU/2015 20
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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.
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
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
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.
BTLIT BENGALURU/2015 24
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
BTLIT BENGALURU/2015 25
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC 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.
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.14: MeArm Fixing Package contents (nuts, screws and Allen key)
BTLIT BENGALURU/2015 27
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
BTLIT BENGALURU/2015 28
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
CHAPTER 6
SOFTWARE DESCRIPTION
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 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
• 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.
BTLIT BENGALURU/2015 30
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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).
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.
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.
BTLIT BENGALURU/2015 32
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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.
BTLIT BENGALURU/2015 33
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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
BTLIT BENGALURU/2015 35
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
The PWM wires for the motors are connected to four of the digital outputs on the Arduino
as shown in figure.
BTLIT BENGALURU/2015 36
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
Step 1
Using the configuration as shown in fig, connect servo motors to the power and the
Arduino.
Step 2
Step 3
Step 4
#include <Servo.h>
setup ()
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
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.
Step 7
BTLIT BENGALURU/2015 38
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
CHAPTER 7
BTLIT BENGALURU/2015 39
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
• Master Code
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
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)
{
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)
{
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
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.
BTLIT BENGALURU/2015 47
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
BTLIT BENGALURU/2015 48
WIRELESS FLEX SENSORS CONTROLLED ROBOTIC ARM
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
The applications of robotic arm varies from industry to industry, Including office, military
• Machine Assembly
• Arc Welding
• Packaging (Gluing)
• Soldering (cars)
• 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
1989
[2] J.K. Salisbury, "Kinematic and Force Analysis of Articulated Hands," PhD thesis,
[4] S.C. Jacobsen, E.K. Iversen, D.F. Knutti, R.T. Johnson, and K.B. Biggers, "Design of
[5] R. Tomovic, G.A. Bekey and W.J. Karplus, "A Strategy for Grasp Synthesis with
[6] Y. Zhang, W.A. Gruver, J. Li, and Q. Zhang, "Classification of Grasps by Robot
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
[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