Minds and Computers4.1 Today's Topics l Braitenberg Vehicles l Art of Lego Design ä Notes from...

Post on 05-Jan-2016

214 views 0 download

Transcript of Minds and Computers4.1 Today's Topics l Braitenberg Vehicles l Art of Lego Design ä Notes from...

Minds and Computers 4.1

Today's Topics

Braitenberg Vehicles Art of Lego Design

Notes from Jason Geist, Carnegie Mellon University

Differential Drive Notes from Zachary Dodd, Harvey-Mudd

College ROBOLAB

Control structures Data & containers

Minds and Computers 4.2

Goals: Build better robots

Minimize mechanical breakdowns Build robots that are easy to control Encourage good design strategy Strive for elegant, clever solutions

Know your materials Plastic bricks since 1949 (wooden blocks prior) On average, 2100 different parts each year Manufacturing tolerance: 1/1000 of an inch Number of ways of combining six 8-stud bricks:

102,981,500 Widely used by scientists and engineers as a

rapid prototyping tool

Minds and Computers 4.3

Geometry

1-stud brick dimensions: exactly 5/16” x 5/16” x 3/8” (excluding stud height 1/16”),

This is the base geometry for all LEGO components

Three plates = 1 brick in height

Minds and Computers 4.4

Structure The right way:

Minds and Computers 4.5

Connector pegs

Black pegs are tight-fitting for locking bricks together.

Grey pegs turn smoothly in bricks for making a pivot

Minds and Computers 4.6

Structure LEGO bricks are finicky:

They HATE duct tape. They HATE hot glue. They HATE super glue. They HATE epoxy.

You should never need adhesives to build reliable LEGO structures

Minds and Computers 4.7

Braitenberg Vehicles

How do people ascribe behavior?

The inferred properties may be more more complicated than known structure

Emergent behavior of interacting pieces

Fear and Agression Excitatory

connections 2 sensors 2 motors

Minds and Computers 4.8

Drivetrain LEGO Gears

8T

16T

24T

40T

24TCrown

1T Worm Bevel

Minds and Computers 4.9

Worm Gears Pull one tooth per revolution

1

2

3

4• Result is a 24:1 gearbox• Not back driveable!

Minds and Computers 4.10

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 4.11

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 4.12

Differential driveMost common kinematic choice

All of the miniature robots…

Khepera, Braitenberg

- difference in wheels’ speeds determines its turning angle

VR

VL

Minds and Computers 4.13

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?

Minds and Computers 4.14

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?

Minds and Computers 4.15

1) Specify system measurements

Differential drive

VR

VL

(assume a wheel radius of 1)

x

y

l

- consider possible coordinate systems

Minds and Computers 4.16

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.

Minds and Computers 4.17

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

Minds and Computers 4.18

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

Minds and Computers 4.19

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

Minds and Computers 4.20

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+d) = VL

R-d) = VR

Thus, = ( VR - VL ) / l

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

x

y

Minds and Computers 4.21

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

Minds and Computers 4.22

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

Minds and Computers 4.23

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,

Minds and Computers 4.24

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

Minds and Computers 4.25

Questions

For each of the following, describe what the sequence of ROBOLAB commands should do?

Minds and Computers 4.26

Control structures

Forks

Loops

Tasks

Minds and Computers 4.27

Sharing resources

Sensors

Motors