Commit Graph

558 Commits (be4332b3385b5eea2511d11de5cc6792ecb4af2e)

Author SHA1 Message Date
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
Alexander Belyaev c2b0143a5e
Publish Landmark markers for RViz. (#713)
[RFC=0011](https://github.com/googlecartographer/rfcs/blob/master/text/0011-landmarks.md)
2018-02-08 14:34:58 +01:00
Michael Grupp f5a7e2bb77 Add pbstream_map_publisher_main.cc (#711)
Implements [RFC 06](https://github.com/googlecartographer/rfcs/blob/master/text/0006-serve-ros-map-from-pbstream.md)
2018-02-07 19:48:18 +01:00
Christoph Schütte 5cd81be61e Follow googlecartographer/cartographer#859 (#712) 2018-02-07 16:24:20 +01:00
Michael Grupp 512a9cc358 Mention built-in evaluation tools in the tuning guide. (#705)
Other changes:
- Moved the 'Verification' paragraph in the tuning guide up,
  as it fits better after the particular issue discussed before 'Special Cases'.
- Fixed 'WARNING: Title underline too short.' messages.
2018-02-06 19:14:49 +01:00
Michael Grupp 3ca30fc904 Refactor ROS service responses. (#708)
Provide a descriptive StatusResponse msg field consisting of
an gRPC-like StatusCode and message string to the service caller.

Implements [RFC 13](https://github.com/googlecartographer/rfcs/blob/master/text/0013-improve-ros-service-responses.md).
2018-02-06 18:06:08 +01:00
Holger Rapp 8f14350e83 Fix link for a bag with intensities. (#704) 2018-02-02 21:31:25 +01:00
Juraj Oršulić 2538ac3e45 Offline node: better support for sequential bags. (#694)
Allow same topics to be used in different bags (a previously supported use case).
Remove unused variable `current_bag_sensor_topics`.
Touch up flag descriptions.

Fixes #693.

pair=@gaschler
2018-01-29 15:43:25 +01:00
gaschler 9a63a0479c Follow googlecartographer/cartographer#839 (#686)
Follow change googlecartographer/cartographer#839 from string to struct SensorId.
Compute expected sensor ids for multiple trajectories.
Remove command argument input for sensor ids.
Make some methods const.
Clean up.
2018-01-26 16:04:42 +01:00
Juraj Oršulić 7fc931688c Do not forget to finish trajectory if last message is not from a sensor topic (#681)
Bug introduced in #636.
2018-01-25 16:13:38 +01:00
gaschler 8d8a86790a Fix segfault in rosbag_validate (#685) 2018-01-25 14:37:16 +01:00
Alexander Belyaev 7cf570d19e Add a launch file for 2d localization demo with gRPC. (#682) 2018-01-25 10:44:30 +01:00
Juraj Oršulić d65f3c0f47 Simultaneous offline multi trajectories (#636)
RFC=[0009](https://github.com/googlecartographer/rfcs/pull/4)
2018-01-24 11:19:43 +01:00
Juraj Oršulić d96aa2105b Constraints visualization: Separate inter constraints between separate trajectories (#634) 2018-01-24 09:09:55 +01:00
gaschler ac15e46727 Fix gflags include in offline nodes (#677)
FIX=#676
2018-01-23 23:37:15 +01:00
Christoph Schütte 9e5dce96f6 Fix gflags include in offline_node.cc (#676)
FIX=#676
2018-01-23 18:16:22 +01:00
Susanne Pielawa f61e513bd6 Make fade out distance configurable (#674) 2018-01-22 16:43:48 +01:00
Juraj Oršulić 7cc4fec316 Deduplicate loading options for offline node (#664)
This is preparation for #636. 

I noticed that there is duplicated code for loading options for the offline and GRPC offline node because they are needed while constructing the map builder for the non-GRPC offline node (and that step is the only difference between the offline node and the GRPC offline node).

I got around this by passing a map builder factory to `RunOfflineNode` instead, so we can deduplicate the code for loading options by doing it inside `RunOfflineNode`.
2018-01-19 10:20:47 +01:00
Susanne Pielawa 1eda46a941 Adding NavSatFix to trajectory builder. (#666)
GPS message is converted first to ECEF, and then to a local frame. The first GPS message defines the local frame. 

PAIR=wohe

[RFC=0007](https://github.com/googlecartographer/rfcs/blob/master/text/0007-nav-sat-support.md)
2018-01-12 19:35:16 +01:00
Susanne Pielawa b0a937b7ed Transform from ECEF to a local frame where z points up. (#662)
For a given latitude and longitude, return a transformation that takes a point in ECEF coordinates to
a local frame, where the z axis points up.

PAIR=wohe

[RFC=0007](https://github.com/googlecartographer/rfcs/blob/master/text/0007-nav-sat-support.md)
2018-01-12 11:39:29 +01:00
Susanne Pielawa 960d1a487c Wiring for sensor_msgs::NavSatFix (#659)
PAIR=wohe

[RFC=0007](https://github.com/googlecartographer/rfcs/blob/master/text/0007-nav-sat-support.md)
2018-01-11 13:11:27 +01:00
Susanne Pielawa 35bea72536 Adding conversion from WGS84 to ECEF. (#660)
This converts from latitude, longitude, altitude
to a cartesian coordinate frame.

[RFC=0007](https://github.com/googlecartographer/rfcs/blob/master/text/0007-nav-sat-support.md)
2018-01-11 11:38:14 +01:00
Christoph Schütte d10abbf588
Follow googlecartographer/cartographer#801 (#657) 2018-01-10 19:39:33 +01:00
Christoph Schütte 31655ba1cb Add rviz and simtime to gRPC launch file. (#658) 2018-01-10 17:44:13 +01:00
gaschler 02ed0153d1 Tuning guide for low latency and localization (#653)
Related to #397
2018-01-10 14:43:50 +01:00
Christoph Schütte 7a7b210c94 Fix bug in MapBuilderBridge::GetTrajectoryStates() (#652) 2018-01-08 18:52:27 +01:00
Christoph Schütte 4a1366501d Use GetTrajectoryNodePoses and GetAllSubmapPoses in GetConstraintList (#651) 2018-01-08 17:07:39 +01:00
Christoph Schütte a6095979aa Make MapBuilderBridge use GetAllTrajectoryNodePoses() (#649) 2018-01-08 11:10:14 +01:00
Susanne Pielawa dd00ede58a Change link ordering to fix libcartographer_rviz.so. (#648)
This fixes the issue that rviz crashes when loading the cartographer_rviz plugin saying that the symbol `cartographer::io::UnpackTextureData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, int)` is undefined.

PAIR=@wohe,@SirVer
2018-01-05 18:06:30 +01:00
Christoph Schütte d34a2e36b8 Make MapBuilderBridge::GetSubmapList() use GetAllSubmapPoses() (#647) 2018-01-05 15:10:52 +01:00
Christoph Schütte acc2143ff7 Implement offline gRPC bridge. (#645) 2018-01-05 11:35:42 +01:00
Christoph Schütte a6949c8544 Fix path for gRPC server shell script in CMakeLists.txt (#644) 2018-01-04 16:08:51 +01:00
Christoph Schütte d32c8b9d91 Refactor offline_node_main.cc to prepare for offline bridge. (#643)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2018-01-04 15:31:40 +01:00
Jihoon Lee d43c07d940 Follow googlecartographer/cartographer#782 (#633)
Towards [RFC06](https://github.com/googlecartographer/rfcs/blob/master/text/0006-serve-ros-map-from-pbstream.md).

Migrates
* `FillSubmapSlice` from `pbstream_to_rosmap_main.cc` 
* `SubmapTexture` logics from cartographer_ros
2018-01-04 13:53:15 +01:00
gaschler 30d23b9f56 Launch grpc client and server (#641)
Adds a launch file to test the entire grpc bridge.

Here is an example to run:
```
catkin_make_isolated --use-ninja -DBUILD_GRPC=True
source devel_isolated/setup.bash
roslaunch cartographer_ros grpc_demo_backpack_2d.launch bag_filename:=${HOME}/Downloads/cartographer_paper_deutsches_museum.bag
```

The bash script is a work-around to run an executable outside of the catkin packages.
2018-01-04 09:58:52 +01:00
Christoph Schütte bf697c2d14 Implement cartographer_grpc_node. (#632) 2018-01-03 15:12:12 +01:00
Christoph Schütte abe4d10de3 Add BUILD_GRPC CMake flag and ROS-gRPC binary. (#631) 2017-12-20 12:32:40 +01:00
gaschler 0eab6a150e HandleRangefinder time refers to newest point. (#612)
This is necessary so that sensor::Collator queues range data
after previous odometry and IMU data, and LocalTrajectoryBuilder
will be able to unwarp each point.
2017-12-13 14:53:31 +01:00
Christoph Schütte 88609432f8 Follow googlecartographer/cartographer#736 (#620) 2017-12-08 13:09:15 +01:00
gaschler 7bcdda4d37
Detect duplicate range data. (#619)
Checks that range data in a bag file changes between frames, which is one of the common mistakes listed in #529.
2017-12-06 15:58:57 +01:00