Commit Graph

39 Commits (adbaeb4fe62d714da7f951e4404dc55193583f3f)

Author SHA1 Message Date
gaschler 6a3dc04510 Visualize both high and low res slices. (#532)
* OgreSlice has a slice_id.

This is necessary because we will have multiple OgreSlices
and Ogre requires unique names for textures and other entities.

* Visualize both high and low res slices.

Adds checkboxes to the rviz plugin to show high and low
resolution slices.
DrawableSubmap now holds a vector of OgreSlices and
decides which slices are visible.

* Corrections. Move slice visibility to OgreSlice.
2017-10-12 02:48:57 -07:00
gaschler e117b13ea7 Rename to OgreSlice. (#530)
Renames OgreSubmap to OgreSlice in preparation for that a
DrawableSubmap should hold multiple OgreSlices, so multiple
types of slices for one submap can be visualized.
2017-10-09 14:48:51 +02:00
gaschler b2a2ac4912 FetchSubmapTextures returns multiple textures. (#519)
This changes the Ros api that multiple textures will be returned,
which are forwarded from the Ros service call.
Adapts all usages to follow this new api.
2017-10-09 04:19:48 -07:00
Jihoon Lee 2a9e392023 Throttle rviz submap fading warning. (#514) 2017-10-04 13:14:59 +02:00
Jihoon Lee a40357b61d Show submap ID in rviz (#447) 2017-07-28 16:40:25 +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 44459e1810 Extract the Ogre related submap code into a separate class. (#444) 2017-07-25 16:21:41 +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
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
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
Holger Rapp 6f171dc5a7 Use SubmapId in cartographer_rviz. (#419) 2017-07-10 15:43: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
Damon Kohler eb804c1182 First unstable development release (#344) 2017-05-18 14:28:38 +02:00
Juraj Oršulić 13db11d45c Add visibility toggling of individual submaps in cartographer_rviz
- Add a variable list object to the submaps plugin, containing visibility
checkboxes for individual submaps. Each DrawableSubmap creates and
manages its visibility property checkbox object. Submaps are hidden by
detaching the Ogre manual object from the Ogre scene node. 
- Fetch if the submap version number is different, possibly lower
  (meaning Cartographer was restarted)
2017-04-21 11:58:16 +02:00
Juraj Oršulić f730bd5817 Update documentation, clean up rviz plugin CMakeLists (#302)
- Among the lines added in #150, the one that fixes building with Qt5 is
  the following line:

  include_directories(${Qt5Widgets_INCLUDE_DIRS})

  The rest is redundant and actually doesn't do anything. A CMake
  variable named QtX_INCLUDE_DIRS is not defined when find_package()-ing
  Qt. Also, there is no need to find_package() Qt5 Widgets twice.

- In documentation, add sudo to rosdep init invocation, following
  http://wiki.ros.org/rosdep. Add a comment about the error which will
  be printed if the user has already run sudo rosdep init since
  installing ROS.
2017-04-20 12:30:20 +02:00
Juraj Oršulić 319be1ad8c Fix race condition (#293)
* Change mutex locker scope in SubmapsDisplay::update()

This avoids the potential unsafe situation where someone (for example,
SubmapsDisplay::Reset()) clears the trajectories vector, but update()
uses it after the mutex has been released, since the scope of the lock
was only in the try block.

Also resolve a miscellaneous signed-unsigned warning.

* Make DrawableSubmap destructor safer

Make the DrawableSubmap destructor wait for the asynchronous fetch
thread to finish - otherwise, it's possible to crash rviz by rapidly
pressing the enable checkbox of the submaps plugin. Eventually the race
condition will be triggered, and the fetch thread will write into a
deleted DrawableSubmap object, which causes a crash.
2017-03-31 16:36:47 +02: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
Damon Kohler e6e3730dde Use imported targets. (#246) 2017-01-09 14:22:20 +01:00
Wolfgang Hess 9311be0f7a Fix the RViz plugin. (#237) 2016-12-20 17:42:56 +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
Damon Kohler fe936b67b1 Adds Kinetic to build matrix. (#222) 2016-12-09 15:24:06 +01:00
Damon Kohler 797ee08c5b Fixes Catkin CMake for building libraries. (#177) 2016-11-18 09:33:52 +01:00
Damon Kohler 12ea8386bb Updates CMake. (#171) 2016-11-17 11:49:59 +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
Thiago de Freitas 7d95852192 Set INCLUDE_DIRS in catking_package (#147) 2016-10-26 17:46:46 +02:00
Holger Rapp de53d1f7f6 Fix build with Qt5. (#150)
- Include Qt5 include directories into search path. Fixes #138.
- Supersedes and fixes #124.
2016-10-26 14:47:57 +02:00
Holger Rapp 7f7933f26d Manually require Qt5Widgets library if we use Qt5. (#133)
Might fix #119.
2016-10-19 18:27:23 +02:00
Holger Rapp 90872f3697 Update cMakeLists.txt. (#111) 2016-10-13 15:10:02 +02:00
Holger Rapp bc3a4978f2 We do not use ZLIB anymore. (#104) 2016-10-13 12:31:28 +02:00
Holger Rapp 9ac88abcfc Fix compile warnings and add a clarifying comment. (#105) 2016-10-13 11:44:19 +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 0c8d6afc33 Disable culling for submaps and reduce overdraw. (#85)
We disable backface culling so that submaps also show when looked at from
below.

We add a depth bias to move submaps further to the back, so that submaps
do not overdraw the visualization of laser scans which makes the latter
sometimes hard to see.
2016-10-06 16:53:31 +02:00
Damon Kohler f4e89a070e Small fixes. (#83) 2016-10-05 17:27:21 +02:00
Damon Kohler 337607692a Fixes wstool invocation to match wstool docs. (#71)
* Simplifies CMake installation configuration.
2016-09-28 14:36:22 +02:00
Damon Kohler 1525dbdbc7 Pulls out RViz support into a separate package. (#66) 2016-09-20 10:30:21 +02:00