Commit Graph

215 Commits (9867aeb1a3391e3c2a86a52ca123c4df10c97acd)

Author SHA1 Message Date
Wolfgang Hess a125822a0e Follow googlecartographer/cartographer#338. (#378) 2017-06-14 15:52:10 +02:00
Holger Rapp 8140946a34 Track googlecartographer/cartographer#333. (#373) 2017-06-12 18:06:29 +02:00
Juraj Oršulić 5ffe91f19c Add trajectory colors. (#363)
Generates colors for different trajectories using a scheme which
ensures even hue distribution, uniform look and high contrast
between consecutive trajectories.
2017-06-12 16:36:30 +02:00
Holger Rapp 2b1300e1a3 Follow googlecartographer/cartographer_ros#330 (#374) 2017-06-12 16:06:21 +02:00
Wolfgang Hess 8d8cc09f80 Follow googlecartographer/cartographer#326. (#370) 2017-06-10 10:41:39 +02:00
Juraj Oršulić 6658cffa20 Fix rviz trajectory rendering crash (#367)
Rviz has a limit of 16384 points per marker. To get around this, each
trajectory is split into multiple markers, each up to 16384 points.
Fixes #366.
2017-06-09 12:39:04 +02:00
Akiyoshi Ochiai 51fe6fa021 Fix missing ID handling related to starting trajectory (#369) 2017-06-09 10:23:00 +02:00
Wolfgang Hess ed6ddbe121 Serialize the pose graph instead of just the trajectory. (#365)
This is related to googlecartographer/cartographer#310
and googlecartographer/cartographer#253.
2017-06-08 18:15:55 +02:00
Wolfgang Hess 30f6f80508 Fix include guards. (#364) 2017-06-08 14:27:49 +02:00
Juraj Oršulić 07806f1152 Trajectory visualization (#360)
Based on code originally by @domeinzer.
2017-06-08 13:55:15 +02:00
Holger Rapp 73da0aa124 Better tuning for Revo LDS demo. (#362) 2017-06-06 14:08:45 +02:00
Yutaka Takaoka 2441fb5854 Added error handling on start trajectory service (#358)
- Changed logging to using glog.
2017-06-02 13:03:45 +02:00
Yutaka Takaoka 9d5b221ed4 Enable multi-trajectory on ROS node (#346) 2017-05-31 11:21:24 +02:00
Wolfgang Hess cd1276a99c Add an assets pipeline demo for 3D. (#352) 2017-05-24 15:27:52 +02:00
Holger Rapp 90381f7f2a Figured out how to symbolically refer to PointCloud2 datatypes. (#348) 2017-05-19 17:23:09 +02:00
Holger Rapp b9ad9bb4b8 Remove unnecessary if. (#347) 2017-05-19 12:16:14 +02:00
Damon Kohler eb804c1182 First unstable development release (#344) 2017-05-18 14:28:38 +02:00
Holger Rapp 8b239ded86 Do not use tf_buffer for keeping all transforms in memory. (#342)
PAIR=wohe
2017-05-17 15:45:18 +02:00
Holger Rapp 4cd812d806 Track googlecartographer/cartographer#290. (#340)
PAIR=wohe
2017-05-16 15:07:31 +02:00
Holger Rapp 227e46c285 Fix broken test. (#339) 2017-05-16 14:14:01 +02:00
Wolfgang Hess 8c56b44bdd Follow googlecartographer/cartographer#288. (#338) 2017-05-16 11:40:06 +02:00
Holger Rapp d624b1c250 Track changes in Cartographer. (#331)
googlecartographer/cartographer#268 changes the API.

PAIR=wohe
2017-05-09 16:06:04 +02:00
Jeremie Papon f6fc7ac6b2 Added reading intensity values from point clouds (#321) 2017-05-09 10:26:05 +02:00
Holger Rapp 5294050f51 ConstantData is now owned by the SPG. (#326) 2017-05-08 18:05:02 +02:00
Holger Rapp b6fa20c9d5 Track Cartographer changes. (#329)
Change googlecartographer/cartographer#248 introduced a separation
between MapBuilder and TrajectoryOptions. The ROS repositiories require
changes to track this modification.
2017-05-08 15:07:14 +02:00
Wolfgang Hess e4de18cc65 Follow googlecartographer/cartographer#259. (#324) 2017-05-04 16:20:45 +02:00
Wolfgang Hess 6b147dd445 Remove dependency on proto::LaserScan. (#323)
Also change the CMakeLists.txt to run all tests found by the glob.
2017-05-03 15:20:21 +02:00
Holger Rapp 1514f71b30 Track Cartographer API. (#320) 2017-05-03 11:56:37 +02:00
Holger Rapp a44527ea7c Add better logging for missing IMU data. (#311) 2017-04-24 11:40:26 +02:00
Wolfgang Hess 23798c9ef8 Follow changes in googlecartographer/cartographer#235. (#309) 2017-04-21 15:38:36 +02:00
Mac Mason 1babc6982a Correct for googlecartographer/cartographer#227. (#303)
Correct for googlecartographer/cartographer#227.
2017-04-19 16:24:13 +02:00
Wolfgang Hess 8b3af77fde Follow Cartographer API. (#286)
Rename LaserFan to RangeData.
2017-03-23 16:07:38 +01:00
Wolfgang Hess 2dd30a853b Follow Cartographer API. (#283)
'laser_fan_3d' is renamed 'range_data_3d'.
2017-03-22 13:47:49 +01:00
Juraj Oršulić d5710fe291 Offline node improvements (#266)
* Unify signatures of ReadTransformsFromBag and ReadStaticTransformsFromUrdf. Both functions append data into the buffer, so they can be combined.
* Modifies offline_node and assets_writer to optionally use both the .urdf file and bag transform data, if available (use case: fixed joint descriptions of the robot are in the .urdf, while the odometry-base link transforms are read from the bag); the static transforms are added to the buffer after it has been filled with transforms from the bag (if any).
* offline_node optionally publishes all transforms from the bag (checking if any are in conflict with Cartographer is still TODO; however, this should be the responsibility of the bag provider, just like when using the online node, so it should be OK to leave this unimplemented) and all static transforms from the URDF.
2017-02-21 09:44:19 +01:00
Juraj Oršulić 02044fc86a Enable adding as a CMake subproject (#262)
Add support for building libcartographer in the same project

Support adding as a CMake subproject by using the PROJECT_*_DIR variables
instead of the absolute CMAKE_*_DIR variables.

Resolve a signed-unsigned comparison compiler warning
Fix comment typo
2017-02-09 15:58:35 +01:00
Wolfgang Hess f7057fc5a3 Fix configuration checks during start up. (#258)
We now destroy the LuaParameterDictionary directly after
constructing the NodeOptions, so that it is verified
whether all mentioned parameters are understood.
Before, this was checked when shutting down the node.
2017-01-25 13:54:35 +01:00
Holger Rapp 2a2286deb0 Assets pipeline demo and track Cartographer API (#253)
Adds a more complete assets_writer_backpack_2d.lua including many
comments.
2017-01-24 15:57:37 +01:00
Holger Rapp 0783398634 Follow Cartographer API. (#250) 2017-01-17 13:54:33 +01:00
Damon Kohler e6e3730dde Use imported targets. (#246) 2017-01-09 14:22:20 +01:00
Damon Kohler 6d61394c3c Small cleanups. (#241) 2016-12-22 14:53:24 +01:00
Holger Rapp c86d5e48f5 Add support for making assets out of LaserScan and MultiEchoLaserScan. (#235) 2016-12-21 11:39:01 +01:00
Damon Kohler 58069b0033 Remove use of google_library and google_test. (#234)
* Fixes Dockerfile.indigo copying.
2016-12-20 16:20:27 +01:00
Wolfgang Hess 0b4fa3d5b1 Fix the offline 3D backpack launch file. (#233) 2016-12-19 16:27:32 +01:00
Wolfgang Hess 7551d770dc Fix crash on Ctrl+C in the offline node. (#230) 2016-12-19 13:38:18 +01:00
Wolfgang Hess 81f93f3e92 Add additional 3D backpack data. (#228) 2016-12-13 16:44:55 +01:00
Wolfgang Hess 47c6422a70 Unbreak cartographer_turtlebot and cartographer_toyota_hsr. (#225)
FindThreads.cmake (e.g. of trusty) is used which adds the
"-lpthead" dependency that is added to cartographer's
dependencies. Catkin then fails to resolve this in the
cartographer_rosConfig.cmake file it generates to be used
by all dependencies of cartographer_ros.

This means for now, users of cartographer_ros also have to
directly depend on cartographer.
2016-12-12 14:24:03 +01:00
Damon Kohler fe936b67b1 Adds Kinetic to build matrix. (#222) 2016-12-09 15:24:06 +01:00
Wolfgang Hess 5bf1f9c8ff Install offline node and disable duplicate logging. (#220)
We already show the ROS log on the console.
2016-12-08 14:44:29 +01:00
Damon Kohler 794ca96b92 Fix offline node. (#219)
Flips topic remapping to match online node and checks that topics are
wired to unique sensor inputs.
Fixes broken launch files.
2016-12-08 11:15:02 +01:00
Damon Kohler a09a2a3ee3 Adds offline node launch files for backpacks. (#217) 2016-12-07 14:14:11 +01:00
Holger Rapp 2803b7bb49 Include what you use. (#214) 2016-12-06 16:23:33 +01:00
Damon Kohler cff972ddf2 Optionally read /tf from bag in place of a URDF. (#213) 2016-12-06 08:36:08 +01:00
Damon Kohler c3a319cabf Cleanups and preparation for handling /tf topic. (#206) 2016-12-01 11:45:25 +01:00
Damon Kohler 42440452b6 Adds multi-trajectory support to offline mapping. (#204) 2016-11-30 16:48:03 +01:00
Wolfgang Hess 78c14d50d2 Cleanup. (#203) 2016-11-30 16:15:43 +01:00
Damon Kohler 946c979a71 Adds offline SLAM; build maps as fast as possible. (#201) 2016-11-30 15:09:31 +01:00
Damon Kohler c57075f67d Injects tf buffer into Node. (#200) 2016-11-30 11:04:54 +01:00
Damon Kohler 6260c53107 Pulls out reading from URDF file to tf buffer. (#199) 2016-11-29 15:19:58 +01:00
Damon Kohler 141bf26dbb Pulls out sensor data wiring into main. (#198) 2016-11-29 13:28:11 +01:00
Damon Kohler 102fb4ef4e Pulls out TrajectoryState into MapBuilderBridge. (#197) 2016-11-29 11:10:52 +01:00
Damon Kohler 33271f0290 Moves TfBridge into SensorBridge. (#195) 2016-11-28 14:50:04 +01:00
Damon Kohler 0d1e248f5f Support multiple simultaneous trajectories. (#194) 2016-11-28 12:52:34 +01:00
Wolfgang Hess 43c4bacde3 Add additional 3D backpack data. (#191) 2016-11-28 10:58:36 +01:00
Damon Kohler 94fc589141 Pulls out node.h/cc (#189) 2016-11-25 14:49:42 +01:00
Damon Kohler 012beb5c0c Pulls out GetOccupancyGrid to MapBuilderBridge. (#187) 2016-11-25 14:13:04 +01:00
Damon Kohler 500b83ff0d Partially pulls out MapBuilderBridge. (#186) 2016-11-25 12:35:22 +01:00
Damon Kohler 516c86fa5a Improve parameter names. (#185) 2016-11-25 11:31:57 +01:00
Damon Kohler e5b63e377a Fix trajectory start/stop bug and some cleanups. (#184) 2016-11-25 09:37:11 +01:00
Wolfgang Hess 4f6f0dc684 Simplify configuration. (#183)
Logging loop closure matches is now the default.
2016-11-23 12:38:03 +01:00
Damon Kohler 479694963c Improves parameter names and fixes #40. (#181) 2016-11-22 15:39:35 +01:00
Damon Kohler ca5b7d1bff New Cartographer API, removes SensorBridgeOptions. (#180) 2016-11-21 13:12:05 +01:00
Damon Kohler d09c33e8f8 New Cartographer API. (#178) 2016-11-21 10:56:50 +01:00
Damon Kohler 797ee08c5b Fixes Catkin CMake for building libraries. (#177) 2016-11-18 09:33:52 +01:00
Holger Rapp 31d5787544 Track Cartographer API. (#175) 2016-11-17 18:28:27 +01:00
Wolfgang Hess d0343919b3 Fix crashing bug on node termination. (#173) 2016-11-17 17:02:27 +01:00
Damon Kohler 965490f611 Adds configuration files test. (#172) 2016-11-17 12:41:02 +01:00
Damon Kohler 12ea8386bb Updates CMake. (#171) 2016-11-17 11:49:59 +01:00
Holger Rapp 5046bc02cc Adapt to new Cartographer API. (#169)
And write by-floor X-Rays in the asset writer.
2016-11-17 02:17:52 -08:00
Damon Kohler 2ec6001f96 New Cartographer API. (#157) 2016-11-15 14:47:45 +01:00
Atsushi Watanabe 22d8573bd0 Fixes urdfdom_headers version compatibility (#162)
Urdf changed their shared ptr type from boost to std. This PR detects which version of urdf is installed and uses the correct ptr type.
2016-11-08 00:21:34 -08:00
Wolfgang Hess d0edcb5f95 Use function to convert submap pose to ROS message. (#153) 2016-10-27 18:00:18 +02:00
Wolfgang Hess 76212e1c79 Simplify SubmapToProto use. (#152) 2016-10-27 17:00:33 +02: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
Thiago de Freitas 7d95852192 Set INCLUDE_DIRS in catking_package (#147) 2016-10-26 17:46:46 +02:00
Wolfgang Hess f100950244 Improve publishing of poses. (#149)
When a new scan matched point cloud is published, its timestamp is used for
publishing corresponding transforms. Further transforms are stamped with
::ros::Time::now().

If configured to publish odom, the two published transforms are combined into
one tf message.
2016-10-26 13:31:51 +02:00
Stefan Kohlbrecher ec2d54ef84 Sets stamped_transform timestamp to ros::Time::now() (#143) 2016-10-26 12:40:19 +02:00
Wolfgang Hess 094e319d4a Cartographer API changes. (#146) 2016-10-26 09:18:01 +02:00
Holger Rapp 92678fa4fd Adds a binary that runs over trajectory and data to create assets of all point data. (#142) 2016-10-25 14:47:42 +02:00
Holger Rapp 16f192aeb9 Write the trajectory on exporting. (#134)
And some refactorings around writing assets.
2016-10-20 14:09:05 +02:00
Wolfgang Hess af78dcbe55 Fix constness of Submaps to match the new API. (#136) 2016-10-20 12:01:56 +02:00
Wolfgang Hess b8d9ac585e Remove direct use of sensor::Collator. (#132)
Collating the sensor data is now handled by the MapBuilder.
2016-10-19 17:55:20 +02:00
Holger Rapp e4abb77835 Use pkg-config to find yaml-cpp. (#130)
Fixes #117.
2016-10-19 17:33:41 +02:00
Holger Rapp a3010b7611 Check for pcl_conversions library at configuration time. (#131)
Fixes #118.
2016-10-19 17:10:22 +02:00
Wolfgang Hess 0289ece55d Unify to AddLaserFan for both 2D and 3D. (#129) 2016-10-19 15:25:19 +02:00
Holger Rapp ccbf9ef1be Adapt to changes in cartographer and write PLY files on exporting. (#128)
Also use reflectivity in the 'PointsBatch'es created in 'WriteAssets'.
In the online case, we throw away reflectivities during SLAMing to save
on memory, so there will be none.
2016-10-19 15:02:34 +02:00
Damon Kohler b63611b2c3 Updated to work with new APIs. (#125) 2016-10-18 18:04:46 +02:00
Damon Kohler caa77c8588 Removes templating on data type. (#122) 2016-10-17 16:39:29 +02:00
Damon Kohler d1707853af Moves SensorCollator into sensor package. (#113) 2016-10-17 10:58:18 +02:00
Holger Rapp 53df586f69 Write XRays for 3D runs when finalizing a trajectory. (#116)
* Write XRays for 3D runs when finalizing a trajectory.
2016-10-14 17:02:09 +02:00
Wolfgang Hess 8d36c633b8 Updates use of LaserFan following cartographer. (#114)
This follows changes from googlecartographer/cartographer#62 and
googlecartographer/cartographer#64.
2016-10-14 12:41:00 +02:00