LVPS Components
The components, as I developed them, were intended for the DIY/maker community to run on reasonably priced hardware, without requiring complex infrastructure or pre-installed beacons.
Vision Models
Trained TFlite-compatible vision recognition models that can easily be deployed to mobile devices, including:
Infrared Light Detection Model: Recognizes IR lights in such a way that a higher algorithm can identify shapes of the IR lights for use as landmarks. Example: IR Square, IR Triangle, IR Vertical Line, etc.
Hobby Lobby Object Detection Model: Trained with random decorative objects I will set around the search area.
Technologies: Tensorflow, TFLite
Portable Mapping Format
A simple json mapping format, which lets overlay a cartesian coordinate system on any area, blocking out certain areas, setting boundaries, and defining where 'landmark' objects can be found, to assist in positioning.
Technologies: Json
Positioning Software & Config
A code library that is able to retrieve live images from multiple cameras and use that, in combination with a map, to determine current location and heading, from the point of view of the cameras.
For a host system that is using the positioning system, a simple method call to "get_coords_and_heading()" should return an x,y coordinate, heading (degrees), and confidence indicator. This library also provides a simple framework for controlling and directing autonomous vehicles.
Technologies: Python
Task Planning / Logging Rest Service
A simple rest service that hosts the maps and models in a way that makes them easily available to robots within the system. The service also provides centralized place for robots to log their locations, so they can be tracked and easily retrieved later.
This service can be hosted by one of the robots, if desired. Ideally, the robots should be able to navigate just fine without this, they would just need to connect to it initially to download maps/models/etc.
Technologies: Python, Django, Postgres
Bot Captain
A mobile app that give me visibility into the maps, locations, and movements of robots or devices that are using the system.
Technologies: Android, Kotlin
Reference Robots
A few reference robots that implement the a small set of capabilities required to host the positioning system and perform some basic actions.
Technologies: C++