ASU 101Introduction to Robotics and Robotics Programming

oregontrimmingΤεχνίτη Νοημοσύνη και Ρομποτική

2 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

82 εμφανίσεις

1

Y Chen

101

11/2/2013

ASU 101

Introduction to Robotics and

Robotics Programming

Yinong Chen

2

Y Chen

101

11/2/2013

SCI Faculty in Robotics Computing


Chitta Baral
: AI, Autonomous agents, cognitive robotics


Subbarao Kambhampati
: AI, Automated planning,
Machine learning


Pat Langley
: AI, machine learning


Yann
-
Hang Lee
: Real
-
time, embedded systems


W.T. Tsai
: Service
-
oriented robotic computing


Sarma Vrudhula
: Embedded systems, power management


Sandeep Gupta
: Mobile computing, wireless and embedded
sensor networks


Huan Liu
: Machine learning, AI, Social computing


Arunabha Sen
: Wireless and mobile networks


Winslow Burleson: Human
-
Computer Interaction


Baoxin Li
: Computer vision


Jieping Ye
: Machine learning


Dirk Colbry
: Robotics, Cognitive science, AI


Yinong Chen
: Robotics education

3

Y Chen

101

11/2/2013

What is a Robot?

A robot is a mechanical or virtual artificial agent.

It is usually a system, which, by its appearance or movements,
conveys a sense that it has intent or agency of its own.

[http://en.wikipedia.org/wiki/Robot]


Coroware

Kuka

Robosoft

Robotics

Connection

Mindstorm

NXT

iRobot

4

Y Chen

101

11/2/2013

What is a Robot?


Many devices with varying degrees of
autonomy are called robots.


Many different definitions for robots
exist.


Some consider machines wholly
controlled by an operator to be robots.


Others require a machine be easily
reprogrammable.


5

Y Chen

101

11/2/2013

Robot Classes


Manipulators
: robotic arms. These are
most commonly found in industrial
settings.



Mobile Robots
: unmanned

vehicles capable of locomotion.



Hybrid Robots
: mobile robots



with manipulators.

6

Y Chen

101

11/2/2013

Robot Components



Body


Effectors


Actuators


Sensors


Computer hardware


Computer software


Networking and communication



7

Y Chen

101

11/2/2013

Robot Body


Typically defined as a graph of
links

and
joints
:

8

Y Chen

101

11/2/2013

Types of Joints








A
ball joint

allows rotation
around x, y, and z,


A
hinge joint

allows rotation
around z,


A slider joint
, which allows
translation along x.

9

Y Chen

101

11/2/2013

Robot Effectors


Component to accomplish some desired
physical functions


Examples:


Hands


Torch


Wheels


Legs

10

Y Chen

101

11/2/2013

Roomba Effectors


11

Y Chen

101

11/2/2013

Robot Actuators


Actuators are the “muscles” of the robot.


These can be electric motors, hydraulic
systems, pneumatic systems, or any other
system that can apply forces to the
system.

12

Y Chen

101

11/2/2013

Robot Sensors

Sensors can be active or passive:


Active


derive information from
environment’s reaction to robot’s

actions, e.g. bumpers and sonar.


Passive



observers only, e.g. cameras
and microphones .



13

Y Chen

101

11/2/2013

Sensor Classes: Ranging sensors


Ranging sensors, such as


sonar,


ultrasonic,


IR, and


laser sensors:


These sensors return the distance to
the object.


They typically have two lens (eyes).
One sends out a light beam and the
other receives the reflected beam.


By measuring the time and angle of
reflected beam, as shown in the
Figure on the right, the sensors can
measure the distance to the object

14

Y Chen

101

11/2/2013

Sensor Classes: Other Sensors

There are many types of sensors


Contact (touch) sensor: A signal is
generated when touched





Compass (magnetic) sensor


GPS (Global Positioning System)


Color sensor: return different value

for different colors


Temperature sensor

Return the temperature


Vehicle accelerometer sensor


Vehicle tire pressure sensor





15

Y Chen

101

11/2/2013

Software Architecture

for Robotics Computing


Robotics control methods include
deliberative

methods and
reactive

methods.


Deliberative methods are
model
-
driven

and
involve planning before acting.


Reactive methods is
event
-
driven

and
behavior must emerge from interaction.


Hybrid

architectures are software
architectures combining deliberative and
reactive controllers.

16

Y Chen

101

11/2/2013

Routine of a Medical Professor

in
Model
-
Driven Approach

Research

Write proposal

Consult students

Teaching Prep

See ICU patients

See out
-
patients

Teach a course

Read reports

See all in
-
patients

See ICU patients

Outside office

In Office

17

Y Chen

101

11/2/2013

Routine of a Medical Professor

in
Event
-
Drive Approach

Research

Write proposal

Student questions

Teaching Prep


Answer student
questions

ICU patient

Teach a course

See out
-
patients

Read reports

See all in
-
patients

Outside office

Event
Board

Alert
Board

ICU patient

ICU patient

Student questions

Student questions

Student questions

Student questions

Notification

Interrupt /
Notification

18

Y Chen

101

11/2/2013

Model
-
Driven Programming

Main

Temperature

Breaking
News

Exchange
rate

Methods/Services

19

Y Chen

101

11/2/2013

Event
-
Drive Programming

Control the
motors

Receiving
information
from base
station

Sonar sensor

Read Sensors

Touch Sensor 1

Decryption

Image
processing

Sending
information to
base station

Encryption

Event
Board

Alert
Board

Touch Sensor 2

Fire Sensor

Temperature
sensor

Compass sensor

Notification

Interrupt /
Notification

Parallel Activities

Main

20

Y Chen

101

11/2/2013

Event
-
Driven Programming


In computer programming, event
-
driven
programming is a programming paradigm
which allows interactions between the
computer program and the user or the
environment;


The execution flow of the program is
determined by


user actions, such as mouse clicks, key presses
in GUI programming!


sensor outputs (e.g., touch sensor, motion
sensor, etc.), and


messages from other programs

21

Y Chen

101

11/2/2013

Sensors and Actuators

in a Simple Robotics Application

22

Y Chen

101

11/2/2013

Communication between

Activities and Services

Event!

23

Y Chen

101

11/2/2013

Robot Ethics: Three Laws of Robotics

Isaac Asimov:

1.
A robot may not injure a human being or, through inaction,
allow a human being to come to harm.

2.
A robot must obey orders given to it by human beings, except
where such orders would conflict with the First Law.

3.
A robot must protect its own existence as long as such
protection does not conflict with the First or Second Law.


24

Y Chen

101

11/2/2013

Arizona Robotics Challenge

ASU versus UoA

Floor plan learning

2

1

Unmanned patrolling and object detection

3

Intruder detection

4

Other Security features, such as fire detection

5

Remote commanded patrolling

http://asusrl.eas.asu.edu/srlab/Research/RoboticsChallenge.html

25

Y Chen

101

11/2/2013

Game 1:

Remote Commanded

32 ft

22 ft

16 ft

Remote

Monitor Station

26

Y Chen

101

11/2/2013

Game 2: Floor plan Detection

Real map

Detected map

How similar are they?

27

Y Chen

101

11/2/2013

Game 3: Object

Detection

Remote

Monitor Station

Objects will have minimum dimensions
(W,L,H) of 8 inches

28

Y Chen

101

11/2/2013

Game 4: Intruder Detection

Remote

Monitor Station

29

Y Chen

101

11/2/2013

Game 5: Fire Detection

Remote

Monitor Station