lets make robots

25
Let’s make Robots Sudar Muthu (@sudarmuthu) Research Engineer, Yahoo! Labs http://hardwarefun.com http://github.com/sudar

Upload: sudar-muthu

Post on 22-Jun-2015

1.875 views

Category:

Technology


1 download

DESCRIPTION

Slides from my talk about building robots in foss.in. More details at http://hardwarefun.com/news/lets-build-robots-at-foss-in

TRANSCRIPT

Page 1: Lets make robots

Let’s make Robots

Sudar Muthu (@sudarmuthu)Research Engineer, Yahoo! Labshttp://hardwarefun.comhttp://github.com/sudar

Page 2: Lets make robots

#asimijs @hardwarefun

Why hardware for a software hacker?

Fun!

Page 3: Lets make robots

#asimijs @hardwarefun

Demohttp://hardwarefun.com/projects/asimijs

Let me show you how fun it is..

Page 4: Lets make robots

#asimijs @hardwarefun

Participate in the demo

Visithttp://hardwarefun.com:3000

Page 5: Lets make robots

#asimijs @hardwarefun

Control the bot at stage

http://hardwarefun.com/projects/asimijs

Page 6: Lets make robots

#asimijs @hardwarefun

Isn’t that fun?

Now let’s see how you can build one

Page 7: Lets make robots

#asimijs @hardwarefun

MotorsSensors

Processor

Anatomy of a Robot

Page 8: Lets make robots

#asimijs @hardwarefun

Sensors (Input)

Page 9: Lets make robots

#asimijs @hardwarefun

Motors (Output)

Page 10: Lets make robots

#asimijs @hardwarefun

Processor (Brain)

Page 11: Lets make robots

#asimijs @hardwarefun

Arduino

Visual Basic for hardware Treat it like a computer Sensors are inputs Motors are output

Photo credit Arduino team

Page 12: Lets make robots

#asimijs @hardwarefun

Demo

Let there be LIGHT

Page 13: Lets make robots

#asimijs @hardwarefun

Code

void setup(){ pinMode(13, output);}

void loop(){ digitalWrite(13,HIGH); delay(1000); digitalWrite(13,LOW); delay(1000);}

Page 14: Lets make robots

#asimijs @hardwarefun

Hardware setup

Page 15: Lets make robots

#asimijs @hardwarefun

Demo 2 - Reading sensor data

What you need?

A Light sensor and a LED

Page 16: Lets make robots

#asimijs @hardwarefun

Reading sensor data

void setup(){ pinMode(13, OUTPUT);}

void loop(){ int val = analogRead(A0); if (val > 50) { digitalWrite(13, HIGH); } else { digitalWrite(13, LOW); }}

Page 17: Lets make robots

#asimijs @hardwarefun

Exotic uses of Arduino

Making YQL (REST) calls Parsing JSON Interacting with USB devices Interacting with Android phones … and lot’s more

Page 18: Lets make robots

#asimijs @hardwarefun

Simple Moving Robot

2 DC Motors and H-Bridge 2 wheels and a body frame Battery

Page 19: Lets make robots

#asimijs @hardwarefun

Teaching robot to crawl

Move Forward Both motors rotate in the forward direction

Move Backward Both motors rotate in the reverse direction

Turn left Left motor stops. Only right motor rotates forward

Turn Right Left motor moves forward. Right motor stops

Page 20: Lets make robots

#asimijs @hardwarefun

Teaching robot to avoid strangers

Two IR LED’s. One receiver, one transmitter Both face the same direction Keep transmitting IR waves If receiver receives waves, then there is a obstacle Otherwise keep moving

… same logic applies for Ultra sound as well.

Page 21: Lets make robots

#asimijs @hardwarefun

Putting everything together

You have your first fully autonomous robot ready.

Now take her for a walk

Page 22: Lets make robots

#asimijs @hardwarefun

What’s Next?

Do join us upstairs.

We are going to implement Machine Learning Alogo to Asimi

Page 23: Lets make robots

#asimijs @hardwarefun

BTW, this is how the demo worked

Node.js Server

Admin page

User pageUser page

User page

Node Client

Page 24: Lets make robots

#asimijs @hardwarefun

Links

Arduino – http://arduino.cc AsimiJS – The demo that I showed initially http:/

/hardwarefun.com/projects/asimijs Asimi – A simple bot using Arduino

http://hardwarefun.com/project/asimi Getting started with hardware programming

http://hardwarefun.com/tutorials/getting-started-with-hardware-programming

Getting started with Arduino http://hardwarefun.com/tutorials/getting-started-with-arduino-and-avr

Page 25: Lets make robots

#asimijs @hardwarefun

Questions

Thank You

Sudar Muthu (@sudarmuthu)http://hardwarefun.comhttp://gitbub.com/sudar