Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Controlling Mobile Robots with Distributed Neuro-Biological Systems Sebastian Gutierrez-Nolasco (UCI) Nalini Venkatasubramanian (UCI) Alfredo Weitzenfeld (ITAM) Contact info [email protected] Biologically Inspired Robotic Systems Nature has always been a source of inspiration in the development of autonomous robotic systems Ethology Animal behavior-based simulation Interaction with the environment is usually oversimplified Lack of strong biological basis for their working assumptions Lack of any formal underpinnings for the simulation results Neuroethology behavior related to neurobiological structure Replicate brain models to provide credible and general animal behavior Provide inspiration for further robotics architectures More complex and accurate than ethology systems Enable experimentation Experimentation requires real-time performance Neuroethological robotic systems Super Robots Incorporate extensive processing capabilities Bulky Expensive Inexpensive Robots Smaller and inexpensive robots connected to a network of processing nodes Concerns Real-time performance Unpredictable communication environment affects robot performance Challenges of Biologically Inspired Autonomous Robots A neural model may take hours of processing time Simulation of multiple neural networks require a distributed processing environment Biologically inspired robotics demand sophisticated image processing techniques A typical retina model may consist of more than 100,000 neurons and 500,000 interconnections Communication intensive tasks are required Autonomous robotic agents have real-time and processing restrictions, as well as power awareness requirements Battery usage is a major concern in mobile robots Developing Biologically Inspired Robot Architectures Developing software for autonomous mobile robots is complex Highly heterogeneous methods for capturing and processing sensor information Multiple sensory input devices Sensory input multi-granularity Communication is error-prone due to unpredictable interference and failures partial and complete failures Unreliability and disconnection Varying available bandwidth Our Approach Develop an embedded architecture capable of conducting neuroethological robotic experimentation Inexpensive small robots communicate (wireless) with distributed computational resources Neural models are distributed in multiple processing nodes Adaptive robotic middleware optimizes robot communication in response to varying network conditions Structure of the Talk Neuroethological Modeling 1. Study animal behavior and corresponding neural structure as inspiration to robotic architectures Embedded Mobile Robots 2. Develop distributed wireless robot architectures capable of efficient neural processing Adaptive Middleware 3. Achieve real-time computation and adapt embedded architecture to varying network conditions Internet Based Robotics 4. Enable remote robot task development and experimentation Neuroethological Modeling 1. Study animal behavior and corresponding neural structure as inspiration to robotic architectures Embedded Mobile Robots 2. Develop distributed wireless robot architectures capable of efficient neural processing Adaptive Middleware 3. Achieve real-time computation and adapt embedded architecture to varying network conditions Internet Based Robotics 4. Enable remote robot task development and experimentation Behavior: Frog and Toad - Rana Computatrix [Arbib 1987, Cervantes 1990] - PS MO + + - PS Mate PS Prey Mate-Pair S Prey-Acq S Moving-Object S Perceptual Schema (PS) Main Schema (S) PS NMO + - PS Pred Pred-Av S Find-Loc S Non-Moving-Object S Behavior: Toad Prey Acquisition [Cervantes 1985] Stimulus Response Mobile visual stimulus in lateral visual field (monocular perception) Orientation Mobile visual stimulus in binocular visual field (short distance) Binocular fixation Attack Mechanic stimulus in mouth and pharynx receptors Snap Clean Behavior: Toad Prey Acquisition with Detour Behavior Before and After Learning [Corbacho and Arbib 1995] 10cm Barrier 20cm Barrier Before learning 20cm Barrier After learning Schema Computational Model ... ... din n Schema Level 1 Schema ... ... dout 1 din 1 dout m data in data out Schema Level 2 Schema Level Neural Level Neural Other Processes Neural based Behavior : Toad Prey Acquisitions and Predator Avoidance Prey Recognizer Prey Approach Moving Stimulus Selector Predator Recognizer Depth Forward Predator Avoid Visual Orient Backward Sidestep Static Object Recognizer Tactile Static Object Avoidance Schema Level Tectum Retina R1-R2 R1-R2 R3 R3 R4 R4 Stereo T5_2 R1-R2 Motor Heading Map R3 R4 MaxSelector Neural Level TH10 PreTectum/Thalamus Toad Prey Acquisition with Detour: Simulation Results 16 15 14 4 7 10 13 12 6 9 3 5 8 11 2 1 10cm barrier 20cm barrier Before learning 20cm barrier After learning Neuroethological Modeling 1. Study animal behavior and corresponding neural structure as inspiration to robotic architectures Embedded Mobile Robots 2. Develop distributed wireless robot architectures capable of efficient neural processing Adaptive Middleware 3. Achieve real-time computation and adapt embedded architecture to varying network conditions Internet Based Robotics 4. Enable remote robot task development and experimentation Embedded Mobile Robots: Robot Hardware Sensors Vision Tact Actuators Legs Wheels LEGO OOPIC Embedded Mobile Robots: Distributed Embedded Architecture Wireless Remote Computaional System Autonomous Robot 1 ... ... Internet Server ... Internet Instance 1 Autonomous Robot N Remote Computational System Instance N Embedded Mobile Robots: Distributed Embedded Architecture Time consuming processes are carried out in the (neural) computational system Limited task are carried out in the robot hardware Neural processing Image processing Sensory input Motor output Default behavior Communication and data transformation is managed by the adaptive middleware Embedded Mobile Robots: Distributed Embedded Architecture camera Remote Computaional System servo Robot Wireless Frame Grabber Transceiver PC CPU (OOPic) Transceiver Power stage motor motor Sensors (tact) Embedded Mobile Robots: Distributed Embedded Architecture Remote Computational System Wireless Video/ Image Processing ASL ASL ASL NSL NSL NSL – Neural Simulation Language ASL – Abstract Schema Language Robot Video Server Tactile Server Motor Server transceiver ASL NSL transceiver NSL camera tactile motor Embedded Mobile Robots: Processing cycle Video capture Video processing Model simulation Model output Navigation control (d , r , c) Neuroethological Modeling 1. Study animal behavior and corresponding neural structure as inspiration to robotic architectures Embedded Mobile Robots 2. Develop distributed wireless robot architectures capable of efficient neural processing Adaptive Middleware 3. Achieve real-time computation and adapt embedded architecture to varying network conditions Internet Based Robotics 4. Enable remote robot task development and experimentation Distributed Systems Middleware Enables the modular interconnection of distributed software Concurrent Object Oriented Model Abstract over low level mechanisms used to implement resource management services Separation of concerns and reuse of services Customizable, Composable Middleware Frameworks Provide for dynamic network and system customizations, dynamic invocation/revocation/installation of services Concurrent execution of multiple resource management policies Core Resource Management Services Core Services - basic services where interactions between the application and system can occur. Building blocks for other services Reduce interactions among many services to interactions between a few simple services Choosing core services - commonly observed patterns Recreation of data/services at a remote site Capturing approximation of distributed state at multiple sites Interactions with a global repository TLAM: The Two Level Meta-architecture System (Meta) Level Replication Access Control DGC Migration Remote Creation Checkpointing Distributed Snapshot Directory Services Application (Base) Level Adaptive Robotic Middleware (ARM) Extends the TLAM to Optimize information flow between robots and the computational system Compose communication protocols to obtain the combined benefits - conflicting requirements Determine how, when and what information should be modified in order to match fluctuations in the communication environment Explicit knowledge of how communication protocols compose and interact is required Adapt protocols and mechanisms to changing communication and power constraints ARM: Distributed Embedded Architecture Remote Computational System Wireless ARM Video/ Image processing Robot Video Server ASL ASL ASL NSL NSL NSL – Neural Simulation Language ASL – Abstract Schema Language Tactile Server Motor Server ARM transceiver ASL NSL transceiver NSL camera tactile motor ARM: Components Communication manager Provide and enforce application level requirements Components Oracle determine most suitable protocol implementation in terms of coverage and efficiency Set of communication protocols Protocol installer/uninstaller Resident ARM module running in the robot (resident evil) Adaptation manager Provide adaptation and monitor mechanisms operating at different levels of abstraction Reactive Proactive Triggered when failure to achieve intended communication goal is detected Triggered when a more efficient communication can be achieved under the current environment conditions Adaptation Repository Determine most suitable adaptation strategy to be applied ARM: Example Communication Requirement Secure compressed video capture Communication Manager Protocol (un)installer Protocol Oracle ARM manager Protocol loader set of protocols Robot’s resident ARM Battery Monitors Adaptation Profiler Security Protocol Compression Protocol Timeliness Protocol Communication Performance Monitor Adaptation Repository Adaptation Manager Neuroethological Modeling 1. Study animal behavior and corresponding neural structure as inspiration to robotic architectures Embedded Mobile Robots 2. Develop distributed wireless robot architectures capable of efficient neural processing Adaptive Middleware 3. Achieve real-time computation and adapt embedded architecture to varying network conditions Internet Based Robotics 4. Enable remote robot task development and experimentation Interned based Robotics: Web Access Experimental Results: 2 Preys Experimental Results: 2 Preys and Predator Embedded Mobile Robots: Experimental Results: Prey Acquisition with 10 cm Barrier (A) (B) (C) (D) Embedded Mobile Robots: Experimental Results: Prey Acquisition with 20 cm Barrier (A) (B) (C) (D) (E) (F) (G) (H) Neural based Behavior: Prey Acquisition (10cm barrier) • Barrier (PreTectum) • Prey (Tectum) • Integrated (MHM) • Heading (MHM) •Tactile Visual Fields Neural based Behavior: Prey Acquisition (20cm barrier before bumping) • Barrier (PreTectum) • Prey (Tectum) • Integrated (MHM) • Heading (MHM) •Tactile Visual Fields Neural based Behavior: Prey Acquisition (20cm barrier after bumping) • Barrier (PreTectum) • Prey (Tectum) • Integrated (MHM) • Heading (MHM) •Tactile Visual Fields Neural based Behavior: Prey Acquisition (20cm barrier after learning) • Barrier (PreTectum) • Prey (Tectum) • Integrated (MHM) • Heading (MHM) •Tactile Visual Fields Future Work Complete Internet based System Develop middleware adaptation capabilities Build smaller robotic systems Extend to multiple robot tasks Extend vision system to “true” moving forms Extend biological models Video Bonus Section Research Cycle Formal Models Data, Hypotheses Neuroscience (Experiments) Brain Theory (Modeling) New Hypotheses New Ideas (Results from Experiments with Physical Devices) New Hypothesis Gaps in Knowledge Robotics Neural Maps T - Temporal, D - Dorsal, N - Nasal, V - Ventral O - Optic Tectum, B - Nucleus of Belonci C - Lateral Geniculate Nucleus, P - Thalamic Pretectal Neuropil X - Basal Optic Root [Scalia and Fite 1974] Neuron Model s mp mf input neuron output mp - membrane potential : dmp(t)/dt = f(s,mp,t) mf - firing rate : mf(t) =s(mp(t)) Leaky Integrator : t dm(t)/dt = -m(t) + s Retina-Thalamus-Tectum + + Retina Input TP R4 R3 R2 + + + TP – ThalamusPreTectum GL – Glomerelus SN – Stellate Neurons SP – Small Pear LP – Large Pear PY - Pyramidal + GL SN - - SP + + + - LP Synapsis + Excitation - Inhibition + - + + + + + + - PY Output Max Selector [Didday 1976] s0 up1 up0 wu0 uf0 wu1 wm upi ........ uf1 w0 tu si s1 wun-1 ufn-1 wi w1 wn-1 vp vf dui t ui wu f ui wm g v h1 si dt n dv t v v wn f ui h2 dt i 1 upn-1 ........ ufi wui sn-1 1 ui 0 f (ui ) 0 ui 0 v v 0 g(v) 0 v 0 Max Selector Model MaxSelectorModel MaxSelector out MaxSelector Stimulus s_out in Vlayer Ulayer s_in uf u_in vf uf s_in MaxSelector Output v_in nslModel MaxSelectorModel () extends NslModel() { private MaxSelector maxselector(10); private MaxSelectorStimulus stimulus(10); private MaxSelectorOutput output(); public void initSys() { system.setRunTime(10.0); system.setRunDelta(0.1); } public void makeConn() { nslConnect(stimulus.s_out,maxselector.s_in); nslConnect(stimulus.s_out,output.s_in); nslConnect(maxselector.out, output.uf); } } Max Selector Module MaxSelector out Vlayer Ulayer in s_in uf u_in vf v_in nslModule MaxSelector (int size) extends NslModule() { public Ulayer u1(size); public Vlayer v1(size); public NslDinDouble1 in(size); public NslDoutDouble1 out(size); public void makeConn(){ nslRelabel(in,u1.s_in); nslConnect(v1.vf,u1.v_in); nslConnect(u1.uf,v1.u_in); nslRelabel(u1.uf,out); } } Ulayer and Vlayer Modules Vlayer Ulayer s_in u _in uf vf v _in nslModule Ulayer(int size) extends NslModule () { public NslDinDouble1 s_in(size); public NslDinDouble0 v_in(); public NslDoutDouble1 uf(size); private NslDouble1 up(size); private NslDouble0 hu(); private double tau; public void simRun() { up =0; uf = 0; hu = 0.1; tau =1.0; } public void simRun() { up = nslDiff(up,tau, -up + uf - v_in – hu + s_in); uf = nslStep(up,0.1,0.1.0); } } nslModule Vlayer(int size) extends NslModule () { public NslDinDouble1 u_in(size); public NslDoutDouble0 vf(); private NslDouble0 vp(); private NslDouble0 hv(); private double tau; public void initRun() { vp =0; vf = 0; hv=0.5; tau=1.0; } public void simRun() { vp = nslDiff(vp,tau,-vp+nslSum(u_in) – hv); vf = nslRamp(vp); } } Neuron (detailed) Neuron Dendrite Axon Soma Axon Dendrites Synapse Soma Synapses Axon Terminal Spine Synaptic Cleft Calcium Mechanism Receptor Vescicle Interacellular Element Channel Diffusion Buffer Pump AMPA Receptor NMDA Receptor Neuroscience: Autonomous Biological Agents Sensors Vision Sound Smell Touch Actuators Legs Wings Fins Robotics: Autonomous Robotic Agents Sensors Vision Sound Smell Touch Actuators Legs Wings Fins Wheels