Only released in EOL distros:
Autonomous Navigation Capabilities for CARL
- Maintainer status: maintained
- Maintainer: David Kent <dekent AT gatech DOT edu>
- Author: Russell Toris <russell.toris AT gmail DOT com>, David Kent <dekent AT gatech DOT edu>
- License: BSD
- Bug / feature tracker: https://github.com/GT-RAIL/carl_navigation/issues
- Source: git https://github.com/GT-RAIL/carl_navigation.git (branch: master)
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/en/api/carl_navigation/manifest.yaml
furniture_layerLayered 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 obstacle information denoted as blocked grid cells for addition to a local costmap.
Services Calledfurniture_tracker/get_all_poses (rail_ceiling/GetAllObstacles)
- Get all of the currently known pose information for furniture obstacles.
furniture_layer_localLayered costmap plugin for a local costmap that will display obstacle footprints for defined furniture pieces. Localization footprints are not calculated with this node.
Subscribed Topicsfurnituer_layer/local_obstacle_grid (invalid message type for MsgLink(msg/type))
- Incoming furnituer obstacle information for the local map.
map_republisherCombines a base static map with localization footprints from furniture obstacles calculated by the furniture_layer costmap plugin.
Subscribed Topicsmap_server/map (nav_msgs/OccupancyGrid)
- The static map, used as the map base.
- Incoming obstacle localization footprints to add to the map.
Published Topicsmap_metadata (nav_msgs/MapMetaData)
- Metadata for the combined map.
- Service call to get the combined map.
rail_lab_location_serverLayered 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 Goalmove_carl (carl_navigation/MoveCarlGoal)
- Automatic navigation to a pred-defined semantic location.
Action Resultmove_carl (carl_navigation/MoveCarlResult)
- Result of automatic navigation to a pred-defined semantic location.
Parameterslocations_config (string, default: (path to carl_navigation)/config/rail_lab_locations.yaml)
- File path for location definitions.
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
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
Please send bug reports to the github issue tracker