Skip to content

nick-alton/mapviz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mapviz

Mapviz is a ROS based visualization tool with a plug-in system similar to RVIZ focused on visualizing 2D data.

Build Status

Package Indigo (Saucy) Indigo (Trusty) Jade (Trusty) Jade (Utopic) Jade (Vivid)
mapviz (32-bit) Build Status Build Status Build Status Build Status Build Status
mapviz (64-bit) Build Status Build Status Build Status Build Status Build Status
mapviz_plugins (32-bit) Build Status Build Status Build Status Build Status Build Status
mapviz_plugins (64-bit) Build Status Build Status Build Status Build Status Build Status
multires_image (32-bit) Build Status Build Status Build Status Build Status Build Status
multires_image (64-bit) Build Status Build Status Build Status Build Status Build Status
tile_map (32-bit) Build Status Build Status Build Status Build Status Build Status
tile_map (64-bit) Build Status Build Status Build Status Build Status Build Status

Travis CI Build Status

Indigo Jade
Build Status Build Status

Installation (ROS Indigo, Jade)

In ROS Indigo, you can install mapviz using apt-get from the ROS apt repository. This is the recommended installation method for ROS Indigo and Jade.

sudo apt-get install ros-$ROS_DISTRO-mapviz ros-$ROS_DISTRO-mapviz-plugins

Building From Source (ROS Indigo, Jade)

These directions assume you have already set up a catkin workspace. See this tutorial on the ROS Wiki for help setting up a catkin workspace.

Checking out the source code (wstool)

If you're using wstool, add these repositories to your wstool workspace:

wstool set mapviz --git https://github.com/swri-robotics/mapviz.git -v $ROS_DISTRO-devel
wstool set marti_common --git https://github.com/swri-robotics/marti_common.git -v $ROS_DISTRO-devel
wstool set marti_messages --git https://github.com/swri-robotics/marti_messages.git -v indigo-devel

Checking out the source code (git)

If you're not using wstool, you can check out the repositories with git:

git clone https://github.com/swri-robotics/mapviz.git --branch $ROS_DISTRO-devel
git clone https://github.com/swri-robotics/marti_common.git --branch $ROS_DISTRO-devel
git clone https://github.com/swri-robotics/marti_messages.git --branch indigo-devel

Installing dependencies and building

Install all of the dependencies using rosdep by running the following command from the root of your catkin workspace:

rosdep install --from-paths src --ignore-src

Build the workspace with catkin_make:

catkin_make

Building From Source (ROS Groovy, Hydro)

These directions assume you have already set up a catkin workspace. See this tutorial on the ROS Wiki for help setting up a catkin workspace.

Checking out the source code (wstool)

If you're using wstool, add this repository to your wstool workspace:

wstool set mapviz --git https://github.com/swri-robotics/mapviz.git -v $ROS_DISTRO-devel

Checking out the source code (git)

If you're not using wstool, you can check out the repositories with git:

git clone https://github.com/swri-robotics/mapviz.git --branch $ROS_DISTRO-devel

Installing dependencies and building

Install all of the dependencies manually using these two commands:

sudo apt-get install ros-$ROS_DISTRO-tf ros-$ROS_DISTRO-common-msgs ros-$ROS_DISTRO-plugin-lib \
  ros-$ROS_DISTRO-gps-umd ros-$ROS_DISTRO-nodelet ros-$ROS_DISTRO-cv-bridge \
  ros-$ROS_DISTRO-image-geometry ros-$ROS_DISTRO-angles ros-$ROS_DISTRO-camera-calibration-parsers \
  ros-$ROS_DISTRO-image-transport

sudo apt-get install yaml-cpp libboost-random-dev libblas-dev liblapack-dev libproj-dev \
  libglew-dev freeglut3-dev libxmu-dev libgeos++-dev qt4-dev-tools

Build the workspace with catkin_make:

catkin_make

Plug-ins

Disparity

Overlays a sensor_msgs::DisparityImage onto the display using the ''jet'' color map.

Parameters

  • Topic: The disparity topic name
  • Anchor: (top left | top center | top right | center left | center | center right | bottom left | bottom center | bottom right)
  • Offset X: Display offset from the left
  • Offset Y: Display offset from the top
  • Width: Display width
  • Height: Display height
  • Units: (pixels | percent of window)

GPS

Projects gps_common::GPSFix message data into the scene.

Parameters

  • Topic: The GPS topic
  • Color: The color of the GPS data
  • Draw Style: (lines | points | arrows)
  • Position Tolerance: Distance threshold for adding new GPS points to visualization
  • Buffer Size: Size of circular buffer of GPS points

Grid

Projects a 2D grid into the scene.

Parameters

  • Frame: Coordinate frame of the grid
  • Color: Color of the grid
  • Alpha: Alpha transparency of the grid
  • X: X offset of the grid from the specified coordinate frame origin
  • Y: Y offset of the grid from the specified coordinate frame origin
  • Size: Size of each grid cell
  • Rows: Number of grid rows
  • Columns: Number of grid columns

Image

Overlays a sensor_msgs::Image onto the display.

Parameters

  • Topic: The image topic name
  • Anchor: (top left | top center | top right | center left | center | center right | bottom left | bottom center | bottom right)
  • Offset X: Display offset from the left
  • Offset Y: Display offset from the top
  • Width: Display width
  • Height: Display height
  • Units: (pixels | percent of window)

LaserScan

Projects a sensor_msgs::LaserScan message into the scene.

  • Topic: The laser scan topic name
  • Min Color: The color associated with minimum return intensity
  • Max Color: The color associated with maximum return intensity
  • Min Intesity: Minimum intensity value
  • Max Intensity: Maximum intensity value
  • Point Size: Display size of laser scan points in pixels
  • Buffer Size: Size of circular buffer of laser scan messages points

Marker

Projects a visualization_msgs::Marker or visualization_msgs::MarkerArray into the scene.

Markers are the most flexible display type and more or less mirror the OpenGL primitives.

Parameters

  • Topic: The marker topic

Multi-res Image

Projects a geo-referenced multi-resolution image tile map into the scene. The concept is the same as the Google Maps style pan/zoom satellite imagery.

Parameters

  • Geo File: Path to the geo-referenced map tiles.

A custom format is currently used to store the map tiles and geo-reference. The geo-file has the following format:

image_path: "."        # The relative path to the map tiles
image_width: 29184     # The full pixel width of the map
image_height: 15872    # The full pixel height of the map
tile_size: 512         # The pixel size of the individual tiles

datum: "wgs84"         # Datum is currently ignored
projection: "utm"      # (utm|wgs84)

                       # At least 2 tie points are required for 
                       # scale, and 3 for orientation.
tiepoints:             #   [pixel x, pixel y, geo x, geo y]
 - point: [4799, 209, 535674.5, 3258382.5]
 - point: [2336, 15596, 535329.5, 3256198.5]
 - point: [26925, 15457, 538837.5, 3256233.5]
 - point: [29133, 84, 539142.5, 3258416.5]

The map tiles are stored in directories for each resolution starting with layer0, the full resolution. In subsequent layers the resolution is halved until the entire map fits within a single tile.

Tiles are named using the following format:

tile%05dx%05d.png % (row, column)

Odometry

Projects nav_msgs::Odometry message data into the scene.

Parameters

  • Topic: The odometry topic
  • Color: The color of the odometry data
  • Draw Style: (lines | points | arrows)
  • Show Covariance: Draw covariance ellipse around latest data
  • Position Tolerance: Distance threshold for adding new odometry points to visualization
  • Buffer Size: Size of circular buffer of odometry points

Path

Projects nav_msgs::Path message data into the scene.

Parameters

  • Topic: The path topic

Robot Image

Projects an image loaded from file into the scene to represent the robot platform.

Parameters

  • Image File: Path to the image file
  • Frame: Frame to tie the image to
  • Width: The physical width represented by the image
  • Height: The physical height represented by the image

Textured Marker

Projects marti_visualization_msgs::TexturedMarker and marti_visualization_msgs::TexturedMarkerArray message data into the scene.

Textured markers follow the same general approach as traditional markers, but can be used to texture dense image data onto a quad which is projected into the scene.

Parameters

  • Topic: The textured marker topic

Tile Map

Projects a geo-referenced multi-resolution image tile map into the scene. Data is automatically streamed from OpenMapQuest (satellite and roads) or [Stamen Design] (http://maps.stamen.com/) (terrain, watercolor, and toner). Custom or local map servers can also be specified. Map data is cached to disk which enables some limited use completely offline.

Parameters

  • Source: The source of the tile data.

TF Frame

Projects Tf data into the scene similar to the Odometry plug-in.

Parameters

  • Frame: The Tf frame
  • Color: The color of the Tf data
  • Draw Style: (lines | points | arrows)
  • Position Tolerance: Distance threshold for adding new Tf points to visualization
  • Buffer Size: Size of circular buffer of Tf points

About

Modular ROS visualization tool for 2D data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 97.7%
  • CMake 2.2%
  • Other 0.1%