Commit Graph

466 Commits (4fd904d8332fc3b120cade357ae84905a079e0d1)

Author SHA1 Message Date
Holger Rapp 46b0cc6497 Add documentation for the assets_writer. (#449)
Fixes #239.
2017-07-31 11:26:06 +02:00
Wolfgang Hess b6b1c572f6 Also extrapolate based on IMU if available. (#458) 2017-07-28 17:52:39 +02:00
Jihoon Lee a40357b61d Show submap ID in rviz (#447) 2017-07-28 16:40:25 +02:00
Holger Rapp ba28491775 Update ROS API documentation. (#450)
Add mentions of the offline node and the occupancy grid node.

Fixes #448.
2017-07-28 14:35:46 +02:00
Holger Rapp 698fc1043f Beginnings of a tuning guide. (#445)
Related to #397.
2017-07-28 14:17:16 +02:00
Holger Rapp 7e272f2e2b Add toggleable trajectories to RViz plugin (#456)
Implementation of #422 by @ojura. Original feature idea and implementation by @jihoonl.
2017-07-28 13:46:58 +02:00
Wolfgang Hess 2ee9a77a73 Fix fixed frame issues of the RViz SubmapsDisplay. (#454)
Adds a 'map_node_' which gets updated with the transform to RViz's
fixed frame. Before, submaps rendered incorrectly if a fixed frame
different from the map frame was chosen.

Removes the map frame property since this data is published on the
submap list topic.

Renames node names to reflect the frames they represent.
2017-07-28 12:10:26 +02:00
Wolfgang Hess 4bad3c4702 Crash fix when "extrapolating". (#453)
It can happen that ros::Time::now() is slightly behind the latest pose
timestamp if sensor data had newer timestamps. We would crash before.
Instead, we now publish the latest pose which is even newer that what
we tried to publish before.
2017-07-27 14:52:41 +02:00
damienrg 907586a7fc Track googlecartographer/cartographer#423 (#446) 2017-07-27 11:59:09 +02:00
Wolfgang Hess d60e1e2e11 Use extrapolators to provide higher frequency tf. (#451)
Fixes googlecartographer/cartographer#102 for Cartographer ROS.
Direct users of the Cartographer library can make use of
googlecartographer/cartographer#430.
2017-07-26 16:08:48 +02:00
Wolfgang Hess 44459e1810 Extract the Ogre related submap code into a separate class. (#444) 2017-07-25 16:21:41 +02:00
Wolfgang Hess e49fecbf11 Publish the scan matched point cloud in the map frame. (#442)
This is to make sure that the scan match result is visualized
with correct pose in RViz independent of tf timing.
2017-07-25 15:22:12 +02:00
Holger Rapp d022b8182f Track googlecartographer/cartographer#421. (#441) 2017-07-25 14:32:21 +02:00
Wolfgang Hess e6d214c51d Fix flickering submaps. (#440)
The 'slice_pose' must be updated together with the texture. Right
now it is updated before the texture so the submap will be shown
in the wrong pose for a short time.

The fix is to move the handling of poses over to Ogre:
The 'scene_node_' now transforms both the shown submap and the axes
into the submap frame. The 'submap_node_' applies the 'slice_pose'
so that the textured rectangle is shown in the correct pose in
the submap frame.
2017-07-24 15:19:43 +02:00
Holger Rapp 3dceac9a46 Track googlecartographer/cartographer#420. (#439) 2017-07-24 14:00:42 +02:00
Holger Rapp 99da2f20d8 Enable OccupancyGridNode and remove generating of assets in the node. (#436)
This will allow us to keep way less information in memory for SLAMing and fixes crashes related to multi trajectory (e.g. this fixes #413).

It also means that to get to an X-Ray or a map, users need to run the asset writer now after SLAMing, which is inconvenient.
Remove dependency on YAML and delete more dead code.
2017-07-21 17:19:47 +02:00
Holger Rapp 1ea5f90b8b New node that creates a ROS map from submap textures. (#432)
Fixes #343.
2017-07-21 16:19:14 +02:00
Wolfgang Hess e5c2881b90 Support multiple LaserScan and MultiEchoLaserScan topics. (#435)
This fixes #212.
2017-07-21 14:07:15 +02:00
Juraj Oršulić bd28ec1a58 Display submap poses in Submaps plugin (#416)
- simplify code around toggling submap visibility
- pass DisplayContext to DrawableSubmap
- add parent scene node for both submap and axes
- remove unnecessary const

Fixes #405.
2017-07-21 11:52:25 +02:00
Wolfgang Hess 1358f719a5 Simplify sensor subscribers. (#434) 2017-07-21 10:38:22 +02:00
Holger Rapp 603439ac05 Pull out FetchSubmapTexture into cartographer_ros. (#433) 2017-07-20 17:43:29 +02:00
Holger Rapp fed96d8cee Reuse code from cartographer_ros in cartographer_rviz. (#431)
Refactor a bit for readability.
2017-07-20 15:10:07 +02:00
Wolfgang Hess cf1e2d6cfc Fix handling of IMU for 3D SLAM. (#430)
In the (non-offline) node, subscribing to the IMU topic was
controlled by the 2D options even for 3D SLAM. It now correctly
subscribes always similar to the offline node.
2017-07-20 09:00:16 +02:00
Wolfgang Hess c58a262d56 Add support for subdividing laser scan messages. (#428)
This adds an option to subdivide sensor_msgs/LaserScan and
sensor_msgs/MultiEchoLaserScan messages into multiple point
clouds. For slow spinning laser scanners this allows unwarping
using googlecartographer/cartographer#408.
2017-07-19 14:15:11 +02:00
Holger Rapp b12e32d6fc Improve crash logging on deprecated frame_ids. (#427) 2017-07-19 12:25:50 +02:00
Wolfgang Hess 5417a4ab9d Add performance info to the offline node. (#420)
Outputs elapsed wall clock time and process CPU usage when the
node finishes.
2017-07-11 14:57:30 +02:00
Holger Rapp 6f171dc5a7 Use SubmapId in cartographer_rviz. (#419) 2017-07-10 15:43:11 +02:00
Wolfgang Hess 35389d0adb Follow googlecartographer/cartographer#396. (#417) 2017-07-07 17:46:59 +02:00
Jihoon Lee 6b1e9fb55c support map loading in offline node (#411)
* support map loading in offline node

* support map loading in offline node

* offline_node_main.cc

add todo to replace loadmap later

* rename map_filename to pbstream filename
2017-07-06 15:57:32 +02:00
Holger Rapp 85a99fdb80 Add data size, floors and durations to the 2D bags. (#415)
PAIR=wohe
2017-07-06 11:16:29 +02:00
Holger Rapp 08accfc191 Add new config to configuration_files_test.cc. (#412) 2017-07-06 10:42:01 +02:00
Holger Rapp e139a4ca0b Add pure localization demo. (#410)
Adds configuration files and launch files for 2D backpack pure
localization.

PAIR=wohe
2017-07-05 17:27:00 +02:00
Wolfgang Hess 12318555a5 Add support for loading a map. (#409)
For now we implement map loading via a commandline flag.

PAIR=SirVer
2017-07-05 16:47:50 +02:00
Juraj Oršulić 764004736e Actually delay messages. (#406) 2017-07-05 11:17:42 +02:00
Juraj Oršulić 84b14a4774 Constraints visualization (#375)
Originally by @jihoonl
2017-07-03 17:41:35 +02:00
Wolfgang Hess 4d218283de Serialize the state in a proto stream file. (#403)
This follows googlecartographer/cartographer#379.
2017-07-03 16:07:55 +02:00
Juraj Oršulić 7c31232208 Rename "nodes list" to "node list". (#402) 2017-07-03 10:42:44 +02:00
Wolfgang Hess 1e76e8f4ae Remove unused code. (#401) 2017-06-29 12:12:06 +02:00
Juraj Oršulić 125aee3011 Fix PCL linking issue in Zesty (#396)
Fixes #355.
2017-06-26 14:29:43 +02:00
Holger Rapp ecc2f08828 Support multiple trajectories in the asset_writer_main (#395) 2017-06-26 12:40:38 +02:00
Holger Rapp 04df159d82 Make WriteAssets multi trajectory aware. (#394)
Related to #343.
2017-06-23 18:16:32 +02:00
Juraj Oršulić 08ff3f9c42 Build cartographer_ros as a static library (#393)
This was implicitly set on <= Ubuntu 16.04 when find_package()-ing
GMock in google_enable_testing(). On 17.04, this doesn't happen, and
Catkin builds a shared library by default. cartographer_ros currently
can't be built as a shared library due to a linking problem (which is
a separate issue - #392). This makes building on 17.04 consistent with
older versions of Ubuntu.
2017-06-23 16:46:16 +02:00
Holger Rapp 563662973c Adds a tool to start a new trajectory from an existing Lua file. (#390) 2017-06-22 10:34:18 +02:00
Wolfgang Hess 1eca669024 Handle trimmed submaps in the visualization. (#389)
Related to googlecartographer/cartographer#283.

PAIR=SirVer
2017-06-21 16:36:01 +02:00
Holger Rapp 9244ada458 Track googlecartographer/cartographer#352. (#388) 2017-06-21 15:19:58 +02:00
Damon Kohler d0d7ebf173 Prepare 0.2.0 release (#384) 2017-06-19 12:05:16 +02:00
Juraj Oršulić 23869164a8 Publish more accurate clock in offline node (#380)
Clock of the message in the msg variable is one second later than the
message in delayed_message. It should be more correct to publish the
clock of the message which really has been processed in SLAM and which
affects the position and the map, rather than the one that has only
been pushed into the delayed_msgs queue.

Also change the status message printing not to include the one second
buffer into the amount of bag processed seconds. Spinning the ROS
event queue has also been moved into the inner loop.
2017-06-19 10:17:40 +02:00
Wolfgang Hess bf16ec6458 Simplify the configuration files. (#383) 2017-06-16 17:45:11 +02:00
Holger Rapp e006554258 Enabled a single point cloud for 2D input. (#382) 2017-06-16 17:21:24 +02:00
Wolfgang Hess 10edc33253 Follow googlecartographer/cartographer#339. (#381) 2017-06-16 11:40:53 +02:00