IAI Chapter 9 Robotics

Questions about the lecture 'Introduction to Artificial Intelligence' of the RWTH Aachen Chapter 9 Robotics

Questions about the lecture 'Introduction to Artificial Intelligence' of the RWTH Aachen Chapter 9 Robotics


R. B.
This flashcard set covers advanced robotics topics at a university level, focusing on key concepts like self-localization, path planning, and environmental mapping. It delves into algorithms for integrating sensor data, updating robot locations, and planning optimal paths, with examples from RoboCup and various robotic systems. The set is valuable for computer science students and researchers looking to understand the theoretical and practical aspects of modern robotics, including the use of neural networks for mapping and the challenges of dynamic environments.
Karten
26
Lernende
3
Sprache
Englisch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
04.02.2017 / 25.10.2021

Lernkarten

What are the tools?

[robotics, 7]

1. Stereo camera

2. Sonars

3. Laser range finder

4. Infrared sensors

5. Tactile sensors

 

6. PCs

7. WLAN

What are the three main tasks?

[robotics, 3]

1. Visual perception with mapping environment

2. Path planning

3. Self-localization

Why are no cameras used?

[mapping environment, robotics]

Too much information

What is used instead of cameras?

[mapping environment, robotics, 2]

1. Sonars (blue) and 2. lasers (red)

What are the characteristics?

[geometric maps.mapping environment.robotics, 4]

1. Arrays of grids cells (15x15cm²)

2. Each cell is assigned to a probability P(occx,y) of occupation // Exact values are unrealistic due to noisy sensors

3. Task is to fill cells given n sensor readings from position <x0,y0>

4. Learn with neural nets (e.g. for very noisy sonar data)

How is the occupation probability filled given n sensor readings from position <x0,y0>?

[geometric maps.mapping environment.robotics, 4]

1. Hit means sensor beam is reflected in <x,y>

2. Miss means sensor beam is reflected beyond <x,y>

 

3. Initiate each cell with maximum uncertainty of 0.5

4. If (#hits+#misses)>0 then P(occx,y) = #hits/(#hits+#misses) else reassign P(occx,y) = 0.5

How does learning  with NN works?

[geometric maps.mapping environment.robotics, 4]

1. 6 input units with 4 sonars closest to <x,y> and polar coordinates (angle, distance) to <x,y>

2. 6 hidden units

3. 1 output unit with 1 if occupied else 0 (Ideal) OR [0,1] for probability of occupation (Actual)

 

4. Training data are known environments

What are the variables?

[path planning.robotics, 2]

1. Every cell <x,y> has cost to traverse C(<x,y>) // P(occx,y) for occupation

2. Cost to reach goal location from <x,y> is Vx,y

How is Vx,y computed?

[path planning.robotics, 2]

1. Initiate with 0 if goal location and else inf

2. Perform value iteration (Russel and Norvig)

What is value iteration for Vx,y,?

[path planning.robotics]

Vx,y = min{Vx+d,y+e + C(<x+d,y+e>)} for d,e \in {-1,0,1}

How is the next step chosen?

[path planning.robotics]

Move to goal by steepest descent // Choose location with smallest value

What are the advantages to the algorithm?

[path planning.robotics, 4]

1. Any time algorithm // Start moving before converging

2. Optimal path is calculated for every location

 

3. No replan is necessary for unforeseen obstacles

4. Locally reset to inf and restart value iteration to update neighbors

What is the main estimation?

[self localization.robotics]

Probability P(lx,y,theta|m) of “where am I?” with current location <x,y> and orientation theta for given map m

How to initiate P for given map m?

[self localization.robotics]

P(lx,y,theta|m) = [1-P(occx,y)]/[Sumx’,y’(1-P(occx’,y’))]

What is updated for a moving robot?

[self localization.robotics, 2]

1. Integrating movements and 2. sensors

What is required to update?

[integrating movements.self localization.robotics, 3]

1. Time since last update t // Typically 0.25s

2. Trajectory tao by wheel encoders (direction+speed)

3. Error model

How to update?

[integrating movements.self localization.robotics]

P(l) = a* Suml’P(l’) *P(l|l’,tao,t)

What is the assumption made?

[integrating sensors.self localization.robotics]

P(l|sT,…,s1,m) = P(l|sT-1,…,s1,m)*P(sT|l,m)

How to initiate P(l)?

[integrating sensors.self localization.robotics]

Initiate with P(l) = P(l|m)

How to update?

[integrating sensors.self localization.robotics]

For all l,s with P(l) = P(l)*P(s|l,m)

How to estimate P(s|l,m)?

[integrating sensors.self localization.robotics, 5]

1. Let P(rl’|l,m) state reflection of l’ from l

2. Let P(Ri|l,m) state reflection of one l’ in Ri from l

3. If Ri is not hit then all Rj with 1<=j<i are not hit

 

4. P(Ri|l,m) = 1 - Prodl’(1 – P(rl’|l,m))

5. P(s|l,m) = P(Ri|l,m)* Prodj=1i-1[1 – P(Rj|l,m)]

What is the Markov assumption?

[robotics, 3]

1. “World changes only due to robots actions”

2. Uncertainties about actions are allowed

3. Ignores exogenous effects

How to deal with dynamic objects?

[Markov assumption.robotics, 2]

1. Few are tolerable

2. Many create “bad” sensor values → filter via expected sensor data

What are examples for robots?

[robotics, 5]

1. Freiburg mobile robot obelix

2. Carl (1997)

3. AtHome (2006)

4. MidSize (2007)

5. SPL (Nao) (2008)

What is the challenge of RoboCup?

[robotics]

“Win against the human world soccer champion team with robots in 2050”

What are the fields of RoboCup?

[robotics, 3]

1. Sports

2. Home

3. Rescue

Lernen