NAMASKAR ROBOT-WHICH PROVIDES SERVICE

Similar documents
A Model Based Approach for Human Recognition and Reception by Robot

ARDUINO BASED GREETING CONTROLLED ROBOT

Introduction: Components used:

About Arduino: About keyestudio:

Arduino and Servo Motor

Marine Debris Cleaner Phase 1 Navigation

FABO ACADEMY X ELECTRONIC DESIGN

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators

Distance Measurement of an Object by using Ultrasonic Sensors with Arduino and GSM Module

Automobile Prototype Servo Control

SCHOOL OF TECHNOLOGY AND PUBLIC MANAGEMENT ENGINEERING TECHNOLOGY DEPARTMENT

PROJECT BAT-EYE. Developing an Economic System that can give a Blind Person Basic Spatial Awareness and Object Identification.

Lecture 6. Interfacing Digital and Analog Devices to Arduino. Intro to Arduino

Available online Journal of Scientific and Engineering Research, 2018, 5(4): Research Article

Training Schedule. Robotic System Design using Arduino Platform

Lab 5: Arduino Uno Microcontroller Innovation Fellows Program Bootcamp Prof. Steven S. Saliterman

Object Detection for Collision Avoidance in ITS

Performance Analysis of Ultrasonic Mapping Device and Radar

Sensor and. Motor Control Lab. Abhishek Bhatia. Individual Lab Report #1

Assignments from last week

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech

Robotic Arm Assembly Instructions

Lesson4 Obstacle avoidance car

Sten-Bot Robot Kit Stensat Group LLC, Copyright 2013

Embedded Controls Final Project. Tom Hall EE /07/2011

Lesson 13. The Big Idea: Lesson 13: Infrared Transmitters

HAW-Arduino. Sensors and Arduino F. Schubert HAW - Arduino 1

Keywords - Arduino Uno, Ultrasonic Sensor, DC-DC Boost Convertor, Wireless Charging Pad, Piezo Buzzer

Arduino. AS220 Workshop. Part II Interactive Design with advanced Transducers Lutz Hamel

Programming 2 Servos. Learn to connect and write code to control two servos.

Hardware Implementation of an Explorer Bot Using XBEE & GSM Technology

Safe Landing of Autonomous Amphibious Unmanned Aerial Vehicle on Water

DC motor control using arduino

Basics before Migtrating to Arduino

Measuring Distance Using Sound

Setup Download the Arduino library (link) for Processing and the Lab 12 sketches (link).

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor

Sensors and Sensing Motors, Encoders and Motor Control

Understanding the Arduino to LabVIEW Interface

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O)

Advanced Mechatronics 1 st Mini Project. Remote Control Car. Jose Antonio De Gracia Gómez, Amartya Barua March, 25 th 2014

Over Speed Vehicle Marking System Using Arduino UNO Controlled Air Cannon

IMPLEMENTATION OF AUTOMATIC COLLEGE BELL SYSTEM USING ARDUINO

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

100UF CAPACITOR POTENTIOMETER SERVO MOTOR MOTOR ARM. MALE HEADER PIN (3 pins) INGREDIENTS

Floating Ball Using Fuzzy Logic Controller

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin

MULTI ROBOT COMMUNICATION AND TARGET TRACKING SYSTEM AND IMPLEMENTATION OF ROBOT USING ARDUINO

Arduino Digital Out_QUICK RECAP

Learning Objectives. References 10/26/11. Using servos with an Arduino. EAS 199A Fall 2011

AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY

SELF STABILIZING PLATFORM

Using Servos with an Arduino

Preliminary Design Report. Project Title: Search and Destroy

DC Motor and Servo motor Control with ARM and Arduino. Created by:

Intelligent Systems Design in a Non Engineering Curriculum. Embedded Systems Without Major Hardware Engineering

Introduction. Theory of Operation

Sensors and Sensing Motors, Encoders and Motor Control

MICROCONTROLLERS BASIC INPUTS and OUTPUTS (I/O)

Obstacle Avoidance Mobile Robot With Ultrasonic Sensors

C++ PROGRAM FOR DRIVING OF AN AGRICOL ROBOT

Portland State University MICROCONTROLLERS

Module: Arduino as Signal Generator

International Journal of Advance Engineering and Research Development

Sten BOT Robot Kit 1 Stensat Group LLC, Copyright 2016

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

Total Hours Registration through Website or for further details please visit (Refer Upcoming Events Section)

Written by Hans Summers Wednesday, 15 November :53 - Last Updated Wednesday, 15 November :07

ADVANCED SAFETY APPLICATIONS FOR RAILWAY CROSSING

Hobby Servo Tutorial. Introduction. Sparkfun:

ILR #1: Sensors and Motor Control Lab. Zihao (Theo) Zhang- Team A October 14, 2016 Teammates: Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang

Solar Powered Obstacle Avoiding Robot

Obstacle and Cliff Detection For Robotics Applications Using Miniaturized Sonar and IR Distance Triangulation

Nikhil Mahalingam 1, Veera S. Kumar 2 1,2 (Computer Science & Engineering, PSG College of Technology, India)

ARDUINO BASED DC MOTOR SPEED CONTROL

Operating Mode: Serial; (PWM) passive control mode; Autonomous Mode; On/OFF Mode

Community College of Allegheny County Unit 4 Page #1. Timers and PWM Motor Control

LaserPING Rangefinder Module (#28041)

ISSN: [Singh* et al., 6(6): June, 2017] Impact Factor: 4.116

III. MATERIAL AND COMPONENTS USED

URM37 V3.2 Ultrasonic Sensor (SKU:SEN0001)

Figure 1. Digilent DC Motor

J. La Favre Using Arduino with Raspberry Pi February 7, 2018

Development of a MATLAB Data Acquisition and Control Toolbox for BASIC Stamp Microcontrollers

You'll create a lamp that turns a light on and off when you touch a piece of conductive material

MICROCONTROLLER BASED SPEED SYNCHRONIZATION OF MULTIPLE DC MOTORS IN TEXTILE APPLICATIONS

Coding with Arduino to operate the prosthetic arm

Parts List. Robotic Arm segments ¼ inch screws Cable XBEE module or Wifi module

Undefined Obstacle Avoidance and Path Planning

Solid Modelling Interaction with Sensors for Virtual Reality Welding

Motors and Servos Part 2: DC Motors

Attribution Thank you to Arduino and SparkFun for open source access to reference materials.

Autonomous Obstacle Avoiding and Path Following Rover

Analog Servo Drive 25A20DD

CMSC838. Tangible Interactive Assistant Professor Computer Science. Week 11 Lecture 20 April 9, 2015 Motors

Lesson 3: Arduino. Goals

Industrial Automation Training Academy. Arduino, LabVIEW & PLC Training Programs Duration: 6 Months (180 ~ 240 Hours)

Blue Point Engineering

Devantech SRF04 Ultra-Sonic Ranger Finder Cornerstone Electronics Technology and Robotics II

Transcription:

Int. J. Elec&Electr.Eng&Telecoms. 2014 V Sai Krishna and R Sunitha, 2014 Research Paper ISSN 2319 2518 www.ijeetc.com Vol. 3, No. 1, January 2014 2014 IJEETC. All Rights Reserved NAMASKAR ROBOT-WHICH PROVIDES SERVICE R Sunitha 1 and V Sai Krishna 1 * *Corresponding Author: V Sai Krishna, speak2sainow@gmail.com This paper introduces a service robot which performs the repetitive task of welcoming people graciously both by a sweet recorded message and hand gesture representing Namaste an Indian traditional method wishing of people Most commonly we observe people dressed in the getups of Mickey mouse, Donald duck, Teddy bear, etc., near schools, colleges, offices, in parties and marriages, etc. Here the people wear only dress and performs the task of wishing unknown people mechanically which is really a mind-numbing task. In this paper we designed a service robot that acts as a host in receiving people and performs the same task for hours without getting weary. This is a low cost flexible robot which can be designed and constructed without difficulty. Keywords: Ping sensor, Arduino, Servos, Relays INTRODUCTION A robot is a mechanical or virtual agent, usually an electro-mechanical machine that is guided by computer program or electronic circuitry. Robots have replaced humans in the assistance of performing those repetitive and dangerous tasks which humans prefer not to do, or are unable to do due to size limitations, or even those such as in outer space or at the bottom of the sea where humans could not survive the extreme environments. Modern robots are classified into different categories such as mobile robots, Commercial or industrial robots, cobots or service robots based on their performance features (http:// en.wikipedia.org/wiki/cobot). In this project we built a service robot which performs the repetitive task of welcoming people both by recorded voice message and by hand movement representing Namaste in its vicinity. Usually when we invite people to home, office, marriage functions or parties, etc., we need to assign a person to receive them and greet at the entrance. If this greeting is to a limited amount of people then the task appears simpler. But if it is to greet hundreds or thousands of people, then the task appears complex and boring because the person has 1 Department of ECE, N.R.I Institute of Technology, J.N.T University, Kakinada, India. 52

to wait for hours and repeat the same process of wishing with affection and enthusiasm carrying a broad smile. Hence we tried to simplify the complexity by developing a robot which could stand at the entrance and wish each and every person within its vicinity. The idea of a robot greeting them in an Indian traditional style, along with a hand gesture NAMASKAR appeals to people. The style can be changed by making minimum changes in the program based upon the country. It does not get tired or bored and hence can perform its duty for longer hours. Children attending the function also will be more eager and excited at such reception. W e present our exploration of the emotional impact that abstract mechanical or robot motion has on Human-Robot Interaction (HRI). We discuss our design approach and motion planning as a process of detailing a task into discrete motions. We detail our results and explain how different styles of robot motion were mapped to emotional responses in human observers. We believe that our findings can inform and provide important insight into the purposeful use of motion as a design tool in social human-robot interaction. BLOCK DIAGRAM OF ROBOT Figure 1 represents the block diagram of the Namaste robot with voice commands programmed. Module and development board are connected to the common power supply as shown in the above block diagram. The description of each block is as follows: Power Source A common power supply provides to all the required modules. The modules require an operating voltage of 5-volts and current in milliamps. Sensor The ping sensor is an ultrasonic sensor which uses SONAR to determine the distance of an object in its vicinity. This sensor is used as eyes to the robot to detect an obstacle. Ex: proximity sensor (http://en.wikipedia.org/ wiki/proximity_sensor) Voice Playback IC This voice playback IC provides the prerecorded message that plays at predefined frequency rate. The playback is transferred to the audio amplification unit. Relay Figure 1: Block Diagram of Robot A relay is an electrically operated switch. Current flowing through the coil of the relay creates a magnetic field which attracts a lever and changes the switch contacts. Microcontroller A microcontroller is a single integrated chip that contains the processor and non-volatile memory internally present in it. 53

MICROCONTROLLER BASED ON ARDUINO Arduino: Arduino is a tool for making computers that can sense and control more of the physical world than desktop computer. It is an open-source physical computing platform based on a simple microcontroller board. There are many other microcontrollers and microcontroller platforms available for physical computing. Two vital features of the arduino: 1. Inexpensive Arduino boards are relatively inexpensive compared to other microcontroller platforms. 2. Open source and extensible software The Arduino software is published as open source tools. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it s based. Figure 2: Front View of the Arduino Board Source: http://arduino.cc/en/main/arduinoboarduno Technical Specifications of Arduino Board Microcontroller - ATmega328 Operating voltage - 5V Maximum input voltage - 7-12 V Digital I/O Pins 14 Analog Input Pins 6 DC Current per I/O Pin - 40 ma DC Current for 3.3V Pin - 50 ma Flash Memory - 32 KB Arduino Code Definitions Setup( ) A function present in every Arduino sketch. Run once before the loop( ) function. If is often used to set pinmode to input or output. The setup( ) function looks like: void setup( ) { //code goes here } Loop( ) A function present in every single Arduino sketch. This code happens over and over again. The loop( ) is where (almost) everything happens. The one exception to this is setup( ) and variable declaration. void loop( ) { //code goes here } Input: A pin mode that intakes information. Output: A pin mode that sends information. 54

High: Electrical signal present (5V Uno). Also ON Low: No electrical signal present (0V). Also OFF or False in Boolean logic. Digital Write: Assign a HIGH or LOW value to a pin already declared as an output. PWM: PW M stands for Pulse-W idth Modulation, a method of emulating an analog signal through a digital pin having value from 0 and 255. Used with analog Write. INTERFACING THE PING SENSOR WITH ARDUINO Working of a Ping Sensor Figure 3 represents the working principle of a ping sensor. The HC-SR04 ultrasonic sensor uses sonar to determine distance to an object. It offers excellent range accuracy and stable readings in an easy-to-use package. Its operation is not affected by sunlight or black material like Sharp rangefinders are (although acoustically soft materials like cloth can be difficult to detect). Figure 3: Working Principle of Ping Sensor IO trigger for at least 5 µs sequence of high level signal. The module sends eight 40 khz square waves and in return detects if it is receiving any pulse signal, i.e., the echo signal. If the signal is back through high level, time of high output IO duration is the time from sending ultrasonic to returning. Test distance = (high level time velocity of sound/2 = (340 M/S)/2). Specifications for Ping Sensor Working voltage Current 5V(DC) 15 ma Sensor angle Not> = 15 Detection Distance 2 cm~450 cm. Pin Connections from HCSR04 Ping Sensor to Arduino For interfacing the ping sensor to the Arduino board there are 4 pins present in the Arduino board they are V CC, GROUND, TRIGGER and ECHO. The pins 12 and 13 are the I/O pins that are present on the Arduino Uno board, i.e. (D-0, D-13). Figure 4: Connections from Ping Sensor to Arduino Board Source: http://www.seeedstudio.com/wiki Ultra_Sonic_range_measurement_module A ping sensor uses high frequency sound to accurately measure distance. This high frequency sound signal is supplied through an 55

Code to Test the Working of the Ping Ultra-Ultrasonic Sensor #define echopin 13 // Echo Pin #define trigpin 3 // Trigger Pin #define LEDPin 13 // Onboard LED //header files declarations. int maximumrange = 200; // Max range needed int minimumrange = 0; // Minimum range needed long duration, distance; // Duration used to calculate //giving the data type inputs. distance void setup() { Serial.begin (9600); pinmode(trigpin, OUTPUT); pinmode(echopin, INPUT); pinmode(ledpin, OUTPUT); // Use LED indicator } void loop() { /* The following trigpin/echopin cycle is used to determine the distance of the nearest object by bouncing soundwaves off of it. */ digitalwrite(trigpin, LOW); delaymicroseconds(2); digitalwrite(trigpin, HIGH); delaymicroseconds(10); digitalwrite(trigpin, LOW); duration = pulsein(echopin, HIGH); //Calculate the distance (in cm) based on the speed of sound. distance = duration/58.2; if (distance >= maximumrange distance <= minimumrange) { /* Send a negative number to computer and Turn LED ON to indicate out of range */ Serial.println( -1 ); digitalwrite(ledpin, HIGH); } Else { /* Send the distance to the computer using Serial protocol, and turn LED OFF to indicate successful reading. */ Serial.println(distance); digitalwrite(ledpin, LOW); } //Delay 50ms before next reading. delay(50); } In this paper, we used the ping sensor to act as eyes to the robot. The robot will detect the presence of the obstacle and generates an echo signal. This signal is sent to the Arduino development board via I/O port. In the above code, the LED turns ON for the time delay when the robot senses any obstacle 56

within 200 cm of distance. The distance from sensor to obstacle is measured and displayed on serial monitor on the Arduino software. The measured distance is sent to the computer using Serial protocol, and the LED is turned OFF to indicate successful reading. The delay of 50msec is present for the next object to be sensed. If there are no obstacles or if the obstacles are not within the vicinity of the robot, then the LED is switched OFF and it remains immobile. INTERFACING THE SERVOS WITH AURDINO Servo motors are dc motors with a servo mechanism that lets us control the precise position of the Shaft. There are many types of Servo Motors available depending upon type of application. They are used in areas requiring position control. In this paper we used RC Servo Motors or the type of Servo motors used in Robotics/Radio Control Projects. A Servo motor constitutes of 4 parts a DC motor, a Gear system, A Potentiometer (for sensing feedback) and a Control Circuit. Here the Control Circuit and the Potentiometer together form the Servo Mechanism as shown in Figure 5. Working of Servo Motor The Control Circuitry on the Servo motor drives the DC motor based on input signals it receives. The output shaft of the DC motor is connected to the gear assembly. The gear assembly moves the potentiometer when it rotates. The Control Circuitry gets feedback from this potentiometer and spins the DC motor to obtain a desired angle between 0 and 180. Figure 6: Internal Working of a Servo Motor Source: http://web.cecs.pdx.edu/~gerry/class/eas199a/notes/10/ servos_with_arduino_psu_2011_slides.pdf Figure 7: Square Pulses to Motor Figure 5: Parts of a Servo Motor 57 Controlling Servo Motors To Control a servo we need to apply a pulse once every 20 milliseconds. The duration of this pulse will determine the Servo Angle. For most Servo s a Pulse duration of 1 ms will set the shaft position to 0 and a pulse

duration of 2 milliseconds will set the shaft position to 180. Controlling Servos with an Arduino Arduino provides us with a servo control library that lets us control servos with ease. In this paper we used five servos to control the movements of the robot, i.e., head, right shoulder, right elbow, left shoulder and left elbow. Here the digital I/O pins D5, D6, D9, D10, D11 pins represents in the Arduino board connected to servos. Table 1: Servo Pins to Arduino Board Servo 1 D6 Head rotation Servo 2 D5 Left elbow Servo 3 D11 Right elbow Servo 4 D9 Left shoulder Servo 5 D1 Right shoulder Figure 8: Pin Connections from Arduino to Servos SIMULATION SCENARIO In this section the working of the robot is represented in a step wise manner along with the simulated results. Figure 9 shows that the robot is in initial state, i.e., the servos 2, 3, 4, 5 of the robot are in 0 state or OFF state. The head of the robot rotates from centre to left and then to right and back to centre due to rotation of Servo 1 from 0 to 180. The movement of the head indicates that the robot is searching for an obstacle. When any obstacle is sensed by the Ping sensor which acts like eyes of robot, the head position returns to the centre and Servo 1 remains at 90 angle and turns OFF and is operated in LOW state as shown in Figure 9. Figure 9: Initial Position of Robot 58

Once the Servo 1 turns OFF, the Servos 4 and 5 turns ON and switches to HIGH state, i.e., the signal line is activated for the left and right shoulders of the robot. Now the hands of robot can make movement upwards. The shoulder servos are connected to the Arduino Digital I/O pins (D9, D10). For these pins the signal line is high and the position of the servo is changed by an angle of 90 as shown in the Figure 10. Now the Servos 4 and 5 turns OFF. Figure 11: 3 rd Position of Robot Figure 10: 2 nd Position of Robot Once the Servos 4 and 5 turn OFF, the signal line of Servos 2 and 3 turns ON and provides movement of elbows to the robot. In order to move the elbow gracefully a time delay of 15 µs is provided for both the servos. If there is no time delay then the movement will be very fast and will appear n an odd manner. This robot now represent the Namaste position after the 90 of high motion from the shoulders then the action of 45 from elbow movement. Here in the Namaste position there is a delay of 3 seconds is applied in that position. The digital pins that are used for the movement are (D5, D11, D9, D10) are at low state. At all these cases the position of the head is in 90 and basically in the OFF state. All these actions depend upon the signal line that comes from the Arduino Uno board. Again the 4 th position is matched with the 2 nd position that is the after the 3 seconds of delay from the Namaste position it is back to the 2 nd position as observed. The 45 of operation is performed. This robot now represent the Namaste position after the 90 of high motion from the shoulders then the action of 45 from elbow movement. Here in the Namaste position there is a delay of 3 seconds is applied in that position. The digital pins that are used for the 59

movement are (D5, D11, D9, D10) are at low state. At all these cases the position of the head is in 90 and basically in the OFF state. All these actions depend upon the signal line that comes from the Arduino Uno board. Figure 13: 5 th Position of Robot Again the 4 th position is matched with the 2 nd position that is the after the 3 seconds of delay from the Namaste position it is back to the 2 nd position as observed. The 45 of operation is performed. This is the final view that is observed all the servo lines are set to zero (D5, D11, D10, D9) are down to OFF state. And the D6 digital pin is HIGH that which is used for the head rotation is performed and the PING again starts searching for the obstacle panning from left to right. Figure 12: 4 th Position of Robot 60 CONCLUSION The main aim of this paper was to construct a Namaskar robot which provides the service of welcoming people graciously. We have constructed a model robot which can sense people walking before it within its vicinity and welcome them courteously. Different messages can be saved according to the requirement of the customer. This is a low cost service robot which can be designed and used in public places, functions, parties etc which attracts a lot of attention from kids as well as adults. In order to develop this robot we used different software. For designing the circuit we used PCB wizard and Photoshop software. All the figures were drawn using Photoshop software. The code is transferred into the ATMEGA328 MC Arduino Software is used.

FUTURE SCOPE So far this robot is stationary. By implementing the Biped mechanism to this project the robot can walk as the human. Now it identifies not only humans but also any obstacle within its vicinity. Hence this can further be improved by using digital image processing techniques to identify only humans. BIBLIOGRAPHY 1. http://en.wikipedia.org/wiki/cobot 2. h t t p : / / e n. w i k i p e d i a. o r g / w i k i / Proximity_sensor 3. h t t p : / / a r d u i n o. c c / e n / M a i n / ArduinoBoardUno 4. http://arduino.cc/ 5. http://www.seeedstudio.com/wiki/ Ultra_Sonic_range_measurement_module 6. http://profesores.fi-b.unam.mx/m3615m/ datasheet-sen136b5b.pdf 7. http://web.cecs.pdx.edu/~gerry/class/ EAS199A/notes/10/servos_with_ Arduino_PSU_2011_slides.pdf 8. http://learn.adafruit.com/downloads/pdf/ adafruit-arduino-lesson-14-servomotors.pdf 61