What is a robot?

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

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

195 εμφανίσεις

Minds and Computers

1.
1

What is a robot?


Definitions


Webster:
a machine that looks like a human being and
performs various acts (as walking and talking) of a human
being


Robotics Institute of America:
a robot is a reprogrammable
multifunctional manipulator designed to move material,
parts, tools, or specialized devices through variable
programmed motions for the performance of a variety of
tasks


What’s our definition



Components of a robot system?

Minds and Computers

1.
2

History


1921: Karel Capek’s play, Rossum’s Universal Robots


1942: Asimov wrote Runaround which contained the “Three
Laws of Robotics”

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 the orders given 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.


1948: Weiner wrote “Cybernetics”


1961: General Motors’ puts UNIMATE online (first industrial
robot)


1970: SRI’s
Shakey
: first AI mobile robot

Minds and Computers

1.
3

Uses of robots


Where and when to use robots?


Tasks that are dirty, dull, or dangerous


Where there is significant academic and industrial interest


Ethical and liability issues



What industries?



What applications?


Minds and Computers

1.
4

Agents and Environments

Minds and Computers

1.
5

Control basics


Some definitions:


Control system: arrangement of physics components connected or
related in such a manner as to form and/or act as an entire unit


Kinematics: the description or study of the geometry of motion


Dynamics: the description or study of the forces that affect the
motion of objects


Open
-
loop control


Compute trajectory
a priori

and make necessary actions to
complete task


Closed
-
loop control


Use sensors to provide
feedback

to modify the trajectory and
actions


Minds and Computers

1.
6

Computer architecture

von Neumann model


Memory:
random access
memory (RAM) for program
instructions and data


ALU:
includes set of registers
for performing calculations


Control:
responsible for
fetching and decoding
instructions


Input & output


Bus:
various internal pathways

Control

arthmetic/

logic

Memory

Processor

Input

Output

Minds and Computers

1.
7

LEGO Mindstorms NXT


Atmel 32
-
bit ARM processor


4

inputs/sensors (1, 2, 3, 4)


3 outputs/motors (A, B, C)


256 KB Flash Memory


64 KB RAM


USB 2.0 Communication


4 programmable buttons


100x64 b/w LCD Display


Sensors


Active:



Old light and rotation


Passive


Touch, sensors for NXT


Digital


Ultrasonic




Motors


170 RPM


360 RPM for old motors,
why?


Minds and Computers

1.
8

Challenges

1.
Make a car


Build a vehicle that will reliably go backwards and
forwards

2.
Getting there


Using Pilot 1
-

program your car to move for 1 sec


Measure the distance it went


Predict distance for n sec


Run and check model

3.
Touch
-
activated


Your robot should start when the touch sensor is pressed
and stop when it hits something


Can you keep your robot from running off the table with
a sensor?

Minds and Computers

1.
9

Preview

Spin left

motor

Spin right

motor

Wait until the
motors have spun
two rotations

Stop left

motor

Stop right

motor

What five steps would the robot have to take

in order to go forward for 2 rotations?

Minds and Computers

1.
10

Preview

Now lets examine what that would look like in the NXT Educational
Programming Software.

1.
Spin left motor


2. Spin right motor




3. Wait for 2 rotations

4. Stop left motor


5. Stop right motor

Minds and Computers

1.
11

Preview

While programming your motor blocks, make sure you select the proper
output ports
, and set both motors to the same
direction

and
power

level.


Minds and Computers

1.
12

Preview


Don’t forget, the
comments

you include in your program don’t actually have any
effect on what your robot will do.



Comments simply act as reminders for you when you edit your program. Here, the
“wait for 1440 degrees” won’t do anything because the actual Wait Block is set to
wait for 720 degrees.

Minds and Computers

1.
13

Design Strategy


Incremental design


Test components parts as you build them


Drivetrain



Sensors, sensor mounting


Structure


Don’t be afraid to redesign


KISS


Testing


Don’t wait until you have a final robot to test


Interaction of systems


Work division (work concurrently)


Develop test methods


Repeatability

Minds and Computers

1.
14

Philosophy


Build for accurate, precise control


Slow vs. fast?


Gear backlash


Stability


Skidding


Have fun


Be creative, unique


Strive for cool solutions, that work!


Aesthetics: it’s fun to make beautiful robots!

Minds and Computers

1.
15

Differential drive

Most common kinematic choice

All of the miniature robots…

Scribbler, Braitenberg

-

difference in wheels’ speeds
determines its turning angle

V
R

V
L

Minds and Computers

1.
16

Differential drive

Most common kinematic choice

All of the miniature robots…

Scribbler, Braitenberg

-

difference in wheels’ speeds
determines its turning angle

V
R

V
L

Questions
(forward kinematics)

Given the wheel’s velocities or positions,
what is the robot’s velocity/position ?

Are there any inherent system constraints?

Minds and Computers

1.
17

1) Specify system measurements

2) Determine the point (the radius) around


which the robot is turning.

3) Determine the speed at which the robot is

turning to obtain the robot velocity.

4) Integrate to find position.

Differential drive

Most common kinematic choice

All of the miniature robots…

Khepera, Braitenberg

-

difference in wheels’ speeds
determines its turning angle

V
R

V
L

Questions
(forward kinematics)

Given the wheel’s velocities or positions,
what is the robot’s velocity/position ?

Are there any inherent system constraints?

Minds and Computers

1.
18

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)

x

y

q

l


-

consider possible coordinate systems

Minds and Computers

1.
19

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)

x

y

q

l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

Minds and Computers

1.
20

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)

x

y

q

l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

ICC

“instantaneous center of curvature”

-

to minimize wheel slippage, this point
(the
ICC
) must lie at the intersection of
the wheels’ axles

-

each wheel must be traveling at the
same angular velocity

Minds and Computers

1.
21

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)

x

y

q

l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

ICC

“instantaneous center of curvature”

-

to minimize wheel slippage, this point
(the
ICC
) must lie at the intersection of
the wheels’ axles

-

each wheel must be traveling at the
same angular velocity
around the ICC

w

Minds and Computers

1.
22

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)

l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

ICC

-

each wheel must be traveling at the
same angular velocity
around the ICC

R

robot’s turning radius

3) Determine the robot’s speed around

the ICC and its linear velocity

w

w(
R+
l
/2) = V
L

w(
R
-

l
/2) = V
R

x

y

Minds and Computers

1.
23

1) Specify system measurements

Differential drive

V
R

V
L

(assume a wheel radius of 1)


l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

ICC

-

each wheel must be traveling at the
same angular velocity
around the ICC

R

robot’s turning radius

3) Determine the robot’s speed around

the ICC and then linear velocity

w

w(
R+
l
/2) = V
L

w(
R
-
l
/2) = V
R

Thus,

w

= ( V
R
-

V
L
) /
l

R


=
l

( V
R
+ V
L
) / ( V
R
-

V
L
)

x

y

Minds and Computers

1.
24

1) Specify system measurements

Differential drive

V
R

V
L


l


-

consider possible coordinate systems

2) Determine the point (the radius) around

which the robot is turning.

ICC

-

each wheel must be traveling at the
same angular velocity
around the ICC

R

robot’s turning radius

3) Determine the robot’s speed around

the ICC and then linear velocity

w

w(
R+d) = V
L

w(
R
-
d) = V
R

Thus,

w

= ( V
R
-

V
L
) /
l

R


=
l

( V
R
+ V
L
) / 2( V
R
-

V
L
)

x

y

So, the robot’s velocity is

V


=
w
R = ( V
R
+ V
L
) / 2

Minds and Computers

1.
25

4) Integrate to obtain position

Differential drive

V
R

V
L


l

ICC

R(t)

robot’s turning radius

w
(t)

w

= ( V
R
-

V
L
) /
l

R


=
l
( V
R
+ V
L
) / ( V
R
-

V
L
)

V


=
w
R = ( V
R
+ V
L
) / 2

What has to happen to change the ICC ?

V
x
= V(t) cos(
q
(t))

V
y
= V(t) sin(
q
(t))

with

x

y

Minds and Computers

1.
26

4) Integrate to obtain position

Differential drive

V
R

V
L


l

ICC

R(t)

robot’s turning radius

w
(t)

w

= ( V
R
-

V
L
) /
l

R


=
l

( V
R
+ V
L
) / 2( V
R
-

V
L
)

V


=
w
R = ( V
R
+ V
L
) / 2

V
x
= V(t) cos(
q
(t))

V
y
= V(t) sin(
q
(t))

with

x

y

x(t) =


V(t) cos(
q
(t)) dt

y(t) =


V(t) sin(
q
(t)) dt

q
(t) =


w
(t) dt

Thus,

Minds and Computers

1.
27

4) Integrate to obtain position

Differential drive

V
R

V
L


l

ICC

R(t)

robot’s turning radius

w
(t)

Thus,

w

= ( V
R
-

V
L
) /
l

R


=
l

( V
R
+ V
L
) / 2( V
R
-

V
L
)

V


=
w
R = ( V
R
+ V
L
) / 2

What has to happen to change the ICC ?

V
x
= V(t) cos(
q
(t))

V
y
= V(t) sin(
q
(t))

x(t) =


V(t) cos(
q
(t)) dt

y(t) =


V(t) sin(
q
(t)) dt

q
(t) =


w
(t) dt

with

x

y

Kinematics