Go to file
Juraj Oršulić 319be1ad8c Fix race condition (#293)
* Change mutex locker scope in SubmapsDisplay::update()

This avoids the potential unsafe situation where someone (for example,
SubmapsDisplay::Reset()) clears the trajectories vector, but update()
uses it after the mutex has been released, since the scope of the lock
was only in the try block.

Also resolve a miscellaneous signed-unsigned warning.

* Make DrawableSubmap destructor safer

Make the DrawableSubmap destructor wait for the asynchronous fetch
thread to finish - otherwise, it's possible to crash rviz by rapidly
pressing the enable checkbox of the submaps plugin. Eventually the race
condition will be triggered, and the fetch thread will write into a
deleted DrawableSubmap object, which causes a crash.
2017-03-31 16:36:47 +02:00
.github Added an issues template. (#229) 2016-12-18 20:01:55 +01:00
cartographer_ros Follow Cartographer API. (#286) 2017-03-23 16:07:38 +01:00
cartographer_ros_msgs Change SubmapEntry submap_version field to be int32 (#292) 2017-03-29 12:20:58 +02:00
cartographer_rviz Fix race condition (#293) 2017-03-31 16:36:47 +02:00
docs Sphinx build fix (#291) 2017-03-30 10:21:03 +02:00
scripts Small cleanups. (#241) 2016-12-22 14:53:24 +01:00
.dockerignore Adds Kinetic to build matrix. (#222) 2016-12-09 15:24:06 +01:00
.travis.yml Remove use of google_library and google_test. (#234) 2016-12-20 16:20:27 +01:00
AUTHORS Initial import of Cartographer codebase. 2016-08-03 12:45:08 +02:00
CONTRIBUTING.md Initial import of Cartographer codebase. 2016-08-03 12:45:08 +02:00
Dockerfile.indigo Remove unnecessary dependency on Cartographer. (#284) 2017-03-24 17:44:33 +01:00
Dockerfile.kinetic Remove unnecessary dependency on Cartographer. (#284) 2017-03-24 17:44:33 +01:00
LICENSE Initial import of Cartographer codebase. 2016-08-03 12:45:08 +02:00
README.rst Add license badge (#232) 2016-12-19 16:08:16 +01:00
cartographer_ros.rosinstall Depend on Ceres 1.12.0rc4 directly. (#182) 2016-11-22 17:03:04 +01:00

README.rst

.. Copyright 2016 The Cartographer Authors

.. Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

..      http://www.apache.org/licenses/LICENSE-2.0

.. Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

============================
Cartographer ROS Integration
============================

|build| |docs| |license|

Purpose
=======

`Cartographer`_ is a system that provides real-time simultaneous localization
and mapping (`SLAM`_) in 2D and 3D across multiple platforms and sensor
configurations. This project provides Cartographer's ROS integration.

.. _Cartographer: https://github.com/googlecartographer/cartographer
.. _SLAM: https://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping

Getting started
===============

* Learn to use Cartographer with ROS at `our Read the Docs site`_.
* Please join the `mailing list`_ and ask questions.

.. _our Read the Docs site: https://google-cartographer-ros.readthedocs.io
.. _mailing list: https://groups.google.com/forum/#!forum/google-cartographer

Contributing
============

You can find information about contributing to Cartographer's ROS integration
at `our Contribution page`_.

.. _our Contribution page: https://github.com/googlecartographer/cartographer_ros/blob/master/CONTRIBUTING.md

.. |build| image:: https://travis-ci.org/googlecartographer/cartographer_ros.svg?branch=master
    :alt: Build Status
    :scale: 100%
    :target: https://travis-ci.org/googlecartographer/cartographer_ros
.. |docs| image:: https://readthedocs.org/projects/google-cartographer-ros/badge/?version=latest
    :alt: Documentation Status
    :scale: 100%
    :target: https://google-cartographer-ros.readthedocs.io/en/latest/?badge=latest
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
     :alt: Apache 2 license.
     :scale: 100%
     :target: https://github.com/googlecartographer/cartographer_ros/blob/master/LICENSE