Robotic Arm Controlling using Automated Balancing

16 downloads 0 Views 418KB Size Report
Abstract—This paper represents an Automated Balancing. Platform using Arduino Uno(ATmega328 microcontroller). Arduino is a low-cost popular prototyping ...
2015 International Conference on Communication, Control and Intelligent Systems (CCIS)

Robotic Arm Controlling using Automated Balancing Platform Alok Deep Department of Electrical Engineering, National Institute of Technical Teachers Training and Research, Chandigarh, India E-mail Id: [email protected],

Jyoti Singh Department of Electrical Engineering, National Institute of Technical Teachers Training and Research, Chandigarh, India E-mail Id: [email protected]

Dr.S. Chatterji Department of Electrical Engineering, National Institute of Technical Teachers Training and Research, Chandigarh, India Abstract—This paper represents an Automated Balancing Platform using Arduino Uno(ATmega328 microcontroller). Arduino is a low-cost popular prototyping platform. In this project Arduino Uno is used to process any disturbance and give instruction to balancing mechanism to set its location at the set point. The system consists of Arduino Uno platform, 3 DC motors (12V, 500mA), two L298 (46V, 4A), position controlling mechanism of platform, two degree of freedom robotic arm which is placed on the Automated Balancing platform. Keywords: Automated Balancing Platform, Arduino, Robotic Arm, BCI, EEG

Yogendra Narayan Department of Electrical Engineering, National Institute of Technical Teachers Training and Research, Chandigarh, India E-mail Id: [email protected]

Dr. Lini Mathew Department of Electrical Engineering, National Institute of Technical Teachers Training and Research, Chandigarh, India II. BRIEF SYSTEM DESIGN The author proposed the idea of a self-balancing platform and a robotic arm that can move in any direction like a humanoid arm [3-4]. It has jaw like structure on the end that can grip objects like small industrial machinery parts. The design of such a system is simple because the arm and platform has been controlled by an Arduino Uno microcontroller board [5]. The system consists of:

I. INTRODUCTION An industrial robot which is a reprogrammable, automatically controlled, multipurpose manipulator can programme in many axes. The field of robotics can be defined as the study, design and use of robotic systems for manufacturing. Now a days, robots are used for accurate and precise movement like robotic surgery, assembly of car/machine, painting, pick and place, product inspection and testing or working in hazardous conditions in industry. This project is based on an industrial application where a machine or robotic arm has to balance a particular platform level/angle. It can be used in flight, in spacecraft or in ship where there is disturbance in the platform and it is desired to balance the system at a defined level [1]. To carry out this task, Arduino Uno microcontroller board has been used[2].

a.

Robotic arm made of wood.

b.

Two dc motors M2 & M3 for robotic arm movement.

c.

One servo motor for jaw movement for gripping.

d.

Base which is made of plywood.

e.

Platform which is made of thermocol.

f.

Arduino Uno.

g.

Balancing mechanism.

h.

Balancing mechanism motor M1.

i.

Potentiometer to identify the disturbance.

In section 2, an overview of of Arduino and the system design is given. Section 3 describes the working of the model and 4 describes the flow of process going on to balance the platform in more detail. In section 5, the graph showing control behavior and underdamped response of system is presented. The conclusions are summarized in section 6. Fig. 1: Balancing Mechanism of Proposed System

978-1-4673-7541-2/15/$31.00 © 2015 IEEE

The balancing mechanism of proposed system is shown in Fig. 1.The wooden robotic arm is made out of common household items (except the servos). Balancing mechanism converts the rotational motion of motor to linear motion which gives up and down motion to the platform. Development of a robotic arm is a current trend based on different techniques and can be utilized in different areas where the human being cannot perform his activity smoothly. This type of method can be applied in Brain Computer Interface (BCI) as well as in development of EEG based robotic arm for stroke affected persons.

The interesting feature of the Arduino is that once the program is created in the host PC, uploaded to the Arduino then it will run automatically. A connection to the host PC is required only to create and compile the program. Once it is done, no requirement of PC to run the program. Arduino can easily interface with MATLAB & LabVIEW. III. WORKING OF THE SELF BALANCING SYSTEM The simplest architecture of the self balancing system is shown in Fig. 3. The system has to be automatically balance the perturbations created by robotic arm movement and other external disturbances also by using Arduino Uno board [8].

A. Over View of Arduino

Initially the platform is assumed to be at balanced position. So there is no or zero error signal to the Arduino and hence motor M1 is at rest. Perturbations can be provided either by means of external disturbance or due to robotic arm movement [9-10].

Arduino is an electronics prototyping platform, based on small, easy-to-use hardware and software [6]. ATmega328 microcontroller operates at 5V. It has 2KB of RAM, 1KB of EEPROM for storing parameters and 32KB of flash memory for storing programs. The operating frequency is 16 MHz, which is able to execute about 300,000 lines of C source code/second. The Adruino Uno board as shown in Fig.2 consists of 6 analog input pins and 14 digital I/O pins. There is a DC power jack for external power supply and USB connector to communicate with the host computer. It is programmed in C language [7].

Fig. 3: Simple Architecture of Self Balancing System

When the platform is perturbed, the output voltage of potentiometer varies due to change in the level of platform. This analog output voltage is connected to Ao (analog pin 0) of Arduino board. Arduino compares this voltage to set value. This voltage is either greater or less than the set value depending upon the direction of perturbation. An error signal is generated (positive or negative).This error signal rotates the motor in clockwise or anticlockwise direction which in turn moves the balancing mechanism upward or downward to balance the platform [11-15].

Fig. 2: Arduino Uno Microcontroller Development Board

Table 1 shows the specifications of Arduino Uno microcontroller board. TABLE 1: ARDUINO UNO SPECIFICATIONS Microcontroller Clock Speed Operating Voltage Maximum supply Voltage (not recommended) Supply Voltage (recommended) Analog Input Pins Digital Input/Output Pins DC Current per Input/Output Pin DC Current in 3.3V Pin SRAM EEPROM Flash Memory

ATmega328 16MHz 5V 20V 7-12V 6 14 40mA 50mA 2KB 1KB 32KB of which 0.5KB used by boot loader

Fig. 4: Block Diagram of Proposed System 301

The block diagram of proposed system is shown in Fig.4. In Fig.4 it is clearly shown that the controller decides the rotation of motor either in clockwise or anticlockwise direction depends on the feedback signal given by potentiometer. The feedback voltage from the potentiometer can be seen on the serial monitor of Arduino IDE as shown in Fig.5.

The flow chart of the process is shown in Fig.6. The position of platform (variation in voltage) is sensed by the potentiometer which given to Arduino. This voltage is compared with the reference voltage/set point. Set point can be 0V or defined by programmer. The balancing and controlling process start with the checking of voltages produced by the potentiometer which is generally used for voltage division purpose. The output voltage of potentiometer is compared with the desired value set by the user, and if it is same as the set point, no action is taken and motor remains in rest position. If that output voltage is greater than set value, then motor of the balancing system is rotated in clock wise direction and if it is less then set value, motor is rotated in anti clock wise direction. The whole process is repeated until the system gets balanced. V.

RESULT & DISCUSSION

Figure 7 shows the response of the system to a particular perturbation. In Fig.4 x axis shows the time in seconds and y axis shows potentiometer output voltage which is given to the A0 pin of Arduino Uno. The Graph is plotted by taking voltage values of potentiometer which is shown on the serial monitor of Arduino Uno.

Fig. 5: Serial Monitor of Arduino IDE

The control signal is given to motors M1, M2 and M3 via motor driver IC because the logic voltage signal coming from the Arduino which is 5V is not enough to drive the motors. This system is basically ON-OFF controller in which feedback is coming from potentiometer. IV. FLOWCHART

Fig. 7: Response of System to any Disturbance

Disturbance is created by the movement and weight of Robotic Arm which is 2.7V at 0.5s from start. Voltage is varying around the set point as the motor rotates clockwise and anticlockwise and platform moves up and down to balance itself and attains the set point after 4s. The set point or the balanced condition is 2.5V. VI. CONCLUSION & FUTURE SCOPE Figure 4 shows that the time required for platform to reach balanced position depends on the disturbance movement of Robotic Arm and weight of Robotic Arm, the control action reflects the damped response. Improvements can be attained in the stabilization of the platform at different angle/level. Other sensors can be used in the place of potentiometer. Voice recognition can also be

Fig. 6: Flow Chart of the Process 302

[6]

included to give desire level position to the platform. For better results PID controller can also be used[17]. In this work the author utilized the Arduino Uno as a programming device that could be capable of controlling the Exoskeleton Robotic Arm for Elbow movement and upper as well as lower limb[18].

[7]

There is a great future in area of robotics. The future work will be development of Arduino Uno based Brain Controlled Robotic Arm based on EEG signals. These types of methods can be applied for fist control of a robotic arm along with muscle signal for more accuracy in an effective manner. Such type of robotic arm may be helpful for partially paralyzed persons affected by stroke. Now a days more research is going on wearable robotic suit for fully as well partially paralyzed persons so that stroke affected persons can live their life smoothly like a normal human being. Researcher can also utilize the Networked Control System (NCS) for controlling and commanding the robotic arm from a long distance with the help of wireless system [16].

[8]

[9]

[10]

[11]

ACKNOWLEDGMENT

[12]

We would like to thank Mrs. Shimi S.L, Assistant Professor, Electrical Engineering Department, NITTTR Chandigarh for guiding us to proceed with this project smoothly.

[13]

REFERENCES [1]

[2]

[3]

[4]

[5]

Li, Bin-Bin, Zhu, Jin-Hvi, Min, Hua-Qing (2012), “Bmp: A SelfBalancing Mobile Platform”, Proceedings of the 2012 International Conference on Machine Learning and Cybernetics, Xian, pp 868–874, July. Denysyuk, Pavlo and Teslyuk, Taras (2013), “Main Algorithm of Mobile Robot System Based on the Microcontroller Arduino”, XVIII International Seminar/Workshop on Direct and Inverse Problems of Electromagnetic and Acoustiv Wave Theory( DIPED), Lviv, Sept. Feng, Tao, Liu, Tao, Wang, Xu, Xu, Zhao, Zhang, Meng and Han, Sheng-chao (2011), “Modeling and Implementation of Two-wheel Selfbalancing Robot Equipped With Supporting Arms”, 6th IEEE Conference on Industrial Electronics and Applications (ICIEA), Beijing, pp 713–718, June. Higa, Hiroki, Soken, Takashi and Uehara, Hideyuki, “A Mobile Robotic Arm for People with Severe Disabilities”, Informatics in Control, Automation and Robotics, Lecture Notes in Electrical Engineering, Springer Berlin Heidelberg, Vol. 133, pp 119–122, 2012. Soriano, A., Marin, L., Valles, M, Valera, A., Albertos, P. (2014), “Low Cost Platform for Automatic Control Education based on Open Hardware”, World Congress Cape Town, South Africa, Vol. 19, pp. 9044–9050, Aug.

[14]

[15]

[16]

[17]

[18]

303

Grover, Radhika, Krishnan, Shoba, Shoup, Terry, hanbaghi, Maryam (2014), “A Competition-Based Approach for Undergraduate Mechatronics Education Using the Arduino Platform”, 4th Interdisciplinary Engineering Design Education Conference (IEDEC), Santa Clara, CA, pp. 78–83, Mar. Recktenwald, Gerald W. and Hall, David E. (2011), “AC 2011–2062: Using Arduino as a Platform for Programming, Design and Measurement in a Fresh Engineering Course”, 118th ASEE Annual Conference & Exposition, Canada, June. Araújo, André, Portugal, David, Couceiro, Micael S. and Rocha, Rui P. (2013), “Integrating Arduino based Educational Mobile Robots in ROS”, Journal of Intelligent and Robotic Systems, 13th IEEE International Conference on Autonomous Robot Systems(Robotica), Lisbon, pp 1–6, Apr. Hao, Wong Guan, Leck, Yap Yee and Hun, Lim Chot (2011), “6-DOF Pc-based Robotic Arm (Pc-Roboarm) with Efficient Trajectory Planning and Speed Control”, 4th International Conference on Mechatronics (ICOM), Kuala Lumpur, Malaysia, pp 1–7, May. Kumra, Sulabh, Saxena, Rajat, Mehta, Shilpa (2012), “Design and Development of 6-DOF Robotic Arm Controlled by Man Machine Interface”, IEEE International Conference on Computational Intelligence & Computing Research (ICCIC), pp. 1–5, Coimbatore, Dec. Duc, Le Bang, Syaifuddin, M., Toai, Truong Trong, Tan, Ngo Huy, Saad, M.N. and Wai, Lee Chan (2007), “Designing 8 DOF Humanoid Robot”, International Conference on Intelligent and Advanced Systems, Kuala Lumpur, pp. 1069–1074, Nov. Jamil, Osama, Jamil, Mohsin, Ayaz, Yasar, Ahmad, Khubab (2014), “Modeling, Control of a Two-Wheeled Self-Balancing Robot”; In Proceedings of IEEE International Conference on Robotics and Emerging Allied Technologies in Engineering (iCREATE), Islamabad, Pakistan, pp. 191–199, Apr. Tsai1, Ching-Chih, Chan, Cheng-Kai and Fan, Yen-Hau (2008), “Planned Navigation of a Self-balancing Autonomous Service Robot”, IEEE International Conference on Advanced Robotics and its Social Impacts Taipei, Taiwan, pp. 1–6, Aug. Albert, Ko, Lau, H.Y.K. and Lau, T.L. (2005), “General Suppression Control Framework: Application in Self-balancing Robots,” 4th International Conference on Artifical Immune System(ICARIS), Canada, pp. 375–388, Aug. Ruan, Xiaogang, Li, Wangbo (2014), “Ultrasonic Sensor Based Twowheeled Self-balancing Robot Obstacle Avoidance Control System”, IEEE International Conference on Mechatronics and Automation, Tianjin, China, pp. 896–900, Aug. Narayan, Yogendra and Srivastava, Smriti (2013), “Response of Flow Rate of Non-Interacting Tanks using NCS and Fuzzy Controller” Proceedings of IEEE International Conference on Emerging Trends in Communication, Control, Signal Processing & Computing Applications (C2SPCA), October. Rai, Neerparaj, Rai, Bijay (2013), “Neural Network based Closed Loop Speed Control of DC Motor using Arduino Uno”, International Journal of Engineering Trends and Technology, Vol. 4, Issue 2. Kiguchi, Kazuo, Rahman, Mohammad Habibur and Sasaki, Makoto (2005), “Motion Control of a Robotic Exoskeleton”, Proceedings of the International Conference on Information and Automation, December 15–18, , Colombo, Sri Lanka.