GithubHelp home page GithubHelp logo

nilax97 / agent-tracking Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 614 KB

Tracking an embodied AI agent to estimate movement from observations

License: MIT License

Python 100.00%
embodied-agent planning-algorithms uncertainty-estimation tracking-algorithm observation-models transistion-model state-estimation iit-delhi

agent-tracking's Introduction

Documentation License: MIT

Agent-Tracking

Tracking an embodied AI agent to estimate movement from observations

Table of Contents

Introduction

This project was done as an assignment for the Spring 2019-20 course COL864 - Learning/AI for Cognitive Robot Intelligence taught by Prof. Rohan Paul at IIT Delhi. Primary theoretical resources were from Artificial Intelligence: A Modern Approach

Problem

  • This problem concerns tracking an agent (an underwater vehicle) exploring a lake. The robot is submerged at a particular depth and not visible on the surface. Our goal is to estimate the agent’s movement via an immersed acoustic receiver in the lake.
  • We assume a discrete world and discretize the lake as a 2D grid of 5×5 grid. The robot can take 4 discrete actions of moving forward, backwards, left or right to an adjacent grid locations and these movements are equally likely within the grid. *As the agent moves around in the lake it may encounter rocks emitting a bump sound. Further, the agent emits sound from its rotors that is heard by the receiver.
  • The receiver can distinguish the two types of sounds (bump or rotor) and records the presence or absence of these sounds at each time instant. The likelihood of measuring the presence or absence of the rotor or bump sounds at each time step is stochastic and depends on local conditions in the lake.
  • The spatial likelihood of hearing (observing) a bump sound or a rotor sound at each time step was represented as a binary grid. The likelihood of hearing the two types of sounds can be considered independent.

Problem_plot The spatial likelihood of hearing the presence or absence of a rotor sound (left) or a bump sound (right) over the 5 × 5 grid. The light squares represent probability 0.9 and dark square represents 0.1.

For more details refer to problem_statement

Results

For mode details refer to the report

Transisition Model

transistion_model

This is the transistion model for the 5x5 grid

Tasks

On this, given the observation sequence, we had to estimate the agent's location (across multiple tasks)

The tasks included filtering, smoothing, most-likely path prediction. We modelled this environment for 2 grid sizes (5x5 and 25x25). The results are as follows (since we're using random, different seed values might result in slightly different results)

Filtering Task

Probability Likelihood Probability Likelihood

Most Likely vs Ground Truth Most Likely vs Ground Truth

Smoothing Task

Probability Likelihood Probability Likelihood Most Likely vs Ground Truth Most Likely vs Ground Truth

###Future Likelihood Prediction

Future Likelihood

Future Likelihood till t+5 timesteps

Author

Nilaksh Agarwal

License

MIT License

Copyright (c) 2021 Nilaksh Agarwal


agent-tracking's People

Contributors

nilax97 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.