Commit Graph

509 Commits (578b5df9cea255362671343192df47283bb34db9)

Author SHA1 Message Date
Christoph Schütte 32542786a8
Add Jenkinsfile for Fetch and Backpack pipeline ()
* 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 ()
* 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. ()
[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 ()
* 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 () 2018-02-27 14:21:34 +01:00
Alexander Belyaev 15bf0db270
Fix the path to mapping_*d includes. ()
[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. ()
Checks for per-point timing issues in a bag file.
Feature is tracked in .
2018-02-26 18:16:59 +01:00
Michael Grupp 5251634d3d Add option to publish a pure 2D pose. ()
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 ()
* Follow  
2018-02-23 15:02:18 +01:00
gaschler fb947f5c7e Avoid auto for Eigen expressiongs. ()
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 () 2018-02-19 08:54:13 +01:00
Alexander Belyaev 7b9e2fe2e1
RViz settings for landmarks. ()
[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. ()
[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 ()
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 () 2018-02-07 16:24:20 +01:00
Michael Grupp 512a9cc358 Mention built-in evaluation tools in the tuning guide. ()
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. ()
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. () 2018-02-02 21:31:25 +01:00
Juraj Oršulić 2538ac3e45 Offline node: better support for sequential bags. ()
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 .

pair=@gaschler
2018-01-29 15:43:25 +01:00
gaschler 9a63a0479c Follow googlecartographer/cartographer#839 ()
Follow change  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 ()
Bug introduced in .
2018-01-25 16:13:38 +01:00
gaschler 8d8a86790a Fix segfault in rosbag_validate () 2018-01-25 14:37:16 +01:00
Alexander Belyaev 7cf570d19e Add a launch file for 2d localization demo with gRPC. () 2018-01-25 10:44:30 +01:00
Juraj Oršulić d65f3c0f47 Simultaneous offline multi trajectories ()
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 () 2018-01-24 09:09:55 +01:00
gaschler ac15e46727 Fix gflags include in offline nodes ()
FIX=#676
2018-01-23 23:37:15 +01:00
Christoph Schütte 9e5dce96f6 Fix gflags include in offline_node.cc ()
FIX=#676
2018-01-23 18:16:22 +01:00
Susanne Pielawa f61e513bd6 Make fade out distance configurable () 2018-01-22 16:43:48 +01:00
Juraj Oršulić 7cc4fec316 Deduplicate loading options for offline node ()
This is preparation for . 

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. ()
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. ()
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 ()
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. ()
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 () 2018-01-10 19:39:33 +01:00
Christoph Schütte 31655ba1cb Add rviz and simtime to gRPC launch file. () 2018-01-10 17:44:13 +01:00
gaschler 02ed0153d1 Tuning guide for low latency and localization ()
Related to 
2018-01-10 14:43:50 +01:00
Christoph Schütte 7a7b210c94 Fix bug in MapBuilderBridge::GetTrajectoryStates() () 2018-01-08 18:52:27 +01:00
Christoph Schütte 4a1366501d Use GetTrajectoryNodePoses and GetAllSubmapPoses in GetConstraintList () 2018-01-08 17:07:39 +01:00
Christoph Schütte a6095979aa Make MapBuilderBridge use GetAllTrajectoryNodePoses() () 2018-01-08 11:10:14 +01:00
Susanne Pielawa dd00ede58a Change link ordering to fix libcartographer_rviz.so. ()
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() () 2018-01-05 15:10:52 +01:00
Christoph Schütte acc2143ff7 Implement offline gRPC bridge. () 2018-01-05 11:35:42 +01:00
Christoph Schütte a6949c8544 Fix path for gRPC server shell script in CMakeLists.txt () 2018-01-04 16:08:51 +01:00
Christoph Schütte d32c8b9d91 Refactor offline_node_main.cc to prepare for offline bridge. ()
[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 ()
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 ()
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. () 2018-01-03 15:12:12 +01:00
Christoph Schütte abe4d10de3 Add BUILD_GRPC CMake flag and ROS-gRPC binary. () 2017-12-20 12:32:40 +01:00
gaschler 0eab6a150e HandleRangefinder time refers to newest point. ()
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 () 2017-12-08 13:09:15 +01:00