Commit Graph

477 Commits (bb4aec395fea09609da64d4716b18072367933c8)

Author SHA1 Message Date
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
Christoph Schütte 465e0434a1
Fix 0. constant to 0.0 to comply with YAML standard (#618) 2017-12-06 10:53:31 +01:00
gaschler 718dee5c2c Validate IMU, odometry, timing, frame names. (#615) 2017-12-05 00:42:12 +01:00
gaschler 4dac7c3ebe Follow googlecartographer/cartographer/pull/724. (#616) 2017-12-04 23:32:34 +01:00
Jihoon Lee e1f65f3104 Add initial_pose in start_trajectory_main.cc Fixes #579 (#610)
Fixes #579 
Related to googlecartographer/cartographer#606

@damienrg @cschuet I followed most of the comments in googlecartographer/cartographer#642 except timestamp. Receiving timestamp sounds weird to me because trajectory should not start in past timestamp or future timestamp.
2017-11-24 16:45:11 +01:00
Christoph Schütte 42d82cbdfd Prepare 0.3.0 release (#609) 2017-11-23 10:50:04 +01:00
Wolfgang Hess e0e3bdd625 Update the tuning guide following #604. (#606) 2017-11-17 15:46:54 +01:00
Holger Rapp 99c23b6ac7 Adds a binary that can generate PGM/YAML from a .pbstream. (#604) 2017-11-17 14:17:27 +01:00
Wolfgang Hess af17cf5a27 Follow googlecartographer/cartographer#686. (#605) 2017-11-17 13:03:43 +01:00
Holger Rapp 50be3d91a4 Pull out WritePgm and WriteYaml. (#603) 2017-11-17 09:36:34 +01:00
Holger Rapp 10eba093cc Refactor PGM writing to be more explicit. (#602) 2017-11-16 20:31:06 +01:00
Holger Rapp 7259bb0baf Refactoring towards a pbstream -> PGM/YAML tool. (#601) 2017-11-16 19:44:12 +01:00
Juraj Oršulić fd52ddf45b Use LocalSlamResultCallback for trajectory states (#594)
Replaces #556.
Use `LocalSlamResultCallback` googlecartographer/cartographer#574 instead of `PoseEstimate`.
2017-11-16 18:05:05 +01:00
Holger Rapp a10dea9c11 Follow cartographer. (#600)
Follow googlecartographer/cartographer#684.
2017-11-16 16:47:21 +01:00
Wolfgang Hess f241a679a9 Update the tuning guide following #598. (#599) 2017-11-16 15:12:53 +01:00
Wolfgang Hess d2bb8b3d01 Follow googlecartographer/cartographer#682. (#598)
[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)
2017-11-16 12:36:23 +01:00
Juraj Oršulić e6060567b0 Use node_handle.resolveName in start_trajectory_main. (#597)
As discussed in #584. The two functions behave completely identical for our purposes, so renaming for consistency with the rest of cartographer_ros.
2017-11-16 11:09:07 +01:00
Wolfgang Hess a3df182d7e Follow googlecartographer/cartographer#680. (#596)
[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)
2017-11-15 15:52:44 +01:00
Wolfgang Hess 6b68522fcc Follow googlecartographer/cartographer#677. (#595)
[RFC=0001](https://github.com/googlecartographer/rfcs/blob/master/text/0001-renaming-sparse-pose-graph.md)
2017-11-15 12:57:50 +01:00
Wolfgang Hess 7931d1e53c Follow googlecartographer/cartographer#574. (#593) 2017-11-14 18:32:27 +01:00
Michael Grupp b56903c1bb Do not include trimmed submaps into the occupancy grid (#591)
Derive submap IDs that don't appear in the submap list anymore and delete the corresponding slices from our state before drawing.
2017-11-14 14:49:19 +01:00
Jihoon Lee 9fb2b09a0b Unify finish trajectory logic (#552)
Port active trajectory checks and subscriber shutdown logic into FinishTrajectory(), so that a trajectory can be cleanly finished by function call.
2017-11-14 11:30:39 +01:00
Christoph Schütte 3e684b298b Add proto3 installation to jenkins Dockerfile. (#590)
[RFC=0000](https://github.com/googlecartographer/rfcs/blob/master/text/0000-proto3-transition.md)
2017-11-13 18:52:10 +01:00
Christoph Schütte 5210e92533 Add proto3 install scripts to Dockerfiles and update docs. (#589) 2017-11-13 10:48:00 +01:00
Juraj Oršulić 53b9306d6e Remove io component of PCL. (#588)
The `io` component of PCL brings in VTK, which in turn creates a lot of CMake pollution (such as bringing in Qt, which is completely unnecessary for `cartographer_ros`).
2017-11-13 09:28:29 +01:00
Juraj Oršulić ef57b43323 Revert "Fix PCL linking issue in Zesty (#396)" (#574)
This reverts commit 125aee3011.

This got fixed upstream, so perception_pcl (8b32dcd078) did remove this hack too.
2017-11-10 14:38:31 +01:00
Jihoon Lee d0697e6847 Follow googlecartographer/cartographer#599 (#561)
Use submap_painter. Merge this after googlecartographer/cartographer#599.
2017-11-10 13:27:27 +01:00
Rodrigo Queiro ae6aefaf97 Don't `set -o verbose` in ros_entrypoint.sh (#558)
All it does is source some large scripts, which results in lots of
logspam when the container starts up. It then runs exec, after which the
`verbose` setting has no effect.
2017-11-09 13:36:40 +01:00
Wolfgang Hess 7540dfa674
Increase 3D global localization score threshold. (#587)
With googlecartographer/cartographer#640 submitted,
global localization in 3D seems to behave as expected,
so there is no longer a need for a low minimum score.

We increase the minimum score to be slightly above the
minimum score used in the same trajectory. This is to
reduce the amount of outliers which are worse in this
case. This change also moves it into the backpack_3d.lua
file since it should also apply to multi-trajectory SLAM.
2017-11-09 12:28:33 +01:00
Juraj Oršulić 67030b1ad3 Use start_trajectory_node topic remappings for the new trajectory. (#584) 2017-11-08 17:29:33 +01:00
Holger Rapp ff92e9e4bd
Follow googlecartographer/cartographer#637. (#583)
Use c++ standard types instead of the values from port.h.
2017-11-08 10:37:02 +01:00
Christoph Schütte e63126f329
Add ground truth stats to quality control pipeline. (#578) 2017-11-07 20:30:54 +01:00