27
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.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Embed Size (px)

Citation preview

Page 1: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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?

Page 2: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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

Page 3: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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?

Page 4: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.4

Agents and Environments

Page 5: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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

Page 6: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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

Page 7: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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?

Page 8: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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?

Page 9: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.9

Preview

Spin leftmotor Spin right

motor

Wait until the motors have spun two rotations

Stop leftmotor Stop right

motor

What five steps would the robot have to take in order to go forward for 2 rotations?

Page 10: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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

Page 11: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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.

Page 12: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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.

Page 13: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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

Page 14: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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!

Page 15: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.15

Differential driveMost common kinematic choice

All of the miniature robots…

Scribbler, Braitenberg

- difference in wheels’ speeds determines its turning angle

VR

VL

Page 16: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.16

Differential driveMost common kinematic choice

All of the miniature robots…

Scribbler, Braitenberg

- difference in wheels’ speeds determines its turning angle

VR

VL

Questions (forward kinematics)

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

Are there any inherent system constraints?

Page 17: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

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 driveMost common kinematic choice

All of the miniature robots…

Khepera, Braitenberg

- difference in wheels’ speeds determines its turning angle

VR

VL

Questions (forward kinematics)

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

Are there any inherent system constraints?

Page 18: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.18

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

x

y

l

- consider possible coordinate systems

Page 19: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.19

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

x

y

l

- consider possible coordinate systems2) Determine the point (the radius) around which the robot is turning.

Page 20: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.20

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

x

y

l

- consider possible coordinate systems2) 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

Page 21: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.21

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

x

y

l

- consider possible coordinate systems2) 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

Page 22: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.22

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

l

- consider possible coordinate systems2) 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

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and its linear velocity

R+l/2) = VL

R- l/2) = VR

x

y

Page 23: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.23

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

l

- consider possible coordinate systems2) 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

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and then linear velocity

R+l/2) = VL

R-l/2) = VR

Thus, = ( VR - VL ) / l

R = l ( VR + VL ) / ( VR - VL )

x

y

Page 24: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.24

1) Specify system measurements

Differential drive

VR

VL

l

- consider possible coordinate systems2) 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

Rrobot’s turning radius

3) Determine the robot’s speed around the ICC and then linear velocity

R+d) = VL

R-d) = VR

Thus, = ( VR - VL ) / l

R = l ( VR + VL ) / 2( VR - VL )

x

y

So, the robot’s velocity is V = R = ( VR + VL ) / 2

Page 25: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.25

4) Integrate to obtain position

Differential drive

VR

VL

l

ICC

R(t)robot’s turning radius

(t)

= ( VR - VL ) / l

R = l( VR + VL ) / ( VR - VL )

V = R = ( VR + VL ) / 2

What has to happen to change the ICC ?

Vx = V(t) cos((t))

Vy = V(t) sin((t))

with

x

y

Page 26: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.26

4) Integrate to obtain position

Differential drive

VR

VL

l

ICC

R(t)robot’s turning radius

(t)

= ( VR - VL ) / l

R = l ( VR + VL ) / 2( VR - VL )

V = R = ( VR + VL ) / 2

Vx = V(t) cos((t))

Vy = V(t) sin((t))

with

x

y

x(t) = ∫ V(t) cos((t)) dt

y(t) = ∫ V(t) sin((t)) dt

(t) = ∫ (t) dt

Thus,

Page 27: Minds and Computers 1.1 What is a robot? l Definitions ä Webster: a machine that looks like a human being and performs various acts (as walking and talking)

Minds and Computers 1.27

4) Integrate to obtain position

Differential drive

VR

VL

l

ICC

R(t)robot’s turning radius

(t)

Thus,

= ( VR - VL ) /l

R = l ( VR + VL ) / 2( VR - VL )

V = R = ( VR + VL ) / 2

What has to happen to change the ICC ?

Vx = V(t) cos((t))

Vy = V(t) sin((t))

x(t) = ∫ V(t) cos((t)) dt

y(t) = ∫ V(t) sin((t)) dt

(t) = ∫ (t) dt

with

x

y

Kinematics