Android Based Robots
-
Upload
robotics25 -
Category
Documents
-
view
2.100 -
download
0
Transcript of Android Based Robots
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 : )