Transcript Compliant Control and Software Agents for Internet Robotics
Cyber-Physical Software Agents
Vincenzo Liberatore
Cyberphysical Systems
Computing in the physical world Components – – – Sensors, actuators Controllers Networks V. Liberatore Cyberphysical software 2
Cyberphysical Systems: Examples
Enables Industrial automation [B
L
04] Distributed instrumentation [ACRKN
L
03] Unmanned vehicles [
L
NB03] Home robotics [NN
L
02] Distributed virtual environments [
L
CCK05] Power distribution [P05] Building structure control [SLT05] V. Liberatore Cyberphysical software 3
Cyberphysical Systems
Merge cyber- and physical- worlds – Networked control and tele-epistemology [G01] Sensor networks – Not necessarily wireless or energy constrained – One component of sense-actuator networks V. Liberatore Cyberphysical software 4
Programming Cyberphysical Systems
V. Liberatore Cyberphysical software 5
Objectives and Challenges
Objectives – Remote supervision and programming – Adaptive and evolvable – Security and safety Challenges: decouple control from – Long-haul network delay, losses – Lack of network Quality-of-Service provisioning – Precise environment modeling V. Liberatore Cyberphysical software 6
Vision (1): Agent-based
Basic properties – Autonomous,
mobile
– Adaptable, flexible, reactive – Knowledgeable, goal-oriented, learning – – Collaborative Persistent Agents for cyber-physical systems – Aggregation into task-oriented teams – Evolvable Re-programmability, reconfiguration, extensibility V. Liberatore Cyberphysical software 7
Vision (2): Supervision
Coarse-grained high-level – Directions – Troubleshooting – Reprogramming Tele-operation Autonomous systems Supervision V. Liberatore Cyberphysical software 8
Advantages of Supervisory Control
Utilize autonomous capabilities of robot – Less work for the Supervisor Makes control with delay feasible – Higher Level commands translated into many smaller ones Still the same safe robots V. Liberatore Cyberphysical software 9
Achieving Generic Control
Want the same program to powerfully represent unknown, high level commands – Completely generic GUI – Adapts to commands and attributes of robot Utilizes a small code stub on the robot – Uses modern day windows controls Works on robots that communicate IP, regardless of OS and programming V. Liberatore Cyberphysical software 10
This talk
Progress – Agent-oriented platform Agent-Communication Dynamically load functionality Mobility Virtual containment Resource Discovery Experience Future work – Application-oriented middleware – – E.g., Scheduling of mobility AI (knowledge, planning, learning) Security V. Liberatore Cyberphysical software 12
Agent Communication
Supervisor invokes robotic functionality – Passes parameters using dynamic GUI Robot communicates with Supervisor – Returns values for display – Notifies supervisor of properties – Able to ask supervisor for assistance Priority may cause emergency handling V. Liberatore Cyberphysical software 13
Dynamically Load Functionality
Currently, robot must be fully represented Supervisor interacts with Virtual Robot – Middleman we can inject code into – Interfaces provide access to robotic attributes Ability to add new behavior that uses existent functionality and properties – Added to proxy means that they appear as robotic functionality to supervisor V. Liberatore Cyberphysical software 14
V. Liberatore
Dynamically Load Functionality
Believes that the robot it is foo() and bar().
bar() function loaded that calls upstream foo() Cyberphysical software Exposes a function foo() 15
Dynamically Load Functionality
Powerful ability to “reprogram” robot – Doesn’t require actual robotic modification – Send across canned functionality – Reprogram to deal with unknown environment May wrap up functionality again and again, abstracting away the lower layers Applies to multiple-robot scenarios – Dynamically reorganize groups of robots V. Liberatore Cyberphysical software 16
Dynamically Load Functionality
Invokes a bar() command Invokes foo() Invokes more_foo() Invokes yet_foo_again() twice V. Liberatore Executes yet_foo_again() twice Cyberphysical software 17
Resource Discovery
Plug-and-play – Add new resources on the fly – Example: USB Plug in a USB camera on a USB port But now we want: on a network, with arbitrary units Example – Locate a robot on the network V. Liberatore Cyberphysical software 19
Operations – Discover, Join, Look-up, Use Programming – – Include a library Use functions Fault-tolerance – Leases Join only last for a certain time period Renew the lease – – Multiple look-up servers JavaSpaces Distributed shared memory URL: www.jini.org
Jini
V. Liberatore Cyberphysical software Courtesy of Sun Microsystems 20
Middleware
Between application and transport – Libraries to provide advanced functionality – Hide communication Applications – Resource Discovery – Remote Procedure Calls – – – – Security Interoperability (e.g., since Real-Time Corba) Scheduling, resource management, performance analysis Multicast Software development – – Simpler, faster State-of-the-art functionality Middleware over IP – – Wealth of libraries for IP
Critical advantage of the Internet Protocol
V. Liberatore Cyberphysical software 21
Agent Mobility
Mobility – Software component stops execution on host A – Resume execution from same state on host B Benefits – Adapt to changes of physical topology E.g., if a unit moves and triggers functionality hand-off – – Anticipate planned disconnections Dynamic re-programmability by agent dispatching V. Liberatore Cyberphysical software 22
Agent teams
Virtual Robots: The Core GUI, interface Thin-legacy layer On-board controllers V. Liberatore Cyberphysical software 26
Hierarchical organization
Relationship: Virtual inclusion Chain of command V. Liberatore Cyberphysical software 27
Virtual Containment
Analogy – A robotic platoon “contains” individual robot – Not necessarily in terms of ontology Application – Task-oriented teams – Layering V. Liberatore Cyberphysical software 28
Upstream Communication
Report state upstream – Sensory data collection Appeals for assistance – Minimal demands of directions from human or intelligent systems High-level directions Triggered only by difficult or unexpected events – Improves safety and reliability V. Liberatore Cyberphysical software 29
Hierarchical organization
Relationship: Virtual inclusion Upstream communication V. Liberatore Cyberphysical software 30
Robot id
Experience
Parameter (range) Go!!!
Methods V. Liberatore Cyberphysical software Task-space: Fluid dynamics 31
Demo
Objective – Close lever Operations – – Remote command Robotic manipulator Procedure – Break complex command (CloseLever) into progressively simpler instructions V. Liberatore multiple invocations of multiple invocations of MoveTo(x,y,z) Cyberphysical software Close lever GoTo(x,y,z) 32
Example
Open/Close MoveTo Agent-based software RPCS Virtual Supervisor V. Liberatore Cyberphysical software 33
Other topics
Security – – – Encrypt communication Authentication and Authorization Standard Java libraires Fault-tolerance – – Look-up with soft-state Checkpoint in JavaSpaces Advanced functionality with little incremental cost – Demonstrate importance of software re-use with state-of-the-art middleware V. Liberatore Cyberphysical software 34
Related Research
V. Liberatore Cyberphysical software 35
Play-Back Buffers
Playback – Smooths out network non-determinism Playback buffers integrated with – Sampling (adaptive
T
) – Control (expiration times, performance metrics) Packet losses – Reverts to open loop plant (contingency control) V. Liberatore Cyberphysical software 36
Bandwidth Allocation
Definition – Multiple sense-and-respond flows – Contention for network bandwidth Desiderata – Stability and performance of control systems Must account for physics – – – Efficiency and fairness Fully distributed, asynchronous, and scalable Dynamic and self reconfigurable V. Liberatore Cyberphysical software 37
Problem Formulation
Define a utility fn
U
(
r
) that is – Monotonically increasing – Strictly concave – Defined for
r
≥
r
min Optimization formulation max s.t.
i
S
i
and
r i i r i
r
min,
i
l
1,...,
L
V. Liberatore Cyberphysical software 38
Conclusions
Remote supervision of robotic manipulation Compliant control – Local encapsulation – Gentle, compliant, tolerant to network vagaries Agent-based software – Hierarchical Demonstration Future work: middleware, AI, security V. Liberatore Cyberphysical software 39
To Learn More
http://home.case.edu/~vxl11/NetBots/ [email protected]
V. Liberatore Cyberphysical software 40