Commit Graph

527 Commits (b0420bf4300684e1d0443adc2dde6d409ffff331)

Author SHA1 Message Date
Damon Kohler a6f89533c0 Configures intersphinx. (#102)
* Refers back to Cartographer's system requirements.
2016-10-12 14:30:10 +02:00
Wolfgang Hess e4f4b16e54 Adds documentation about the 2D backpack data. (#99) 2016-10-11 17:12:37 +02:00
Damon Kohler 7a70ef92a6 Improves documentation. (#97)
* Adds system requirements to the documentation.
* References our mailing list.
2016-10-11 15:48:27 +02:00
Wolfgang Hess 61183d5dbc Improve the 2D backpack URDF. (#96) 2016-10-11 15:12:23 +02:00
Wolfgang Hess 2631799820 Tiny formatting changes. (#93) 2016-10-11 09:54:40 +02:00
Damon Kohler d4825af3d4 Moves sensor data transformation into SensorBridge. (#88)
* 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.
2016-10-10 16:15:17 +02:00
Damon Kohler 2a040bc755 Directly use Eigen representations of IMU data. (#91) 2016-10-10 13:29:37 +02:00
Damon Kohler a02dfa084a Renames SensorDataProducer to SensorBridge. (#90) 2016-10-10 10:58:27 +02:00
Wolfgang Hess 0c8d6afc33 Disable culling for submaps and reduce overdraw. (#85)
We disable backface culling so that submaps also show when looked at from
below.

We add a depth bias to move submaps further to the back, so that submaps
do not overdraw the visualization of laser scans which makes the latter
sometimes hard to see.
2016-10-06 16:53:31 +02:00
Wolfgang Hess 1418902493 Do not republish unchanged scan matched point clouds. (#84)
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.
2016-10-06 15:11:17 +02:00
Damon Kohler f4e89a070e Small fixes. (#83) 2016-10-05 17:27:21 +02:00
Damon Kohler 407c7fb3d8 Fleshes out the ROS API documentation. (#82) 2016-10-05 16:33:50 +02:00
Wolfgang Hess 965d70fbee Also write a YAML file for the final map. (#81)
This allows the saved map to be served by map_server.
2016-10-05 15:30:25 +02:00
Wolfgang Hess 6fd405c78d Add support for finishing and writing 2D maps. (#80)
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.
2016-10-05 12:28:29 +02:00
Wolfgang Hess 2128f32d87 Tunes the 3D backpack demo. (#79) 2016-10-04 16:01:46 +02:00
Damon Kohler 23366128b0 Small fixes to README. (#78) 2016-10-04 15:39:54 +02:00
Damon Kohler e1aaf65ac3 Adds PR2 demo and script for dropping TF frames. (#77) 2016-09-30 15:09:31 +02:00
Damon Kohler 3a413028d9 Adds Revo LDS demo. (#76)
* Adds Revo LDS demo.
2016-09-30 14:25:28 +02:00
Damon Kohler ab381d5e6c Adds 3D demo bag docs. (#75)
* Improves consistency across documentation.
2016-09-30 11:25:43 +02:00
Wolfgang Hess ccf77d55e2 Move the ScopedRosLogSink to a separate file. (#74) 2016-09-30 10:20:11 +02:00
Wolfgang Hess d48034df46 Simplify OccupancyGrid publishing. (#73)
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.
2016-09-29 17:06:48 +02:00
Wolfgang Hess 0fda88b8d6 Move NodeOptions and OccupancyGrid building. (#72)
Constructing NodeOptions and nav_msgs::OccupancyGrids
is moved out of the ROS node implementation file.
2016-09-29 15:45:24 +02:00
Damon Kohler 337607692a Fixes wstool invocation to match wstool docs. (#71)
* Simplifies CMake installation configuration.
2016-09-28 14:36:22 +02:00
Wolfgang Hess 0e15fb9a87 Quickly skip over data at the beginning. (#70)
Sensor data that precedes the published tf transforms can likely never be
transformed, so it should be skipped without delay.
2016-09-27 16:39:25 +02:00
Wolfgang Hess 152e68cd1a Adds documentation of the ROS integration options. (#69) 2016-09-27 12:09:57 +02:00
Wolfgang Hess 9103b846ff Do not drop data when falling behind. (#68)
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.
2016-09-26 16:06:58 +02:00
Wolfgang Hess 87a2437d04 Simplify the 3D configuration file. (#67) 2016-09-22 15:41:00 +02:00
Damon Kohler 1525dbdbc7 Pulls out RViz support into a separate package. (#66) 2016-09-20 10:30:21 +02:00
Damon Kohler 534f0119c4 Transforms odometry into the tracking frame. (#65) 2016-09-20 08:42:56 +02:00
Damon Kohler 45d18d53eb Fixes #63 (#64) 2016-09-19 10:44:29 +02:00
Wolfgang Hess 1bd2c5fb9a Make the published frame configurable. (#61)
This fixes #59.
2016-09-16 14:29:30 +02:00
Damon Kohler e576d72dfc Makes topic names relative. (#60)
* Fixes #58
2016-09-16 13:45:17 +02:00
Damon Kohler 3592b13871 Adds an option for constant odometry variance. (#56) 2016-09-15 13:42:05 +02:00
Wolfgang Hess 15e9638ce7 Remove TurtleBot related configuration and cleanup. (#55)
TurtleBot related configuration moves to a new repository
cartographer_turtlebot.

package.xml files got cleaned up and changed to version 2.
2016-09-15 12:05:03 +02:00
Wolfgang Hess 0e26c9feac Add support for 2D SLAM with a depth camera. (#54)
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.
2016-09-13 17:33:41 +02:00
Damon Kohler 70f40c6ef2 Adds publishing of the scan matched point could. (#53) 2016-09-09 14:20:10 +02:00
Wolfgang Hess f4d69a738b Fix configuration files. (#52)
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.
2016-09-08 18:12:03 +02:00
Damon Kohler 9003b19343 Uses MapBuilder and cleans up some configurations. (#51) 2016-09-08 17:01:21 +02:00
Wolfgang Hess 0cd8f047ed Build cartographer_ros with -O3. (#50)
Most importantly this should fix #41. Before the ROS integration was built
unoptimized which caused performance issues.
2016-09-08 15:23:19 +02:00
Holger Rapp 569826debf Refactored the node for easier code reuse. (#49) 2016-09-07 15:00:57 +02:00
Holger Rapp a2567ab0ab Use WallTimer to always publish pose and submaps. (#47)
This makes the publishing independent from the inflow of sensor data and
is more in line with how the ROS world works.

Fixes #44.
2016-09-02 13:25:43 +02:00
Wolfgang Hess 2e9652d71f libwebp-dev is now handled by rosdep. (#46) 2016-09-02 12:25:57 +02:00
Damon Kohler 2bb67ac70b Improves the Docker installation script. (#43)
- Builds with Ninja.
- Catkin workspace cleaned up after installation.
- Runs all tests, including those from cartographer.
2016-09-02 11:22:26 +02:00
Damon Kohler f1b273f51d Removes unused repos from the rosinstall. (#42) 2016-09-02 10:42:54 +02:00
Wolfgang Hess 5bf03a929c Improved documentation of cartographer_ros. (#36)
Use wstool and rosdep to fetch dependencies.
2016-08-30 16:12:32 +02:00
Damon Kohler 58f9b48341 Adds Catkin wrapper for building Ceres. (#35) 2016-08-30 15:00:02 +02:00
Wolfgang Hess 32be55f42c Add support for publishing nav_msgs/OccupanyGrid messages. (#31)
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.
2016-08-30 13:54:31 +02:00
Stefan Kohlbrecher 058958e38c Adds lua parameter for setting transform wait time (#33) 2016-08-30 11:31:54 +02:00
Damon Kohler 76b1f92fcd Adds documentation for starting the 2D SLAM demo. (#30) 2016-08-30 09:50:33 +02:00
Wolfgang Hess cfd09abccf Sets up Travis CI. (#34) 2016-08-30 08:33:45 +02:00