software engineering challenges for adaptive robotic...

23
2013 IEEE International Conference on Robotics and Automation Software Engineering Challenges for Adaptive Robotic Ecologies Mauro Dragone, David Swords, G.M.P. O'Hare

Upload: others

Post on 19-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Software Engineering Challenges for Adaptive Robotic Ecologies

Mauro Dragone, David Swords, G.M.P. O'Hare

Page 2: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

RUBICONRobotic UBIquitous COgnitive Network

2.5M, 3 years STREPFunded by FP7 (#269914)

ICT-2009.2.1: Cognitive Systems

and Robotics.

Page 3: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Robotic Ecologies

Many specialized, pervasive, simple “robotic” devicesRobots, sensors, appliances, ...=> Complex services achieved through cooperationIntrinsically modular and expandable (just add new devices...)Extend the type of application that can be realistically envisaged

Page 4: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

GOAL: Self-Sustaining Learning for Robotic Ecologies

Reduce need for Reprogramming Configuration Maintenance Supervision

Increase Adaptability Flexibility Robustness Open new application areas

Over time, the ecology adapts tochanges to its environments and touser's needs and improves the wayIt carries out its services

Page 5: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Self-Sustaining Learning Each node of the ecology contributes to a

cooperative self-learning dynamic.

RUBICON uses:• Statistical and computational (neuroscience) learning methods• Recurrent Neural Networks (RNN)• Reservoir Computing (RC) models• Novelty Detection as a Driver for Self-Organisation and Continuous Learning

Page 6: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Control & Software Requirements(the focus of this presentation)

- Coordination: find, execute and monitor cooperative strategies- Provide a base-line “structure” to the learning system- Enable the use of existing functional components- Support highly heterogeneous and distributed systems- Deal with both action and configuration - Deal with resource and temporal and spatial constraints and ...- Work in computational constrained environments- Work in open & dynamic environments

Page 7: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

RUBICON Architecture

ConfigurationPlanner

Proxy 1 Proxy n Agent 1

Coordination Level

Proxy/Agent Service Level

Agent m... ...Learning

Layer

CognitiveLayer

IE-802-15.4 KNX

Peis Middleware

goals

feedback

events

Page 8: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

PEIS MiddlewarePhysically Embedded Intelligent Systems

Dynamic addition and removal of PEISSmooth integration of robots, sensors, tagged objects, human interfaces...Configuration, dynamic connection and communication between PEISs

using a tuplespace abstraction

http://aass.oru.se/~peis/

Page 9: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Proxies

Proxy Peis components

“represents” and provides

access to less computational

capable components,

e.g. ZigBee Networks,

RFID tags, KNX devices

=> E.g. used to handle

multiple networks

WSAN node

Peis proxy

Sink WSN node

Page 10: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

WSANs Proxy

Gateway

TinyOS Network

1*

Proxy-i

...

join/update sense!/actuate!

motes.*

New sensors can join (and be represented in the tuplespace) or leave the RUBICON at running time

Page 11: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Re-configuration of a Peis-component system

A Peis-component has meta-tuples that can be used (set by an external configurator) to define (at run-time) its collaborations.

M. Broxvall, M. Gritti, A. Saffiotti, B.S. Seo, Y.J. Cho. PEIS Ecology: Integrating Robots into Smart Environments. Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA). Orlando, Florida, May 2006

Page 12: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Configuration PlannerConstraint-Based Representation

Sensors, actuators and human modeled as state variables

Page 13: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Configuration Planner

Architecture of the Configuration Solver: multiple reasoners acton the same temporal network. Each modification is checked through a temporal consistency check

M. Di Rocco, F. Pecora, P. Kumar, and A. Saffiotti. Configuration Planning with Multiple Dynamic Goals. In Proceedings of the AAAI Spring Symposium on Designing Intelligent Robots, Stanford, California, March 2013.

Page 14: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Integration with Functional Robotic Components (ROS)

If everything was a Peis component it would be easy!

Re-use existing, off-the shelf functional components is essential to make our approach feasible.

Functional components come in different languages and with theirown software frameworks (even not component-based, as ROS)

Page 15: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Integration with Functional Robotic Components (ROS): Options

Options enabled by our tools:

1) Create Peis wrappers to ROS components, possibly using generic Peis/ROS bridge → ROS component becomes Peis-enabled

2) Apply Proxy-design pattern with Self-OSGi agent system to control ROS sub-systems Wrapper/proxies to (existing) functional components generated at run-time (alternative to approaches such as Genome-3, BRIDE...)

Page 16: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Integration with Functional Robotic Components (ROS): 1- Wrappers & Bridge

Hybrid PEIS/ROS Components - Good for configuration - but bad for closed-loop control- difficult to apply if nodes are tied to ROS- adds significant overheads to prepare wrappers

Peis

ROS Node+ =

ROS links (e.g. topics, services ...)Peis (for configuration & to bridge across different nodes of the peer-to-peer network)

Configurator

Page 17: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Integration with Functional Robotic Components (ROS): 2 - Self-OSGi

Approach: use an existing component framework to project a common component model across heterogeneous components. Reduce the gap between mainstream software frameworks used in our domain (e.g. universAAL)

OSGiOpenServiceGateway

Page 18: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Self-OSGi Proxy (GoalManager)

• Decouples the component plan requesting a service goal from the component plan providing it• Monitors performances of components (e.g. to trigger component replacement and to give feedback to learning systems)• Functional components can be external to OSGi (e.g. ROS, Peis,...)

Page 19: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Self-OSGi XML Declarative Model

- Dependencies of functional components (their required and provided interfaces) are described declaratively (in XML)- Self-OSGi checks these depedencies without the need for code generation (monitors are instantiated at run-time, by reading the XML, and by re-using the links of the underyling framework, e.g. ROS topics)

amcl

range

<?xml version="1.0" encoding="UTF-8"?><scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" ... name="Amcl"> <implementation class="ucd.selfosgi.ros.ComponentMonitor"/> <property name="?agent" type="String" value="agent to be localized"/> <property name="_process.cmd" type="String" value="roslaunch selfosgi_test_ros_package amcl.launch robot:=?agent"/> <property name="topic.amcl_pose" type="String" value="[?agent/amcl_pose,geometry_msgs/PoseWithCovarianceStamped]"/> <service> <provide interface="ucd.selfosgi.ext.ExternalInterface"/> </service> </scr:component>

Page 20: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Self-OSGi Monitor Example

- Self-OSGi takes care of monitoring the dependencies of the functional component it proxies, and offers an homegeneous API to the system configurator, which can more easily control component wiring, component parameters, and component life-cycle.

amcl range laserGoalMgr

locationestimate

range

range

Page 21: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

RUBICON Architecture

ConfigurationPlanner

Proxy 1 Proxy n Agent 1

Coordination Level

Proxy/Agent Service Level

Agent m... ...Learning

Layer

CognitiveLayer

IE-802-15.4 KNX

Peis Middleware

goals

feedback

events

Page 22: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

Conclusions and Future Work

Our software integration approach addresses fast re-use of off-the-shelf heterogeneous components and the application of a consistent component model geared toward system adaptation.

To date, we had only evaluated / benchmarked our single layers

Future work will try to evaluate the fully integrated architecture (including the learning methods not discussed in this presentation)

Page 23: Software Engineering Challenges for Adaptive Robotic Ecologiesrobotics.unibg.it/tcsoft/sdir2013/slides/dragone.pdf · feedback events . 2013 IEEE International Conference on Robotics

2013 IEEE International Conference on Robotics and Automation

References (fp7rubicon.eu)[1] G. Amato, M. Broxvall, S. Chessa, M. Dragone, C. Gennaro, R. Lopez, L. Maguire, T. M. McGinnity, A. Micheli, A. Renteria, G. M.P. O.Hare, F. Pecora, Robotic UBIquitous COgnitive Network, In: Ambient Intelligence - Software and Applications - 3rd International Symposium on Ambient Intelligence (ISAmI), Salamanca, Spain, 28-30th March, 2012, Series: Advances in Intelligent and SoftComputing, Vol. 153, pp. 191-195. Springer. DOI: 10.1007/978-3-642-28783-1_23.

[2] M. Broxvall, B.S. Seo, W.K.: The peis kernel: A middleware for ubiquitous robotics. In: Proc. of the IROS-07Workshop on Ubiquitous Robotic Space Design and Applications, San Diego, California (2007)

[3] Mathias Broxvall, Marco Gritti, Alessandro Saffiotti, BeomSu Seo, Young-Jo Cho: PEIS Ecology: IntegratingRobots into Smart Environments. ICRA 2006: 212-218

[4] M. Di Rocco, F. Pecora, P. Kumar, and A. Saffiotti. Configuration Planning with Multiple Dynamic Goals. In Proceedings of the AAAI Spring Symposium on Designing Intelligent Robots, Stanford, California, March 2013.

[5] M. Dragone, A BDI model for component & service-based systems: Self -OSGi, In: 10th International Conferenceon Practical Applications of Agents and Multi-Agent Systems (PAAMS), Salamanca, Spain, 28-30th March, 2012.

[6] M. Dragone, D. Swords, S. Abdel Naby, G.M.P. O'Hare and M. Broxvall. A Programming Framework for MultiAgent Coordination of Robotic Ecologies, Tenth International Workshop on Programming Multi-Agent Systems,ProMAS 2012.