wiki:Plugins/ros-skiller
Last modified 23 months ago Last modified on 26.01.2017 15:46:08

ROS Skiller Integration Plugin

This plugin allows to execute and monitor skills from ROS. It is a front-end to the skiller plugin.

Requirements

  • ros plugin
  • skiller plugin
    • SkillerInterface::Skiller (reading): instruct skiller and monitor execution
  • flite plugin (requires Flite speech synthesis library)
  • fawkes_msgs ROS package

ROS Topics

skiller_status (fawkes_msgs/SkillStatus)
Provides status information of skiller, especially executed skills.

ROS Actions

skiller (fawkes_msgs/ExecSkill
This ROS action is used to execute skills through [http::wiki.ros.org/actionlib actionlib].

Usage Instructions

Make sure that skiller and ros-skiller are loaded. The following assumes that roscore has already been started and that you use the test skill space from the core repository.

bin/fawkes -p ros,flite,skiller,ros-skiller

Calling a Skill

The following uses the visual actionlib client.

rosrun actionlib axclient.py skiller fawkes_msgs/ExecSkillAction

Then in the Goal box write:

skillstring='say{text="Hello World", wait=true}'

Hit "Send Goal". The robot will now utter "Hello World". The (actionlib) goal will show as completed as soon as the sentence has been finished (if not, make sure you have the wait=true parameter).

Alternative

There is also the fawkes_skiller node as part of the rcll_fawkes_sim ROS package. It performs the exact same function with the same API. One advantage is that it allows to more easily push a robot into a namespace, e.g., if running multiple robots on a single ROS core.