# Cartographer

> SLAM software

**Wikidata**: [Q122765716](https://www.wikidata.org/wiki/Q122765716)  
**Source**: https://4ort.xyz/entity/cartographer-q122765716

## Summary

Cartographer is an open-source SLAM (Simultaneous Localization and Mapping) software that enables real-time mapping and localization for robots and autonomous systems. Developed and released by Google, it provides algorithms for constructing maps of unknown environments while simultaneously tracking a device's position within those maps. The software is licensed under the Apache Software License 2.0 and is hosted on GitHub at the cartographer-project/cartographer repository.

## Key Facts

- **License:** Apache Software License 2.0 (referenced 2023-09-23 from GitHub API)
- **Instance Of:** Software (non-tangible executable component of a computer)
- **Wikidata Description:** SLAM software
- **Source Code Repository:** https://github.com/cartographer-project/cartographer
- **Description URL:** https://www.damonkohler.com/2014/09/cartographer-mapping-backpack.html
- **Version History:**
  - Version 0.1.0 — stable version — released 2017-06-19
  - Version 0.2.0 — stable version — released 2017-06-19
  - Version 0.3.0 — stable version — released 2017-11-23
  - Version 1.0.0 — stable version — released 2018-05-30
  - Version 2.0.0 — preferred stable version — released 2021-03-11
- **Parent Class:** Software (subclass of creative work, written work, means, and product)
- **Related Entity:** Software (sitelink_count: 169)

## FAQs

### Q: What is Cartographer used for?

A: Cartographer is a SLAM (Simultaneous Localization and Mapping) system that allows robots and autonomous devices to build maps of unknown environments in real-time while simultaneously determining their own position within those maps. It is particularly useful for robotic navigation, autonomous driving, and indoor mapping applications.

### Q: Who developed Cartographer?

A: Cartographer was developed by Google. The software was originally created to enable mapping with backpacks and other robotic platforms, as evidenced by early documentation on Damon Kohler's blog describing cartographer mapping backpack applications.

### Q: What license does Cartographer use?

A: Cartographer is released under the Apache Software License 2.0, an open-source license that permits free use, modification, and distribution of the software.

### Q: What is the latest stable version of Cartographer?

A: The preferred stable version is 2.0.0, which was released on 2021-03-11. This version represents the current recommended release for production use.

### Q: Where can I find the Cartographer source code?

A: The source code is available on GitHub at https://github.com/cartographer-project/cartographer, where users can access the repository, view release history, and contribute to the project.

## Why It Matters

Cartographer represents a significant advancement in robotic navigation and mapping technology by providing an open-source, production-ready SLAM solution. SLAM is one of the most challenging problems in robotics and autonomous systems, as it requires a device to construct a map of an unknown environment while simultaneously tracking its own position within that environment — essentially solving a "chicken and egg" problem in real-time.

Before Cartographer, organizations seeking to implement SLAM had to either build their own solutions from scratch or use proprietary, expensive alternatives. Google's release of Cartographer as open-source democratized access to high-quality SLAM technology, enabling researchers, hobbyists, and companies to implement sophisticated mapping capabilities without significant investment in proprietary software development.

The software's significance is amplified by its versatility across multiple platforms and sensors, making it applicable to a wide range of use cases from small indoor robots to autonomous vehicles. Its development at Google, one of the world's leading technology companies, lends credibility and ensures ongoing maintenance and improvement. The progression from version 0.1.0 in June 2017 to version 2.0.0 in March 2021 demonstrates continuous refinement and feature development, with each stable release improving reliability and capability.

## Notable For

- **Open-Source SLAM Implementation:** One of the first production-grade, open-source SLAM solutions released by a major technology company
- **Real-Time Operation:** Capable of constructing maps in real-time while the robot is in motion
- **Multi-Platform Support:** Designed to work with various robotic platforms and sensor configurations
- **Continuous Development:** Maintained active development over four years with five stable releases
- **Google-Backed Reliability:** Developed and maintained by Google, ensuring professional-grade code quality and documentation

## Body

### Definition and Classification

Cartographer is classified as SLAM (Simultaneous Localization and Mapping) software, which falls under the broader category of robotics software and navigation systems. As software, it is a non-tangible executable component of a computer system, functioning as a tool that enables arithmetic and logical operations — specifically, the complex calculations required for mapping and localization. Within taxonomic structures, Cartographer is an instance of software, which itself is considered a subclass of creative work, written work, means, and product.

### Technical Architecture

As a SLAM system, Cartographer implements algorithms that solve the simultaneous localization and mapping problem. The software takes input from various sensors (such as lidar, IMU, and odometry) and processes this data to generate a consistent map of the environment while estimating the robot's pose. The architecture is designed to be modular, allowing it to work with different sensor configurations and robotic platforms.

### Version History and Development

The software has undergone significant evolution since its initial release:

- **Version 0.1.0** (June 19, 2017): Initial stable release marking the public availability of Cartographer
- **Version 0.2.0** (June 19, 2017): Follow-up release on the same date, indicating rapid iteration in early development
- **Version 0.3.0** (November 23, 2017): Subsequent update five months after initial release
- **Version 1.0.0** (May 30, 2018): First major version milestone, signifying API stabilization
- **Version 2.0.0** (March 11, 2021): Current preferred stable version, representing significant feature additions and improvements

The nearly three-year gap between version 1.0.0 and version 2.0.0 suggests substantial architectural changes and feature development in the later release.

### Licensing and Distribution

Cartographer is distributed under the Apache Software License 2.0, one of the most permissive open-source licenses available. This license allows users to freely use, modify, distribute, and commercialize the software without requiring source code modifications to be released. The license was referenced from the official GitHub repository on September 23, 2023, confirming active maintenance and licensing compliance.

### Repository and Source Code Access

The official source code repository is hosted on GitHub at https://github.com/cartographer-project/cartographer. This platform provides version control, issue tracking, release management, and collaborative development tools. The repository serves as the central hub for the Cartographer community to access code, report bugs, request features, and contribute to development.

### Documentation and References

The software is documented through multiple sources, including the primary GitHub repository and external references such as https://www.damonkohler.com/2014/09/cartographer-mapping-backpack.html. This early blog post describes the origins of Cartographer in Google's robotics efforts, specifically mentioning its use in mapping with backpacks — a practical application demonstrating the software's capability to create high-quality maps using wearable or portable robotic systems.

### Relationship to Software Category

Cartographer inherits the characteristics of its parent category, software. Like all software, it consists of computer programs and data that enable a computer to perform specific operations. In this case, the operations involve the complex mathematical computations required for simultaneous localization and mapping. The software is studied within the academic disciplines of robotics engineering, computer science, and software engineering, with its development following software engineering best practices for architecture, quality, and testability.

### Ecosystem Position

Within the broader software ecosystem, Cartographer occupies a specialized niche in robotics and autonomous systems. It relates to other robotics software, navigation systems, and mapping tools. The software's existence contributes to the broader open-source robotics ecosystem, complementing other projects in the field and enabling more sophisticated robotic applications to be developed by researchers and companies worldwide.

## References

1. [Source](https://api.github.com/repos/cartographer-project/cartographer)
2. [Release 0.1.0. 2017](https://github.com/cartographer-project/cartographer/releases/tag/0.1.0)
3. [Release 0.2.0. 2017](https://github.com/cartographer-project/cartographer/releases/tag/0.2.0)
4. [Release 0.3.0. 2017](https://github.com/cartographer-project/cartographer/releases/tag/0.3.0)
5. [Release 1.0.0. 2018](https://github.com/cartographer-project/cartographer/releases/tag/1.0.0)
6. [Release 2.0.0. 2021](https://github.com/cartographer-project/cartographer/releases/tag/2.0.0)