Commit Graph

41 Commits (2ceb9f96a37a5e8d4bf757f468313d0d0513b126)

Author SHA1 Message Date
mgladkova 92a8b81a84 Simplify start_trajectory service (RFC-28) (#1245)
* Simplify start_trajectory.

* Ran clang-format.

* Make corrections based on the review

* Make corrections based on review #2, remove obsolete functions

* Remove unnecessary local variables
2019-05-07 16:53:06 +02:00
Michael Grupp 63dce89f6e Service to query trajectory segments from the pose graph. (#1222)
This `/trajectory_query` service allows to look up trajectory segments
from the pose graph.

This can be useful if one wants to get optimized trajectory data from
the current SLAM run and listening to live TF data would be too noisy.
For example, to stitch buffered point cloud data from a depth sensor
based on a recent localization trajectory segment of a robot.

Before, the pose graph trajectory nodes were not available except for
the trajectory marker topic (only positions, no orientation; inefficient)
or after serialization (which is not practical in live operation).
2019-04-23 12:11:22 +02:00
Mikael Arguedas ed418405b5 move metrics messages at root of msg folder (#1020) 2018-10-17 14:41:08 +02:00
Alireza dd4d2af58b feat: Publish progress of processing the bagfile (#940) 2018-09-27 12:44:29 +02:00
Michael Grupp edf25139a2 Add include_unfinished_submaps parameter to SerializeState() (#966)
- default to false in gRPC node (unsupported in `MapBuilderStub`)
- default to true in classic ROS nodes (as it was before)
- add as parameter to `write_state`
2018-08-02 19:42:15 +02:00
Michael Grupp 168f4cc53f List files explicitly in cartographer_ros_msgs/CMakeLists.txt (#927)
`DIRECTORY` by itself doesn't work as reliable as expected.
2018-07-10 20:04:00 +02:00
Alexander Belyaev 944b22575f
Use 'landmarks' instead of 'landmark'. (#931) 2018-07-09 13:23:52 +02:00
Michael Grupp be7ecf2e0d Register internal metrics and provide a public interface. (#917)
[RFC 24](https://github.com/googlecartographer/rfcs/blob/master/text/0024-monitoring-ros.md)

Public API:
  - adds `cartographer_ros::metrics::FamilyFactory`
  - compatible with `::cartographer::metrics::RegisterAllMetrics`

Public RPC interface:
  - adds the ROS service `/read_metrics`
  - response contains the latest values of all available metric families
2018-07-04 17:38:17 +02:00
Michael Grupp 237dd83b60 Add internal metric families. (#914)
- minimal counter, gauge and histogram implementations
- metric family interfaces as defined in libcartographer
- serializable to ROS messages

RFC: https://github.com/googlecartographer/rfcs/pull/26
2018-07-02 10:26:58 +02:00
Michael Grupp f5b583fde8 Allow to ignore (un-)frozen submaps in the occupancy grid node. (#899) 2018-06-29 13:28:40 +02:00
Michael Grupp 8bbec6bff7 Use PoseGraphInterface::TrajectoryState from libcartographer (#910)
https://github.com/googlecartographer/rfcs/pull/35

- makes use of the trajectory state in `map_builder` and `node`
- adds a service to query the trajectory states
- follow-up to https://github.com/googlecartographer/cartographer/pull/1214
  that takes the deleted state into account in the `/finish_trajectory` service
  (could crash otherwise)
2018-06-29 11:14:56 +02:00
Alexander Belyaev 42b2763830 Release 1.0. (#889) 2018-06-04 11:54:51 +02:00
Mikael Arguedas c4ac76a579 Add maintainers and authors to package.xml (#886) 2018-05-30 19:17:13 +02:00
Mikael Arguedas 46cfb7dfad [cartographer_ros_msgs] Message dependency fixup (#882)
* add missing std_msgs dependency
* use full message identifier to match be consistent with the other messages from this package
2018-05-30 09:59:16 +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
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 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
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
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
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
Christoph Schütte 42d82cbdfd Prepare 0.3.0 release (#609) 2017-11-23 10:50:04 +01: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
Juraj Oršulić 3fab4ad6b6 Adds per-sensor fixed ratio samplers (#499) 2017-09-29 09:04:41 +02:00
Holger Rapp 99da2f20d8 Enable OccupancyGridNode and remove generating of assets in the node. (#436)
This will allow us to keep way less information in memory for SLAMing and fixes crashes related to multi trajectory (e.g. this fixes #413).

It also means that to get to an X-Ray or a map, users need to run the asset writer now after SLAMing, which is inconvenient.
Remove dependency on YAML and delete more dead code.
2017-07-21 17:19:47 +02:00
Wolfgang Hess e5c2881b90 Support multiple LaserScan and MultiEchoLaserScan topics. (#435)
This fixes #212.
2017-07-21 14:07:15 +02:00
Wolfgang Hess c58a262d56 Add support for subdividing laser scan messages. (#428)
This adds an option to subdivide sensor_msgs/LaserScan and
sensor_msgs/MultiEchoLaserScan messages into multiple point
clouds. For slow spinning laser scanners this allows unwarping
using googlecartographer/cartographer#408.
2017-07-19 14:15:11 +02:00
Wolfgang Hess 1eca669024 Handle trimmed submaps in the visualization. (#389)
Related to googlecartographer/cartographer#283.

PAIR=SirVer
2017-06-21 16:36:01 +02:00
Damon Kohler d0d7ebf173 Prepare 0.2.0 release (#384) 2017-06-19 12:05:16 +02:00
Yutaka Takaoka 9d5b221ed4 Enable multi-trajectory on ROS node (#346) 2017-05-31 11:21:24 +02:00
Damon Kohler eb804c1182 First unstable development release (#344) 2017-05-18 14:28:38 +02:00
Juraj Oršulić a2b6dd7510 Change SubmapEntry submap_version field to be int32 (#292)
This matches the specification in SubmapQuery.srv and Cartographer API,
and resolves a misc IDE warning about unsigned/signed assignment.
2017-03-29 12:20:58 +02:00
Holger Rapp 69810c8920 Remove unnecessary dependency on Cartographer. (#284) 2017-03-24 17:44:33 +01:00
Damon Kohler fe936b67b1 Adds Kinetic to build matrix. (#222) 2016-12-09 15:24:06 +01:00
Wolfgang Hess a1eb540ffa Add support for multiple consecutive trajectories. (#151)
When the /finish_trajectory service is called, a new trajectory
is started with the same sensor configuration. This enables
"pause and resume".
2016-10-27 15:36:15 +02:00
Holger Rapp be7ce01463 Use Cartographer's cmake functions for ROS projects. (#100)
- Move sources from <project>/src into project/project and fix includes.
- Add autogenerated CMakeFiles for ROS projects. The python script is
  not yet fully updated to be used for keeping the files updated without
  manual intervention though.
- Build everything with -fPIC, so we can create shared libraries.
2016-10-12 17:50:37 +02:00
Wolfgang Hess 6fd405c78d Add support for finishing and writing 2D maps. (#80)
When receiving a FinishTrajectory call, the Cartographer nodes catches up on
computing loop closures, runs a final optimization, and when in 2D writes out
a PGM map similar to map_saver.
2016-10-05 12:28:29 +02:00
Wolfgang Hess 15e9638ce7 Remove TurtleBot related configuration and cleanup. (#55)
TurtleBot related configuration moves to a new repository
cartographer_turtlebot.

package.xml files got cleaned up and changed to version 2.
2016-09-15 12:05:03 +02:00
Wolfgang Hess 0cd8f047ed Build cartographer_ros with -O3. (#50)
Most importantly this should fix #41. Before the ROS integration was built
unoptimized which caused performance issues.
2016-09-08 15:23:19 +02:00
Wolfgang Hess 916b4fbac3 Fixes bug not displaying all submaps in RViz. (#9)
The 'version_' member of a DrawableSubmap is now properly initialized.
The redundant 'submap_id' in the SubmapQuery response is removed.
The missing slot for reset() is added.
2016-08-04 17:59:03 +02:00
Wolfgang Hess 7ead7400d4 Change the RViz plugin to use MessageFilterDisplay. (#6) 2016-08-04 15:58:41 +02:00
Damon Kohler aabd51e029 Renames google_cartographer* to cartographer_ros*. 2016-08-03 12:57:56 +02:00