- Move sources from <project>/src into project/project and fix includes.
- Add autogenerated CMakeFiles for ROS projects. The python script is
not yet fully updated to be used for keeping the files updated without
manual intervention though.
- Build everything with -fPIC, so we can create shared libraries.
* Pulls out TfBridge.
* SensorBridge has its own options.
* SensorBridge is now responsible for transforming the sensor data into the tracking frame.
* Constant odometry covariance is no longer optional.
Before, republishing the point clouds at high frequency caused unnecessary
computational load.
This also fixes an issue seen in RViz:
After replaying a bag, point clouds with the same timestamp were continued to
be published. These were never dropped by the PointCloud2 display leading to
excessive memory consumption and bad visualization performance.
When receiving a FinishTrajectory call, the Cartographer nodes catches up on
computing loop closures, runs a final optimization, and when in 2D writes out
a PGM map similar to map_saver.
The publish_occupancy_grid option is removed, and the publisher always
created in 2D. Only when subscribed to, we start computing OccupancyGrids.
Adds documentation for published topics where this is now documented.
Dropping data significantly harms quality of SLAM. This change means that
all data will be kept. If the system falls behind only for a short period
of time this is preferable. Publishing of the pose and submaps does not
work in this case and needs improvement.
This changes the URDF and timeout for the TurtleBot configuration,
and adds a Dockerfile with everything that is needed to run 2D SLAM
with a depth camera. Verified to work on a TurtleBot 2 with an
ASUS Xtion.
And tiny style fixes.
Fixes configuration files to work with the latest code changes.
Also removes the remapping from turtlebot.launch which does not
seem to be useful so far.
Adds an option publish_occupancy_grid (disabled by default) which continuously
computes and publishes OccupancyGrid in a background thread. Only the 2D case is
currently supported.
And small code style and typo fixes.
Adds an 'expect_odometry_data' option to the configuration. When enabled,
listens to the '/odom' topic, which must provide odometry that is taken
into account for SLAM.
Also renames the 'provide_odom' option to 'provide_odom_frame'.
Configuration of Cartographer's ROS integration is now
entirely handled by Lua. The path and basename of the
configuration are given by command line flags.
The node is listening to default topic names which are
expected to be remapped as needed.
This adds two launch files for running 2D and 3D demos.
A bag filename is expected as an argument and is played
back using simulation time while showing the result in a
preconfigured RViz window.
Removes the SceneManagerListener and instead computes the transform
when a new submap list is received. The second part of the transform
is also updated when a new texture is received.
Also simplifies the drawing code a bit by using a triangle strip.
Changes the confusingly named GetOdometryToMapTransform() function
to GetLocalToGlobalTransform(), since it is transforming from the
local SLAM map frame to the global SLAM map frame.
Uses a more concise name to show in RViz.
Moves updating the z fading out of the SceneManagerListener.
(to be removed in a future PR)
Simplifies SubmapsDisplay::processMessage() and
DrawableSubmap::Transform().
The 'version_' member of a DrawableSubmap is now properly initialized.
The redundant 'submap_id' in the SubmapQuery response is removed.
The missing slot for reset() is added.
Instead of drawing into a offscreen texture and blitting the
result as an overlay (which shows up on top of everything else)
we directly draw to the RViz scene. To get proper X-rays one
should use a 0.5 gray background for now.
Also fixes the configuration to enable 3D mapping from a bag.
Changes the pose publishing to always publish the odom to map transform.
Either expects or provides (configurable) the odom to tracking transform.
Also cleans up the RViz plugin code a bit.
* Add code to allow offline processing of 2D Cartographer bags.
Fixes waiting for transforms to be published, adds support for multi-echo
laser scans, sets default values for the submap topic and query for the
RViz plugin.