![]() |
|
Stratégie |
|
|
Le bloc de fonction Parcoureur d'itinéraire génère un itinéraire qui, dans un premier temps, relie les points de cheminement par des droites.
Le robot est guidé au moyen d'un point de cheminement virtuel (représenté ici par un point rouge). Partant de la position actuelle du robot, le point de cheminement virtuel est placé sur l'itinéraire de sorte que la distance entre le robot et le point de cheminement virtuel soit égale à dp (distance virtual point). Le point de cheminement virtuel ne peut se déplacer sur l'itinéraire qu'en direction de la fin de l'itinéraire, c.-à-d. que si le robot s'éloigne du point de cheminement virtuel, ce dernier reste inchangé. La régulation en fonction du point virtuel se traduit par un lissage de l'itinéraire. Ce lissage est d'autant plus important que la distance dp est grande.
Paramétrage de la vitesse angulaire Vitesse angulaire ω(dφ) est spécifié en fonction de l'erreur angulaire dφ dans le dialogue du bloc de fonction. dφ est l'angle formé par l'orientation actuelle du robot et la ligne reliant le centre du robot au point de cheminement virtuel.
Paramétrage de la vitesse La vitesse est également spécifiée en fonction de dφ, à savoir sous v(dφ). Ceci permet de réduire la vitesse du robot lorsque le robot n'est pas correctement orienté.
Pour pouvoir réduire la vitesse lorsque l'itinéraire forme un coude, on spécifie également la vitesse en tant que fonction v(dn) de la distance du point virtuel au point de cheminement suivant. L'allure typique de v(dn) est
En d'autres termes, la vitesse doit diminuer au fur et à mesure que le robot se rapproche du point de cheminement (et donc du prochain virage).
On souhaite cependant freiner le robot en fonction de l'angle αn . αn est l'angle formé par le tronçon d'itinéraire actuel et le suivant. Si αn est égal à 180° (c.-à-d. si l'itinéraire passe tout droit par le point de cheminement), la vitesse ne doit pas être ralentie. Si αn tend vers 0° (une épingle à cheveux), le robot doit être fortement ralenti. C'est la raison pour laquelle on a besoin de la fonction v(αn). L'allure typique de v(αnse présente comme suit :
C.-à-d. que plus αnest faible, plus la vitesse d'avance sera réduite.
Les trois profils de vitesse v(dφ), v(dn) et v(α) sont combinés en une vitesse d'itinéraire globale V(dφ,dn,α) :
Vp(dφ,dn,α) = min( v(dφ), max( v(dn), v(α) ) )
Accostage du dernier point de cheminement Pour freiner en fin d'itinéraire, la vitesse est spécifiée en fonction de l'itinéraire qui reste à parcourir, sous la désignation v(d). La destination est supposée atteinte lorsque la vitesse en fonction de l'itinéraire restant à parcourir est nulle.
La vitesse non lissée se calcule selon la formule :
V(d,dφ,dn,γ) = min( v(d), Vp(dφ,dn,γ) )
Lissage de la vitesse et vitesse angulaire Il existe deux paramètres supplémentaires pour le lissage du mouvement. Le couplage de la vitesse désigne le temps, en millisecondes, nécessaire pour que le couplage vCC de la vitesse calculée Vp(dφ,dn,α) et la vitesse en sortie velocity atteigne la valeur 1. Le couplage de vitesse angulaire désigne le temps, en millisecondes, nécessaire pour que le couplage omegaCC entre la vitesse angulaire calculée ω(dφ) et la vitesse angulaire en sortie omega atteigne la valeur 1.
dv = vCC * ( Vpt - Vpt-1 ) velocity = Vpt-1 + dv
domega = omegaCC * ( ω(dφ)t - ω(dφ)t-1 ) velocity = ω(dφ)t-1 + domega
Le t en indice désigne la valeur à l'instant t. t-1 désigne la valeur à un cycle avant t.
Au redémarrage, vCC est mis à 0 et passe à la valeur 1 dans l'espace de temps spécifié par le couplage de la vitesse . Au redémarrage, omegaCC est mis à 0 et passe à la valeur 1 dans l'espace de temps spécifié par le couplage de vitesse angulaire .
vCC et omegaCC sont également remis à 0 lorsque le point virtuel passe à un nouveau tronçon d'itinéraire. |