View
214
Download
0
Category
Preview:
Citation preview
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
Recommended