Invisible Map Project Site

An ever-changing document by contributors to the Invisible Map project. Originally created by Allison Li and Ben Morris.

Welcome OCCAM Lab Invisible Map Developers and/or anyone interested in this project! This website explains the base knowledge you should have for you to start learning about and working on the Invisible Map project, as well as links to more detailed resources.

On this page

Project Introduction

The Invisible Map is an iOS ARKit project developed in the OCCAM lab at Olin College of Engineering. It is aimed at assisting people who are blind or visually impaired in navigating unfamiliar spaces, however it is applicable to situations where any person may be able to utilize it, such as hospitals, conventions, stadiums, and other large indoor spaces. The goal of the project is for a user to be able to map out a space by placing AprilTags around the area and using iPhone AR capabilites to record data and mark points of interest as they walk paths through the space. Then, the map can be used in AR by people unfamiliar with the space to navigate between locations.

The project consists of three parts. The front-end map creation (Invisible Map Creator) is an iOS app that a user would use to walk around a space populated with AprilTags, track points of interest, and save the map. The back-end map processing is written in Python and will ideally be constantly running on a server, taking the raw map data and optimizing it to synthesize the full invisible map. The front-end map viewing (Invisible Map) is another iOS app which stores the list of maps and is where the user can choose one and begin navigating a space with it. More details about the structure are on the code structure page.

Progress Reports

The following is a list of links to progress reports written by previous researchers on this project.

TODOs

Invisible Map Creator Invisible Map Generation Invisible Map User Design
  • Organize maps and make them accessible
    • Public maps: add the ability to make maps that are available to all users and can be searched for
    • Shareable private maps: add the ability to make maps that can be shared to certain users via link, code, etc.
  • Edit maps
    • Delete maps
    • Edit map name & key location names
    • Add custom picture icon
  • App features
    • Pause map recording
    • Add new recording to a previously created map
  • Floor detection
    • Connect odometry nodes connected by floor (not just intersections)
    • Notify mapper of hallways that have not been travelled yet
    • See Plan To Add Common Floor Detection, idea 2
  • Fix map names to not include numbers
    • Probably include more metadata to differentiate maps
  • Continue finding metrics to evaluate optimized map quality
    • Consider ways of obtaining ground truth data
  • Test if dummy nodes are still needed with the new weights
  • Improve map navigation
    • Add keypoints at turns (like Clew: fit lines to the path rather than going between each odometry point.
    • Add Clew-style navigation: verbal feedback in addition to audio and haptics
    • Investigate using the automatic localization that Clew anchor points sometimes use to start navigation rather than needing to scan a tag
  • App features
    • Customization of directions, sounds, haptics, etc.
    • Voice notes (navigation context is important)
    • Use GPS positioning to identify public maps in the area
  • Helping BVI people find tags
  • Obstacle detections - possibly combine with voice notes
    • Make sure to give context for any detours
  • Tutorials for both apps