DOC PREVIEW
Berkeley ELENG C249A - Using different Models of Computation for distributed control

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Using different Models of Computation for distributed control: the Robot Diffusion ProblemOutlinePlatform-Based Design ConceptsWhy should we use a specific Model of Computation?Synchronous v. Asynchronous ModelsSo what’s the question?What is Robot Diffusion and Why do we care?Robot Diffusion Distributed ControllerSlide 9Stability Analysis for a 3-car Synchronous System (zero-delay)Modeling in Esterel: Functional ModelSimulation of System in EsterelSimulation ResultsDiscussion and Future WorkUsing different Models of Computation for distributed control: the Robot Diffusion ProblemSarah BergbreiterMentors: Bruno Sinopoli, Alessandro Pinto (Thanks!)Outline•What is a good Model of Computation for distributed control?•Robot Diffusion as an example of distributed control•Modeling and Simulation using Esterel•Discussion and Future WorkPlatform-Based Design Concepts•We have already completed the bottom triangle (Robot Platform)–internal workings of sensors and actuators are isolated from the robot application–an API including functionality of motors (speed, direction, turning) and sensors (distance, etc.) presented to control programs•Now we would like a method of completing the top triangleHARDWAREARCHITECTUREFUNCTIONALDESCRIPTIONPLATFORM API?Why should we use a specific Model of Computation?•Distributed control problems involve –complex timing–many interconnected components that may need to communicate•Classical control does not deal effectively with these issues•MoC is a formal framework that allows–Verification–Code Synthesis•Abstraction, Abstraction, Abstraction.Synchronous v. Asynchronous Models•Synchronous Models–shared “global” clock–often easier to model and verify–more difficult to apply to distributed systems•Asynchronous Models–no shared notion of time–more difficult to model–natural for distributed systemsSo what’s the question?•For a distributed system, it is easier to model and verify properties of the system using a synchronous MoC.•However, the distributed system is naturally asynchronous•Solution is to add another layer•If I model my system with a synchronous MoC, how do important control properties such as stability hold up under the transition to an asynchronous MoC?HARDWAREARCHITECTUREGALSPLATFORMSYNCHRONOUSFUNCTIONAL DESC.What happens here?What is Robot Diffusion and Why do we care?•Given n robots in a bounded area A, the robots should try to maximize their distances between each other•Lots of extensions to this definition (maintain communication network, maximize sensor coverage, etc.)•Useful for distributing sensors to maximize coverage, mapping applications, etc.Robot Diffusion Distributed ControllerT--------z - 1KT--------z - 1K30. . . ROBOT MOTOR+_+_+DISTANCE SENSOR_FEEDBACK AND CONTROL LOOPRobot Diffusion Distributed Controller•Assuming a stable system, the steady state positions for each robot are:robot1: 0robot2: 1/robot3: 2/ ...robotN: (N-1)/Stability Analysis for a 3-car Synchronous System (zero-delay)Feedback Gain Sampling Time * System Gain K*TSTABLE REGIONFind the eigenvalues of the closed loop equationy[k+1] = A y[k] + B u[k]Stability region decreases as number of robots or delay in feedback path increases (by simulation)Modeling in Esterel: Functional ModelsetSpeed setDirgetDistance Distancerobot1 robot2 robotN. . .module robot1:input frontDistance1(double), rearDistance1(double);output setSpeed1(double), setDir1(integer);output getDistance;constant GAIN = 0.2 : double;var speed := 0.0 : double, dir := 1 : integer inloop emit getDistance1; emit setSpeed1(speed); emit setDir1(dir); [await frontDistance1 || await rearDistance1]; speed := GAIN*(?frontDistance1 - ?rearDistance1); if speed >= 0.0 then dir:=1 else dir:=-1 end ifend loopend varend moduleNote: As expected, the functional model includes no details of implementation. We are not constrained on how each robot finds the distance to its neighbor or on what kind of robot platform we use.Simulation of System in Esterel•Master code is used to provide the environment for the C code obtained from Esterel (esterel –A <modulenames>.strl)–performs integration and senses distance information•Asynchrony is simulated by including a random delay between when a message should be sent to when it is actually sentROBOT1ROBOT2ROBOTN. . .Master CodeDISTANCECOMMVIRTUALMOTORfunctional architectureSimulation ResultsUNSTABLESTABLE% msgs delayed% of Unstable AttemptsIncreasing AsynchronyDiscussion and Future Work•MoCs provide a new method of approaching distributed control problems•We would prefer to model our systems in the synchronous domain to allow for easier modeling and verifiability, but distributed systems are naturally asynchronous•This project has shown that while the synchronously modeled system may hold key control properties (stability), these properties may no longer hold as the hardware platform becomes more asynchronous•For future work:– theoretical results on the stability of the system with varying degrees of asynchrony–code generation for the CotsBots platform from Esterel (based on


View Full Document

Berkeley ELENG C249A - Using different Models of Computation for distributed control

Documents in this Course
Load more
Download Using different Models of Computation for distributed control
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Using different Models of Computation for distributed control and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Using different Models of Computation for distributed control 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?