Commit Graph

586 Commits (c06879b63567a78ef92b7d1fa79453839e36ffec)

Author SHA1 Message Date
Wolfgang Hess cfdab98cf3 Fix link to the ROS node source in the API documentation. () 2016-10-14 13:55:49 +02:00
Wolfgang Hess 8d36c633b8 Updates use of LaserFan following cartographer. ()
This follows changes from  and
.
2016-10-14 12:41:00 +02:00
Wolfgang Hess 4557d9fd12 Use the simplified ToLaserFan3D function. () 2016-10-13 15:31:47 +02:00
Holger Rapp 90872f3697 Update cMakeLists.txt. () 2016-10-13 15:10:02 +02:00
Damon Kohler 0a76d10546 Moves SensorData struct into Cartographer. () 2016-10-13 14:38:00 +02:00
Holger Rapp bc3a4978f2 We do not use ZLIB anymore. () 2016-10-13 12:31:28 +02:00
Holger Rapp 9ac88abcfc Fix compile warnings and add a clarifying comment. () 2016-10-13 11:44:19 +02:00
Holger Rapp be7ce01463 Use Cartographer's cmake functions for ROS projects. ()
- 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.
2016-10-12 17:50:37 +02:00
Wolfgang Hess 0e8d219eef Fix the IMU orientation in the 2D backpack URDF. () 2016-10-12 17:27:17 +02:00
Damon Kohler a6f89533c0 Configures intersphinx. ()
* 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. () 2016-10-11 17:12:37 +02:00
Damon Kohler 7a70ef92a6 Improves documentation. ()
* 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. () 2016-10-11 15:12:23 +02:00
Wolfgang Hess 2631799820 Tiny formatting changes. () 2016-10-11 09:54:40 +02:00
Damon Kohler d4825af3d4 Moves sensor data transformation into SensorBridge. ()
* 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. () 2016-10-10 13:29:37 +02:00
Damon Kohler a02dfa084a Renames SensorDataProducer to SensorBridge. () 2016-10-10 10:58:27 +02:00
Wolfgang Hess 0c8d6afc33 Disable culling for submaps and reduce overdraw. ()
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. ()
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. () 2016-10-05 17:27:21 +02:00
Damon Kohler 407c7fb3d8 Fleshes out the ROS API documentation. () 2016-10-05 16:33:50 +02:00
Wolfgang Hess 965d70fbee Also write a YAML file for the final map. ()
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. ()
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. () 2016-10-04 16:01:46 +02:00
Damon Kohler 23366128b0 Small fixes to README. () 2016-10-04 15:39:54 +02:00
Damon Kohler e1aaf65ac3 Adds PR2 demo and script for dropping TF frames. () 2016-09-30 15:09:31 +02:00
Damon Kohler 3a413028d9 Adds Revo LDS demo. ()
* Adds Revo LDS demo.
2016-09-30 14:25:28 +02:00
Damon Kohler ab381d5e6c Adds 3D demo bag docs. ()
* Improves consistency across documentation.
2016-09-30 11:25:43 +02:00
Wolfgang Hess ccf77d55e2 Move the ScopedRosLogSink to a separate file. () 2016-09-30 10:20:11 +02:00
Wolfgang Hess d48034df46 Simplify OccupancyGrid publishing. ()
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. ()
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. ()
* Simplifies CMake installation configuration.
2016-09-28 14:36:22 +02:00
Wolfgang Hess 0e15fb9a87 Quickly skip over data at the beginning. ()
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. () 2016-09-27 12:09:57 +02:00
Wolfgang Hess 9103b846ff Do not drop data when falling behind. ()
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. () 2016-09-22 15:41:00 +02:00
Damon Kohler 1525dbdbc7 Pulls out RViz support into a separate package. () 2016-09-20 10:30:21 +02:00
Damon Kohler 534f0119c4 Transforms odometry into the tracking frame. () 2016-09-20 08:42:56 +02:00
Damon Kohler 45d18d53eb Fixes () 2016-09-19 10:44:29 +02:00
Wolfgang Hess 1bd2c5fb9a Make the published frame configurable. ()
This fixes .
2016-09-16 14:29:30 +02:00
Damon Kohler e576d72dfc Makes topic names relative. ()
* Fixes 
2016-09-16 13:45:17 +02:00
Damon Kohler 3592b13871 Adds an option for constant odometry variance. () 2016-09-15 13:42:05 +02:00
Wolfgang Hess 15e9638ce7 Remove TurtleBot related configuration and cleanup. ()
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. ()
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. () 2016-09-09 14:20:10 +02:00
Wolfgang Hess f4d69a738b Fix configuration files. ()
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. () 2016-09-08 17:01:21 +02:00
Wolfgang Hess 0cd8f047ed Build cartographer_ros with -O3. ()
Most importantly this should fix . 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. () 2016-09-07 15:00:57 +02:00
Holger Rapp a2567ab0ab Use WallTimer to always publish pose and submaps. ()
This makes the publishing independent from the inflow of sensor data and
is more in line with how the ROS world works.

Fixes .
2016-09-02 13:25:43 +02:00