Commit Graph

413 Commits (22261553bbf54d34a62d1d65fc4895d96b8a30c1)

Author SHA1 Message Date
Holger Rapp 137c75633f Adds a PointsProcessor that can write ROS maps. (#548)
Fixes #475.
2017-10-23 10:40:43 +02:00
Wolfgang Hess 5d784e8adb Prepare for googlecartographer/cartographer#605. (#551) 2017-10-19 16:58:07 +02:00
Christoph Schütte adbaeb4fe6 Follow googlecartographer/cartographer#603. (#550) 2017-10-19 15:39:23 +02:00
Wolfgang Hess b9dbfc6664 Follow googlecartographer/cartographer#597. (#547) 2017-10-17 16:55:33 +02:00
Wolfgang Hess 0a66c59547 Follow googlecartographer/cartographer#596. (#546) 2017-10-17 15:35:52 +02:00
Jihoon Lee 4c54a545a1 Visualize gaps in trajectories due to trimming. (#500) 2017-10-17 14:16:26 +02:00
Holger Rapp 6b22cfaf8d Fix a crash, since subdivisions can be empty. (#543) 2017-10-17 13:12:24 +02:00
Wolfgang Hess 38f1c4dc14 Follow googlecartographer/cartographer#591. (#542) 2017-10-17 11:00:31 +02:00
Holger Rapp fe28d33d38 Adds a dump_timing flag. (#541)
Moves #529 forward.
2017-10-16 14:23:56 +02:00
Holger Rapp 5b06f03558 Adds a rosbag_validate binary. (#536)
So far it creates statistics over timing information of the sensor data that Cartographer cares about. It also reports if time jumps backwards for a sensor.
Also updates the GitHub issue template to ask users to run this binary when reporting issues.

I verified that this tool is sufficient to analyze all the timing related issues mentioned in #529.
2017-10-13 17:26:50 +02:00
Holger Rapp b9877fed12 Update 3D public data (#538)
- Remove a bag that had the same data as another, just different timestamps.
- Republish a few bags with laser intensities.
2017-10-13 16:24:03 +02:00
Holger Rapp 8539e1a601 Add a --output_file_prefix option to the asset writer. (#537)
It defaults to using the first bag name, i.e. the files end up next to the input file which is more ergonomic than having them end up in $HOME/.ros.
2017-10-13 15:36:11 +02:00
gaschler 6a3dc04510 Visualize both high and low res slices. (#532)
* OgreSlice has a slice_id.

This is necessary because we will have multiple OgreSlices
and Ogre requires unique names for textures and other entities.

* Visualize both high and low res slices.

Adds checkboxes to the rviz plugin to show high and low
resolution slices.
DrawableSubmap now holds a vector of OgreSlices and
decides which slices are visible.

* Corrections. Move slice visibility to OgreSlice.
2017-10-12 02:48:57 -07:00
Jihoon Lee f9157b2a26 Insert resolved topic name in subscribed_topics_ (#516)
As unique id for an individual subscriber.
2017-10-09 15:40:53 +02:00
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