Commit Graph

594 Commits (master)

Author SHA1 Message Date
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
Damon Kohler ff65a1e7f1 Fixes broken wstool link. (#29) 2016-08-25 15:39:39 +02:00
Damon Kohler 6695b0406b Moves the bulk of our documentation into Sphinx. (#28) 2016-08-25 15:16:33 +02:00
Damon Kohler 3b88f5dd10 Adds Sphinx documentation. (#27) 2016-08-25 13:19:10 +02:00
Damon Kohler a8759d314e Small namespace cleanup. 2016-08-25 11:53:57 +02:00
Damon Kohler 008b5ef377 Adds sensor data rate logging. (#26)
Fixes a few CMakeLists.txt errors.
Strips slashes from sensor data frames in case the data is provided
using tf instead of tf2.
2016-08-24 16:24:32 +02:00
Rohan Agrawal 428cd6f62d Adds basic odometry integration (#20)
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'.
2016-08-24 11:47:09 +02:00
Wolfgang Hess c5ac8e70b5 Configure the Cartographer node without rosparam. (#21)
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.
2016-08-12 17:14:08 +02:00
Wolfgang Hess 935a4f24ee Fix typos. (#22) 2016-08-12 17:11:33 +02:00
Wolfgang Hess ede110e71b Add launch files for running demos. (#23)
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.
2016-08-12 17:11:16 +02:00
Wolfgang Hess 88c4015eae Fix a bug using SuiteSparse on Ubuntu 16.04. (#18)
Using the catkin "suitesparse" and having libsuitesparse-dev installed
leads to builds which crash. This changes the configuration to suggest
using libsuitesparse-dev.
2016-08-10 18:03:49 +02:00
Wolfgang Hess df1b66935b Drop the leading slash in turtlebot.urdf frame_ids. (#19)
In tf2, frame_ids should not start with a slash:
http://wiki.ros.org/tf2/Migration
2016-08-10 16:13:38 +02:00
Wolfgang Hess 5439e9ba36 Fix the submap transformation in the RViz plugin. (#13)
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.
2016-08-10 12:31:19 +02:00
Wolfgang Hess cb9220ec32 Rename to local/global map frame. (#16)
Changes the confusingly named GetOdometryToMapTransform() function
to GetLocalToGlobalTransform(), since it is transforming from the
local SLAM map frame to the global SLAM map frame.
2016-08-10 12:17:13 +02:00
Wolfgang Hess d8a4c07464 Simplify the Rviz submap texture update logic. (#12) 2016-08-05 14:23:30 +02:00
Wolfgang Hess d2b583ddf7 Fix support for 2D SLAM without IMU. (#11)
Do not subscribe to the IMU topic and expect IMU data
if expect_imu_data is set to false in the Lua configuration.
2016-08-05 12:21:41 +02:00
Wolfgang Hess e88742b3cb Cleanup of the RViz submaps plugin. (#10)
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().
2016-08-05 11:50:22 +02:00
Wolfgang Hess 916b4fbac3 Fixes bug not displaying all submaps in RViz. (#9)
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.
2016-08-04 17:59:03 +02:00
Stefan Kohlbrecher 61055d1dcb Optional install instructions using wstool (#8)
* Adds rosinstall file
* Adds optional install instructions using wstool
2016-08-04 16:52:30 +02:00
Wolfgang Hess abd503d6f8 Publish correct transforms from SLAM. (#7) 2016-08-04 16:48:08 +02:00
Wolfgang Hess 7ead7400d4 Change the RViz plugin to use MessageFilterDisplay. (#6) 2016-08-04 15:58:41 +02:00
Wolfgang Hess 5497e9c343 Fix draw ordering issue of the RViz visualization. (#5)
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.
2016-08-04 14:38:55 +02:00
Wolfgang Hess b89d9a51a5 Rename and cleanup. (#4)
Merges 3d_mapping.lua into backpack_3d.lua. Renames launch files to be
consistent. Fixes a typo.
2016-08-04 10:04:53 +02:00
Wolfgang Hess 558768f4e3 Fixes pose publishing to include/exclude odom frame. (#3)
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.
2016-08-03 16:56:20 +02:00
Damon Kohler 3e179972da Changes build instructions to use Catkin. (#2)
Uses eth-asl repos for Ceres.
Adds missing package dependency.
2016-08-03 16:31:24 +02:00
Wolfgang Hess 961afb6817 Add code to allow offline processing of 2D Cartographer bags. (#1)
* 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.
2016-08-03 14:54:45 +02:00
Damon Kohler aabd51e029 Renames google_cartographer* to cartographer_ros*. 2016-08-03 12:57:56 +02:00
Damon Kohler 63c2321d26 Initial import of Cartographer codebase. 2016-08-03 12:45:08 +02:00