Skip to content

Sarantsev/IAEML-assignment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IAEML - Assignment

This repository was specifically designed to practice and implement the concepts covered in IAEML course at Innopolis University. Vehicular automation is a notable challenging domain where these concepts can be applied.

Specifically, in this repository we have a simple 2D environment with an agent, destination and obstacles to avoid. The obstacles can be either static or moving. For simplicity, all objects are modeled as circles with radius $r=1$.

tasks.py comes in handy when we want to train something like meta-learning.

base.py defines an environment which models core elements required in self-driving cars:

  • Perception is modeled as $M$ evenly fanned rays casted from the center of the agent.
  • Navigation is solved using a dynamic programming algorithm fully executed on a device.

The environment has the following interface

  • init_params() prepares env_params and init_state.
  • reset() can be used to set env_state back to env_state.
  • step() executes one step of the simulation.
  • get_observation() returns the "point-of-view" of the agent.

Notably, BaseEnv is just a struct with functions that operates on BaseEnvState and takes BaseEnvParams as static arguments. Static arguments are "baked" into a function using jax.jit() decorator.

One limitation at the moment is that sampling a new task will always result in recompiling the environment functions since it changes the content of env_params and shapes in env_state. The latter can be solved by forcing all maps to be of the same shape.

base.py does not implement a model of vehicle dynamics.

You can play it

python src/main.py

There are some issues with JAX on OSX. This solves it

JAX_PLATFORM_NAME=cpu python src/main.py

...


Tested with python 3.11, Ubuntu 24.04 adm64 on Oct 20, 2025.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%