Android based robots - Updated - EED Session - Sept 2013

download Android based robots - Updated - EED Session - Sept 2013

If you can't read please download the document

Transcript of Android based robots - Updated - EED Session - Sept 2013

Introducing a New Product

Android-Based Robots

Bridging the gap...

Khaled Al-KadyRobotics25

Key points

Why Android-based robots are important?

How to build an Android-based robot?

Message to engineering students

Software development frameworks and techniques evolvedMake use of today's technologies

Don't live only in the limited resources world

Choose your battles, delegate some work to Android

Message to computer science students

Entering the robotics field is easy, the old barriers no longer exist

Expand your knowledge, know more about hardware and leave your comfort zone

Now let's start!

What is special about Android-based robots?

Easier integrationBuilt-in I/O devices

Better development environmentHuge memory, fast processor

Lots of utilities

Java

input devices

output devices

Micro-controllerIOIO or Arduino

Android device

How it works physical connections

IOIO capabilities

Microcontroller with 48 I/O pins

Controlled by Android or PC applications

Supports many device typesDigitalInput:Button, ...

AnalogInput:Potentiometer, Ultrasonic sensor, ...

PulseInput:RC receiver, Mouse wheel, ...

DigitalOutput:Led, Stepper motor, ...

PwmOutput:Servo, Brushless motor, ...

Communication: UART, I2C, SPI

Code!

Demo 1: Potentiometer controls a servo motor

Demo 2: Built-in accelerometer controls a servo motor

Demo 3: CNC plotter

Demo

Demo components

Servo motor

PwmOutput servo.setPulseWidth(x); x: 500 to 2500

Accelerometer

SensorEventListener onSensorChanged(event) { x = event.values[0]; } x: -9.8 to +9.8

Potentiometer

AnalogInput x = potentiometer.read(); x: 0.0 to 1.0

Demo components

BaseIOIOLooper

IOIOActivity

IOIO open X Output() open Y Input()

MyLooper setup() { } loop() { }

MyScreencreateIOIOLooper(){ }

IOIO code structure

Connect the phone to Arduino usingGoogle ADK

ADB shield

Bluetooth shield

Other approaches: Arduino

input devices

output devices

Arduino

Android

Computer on chip with built-in portsRaspberryPI

BeagleBone

PcDuino

sensors

screen

input devices

output devices

Computer on chip

Other approaches: Computer on chip

Facebook.com/Robotics25

Open source robotics projects

Technical support for projects in the same domain

Get Involved

Thank you : )

Facebook.com/Robotics25