INTERNATIONAL JOURNAL OF ELECTRICAL ENGINEERING & TECHNOLOGY (IJEET) TWO WHEELED SELF BALANCING ROBOT FOR AUTONOMOUS NAVIGATION

Similar documents
SELF-BALANCING MOBILE ROBOT TILTER

Control System Design for Tricopter using Filters and PID controller

MEM380 Applied Autonomous Robots I Winter Feedback Control USARSim

6545(Print), ISSN (Online) Volume 4, Issue 2, March April (2013), IAEME & TECHNOLOGY (IJEET)

Cleaning Robot Working at Height Final. Fan-Qi XU*

PID CONTROL FOR TWO-WHEELED INVERTED PENDULUM (WIP) SYSTEM

TEAM AERO-I TEAM AERO-I JOURNAL PAPER DELHI TECHNOLOGICAL UNIVERSITY Journal paper for IARC 2014

Design of Tracked Robot with Remote Control for Surveillance

Homework 10: Patent Liability Analysis

ME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018

Range Sensing strategies

International Journal of Modern Trends in Engineering and Research e-issn No.: , Date: April, 2016

Speed Control of BLDC Motor Using FPGA

Performance Analysis of Ultrasonic Mapping Device and Radar

Dynamically Adaptive Inverted Pendulum Platfom

INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND TECHNOLOGY (IJARET) LAND SURVEY BY ROBOT

Controlling Obstacle Avoiding And Live Streaming Robot Using Chronos Watch

Extended Kalman Filtering

SELF STABILIZING PLATFORM

INTERNATIONAL JOURNAL OF MECHANICAL ENGINEERING AND TECHNOLOGY (IJMET) ANALYSIS AND CONTROL OF MOBILE ROBOT FOR PIPE LINE INSPECTION

Robot Autonomous and Autonomy. By Noah Gleason and Eli Barnett

University of Florida Department of Electrical and Computer Engineering Intelligent Machine Design Laboratory EEL 4665 Spring 2013 LOSAT

Auto-Balancing Two Wheeled Inverted Pendulum Robot

CENG 5931 HW 5 Mobile Robotics Due March 5. Sensors for Mobile Robots

Two Wheels Balancing Robot with Line Following Capability Nor Maniha Abdul Ghani, Faradila Naim, Tan Piow Yon

Two Wheels Balancing Robot with Line Following Capability Nor Maniha Abdul Ghani, Faradila Naim, Tan Piow Yon

Precision Range Sensing Free run operation uses a 2Hz filter, with. Stable and reliable range readings and

PYKC 7 March 2019 EA2.3 Electronics 2 Lecture 18-1

Automobile Prototype Servo Control

Master Op-Doc/Test Plan

Intelligent Tactical Robotics

Nautical Autonomous System with Task Integration (Code name)

AUTOMATED ELEPHANT TRACKER

DEVELOPMENT OF A HUMANOID ROBOT FOR EDUCATION AND OUTREACH. K. Kelly, D. B. MacManus, C. McGinn

ARDUINO BASED CALIBRATION OF AN INERTIAL SENSOR IN VIEW OF A GNSS/IMU INTEGRATION

Solar Powered Obstacle Avoiding Robot

Implementation of a Self-Driven Robot for Remote Surveillance

Robust Control Design for Rotary Inverted Pendulum Balance

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

A 3D Gesture Based Control Mechanism for Quad-copter

The Next Generation Design of Autonomous MAV Flight Control System SmartAP

Sensing. Autonomous systems. Properties. Classification. Key requirement of autonomous systems. An AS should be connected to the outside world.

Hardware Implementation of an Explorer Bot Using XBEE & GSM Technology

Perception. Read: AIMA Chapter 24 & Chapter HW#8 due today. Vision

Voice Guided Military Robot for Defence Application

Available online at ScienceDirect. Procedia Computer Science 76 (2015 )

MEMS Accelerometer sensor controlled robot with wireless video camera mounted on it

INTELLIGENT LANDING TECHNIQUE USING ULTRASONIC SENSOR FOR MAV APPLICATIONS

HAND GESTURE CONTROLLED ROBOT USING ARDUINO

II. MAIN BLOCKS OF ROBOT

Sri Shakthi Institute of Engg and Technology, Coimbatore, TN, India.

MB1013, MB1023, MB1033, MB1043

Introducing the Quadrotor Flying Robot

POKER BOT. Justin McIntire EEL5666 IMDL. Dr. Schwartz and Dr. Arroyo

Robot Navigation System with RFID and Ultrasonic Sensors A.Seshanka Venkatesh 1, K.Vamsi Krishna 2, N.K.R.Swamy 3, P.Simhachalam 4

Design Project Introduction DE2-based SecurityBot

Android Phone Based Assistant System for Handicapped/Disabled/Aged People

Sensor Data Fusion Using Kalman Filter

Control System for Lamp Luminosity. Ian Johnson, Tyler McCracken, Scott Freund EE 554 November 29, 2010

Brainstorm. In addition to cameras / Kinect, what other kinds of sensors would be useful?

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) DESIGN OF A LINE FOLLOWING SENSOR FOR VARIOUS LINE SPECIFICATIONS

TigreSAT 2010 &2011 June Monthly Report

INTERNATIONAL JOURNAL OF MECHANICAL ENGINEERING AND TECHNOLOGY (IJMET)

Dynamically Adaptive Inverted Pendulum Platform

Terry Max Christy & Jeremy Borgman Dr. Gary Dempsey & Nick Schmidt November 29, 2011

Gesture Controlled Car

1. INTRODUCTION: 2. EOG: system, handicapped people, wheelchair.

Accident Sensor with Google Map Locator

Golden Research Thoughts

Wheeled Mobile Robot Obstacle Avoidance Using Compass and Ultrasonic

Published by: PIONEER RESEARCH & DEVELOPMENT GROUP ( 1

Control System for a Segway

Autonomous Stair Climbing Algorithm for a Small Four-Tracked Robot

DC motor control using arduino

Speed Control of a Pneumatic Monopod using a Neural Network

Testing Autonomous Hover Algorithms Using a Quad rotor Helicopter Test Bed

Embedded Robust Control of Self-balancing Two-wheeled Robot

Key-Words: - Fuzzy Behaviour Controls, Multiple Target Tracking, Obstacle Avoidance, Ultrasonic Range Finders

FLCS V2.1. AHRS, Autopilot, Gyro Stabilized Gimbals Control, Ground Control Station

Segway Robot Designing And Simulating, Using BELBIC

FLL Coaches Clinic Chassis and Attachments. Patrick R. Michaud

PRESENTED BY HUMANOID IIT KANPUR

CO2 laser heating system for thermal compensation of test masses in high power optical cavities. Submitted by: SHUBHAM KUMAR to Prof.

OBSTACLE DETECTION AND COLLISION AVOIDANCE USING ULTRASONIC DISTANCE SENSORS FOR AN AUTONOMOUS QUADROCOPTER

Design and Implementation of an Intuitive Gesture Recognition System Using a Hand-held Device

Balancing Robot. Daniel Bauen Brent Zeigler

Servo Tuning Tutorial

A Simple Design of Clean Robot

istand I can Stand SPECIAL SENSOR REPORT

PROCESS DYNAMICS AND CONTROL

ZJUDancer Team Description Paper Humanoid Kid-Size League of Robocup 2015

GE423 Laboratory Assignment 6 Robot Sensors and Wall-Following

An Autonomous Self- Propelled Robot Designed for Obstacle Avoidance and Fire Fighting

The Feedback PI controller for Buck-Boost converter combining KY and Buck converter

Detailed measurements of Ide transformer devices

A NOVEL CONTROL SYSTEM FOR ROBOTIC DEVICES

Embedded Control Project -Iterative learning control for

Obstacle Avoidance Mobile Robot With Ultrasonic Sensors

6545(Print), ISSN (Online) Volume 4, Issue 1, January- February (2013), IAEME & TECHNOLOGY (IJEET)

Sensors and Sensing Motors, Encoders and Motor Control

Transcription:

INTERNATIONAL JOURNAL OF ELECTRICAL ENGINEERING & TECHNOLOGY (IJEET) International Journal of Electrical Engineering and Technology (IJEET), ISSN 0976 6545(Print), ISSN 0976 6545(Print) ISSN 0976 6553(Online) Volume 5, Issue 8, August (2014), pp. 13-20 IAEME: www.iaeme.com/ijeet.asp Journal Impact Factor (2014): 6.8310 (Calculated by GISI) www.jifactor.com IJEET I A E M E TWO WHEELED SELF BALANCING ROBOT FOR AUTONOMOUS NAVIGATION Jisha Kuruvilla 1, Jithin Abraham 2, Midhun S 2, Ranjini Kunnath 2, Rohin Reji Paul 2 1 Asst. Prof., Dept. of EEE, Mar Athanasius College of Engineering, Kothamangalam, India 2 UG Student, Dept. of EEE, Mar Athanasius College of Engineering, Kothamangalam, India ABSTRACT Self balancing robots are increasingly becoming popular because of their unique ability to move around in two wheels. They are characterized by their high maneuverability and excellent agility. This paper describes the design and testing of a self balancing robot that not just balances on two wheels but also navigates its way around with the help of an on-board image processing system. The robot as a whole can be considered as a combination of two units the balancing unit and the image processing unit. The balancing unit performs all functions that keep the robot upright whereas the image processing unit assists in autonomous navigation. The balancing unit runs a PID control loop which improves the stability of the system. A real-time data plot is done in MATLAB to analyze the stability of the system and also to improve it by tuning the PID controller constants. This system can be used as a base model to accomplish complicated tasks which would otherwise be performed by humans. Some situations include foot print analysis in wildlife reserves, autonomous indoor navigation, etc. Keywords: Accelerometer, Complementary Filter, Gyroscope, Image Processing, Inverted Pendulum, PID. 1. INTRODUCTION Unlike an ordinary robot, a two wheel self balancing robot requires just two point of contact with the floor surface. The unique stability control that is required to keep the robot upright differentiates it from ordinary robots. Such robots are characterized by the ability to balance on its two wheels and spin on the spot. This additional maneuverability allows easy navigation on various terrains, turn sharp corners and traverse small steps or curbs. These capabilities have the potential to solve a number of challenges in industry and society. Small carts built utilizing this technology 13

allows humans to travel short distances in a small area or factories as opposed to using cars which is more polluting. The basic idea of a self-balancing robot is simple: drive the wheels in the direction in which the robot tilts. If the wheels can be driven in such a way as to stay under the robot s center of gravity, the robot remains balanced. This is similar to the inverted pendulum model in control theory. The pendulum is usually mounted on a cart through a hinge. The cart moves forward or backward to ensure that the pendulum remains vertical. To drive the cart either forward or backward, knowledge of the angle and rate of tilt of the inverted pendulum is required. This can be measured using an inertial sensing unit. The general design of the robot is a rectangular body on two wheels. The wheels are placed parallel to each other. The robot body comprises of four layers placed one over the other by means of plastic extenders. The layers are made out of 3mm thick glass epoxy PCB. The bottommost layer consists of wheels, motors and battery. The second layer from bottom comprises of electronic circuitry which include the microcontroller, angle sensor, voltage regulator and motor driver. The third layer from bottom contains a microcomputer for image processing. The topmost layer incorporates a digital camera compatible with the microcomputer and a distance sensor.. Fig. 1: A 3-D model of the framework of the proposed robot The balancing unit and the image processing unit have a separate CPU. The balancing unit contains a microcontroller the ATmega168 which runs at 16MHz. The image processing unit contains a single board computer Raspberry Pi which runs at 700MHz [1]. An inertial measurement unit (IMU), a microcontroller, a motor driver and the motor forms the balancing unit. They together perform all actions that are necessary for the stable operation of the robot. The microcontroller continuously reads the data from the IMU and calculates the angle of tilt of the robot with respect to the vertical. Based on this data, the microcontroller then sends appropriate control signals to the motor driver to drive the motors. 14

Fig. 2: Block diagram of the proposed robot 2. ANGLE ESTIMATION AND BALANCING The balancing robot is a highly unstable two wheeled robot which functions like an inverted pendulum. The robot will naturally tend to tip over, and the further it tips, the stronger is the force causing it to tip over. Therefore to keep the robot stable, we have to continuously monitor the tilt angle of the robot and drive the wheels accordingly. 2.1. Angle Estimation To find the direction and the angle of tilt, an accelerometer and a gyroscope is used. Although both accelerometer and gyroscope can be individually used to calculate tilt angle, in practice, it is often used in collaboration. Accelerometer gives accurate reading over a sufficient interval of time but it is highly susceptible to noise which results due to sudden jerking movement of the robot. Since accelerometer measures linear acceleration, the sudden jerking movement throws off the sensor accuracy. Gyroscope actually measures angular velocity which is then integrated to find the angle of tilt. For a small interval of time, the value of gyroscope is very accurate, but since the gyroscope experiences drift and integration compounds the error, after some time the gyroscope reading becomes unreliable [2]. Thus we require some way to combine these two values. This is done with complementary filter. Complementary filter is a simple filter that is easy to implement, experimentally tune and it demands very little processing power. It is basically a high pass filter and a low pass filter combined where the high pass acts on the gyroscope and the low pass acts on the accelerometer. It makes use of the gyroscope for short term estimation and the accelerometer for absolute reference. 15

Fig. 3: Complementary Filter Equation Fig. 4: Complementary Filter Block Diagram [3] 2.2. Balancing Control The feedback control used for improving the balancing action is the PID controller. PID stands for Proportional, Integral, and Derivative. These three terms describe the basic elements of a PID controller. Each of these elements performs a different task and has a different effect on the functioning of a system. Proportional control is the easiest feedback control to implement, and simple proportional control is probably the most common kind of control loop. A proportional controller is just the error signal multiplied by a constant and fed out to the drive. Integral control is used to add long-term precision to a control loop. It is used to eliminate accumulation of errors. In a way Proportional control deals with the present behaviour, integral deals with the past. So we use derivative controller to sort of predict the future behaviour of the robot. It measures the rate of change of the control parameter (here, it is the tilt angle) [4]. The PID controller constants are tuned by real-time data visualization in MATLAB. A wireless transmitter module attached to the robot sends data to the receiver module connected to a desktop computer. The receiver captures the data and then plots the values using MATLAB. The input to the controller is the filtered tilt angle. The parameter to be controlled by the PID is the power supplied to the motor along with the direction. By examining the plot of the filtered angle versus time, it is possible to analyze the stability of the system and also to improve it by tuning the controller constants. 16

3. AUTONOMOUS NAVIGATION Autonomous navigation is achieved by combining an ultrasonic distance sensor and an image processing system. With this added feature, the robot is able to take decisions on its own as to what path should it take at a junction and what should it do when it confronts an obstacle. For this purpose, a single-board computer interfaced with a distance sensor and a digital camera is used. The ultrasonic distance sensor uses sonar to detect obstacles and to measure the distance to them. On application of an appropriate trigger signal, the sensor transmits a high frequency sound wave which is usually inaudible to humans. The obstacle then reflects back this wave and it is captured by the receiver. To determine the distance between the sensor and the object, the sensor measures the elapsed time between sending and receiving waves. The speed of sound in air is about 343 m/s, with minor dependence on temperature and humidity. So the distance in meters can be obtained as given below: Distance from object = 343 * elapsed time / 2 The single-board computer continuously measures the distance of the robot to the nearest obstacle in front of it. If the distance is less than a predefined value, 25cm in this case, the microcomputer triggers the camera and captures a frame. This image is then processed and is checked for any useful information. Based on the information obtained from the image, the microcomputer provides necessary instruction to the microcontroller to navigate the robot. The colour image captured by the camera is first binarized, meaning it is converted to black and white information. The binarization technique is done in the initial stage so that the load on the microcomputer in the further stages can be reduced. The pixels in a binarized image would be either black or white. The image is then inverted. This technique converts a black pixel to white and a white to black. The image is then cropped to remove any unwanted part of the frame [5]. The captured image is of reasonably high resolution and its size has to be reduced before further processing can be done. As a next step, the image is brought down in size to approximately one-third of its captured size. This image is then scanned for any recognizable text using efficient optical character recognition software that is already built in the microcomputer. Fig. 5 was obtained by holding a white paper, in front of the robot at a distance less than 25cm with the text RIGHT printed on it in black. Fig. 6 to Fig. 8 shows the changes in captured image during various stages of image processing. Fig. 8 was scanned using OCR technique and the microcomputer successfully identified the text RIGHT. The microcomputer then provides an appropriate control signal to the microcontroller to turn the robot rightward. This example shows how the robot reads data from its environment and how it effectively uses this data for its navigation. Fig. 5: Captured image Fig. 6: Binarized image 17

Fig. 7: Image obtained after inversion Fig. 8: Image obtained after cropping and scaling 4. EXPERIMENTAL RESULTS During this project we experimented with PD and PID controller. PD controller was easier to implement due to lower number of parameters to manipulate. It was found that with PD controller, the robot stability decreased with time. The error accumulated over time and the robot would tip over eventually. This was due to lack of integral term. MATLAB was used to plot the filtered angle versus time (Fig. 9). Fig. 9: MATLAB plot of filtered angle versus time while using PD controller Due to the lack of stability over long periods of time inherent in the PD controller, we implemented a PID controller. The constants where determined with the help of real time data plot using MATLAB. By using real time data plot, the three constants for proportional, integral and derivative components were determined. This led to improved stability which can be observed from the graph. The angle of tilt of the robot is well within the safe limits. It has not even crossed 10 degrees as shown in Fig. 10. 18

5. CONCLUSION Fig. 10: MATLAB plot of filtered angle versus time while using PID controller Figure 11 shows the final design of the robot. The robot was tested on different surfaces to find an optimum surface on which it would be perfectly balanced. While testing in various surfaces it was found that surfaces like sponge or soft rubber which is soft enough to be slightly compressed by the weight of the robot is the most suitable surface. In hard surfaces the contact area of the wheel with the ground is reduced resulting in poor stability since the robot has a tendency to over balance itself. Fig. 11: Final model of the proposed robot 19

REFERENCES [1] Matt Richardson, and Shawn Wallace, Getting Started with Raspberry Pi, Published by O Reilly Media, 2012, 1-31. [2] Hau-Shiue Juang and Kai-Yew Lum, Design and Control of a Two-Wheel Self-Balancing Robot using the Arduino Microcontroller Board, 10th IEEE International Conference on Control and Automation (ICCA), Hangzhou, China, 2013. [3] Shane Colton, The Balance Filter, Massachusetts Institute of Technology, Tech. Rep., 2007. [4] Tim Wescott, PID without a PhD, Embedded Systems Programming, 2000, 86-108. [5] Kurt Demaagd, Anthony Oliver, Nathan Oostendorp, and Katherine Scott, Practical Computer Vision with SimpleCV, Published by O Reilly Media, 51 74. [6] Maha M. Lashin, A Different Applications of Arduino, International Journal of Mechanical Engineering & Technology (IJMET), Volume 5, Issue 6, 2014, pp. 36-46, ISSN Print: 0976 6340, ISSN Online: 0976 6359. [7] Sarthak Pareek, Embedded Based Robotic Vehicle Protection using Stisim Software, International Journal of Electronics and Communication Engineering & Technology (IJECET), Volume 5, Issue 4, 2014, pp. 36-42, ISSN Print: 0976-6464, ISSN Online: 0976 6472. 20