18.08.2013 Views

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

vantaggioso durante la fase di sviluppo: le funzioni effettuano dei test su flag<br />

opportuni, ed eseguono il codice solo se tali flag garantiscono che il setup è stato<br />

effettuato. Per consentire l’utilizzo delle funzionalità messe a disposizione dal<br />

modulo è quindi necessario inizializzare i vari sottosistemi interni al modulo,<br />

richiamando le primitive apposite.<br />

Il modulo, quindi, gestisce tutti gli aspetti relativi al pilotaggio diretto<br />

dell’hardware, costituendo un sottosistema che rende indipendente la logica di<br />

controllo dalle strategie adottate per realizzare il controllo stesso. In particolare<br />

viene reso trasparente agli strati superiori il meccanismo di movimento dei motori,<br />

che implementa le tecniche discusse a tal proposito al paragrafo 3.3.2, e questo<br />

mediante un driver apposito che si prende carico di pilotare i motori secondo le<br />

richieste degli altri processi. Lo schema di funzionamento e interazione con gli<br />

altri processi del driver è schematizzato in figura 5.11, nella cui interpretazione è<br />

molto esplicativa la direzione delle frecce, la quale indica la lettura/scrittura delle<br />

variabili protette da SRP da parte dei task.<br />

trig_motor<br />

function<br />

PCI-6025E<br />

timers trigger<br />

function<br />

move_motor<br />

TASK<br />

PCI-6025E<br />

registers<br />

Figura 5.11. Driver di controllo dei servomotori.<br />

129<br />

SRP_MOTOR_VALUE<br />

motor<br />

instantaneous<br />

position<br />

SRP_MOTOR_TRIG<br />

motor<br />

trigger<br />

positioning<br />

strategy<br />

TASK<br />

SRP_MOTOR_MOVE<br />

move<br />

status

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!