Skip to content

fawkesrobotics/fawkes_msgs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fawkes ROS Message Types

This repository contains ROS message, service, and action specifications to access some Fawkes features from ROS directly.

NavGraph

The navgraph is a topological graph used for path planning as well as storing location-specific semantic information related to the ground map. The following message types are relevant.

The messages are processed by the navgraph-breakout plugin or the fawkes_navgraph node, which reads and monitors the navgraph YAML file to provide the API.

For examples how to use them confer the rcll_fawkes_sim or the rosplan_interface_behaviorengine packages.

Position exchange

As object positions are of universal reference, there is a generic Fawkes to ROS object transfer plugin ros-position-3d.

  • Position3D message Position in 3D space given as a pose along with a name and the visibility history. The history is zero on initialization, positive for the number of consecutive positive sightings of an object, and negative for the number of consecutive sensor data frames where the object was not visible. The history will flip between any negative number and 1, and any positive number and -1 when the visibility toggles. The node may implement to tolerate a number of frames before toggling for stability.

Behavior Engine Integration

The interface of the Lua-based Behavior Engine (project) is also provided to ROS to execute basic actions.

PCL Database

Fawkes provides functionality to store, retrieve, and merge pointclouds to and from a MongoDB database. This functionality is provided to and used from ROS (paper and video).

  • StorePointCloud service: Store a given point cloud to a given database and collection.
  • RetrievePointCloud service: Retrieve a point cloud from a given database and collection at a given time. Result is provided through a topic where point clouds are stored (enables to trigger some external processing pipeline by simply invoking to restore a point cloud).
  • MergePointClouds service: Merge point clouds from a number of given timestamps. The algorithm is described in the paper. The result is provided through a topic. Note that this requires that transform information has also been recorded, typically through the use of mongodb_log on ROS or mongodb-log on Fawkes.