[Documentation] [TitleIndex] [WordIndex

Only released in EOL distros:  


RoboFrameNet is a system that grounds natural-language input (in the form of speech or text) into robot actions, using the concept of semantic frames as an intermediary. (The concept of semantic frames for robots was inspired by FrameNet; the author has no connection to or affiliation with this project.)

Quickstart Guide

To checkout, move to a directory within the ROS package path, then:

$ hg clone https://kforge.ros.org/appmanandroid/roboframenet roboframenet

To compile:

$ rosmake roboframenet --rosdep-install   # On electric

$ apt-get install ros-fuerte-pr2-props-*  # On fuerte
$ rosdep install                          

To run a test suite that is executable on a desktop:

$ roslaunch roboframenet_bringup roboframenet_desktop.launch

Demo commands can now be sent to the system:

$ rostopic pub command std_msgs/String "Speak."
$ rostopic pub command std_msgs/String "Ping."
$ rostopic pub command std_msgs/String "Loop."
$ rostopic pub command std_msgs/String "Stop."

Speak should play a mooing sound over the speakers. Ping displays "Ping!" in the terminal. Loop displays "Loop [n]." in the same way; however, instead of terminating, it simply counts upwards and waits to be preempted. Stop does nothing on its own but can take advantage of the preemption offered by the executor to preempt and thus halt the previously-running program. (This can be used, for instance, to halt Loop.)


RoboFrameNet Pipeline

RoboFrameNet grounds natural language in robot actions through a processing pipeline. An illustration of this process is below:

RoboFrameNet overview


In the development of RoboFrameNet, many pieces of terminology were borrowed from FrameNet. The most pertinent ones are defined below, in terms of how they are used in the RoboFrameNet project. (This may differ slightly from their use in FrameNet.)

Other Launch Options

You can also run launches specially designed for the PR2:

$ roslaunch roboframenet roboframenet_pr2.launch

as well as a Turtlebot:

$ roslaunch roboframenet roboframenet_turtlebot.launch

Registering Nodes, Adding Semantic Frames, and Adding Lexical Units

RFNServer was developed to enable users to quickly integrate their work with RoboFrameNet. Please see the RFNServer package for more details.

Report a Bug


2019-05-18 13:10