Change googlecartographer/cartographer#248 introduced a separation
between MapBuilder and TrajectoryOptions. The ROS repositiories require
changes to track this modification.
- Add a variable list object to the submaps plugin, containing visibility
checkboxes for individual submaps. Each DrawableSubmap creates and
manages its visibility property checkbox object. Submaps are hidden by
detaching the Ogre manual object from the Ogre scene node.
- Fetch if the submap version number is different, possibly lower
(meaning Cartographer was restarted)
- Among the lines added in #150, the one that fixes building with Qt5 is
the following line:
include_directories(${Qt5Widgets_INCLUDE_DIRS})
The rest is redundant and actually doesn't do anything. A CMake
variable named QtX_INCLUDE_DIRS is not defined when find_package()-ing
Qt. Also, there is no need to find_package() Qt5 Widgets twice.
- In documentation, add sudo to rosdep init invocation, following
http://wiki.ros.org/rosdep. Add a comment about the error which will
be printed if the user has already run sudo rosdep init since
installing ROS.
* 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.
This was missed in #262. The "build_doc" target has also been renamed to
"build_doc_ros" in order to avoid conflict with the "build_doc" target
in libcartographer, in case both are being built in the same CMake
project.
* Unify signatures of ReadTransformsFromBag and ReadStaticTransformsFromUrdf. Both functions append data into the buffer, so they can be combined.
* Modifies offline_node and assets_writer to optionally use both the .urdf file and bag transform data, if available (use case: fixed joint descriptions of the robot are in the .urdf, while the odometry-base link transforms are read from the bag); the static transforms are added to the buffer after it has been filled with transforms from the bag (if any).
* offline_node optionally publishes all transforms from the bag (checking if any are in conflict with Cartographer is still TODO; however, this should be the responsibility of the bag provider, just like when using the online node, so it should be OK to leave this unimplemented) and all static transforms from the URDF.
Add support for building libcartographer in the same project
Support adding as a CMake subproject by using the PROJECT_*_DIR variables
instead of the absolute CMAKE_*_DIR variables.
Resolve a signed-unsigned comparison compiler warning
Fix comment typo
We now destroy the LuaParameterDictionary directly after
constructing the NodeOptions, so that it is verified
whether all mentioned parameters are understood.
Before, this was checked when shutting down the node.
FindThreads.cmake (e.g. of trusty) is used which adds the
"-lpthead" dependency that is added to cartographer's
dependencies. Catkin then fails to resolve this in the
cartographer_rosConfig.cmake file it generates to be used
by all dependencies of cartographer_ros.
This means for now, users of cartographer_ros also have to
directly depend on cartographer.