android based robots

Download Android Based Robots

If you can't read please download the document

Upload: robotics25

Post on 16-Apr-2017

2.100 views

Category:

Documents


0 download

TRANSCRIPT

Introducing a New Product

Android-Based Robots

Khaled Al-KadyRobotics25

Today's Message

Entering the robotics field is easy!

Knowing how to enter the field

Today's Message

Entering the robotics field is easy!

Knowing how to enter the field

Easy!

What is a Robot anyway?

Taken from environment not from keyboard!

Position (Gyro, Accelerometer)Distance (Ultrasonic sensor)

Usually includes making a physical action

Rotating a motorMaking a sound

Output

Processing

Input

What prevents software developers from building Robots?

Problem 1: IO

Interfacing with external devices

You can't debug wires!

Solution for problem 1: IO

Interfacing with external devices still exists, but no longer includes:

Problem 2: Processing

Basic micro-controllers

Low level programming

Physical constraints

Lack of utilities

Solution for Problem 2: Processing

Advanced Micro-controllersArduino

Computer on chipRaspberryPI

BeagleBone

PcDuino

Phone + Advanced Micro-controllerAndroid + Arduino

Android + IOIO

Demo

Demo 1Remote controlled plane

Demo 2The plane controls itself

Demo: Architecture

input devices

output devices

MicroController(IOIO)

Phone + Advanced Micro-controller

Smart phone(Android)

Demo: Components

IOIO

Remotely controlled micro-controller (USB & Bluetooth)48 Input/Output pins

Android Phone

Android 1.5+

Demo: Components

Servo

class PwmOutput + setPulseWidth()

Values: 500-2500

Brushless Motor

class PwmOutput + setPulseWidth()

Values: 1000-2000

Demo: Components

Ultrasonic sensor

class AnalogInput + getVoltage()

Values: 10mV/inch

Built-in Accelerometer

SensorEventListener + onSensorChanged()

Values: -9.8 to +9.8

Demo: Code!

BaseIOIOLoopersetup()loop()

IOIOActivitycreateIOIOLooper()

IOIOopenPwmOutput()openAnalogInput()

MyLoopersetup(){}loop(){}

MyScreencreateIOIOLooper(){}

InputWrapper

OutputWrapper

Demo: Code!

IOIO APIs

Import IOIOLib project into workspace

Create new Android projectSet dependency on IOIOLib

Set project permissions

Extend BaseIOIOLooper()Override setup() and loop()

Extend IOIOActivityOverride createIOIOLooper()

Other approaches 1/2

Phone + Micro-controllerAndroid + ArduinoADB: Android Debug Bridge

ADK: Accessory Development Toolkit

SPP/Bluetooth: Serial Port Profile

input devices

output devices

Microcontroller

Smart phone

Other approaches 2/2

Computer on chip1Ghz processor, 1GB RAM, Ubuntu/ICSRaspberryPI

BeagleBone

PcDuino

sensors

screen

input devices

output devices

Computer on chip

Where to find components?

HacksDVD writersBushless motor + Stepper motor + Laser !!

Old toys & Mechano

Car window motor, windscreen wipers

RC shopsHobbyKing.com

Electronics shops in city center

Get Involved!

Collaboration and technical support

Sponsoring amazing graduation projects

Facebook: Robotics25

Twitter: @Robotics25

Thank you : )

FB: [email protected]