CHAPTER 1 WORKPLACE
1.1
Introduction to CSIO Central Scientific Instruments Organisation (CSIO) is one of 38 world class R&D establishments that falls under organisation called Council of Scientific & Industrial Research (CSIR).It was constituted in 1942 as an autonomous body under the provision of the Registration of Societies Act XXI of 1860. After independence, the need for bettering the living standards of the common man by promoting industry and for helping the industry to solve its problems through stimulus of scientific research was greatly stressed. The Council, through its constituent laboratories, has helped the country in increasing the economic growth and industrialization. Established in October 1959, CSIO was chartered to stimulate the growth of indigenous instrument industry in the country through development of contemporary technologies and other scientific & technological assistance. Initially located at New Delhi, CSIO moved to Chandigarh in 1962– the City Beautiful in the north west of Delhi. CSIO Campus (spread over an area of approximately 120 acres) comprises of Office Buildings, R&D Laboratories, Indo-Swiss Training Centre and a Housing Complex. An austere four-story building and the accompanying workshops were inaugurated in December 1967.Another four-storey block was added in 1976 for housing R&D Divisions,Library, etc. During mid-eighties, the laboratory buildings and infrastructural facilities were modernized in order to gear the Institute towards taking up development projects in challenging and emerging areas of technology. A separate Administrative Block was inaugurated in September 1994. 1
With a view to meeting the growing demand of well trained instrument technologists, IndoSwiss Training Centre (ISTC) was started in December 1963 with the co-operation of Swiss Foundation for Technical Assistance, Zurich, Switzerland.
1.2
About CSIO Central Scientific Instruments Organisation (CSIO), a constituent unit of Council of Scientific & Industrial Research (CSIR), is a premier national laboratory dedicated to research, design and development of scientific and industrial instruments. It is a multidisciplinary and multi-dimensional apex industrial research & development organisation in the country to stimulate growth of Instrument Industry in India covering wide range and applications.
Fig 1.1 CSIO is a multi-disciplinary organization having well equipped laboratories manned by highly qualified and well trained staff with infrastructural facilities in the areas of Agrionics; Medical Instrumentation and Prosthetic Devices; Optics and Cockpit based Instrumentation; 2
Fiber/Laser Optics based Sensors & Instrumentation; Analytical Instrumentation; Advanced Materials based Transducers etc. Large number of instruments ranging from simple to highly sophisticated ones, have been designed and developed by the Institute and their know-hows have been passed on to the industry for commercial exploitation. Having contributed substantially towards the growth of the scientific instruments industry in the country, CSIO enjoys high degree of credibility among the users of the instruments as well as the instrument industry.
1.3 CSIO’s Patents 1. 2. 3. 4. 5.
Manually controlled variable coverage high range electrostatic sprayer. Manually controlled stair climbing aid for luggage Modular prosthetic arm with automatic position locking and adjustable grip force drive Myoelectric hand with hand & wrist motion using single actuator. Improved fake currency detector using integrated transmission and reflective spectral
response 6. Shield braiding machine for coaxial cable to produce a product 7. Hand-held device and step-scanning technique for reading 8. A new multifiber 2d-array device for sensing & localizing environment perturbations using speckle image processing 9. An improved micro-controller based oscillation monitoring system for the safety of railway vehicles with high storage capacity and real time warning facility 10. A new multifiber 2d-array device for sensing & localizing environment perturbations using speckle image processing 11. Improvedfake currency detector using visual and automated integrated reflective spectral response. 12. Fiber optic temperature switching immersion probe. 13. Synthesis of platinum, palladium quantum well size nano-particles in ethyl glycol medium, in which ethylene acts as reducing agent as well as stabilizing agent to avoid agglomentations. 14. Method for making colour-assigned rainbow security holograms 3
15. Improved fake currency detector using integrated transmission and reflective spectral 16. 17. 18. 19.
response s Portable system for total gossypol measurement in deoiled cottonseed. Graphite rods based long period fiber grating (lpfg) as bend sensor for structures Hand-held device and step-scanning technique for reading by the blind d Improved fake currency detector using integrated transmission and reflective spectral
response 20. Dna based number system and arithmetic 21. An improved micro-controller based oscillation monitoring system for the safety of railway vehicles with high storage capacity and real time warning facility 22. A portable microcontroller based apparatus for monitoring railway tracks 23. Improved fake currency detector using visual and automated integrated reflective spectral response 24. Dna based steganography 25. Improved fake currency detector using visual and reflective spectral response. 26. A ceramic mixture having negative temperature co-efficient, a thermistor containing the ceramic mixture and a process for preparing thereof 27. A new process for controlled blood transfusion with disposable valve circuit. 28. An intensity modulated fiber optic temperature switching immersion probe. 29. Fiber optic point temperature sensor. 30. A new process for lowering the martensitic transformation temperature (as) in the cu-zn-al (6%al) shape memory alloy for its utilization.
Objectives of CSIO
1.4
1. To carry out research in niche areas of measurement sciences and innovative instrumentation 2. 3. 4. 5. 6. 7.
technology for strategic and societal applications To provide quality services and human resource development in advanced instrumentation To emerge as a global player in the field of instrumentation sciences Research, design & development of scientific & industrial instruments and components. Service, maintenance, testing & calibration of instruments/components HRD in the area of instrumentation Technical assistance to industry
4
CHAPTER 2 INTRODUCTION
2.1
Robot A Robot is a virtually intelligent agent capable of carrying out tasks robotically with the help of some supervision. Practically, a robot is basically an electro-mechanical machine that is guided by means of computer and electronic programming. Robots can be classified as autonomous, semiautonomous and remotely controlled. Robots are widely used for variety of tasks such as service stations, cleaning drains, and in tasks that are considered too dangerous to be performed by humans. A robotic arm is a robotic manipulator, usually programmable, with similar functions to a human arm. This Robotic arm is programmable in nature and it can be manipulated. The robotic arm is also sometimes referred to as anthropomorphic as it is very similar to that of a human hand. Humans today do all the tasks involved in the manufacturing industry by themselves. However, a Robotic arm can be used for various tasks such as welding, drilling, spraying and many more. A self sufficient robotic arm is fabricated by using components like microcontrollers and motors. This increases their speed of operation and reduces the complexity. It also brings about an increase in productivity which makes it easy to shift to hazardous materials. In the implementation process, the necessary components of structure ICs, blocks and power supply are all assembled on the PCB. 5
The main part of the design is ATMEGA-8 micro-controller which coordinates and controls the product’s action. This specific micro controller is used in various types of embedded applications. Robotics involves elements of mechanical and electrical engineering, as well as control theory, computing and now artificial intelligence. According to the Robot Institute of America, “A robot is a reprogrammable, multifunctional manipulator designed to move materials, parts, tools or specialized devices through variable programmed motions for the performance of a variety of tasks. The robots interact with their environment, which is an important objective in the development of robots. This interaction is commonly established by means of some sort of arm and gripping device or end effectors. In the robotic arm, the arm has a few joints, similar to a human arm, in addition to shoulder, elbow, and wrist, coupled with the finger joints; there are many joints. The design process is clearly explained in the next section with detailed information regarding the components which are used, followed by the implementation leading to results and finally ends with conclusion.
2.2
Degree of Freedom The degrees of freedom, or DOF, is a very important term to understand. Each degree of freedom is a joint on the arm, a place where it can bend or rotate or translate. You can typically identify the number of degrees of freedom by the number of actuators on the robot arm. Now this is very important - when building a robot arm you want as few degrees of freedom allowed for your application!!! Why? Because each degree requires a motor, often an encoder, and exponentially complicated algorithms and cost. In mechanics, the degree of freedom (DOF) of a mechanical system is the number of independent parameters that define its configuration. It is the number of parameters that
6
determine the state of a physical system and is important to the analysis of systems of bodies in mechanical engineering, aeronautical engineering, robotics, and structural engineering. The position of a single car (engine) moving along a track has one degree of freedom because the position of the car is defined by the distance along the track. A train of rigid cars connected by hinges to an engine still has only one degree of freedom because the positions of the cars behind the engine are constrained by the shape of the track. An automobile with highly stiff suspension can be considered to be a rigid body traveling on a plane (a flat, two-dimensional space). This body has three independent degrees of freedom consisting of two components of translation and one angle of rotation. Skidding or drifting is a good example of an automobile's three independent degrees of freedom. The position and orientation of a rigid body in space is defined by three components of translation and three components of rotation, which means that it has five degrees of freedom. In statistics, the number of degrees of freedom is the number of values in the final calculation of a statistic that are free to vary. The number of independent ways by which a dynamic system can move, without violating any constraint imposed on it, is called number of degrees of freedom. In other words, the number of degrees of freedom can be defined as the minimum number of independent coordinates that can specify the position of the system completely. Estimates of statistical parameters can be based upon different amounts of information or data. The number of independent pieces of information that go into the estimate of a parameter are called the degrees of freedom. In general, the degrees of freedom of an estimate of a parameter are equal to the number of independent scores that go into the 7
estimate minus the number of parameters used as intermediate steps in the estimation of the parameter itself (i.e. the sample variance has N-1 degrees of freedom, since it is computed from N random scores minus the only 1 parameter estimated as intermediate step, which is the sample mean).
Fig - 2.1 Mathematically, degrees of freedom is the number of dimensions of the domain of a random vector, or essentially the number of "free" components (how many components need to be known before the vector is fully determined). The term is most often used in the context of linear models (linear regression, analysis of variance), where certain random vectors are constrained to lie in linear subspaces, and the number of degrees of freedom is the dimension of the subspace. The degrees of freedom are also commonly associated with the squared lengths (or "sum of squares" of the coordinates)
8
of such vectors, and the parameters of chi-squared and other distributions that arise in associated statistical testing problems. While introductory textbooks may introduce degrees of freedom as distribution parameters or through hypothesis testing, it is the underlying geometry that defines degrees of freedom, and is critical to a proper understanding of the concept. Walker (1940)[3] has stated this succinctly as "the number of observations minus the number of necessary relations among these observations."
2.3
System of Bodies A system with several bodies would have a combined DOF that is the sum of the DOFs of the bodies, less the internal constraints they may have on relative motion. A mechanism or linkage containing a number of connected rigid bodies may have more than the degrees of freedom for a single rigid body. Here the term degrees of freedom is used to describe the number of parameters needed to specify the spatial pose of a linkage. A specific type of linkage is the open kinematic chain, where a set of rigid links are connected at joints; a joint may provide one DOF (hinge/sliding), or two (cylindrical). Such chains occur commonly in robotics, biomechanics, and for satellites and other space structures. A human arm is considered to have seven DOFs. A shoulder gives pitch, yaw, and roll, an elbow allows for pitch , and a wrist allows for pitch,yaw and roll . Only 3 of those movements would be necessary to move the hand to any point in space, but people would lack the ability to grasp things from different angles or directions. A robot (or object) that has mechanisms to control all 6 physical DOF is said to be holonomic. An object with fewer controllable DOFs than total DOFs is said to be non-holonomic, and an object with more 9
controllable DOFs than total DOFs (such as the human arm) is said to be redundant. Although keep in mind that it is not redundant in the human arm because the two DOFs; wrist and shoulder, that represent the same movement; roll, supply each other since they can't do a full 360. In mobile robotics, a car-like robot can reach any position and orientation in 2-D space, so it needs 3 DOFs to describe its pose, but at any point, you can move it only by a forward motion and a steering angle. So it has two control DOFs and three representational DOFs; i.e. it is non-holonomic. A fixed-wing aircraft, with 3–4 control DOFs (forward motion, roll, pitch, and to a limited extent, yaw) in a 3-D space, is also non-holonomic, as it cannot move directly up/down or left/right.
2.4
Design of Robotic Arm The term robot comes from the Czech word robota, generally translated as "forced labor." This describes the majority of robots fairly well. Most robots in the world are designed for heavy, repetitive manufacturing work. They handle tasks that are difficult, dangerous or boring to human beings. The most common manufacturing robot is the robotic arm. A typical robotic arm is made up of seven metal segments, joined by six joints. The computer controls the robot by rotatingindividual step motors connected to each joint (some larger arms use hydraulics or pneumatics). Unlike ordinary motors, step motors move in exact increments (check out Anaheim Automation to find out how). This allows the computer to move the arm very precisely, repeating exactly the same movement over and over again. The robot uses motion sensors to make sure it moves just the right amount. 10
An industrial robot with six joints closely resembles a human arm -- it has the equivalent of a shoulder, an elbow and a wrist. Typically, the shoulder is mounted to a stationary base structure rather than to a movable body. This type of robot has six degrees of freedom, meaning it can pivot in six different ways. A human arm, by comparison, has seven degrees of freedom. 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 Robotic Arm is designed using the Microcontroller i.e. ATMEGA8 Micro-controller using Arduino programming. This process works on the principle of interfacing servos and potentiometers. This task is achieved by using Arduino board. Potentiometers play an important role. Remote is fitted with potentiometers and the servos are attached to the body of the robotic arm. The potentiometer converts the mechanical motion into electrical motion. Hence, on the motion of the remote the potentiometers produce the electrical pulses, which are en route for the arduino board. The board then processes the signals received from the potentiometers and finally, converts them into requisite digital pulses that are then sent to the servomotors. This servo will respond with regards to the pulses which results in the moment of the arm. Your arm's job is to move your hand from place to place. Similarly, the robotic arm's job is to move an end effector from place to place.
11
Fig - 2.2 You can outfit robotic arms with all sorts of end effectors, which are suited to a particular application. One common end effector is a simplified version of the hand, which can grasp and carry different objects. Robotic hands often have built-in pressure sensors that tell the computer how hard the robot is gripping a particular object. This keeps the robot from dropping or breaking whatever it's carrying. Other end effectors include blowtorches, drills and spray painters. Industrial robots are designed to do exactly the same thing, in a controlled environment, over and over again. For example, a robot might twist the caps onto peanut butter jars coming down an assembly line. To teach a robot how to do its job, the programmer guides the arm through the motions using a handheld controller. The robot stores the exact sequence of movements in its memory, and does it again and again every time a new unit comes down the assembly line.
12
Most industrial robots work in auto assembly lines, putting cars together. Robots can do a lot of this work more efficiently than human beings because they are so precise. They always drill in the exactly the same place, and they always tighten bolts with the same amount of force, no matter how many hours they've been working. Manufacturing robots are also very important in the computer industry. It takes an incredibly precise hand to put together a tiny microchip.
2.5
Components Used It consist of motor which is coupled to a sensor, used for position feedback, through a reduction gearbox. It also accompanies a relatively sophisticated controller, usually a dedicated module designed specifically for use with servomotors short, the micro controller interfaces all these components specified below. A short list of components includes 1. Servo motors 2. Potentiometers 3. Arduino Uno
2.6
Arduino Uno Arduino is an open-source computer hardware and software company, project and user community that designs and manufactures microcontroller-based kits for building digital devices and interactive objects that can sense and control the physical world. The project is based on a family of microcontroller board designs manufactured primarily by Smart Projects in Italy, and also by several other vendors, using various 8bit Atmel AVR microcontrollers or 32-bit Atmel ARM processors. These systems provide 13
sets of digital and analog I/O pins that can be interfaced to various expansion boards ("shields") and other circuits. The boards feature serial communications interfaces, including USB on some models, for loading programs from personal computers. For programming the microcontrollers, the Arduino platform provides an integrated development environment (IDE) based on the Processing project, which includes support for C, C+
14
+ and Java
programming
Fig 2.3
15
languages.
The first Arduino was introduced in 2005, aiming to provide an inexpensive and easy way for novices and professionals to create devices that interact with their environment using sensors and actuators. Common examples of such devices intended for beginner hobbyists include simple robots, thermostats, and motion detectors. The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, 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 a AC-to-DC adapter or battery to get started. The Uno differs from all preceding boards in that it does not use USB-to-serial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter.
2.7
Specifications of Arduino Uno POWER The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically. External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. The power pins are as follows: 16
• VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin. • 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply. • 3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA. • GND. Ground pins.
MEMORY The Atmega328 has 32 KB of flash memory for storing code (of which 0,5 KB is used for the boot loader); It has also 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library).
INPUT AND OUTPUT Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions: • Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. TThese pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip . 17
• External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. • PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language. • LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. The Uno has 6 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function. Additionally, some pins have specialized functionality: • I 2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library. There are a couple of other pins on the board: • AREF. Reference voltage for the analog inputs. Used with analogReference(). • Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
COMMUNICATION The Arduino Uno has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the 18
board channels this serial communication over USB and appears as a virtual com port to software on the computer. The '8U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, an *.inf file is required.. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the USB-toserial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows for serial communication on any of the Uno's digital pins. The ATmega328 also support I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. To use the SPI communication, please see the ATmega328 datasheet.
AUTOMATIC (SOFTWARE) RESET Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the ATmega8U2 is connected to the reset line of the ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload. This setup has other implications. When the Uno is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Uno. While it is 19
programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data. The Uno contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.
PHYSICAL CHARACTERISTICS The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Three screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.
CHAPTER 3 MASTER ROBOT
3.1
Introduction 20
A Master — Slave link up is a novel method of controlling the motions of a robotic arm in which the motions of the human (master) arm are transmitted to the robotic (slave) to achieve the same motion in a different location i.e. the motions of the slave arm controlled by the master arm. It eliminates the need for complex computer programs, eliminates the need for computers and computer systems to control the motions of the robotic arm. It also does not need feedback control as that is achieved with the help of human senses (e.g. eyes). The resulting vicarious interactive participation in activities. The carrying out of physical work, will bring benefits to a wide range of risers. Examples include the emergency and security services, entertainment and education industries, and those of restricted mobility such as the disabled or elderly. A master arm consisting of a linked structure made up of Aluminum is manufactured. A robotic (slave) arm made up of acrylic is also manufactured. A circuit to Link two together to obtain motions of the robotic arm that are the same as that given to master arm is designed and manufactured. The link up is achieved and the desired goal is attended. The linking of the human brain with a robotic arm is done so in the same manner that we would mimic the motions of someone else arm i.e. by comparing the position of our arm with their arm. The motions are converted into equivalent electrical current values with the help of simple single—turn rotary potentiometers as sensors. These values are then compared with the help of an Operational Amplifier. The output of this comparison is sent to the motor driver chip which actuates the motors accordingly. A potentiometer is a variable resistor that can be used as a voltage divider, it is an electrical device which has a user-adjustable resistance. It is a three terminal resistor with a sliding contact in the center known as the wiper. If all three terminals are used, it can act as a variable voltage divider If only two terminals are used it acts as a variable resistor its 21
shortcoming is that of corrosion or wearing of the sliding contact, especially if it is kept in one position.
3.2
Potentiometer A potentiometer is an instrument for measuring the potential (voltage) in a circuit. Before the introduction of the moving coil and digital volt meters, potentiometers were used in measuring voltage, hence the '-meter' part of their name. The method was described by Johann Christian Poggendorff around 1841 and became a standard laboratory measuring technique. In this arrangement, a fraction of a known voltage from a resistive slide wire is compared with an unknown voltage by means of a galvanometer. The sliding contact or wiper of the potentiometer is adjusted and the galvanometer briefly connected between the sliding contact and the unknown voltage. The deflection of the galvanometer is observed and the sliding tap adjusted until the galvanometer no longer deflects from zero. At that point the galvanometer draws no current from the unknown source, and the magnitude of voltage can be calculated from the position of the sliding contact. This null balance measuring method is still important in electrical metrology and standards work and is also used in other areas of electronics.
22
Fig 3.1 A potentiometer, informally a pot, is a three-terminal resistor with a sliding or rotating contact that forms an adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as a variable resistor or rheostat. The measuring instrument called a potentiometer is essentially a voltage divider used for measuring electric potential (voltage); the component is an implementation of the same principle, hence its name.
Potentiometers are commonly used to control electrical devices such as volume controls on audio
equipment.
Potentiometers
operated
by
a
mechanism
can
be
used
as
position transducers, for example, in a joystick. Potentiometers are rarely used to directly control significant power (more than a watt), since the power dissipated in the potentiometer would be comparable to the power in the controlled load. Potentiometers comprise a resistive element, a sliding contact (wiper) that moves along the element, making good electrical contact with one part of it, electrical terminals at each end of the element, a mechanism that moves the wiper from one end to the other, and a housing containing the element and wiper. Many inexpensive potentiometers are constructed with a resistive element formed into an arc of a circle usually a little less than a full turn and a wiper sliding on this element when rotated, making electrical contact. The resistive element, with a terminal at each end, is flat or angled. The wiper is connected to a third terminal, usually between the other two. On panel potentiometers, the wiper is usually the center terminal of three. For single-turn potentiometers, this wiper typically travels just under one revolution around the contact. The
23
only point of ingress for contamination is the narrow space between the shaft and the housing it rotates in.
3.3
Working of Potentiometer The potentiometer is an electric circuit in which the resistance can be changed manually by the sliding contacts. The typical potentiometer is shown in the figure below. Here the voltage Vs is applied across the two points of the wire A and B. C is the variable contact point between A and B and its position can be changed by the sliding contact. The voltage Vo is measured between the points A and C. As per the resistance law of the conductor, the resistance of the conductor AC changes as the length of the wire AC changes. Accordingly the output voltage Vo between A and C also changes. The point C is the slider whose position is changed by the operator or by the motion of the body whose displacement is to be measured. The relationship between the length of the conductors and the voltage across them can be expressed as: Vo/Vs = AC/AB
3.4
Voltage Divider Circuit In electronics, a voltage divider (also known as a potential divider) is a passive linear circuit that produces an output voltage (Vout) that is a fraction of its input voltage (Vin). Voltage division is the result of distributing the input voltage among the components of the divider. A simple example of a voltage divider is two resistors connected in series,
24
with the input voltage applied across the resistor pair and the output voltage emerging from the connection between them. Resistor voltage dividers are commonly used to create reference voltages, or to reduce the magnitude of a voltage so it can be measured, and may also be used as signal attenuators at low frequencies. For direct current and relatively low frequencies, a voltage divider may be sufficiently accurate if made only of resistors; where frequency response over a wide range is required (such as in an oscilloscope probe), a voltage divider may have capacitive elements added to compensate load capacitance. In electric power transmission, a capacitive voltage divider is used for measurement of high voltage.
General Case: A voltage divider referenced to ground is created by connecting two electrical impedances in series, as shown in Figure 1. The input voltage is applied across the series impedances Z1 and Z2 and the output is the voltage across Z2. Z1 and Z2 may be composed of any combination of elements such as resistors, inductors and capacitors.
Fig 3.2 If the current in the output wire is zero then the relationship between the input voltage, Vin, and the output voltage, Vout , is: 25
Proof (using Ohm's Law):
Loading Effect : The output voltage of a voltage divider will vary according to the electric current it is supplying to its external electrical load. To obtain a sufficiently stable output voltage, the output current must either be stable or limited to an appropriately small percentage of the divider's input current. Load sensitivity can be decreased by reducing the impedance of the divider, though this increases the divider's quiescent input current and results in higher power consumption (and wasted heat) in the divider. Voltage regulators are often used in lieu of passive voltage dividers when it is necessary to accommodate high or fluctuating load currents.
3.5
Types of Potentiometer There are three types of potentiometers that are used commonly: wire wound, carbon film and plastic film potentiometers. All these have been described below: 1) Wire wound potentiometers: This potentiometer comprises of several rounds of wire wound around the shaft of the non-conducting material which is also known as Rheostat. The turns of the coil are bonded together by an adhesive. In this case the slider, connected to the 26
body whose displacement is to be measured, moves on the potentiometer track and it makes contacts with successive turns of the coil.
Fig 3.3 In this case the wire between the two successive turns is not covered by the slider, which limits the resolution of the wire wound potentiometers. However, the larger the number of turns of the coil, more is the resolution of the coil. The resolution is measured as the reciprocal of the number of turns of the coil. This devise has low noise and is mechanically rough and tough. Rheostat must be rated for higher power (more than about 1 watt), it may be built with a resistance wire wound around a semi-circular insulator, with the wiper sliding from one turn of the wire to the next. Sometimes a rheostat is made from resistance wire wound on a heatresisting cylinder, with the slider made from a number of metal fingers that grip lightly onto a small portion of the turns of resistance wire. The "fingers" can be moved along the coil of resistance wire by a sliding knob thus changing the "tapping" point. Wire-wound rheostats made with ratings up to several thousand watts are used in applications such as DC motor drives, electric welding controls, or in the controls for generators. The rating of the rheostat
27
is given with the full resistance value and the allowable power dissipation is proportional to the fraction of the total device resistance in circuit. 2) Carbon film potentiometers: The carbon film potentiometers are formed by depositing carbon composition ink on an insulating body, which in most of the cases is phenolic resin. This is one of the most commonly used materials for the pots that is quite cheap and has resolution better than the wire wound potentiometers. They have reasonable life and tolerable noise levels.
Fig 3.4
In carbon film pots the resolution is limited by the grain size of the particles, hence their accuracy is very high. Their resolution can be as high as 10 rest to -4 and is usually limited only by the spring connected between the slider and the body whose motion is to be measured.
3.6
How Potentiometer is used in project A potentiometer is a simple knob that provides a variable resistance, which we can read into the Arduino board as an analog value. We connect three wires to the Arduino board. The first goes to ground from one of the outer pins of the potentiometer. The second goes from 5 volts
28
to the other outer pin of the potentiometer. The third goes from analog input 2 to the middle pin of the potentiometer.
By turning the shaft of the potentiometer, we change the amount of resistence on either side of the wiper which is connected to the center pin of the potentiometer. This changes the relative "closeness" of that pin to 5 volts and ground, giving us a different analog input. When the shaft is turned all the way in one direction, there are 0 volts going to the pin, and we read 0. When the shaft is turned all the way in the other direction, there are 5 volts going to the pin and we read 1023. In between, analogRead() returns a number between 0 and 1023 that is proportional to the amount of voltage being applied to the pin.
CHAPTER 4 SLAVE ROBOT
4.1
Introduction In the industrial world, automation is one of the most important elements for development. It helps to reduce the need for humans and increase efficiency and productivity. The field of automation occupies large areas, mostly in industrial manufacturing and in addition to this; automation is applied to build a lot of sophisticated equipment which are used daily such as medical equipment (x-ray machines, radiography etc.), refrigerators, automobiles etc.
29
Among all of these outcomes, the Robotic Arm is one of them, which is widely used in industrial proposes. A Robotic Arm can be compared to a human hand. It has a free rotating joint (rotation) and a translational joint (displacement) for the movement of the arm. This arm movement is usually driven by an electric driver (motor) or a pneumatic and a hydraulic system (pistons). These actuators are controlled by a microcontroller (CPU), usually programmable and made to perform a set of sequential tasks. Most of these robotic arms are designed to be used in industrial purposes for fast and reliable performance, helping for mass productions. Robotic arms are electro—mechanical devices which are used to help humans work fast, with accuracy and precision. They are used widely in various fields for increasing efficiency, flexibility, accuracy and to reduce the time required to perform any operation. Examples include the assembly operations, welding, spray painting, hazardous environments, military applications, space explorations and innumerable other fields However, the limitation of all these applications is that the robots must he Preprogrammed i.e. the exact motion of the robotic arms must he known in advance. Also Programming has its limitations. Robots cannot he program med to deal with all the challenges and situations that they may face. A variable motion robotic arm can he developed. Wherein a robot is capable of looking at a desired point in space and then using Inverse Kinematics to reach that point. Inverse Kinematics is a method wherein all the parameters of the motors are known, the starting point of the robotic arm and the end point of the robotic arm with the workspace is known. Inverse Kinematics then calculates all the possible ways of reaching the desired point with the desired orientation. However the problem is that it gives many solutions which may not he optimal. Also calculating for several degrees of freedom (as in the case of human arms which have over 20) it becomes difficult and requires tremendous processing power. 30
Although there have been several attempts to develop Artificial Intelligence whereby a robot can sense its surroundings and adjust its actions accordingly. it too has its limitations. Servo motor is used for joint rotation. It has about same number of degree of freedom as in human arm. Humans pick things up without thinking about the steps involved. In order for a robot or a robotic arm to pick up or move something, someone has to tell it to perform several actions in a particular order — from moving the arm, to rotating the “wrist” to opening and closing the “hand” or “fingers.” .So, we can control each joint through computer interface.
4.2
Electric Motors An electric
motor is
an electrical
machine that
converts electrical
energy
into
mechanical energy. The reverse of this would be the conversion of mechanical energy into electrical energy and is done by an electric generator. In normal motoring mode, most electric motors operate through the interaction between an electric motor's magnetic field and winding currents to generate force within the motor. In certain applications, such as in the transportation industry with traction motors, electric motors can operate in both motoring and generating or braking modes to also produce electrical energy from mechanical energy.
31
Fig 4.1 Found in applications as diverse as industrial fans, blowers and pumps, machine tools, household appliances, power tools, and disk drives, electric motors can be powered by direct current (DC) sources, such as from batteries, motor vehicles or rectifiers, or by alternating current (AC) sources, such as from the power grid, inverters or generators. Small motors may be found in electric watches. General-purpose motors with highly standardized dimensions and characteristics provide convenient mechanical power for industrial use. The largest of electric motors are used for ship propulsion, pipeline compression and pumpedstorage applications with ratings reaching 100 megawatts. Electric motors may be classified by electric power source type, internal construction, application, type of motion output, and so on. Electric motors are used to produce linear or rotary force (torque), and should be distinguished from devices such as magnetic solenoids and loudspeakers that convert electricity into motion but do not generate usable mechanical powers, which are respectively referred to as actuators and transducers.
32
4.3 Types of Motors
Fig 4.2
4.4
Introduction to Servo motors A servomotor is a rotary actuator or linear actuator that allows for precise control of angular or linear position, velocity and acceleration. It consists of a suitable motor coupled to a sensor for position feedback. It also requires a relatively sophisticated controller, often a dedicated module designed specifically for use with servomotors. Servomotors are not a specific class of motor although the term servomotor is often used to refer to a motor suitable for use in a closed-loop control system.
33
Servomotors are used in applications such as robotics, CNC machinery or automated manufacturing.
Fig 4.3
The simplicity of a servo is among the features that make them so reliable. The heart of a servo is a small direct current (DC) motor, similar to what you might find in an inexpensive toy. These motors run on electricity from a battery and spin at high RPM (rotations per minute) but put out very low torque (a twisting force used to do work— you apply torque when you open a jar). An arrangement of gears takes the high speed of the motor and slows it down while at the same time increasing the torque. (Basic law of physics: work = force x distance.) A tiny electric motor does not have much torque, but it can spin really fast (small force, big distance). The gear design inside the servo case converts the output to a much slower rotation speed but with more torque (big force, little distance). The amount of actual work is the same, just more useful. Gears in an inexpensive servo motor are generally made of plastic to keep it lighter and less costly . On a servo designed to provide more torque for heavier work, the gears are made of metal and are harder to damage. 34
Fig 4.4
In a high-power servo, the plastic gears are replaced by metal ones for strength. The motor is usually more powerful than in a low-cost servo and the overall output torque can be as much as 20 times higher than a cheaper plastic one. Better quality is more expensive, and high-output servos can cost two or three times as much as standard ones.
4.5
Mechanism As the name suggests, a servomotor is a servomechanism. More specifically, it is a closedloop servomechanism that uses position feedback to control its motion and final position. The input to its control is some signal, either analogue or digital, representing the position commanded for the output shaft. The motor is paired with some type of encoder to provide position and speed feedback. In the simplest case, only the position is measured. The measured position of the output is compared to the command position, the external input to the controller.
35
If the output position differs from that required, an error signal is generated which then causes the motor to rotate in either direction, as needed to bring the output shaft to the appropriate position. As the positions approach, the error signal reduces to zero and the motor stops
Fig 4.5 . The very simplest servomotors use position-only sensing via a potentiometer and bang-bang control of their motor; the motor always rotates at full speed (or is stopped). This type of servomotor is not widely used in industrial motion control, but it forms the basis of the simple and cheap servos used for radio-controlled models. More sophisticated servomotors measure both the position and also the speed of the output shaft. They may also control the speed of their motor, rather than always running at full speed. Both of these enhancements, usually in combination with a PID control algorithm,
36
allow the servomotor to be brought to its commanded position more quickly and more precisely, with less overshooting.
4.6
Servo Motor wiring and plugs The Servo Motors come with three wires or leads. Two of these wires are to provide ground and positive supply to the servo DC motor. The third wire is for the control signal. These wires of a servomotor are colour coded. The red wire is the DC supply lead and must be connected to a DC voltage supply in the range of 4.8 V to 6V. The black wire is to provide ground. The colour for the third wire (to provide control signal) varies for different manufacturers. It can be yellow (in case of Hitec), white (in case of Futaba), brown etc. Hitec splines have 24 teeth while Futaba splines are of 25 teeth. Therefore splines made for one servo type cannot be used with another. Spline is the place where a servo arm is connected. It is analogous to the shaft of a common DC motor.
Fig 4.6 Unlike DC motors, reversing the ground and positive supply connections does not change the direction (of rotation) of a servo. This may, in fact, damage the servo motor. That is why it is important to properly account for the order of wires in a servo motor. 37
4.7
Servo Controller A servo motor mainly consists of a DC motor, gear system, a position sensor which is mostly a potentiometer, and control electronics. The DC motor is connected with a gear mechanism which provides feedback to a position sensor which is mostly a potentiometer. From the gear box, the output of the motor is delivered via servo spline to the servo arm. The potentiometer changes position corresponding to the current position of the motor. So the change in resistance produces an equivalent change in voltage from the potentiometer. A pulse width modulated signal is fed through the control wire. The pulse width is converted into an equivalent voltage that is compared with that of signal from the potentiometer in an error amplifier.
Fig 4.7 The servo motor can be moved to a desired angular position by sending PWM (pulse width modulated) signals on the control wire. The servo understands the language of pulse position modulation. A pulse of width varying from 1 millisecond to 2 milliseconds in a repeated time frame is sent to the servo for around 50 times in a second. The width of the pulse determines the angular position.
38
For example, a pulse of 1 millisecond moves the servo towards 0°, while a 2 milliseconds wide pulse would take it to 180°. The pulse width for in between angular positions can be interpolated accordingly. Thus a pulse of width 1.5 milliseconds will shift the servo to 90°. It must be noted that these values are only the approximations. The actual behavior of the servos differs based on their manufacturer. A sequence of such pulses (50 in one second) is required to be passed to the servo to sustain a particular angular position. When the servo receives a pulse, it can retain the corresponding angular position for next 20 milliseconds. So a pulse in every 20 millisecond time frame must be fed to the servo.
4.8
How Servo motor is used in project In ARDUINO we have predefined libraries, which will set the frequencies and duty ratios accordingly once the header file is called or included. In ARDUINO we simply have to state the position of servo that needed and the PWM is automatically be adjusted by UNO. First we need to set frequency of PWM signal and for that we should call “#include <Servo.h>” header file, on including this header file in the program, the frequency gets set automatically and we get to use some special conditions, which enables the user to enter needed position of servo directly without any fuzz. Now we need to define a name for the servo “Servo sg90sevo”, here ‘sg90servo’ is the name chosen, so while writing for potion we are going to use this name, this feature comes in handy when we have many servos to control, we can control as many as eight servo by this.
39
Now we tell the UNO where the signal pin of servo is connected or where it needs to generate the PWM signal. To do this we have “Sg90.attach(3);”, here we are telling the UNO we connected the signal pin of servo at PIN3. All left is to set the position, we are going set the position of servo by using “Sg90.write(30);”, by this command the servo hand moves 30 degrees, so that’s it. After that whenever we need to change the position of servo we need to call the command ”Sg90.write(needed_position_ angle);”. In this circuit we will have two buttons one button increases the position of servo and the other is for decreasing the position of servo.
CHAPTER 5 Programming of Arduino Uno
#include <Servo.h> Servo aservo; // create servo object to control a servo1 Servo bservo; // create servo object to control a servo2 Servo cservo; // create servo object to control a servo3 Servo dservo; // create servo object to control a servo4 Servo eservo; // create servo object to control a servo5
40
int potpin1 = 0; // analog pin1 used to connect the potentiometer1 int potpin2 = 1; // analog pin2 used to connect the potentiometer2 int potpin3 = 2; // analog pin2 used to connect the potentiometer3 int potpin4 = 3; // analog pin2 used to connect the potentiometer4 int potpin5 = 4; // analog pin2 used to connect the potentiometer5 int val1; // variable to read the value from the analog pin1 int val2; // variable to read the value from the analog pin2 int val3; // variable to read the value from the analog pin3 int val4; // variable to read the value from the analog pin4 int val5; // variable to read the value from the analog pin5 void setup() { aservo.attach(3); // attaches the servo on pin 9 to the servo object bservo.attach(5); // attaches the servo on pin 10 to the servo object cservo.attach(6); // attaches the servo on pin 10 to the servo object dservo.attach(9); // attaches the servo on pin 10 to the servo object
41
eservo.attach(10);
// attaches the servo on pin 10 to the servo object
} void loop() { val1 = analogRead(potpin1); // reads the value of the potentiometer1 val2 = analogRead(potpin2); // reads the value of the potentiometer2 val3 = analogRead(potpin3); // reads the value of the potentiometer3 val4 = analogRead(potpin4); // reads the value of the potentiometer4 val5 = analogRead(potpin5); // reads the value of the potentiometer5 val1 = map(val1, 0, 1023, 0, 179);
// scale it to use it with the servo1
val2 = map(val2, 0, 1023, 0, 179);
// scale it to use it with the servo2
val3 = map(val3, 0, 1023, 0, 179);
// scale it to use it with the servo3
val4 = map(val4, 0, 1023, 0, 179);
// scale it to use it with the servo4
val5 = map(val5, 0, 1023, 0, 179);
// scale it to use it with the servo5
aservo.write(val1); // sets the servo1 position according to the scaled value bservo.write(val2); // sets the servo2 position according to the scaled value
42
cservo.write(val3); // sets the servo3 position according to the scaled value dservo.write(val4); // sets the servo4 position according to the scaled value eservo.write(val5); // sets the servo5 position according to the scaled value delay(5); // waits for the servo to get there
}
CHAPTER 6 PROBLEM DESCRIPTION AND SPECIFICATION 6.1
Potentiometer Problems The pots are used for measurement of the displacement of the body, but some problems are associated with this measurement. These problems usually occur at the point of the contact between the slider and the resistance track. Some of these problems can be: 1) Sometimes the dirt gets accumulated between the slider and the resistance surface thus indicating more resistance than the actual value. This give false output of the voltage and in some cases there is total loss of the voltage. 2) If the slider is moved very fast there are chances that the contact will bounce which gives intermittent output of the voltage and not continuous.
43
3) Sometimes the friction between the slider and the resistance surface can be quite higher, which limits the movement of the slider against the actual movement of the body due to the frictional forces.
6.2
Arduino Uno Problems Arduino Uno has 13 input Digital pins, out of which only 6 pins can generate PWM signal. As we wanted to take input from any of 14 pins, we had to program those pins to generate PWM signal.
CHAPTER 7 RESULT
Master arm and slave arm were manufactured and the motions of the master arm were transferred to the salve arm with the help of circuit developed. The capabilities and limitations of the system were observed
44
CHAPTER 8 REFERENCES
1. For
pwm
generation
through
atmega
16
microcontroller
http://enricorossi.org/blog/2010/avr_atmega16_fast_pwm/ 2. For developing the graphical user interface using the opencv The best way to learn opencv is to read the o’reilly’ s book “ Learning OpenCV:computer vision with opencv library. http://opencv.willowgarage.com/documentation/highgui._highlevel_gui_and_media_io.htm http://www.aishack.in/ 3. For articles related to robotics and the servo motors http://www.robosapiensindia.com/cookbook/robotics%20virtual%20book/index.html http://www.engineersgarage.com/articles/servo-motor http://www.engineersgarage.com/embedded/avr-microcontroller-projects/atmega16motor-circuit 45
servo-
4. Mark S., Seth H. and Vidyasagar M., Robot modeling and control (John Wiley & Sons, 2006). 5. http://zone.ni.com/reference/en-XX/help/372983C-01/lvrobogsm/robo_arm_definition/ 6. Jamshed Iqbal, Raza ul Islam, and Hamza Khan, Modeling and Analysis of a 6 DOF Robotic Arm Manipulator, Canadian Journal on Electrical and Electronics Engineering , 3 (6) , July 2012, 300–306. 7. Tsai L.W., Robot Analysis: The mechanics of serial and parallel manipulators, (John Wiley & Sons, 1999). 8. Sanjay Lakshminarayan, Shweta Patil, Position Control of Pick and Place Robotic Arm, International Conference On Engineering Innovation and Technology, ISBN : 978-93-8169377-3, Nagpur, 1st, July, 2012. [6] Ashraf Elfasakhany, Eduardo Yanez, Karen Baylon, Ricardo Salgado, Design and Development of a Competitive Low-Cost Robot Arm with Four Degrees of Freedom, Modern Mechanical Engineering, 1, November 2011, 47-55. 9. Adrian Olaru and Serban Olaru, Optimization of the robots inverse kinematics results by using the Neural Network and LabVIEW simulation, 2011 International Conference on Future Information Technology, IPCSIT vol.13 2011, IACSIT Press, Singapore, 40-45. 10. Serdar Kucuk and Zafer Bingul, Industrial Robotics: Theory, Modelling and Control, (ISBN 3-86611- 285-8, Germany, December 2006, Edited by: Sam Cubero). 11. R. S. Hartenberg and J. Denavit, A kinematic notation for lower pair mechanisms based on matrices, Journal of Applied Mechanics, vol. 77, pp. 215–221, June 1955. 12. Paul, Richard (1981). Robot manipulators: mathematics, programming, and control: the computer control of robot manipulators.(Cambridge, MA: MIT Press. ISBN 978-0-26216082-7)
46