0% found this document useful (0 votes)
5 views55 pages

Mod5 Robotics

The document discusses various obstacle avoidance algorithms for robots, including the Bug algorithm, Vector Field Histogram (VFH), and the Dynamic Window Approach (DWA). It explains how these algorithms help robots navigate around obstacles using sensor data and decision-making processes. Additionally, it highlights the importance of considering robot motion constraints in navigation strategies.

Uploaded by

Alphonse Joy
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views55 pages

Mod5 Robotics

The document discusses various obstacle avoidance algorithms for robots, including the Bug algorithm, Vector Field Histogram (VFH), and the Dynamic Window Approach (DWA). It explains how these algorithms help robots navigate around obstacles using sensor data and decision-making processes. Additionally, it highlights the importance of considering robot motion constraints in navigation strategies.

Uploaded by

Alphonse Joy
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Module-5

Path Planning and Navigation

30-03-2026 AICML,MEC,March 2026 1

30-03- AICML,MEC,March 2
2026 2026
Obstacle avoidance
Bug algorithm - Vector Field Histogram -
Dynamic window approaches.

30-03-2026 AICML,MEC,March 2026 3

What is Obstacle Avoidance?


•Obstacle avoidance means The robot changes its
path when it sees an obstacle (wall, chair, person,
etc.)

Example:
The robot wants to go straight to the [Link] a table
is blocking the [Link] robot moves around the
table and continues to the goal.
So the robot must avoid obstacles while moving.

30-03- AICML,MEC,March 4
2026 2026
What is Local Obstacle Avoidance?
•The robot has sensors (camera, lidar, ultrasonic).
•While moving, it continuously checks nearby obstacles.
•If it detects something, it changes its path immediately.
•So the robot decides based on current sensor
readings. Example
•Robot is moving → sensor detects a wall → robot turns slightly

continues moving.
This is called local decision making.

30-03-2026 AICML,MEC,March 2026 5

What decides the robot’s movement?


1. Sensor readings
•Sensors tell the robot:
• Is there an obstacle?
• Where is the obstacle?
2. Goal position
•The robot also knows Where the goal is

Example:
•Robot knows Goal is 10 meters north, it tries to move toward
the goal
while avoiding obstacles.

30-03- AICML,MEC,March 6
2026 2026
Global Map vs Local Information
•A global map means the robot already has a map of
the entire environment.

•The map may contain: walls,rooms,obstacles,corridors,goal


location.

•The robot can see the whole environment in advance.

•So it can plan a path before moving.

•Global map means complete knowledge of the environment.

30-03-2026 AICML,MEC,March 2026 7

•Local information meansThe robot does NOT know


the whole environment.
•It only knows what its sensors see nearby.
•Sensors may detect:
• obstacle in front
• wall on left
• free space on right
•But the robot cannot see far
away. Example:
•The robot only knows:
• something is in front
• turn left or right
•But it does not know the entire building layout.

30-03- AICML,MEC,March 8
2026 2026
Obstacle Avoidance Algorithms
•These are methods that tell the robot how to move
when it sees obstacles.
•Different algorithms:
• Bug algorithm

• Dynamic window approach

• Vector field histogram

30-03-2026 AICML,MEC,March 2026 9

Bug Algorithm
•The Bug algorithm is one of the simplest obstacle
avoidance algorithms.
idea:
• If a robot meets an
obstacle:
• It moves along the boundary of the obstacle
• It goes around the obstacle,then it move to the point where it
can leave the obstacle.
• Then it continues toward the goal
•This is called contour following or wall following.
•So the robot basically walks around the obstacle
until it can go toward the goal again.

30-03- AICML,MEC,March 1
2026 2026 0
Bug1 Algorithm
• Step 1
Robot moves straight toward the goal.
• Step 2
If it hits an obstacle, it cannot go straight.
• Step 3
Robot goes around the entire obstacle boundary.
• Step 4
During this full circle, it records the point closest to the goal.
• Step 5
After finishing the full loop, the robot moves to that closest point.
• Step 6
Then it continues moving toward the goal.

Important property
• Bug1 guarantees reaching the goal if the goal is reachable.
• But it is very inefficient because the robot must go around the whole
Even
obstacle if theonce
exit path appears early, it still completes
the loop.
30-03-2026 AICML,MEC,March 2026 11

Start → where the robot begins


Goal → where the robot wants
to go
H1, H2 → Hit points (where the robot hit
the obstacle)
L1, L2 → Leave points
The shaded areas are obstacles.

30-03- AICML,MEC,March 1
2026 2026 2
Bug2 Algorithm (Improved Version)
•Bug2 improves Bug1.
•The robot does NOT circle the whole obstacle.
•Instead:

• If obstacle appears → follow obstacle boundary


• Leave the obstacle as soon as the goal direction becomes free

•This usually produces a much shorter path.

•However Bug2 can still be non-optimal. The robot may


travel much longer than the shortest path.

30-03-2026 AICML,MEC,March 2026 13

30-03- AICML,MEC,March 1
2026 2026 4
•Bug2 uses two robot behaviors (states):
-> GOALSEEK (SEEK)
•Robot tries to move toward the goal.
-> WALLFOLLOW
•Robot follows the obstacle boundary.
The robot switches between these two states.

30-03- AICML,MEC,March 15
2026 2026

30-03-2026 AICML,MEC,March 2026 16


• Create a variable called atGoal. It tells whether the robot has
reached
the goal or not. Initially it is false.
• loop keeps running until the robot reaches the goal.
• The robot reads its current position and also gets
sensor readings from the sonar sensors.
• Calculate the distance between the robot and the goal.
• Compute the direction (angle) from the robot toward the goal.
• Create two variables:
• forwardVel → forward movement speed
• rotationVel → turning speed

• Check if the robot is very close to the goal.


• If yes, Print a message indicating that the robot reached
the goal. Stop the robot’s rotation. Set the robot state to
DONE, meaning the task is finished. Update the variable
so the while loop stops.

:
• Else (if no) If the robot has not yet reached the goal, it
must continue navigating. Compute the forward speed
using the sonar sensor readings. Check if the robot is
currently in GOALSEEK mode (moving toward the goal).
Rotate the robot so that it faces the goal direction. Check
whether there is an obstacle in the direction of the goal.
If an obstacle blocks the path, switch to WALLFOLLOW
mode. End of GOALSEEK condition.
• Check if the robot is currently in WALLFOLLOW mode.
Compute the rotation needed to follow the obstacle
boundary (wall). Check if the path toward the goal is free
again. If the path is clear, switch back to GOALSEEK
mode. End of WALLFOLLOW condition.
• Send commands to the robot motors:
• forwardVel controls forward motion
• rotationVel controls turning motion
30-03-2026 AICML,MEC,March 2026 17

•A differential-drive robot has:


• left wheel
• right wheel
•Robot motion depends on wheel speeds.
•Left wheel speed = Right wheel speed :Robot moves
straight forward.
•Right wheel faster than left wheel :Robot turns left.
•Left wheel faster than right wheel : Robot turns right.

30-03- AICML,MEC,March 1
2026 2026 8
•Pseudocode for Differential Drive:Here is the extra
pseudocode that converts motion commands to
wheel speeds.
•function SetVelocity(forwardVel, rotationVel) //This function
receives motion commands from Bug2.
•leftWheel = forwardVel – rotationVel//Calculate speed
of the left wheel.
•rightWheel = forwardVel + rotationVel//Calculate speed of
the right wheel.
•setLeftMotor(leftWheel)//Send speed command to the
left wheel motor.
•setRightMotor(rightWheel)//Send speed command to the
right wheel motor.
•end function
Now the robot can actually move.

30-03-2026 AICML,MEC,March 2026 19

•The differential-drive equations convert that decision


into actual left and right wheel speeds.
•Navigation level decides where the robot should go.
•Robot hardware level (differential drive) decides how
the wheels must move.

30-03- AICML,MEC,March 2
2026 2026 0
Vector field histogram
•Many simple algorithms (like Bug methods) use only the
most recent sensor readings.
Problem:
•If sensors do not detect obstacles early enough, the robot may:
• make poor navigation decisions
• fail in complex environments
Example:
•robot approaches a narrow corridor
•sensors detect obstacles too late
•robot cannot plan properly
30-03-2026 AICML,MEC,March 2026 21

•VFH solves this by creating a local map around the robot.


•This map is called an occupancy grid.

Occupancy Grid
•The environment around the robot is divided into small cells.
•Each cell stores the probability of an obstacle.

30-03- AICML,MEC,March 2
2026 2026 2
• Polar The next step VFH converts the occupancy
a polar
Histogram: grid into This graph helps the robot understand:
histogram. which directions have obstacles
which directions are free to
move
The x-axis shows all
possible directions the
robot could move. The
vertical axis is labeled P.
This represents the
probability or strength of
obstacles in that direction.

The directions correspond to angles around the [Link] standing at the center and looking
around
360°.obstacle density in each direction. So it is called a polar representation(polar histogram).

30-03-2026 AICML,MEC,March 2026 23

Threshold
•Each bar corresponds to a direction (angle) around the robot.
•Height of bar = obstacle density or probability in that direction.

30-03- AICML,MEC,March 24
2026 2026
30-03- AICML,MEC,March 25
2026 2026

Finding the Best Direction


•After detecting free directions, the robot must
choose which direction to move.
•So VFH computes a cost function.

30-03- AICML,MEC,March 2
2026 2026 6
• Target Direction-Measures how well the direction aligns with the goal. If robot moves
directly toward
goal → low cost, Large deviation from goal → high cost
• Wheel Orientation-Measures how much the robot must turn its wheels. Large
turn = high cost, Small turn = preferred.
• Previous Direction-Encourages smooth movement, If robot suddenly changes direction →
cost
increases. This prevents zig-zag motion.
• Cost Function Weights: a->importance of goal direction, b->importance of
wheel orientation, c->importance of smooth motion
30-03-2026 AICML,MEC,March 2026 27

Choosing the Best Path

Steps:
• Identify free openings

• Compute cost for each opening

• Select direction with lowest cost

•So the robot chooses:

safest direction that still moves toward the goal


30-03- AICML,MEC,March 2
2026 2026 8
VFH+ Improvement
•In VFH+ ,the robot considers possible paths instead
of simple directions.
•After removing impossible directions, the algorithm
creates a masked polar histogram. The masked
polar histogram is a filtered version of the polar
[Link] removes directions where the robot
cannot safely move.

•This histogram only shows allowed directions.


•Then the best direction is selected from the remaining options.

30-03-2026 AICML,MEC,March 2026 29

30-03- AICML,MEC,March 3
2026 2026 0
Algorithm Summary: Vector Field Histogram

•Step 1: Read sensor data.


•Step 2 :Update the local occupancy grid.
•Step 3:Convert grid into polar histogram.
•Step 4:Apply threshold to detect free directions.
•Step 5:Identify candidate openings.
•Step 6:Compute cost function for each opening.
•Step 7:Select direction with minimum cost.
•Step 8:Move robot in that direction.

30-03-2026 AICML,MEC,March 2026 31

Advantages of VFH

Works well in dynamic environments


Handles narrow passages
Smooth robot motion
Uses local mapping

Limitations

Computational cost higher than simple algorithms


Performance depends on sensor quality

30-03- AICML,MEC,March 3
2026 2026 2
Comparison With Bug Algorithm

30-03-2026 AICML,MEC,March 2026 33

Dynamic Window Approach


•Earlier methods like:
• Bug algorithms
• Vector Field Histogram (VFH)
•mainly consider sensor readings and obstacle positions.
•But they do not properly consider robot motion
constraints. Example problem:
•A robot cannot instantly change speed or direction.
•Real robots have limits like:
• maximum velocity
• maximum acceleration
• turning constraints
To handle this, the Dynamic Window Approach (DWA) was
30-03- AICML,MEC,March 3
2026 2026 4
developed.

30-03- AICML,MEC,March 3
2026 2026 4
Key Idea of Dynamic Window Approach
•Instead of directly choosing a direction, the robot
chooses a velocity command.
•The robot evaluates possible combinations of:
• linear velocity (v) → forward speed
• angular velocity (ω) → turning speed
•From these combinations it chooses the safest motion.

30-03-2026 AICML,MEC,March 2026 35

The Dynamic Window

30-03- AICML,MEC,March 3
2026 2026 6
30-03-2026 AICML,MEC,March 2026 37

•A real robot cannot instantly change speed.

Example:

If Current speed v = 0.5 m/s ,Robot cannot suddenly


jump to: v = 3 m/s because of acceleration limits.

•Same for turning speed.

•So in the next small time interval, the robot can only
reach some nearby velocities.

30-03- AICML,MEC,March 3
2026 2026 8
The Dynamic Window
•The dynamic window is simplyThe set of velocities that the
can reach in the next time step,
robot considering acceleration
limits.
•Graphically this appears as a small rectangular
region in velocity space.
•It is called dynamic because it depends on:
• current robot velocity
• acceleration capability
• As the robot moves, the window moves in velocity space.
• So the window changes dynamically every moment.

30-03-2026 AICML,MEC,March 2026 39

•Admissible Velocities:
• Velocities that allow the robot to stop before hitting an obstacle.

• So DWA considers only velocities that are: reachable and safe

• Two types of dynamic window approaches:


• Local
• Global

30-03- AICML,MEC,March 4
2026 2026 0
Local Dynamic Window Algorithm
•Step 1
Read sensor data and robot state.
•Step 2
Generate the velocity space (all possible (v, ω)).
•Step 3
Select the dynamic window based on acceleration limits.
•Step 4 Suppose:
Remove velocities that cause Robot speed = 1 m/s
Obstacle distance = 0.5
collisions. m Robot braking
distance = 1 m Then:
Remaining set → admissible Robot cannot stop before the
velocities. obstacle.
So: 41
1 m/s is NOT admissible-not safe

30-03-2026 AICML,MEC,March
2026

•Step 5
For each admissible
velocity: predict robot
trajectory compute
objective function.

Objective function
•we have a set of safe velocities(admissible velocities).
•But the robot must choose the best one.
•For this, the algorithm uses an objective function.

30-03- AICML,MEC,March 4
2026 2026 2
heading(v,ω) :Measures how well the robot's motion points toward the goal.
If the robot moves directly toward the goal → high score.

velocity(v,ω) :Represents the forward speed. Higher speed → higher score.


This encourages fast motion.

dist(v,ω) : Represents the distance to the nearest obstacle along the trajectory.
Large distance → safer path.

30-03- AICML,MEC,March 4
2026 2026 3

•Step 6
Select velocity with maximum objective score.
•Step 7
Send this velocity command to the robot.
•Step 8
Repeat the process at the next time step.

30-03- AICML,MEC,March 4
2026 2026 4
Global Dynamic Window Approach(GDWA)
•The Local Dynamic Window Approach (DWA) only
considers current robot velocity , nearby obstacles ,
goal direction
•But it does not consider the global structure of the
environment.
•Problem:
• The robot might:
• take inefficient paths
• get stuck in complex obstacle arrangements
• fail to find long-range routes
•So the Global Dynamic Window Approach adds
global path planning information.

30-03-2026 AICML,MEC,March 2026 45

Main Idea of Global Dynamic Window


•The method combines Dynamic Window that
handles robot motion constraints and NF1
(Navigation Function) that gives global guidance
toward goal . So the robot gets both local and global
information.

30-03- AICML,MEC,March 4
2026 2026 6
NF1 (Navigation Function)
•NF1 is also called Grassfire algorithm.
•Its job is to compute distance from every free cell to the goal.
•It works on an occupancy grid
map. Occupancy Grid Map
•When a robot moves in an environment, it must know:
• where obstacles are
• where free space is
•But sensors (lidar, sonar, camera) only give local
measurements.
•So the robot stores this information in a map.
•One simple way to represent the environment is the occupancy
grid map.
•An occupancy grid map divides the environment into small
square cells.
•Each cell stores information about whether that location is
occupied by an obstacle or free.
30-03-2026 AICML,MEC,March 2026 47

NF1-Working

NF1 uses occupancy matrix to create a map that tells the robot which direction

leads to the goal.

It does this by,

Starting from the goal

Spreading numbers outward through free cells

Assigning larger numbers as you move farther from the goal


30-03- AICML,MEC,March 4
2026 2026 8
So every cell gets a distance value from the goal.

30-03- AICML,MEC,March 4
2026 2026 8
•The robot simply moves toward cells with smaller
numbers. Example:
•Robot at value = 6
Neighbor cells =
5,7,8
•Robot chooses:
6→5→4→3→2→1→0
So the numbers create a global path toward the

goal. GDWA Combines NF1 with Dynamic Window

30-03-2026 AICML,MEC,March 2026 49

•Dynamic Window chooses velocity commands:


•Each velocity produces a trajectory.
•Now GDWA checks where that trajectory goes in the NF1
map.
•Using NF1 to Evaluate Trajectories
•For each possible motion:
 Predict robot path
See which NF1 cells the path passes through
Check the NF1 values

30-03-2026 AICML,MEC,March 2026 50


•Dynamic Window alone considers:
• speed
• obstacle distance
•But not global direction to goal.
•NF1 provides global guidance.
•So GDWA becomes:

30-03-2026 AICML,MEC,March 2026 51

•Computing NF1 on the entire map is slow.


•So GDWA calculates NF1 only in a rectangular region
between robot and goal.
•If the path cannot be found in that region:
•the region is expanded.
•This keeps the system fast enough for real-time navigation.

30-03- AICML,MEC,March 5
2026 2026 2
Navigation Architectures

1. Modularity for code reuse and sharing


2. Control localization
3. Techniques for decomposition

30-03-2026 AICML,MEC,March 2026 53

• Path planning(how to reach goal)

• Obstacle avoidance (don’t crash)

• Localization (where am I?)

• Perception (what do I see?)

How do we combine all of these into ONE working robot system?

30-03- AICML,MEC,March 5
2026 2026 4
•You could write one huge program that does everything. But
that’s a
bad idea for real robots
•Why?
• If you change one part → everything breaks

• Hard to debug

• Hard to upgrade sensors (e.g., add laser later)

• Not reusable

30-03-2026 AICML,MEC,March 2026 55

Solution :Navigation Architecture


•This is just a structured way to organize robot
software. Analogy:
•Human body
• Brain → decisions
• Eyes → perception
• Legs → movement
•Each part is separate but works together.
•The study of navigation architectures is the study of
principled designs for the software modules that
constitute a mobile robot navigation system.

30-03- AICML,MEC,March 5
2026 2026 6
• Using a well-designed navigation architecture has ba
number of concrete advantages:

[Link] for code reuse and sharing( focuses on How the


system is divided into parts

• 2. Control localization ( focuses on Where each


function/control is placed)

3. Techniques for decomposition

30-03-2026 AICML,MEC,March 2026 57

Modularity for code reuse and sharing


• Modularity : Break system into independent modules
Examples:
• Obstacle avoidance module
• Path planning module
• Localization module
Benefits:
• You can change one module without affecting others
• Reuse code
• Easier testing
Example:
• Change sensor (ultrasonic → laser)
• Obstacle avoidance module should still work
30-03- AICML,MEC,March 5
2026 2026 8
Control localization
•Control localization is the design principle where each control
function of a robot is implemented in a separate, well-defined
module..(Instead of mixing everything together , assign each
responsibility to one place)
Without Control Localization-> Bad design
Imagine this messy system -Obstacle avoidance code is:
• in motor controller
• in path planner
• in sensor module
Problem:
•If you want to fix obstacle avoidance → you must edit MANY places
•Very confusing and error-prone

30-03-2026 AICML,MEC,March 2026 59

Advantages of control localization


1. Individual Testing
• Each functionality (like obstacle avoidance, planning) can be tested
separately
• Makes debugging easier
Example:You can test only obstacle avoidance without running the full robot

2. Better Control Composition


• Provides a systematic way to combine different controls
• Each module contributes clearly to the final robot behavior

3. Stability During Changes


• Changes in one part of software do not affect other parts
• System becomes more stable when modified
Example:Changing planning algorithm won’t break obstacle avoidance

4. Focused Verification
• Each module can be verified independently
30-03- AICML,MEC,March 6
2026 2026 0
• Ensures correctness of specific functions
Example:Verify obstacle avoidance works correctly before integration

30-03- AICML,MEC,March 6
2026 2026 0
5. Independent Testing in Simulation
•High-level modules (like planning) can be tested without real
robot
•Saves time and resources

6. Supports Learning (AI/ML)


•Learning algorithms can be applied to specific modules only
•Makes training easier and more effective
Example: Train only obstacle avoidance using reinforcement
learning

7. Better Integration of Learning and Robotics


•Helps combine traditional robotics + machine learning
•Targeted learning improves success rate
30-03-2026 AICML,MEC,March 2026 61

• The advantages of localization and modularity provide a


case for the use of principled navigation architectures.
compelling

30-03- AICML,MEC,March 6
2026 2026 2
•A system can be modular BUT still bad.

Example:

•You have modules:


• Path planning
• Obstacle avoidance
•But obstacle avoidance logic is also inside path
planner This is:
• Modular
• NOT control localized

30-03-2026 AICML,MEC,March 2026 63

•Ideal System

Modular system
Each module has clearly defined control

•Modularity is the division of a robot system into


independent components for flexibility and reuse.
• Control localization ensures that each control
function is implemented in a single dedicated module,
avoiding duplication and improving clarity.
• While modularity focuses on system structure, control
localization focuses on proper assignment of
responsibilities.

30-03- AICML,MEC,March 6
2026 2026 4
One way to characterize a particular architecture
is by its decomposition of the robot’s
software.

Techniques for decomposition

30-03-2026 AICML,MEC,March 2026 65

•What is Decomposition?

•Decomposition means breaking a complex robot


system into smaller parts (modules).

Advantages :

•Easier to design
•Easier to understand
•Easier to implement

30-03- AICML,MEC,March 6
2026 2026 6
Types of Decomposition
•There are two main types:

1. Temporal Decomposition (based on time)

2. Control Decomposition (based on control flow)

30-03-2026 AICML,MEC,March 2026 67

Temporal Decomposition
• Temporal divides modules onhow fast
must [Link] is calledbased
decomposition temporal decomposition
theybecause
The robot system is divided based on time requirements
(speed of operation).

30-03- AICML,MEC,March 6
2026 2026 8
1. Hard Real-Time (FASTEST) : This is the lowest level
• What it does:
• Direct control of motors
• Runs very fast (e.g., 40–150 Hz)
• Example:
• PID controller controlling wheel speed
If this fails → robot cannot move properly
2. Quasi Real-Time : Slightly slower than hard real-time
• What it does:
• Quick reactions, but not extremely fast
• Example:
• Basic obstacle detection
• Small corrections
3. Tactical Decisions : Medium-speed decisions
• What it does:
• Decides immediate actions
• Example:
• Avoid obstacle
• Choose local path
Works based on current situation
30-03-2026 AICML,MEC,March 2026 69

4. Strategic Decisions :Slower, more thoughtful decisions


• What it does:
• Plans overall behavior
• Example:
• Decide route to goal
• Choose navigation strategy

5. Offline Planning (SLOWEST): Top-most level


• What it does:
• Long-term planning
• No strict time constraint
• Example:
• Pre-compute map
• Plan entire path before movement

30-03- AICML,MEC,March 7
2026 2026 0
General properties of
temporal
decompositions:
• As we move from bottom → top layers (in figure):

•Bottom → fast, simple, reactive


•Top → slow, intelligent, planning

30-03-2026 AICML,MEC,March 2026 71

Example:

30-03- AICML,MEC,March 7
2026 2026 2
30-03-2026 AICML,MEC,March 2026 73

[Link] Decomposition (based on


flow)
control
• Control decomposition means : How different modules (parts of the
robot program) contribute to the final robot action.

• Each
• Takes some inputs
module:
• Produces one output

• All modules are connected together → forming a system

• control decomposition identifies the way in which each module’s output


contributes
to the overall robot control outputs. Presentation of control decomposition requires
evaluator to understand the basic principles of discrete systems
representation and
analysis.
30-03- AICML,MEC,March 7
2026 2026 4
the

30-03- AICML,MEC,March 7
2026 2026 4
Two Extreme Types of Control
•(A) Serial Control (Sequential)
•(B) Parallel Control

•Each module:
• Takes some inputs
• Produces one output

•Sensors → input to system


•Actions → output of system
30-03-2026 AICML,MEC,March 2026 75

(A) Serial Control (Sequential)


•Idea:
• Modules are connected one after another
• Output of one → input to next
•Flow:
• Sensor → Module 1 → Module 2 → Module 3 → Action
•The whole system is a closed loop:
•Perception → Processing → Action → Environment → New Perception

30-03- AICML,MEC,March 7
2026 2026 6
•Modules are arranged in a line (series)
•Each depends only on the previous module
•No module runs
independently Important
Characteristics
Advantages
•Easy to understand
•Easy to debug
•Predictable behavior
Disadvantages
•Slow (must wait for each step)
•Not flexible
•Cannot handle multiple behaviors simultaneously

30-03-2026 AICML,MEC,March 2026 77

(B) Parallel Control

Idea:
• Multiple modules run at the same time
• All influence the final action
Example modules:
•Obstacle avoidance
•Path following

30-03- AICML,MEC,March 7
2026 2026 8
30-03-2026 AICML,MEC,March 2026 79

30-03- AICML,MEC,March 8
2026 2026 0
Types of Parallel Control
(1) Switched Parallel Control
(2) Mixed Parallel Control

30-03-2026 AICML,MEC,March 2026 81

Switched Parallel Control


Idea : Many modules exist, but only ONE controls the robot at a
time. Simple Real-Life Analogy
• Think of a car:
• You have:
• Cruise control
• Brake system
• Collision avoidance
But at any moment:Only one dominates control
• Example:
• Road clear → cruise control
• Obstacle appears → braking takes over
This is switching

30-03- AICML,MEC,March 8
2026 2026 2
Switched Parallel Control
• Only ONE module controls the robot at a
time Example:
• If obstacle < 50 cm → use obstacle avoidance
• Else → use path following
Advantages:
• Simple
• Easy to analyze
Disadvantages:
• Frequent switching → unstable behavior
• No combination of behaviors
Robot cannot:Avoid obstacle AND follow path at same time

30-03-2026 AICML,MEC,March 2026 83

Mixed Parallel Control


• Multiple modules work together
simultaneously Example:
• Obstacle avoidance → gives direction vector
• Path following → gives direction vector
• Final action = combination (e.g.,
addition) Advantage:
• Very flexible
• More natural behavior
Disadvantages:
• Hard to design
• Can produce wrong results
Example problem:Two vectors cancel → robot goes straight into obstacle

30-03- AICML,MEC,March 8
2026 2026 4
Alternatives for Navigation Using
Neural
Networks

30-03-2026 AICML,MEC,March 2026 85

Alternatives for Navigation Using Neural


Networks
• Neural networks offer a learning-based approach to navigation, especially
powerful in unknown or dynamic environments.
i.e. The robot does not rely on fixed rules or manually programmed instructions.
Instead, it learns how to navigate by experience (data)
• Problem :A robot needs to answer : I see this image… what should I do now?
• Example:
• See straight road → go straight
• See right turn → turn right
• See obstacle → stop
Traditional (old robotics)
• Detect lane
• Detect obstacle
• Calculate angle
• Then move
Many steps, complex rules

• Types of Neural Approaches:


30-03- AICML,MEC,March 8
2026 2026 6
1. Supervised Learning
•Input : Image / sensor data
•Output :Control commands (steering, speed)
•idea: Learn directly from labelled examples.
• In supervised learning for navigation, the CNN is
trained
labeled using
data (image, steering angle), where the
provided
steeringby an expert.
value is
•The network learns a function that maps visual input directly to
control commands by minimizing prediction error
backpropagation.
using
Example:
•(image of road → steering = 0.3)
•Learns a direct mapping from perception to action

30-03-2026 AICML,MEC,March 2026 87

2. Reinforcement Learning (RL)


•No labels ,No Data set
•Learns using reward signal
idea: Trial and error learning

Example:
•Reward for reaching goal
•Penalty for collision
example
Algorithm:DQN

Learns optimal policy through interaction with environment

30-03- AICML,MEC,March 8
2026 2026 8
3. Imitation Learning:Imitation learning is a technique
where an agent learns a policy by mimicking the actions of an
expert using demonstration data.

• A human (or expert system) controls the robot


• System records:
• Image (state)
• Action (steering, speed)
• Example:Image of right turn → steering = 0.3 (given by human)
• Then Create Dataset. This dataset is called demonstration data

• Imitation learning , learn from expert demonstrations


means train a model i.e behavioural cloning

Learns policy by mimicking expert behavior


30-03-2026 AICML,MEC,March 2026 89

30-03- AICML,MEC,March 9
2026 2026 0
Image Processing Pipeline for
Navigation
Step 1: Preprocessing
•Resize image (e.g., 224×224)
•Normalize pixel values
•Apply filters (edge detection)
Purpose: Reduce noise C standardize input

30-03-2026 AICML,MEC,March 2026 91

•Step 2: Feature Extraction


• Deep learning models like CNN automatically learns features
• Purpose: Extract useful patterns (edges, lanes, obstacles)
•Step 3: Segmentation
• Classifies pixels into:
• Road
• Obstacles
• Free space
Purpose: Scene understanding
•Step 4:Model Design-CNN for image input Training

30-03- AICML,MEC,March 9
2026 2026 2
Optimizer: Adam / SGD

30-03- AICML,MEC,March 9
2026 2026 2
•Step 5: Testing C Deployment-Simulation → real-world

30-03-2026 AICML,MEC,March 2026 93

CNN-Based Robot Control


•A CNN is a model that learns to understand images
and make decisions.
Step 1:Human drives robot
Step 2:Record:Image and Steering
•While the human is driving,At every moment Robot
camera captures image .Human gives control: steering
(left/right) ,speed .System records both together.
Step 3:Train CNN:
• Input: image
• Output: steering
• CNN learns: When image looks like this → do this action

30-03- AICML,MEC,March 9
2026 2026 4
•Training Process
Steps:
• Input image → CNN
• Predict control output
• Compare with actual value
• Compute loss
• Update weights (backpropagation)
• Repeat for many epochs

Step 4 : Testing:
• Use unseen data
• Validate performance

Step 5 : Deployment

30-03-2026 AICML,MEC,March 2026 95

• The CNN processes the image through a series of layers:


[Link] Layers (for feature extraction)
• Apply filters (or kernels) that scan across the image.
• Filters detect patterns like edges, corners, textures.
• Produces feature maps that highlight important parts of the image.
[Link] Functions (introduce non-linearity)
• Commonly uses ReLU (Rectified Linear Unit).
• Introduces non-linearity, allowing the network to learn complex patterns.
[Link] Layers (Optional)- Reduces size of feature maps
• Reduce the spatial size of feature maps.
• Helps generalize by focusing on dominant features and reducing computation.
4. Flattening
• After convolutions, the feature maps are flattened(reshaped) into a 1D vector.
[Link] connected layer
• Takes flattened input, learns high level reasoning
• combine all extracted features to make predictions.
6. Output layer: Produces output ->Control Commands
• The output layer typically produces:
• One value for steering angle
• One value for speed
• (Optionally more, like braking or gear)

30-03- AICML,MEC,March 9
2026 2026 6
•The network learns by minimizing a loss function that
measures how far the predicted control commands are
from the desired ones.
•For regression (continuous outputs like steering):Mean
Squared Error (MSE):
•For classification (e.g., discrete movement directions):
Cross-Entropy Loss
•The model updates its parameters via
backpropagation and optimizers.

30-03-2026 AICML,MEC,March 2026 97

•CNNs are powerful for image-based robot control due to


automatic feature learning and end-to-end mapping, but
they require large datasets, high computation, and suffer
from interpretability and robustness issues.

30-03- AICML,MEC,March 9
2026 2026 8
Real-Time Feedback Loop

•Camera → CNN → Control → Robot Moves → New Image → Repeat

This
ensures: Continuous decision-
making Adaptation to
environment

30-03-2026 AICML,MEC,March 2026 99

You might also like