Commit Graph

497 Commits (29105294468e0cc81def94fd68a540eef7533f46)

Author SHA1 Message Date
Guilherme Lawless 0a917893c5 Add a launch and configuration file for writing a ROS map (#577) (#721)
( Trying again, accidentally deleted source branch for previous PR )

Related issue: #577

The min/max range default to the same as the backback_2d examples; same thing for the URDF file.

However, the name of both the config file and the launch file are kept generic.
2018-04-20 01:32:19 +02:00
jie 5ce6e68dd3 Internal cleanup. (#821)
Fix lint error.
2018-04-20 00:10:23 +02:00
Martin Schwörer 1dd49247a4 Registration of external points processors in AssetsWriter (#830)
Added RegisterPointsProcessor method to AssetsWriter class. This allows to register new points processors to the pipeline builder.

As the new points processors may write files to the disk, the CreateFileWriterFactory method is exposed.
2018-04-19 18:42:42 +02:00
Mikael Arguedas 2ed4eb4f66 [cartographer_ros_msgs] add run dependency on message_runtime (#800)
As per ROS [tutorials](http://wiki.ros.org/ROS/Tutorials/DefiningCustomMessages#Dependencies)

Edit: For future readers, the linked tutorial was referring to `run_depend` from package format 1 as pointed out by @ojura, it has now been updated to refer to `exec_depend` from format 2
2018-04-18 10:49:17 +02:00
Martin Schwörer 65b069c94f Extract assets writer class from static method (#827)
Extracted class Assets_Writer from RunAssetsWriterPipeline. 

The idea is to increase the re-usability and flexibility of the assets_writer: In next PR, the assets_writer will allow registering external points_processers to the points processing pipeline. This requires having a class instead of a static method to allow for different states.
2018-04-17 17:21:15 +02:00
Kevin Daun 1f55b18eb6 Enable rendering of submaps without a grid (#829)
- related to https://github.com/googlecartographer/cartographer_ros/issues/819
2018-04-17 15:13:44 +02:00
Martin Schwörer 08cf9f072c Assets writer refactoring (#814)
The assets writing method was split into several calls to sub-routines.

RunAssetsWriterPipeline now calls sub-routines creating objects from files and then runs the pipeline using the created objects. This should increase readability of the method.
2018-04-13 16:01:02 +02:00
gaschler b4e7705159 Correct localization_3d.launch (#824)
Also, be consistent with 2D and with documentation.

ISSUE=https://github.com/googlecartographer/cartographer/issues/1056
2018-04-12 13:28:28 +02:00
Michael Grupp 2b8a8b5d35 Update .travis.yml (#817)
Describe the GITHUB_TOKEN trick to fork owners.
2018-04-11 15:58:47 +02:00
Michael Grupp 9eeb3c9477 Add paragraph 'Odometry in Global Optimization' to tuning.rst (#802)
Follow https://github.com/googlecartographer/cartographer/pull/1029
2018-04-11 10:28:28 +02:00
jie 7689e6f186 Internal cleanup. (#818)
Move the self header file after system header.
2018-04-10 09:40:05 +02:00
Michael Grupp a375153a21 Take frozen state into account when finishing trajectories. (#811)
Until now, the error response of an /finish_trajectory request for a
frozen trajectory was 'Trajectory ... is not created yet.'.

This is a lie. The new response is more accurate because the trajectory
__is__ created, but it just can't be finished because it's frozen.
2018-04-09 18:59:34 +02:00
Michael Grupp c0a97d88a3 Fix race-condition when attempting to fetch trimmed submaps. (#812)
A simple solution for a slightly more complex scenario:
- a pure localization trajectory `X` gets finished & trimmed in the main node
- at the same time, the occupancy_grid_node handles an outdated SubmapList
  message in which a submap ID `id` of trajectory `X` is still present
- the call to FetchSubmapTextures(`id`, ...) leads to a crash

With this fix, the trimmed submap IDs are just ignored until the next
iteration (in which the occupancy grid node removes the trimmed IDs).
2018-04-09 17:30:21 +02:00
Martin Schwörer f818bc79d9 moved run method of assets writer main to separate files (#807)
Moved the run method of the assets_writer_main to the separate assets_writer files.
Will extract asset_writer class in the future to keep the main file small and allow re-usability and more flexibility of the asset_writer.
2018-04-06 16:48:21 +02:00
Michael Grupp d14d0e2b90 Check service status code in start_trajectory_main.cc (#808)
Small patch to distinguish between communication and
runtime errors when calling the ROS service (as introduced by RFC 13).
2018-04-05 22:10:22 +02:00
gaschler 4e0fbcb38b Check overlapping range data correctly (#804)
FIXES=#771
2018-04-05 19:26:06 +02:00
gaschler b3e3dfd7d4 Fix sequential subdivisions (#806)
FIXES=https://github.com/googlecartographer/cartographer/issues/1026
2018-04-05 12:18:16 +02:00
Michael Grupp 12816aacd3 Pass GitHub access token to Dockerfile. (#787) 2018-04-05 10:30:35 +02:00
gaschler f5c88ff32e Tool for comparing pure localization to offline optimization (#803)
Adds a tool to measure the difference between a trajectory from a pbstream and one given by tf messages in a bag file, and a script to evaluate real-time pure localization poses compared to a globally optimized mapping poses.
2018-04-04 17:18:31 +02:00
gaschler d50ad4f70c
Show constraints in rviz (#789) 2018-04-04 15:47:35 +02:00
gaschler e1774c82a9 Launch script to visualize pbstream in rviz (#788) 2018-03-29 15:28:25 +02:00
Kevin Daun 7d09140ee4 Add constraint-dependent trajectory visualization. (#756) 2018-03-26 16:45:58 +02:00
Juraj Oršulić 913142f9c7 Avoid failed CHECK when running offline node with no bags. (#777)
Bug introduced in #680.
2018-03-26 15:47:15 +02:00
gaschler 881fa76150
Ignore empty laser scan message. (#767)
FIXES=#766
2018-03-26 14:58:21 +02:00
Juraj Oršulić 8dc0352d43 Minor optimizations of cases with no subscribers (#755) 2018-03-06 15:42:15 +01:00
Juraj Oršulić b274743eb7 Add time skip option for offline node (#680)
Introduces a "skip" option which skips first _t_ seconds.
2018-03-05 20:33:57 +01:00
Alexander Belyaev 4746d5a734
Follow https://github.com/googlecartographer/cartographer/pull/958. (#754) 2018-03-05 13:42:00 +01:00
Christoph Schütte f5efe13c8a
Ensure cache invalidation when building CQ pipeline (#753) 2018-03-05 08:47:13 +01:00
Alexander Belyaev 319b60af4c
Follow https://github.com/googlecartographer/cartographer/pull/955. (#751) 2018-03-02 23:09:24 +01:00
Alexander Belyaev 61dd57bd94
Pass ROS landmark topic to the cartographer. (#746)
[Landmark RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-03-02 11:37:10 +01:00
Alexander Belyaev e583785720
Follow PR [#950](https://github.com/googlecartographer/cartographer/pull/950). (#750)
[Internal hdrs RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0003-internal-headers.md)
2018-03-01 18:15:35 +01:00
Michael Grupp 15517addb1 Fix table formatting in data.rst (#748)
Adds whitespace to make restructured text happy again.
2018-03-01 11:21:01 +01:00
Michael Grupp 289e4314be Fix pbstream_map_publisher (follow #712) (#745)
Applies the proto deserialization changes that
were introduced in PR #712.
2018-02-28 16:36:50 +01:00
Christoph Schütte 24239beec8 s/LoadMap/LoadState in node_grpc_main.cc (#744) 2018-02-28 14:13:24 +01:00
Juraj Oršulić 22261553bb Offline multi-trajectory: use topic names without 'bag_n_' prefix by default (#707)
This fixes offline_backpack_*.launch for multiple bags.
2018-02-28 11:51:17 +01:00
Christoph Schütte ebbb1da8b0 Add Toru to CQ pipeline (#743) 2018-02-28 10:42:31 +01:00
Michael Grupp 7a36712405 Use CreateOccupancyGridMsg() in occupancy_grid_node_main.cc (#715)
Follow-up of PR #711.
2018-02-27 22:15:39 +01:00
Juraj Oršulić b7d8af834e Unfrozen trajectories (#710)
Unfrozen trajectories
2018-02-27 21:26:52 +01:00
Christoph Schütte 32542786a8
Add Jenkinsfile for Fetch and Backpack pipeline (#741)
* Add Jenkinsfile for Fetch and Backpack pipeline
2018-02-27 20:26:45 +01:00
Michael Grupp 185ba8b6da Add Magazino public datasets to data.rst (#738)
* Add Magazino public datasets to data.rst
2018-02-27 20:12:57 +01:00
Alexander Belyaev 463999873a
Add a ROS message for landmark observations. (#732)
[Landmark RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-02-27 18:14:39 +01:00
Christoph Schütte faa21f4234
Make ros_pkg configurable for Jenkins workers (#740)
* Make ros_pkg configurable for Jenkins workers
2018-02-27 15:00:59 +01:00
Christoph Schütte 58f463dc98
Add Fetch and Toru platform to Jenkins build (#739) 2018-02-27 14:21:34 +01:00
Alexander Belyaev 15bf0db270
Fix the path to mapping_*d includes. (#736)
[Code structure RFC](https://github.com/googlecartographer/rfcs/blob/master/text/0016-code-structure.md)
2018-02-26 21:11:09 +01:00
gaschler be592f55fa Validate tool checks per-point time stamps. (#737)
Checks for per-point timing issues in a bag file.
Feature is tracked in #529.
2018-02-26 18:16:59 +01:00
Michael Grupp 5251634d3d Add option to publish a pure 2D pose. (#683)
If the new `publish_frame_projected_to_2d` option is set to true,
the published pose will be restricted to a pure 2D pose
(no roll, pitch, or z-offset).
This prevents potentially unwanted out-of-plane poses in 2D mode
that can occur due to the pose extrapolation step (e.g. if the pose
shall be published as a 'base-footprint'-like frame).
2018-02-26 12:30:58 +01:00
Christoph Schütte caac1b3ae5
Follow googlecartographer/cartographer#922 (#734)
* Follow  googlecartographer/cartographer#927
2018-02-23 15:02:18 +01:00
gaschler fb947f5c7e Avoid auto for Eigen expressiongs. (#719)
While harmless in most cases, auto can delay evaluation
of expressions in unexpected ways.
So it is better to avoid auto for Eigen expressions.
https://eigen.tuxfamily.org/dox/TopicPitfalls.html
2018-02-19 14:40:13 +01:00
gaschler a2a587b3cb Update README.rst (#724) 2018-02-19 08:54:13 +01:00
Alexander Belyaev 7b9e2fe2e1
RViz settings for landmarks. (#717)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-02-12 09:55:24 +01:00