DanielSimon Slackeningreal-timeconstraintsinrobotcontrol:designandimplementation

24  Download (0)

Full text

(1)

Slackening real-time constraints in robot control: design and implementation

Daniel Simon

DEMAR team

INRIA Sophia Antipolis - Méditerranée LIRMM, CNRS UMR 5506, Montpellier http://www.lirmm.fr/demar

Journée Architectures Logicielles pour la Robotique Autonome, les Systèmes Cyber-Physiques et les Systèmes Auto-Adaptables

(2)

Control and scheduling Feedback scheduling Implementation Summary

Control and scheduling

+

e(k)

ZOH

h h

U(k)

Network Observer

CONTROLLER Xd(k)

X(k)

Y(k)

U(k) = K(e(k)) SAMP

PROCESS

Continuous time Discrete time

Goal : reaching a specified closed-loop performance under constraint of limited computing architecture

the loop must be ¨fast enough¨ compared with the process dynamics

fast sampling and low latency

Traditional solution :

Control design in continuous or discrete time single fixed rate, null or known and fixed delay; preemptive and fixed priority RTOS

known WCET, off line schedulability analysis neither optimal nor flexible w.r.t. the control objective

co-design approach

(3)

Control and scheduling Feedback scheduling Implementation Summary

Control and scheduling

+

e(k)

ZOH

h h

U(k)

Network Observer

CONTROLLER Xd(k)

X(k)

Y(k)

U(k) = K(e(k)) SAMP

PROCESS

Continuous time Discrete time

Traditional solution :

Control design in continuous or discrete time single fixed rate, null or known and fixed delay;

preemptive and fixed priority RTOS

known WCET, off line schedulability analysis

(4)

Control and scheduling Feedback scheduling Implementation Summary

Control and scheduling

+

e(k)

ZOH

h h

U(k)

Network Observer

CONTROLLER Xd(k)

X(k)

Y(k)

U(k) = K(e(k)) SAMP

PROCESS

Continuous time Discrete time

Traditional solution :

Control design in continuous or discrete time single fixed rate, null or known and fixed delay;

preemptive and fixed priority RTOS

known WCET, off line schedulability analysis neither optimal nor flexible w.r.t. the control objective

co-design approach

(5)

Control and scheduling Feedback scheduling Implementation Summary

Feedback

General benefits of closing the loop :

robustness w.r.t. process modeling uncertainties rejection of noise and disturbances

tolerance w.r.t. timing uncertainties

robustness improvement due to feedback action Trade off between control and computing

QoS formulation

relations between control performance and timing parameters?

(6)

Control and scheduling Feedback scheduling Implementation Summary

Feedback

General benefits of closing the loop :

robustness w.r.t. process modeling uncertainties rejection of noise and disturbances

tolerance w.r.t. timing uncertainties

Control tools in the scheduler implementation : on-line adaption to the real timing parameters robustness improvement due to feedback action

Trade off between control and computing QoS formulation

relations between control performance and timing parameters?

(7)

Feedback

General benefits of closing the loop :

robustness w.r.t. process modeling uncertainties rejection of noise and disturbances

tolerance w.r.t. timing uncertainties

Control tools in the scheduler implementation : on-line adaption to the real timing parameters robustness improvement due to feedback action Trade off between control and computing

QoS formulation

relations between control performance and timing parameters?

(8)

Control and scheduling Feedback scheduling Implementation Summary

Feedback scheduling

Hierarchical control structure :

+ Uk +

Controller Scheduling

Scheduling Parameters

Process state estimates CPU/network state load/latency estimates

Y supervision

exceptions handling

RTOS Scheduler

(QoC) Process objectives Global objective

QoS

SAMP

Controller

Process ZOH Process

Inner loops : process controllers

independent control laws objectives robustness w.r.t. timing uncertainties adaptive w.r.t. scheduling parameters

(9)

Feedback scheduling

Hierarchical control structure :

+ Uk +

Controller Scheduling

Scheduling Parameters

Process state estimates CPU/network state load/latency estimates

Y supervision

exceptions handling

RTOS Scheduler

(QoC) Process objectives Global objective

QoS

SAMP

Controller

Process ZOH Process

Outer loop : scheduling controller

global objective : trade off between control and scheduling managing concurrency between controllers

CPU load regulation, robustness, QoS optimization, . . .

(10)

Control and scheduling Feedback scheduling Implementation Summary

Dynamic model for tasks

Ur +

+ Uothers Plant +

control tasks fi

Scheduling controller

Dynamical system between tasks frequencies and CPU usage

Dynamics = integrators (queues) and filters Other tasks act as external disturbances Actuators = scheduling parameters Sensors = probes for computing activity

actuators and sensors are made of (almost free) software

(11)

Dynamic model for tasks

Ur +

+ Uothers Plant +

control tasks fi

Scheduling controller

Dynamical system between tasks frequencies and CPU usage

Dynamics = integrators (queues) and filters Other tasks act as external disturbances Actuators = scheduling parameters Sensors = probes for computing activity

actuators and sensors are made of (almost free) software

(12)

Control and scheduling Feedback scheduling Implementation Summary

Actuators

U = chi

i =ci∗fi =⇒periods are effective commands CPU load = control variable, constraint, parameter...

Out of Control

Sampling Rate fast

slow Acceptable performance Unacceptable Performance

Performance

Control Networked Digital

Control

Continuous Control

continuous sampling variations event based control

(m,k)-firm selective dropping

control law variants with different execution costs PID vs. computed torque?

anytime predictive controllers (iterative refinements) CPU frequency scaling

priority :

no effect on the load

based on relative urgency criteria

(13)

Control and scheduling Feedback scheduling Implementation Summary

Actuators

U = chi

i =ci∗fi =⇒periods are effective commands CPU load = control variable, constraint, parameter...

continuous sampling variations event based control

(m,k)-firm selective dropping

anytime predictive controllers (iterative refinements) CPU frequency scaling

priority :

no effect on the load

based on relative urgency criteria

(14)

Control and scheduling Feedback scheduling Implementation Summary

Actuators

U = chi

i =ci∗fi =⇒periods are effective commands CPU load = control variable, constraint, parameter...

continuous sampling variations event based control

(m,k)-firm selective dropping

control law variants with different execution costs PID vs. computed torque?

anytime predictive controllers (iterative refinements)

CPU frequency scaling priority :

no effect on the load

based on relative urgency criteria

(15)

Control and scheduling Feedback scheduling Implementation Summary

Actuators

U = chi

i =ci∗fi =⇒periods are effective commands CPU load = control variable, constraint, parameter...

continuous sampling variations event based control

(m,k)-firm selective dropping

control law variants with different execution costs PID vs. computed torque?

anytime predictive controllers (iterative refinements) CPU frequency scaling

based on relative urgency criteria

(16)

Control and scheduling Feedback scheduling Implementation Summary

Actuators

U = chi

i =ci∗fi =⇒periods are effective commands CPU load = control variable, constraint, parameter...

continuous sampling variations event based control

(m,k)-firm selective dropping

control law variants with different execution costs PID vs. computed torque?

anytime predictive controllers (iterative refinements) CPU frequency scaling

priority :

no effect on the load

based on relative urgency criteria

(17)

Sensors

Estimation of the CPU load

Discrete filtering of the mean task load during one period of the feedback scheduler

khs =λUˆ(k−1)hs + (1−λ) ckhs h(k−1)hs Estimation of execution time in practice

direct measure ofc : not always available (e.g. OK with Xenomai, not with Linux)

using the time of response : over-estimates the load (but Posix compliant)

deadlines miss, laxity. . . (but coming too late)

(18)

Control and scheduling Feedback scheduling Implementation Summary

Control scheme for CPU resources

K(z)

1

c2 T ask2

+ T ask1

H(z) Uothers

Ur

+ + + f1

f2 1 c1

Design of K using control methodology (e.g. H, LQG, . . . ) On line adaptation to execution time variations

Task frequency saturations

(19)

Feedback scheduling a robot controller

q

G PA10 Gc

Gi

Gg

Gt

End

Sing q

qd

j Mission

Sequencing Supervision Exceptions

manager

Linux/Xenomai

Sched_Ctrl

Mux

Torque

GeneTraj Gravite

Inertie Coriolis

(20)

Control and scheduling Feedback scheduling Implementation Summary

Robot arm control

Feedback scheduling a robot controller (Contd)

Dynamic CPU power assignment:

UG=αGU, UI= (1αG)U, UC =0.25U

αG=αmin+ (αMaxαmin)× qdqend

qiniqend

0 0.5 1 1.5 2 2.5

0 0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 0.02

Time [s]

Periods [s]

Task periods Inertia Gravity Coriolis

0 0.5 1 1.5 2 2.5

0 0.1 0.2 0.3 0.4 0.5

Time [s]

Load

Task loads

Inertia Gravity Coriolis

0 0.5 1 1.5 2 2.5

0 0.2 0.4 0.6 0.8 1

Time [s]

Load

Processor Load Regulated Reference Integrator Grand total

0 0.5 1 1.5 2 2.5

−250

−200

−150

−100

−50 0 50 100 150

Time [s]

Joint torques [mN]

Commands

1 2 3 4 5 6 7

Intervals CPU load Torques

Cost of the FS < 1%

(21)

Control and scheduling Feedback scheduling Implementation Summary

Drone control

Discrete sampling control

f1 f4

f3 f2

yn zn

xb yb zb xn

Q1 Q4

Q3 Q2

xi+1 = Φ(hn)xi+ Γ(hn)ui yi = Cd(hn)xi+Dd(hn)ui

ui = ΦτΘτΨ]T = [LΦLΘLΨ]xiT

(m,k)-firm:mmandatory executions everyksamples hn=ti+1ti=n.h ui=Lnxi,Ln= [ln,1,ln,2]

Discrete-Time Switched System and Common Quadratic Lyapunov Function:

ln,1= −4l1,1

b0n2h2l1,1+2b0nhl1,2b0nh2l1,142b0hl1,2

ln,2= −2(nhl1,1+2l1,2hl1,1)

b0n2h2l1,1+2b0nhl1,2b0nh2l1,142b0hl1,2

q3 q2 q1 q0

(m,k)-pattern

mΦ=mΘ=mΨ=5 mΦ=mΘ=1,mΨ=5

(m,k)-pattern q1 q0 q2 q3

(22)

Control and scheduling Feedback scheduling Implementation Summary

Drone control

Discrete sampling control

f1 f4

f3 f2

yn zn

xb yb zb xn

Q1 Q4

Q3 Q2

xi+1 = Φ(hn)xi+ Γ(hn)ui yi = Cd(hn)xi+Dd(hn)ui

ui = ΦτΘτΨ]T = [LΦLΘLΨ]xiT

skipped execution=⇒do not release the clock

q3 q2 q1 q0

(m,k)-pattern

mΦ=mΘ=mΨ=5 mΦ=mΘ=1,mΨ=5

(m,k)-pattern q1 q0 q2 q3

(23)

Control and scheduling Feedback scheduling Implementation Summary

Summary

Computing/communication resources can be controlled Feedback control loops are firm real-time

No further need for WCET evaluation

=⇒sizing w.r.t. average values Robust w.r.t. timing disturbances

=⇒no need for perfect determinism Easily feasible, with off-the-shelf hard/soft

(24)

Control and scheduling Feedback scheduling Implementation Summary

Summary

Computing/communication resources can be controlled Feedback control loops are firm real-time

No further need for WCET evaluation

=⇒sizing w.r.t. average values Robust w.r.t. timing disturbances

=⇒no need for perfect determinism Easily feasible, with off-the-shelf hard/soft

BE FREE !

Figure

Updating...

References

Related subjects :