La navigation automatisée¶
L'onjectif est de déplacer Pepper dans la zone Pepper. Ce déplacement s'effectue suite à une approche réactive, qui consiste à déplacer Pepper en fonction des données fournies par ses 3 capteurs lasers qui donnent les distances entre Pepper et les murs et les obstacles qui existe autour de lui.
Pour accéder à ces infomations, nous avons utilisé le nœud "/naoqi_driver/laser" du paquet naoqi_driver. Ce noeud émerge toutes les données fournies par les 3 capteurs.
Pour voir ces données il suffit d'envoyer la commande suivante après avoir mettre Pepper sous mode SSH et lancer le paquet naoqi_driver :
rostopic echo /naoqi_driver/laser
Voilà un exemple des données lasers du robot Pepper :
Le type des message de ce topic est sensor_msgs/LaserScan, qui structuré de la façon suivante :
std_msgs/Header header uint32 seq time stamp string frame_id float32 angle_min float32 angle_max float32 angle_increment float32 time_increment float32 scan_time float32 range_min float32 range_max float32[] ranges float32[] intensities
Les distances sont stockées dans le tableau "ranges" :
- capteur N°3 : de la case N°0 à la case N°14 (ranges[ 0 ] --> ranges[ 14 ])
- capteur N°1 : de la case N°23 à la case N°37 (ranges[ 23 ] --> ranges[ 37 ])
- capteur N°2 : de la case N°46 à la case N°60 (ranges[ 46 ] --> ranges[ 60 ])
Deux comportement sont générés en fonction de ces données, l'allongement des murs et l'évitement d'obstacles.
L'allongement des murs se fait à l'aide du capteur N°3 et l'évitement des obstacles à l'aide du capteur N°1.
Mis à jour par Anonyme il y a environ 4 ans · 1 révisions