Commit Graph

476 Commits (237dd83b604bd6bb2039e994ed34d981de5e82f0)

Author SHA1 Message Date
Juraj Oršulić 7f616b4cc7 Use trajectory ID as namespace for trajectory marker (#473)
Also simplifies marker IDs since they must only be unique within a unique namespace.
2017-08-07 15:59:41 +02:00
Wolfgang Hess ab1ca30353 Fix typo in the issue template. (#474) 2017-08-07 13:04:51 +02:00
Juraj Oršulić b99c8b4cda Keep offline node running, republish the clock. (#468) 2017-08-04 17:46:16 +02:00
Wolfgang Hess 4034f4f801 Deduplicate LoadOptions(). (#471) 2017-08-03 15:47:17 +02:00
Juraj Oršulić 2042b73010 Remove custom SIGINT handler from offline node. (#470) 2017-08-03 12:29:07 +02:00
Wolfgang Hess 63aba81e31 Reuse the Node::Handle*() functions. (#466)
This moves adding IMU data to the extrapolator to
Node::HandleImuMessage() so that in the offline node extrapolation
for tf publishing can benefit from IMU data.

Fixes crash in offline node by setting the trajectories as active
as they are added.
2017-08-01 18:16:21 +02:00
Juraj Oršulić 76b1903488 Make Node thread-safe. (#443)
Accessing the MapBuilderBridge was not previously guarded by a mutex.
2017-08-01 17:07:58 +02:00
Wolfgang Hess 061731399a Fix ValidateTrajectoryOptions(). (#465)
The checks in ValidateTrajectoryOptions() are both obsolete. Instead
we now just check that the correct trajectory builder options exist
at all.

Also checks options in Node::StartTrajectoryWithDefaultTopics() now.
2017-08-01 16:04:12 +02:00
Wolfgang Hess ace7ab5f05 Crash fix in offline node. (#464)
This adds trajectories at the Node object. It makes sure all
necessary extrapolators exist. Before the offline node would crash
when extrapolating.

Also deduplicates the logic to compute the topics for a trajectory.
2017-08-01 13:38:34 +02:00
Wolfgang Hess cbc26545ad Follow googlecartographer/cartographer#436. (#459) 2017-08-01 11:28:03 +02:00
Holger Rapp 46b0cc6497 Add documentation for the assets_writer. (#449)
Fixes #239.
2017-07-31 11:26:06 +02:00
Wolfgang Hess b6b1c572f6 Also extrapolate based on IMU if available. (#458) 2017-07-28 17:52:39 +02:00
Jihoon Lee a40357b61d Show submap ID in rviz (#447) 2017-07-28 16:40:25 +02:00
Holger Rapp ba28491775 Update ROS API documentation. (#450)
Add mentions of the offline node and the occupancy grid node.

Fixes #448.
2017-07-28 14:35:46 +02:00
Holger Rapp 698fc1043f Beginnings of a tuning guide. (#445)
Related to #397.
2017-07-28 14:17:16 +02:00
Holger Rapp 7e272f2e2b Add toggleable trajectories to RViz plugin (#456)
Implementation of #422 by @ojura. Original feature idea and implementation by @jihoonl.
2017-07-28 13:46:58 +02:00
Wolfgang Hess 2ee9a77a73 Fix fixed frame issues of the RViz SubmapsDisplay. (#454)
Adds a 'map_node_' which gets updated with the transform to RViz's
fixed frame. Before, submaps rendered incorrectly if a fixed frame
different from the map frame was chosen.

Removes the map frame property since this data is published on the
submap list topic.

Renames node names to reflect the frames they represent.
2017-07-28 12:10:26 +02:00
Wolfgang Hess 4bad3c4702 Crash fix when "extrapolating". (#453)
It can happen that ros::Time::now() is slightly behind the latest pose
timestamp if sensor data had newer timestamps. We would crash before.
Instead, we now publish the latest pose which is even newer that what
we tried to publish before.
2017-07-27 14:52:41 +02:00
damienrg 907586a7fc Track googlecartographer/cartographer#423 (#446) 2017-07-27 11:59:09 +02:00
Wolfgang Hess d60e1e2e11 Use extrapolators to provide higher frequency tf. (#451)
Fixes googlecartographer/cartographer#102 for Cartographer ROS.
Direct users of the Cartographer library can make use of
googlecartographer/cartographer#430.
2017-07-26 16:08:48 +02:00
Wolfgang Hess 44459e1810 Extract the Ogre related submap code into a separate class. (#444) 2017-07-25 16:21:41 +02:00
Wolfgang Hess e49fecbf11 Publish the scan matched point cloud in the map frame. (#442)
This is to make sure that the scan match result is visualized
with correct pose in RViz independent of tf timing.
2017-07-25 15:22:12 +02:00
Holger Rapp d022b8182f Track googlecartographer/cartographer#421. (#441) 2017-07-25 14:32:21 +02:00
Wolfgang Hess e6d214c51d Fix flickering submaps. (#440)
The 'slice_pose' must be updated together with the texture. Right
now it is updated before the texture so the submap will be shown
in the wrong pose for a short time.

The fix is to move the handling of poses over to Ogre:
The 'scene_node_' now transforms both the shown submap and the axes
into the submap frame. The 'submap_node_' applies the 'slice_pose'
so that the textured rectangle is shown in the correct pose in
the submap frame.
2017-07-24 15:19:43 +02:00
Holger Rapp 3dceac9a46 Track googlecartographer/cartographer#420. (#439) 2017-07-24 14:00:42 +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
Holger Rapp 1ea5f90b8b New node that creates a ROS map from submap textures. (#432)
Fixes #343.
2017-07-21 16:19:14 +02:00
Wolfgang Hess e5c2881b90 Support multiple LaserScan and MultiEchoLaserScan topics. (#435)
This fixes #212.
2017-07-21 14:07:15 +02:00
Juraj Oršulić bd28ec1a58 Display submap poses in Submaps plugin (#416)
- simplify code around toggling submap visibility
- pass DisplayContext to DrawableSubmap
- add parent scene node for both submap and axes
- remove unnecessary const

Fixes #405.
2017-07-21 11:52:25 +02:00
Wolfgang Hess 1358f719a5 Simplify sensor subscribers. (#434) 2017-07-21 10:38:22 +02:00
Holger Rapp 603439ac05 Pull out FetchSubmapTexture into cartographer_ros. (#433) 2017-07-20 17:43:29 +02:00
Holger Rapp fed96d8cee Reuse code from cartographer_ros in cartographer_rviz. (#431)
Refactor a bit for readability.
2017-07-20 15:10:07 +02:00
Wolfgang Hess cf1e2d6cfc Fix handling of IMU for 3D SLAM. (#430)
In the (non-offline) node, subscribing to the IMU topic was
controlled by the 2D options even for 3D SLAM. It now correctly
subscribes always similar to the offline node.
2017-07-20 09:00:16 +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
Holger Rapp b12e32d6fc Improve crash logging on deprecated frame_ids. (#427) 2017-07-19 12:25:50 +02:00
Wolfgang Hess 5417a4ab9d Add performance info to the offline node. (#420)
Outputs elapsed wall clock time and process CPU usage when the
node finishes.
2017-07-11 14:57:30 +02:00
Holger Rapp 6f171dc5a7 Use SubmapId in cartographer_rviz. (#419) 2017-07-10 15:43:11 +02:00
Wolfgang Hess 35389d0adb Follow googlecartographer/cartographer#396. (#417) 2017-07-07 17:46:59 +02:00
Jihoon Lee 6b1e9fb55c support map loading in offline node (#411)
* support map loading in offline node

* support map loading in offline node

* offline_node_main.cc

add todo to replace loadmap later

* rename map_filename to pbstream filename
2017-07-06 15:57:32 +02:00
Holger Rapp 85a99fdb80 Add data size, floors and durations to the 2D bags. (#415)
PAIR=wohe
2017-07-06 11:16:29 +02:00
Holger Rapp 08accfc191 Add new config to configuration_files_test.cc. (#412) 2017-07-06 10:42:01 +02:00
Holger Rapp e139a4ca0b Add pure localization demo. (#410)
Adds configuration files and launch files for 2D backpack pure
localization.

PAIR=wohe
2017-07-05 17:27:00 +02:00
Wolfgang Hess 12318555a5 Add support for loading a map. (#409)
For now we implement map loading via a commandline flag.

PAIR=SirVer
2017-07-05 16:47:50 +02:00
Juraj Oršulić 764004736e Actually delay messages. (#406) 2017-07-05 11:17:42 +02:00
Juraj Oršulić 84b14a4774 Constraints visualization (#375)
Originally by @jihoonl
2017-07-03 17:41:35 +02:00
Wolfgang Hess 4d218283de Serialize the state in a proto stream file. (#403)
This follows googlecartographer/cartographer#379.
2017-07-03 16:07:55 +02:00
Juraj Oršulić 7c31232208 Rename "nodes list" to "node list". (#402) 2017-07-03 10:42:44 +02:00
Wolfgang Hess 1e76e8f4ae Remove unused code. (#401) 2017-06-29 12:12:06 +02:00
Juraj Oršulić 125aee3011 Fix PCL linking issue in Zesty (#396)
Fixes #355.
2017-06-26 14:29:43 +02:00
Holger Rapp ecc2f08828 Support multiple trajectories in the asset_writer_main (#395) 2017-06-26 12:40:38 +02:00