About

The carl_navigation package contains nodes, configuration files, and launch files for allowing carl to autonomously move its base. This also includes support of layered costmaps, which allow obstacles to be represented in a costmap that otherwise would not be detected by CARL.

Newly proposed, mistyped, or obsolete package. Could not find package "carl_navigation" in rosdoc: /home/rosbot/docs/api/carl_navigation/manifest.yaml

Nodes

furniture_layer

Layered costmap plugin for a global costmap that will display obstacle footprints for defined furniture pieces. Localization footprints (i.e. the parts of the furniture that will be seen by a laser scan) are also calculated and sent to the localization map.

Subscribed Topics

/furniture_layer/update_obstacles (rail_ceiling/Obstacles)
  • Incoming furniture obstacle information.

Published Topics

/furniture_layer/obstacle_grid (carl_navigation/BlockedCells)
  • Furniture obstacle information denoted as blocked grid cells for purposes of localization.
/furniture_layer/local_obstacle_grid (carl_navigation/BlockedCells)
  • Furniture obstacle information denoted as blocked grid cells for addition to a local costmap.

Services Called

furniture_tracker/get_all_poses (rail_ceiling/GetAllObstacles)
  • Get all of the currently known pose information for furniture obstacles.

furniture_layer_local

Layered costmap plugin for a local costmap that will display obstacle footprints for defined furniture pieces. Localization footprints are not calculated with this node.

Subscribed Topics

furnituer_layer/local_obstacle_grid (invalid message type for MsgLink(msg/type))
  • Incoming furnituer obstacle information for the local map.

map_republisher

Combines a base static map with localization footprints from furniture obstacles calculated by the furniture_layer costmap plugin.

Subscribed Topics

map_server/map (nav_msgs/OccupancyGrid)
  • The static map, used as the map base.
furniture_layer/obstacle_grid (carl_navigation/BlockedCells)
  • Incoming obstacle localization footprints to add to the map.

Published Topics

map_metadata (nav_msgs/MapMetaData)
  • Metadata for the combined map.

Services

static_map (nav_msgs/GetMap)
  • Service call to get the combined map.

rail_lab_location_server

Layered costmap plugin for a global costmap that will display obstacle footprints for defined furniture pieces. Localization footprints (i.e. the parts of the furniture that will be seen by a laser scan) are also calculated and sent to the localization map.

Action Goal

move_carl (carl_navigation/MoveCarlGoal)
  • Automatic navigation to a pred-defined semantic location.

Action Result

move_carl (carl_navigation/MoveCarlResult)
  • Result of automatic navigation to a pred-defined semantic location.

Parameters

locations_config (string, default: (path to carl_navigation)/config/rail_lab_locations.yaml)
  • File path for location definitions.

Installation

To install the carl_navigation package, you can install from source with the following commands:

cd /(your catkin workspace)/src
git clone https://github.com/WPI-RAIL/carl_navigation.git
cd ..
catkin_make

Startup

The carl_navigation package contains multiple launch files. One can launch the navigation stack using:

roslaunch carl_navigation navigation.launch

One can see a visual representation of navigation using rviz with:

roslaunch carl_navigation view_nav.launch

Finally, one can generate a map of the environment using gmapping:

roslaunch carl_navigation gmapping.launch

The carl_navigation package also supports the inclusion of defined obstacles that may not be visible to a laser scan. These obstacles appear on a furniture layer costmap plugin defined in this package. Packages such as rail_ceiling can provide furniture definitions and tracking. One can launch the the navigation stack configured to use these layered costmaps with:

roslaunch carl_navigation navigation_layered.launch

Support

Please send bug reports to the github issue tracker

Wiki: carl_navigation (last edited 2014-12-12 16:19:07 by davidkent)