A ROBOT CAN ARRANGE

38
A ROBOT CAN ARRANGE Done by: Dania mohammad Abu Elown. Ruaa Tahseen Barakat. Supervisor: Dr. Raed Al-Qadi

description

A ROBOT CAN ARRANGE. Done by: Dania mohammad Abu Elown. Ruaa Tahseen Barakat. Supervisor: Dr. Raed Al-Qadi. OUTLINES. Introduction. Previous work. Hardware Software, libraries and languages Project features. Future work. Problems. Demo. INTRODUCTION. - PowerPoint PPT Presentation

Transcript of A ROBOT CAN ARRANGE

Page 1: A ROBOT CAN ARRANGE

A ROBOT CAN ARRANGE

Done by:

Dania mohammad Abu Elown.

Ruaa Tahseen Barakat.

Supervisor: Dr. Raed Al-Qadi

Page 2: A ROBOT CAN ARRANGE

OUTLINES

Introduction.Previous work.Hardware Software, libraries and languagesProject features.Future work.Problems.Demo.

Page 3: A ROBOT CAN ARRANGE

INTRODUCTION

We are making a robot arm that can identify letters and be able to make words of letters.

Our project contains two parts, the image processing part which is responsible of recognizing the letters, and the second part is the control of the arm itself.

Image processing uses BeagleBoard.Controls of the arm uses Ardiuno

microcontroller.

Page 4: A ROBOT CAN ARRANGE

PREVIOUS WORK

We are not the first to develop such this project.

It was made before but without the image processing part which identifies the letters on the blocks, so it is a great feature to add.

Page 5: A ROBOT CAN ARRANGE

HARDWARE apparatus1. BeagleBoard-xm for the processing.2. Arduino Uno for Microcontrolling.3. Camera4. stepper motors.5. Servo motor.6. H-Bridge.

The Model Consists of four parts:1. the base.2. Arm.3. Vertical axis moves up and down.4. Gripper.

Page 6: A ROBOT CAN ARRANGE

SOFTWARE

Applications:1. Arduino IDE.2. Gedit ( Linux text editor)

Operating system1. Ubuntu (LXDE).

Libraries1. Opencv2. Tesseract-OCR Engine

Page 7: A ROBOT CAN ARRANGE

Languages:1.C++ for programming the processor2.Arduino C for the Arduino microcontroller

Page 8: A ROBOT CAN ARRANGE

The Design

Page 9: A ROBOT CAN ARRANGE

FEATURES

the base consists of stepper motor that can move 360 degrees. It hold the complete arm on.

The arm connect with vertical axis that moves up and down using another stepper motor and at the end of the axis, there is a gripper which catches the wooden cubes.

Page 10: A ROBOT CAN ARRANGE

The processor connects all the components together, the BeagleBoars has 4 USB ports, one for the Arduino Uno, and one for the camera, Which provides communication between them through serial interface.

The motors are connected to the microcontroller using H-Bridge, H-Bridge provides control for the operations of the motors.

Page 11: A ROBOT CAN ARRANGE

Hardware Costs

Item Cost(NIS)

Design 500

Sd Cards 180

Arduino 170

Servo motor 65

Gripper 60

Web Cam 45

Wireless adapter 60

Stepper motor 90

Power supply 20

H-bridges 70

Others 60

Total 1320

Page 12: A ROBOT CAN ARRANGE

SYSTEM DESIGNProcessor: the main part of the system which

links all the components together, it is responsible for the processing and commands. The processor takes input from the camera , and gives the right commands to the micrcontroller.

The microcontroller: used to control the motors and their rotation, and to send feedback to the processor.

The robotic Arm : carries the components and used for movement.

Camera: its feed is processed and the commands are issued based on the processor’s image processing output.

Page 13: A ROBOT CAN ARRANGE

WHT IS BEAGLEBOARD-XM

Beagle boards are tiny computers with all the capability of today’s desktop machines, without the bulk, expense, or noise.

The processor of the beagle board supports high-level operating systems such as:•Linux•Windows CE•QNX•Others

Page 14: A ROBOT CAN ARRANGE

Microcontroller

• The microcontroller module is required to actually interpret the commands and control the motors.

• The main task of the microcontroller system is to control the motors. It interprets the processors commands of going forward, backward, left or right. It controls the output pins that are connected to the H-Bridge module connected directly to the motors

Page 15: A ROBOT CAN ARRANGE

Arduino

Arduino can be used to

develop interactive objects, taking inputs from a variety of switches or sensors, and controlling a variety of lights, motors, and other physical outputs. Arduino projects can be stand-alone, or they can communicate with software running on your computer.

Page 16: A ROBOT CAN ARRANGE

WHAT IS THE ARDUINO-UNOMicrocontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

Page 17: A ROBOT CAN ARRANGE

WHAT STEPPER MOTOR

•A stepper motor is a digitally controlled motor that allows precise control over the position of the motor’s rotor.

•Changes in the digital input rotate the motor’s rotor by a precise amount

Page 18: A ROBOT CAN ARRANGE

CONNECT MOTTOR TO H-BRIDGE AND ARDUINO

Page 19: A ROBOT CAN ARRANGE

WHAT IS SERVO MOTOR

• A servo motor (or servo) is a package containing a DC motor connected via gears to a shaft.

•  It also contains a feedback circuit that precisely controls the shaft’s angle of rotation.

Page 20: A ROBOT CAN ARRANGE

The servo is connected to the arduino as shown in the picture.

Page 21: A ROBOT CAN ARRANGE

Power Sources

• 5 volt for the beagle board.

• 12 volt for the largest stepper motor.

• 24 volt for the smaller stepper motor.

Page 22: A ROBOT CAN ARRANGE

Operating System Used

• Beagleboard xm can operate wide list of operating systems starting from Android to Ubuntu and Angstrom.

• In our project we tried several operating systems with different environments.

Page 23: A ROBOT CAN ARRANGE

1. Angstrom : Angstrom Linux is an operating system developed specifically for small computers and embedded devices such as the BeagleBoard-xM.

Page 24: A ROBOT CAN ARRANGE

2. Xubuntu : Xubuntu provides an easy to use distribution, based on Ubuntu, using Xfce as the graphical desktop, with a focus on integration, usability and performance.

Page 25: A ROBOT CAN ARRANGE

3. LXDE: LXDE is a free and open source desktop environment for Unix. The goal of the project is to provide a desktop environment that is fast and energy efficient.

Page 26: A ROBOT CAN ARRANGE

4. Ubuntu  :Ubuntu  is a Debian-based Linux operating system,with Unity as its default desktop environment.Ubuntu is the most popular desktop Linux distribution.

Page 27: A ROBOT CAN ARRANGE

• As for Angstrom it was quite fast to work with but it didn’t have as much resources as Ubuntu , and the terminal command are not the same as Ubuntu that we are familiar with.

 • As for Xubuntu and LXDE both were fast but

they didn’t have a mouse pointer, so we ended up with using Ubuntu on beagleboard.

• But then later we installed LXDE environment on Ubuntu since it is much faster.

Page 28: A ROBOT CAN ARRANGE

OPENCV

OpenCV is the main part for dealing with camera and photos.

OpenCV is free for both academic and commercial use.

It has C++, C, Python and Java interfaces.

supports Windows, Linux, Mac OS, iOS and Android.

Written in optimized C/C++,

Page 29: A ROBOT CAN ARRANGE

TESSERACT-OCR ENGINE

Tesseract is probably the most accurate open source OCR engine available.

Combined with theLeptonica Image processing Library. it can read a wide variety of image formats and convert them to text in over 60 languages.

Tesseract works on Linux, Windows and Mac OSX.

It can also be compiled for other platforms, including Android and the iPhone.

Page 30: A ROBOT CAN ARRANGE
Page 31: A ROBOT CAN ARRANGE

Image Processing

In order to get the character from an image we did some steps on a photo:

1. Convert image to Gray.2. Blur the image3.Threshold 4.Crop the image

Page 32: A ROBOT CAN ARRANGE

IMAGE PROCESSING

First filter is RGB2GRAY filter as shown in the photo.This is done using this code:

Page 33: A ROBOT CAN ARRANGE

The second filter is GaussianBlur. We used it to reduce the noise as in the photo.

Page 34: A ROBOT CAN ARRANGE

Then we used the threshold filter on the blured image.

The image only contain white and black color.

Page 35: A ROBOT CAN ARRANGE

Finally we crop the interested region of the thresholded image and pass it to the tesseract library

Page 36: A ROBOT CAN ARRANGE

Problems

1. Completing the design

2. Type of SD Card.

3. Porting operating system on beagle.

Page 37: A ROBOT CAN ARRANGE

Future Work

We hope to add voice recognition as an additional feature instead of getting the word serially.

Page 38: A ROBOT CAN ARRANGE