... | ... | @@ -2,16 +2,18 @@ |
|
|
### What is SkiROS?
|
|
|
The *Skill-based platform for [ROS](http://wiki.ros.org/) V2 (SkiROS2)* is a software designed to support programming of complex coordination schemes on robots equipped with several sensing and actuation functionalities.
|
|
|
|
|
|
As such, SkiROS allows the end-user to specifying the task to perform in a very compact way, while the platform infers the majority of parameters and acts as a coordinator node re-configuring the existing ROS network nodes and scheduling the execution of available functionalities in order to achieve the specified goal.
|
|
|
As such, SkiROS allows the end-user to specifying the task to perform in a compact way, while the platform infers the majority of parameters and acts as a coordinator node re-configuring the existing nodes in the ROS network and scheduling the execution of available functionalities in order to achieve the specified goal.
|
|
|
|
|
|
This can be related to the planning and execution layer of a classical 3-layered robot control architecture.
|
|
|
|
|
|
Robots coordinated with SkiROS can be used in partially structured environments, where the robot has a good initial understanding of the environment, but it is also expected to find discrepancies and react accordingly.
|
|
|
|
|
|
### Why SkiROS?
|
|
|
SkiROS goal is to integrate together two fundamental processes necessary to coordinate highly complex systems: task scheduling and task planning.
|
|
|
|
|
|
Task planning methods guarantee to find the best action to perform at any time, with a in-depth analysis of the actions' state space. This comes at the cost of an high computational time and subsequent slow reaction time. On the other hand, well designed hand-made procedures encoded in models such as [Hierarchical Finite State Machines](http://wiki.ros.org/smach) or [Behavior Trees](http://wiki.ros.org/decision_making) are indeed able to perform a task while monitoring a selected set of conditions, but at the cost of a lower generality with respect to a planning-based system.
|
|
|
Task planning methods guarantee to find the best action to perform at any time, with a in-depth analysis of the actions' state space. This comes at the cost of an high computational time and subsequent slow reaction time. On the other hand, well designed hand-made procedures encoded in models such as [Hierarchical Finite State Machines](http://wiki.ros.org/smach) or [Behavior Trees](http://wiki.ros.org/decision_making) are indeed able to perform a task while monitoring a restricted set of conditions, at the cost of a lower generality with respect to a planning-based system.
|
|
|
|
|
|
Within SkiROS, the use of task planning is dosed in order not to compromise the reaction time of the system, but enough to extend its ranges of applications. The platform allows the programmer to design his coordination system choosing every solution between a fully-scripted or a fully-planned one.
|
|
|
Within SkiROS, the use of task planning is dosed in order to not impact on the reaction time of the system, but sufficiently to extend its ranges of applications. Task planning is invoked whenever the scheduling mechanism is not able to cope with the run-time failures. It ensures that the execution will be recovered from the most convenient step or that the robot will require for human support leaving the system in a secure state.
|
|
|
|
|
|
### What else?
|
|
|
Task planning and scheduling relies upon the constant monitoring of some relevant conditions in the environment, that allows to decide which is the most appropriate action to perform at any time. These condition variables form a pool of knowledge that tends inevitably to become complex. In fact, the more information is stored in this knowledge pool the more knowledgeable decisions can be taken.
|
... | ... | |