test1 Flashcards

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
Q

Inertial management units (sensing)

A

Combine 3 accelerometers to measure linear acceleration, and 3 gyroscopes to measure angular acceleration (used by phones)

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

Compasses (sensing)

A

Measure orientation with respect to Earth’s magnetic field, accuracy can be affected by the robot itself (large, metal) and it’s motors

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

GPS (sensing)

A

Uses satellite signals to determine a device’s position on the Earth

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

Hardware tradeoffs

A

Good robot design must balance many elements: space, weight, power, cost, durability, accuracy, etc

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

Hardware strategies

A

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

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

Drive wheels

A

Use friction against the ground to move the robot, may or may not be able to be controlled independently (roomba, wheels dont turn)

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

Steered wheels

A

Can rotate relative to the ground to influence the direction (car)

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

Passive wheels

A

Contribute to the robots stability

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

State (x ϵ X)

A

The collection of all aspects of the robot and the environment that can impact the future (new position p`).

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

Action (u ϵ U)

A

A collection of choices the robot makes at a particular time.

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

State transition equation

A

Describes how actions change the state.

x` = f(x,u)

Assumes no error and discrete time

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

Instantaneous Center of Curvature (ICC)

A

A single point around which each wheel moves in a circular motion with the same angular velocity

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

Finding the ICC

A

Draw lines perpendicular to the rolling direction (y axis) of each wheel and identify where the lines intersect

= [x- RsinTH, y+RcosTH]

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

ICC does not exist

A

The perpendicular lines do not share an intersection point and the robot cannot move

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

ICC exists at infinity

A

All the wheels point in the same direction, robot goes in a straight line

40
Q

Differential drive

A

Two independently powered wheels along a common axis
A nonholonomic system because it cannot move directly sideways

41
Q

R (diff drive)

A

distance between center of the robot to the ICC

l vr+vl
— * ——-
2 vr-vl

42
Q

l (diff drive)

A

distance between wheels

43
Q

w (diff drive)

A

angular velocity of rotation around ICC
vr-vl
w = ———
l

44
Q

R=0(ICC is at R) and robot rotates in place

A

vl = -vr

45
Q

R is infinite and robot moves in a straight line

A

vl = vr

46
Q

Differential Drive navigation

A

Rotate in place until the robot is facing its destination
Move forward to the destination
Rotate to the correct orientation

47
Q

Synchronous drive

A

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
Q

Ackerman steering

A

On a car, the two steering wheels do not turn the same amount, with the inside wheel turning more and the traveling farther

49
Q

Alternatives to wheels

A

Legs with wheels

Flippers

Hybrids

50
Q

ROS (robot operating system)

A

A set of software libraries and tools for building robot applications

51
Q

Distributed computation (ROS purpose)

A

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
Q

Code reuse (ROS purpose)

A

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
Q

Package (ROS concept)

A

A collection of related executables and associated files

54
Q

Node (ROS concept)

A

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
Q

Topic (ROS concept)

A

A channel for one-way, many-to-many communication between nodes, from publishers to subscribers, based on sending messages

56
Q

ROS graph (ROS concept)

A

Has edges for each publish-subscribe relationship, a network of ROS 2 elements processing data together at one time

57
Q

Service (ROS concept)

A

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
Q

Action (ROS concept)

A

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
Q

Interface (ROS concept)

A

A data type used for a topic, service, or action

60
Q

Launce file (ROS concept)

A

A Python program or XML file used to launch and configure several nodes at once

61
Q

Parameter (ROS concept)

A

A bit of configuration data associated with a node

62
Q

Bag (ROS concept)

A

A file that stores messages to be replayed later

63
Q

One-way many-to-many communication

A

Topic

64
Q

Two-way, one-to-one communication

A

Service

65
Q

Visibility graph conditions

A

Can be used only when the robot knows the shapes of all the known obstacles, which are polygonal

66
Q

Set of nodes (visibility graph)

A

The vertices of each polygon and the start/end points

67
Q

Set of edges (visibility graph)

A

Between each pair of nodes that can be connected with an obstacle-free line segment, with weights equal to the distance between nodes

68
Q

Common mistakes (visibility graph)

A

Leaving out edges between adjacent vertices, i.e. along the obstacle boundaries
Leaving out edges between non-adjacent vertices on the same obstacle

69
Q

Reduced visibility graph

A

Edges that do not lie on either supporting lines or separating lines are never needed for shortest paths, and can be safely eliminated

70
Q

Shortest path

A

Will brush up against obstacles

71
Q

Safest path

A

Not short but avoids obstacles

With how unreliable robots movements are, need to be careful/imagine obstacles are bigger than they are

72
Q

Bug algorithm conditions

A

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
Q

Bug algorithm model

A

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
Q

Problematic Bug 0

A

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
Q

Online planning algorithms

A

Planning and execution are interleaved. The robot decides what to do “on-the-fly”

76
Q

Offline planning algorithms

A

The robot forms a complete plan before moving

77
Q

Bug1

A

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
Q

Bug1 analysis

A

= D(distance from start to goal) + (3/2)*SUM(i=1 to M(num of obstacles)) [perimeter of obstacle i]

79
Q

Hit point H (bug algorithms)

A

The point at which the robot reached the obstacle

80
Q

Leave point L (bug algorithms)

A

The point at which the robot leaves the obstacle

81
Q

Bug2

A

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
Q

Bug2 analysis

A

= 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
Q

Bug algorithm comparisons

A

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
Q

Potential field conditions

A

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
Q

Potential field model

A

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
Q

Potential function

A

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
Q

Additive potential function

A

U(goal) + SUM(U(obstacles))

88
Q

Attractive potential of goal

A

(1/2)Constant(d of x to goal)^2`

89
Q

Repulsive potential of obstacles

A

a real number less than 1 if distance between x and obstacle is less than the max range of influence for an obstacle

90
Q

Potential field limitations

A

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
Q

Solutions to potential field issues

A

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
Q

Coordinate frames

A

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
Q

World frame

A

Attached to some fixed location in the environment, generally where the power location is on the robot

94
Q

Body frame

A

Attached to some point on the robot, moves with the robot

95
Q

Rigid body transformations (RBT)

A

Distance between transformed points are preserved

Orientation is preserved, no mirror images

Composed of translations and rotations are preserved

96
Q

Translation (RBT)

A

Movement without rotation

(x,y) = (x+xt, y+yt)

97
Q

2D Rotation (RBT)

A

(x,y)–>(xcosTH-ysinTH, xsinTH-ycosTH)