Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Part 1 Robot Localisation ( UG and PG ) Robot localization is the process of determining where a mobile robot is located concerning its environment.

Part 1 Robot Localisation (UG and PG)
Robot localization is the process of determining where a mobile robot is located concerning its environment. Robot localization
provides an answer to the question: Where is the robot now? A reliable solution to localization is one of the most fundamental
competencies required by an autonomous robot as the knowledge of the robot's location is an essential precursor to making
decisions about future actions.
In a typical robot localization scenario, a map of the environment is available and the robot is equipped with sensors that observe
the environment as well as monitor its own motion. The localization problem then becomes one of estimating the robot's position
within the map using information gathered from these sensors. The following shows an example of a 2D map drawn using ASCII
characters:
The character 'x' denotes an obstacle (the path cannot be traversed), while the character '0'(Zero) represents a traversable
position. Any position within the map is indicated by the coordinates (k,j), where k is the row number (ordered top to bottom) and j
is the column number (ordered left to right), starting from 1. For example, the top left position is (1,1) and the bottom right is (4,
.
A robot moves on the map and gathers information along the way. In this version, the robot has a single non-deterministic Move
action and its sensors report whether or not obstacles lay immediately to the north, south, east, and west. A sequence of sensor
readings observed is the set of possible blocked directions. The following shows the example of the observed sensor readings at
each time step; which means e.g., at time 1, the north (N), south (S), and west (W) of the robot have obstacles: 1.1 Problem Formulation
The state variable xt represents the location of the robot on the discrete grid; the domain of this variable is the set of
traversable points illustrated as '0' points in the map.
Let NEIGHBORS (i) be the set of traversable points that are adjacent to and let N(i) be the size of that set. Then the
transition model for the Move action is defined as follows, which means the robot has an equal probability of moving to each of
its neighbors.
P(xt+1=j|xt=i)={1N(i)ifjinNEIGHBORS(i)0otherwise
We don't know where the robot starts, so we will assume a uniform distribution over all the states; that is,
P(x0=i)=1K, where K is the number of '0' points in the map.
The sensor variable Et has 16 possible values, each a four-bit sequence giving the presence or absence of an obstacle in each of
the compass directions (North, East, South, and West). NSWE is the way of specifying the four-bit sequence and your program
must expand each direction in this order. For example, a four-bit sequence 1010 represents that the sensors report an obstacle
on its north and west positions, while the east and south positions do not have obstacles.
The sensors' error rate is lon and that errors occur independently for the four sensors. In that case, the probability of getting all
four bits right is (1-lon)4, and the probability of getting them all wrong is lon4. Furthermore, if dit denotes the number of
directions are reporting erroneous values, then the probability that a robot at position i would receive a sensor reading et(i.e.,
the observation/emission model) is:
P(Et=et|xt=i)=(1-lon)4-ditlondit
Using the above problem formulation, you are requested to use the Viterbi forward algorithm provided below to find the Trellis
matrix. A trellis matrix gives us the probability of each state (path in this case) given each observation made by the robot's sensors.
For the path(s) that cannot be traversed, the probability is 0(Zero) in the trellis matrix. Therefore, the trellis matrix could reflect the
possible positions of the robot. 1.2 Deliverables
Write your robot localisation program in Python 3.6.9 in a file called
viterbi.py. Your program must be able to run as follows:Input: Here, [input] specifies the path to a text file. In GradeScope, the file path will be provided. Your program need to be able to
read the file in the following format:
The description of the input file to the program is as follows:
The first line indicates the size of the map (rows by columns).
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Learning MySQL Get A Handle On Your Data

Authors: Seyed M M Tahaghoghi

1st Edition

0596529465, 9780596529468

More Books

Students also viewed these Databases questions

Question

Why do you think this problem has occurred?

Answered: 1 week ago