test1 Flashcards

(97 cards)

1
Q

Defining characteristics of a robot

A

Autonomous (must make its own decisions)
Sensor-driven (needs to collect information about its environment)
Physical (real world is complicated and unpredictable)
Goal-achieving (robot should do something useful)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Mount Fiji illustration

A

Like how Mount Fiji slowly turns into a mountain, it is hard to separate a robot from what is not a robot.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The fundamental problem

A

A robot relies on its sensors and wheels/limbs to interact with the world, but the world is complex and unpredictable, and the hardware is often limited or unreliable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Fundamental problem types

A

Navigation and motion planning
Get from here to there.

Localization and mapping
Where am I? What is around me?

Manipulation
Grasp, transport, assemble, or disassemble objects

Exploration and coverage
Move to see or touch everything in the environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Main categories of robot hardware

A

Energy, movement, computing, sensing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Batteries (Energy)

A

Most common type of energy source for robots, tradeoffs between larger and smaller ones

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tethering (Energy)

A

Connects robot to usually unmoving power station, can carry power and data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Solar (Energy)

A

Least used type of energy, but can be an option in some settings.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Liquid fuels (Energy)

A

Combustion engines used to drive and generate electricity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

DC motor (Motion)

A

Converts electrical power to rotational motion
The angular velocity of the motor’s shaft is proportional to the voltage across the motor, high velocity but low torque

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Gearhead motor (Motion)

A

DC motor with a sequence of gears attached to its shaft, lower velocity but higher torque compared to DC motor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Stepper motor (Motion)

A

Rotates in small, fixed increments, generally using electromagnets to hold the shaft in place until the next movement command
Can rotate one small step at a time, but there is usually no feedback about the absolute position of the rotor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Servo motor (Motion)

A

Motor equipped with electronics to sense and control the position of the rotor, but without the ability to complete a full rotation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Linear actuator (Motion)

A

Generates translational motion/inward or outward rotation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Conventional computers (Computation)

A

Many robots use these for computations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Microcontrollers (computation)

A

Smaller than computers, lighter, consume less power, execute a single relatively small program without any OS, files, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Single board computers (computation)

A

Occupy a middle ground, run similar software to computers but are smaller, slower, and more power efficient (RasPi)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Encoders (Sensing)

A

Measure the amount of rotation in a joint or wheel, constructed from encoder wheel and emitter-detector pair

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Touch sensors (sensing)

A

Report when the robot is in contact with an object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Infrared (sensing)

A

Measure distance by emitting pulse of IR lights and measuring the intensity of the signal reflected back into the sensor

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Cameras (sensing)

A

Record the color and intensity of visible light, outputs 2d array of intensity values, either a single value at each position (greyscale) or different values for a small number of channels (usually RGB)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

RGBD (sensing)

A

Provides images with an additional channel representing the distance to the nearest object in that direction, these generally work by projecting a pattern of infrared dots onto the scene and measuring the distortion in how the dots appear

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Sonar (sensing)

A

Active sensors that work by emitting a pulse of sound and measuring its time-of-flight, simple and inexpensive, but with limited resolution and subject to multiple reflections

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Lidar (sensing)

A

Works using highly coherent light instead of sound

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Inertial management units (sensing)
Combine 3 accelerometers to measure linear acceleration, and 3 gyroscopes to measure angular acceleration (used by phones)
26
Compasses (sensing)
Measure orientation with respect to Earth's magnetic field, accuracy can be affected by the robot itself (large, metal) and it's motors
27
GPS (sensing)
Uses satellite signals to determine a device's position on the Earth
28
Hardware tradeoffs
Good robot design must balance many elements: space, weight, power, cost, durability, accuracy, etc
29
Hardware strategies
Strategy 1: we can (try to) to eliminate issues by adding or improving devices Strategy 2: we can choose more modest hardware and design algorithms to make good decisions in spite of those limitations
30
Drive wheels
Use friction against the ground to move the robot, may or may not be able to be controlled independently (roomba, wheels dont turn)
31
Steered wheels
Can rotate relative to the ground to influence the direction (car)
32
Passive wheels
Contribute to the robots stability
33
State (x ϵ X)
The collection of all aspects of the robot and the environment that can impact the future (new position p`).
34
Action (u ϵ U)
A collection of choices the robot makes at a particular time.
35
State transition equation
Describes how actions change the state. x` = f(x,u) Assumes no error and discrete time
36
Instantaneous Center of Curvature (ICC)
A single point around which each wheel moves in a circular motion with the same angular velocity
37
Finding the ICC
Draw lines perpendicular to the rolling direction (y axis) of each wheel and identify where the lines intersect = [x- RsinTH, y+RcosTH]
38
ICC does not exist
The perpendicular lines do not share an intersection point and the robot cannot move
39
ICC exists at infinity
All the wheels point in the same direction, robot goes in a straight line
40
Differential drive
Two independently powered wheels along a common axis A nonholonomic system because it cannot move directly sideways
41
R (diff drive)
distance between center of the robot to the ICC l vr+vl --- * ------- 2 vr-vl
42
l (diff drive)
distance between wheels
43
w (diff drive)
angular velocity of rotation around ICC vr-vl w = --------- l
44
R=0(ICC is at R) and robot rotates in place
vl = -vr
45
R is infinite and robot moves in a straight line
vl = vr
46
Differential Drive navigation
Rotate in place until the robot is facing its destination Move forward to the destination Rotate to the correct orientation
47
Synchronous drive
Has three steerable drive wheels that all point in the same direction and always drive at the same speed ICC is infinite, the steerable wheels do give control over where the ICC is
48
Ackerman steering
On a car, the two steering wheels do not turn the same amount, with the inside wheel turning more and the traveling farther
49
Alternatives to wheels
Legs with wheels Flippers Hybrids
50
ROS (robot operating system)
A set of software libraries and tools for building robot applications
51
Distributed computation (ROS purpose)
Software for robots is often distributed. Sending commands from a human's desktop computer to a robot Multiple robots cooperating with each other Multiple computers performing separate but related tasks in a single robot Software decomposes into many smaller, stand-alone parts ROS makes this easier by providing message passing mechanisms for moving data between processes
52
Code reuse (ROS purpose)
Robot programming is often much faster when the part of the initial testing can be done using a simulator, rather than a real robot ROS makes this easier by providing a consistent way for simulators and robots to expose the same APIs The code never “knows” whether it is talking to a real robot or to a simulator
53
Package (ROS concept)
A collection of related executables and associated files
54
Node (ROS concept)
An executing program that uses ROS to communicate with other nodes, each node in ROS should be responsible for a single, module purpose (e.g. one node for controlling wheel motors, one node for controlling a laser range-finder, etc)
55
Topic (ROS concept)
A channel for one-way, many-to-many communication between nodes, from publishers to subscribers, based on sending messages
56
ROS graph (ROS concept)
Has edges for each publish-subscribe relationship, a network of ROS 2 elements processing data together at one time
57
Service (ROS concept)
A channel for two-way, one-to-one communication between a client and a server, based on a request and a response, can be many clients but only one server
58
Action (ROS concept)
A method for asking a node to complete a time-extended task, based on a request (or goal) which leads to a result, along with feedback along the way
59
Interface (ROS concept)
A data type used for a topic, service, or action
60
Launce file (ROS concept)
A Python program or XML file used to launch and configure several nodes at once
61
Parameter (ROS concept)
A bit of configuration data associated with a node
62
Bag (ROS concept)
A file that stores messages to be replayed later
63
One-way many-to-many communication
Topic
64
Two-way, one-to-one communication
Service
65
Visibility graph conditions
Can be used only when the robot knows the shapes of all the known obstacles, which are polygonal
66
Set of nodes (visibility graph)
The vertices of each polygon and the start/end points
67
Set of edges (visibility graph)
Between each pair of nodes that can be connected with an obstacle-free line segment, with weights equal to the distance between nodes
68
Common mistakes (visibility graph)
Leaving out edges between adjacent vertices, i.e. along the obstacle boundaries Leaving out edges between non-adjacent vertices on the same obstacle
69
Reduced visibility graph
Edges that do not lie on either supporting lines or separating lines are never needed for shortest paths, and can be safely eliminated
70
Shortest path
Will brush up against obstacles
71
Safest path
Not short but avoids obstacles With how unreliable robots movements are, need to be careful/imagine obstacles are bigger than they are
72
Bug algorithm conditions
A general class of navigation algorithms that do not require the robot to know the obstacles ahead of time Only local information about the obstacles is available: no long range sensing or detailed representations of the obstacle shapes Just does stuff
73
Bug algorithm model
These algorithms require the robot to have some combination of sensors that allow it to perform two basic actions: Sense the direction and distance to the goal Follow nearby obstacle boundaries and measure the distance traveled
74
Problematic Bug 0
Move toward the goal until reaching an obstacle Follow the obstacle boundary until it's possible to move directly toward the goal Repeat Has no memory
75
Online planning algorithms
Planning and execution are interleaved. The robot decides what to do “on-the-fly”
76
Offline planning algorithms
The robot forms a complete plan before moving
77
Bug1
Move toward the goal until reaching an obstacle Follow the entire boundary of that obstacle Keep track of which point on the boundary is closest to the goal Return to this point, following the obstacle boundary in whichever direction is shorter Repeat until the robot reaches the goal
78
Bug1 analysis
= D(distance from start to goal) + (3/2)*SUM(i=1 to M(num of obstacles)) [perimeter of obstacle i]
79
Hit point H (bug algorithms)
The point at which the robot reached the obstacle
80
Leave point L (bug algorithms)
The point at which the robot leaves the obstacle
81
Bug2
Move toward the goal until reaching an obstacle Follow this obstacle until it returns to the line connecting the start and goal positions If the robot can leave the obstacle toward the goal from this point, and it is closer to the goal than the hit point, then leave toward the goal Otherwise, continue around the obstacle Repeat until the robot reaches the goal
82
Bug2 analysis
= D(distance from start to goal) + (1/2)*SUM(i=1 to M(num of obstacles))[perimeter of obstacle i * number of intersection points]
83
Bug algorithm comparisons
Bug2 is very aggressive, choosing the first suitable point to leave Bug1 is an exhaustive search algorithm Both can detect if there is no way to reach the goal Bug2 is more predictable, Bug1 can outperform Bug2 in some cases(obstacles close together and connected)
84
Potential field conditions
Applicable even if the robot does not know the obstacle locations ahead of time, as long as it has sufficient sensing to detect the locations of any obstacles that are “nearby”
85
Potential field model
Model the robot as a particle responding to an attractive force from its goal and repulsive forces from obstacles The intuition is that a potential function defines a landscape along which the robot moves “downhill”
86
Potential function
U: X-->R Input: a state x Output: the potential U(x) at state x Robot follows the negative gradient of the potential function
87
Additive potential function
U(goal) + SUM(U(obstacles))
88
Attractive potential of goal
(1/2)*Constant*(d of x to goal)^2`
89
Repulsive potential of obstacles
a real number less than 1 if distance between x and obstacle is less than the max range of influence for an obstacle
90
Potential field limitations
Main one is the problem of local minima where the gradient is zero, robot can get stuck with no guarantee it will reach the goal
91
Solutions to potential field issues
Find a better potential function that avoids local minima Notice that you're at a minima and try to escape Use a different algorithm(bug, visibility)
92
Coordinate frames
The term coordinate frame refers to a combination of: the location of the origin(think of where these frames are relative to each other and not a relative frame the orientation of the axes (basis vectors) Any coordinates we use must be specified in some coordinate frame
93
World frame
Attached to some fixed location in the environment, generally where the power location is on the robot
94
Body frame
Attached to some point on the robot, moves with the robot
95
Rigid body transformations (RBT)
Distance between transformed points are preserved Orientation is preserved, no mirror images Composed of translations and rotations are preserved
96
Translation (RBT)
Movement without rotation (x,y) = (x+xt, y+yt)
97
2D Rotation (RBT)
(x,y)-->(xcosTH-ysinTH, xsinTH-ycosTH)