Commit Graph

399 Commits (a2a587b3cb4dcd5be5f4cf695176ef4e22a877e1)

Author SHA1 Message Date
Holger Rapp 5b953d202e Adds a tool that filters leading slashes from topic names in bags. (#527)
PAIR=@cschuet
2017-10-09 15:16:08 +02:00
gaschler e117b13ea7 Rename to OgreSlice. (#530)
Renames OgreSubmap to OgreSlice in preparation for that a
DrawableSubmap should hold multiple OgreSlices, so multiple
types of slices for one submap can be visualized.
2017-10-09 14:48:51 +02:00
gaschler b2a2ac4912 FetchSubmapTextures returns multiple textures. (#519)
This changes the Ros api that multiple textures will be returned,
which are forwarded from the Ros service call.
Adapts all usages to follow this new api.
2017-10-09 04:19:48 -07:00
Holger Rapp d5e6647206 Unwarp each (MultiEcho)LaserScan point in the assets_writer_main. (#526)
Since these contain timing information, we can use the SLAM trajectory
to compensate for ego motion (unwarp) and the TF messages and URDF to
compensate for sensor-to-tracking motion.

This improves quality greatly.
2017-10-06 14:23:18 +02:00
Wolfgang Hess e79754bf71 No preloading of tf in the assets writer. (#524)
This follows the logic used in the offline node to only keep
a smaller buffer of tf data. This is necessary for performance.
Fixes #349.
2017-10-06 11:53:19 +02:00
Jihoon Lee a2c8a8fe2d Configurable occupancy grid publishing speed (#504) 2017-10-05 15:40:45 +02:00
gaschler e02e634848 Allow multiple textures in ROS message. (#506)
Forward all textures from protobuf to ROS messages.
2017-10-04 14:44:49 +02:00
Jihoon Lee 2a9e392023 Throttle rviz submap fading warning. (#514) 2017-10-04 13:14:59 +02:00
Damon Kohler 634769e9d0 Adds two new FAQ entries. (#515) 2017-09-29 16:06:34 +02:00
Jihoon Lee 92fefe3f7e Serialize state before shutdown (#502) 2017-09-29 14:44:07 +02:00
Juraj Oršulić 3fab4ad6b6 Adds per-sensor fixed ratio samplers (#499) 2017-09-29 09:04:41 +02:00
gaschler b8d63f3cc9 Handle multiple textures in protobuf. (#503)
Handle the protobuf change from
googlecartographer/cartographer#519
by forwarding the first SubmapTexture if multiple are available.

* Nit.

* Check.

* Nit.
2017-09-13 16:43:25 +02:00
Wolfgang Hess 44b9e7b531 Follow googlecartographer/cartographer#498. (#495) 2017-09-01 16:15:16 +02:00
Christoph Schütte 0305ac67d8 Add mem stats for offline node. (#493) 2017-08-30 16:34:48 +02:00
Wolfgang Hess 7d609695cf Remove unused options. (#491)
The adaptive_voxel_filter option is no longer used in 3D.
2017-08-25 17:30:08 +02:00
Wolfgang Hess af28b769b4 Follow googlecartographer/cartographer#462. (#486) 2017-08-18 17:59:14 +02:00
Yutaka Takaoka 5a2db79fc3 Add flag to start first trajectory. (#482) 2017-08-16 11:49:56 +02:00
Juraj Oršulić cf13f76c82 Perform final optimization at the end. (#483) 2017-08-10 12:30:57 +02:00
Juraj Oršulić 102a3b0db3 Release mutex in Node during final optimization (#480)
Enables servicing callbacks during final optimization, thus
enabling visualization of its progress in RViz. Fixes #476.
2017-08-10 09:55:52 +02:00
Wolfgang Hess 4173beaf04 Only write pbstream file on success. (#481)
The offline node will now only write the pbstream with the results if the
node finished processing without being interrupted. Partial results are
no longer written.

This also adds logging so that it is clear whether output was written.
2017-08-10 09:18:16 +02:00
Wolfgang Hess f43e05626e Also extrapolate based on odometry if available. (#479) 2017-08-09 12:36:50 +02:00
Mikael Arguedas 9867aeb1a3 Add Lunar to build matrix. (#478) 2017-08-08 12:41:21 +02:00
Mikael Arguedas b6acc27553 Depend on Ceres 1.12.0 instead of 1.12.0rc4 (#477) 2017-08-08 11:41:39 +02:00
Juraj Oršulić 7f616b4cc7 Use trajectory ID as namespace for trajectory marker (#473)
Also simplifies marker IDs since they must only be unique within a unique namespace.
2017-08-07 15:59:41 +02:00
Wolfgang Hess ab1ca30353 Fix typo in the issue template. (#474) 2017-08-07 13:04:51 +02:00
Juraj Oršulić b99c8b4cda Keep offline node running, republish the clock. (#468) 2017-08-04 17:46:16 +02:00
Wolfgang Hess 4034f4f801 Deduplicate LoadOptions(). (#471) 2017-08-03 15:47:17 +02:00
Juraj Oršulić 2042b73010 Remove custom SIGINT handler from offline node. (#470) 2017-08-03 12:29:07 +02:00
Wolfgang Hess 63aba81e31 Reuse the Node::Handle*() functions. (#466)
This moves adding IMU data to the extrapolator to
Node::HandleImuMessage() so that in the offline node extrapolation
for tf publishing can benefit from IMU data.

Fixes crash in offline node by setting the trajectories as active
as they are added.
2017-08-01 18:16:21 +02:00
Juraj Oršulić 76b1903488 Make Node thread-safe. (#443)
Accessing the MapBuilderBridge was not previously guarded by a mutex.
2017-08-01 17:07:58 +02:00
Wolfgang Hess 061731399a Fix ValidateTrajectoryOptions(). (#465)
The checks in ValidateTrajectoryOptions() are both obsolete. Instead
we now just check that the correct trajectory builder options exist
at all.

Also checks options in Node::StartTrajectoryWithDefaultTopics() now.
2017-08-01 16:04:12 +02:00
Wolfgang Hess ace7ab5f05 Crash fix in offline node. (#464)
This adds trajectories at the Node object. It makes sure all
necessary extrapolators exist. Before the offline node would crash
when extrapolating.

Also deduplicates the logic to compute the topics for a trajectory.
2017-08-01 13:38:34 +02:00
Wolfgang Hess cbc26545ad Follow googlecartographer/cartographer#436. (#459) 2017-08-01 11:28:03 +02:00
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