Implementation of ROS libraries on STM32F4

Les travaux sur le STM32F4 progressent !
Aprés avoir fait fonctionner un USART (les autres fonctionnent de la même manière mais je n’en ai pas besoin pour l’instant), ainsi que 2 decodeurs de signaux en quadrature (sur 32bits), je me suis attaqué aux interruptions.
Tout d’abord, une interruption timer pour pouvoir calculer l’odométrie régulierement et faire l’asservissement.
Ensuite, une des interruptions de l’USART pour la reception des datas. Lorsqu’une data arrive sur l’uart, une interruption est déclenchée. Je mets alors la data dans un buffer circulaire pour pouvoir l’utiliser plus tard. Ceci permet de ne pas avoir de “lecture bloquante”.

Une fois tout ceci fonctionnel, je me suis attaqué à implémenter les libraries ROS sur le STM32F4.
Le code est totalement en C++, et est donc compilable sur l’architecture.
Il faut juste re implémenter les quelques fonctions de communication. J’ai donc utilisé l’USART2 pour communiquer les messages spécifiques avec le pc, et maintenant tout ceci fonctionne.

Voici une démonstration ou le STM32 calcul la position du robot avec une entrée de codeur, et envoie un message ROS au pc, qui l’affiche :

L’implémentation sur la carte avance :
Faire marcher un UART / DONE
Faire fonctionner 2 entrée de codeur en quadrature / DONE
Faire fonctionner une interruption de timer / DONE
Implémenter la librairie de communication avec ROS / DONE
– Utiliser les interruptions de l’UART / STARTED
– Implémenter l’asservissement / STARTED
– Faire fonctionner une interruption externe / TODO
– Faire fonctionner l’USB en mode port série / TODO

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: