Motion Controlled Pick and Place Obstacle Avoider Robotic Vehicle

DOI : 10.17577/IJERTV13IS080022

Download Full-Text PDF Cite this Publication

Text Only Version

Motion Controlled Pick and Place Obstacle Avoider Robotic Vehicle

Sarthak Singh

Department of Electrical Engineering Delhi Technological University

Abstract The robots are quickly replacing humans in every field, where automation can be used to perform the tasks. But, still there are some tasks, which due to their delicacy or constantly changing conditions, requires a human operator. The operator uses buttons from a controller to control the robot. This can be a limitation to the differently abled people. Also, in some places, there is a risk of human life where a machine replicating human motor functions can save the users life from being vulnerable. We propose on covering these problems and creating a gesture controlled robotic vehicle, using Arduino, which dont require even a single button press and can pick and place objects from one place to another. Also, in case of delicate operations, and when the user cant see the robots path clearly, it is equipped with an ultrasonic sensor to detect distance and correct its path. A robotic vehicle of this kind, is useful in military, industries and even for personal use. This paper covers all the aspects of this robotic vehicle, including the basic setup to programming the Arduino, analysing the robots behaviour subjected to various input conditions and obstacles, simulation and implementation.

Index Terms Arduino Nano, RF Transceiver, Accelerometer, Gesture, Proteus

  1. INTRODUCTION

    In todays world, everything is moving towards being automated. Be it transportation, military operations, industrial work, etc., every industry is using robots to ease their work and be more efficient. Some places dont require much thought process to carry out the tasks, hence the robots there dont need any operator and are autonomous, carrying out the assigned task recursively as programmed. But in the places, where there are constantly changing conditions, a human operator is required, who controls the robot using a controller having buttons or switches. This task of using buttons can be really stressful and tiring for the hand and fingers and also, turns out to be a limitation for the differently abled people. So, here we propose a different concept of controlling the robot, by just using hand gestures, without any button press. The communication between the transmitter and the receiver remains the same, just the method of input for the user changes.

    The gripper system as we know today, got modified gradually. It had to be made to resemble the most important functionalities of the human hand. M.Cianctietti, A. Arienti, B.M. Follador, B. Mazzalai, P. Dario proposed an Octopus Theory of Robots [1]. They got inspired by the Octopus to make an interesting model in robotics due to its high dexterity, variable stiffness and very complex behaviour. In this experiment they studied the key features and patterns of movement of Octopus arm that is elongation, shortening, bending and reaching etc. and used them for guiding the movement of actuator. They concluded that the concept proposed for the mechanism at the base of the robotic arm inspired by the Octopus muscular hydrostat was successfully

    IJERTV13IS080022

    implemented on mock-ups and the corresponding models have been modified and validated.

    In the year 2000, Gabrielle J.M. Tuithaf, J.L. Harder proposed that the robots are not safe for interaction with humans, especially for children. Therefore, safe four Degree of Freedom (DOF) robot arm was developed. Firstly, the joint stiffness of arm is brought to zero, then the arm is supplied with pneumatic artificial muscles and their stiffness can be adjusted by open loop stiffness control [9].

    In 2002, a fully functional pick and place robot was developed using a buttoned controller. Chris Nowak, Rajaey Kased, Chin Pei Tang from the Department of Mechanical and Aerospace Engineering, implemented a project on "Distributed Sensing and Control Framework for Mobile Robot" [2]. In this project, they used a Wheeled Mobile Vehicle (WMR) to transport packages from a pickup station to a drop-off station. This was done using a gripper, which was attached in front of the vehicle and was used as a lifting device. This package was regulated from both the sender and receiver side by the means on push-buttons. On the pickup side, it was pressed for package availability, and on the drop-off side, it was pressed to acknowledge the reception of the package. For achieving this control scheme, two types of units were used, namely, mobile unit and static unit. The distance between the source and destination stations could be so much, that it would not have been feasible for wired communication. Hence, wireless communication was used, that too Infrared and Radio Frequency communication. The data was being sent and received using serial mode of communication. The WMR setup included – servomotors, for the movement of the WMR, IR ranging system as a distance detector, Fire-Stick II (IR transmitter) for data transmission to the base station, RF receiver for data reception from base station, a Gripper System used for lifting packages; attached in front of the WMR and Counterweight for balancing the moment of WMR. The basic directional motion required for this project was forward, backward, left and right motion. The whole motion was pre-programmed in the WMRs Basic Stamp. There were two modes, in which these motions were implemented: calibration (open loop) and measurement (close loop). Trial- and- error was used as the selection criteria for mode at each path.

    For our project, for the purpose of measuring the gestures of the hand, an accelerometer is being used. When used with a comparator, they work with the principle of PWM, in which the input from the accelerometer gets compared against a reference set using the potentiometers in the comparator. This way, whenever there is a change in state of hand, the accelerometer senses a shift in gravity due to hand movements and the output changes. We make use of encoder IC in the transmitter section to convert the parallel data of motion commands to series before transmitting through RF to the receiver unit. The receiver unit is equipped with RF receiver to receive the transmissions. We then use decoder IC

    (This work is licensed under a Creative Commons Attribution 4.0 International License.)

    to convert the received signals into motion commands. These motion commands are then sent to the Arduino Nano and it accordingly operates the vehicle as well as the pick and place arm parallelly to achieve complete robot movement. Arduino Nano can support 8 analog inputs for our 8 connections from the receivers decoders as compared to 6 supported by Arduino Uno. Also, we installed an ultrasonic sensor which corrects the robots path if it gets too close to an object. This project was simulated using Proteus and the motor movements for different inputs given by the hand gestures and upon being objected by obstacles in the path were recorded.

    The ICs have to be provided with regulated voltage or else they will burn out on getting more supply than max voltage limit.

    Hence, the transmitter consists of a voltage regulator which provides a constant voltage to all the components of the transmitter circuit after getting the supply from the battery. Similarly, in case of receiver circuit, the Arduino works as a voltage regulator, because it has one, inbuilt. Hence, the Arduino supplies regulated 5V to all the components and is powered by a battery. Only the motor driver is supplied directly from the battery to power the motors.

    B. FLOWCHART

  2. SYSTEM DESIGN

    A. BLOCK DIAGRAMS

    Fig. 1. Transmitter Block Diagram

    Fig. 2. Receiver Block Diagram

    The system consists of two major parts, i.e. transmitters and receiver.

    The two transmitters, for the robots arm and the robots driving, have the same circuitry. The only difference in those is that of the addressing of the encoder address pins.

    Similarly, on the receiver side, the decoders have the same addressing sequence as that of the encoders, so that the respective decoders get signals from their respective encoder pair. This way multiple encoder decoder pair can be used simultaneously by changing the addressing, so that the signal for the arm cannot interfere with driving and vice versa [6].

    Fig. 3. Program Flowchart

  3. HARDWARE REQUIREMENTS

    1. ARDUINO NANO

      It is an Arduino developed microcontroller board. Small in size and breadboard friendly, it is based on ATmega328p (Arduino Nano V3.x) [3]. It has similar functions as that of Arduino Uno, but it is much smaller and offers more analog ports. Its operating voltage is +5V which is regulated by an inbuilt voltage regulator, while the input voltage can vary from +7 to 12V. Arduino Nano Pinout contains – 14 Digital Pins; 8 Analog Pins; 2 Reset Pins and 6 Power Pins. These analog and digital pins can be provided various functions, but are mostly configured as input and output pins for the Arduino. It has an inbuilt crystal oscillator of frequency 16 MHz which provides a clock of precise frequency by using constant voltage. Since Arduino boards come with built-in boot-loader, hence no separate burner is required for the microprocessor, to compile and burn the program.

    2. ACCELEROMETER (ADXL335)

      It is a thin, small, low power consuming, complete 3-axis accelerometer having signal conditioned voltage outputs. It measures acceleration with a minimum to full-scale range of ±3 g [5]. It can measure static acceleration of gravity shift due to tilting, as well as dynamic acceleration due to shock, motion or vibration. It is built on top of a silicon wafer and is suspended by polysilicon springs which allows the structure to deflect at the time when the acceleration is being applied at any particular axis. Due to this deflection, the capacitance between the plates changes which is proportional to the acceleration on that axis [8]. This change in capacitance is sensed by the sensor and is converted into an analog output voltage. The bandwidth of the accelerometer can be changed using these capacitors at the output pins. X and Y axes have a range of 0.5 Hz to 1600 Hz and the Z has that from 0.5 Hz to 550 Hz.

    3. COMPARATOR IC (LM324)

      This IC comprises of four independent op-amps internally and it can work as a normal comparator too. It consumes low power, bandwidth and has high stability when it is supplied with single power supply, that too, over extensive voltage ranges. Outside biasing components are not required in several applications as the range of common mode input as well as the output voltage range mainly comprises the negative voltage supply. Due to the single supply for the four op-amp operation, it enables reliable operation.

    4. HT12E ENCODER AND HT12D DECODER IC

      These are series encoder and decoder ICs, used for radio frequency (RF) applications. The encoder simply converts a 12- bit parallel data into a serial output which can later be transmitted by using a RF transmitter. The corresponding HT12D decoder IC receives those 12 bits of parallel data serially. The 12-bit data consists of 8 address bits and 4 data bits. These address bits are used to provide security to the data being transmitted since only a decoder with the same address configuration as the transmitter encoder can receive the data [5]. They have a built-in oscillator which requires only a small external resistor between two of their ports to function.

    5. RF MODULE (433 MHz)

      It is a small electronic device consisting of a pair of transmitter and receiver which can be used to transmit and receive radio signals between two devices in an embedded system. It uses the 433 MHz band for the communication. A Hybrid Transceiver Module can be used to transmit data at up to 3 KHz. It offers low current consumption and hence can directly be powered using the Arduino. Also, the data can be directly supplied from the microprocessor or encoding device, due to which the number of components is reduced and hence lower hardware cost [3][5].

    6. ULTRASONIC SENSOR (HC-SR04)

      This sensor is used in applications where measuring distances or sensing the objects around is required. It has two eyes like projections, protruding from the front, comprising the Ultrasonic transmitter and receiver. The transmitter transmits an ultrasonic wave, which travers through the air, and when any material objects its path, the wave gets reflected back at the sensor. A high-level signal is sent using Trigger for 10us due to which, the module automatically generates eight 40 KHz signals and checks whether the pulse is received or not. The high duration of the received signal is the time gap between the sending and receiving signals.

    7. MOTOR DRIVER MODULE (L293D)

    It is basically a motor controller which can control two DC motors simultaneously and can rotate them in both clockwise and counter clockwise direction, by just the change of the polarity of the signal being applied. It receives low current signal at the input and provides high current signal at its output in order to drive different loads (e.g. Stepper motor and DC motors) and hence acts as a current amplifier. The two enable pins must be kept high to control the motors. If it is kept low, there will be no output even after powering the module and supplying power to the motors. It has features like, large input voltage supply range, large output current high noise immunity input signals etc.

  4. CIRCUIT DESIGN AND WORKING

    The circuit diagrams have been made using Fritzing software, (version 0.9.4), which is an open source hardware initiative for making layouts and schematics, as well as manufacturing professional PCBs (Printed Circuit Boards).

    A. CIRCUIT DIAGRAMS

    Fig. 4. Arm Transmitter Circuit

    Fig. 5. Driving Transmitter Circuit

    Fig. 6. Receiver Circuit

    B.BEHAVIORAL ANALYSIS OF THE ROBOT

    There is a total of 11 conditions for this Gesture Controlled obstacle avoider pick and place robot which are based on the distance from the object, and the commands given by both the hands. Some inputs response contains dont care (X) conditions, which means that whatever be the input in that case for that pin, the result will not be affected. Also, the robots arm motors and the robots driving motors are programmed in such a way, that they can function independent of each other. Hence, we can move the arm and gripper while driving and vice versa [7]. The vehicle on reaching close proximity to the obstacle, is the only condition, when the robot drives and find a clear path on its own, as set by the pre-loaded program, by using the ultrasonic sensor installed, and comparing the distance from the obstacle recursively and driving until the path becomes clear again. As given in Table I, the Arduino inputs D0 D3 are for the arm and gripper motors of the robot, and the inputs D4 D7 are for the driving motors of the robot.

    TABLE I Behavioural Analysis Of Robot

    Distance from the obstacle (in cm)

    Movement of hand

    Input for Arduino from gesture

    Command Implemented

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    < 10

    X

    X

    X

    X

    X

    X

    X

    X

    X

    Stop

    +

    Backward

    +

    Turn Left

    >= 10

    Ls

    X

    X

    X

    X

    0

    0

    0

    0

    Arm Stable

    Lr

    X

    X

    X

    X

    0

    0

    0

    1

    Arm Open

    Ll

    X

    X

    X

    X

    0

    0

    1

    0

    Arm Close

    Lb

    X

    X

    X

    X

    1

    0

    0

    0

    Arm Up

    Lf

    X

    X

    X

    X

    0

    1

    0

    0

    Arm Down

    Rs

    0

    0

    0

    0

    X

    X

    X

    X

    Stop

    Rr

    0

    0

    0

    1

    X

    X

    X

    X

    Turn Right

    Rl

    0

    0

    1

    0

    X

    X

    X

    X

    Turn Left

    Rb

    0

    1

    0

    0

    X

    X

    X

    X

    Backward

    Rf

    1

    0

    0

    0

    X

    X

    X

    X

    Forward

    TABLE II KEY FOR TABLE I

    S. No.

    Symbol

    Usage

    1

    X

    Dont care condition

    2

    L_

    Left hand controller

    3

    R_

    Right hand controller

    4

    _s

    Stable condition of controller

    5

    _r

    Right tilt of controller

    6

    _l

    Left tilt of controller

    7

    _b

    Backward tilt of controller

    8

    _f

    Forward tilt of controller

    a. Here _ represents any symbol that follows the symbol along with.

  5. SIMULATION

    The Simulation was done using Proteus. Version Used: Proteus 8 Professional.

    1. EXTERNAL AND SUBSTITUTE LIBRARIES USED

      Some of the libraries and equipment were not available along with the Proteus master library. Hence these libraries have to be downloaded and used in the Proteus simulation.

      • ARDUINO NANO MODULE It had to be imported in proteus as it doesnt have one, in-built. All the pins were not programmed in that library module and it was the best available online, hence we used some digital pins for providing the data to the Arduino.

      • RF MODULE (TX RX) It had to be imported as there was no library for this 433 MHz Rf Module. They have to be used along with encoder and decoder ICs.

      • HT12E & HT12D ICs They had to be replaced with M145026 & M145027 ICs respectively as there was no simulation model available for both of them. Unlike HT12E & HT12D, these ICs dont have internal oscillators, so we have to connect some external resistances and capacitances to sync them. No. of address pins are lesser than the HT12E/HT12D ICs, but they both work the same.

      • LOGICSTATE It had to be used instead of the Digital output obtained from the comparator circuit made with the accelerometer, potentiometers and the quad op-amp IC, as

        there wasnt any model available for the ADXL335 IC. Any variable voltage source can be used in its place for simulation. This logicstate hence provides binary 1 or 0 as the output.

      • ULTRASONIC SENSOR This sensor wasnt available for the exact model that we are using, hence we imported the HC-SR04 version and used it. It replicates the actual sensor exactly and has a test pin, through which we can simulate the distance variable. We can supply varied voltage with the help of a voltage source and a potentiometer to this test pin to vary the distance by varying the potentiometer.

    2. LIMITATIONS

      The modified schematic (as in Fig. 8), made from the actual schematic (as in Fig. 7), cant give proper output in real time, as there was an error of CPU overloading due to system limitations. Hence, the modified circuit is divided into sub circuits and tested separately. The sub-circuits being that of the:

      • Transmitter Receiver section along with Encoder Decoder ICs (as in Fig. 9).

      • Arduino and motor driver + motor section along with the ultrasonic sensor (as in Fig. 10).

    3. SIMULATION SCHEMATICS

    In Fig. 7, the actual schematic has been represented with the actual ICs from the circuit diagram. The schematic consists of both the transmitters and the receiver along with them. Due to the limitations as mentioned above, some ICs were replaced and a modified schematic (Fig. 8) was made for simulation.

    Fig. 7. Actual Schematic

    After switching to Logicstate in the modified schematic (Fig. 8), we tested the RF receivers by using a single RF transmitter by changing the address pins logicstate according to the receivers one by one. The circuit responded both times for the respective transmitter signals.

    Figure 9. Modified Schematic

    Fig. 8. Transmitter Receiver Section

    For the transmitter receiver section, because the Arduino was removed, there was no source of power for the RF Receivers and the Decoder ICs, hence VCC and Ground was given externally in the simulation. Also, to check if the data being received is indeed the data, being given through the transmitters encoder, after being changed to serial data for communication and then back to

    parallel, we have connected LEDs for the corresponding

    Decoders ports.

    Here (in Fig. 10), the inputs of the Arduino as given by the Decoder ICs have been simulated using Logicstate and the corresponding output is shown using the motor rotation movement. A LED is also connected in parallel for every output port to show which pins are high at the moment of any command execution.

    Fig. 10. Arduino and Motors with Ultrasonic Sensor

  6. CONCLUSION AND IMPLEMENTATION

    In this research, we used Arduino Nano to implement a gesture- controlled pick and place obstacle avoider robot by using different sensors for achieving every different feature that this robot offers. The movement is precise, accurate, easy to control and user friendly to use. The code for the Arduino along with the circuits were tested and simulated using Proteus and were later implemented on breadboard. This robot has a lot to offer and many more features can be added to make it more and more user friendly.

    Fig. 11, shows the implemented model having the geared arm and geared gripper, attached to the robots chassis.

    Fig. 11. Actual Implemented Model

  7. FUTURE SCOPE

There are many vital applications for this type of robotic vehicle where it can replace humans and save them from hazardous risks and vulnerabilities in their jobs, be it bomb defusal, military or even industrial work [4].

  • These robots, resembling small armored tanks, can be controlled from a safe distance and guided by getting live feed from a camera attached to front. They can locate a suspected bomb and can pick and carry to a safe location for defusal or detonation, totally removing the risk of directly interacting with the bomb.

  • In industries too, heavy loads can be easily lifted and transported efficiently, without any chances of fatigue or risks of any industrial injury as the robots are controlled from a safe distance, easing the work of the operator.

  • These kinds of robots can be used by the military to scout enemy bases with any kind of terrain, checking for mines and revealing enemy positions by transmitting from getting image reception from a camera fitted in the front of the robot.

REFERENCES

  1. Cianchetti, M., Design concept and validation of a robotic arm inspired

    by the octopus, Materials Science & Engineering C, 2011.

  2. Chris Nowak, Rajaey Kased, Chin Pei Tang, "Distributed Sensing and Control Framework for Mobile Robot", Department of Mechanical and Aerospace Engineering, 2002.

  3. Prateek Pal, Amrit Mishra, M.C. Srivastava, Ashwani Sharma, Gesture Controlled Pick and Place Robot, Mechanical and Automation Engineering Amity University, Lucknow, India, 2017.

  4. Khajone, S. A., Mohod, S. W., & Harne, V. M., Implementation of Wireless Gesture Controlled Robotic Arm, International Journal of Innovative research in Computer and Communication Engineering, 3 (1),

    pp. 375 379, 2015.

  5. Pradeep Jayabala, Design and Implementation of Gesture Controlled Robotic Arm for Industrial Applications, article in International Journal of Scientific Research, Vol. 03, Iss. 04, Ver. III, pp. 202 209, Oct Dec 2016.

  6. Sagar Parbhane and Sayali Bhagat, Hand Gesture Controlled Pick and Placed Robot, Asian Journal of Convergence in Technology Volume II, Issue I, 2016.

  7. Waldherr, S., Thrun, S., and Romero, R., A Gesture based interface for Human-Robot Interaction, Kluwer Academic Publishers, Netherland, 2000.

  8. Th Nanao, RomeshLaishram, Integrated Earthquake and Landslide Monitoring Over Wireless Sensor Network, International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878, Volume-8 Issue-4, November 2019.

  9. Gabrille J.M. Tuijthof, Just L. Herder, Design, actuation and control of an anthropomorphic robot arm, Mechanism and Machine Theory, 2000.