Sarthak Sahai

Portfolio · 2026

Initialising scan head

000%

SarthakSahai
← All projects

05Rover mission-planning softwareActive

MPT

Mission Planning Tool

  • 3person team
  • Anylaptop, even with low specs

Part of my CSA internship: while the rest of the team worked on the legacy software, I built a new rover mission-planning tool that runs on any laptop, low-spec included, and explored unconventional ways to implement path planning.

Role
Front end & path-planning R&D
Team
3-person team
Period
Sep 2026 — Present
With
Canadian Space Agency · Internship

Illustrative demo · MPT

Loading instrument…

3
person team
Any
laptop it runs on, even with low specs
CSA
internship project

01The brief

A planning tool for any laptop

As part of my internship at the Canadian Space Agency, I worked on rover mission planning: software that helps decide where a rover should go, and how it should get there.

We were a team of three. The other two worked on the existing, legacy software. I built a new tool alongside it, with two aims: that it should run on any laptop, low-spec ones included, and that it should try some unconventional ways of implementing path planning.

Because the work was done at the CSA, this page describes it in general terms. The interactive planner at the top is not that tool: it is a small illustration I wrote for this site, on made-up terrain, to show the kind of problem path planning solves.

Context
Canadian Space Agency · internship
Team
3 people
My part
Front end · path-planning R&D
Aim
Runs on any laptop, even a low-spec one

02My role

The front end, and a different way to plan

  1. 01

    Own the front end

    Designed and built the interface of the new tool: what a planner sees and touches when setting up a plan and checking it.

  2. 02

    Look beyond the usual

    Explored unconventional ways of implementing path planning, rather than only the conventional ones.

  3. 03

    Keep it light

    Built the tool to run on any laptop, including low-spec machines.

  4. 04

    Work in a team of three

    Two teammates worked on the legacy software; I worked on a new tool.

03How planning works

From terrain to route, in general terms

Most grid-based path planning comes down to three ideas. The planner at the top of this page uses all of them, on terrain that does not exist.

  • 01

    Terrain becomes a grid

    Planning starts by turning the ground into cells and asking, for each one, how hard it is to cross: how steep it is, how close it sits to a hazard, how much light it gets.

  • 02

    Costs decide the route

    A search then finds the cheapest chain of moves between two points. “Cheapest” is a choice: least time, safest ground, least energy. The same search with different costs gives a different route.

  • 03

    Time changes the answer

    Light moves, so a route that works now can be in shadow ten minutes later. A planner can take that into account, and even choose to wait.

04About the demo

A small illustration

It is not the CSA’s software. The terrain is made up, its parameters are illustrative, and it uses no CSA data or code.

It is simplified on purpose: the terrain is procedural, the patch is about a kilometre across, the sun moves far faster than the real one so that a short drive shows what takes hours, and there is no battery model.

Things to try

Move the pins
Drag A and B, or focus one and use the arrow keys.
Fastest or Safest
Same terrain, two definitions of “best”: watch the route change.
Draw a keep-out zone
Choose Keep-out zone, then click, tap or drag on the map to close ground off. The route goes around it.
Sunlight only
The rover plans around the light, and waits where it has to.
Search method
Under Advanced: A* and Dijkstra return the same route. Turn on Explored to see how much less map A* reads.