explaingit

mit-acl/meridian

Analysis updated 2026-05-18

13PythonAudience · researcherComplexity · 4/5Setup · hard

TLDR

A research tool that figures out a ground robot's exact location by matching its camera view against an aerial photo, no GPS starting point needed.

Mindmap

mindmap
  root((Meridian))
    What it does
      Ground robot localization
      Uses aerial photos
      No starting position needed
    Tech stack
      Python
      C plus plus
      PyTorch
      ROS2 soon
    Use cases
      Outdoor robot navigation
      Cross view matching
      Research demos
    Audience
      Robotics researchers
      MIT collaborators
    Status
      Research paper on arXiv
      Full dataset not released yet

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Localize an outdoor ground robot against an aerial map without a known starting position.

USE CASE 2

Run the included demo pipeline on sample aerial imagery and a sample robot camera bag.

USE CASE 3

Prototype cross-view geo-localization research building on the paper's pose graph approach.

What is it built with?

PythonC++PyTorchROS2

How does it compare?

mit-acl/meridian1lystore/awaekactashui/sjtu-ppt-template-skill
Stars131313
LanguagePythonPythonPython
Setup difficultyhardmoderatemoderate
Complexity4/52/52/5
Audienceresearchervibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires downloading an 8GB demo dataset and a GPU-backed PyTorch environment tested on Ubuntu 24.04.

The README does not state a license for this repository.

In plain English

Meridian is a research software package from MIT that solves a specific navigation problem for ground robots: figuring out where you are when you only have an overhead aerial photo to compare against. A robot driving through an outdoor environment can use Meridian to determine its precise location on a map derived from aerial imagery, with accuracy down to roughly one meter, and without needing a known starting position or any location-specific tuning beforehand. The approach works by extracting simple geometric shapes, specifically points and lines, from both the aerial view and the robot's own camera view. The system then finds matches between these shapes across the two very different perspectives. To handle the fact that a sky-down view and a ground-level view look quite different, Meridian builds up a series of pose measurements over time and uses a method called pose graph optimization to find the most consistent set of location estimates. The code is written primarily in Python, with computationally heavy parts handled in C++ or using a graphics card through PyTorch. A connector for ROS2, the standard software framework used in robotics research, is listed as coming soon. The repository includes an install script that sets up the environment, along with a script that downloads about 8 gigabytes of demo data so you can test the full pipeline immediately after installation. This is a research project accompanied by a paper on arXiv from a team at MIT and collaborators. The full dataset used in the research, called the Camp Dataset, has not been released yet as of the README. The project is supported by the US Army Research Laboratory and DSTA.

Copy-paste prompts

Prompt 1
Explain how Meridian matches a ground robot's camera view to an aerial photo to find its location.
Prompt 2
Walk me through installing Meridian and running its demo pipeline with the sample data.
Prompt 3
Summarize what pose graph optimization does in Meridian and why it is needed here.
Prompt 4
Help me set up the environment variables Meridian needs for the demo weights and data.

Frequently asked questions

What is meridian?

A research tool that figures out a ground robot's exact location by matching its camera view against an aerial photo, no GPS starting point needed.

What language is meridian written in?

Mainly Python. The stack also includes Python, C++, PyTorch.

What license does meridian use?

The README does not state a license for this repository.

How hard is meridian to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is meridian for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.