From 454d3ee9737a54e4672e5258f8cc14dd5674fedd Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 11 Jun 2024 18:12:00 +0100 Subject: [PATCH 01/28] initial code --- docs/imgs/jaxnav-ma.gif | Bin 0 -> 3464681 bytes jaxmarl/environments/jaxnav/README.md | 0 jaxmarl/environments/jaxnav/__init__.py | 0 jaxmarl/environments/jaxnav/jaxnav_env.py | 771 +++++++++++++ .../environments/jaxnav/jaxnav_graph_utils.py | 272 +++++ .../environments/jaxnav/jaxnav_singletons.py | 729 ++++++++++++ jaxmarl/environments/jaxnav/jaxnav_utils.py | 0 jaxmarl/environments/jaxnav/jaxnav_viz.py | 108 ++ jaxmarl/environments/jaxnav/maps/__init__.py | 2 + jaxmarl/environments/jaxnav/maps/grid_map.py | 1006 +++++++++++++++++ jaxmarl/environments/jaxnav/maps/map.py | 435 +++++++ .../jaxnav/maps/map_registration.py | 25 + .../environments/jaxnav/maps/polygon_map.py | 224 ++++ 13 files changed, 3572 insertions(+) create mode 100644 docs/imgs/jaxnav-ma.gif create mode 100644 jaxmarl/environments/jaxnav/README.md create mode 100644 jaxmarl/environments/jaxnav/__init__.py create mode 100644 jaxmarl/environments/jaxnav/jaxnav_env.py create mode 100644 jaxmarl/environments/jaxnav/jaxnav_graph_utils.py create mode 100644 jaxmarl/environments/jaxnav/jaxnav_singletons.py create mode 100644 jaxmarl/environments/jaxnav/jaxnav_utils.py create mode 100644 jaxmarl/environments/jaxnav/jaxnav_viz.py create mode 100644 jaxmarl/environments/jaxnav/maps/__init__.py create mode 100644 jaxmarl/environments/jaxnav/maps/grid_map.py create mode 100644 jaxmarl/environments/jaxnav/maps/map.py create mode 100644 jaxmarl/environments/jaxnav/maps/map_registration.py create mode 100644 jaxmarl/environments/jaxnav/maps/polygon_map.py diff --git a/docs/imgs/jaxnav-ma.gif b/docs/imgs/jaxnav-ma.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4996d5d9d6080f68f423081afc14d19a7e4acd4 GIT binary patch literal 3464681 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