Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using different Models of Computation for distributed control: the Robot Diffusion Problem Sarah Bergbreiter Mentors: Bruno Sinopoli, Alessandro Pinto.

Similar presentations


Presentation on theme: "Using different Models of Computation for distributed control: the Robot Diffusion Problem Sarah Bergbreiter Mentors: Bruno Sinopoli, Alessandro Pinto."— Presentation transcript:

1 Using different Models of Computation for distributed control: the Robot Diffusion Problem Sarah Bergbreiter Mentors: Bruno Sinopoli, Alessandro Pinto (Thanks!)

2 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 Work

3 Platform-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 triangle HARDWARE ARCHITECTURE FUNCTIONAL DESCRIPTION PLATFORM API ?

4 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.

5 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 systems

6 So 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? HARDWARE ARCHITECTURE GALS PLATFORM SYNCHRONOUS FUNCTIONAL DESC. What happens here?

7 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.

8 Robot Diffusion Distributed Controller T -------- z - 1 K T -------- z - 1 K 30... ROBOT MOTOR + _ + _ + DISTANCE SENSOR _ FEEDBACK AND CONTROL LOOP

9 Robot Diffusion Distributed Controller Assuming a stable system, the steady state positions for each robot are: robot1: 0 robot2: 1/ robot3: 2/... robotN: (N-1)/

10 Stability Analysis for a 3-car Synchronous System (zero-delay) Feedback Gain Sampling Time *System Gain K*T STABLE REGION Find the eigenvalues of the closed loop equation y[k+1] = A y[k] + B u[k] Stability region decreases as number of robots or delay in feedback path increases (by simulation)

11 Modeling in Esterel: Functional Model setSpeed setDir getDistance Distance robot1robot2robotN... 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 in loop 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 if end loop end var end module Note: 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.

12 Simulation of System in Esterel Master code is used to provide the environment for the C code obtained from Esterel (esterel –A.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 sent ROBOT1 ROBOT2 ROBOTN... Master Code DISTANCE COMM VIRTUAL MOTOR functionalarchitecture

13 Simulation Results UNSTABLE STABLE % msgs delayed % of Unstable Attempts Increasing Asynchrony

14 Discussion 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 TinyOS)


Download ppt "Using different Models of Computation for distributed control: the Robot Diffusion Problem Sarah Bergbreiter Mentors: Bruno Sinopoli, Alessandro Pinto."

Similar presentations


Ads by Google