oct 05

Installer le compilateur Ada

Salut à tous,

Aujourd’hui s’achève le premier week-end robotique de l’année et un certain nombre de leçons furent tirées concernant l’installation d’Ada. Voici donc un résumé des étapes à suivre.

En savoir plus »

oct 04

Ada et les GPIOs

Salut à tous,

Aujourd’hui un petit tutorial pour mieux comprendre l’utilisation des GPIOs sur stm32 avec Ada ! C’est parti !

Avant de commencer, expliquons ce que sont les GPIOs. GPIO (General Purpose Input/Output = Entrée/Sortie à usage général) sont des ports pouvant jouer soit le rôle d’entrée sur le microcontrolleur, soit le rôle de sortie. On accède en général aux données du port GPIO via des registres, qui sont des emplacements mémoire internes au processeur. C’est une des mémoires les plus rapides mais aussi une des plus chères à produire.

Sur notre stm32f4-discovery, les ports GPIOs se trouvent sur les côtés et sont faits de telle sorte qu’ils soient facile d’accés.
En savoir plus »

Image

Porte clés du club

image

#jenveuxun

sept 14

Ada et Robots #1: démarrage

Nos robots sont programmés en Ada. Pourquoi? Alexis écrivait en 2008 « c’est un langage beaucoup plus sûr ». C’est vrai – mais excessivement réducteur.

Cette série d’articles va vous apporter les premiers pas d’Ada pratique sur STM32 – on ne va pas trop parler au début du typage fort et des restrictions du profile Ravenscar.

Le programme est le suivant:

  1. Démarrage: installer les outils de développement (GNAT, bibliothèques, outils associés); compiler un premier programme (vide).
  2. Clignotons des diodes: comment (presque) contrôler le monde
  3. Bases d’Ada en 60 secondes chrono: packages, fichiers programme, GNATMake…
  4. Le multitâche basique: faisons plein de choses en même temps – sans effort.

[Cette liste sera mise à jour au fur et à mesure de la publication des articles]
En savoir plus »

août 20

Lettre aux nouveaux télécommiens

« Oh seigneur, mais qu’est ce que tu a fais ? Je suis monté à l’envers. Stupide gros tas de peluche. » – C3PO à Chewie

Salut à toi, jeune télécommien. Ton WEI s’achève à peine et tu cherches dans ce petit livret le club de tes rêves ? Ne vas pas plus loin : tu l’as trouvé ! Le club robotique de télécom est là pour toi. Viens avec nous découvrir et apprendre dans cet univers fascinant de nouvelles technologies qu’est la robotique !

Mais avant tout, qu’est ce que le club robotique ? C’est une association un peu spéciale : elle réunit des membres de toutes les promos et de différentes écoles (Télécom, Polytechnique,…) autour d’une passion commune : la robotique. Notre but : apprendre à tout le monde comment fonctionne un robot et participer à la coupe de France de robotique !

Logo

Et là tu te dis : la coupe de France ? C’est bien trop dur pour moi ! Et bien pas du tout ! Tout le monde a son importance et aide à la construction de nos deux robots. Certes, le niveau est très élevé mais c’est avant tout un événement qui réunit pleins de passionnés qui aiment partager leurs expériences. Et Télécom Robotics dans tout ça ? Depuis 10 ans, le club y participe et dernièrement a obtenu de très bons résultats (4ième l’année dernière, 3ième il y a trois ans) et est même allé jusqu’en coupe d’Europe en Allemagne l’année dernière !

Tu as d’autres projets en tête ? Le club est aussi là pour t’aider. Si tu as la moindre question, tous les membres seront enchantés de te répondre. Au club, l’entraide est de mise. Viens aussi profiter de notre imprimante 3D pour donner vie à tes envies !

imprimante3D

Que vas tu apprendre au club robotique ? De nombreux domaines s’ouvrent à toi et il y en a pour tous les goûts : mécanique, électronique, programmation, logistique, relation entreprise,… Viens t’initier à toutes ces compétences et peut-être une vocation naîtra en toi ?

Tu as d’autres questions ou tu souhaites en apprendre plus sur le club ? N’hésite pas à nous envoyer un mail à team@telecom-robotics.org ou à consulter notre site web : www.telecom-robotics.org .

 

Sur ce, bonne rentrée et amuse toi bien dans ta nouvelle école,

 

Julien Romero pour Telecom Robotics

juil 08

Petit retour sur la Coupe de France et la Coupe d’Europe

Cette année, grande nouveauté mécanique pour nous : découvrir les joies (et les lenteurs ?) de l’imprimante 3D.

La Coupe de France

c’est plusieurs mois de réflexions, de modélisations (3D), puis d’impression 3D, de bricolage, de tirage de carte électronique, soudures, programmation….

2014-05-30 16.24.31VLUU L310 W  / Samsung L310 W

Sur place, ce furent 4 jours de travail, 3 nuits de travail, 5 matchs qualificatifs… beaucoup de patchs mécaniques ou électroniques. Avec un début qui n’était pas de tout repos, 130 points plus tard, Telecom Robotics se qualifie pour les phases finales du samedi après-midi avec une 7ème place.

Huitième de finale contre l’ESEO, Quart de finale contre BH Team, Demi-finale contre RCVA (devenus champions de France), Petite finale contre µArt.  Résultat : 4ème place sur plus de 160 équipes !

C’est grâce à ce résultat que pour la première fois de son histoire, Telecom Robotics a décroché sa place pour la coupe d’Europe !

 

Et la coupe d’Europe ? (ou préparer une expédition en Allemagne à Dresde en moins de 5 jours)

Défi logistique et financier (au départ de Paris : 9 des membres , 2 robots, et beaucoup de matériel, hébergement, repas sur la route, et en Allemagne pour 3 jours…). Organisez tout ça en découvrant que vous êtes qualifiés seulement 5 jours avant. C’est quelque chose que de gérer une expédition.  (Faire 7 ou 8 devis de locations de voiture… etc.. )

 

Notre stand à la coupe d'Europe

Notre stand à la coupe d’Europe, Un Wall-E s’est caché sur la photo, saurez-vous trouver Where is Wall-E ?

 

1er contre-temps : nous pensions passer quelques nuits blanches, mais les stands étaient fermés la 1ère nuit.

Ensuite, nous partagions notre temps entre tests, matchs, réparations, et en pensant à faire tourner les groupes pour aller manger aux heures où le repas est servi  (à l’inverse de la Coupe de France, où l’on se prépare à manger à 2h du matin).

VLUU L310 W  / Samsung L310 WVLUU L310 W  / Samsung L310 W

VLUU L310 W  / Samsung L310 W VLUU L310 W  / Samsung L310 W

Tests, matchs, réparations, tests, patchs, réparations, tests, match,… Ce fut même pour nous l’occasion de découvrir enfin la raison de certains dysfonctionnements  (ex: d’où venait le problème de communication entre notre BeagleBoard et notre carte STM32 => GPIO qui était en Open-Drain, au lieu du Push/Pull), ou bien de finir de développer certaines fonctionnalités.

Nous avons réalisé des matchs avec des scores en dent de scie en phases qualificatives. 11 points, 17 point, 31 points, 11 points, 23 points. Au final, une 17ème place. Il fallait une place de mieux pour être en phase finale européenne.

 

Pas si mal pour une première participation :-)

juin 06

Coupe D’europe De Robotique

Salut tout le monde!

Après une journée de route nous sommes enfin arrivés à l’Université de Technologie de Dresde (Allemagne),

Sans plus attendre voici une photo de notre stand.  Nous n’avons pas pu faire de match hier car il y avait un problème de connexion entre la beagleboard et la stm32. On espère pouvoir tester nos robots ce soir.  Les homologations ont fini a 20:30h et on est arrivés à 20h du coup on s’homologuera demain. On vous tient au courant!

Notre stand à la coupe d'Europe

Notre stand à la coupe d’Europe

juin 06

Surprise: En route vers Eurobot

Le pont de l ascension est passé, et avec lui la traditionnelle coupe de France de Robotique. Nos robots se sont plutôt bien défendus: 4ème au classement final, après une (courte) défaite contre RCVA en demi-finale et défaite contre uART Alsace en petite finale.

C’est un score tout ce qu’il y a de plus excellent, meilleur que l an dernier (élimination suite à double égalité en 8ème de finale), quoique en baisse par rapport à notre résultat il y a deux ans (3ème!).

Mais voilà – suite à forfait nous sommes qualifiés pour Eurobot! ce qui explique l’absence de mise à jour…

Car qui dit Eurobot dit une nouvelle compétition – à 1000km de Paris – logement, transport, pièces détachées. Nous avons été assez occupés par cette logistique à préparer au dernier moment, au milieu des jours fériés en France *et* en Allemagne.

C’est un moment excitant! et fatiguant aussi.

Mises à jour à suivre.

mai 11

Robotics 101 : controlling analog servos

Hi all,

In this small tutorial you will learn how to control analog servos !
Since it is a simple application of the PWM we saw before it is more a lab work than a course, so feel free to try yourself without reading the code i’ll give at the end ;)
Most analog servos use the same protocol, they are control with a PWM with a 20ms period, usually at 5V (but 3V works perfectly, even though it shouldn’t).
The neutral position (0°) is achieved when the duty cycle is 1520µs.
The servo moves of 1 degree per 10-11µs of difference with the neutral position.
(If you want a clearer explanation, this website has some good schematics).

Now try to control one yourself !

_______

Here is a sample code to control a servo on PB4 :

mar 04

Robotics 101 : Using a .gdbinit

In this course you will learn some of gdb uses : creating your own functions/macros and using it to check if your code does what it is supposed to do.
Gdb is a very powerful tool, well mastered it can make a huge difference between a regular programmer and a good one.

Using the .gdbinit file

In order to create your macros and others you need to create .gdbinit file in the folder where you launch gdb from.

Creating macros

You may have noticed that we always use the same 3 instruction when launching gdb, you may also have cursed the moron who coded gdb without thinking of this problem. Hopefully this guy is not a moron, he is even quite clever as you have the possibility to create your own macros and function, thus allowing you to only type a single instruction.
In order to define a macro you have to use the following syntax:


define macro_name
first_instruction
...
...
...
last_instruction
end

Here are some useful macros :


define ri
mon reset init
end
define rc
ri
continue
end
define rl
ri
load
rc
end
define recon
target extended-remote localhost:3333
end

Automatically launching functions when starting gdb

This one is quite easy, simply add at the end of the file (after the definition of the functions you are going to use is actually enough, but it is considered a good practice to write them at the end of the file) the instructions you want to execute (as if you wrote them in a gdb prompt)

ex:

a lot of define
...
...

target extend-remote localhost:3333
mon reset init
load

This would allow you to automatically connect to openocd, reset the board and load your code when you launch gdb.

recon

Last tricks

Using:
print VARIABLE_NAME
Allows you to print the current value of your variable, if you haven’t written a way to communicate with your board yet, it may help you. It can also be shortened to:
p VARIABLE_NAME

Gdb is also quite clever and is able to guess the commands you meant if you only type in their beginnings. An example will be clearer I guess:
tar ext :3333
will be understood as
target extended-remote localhost:3333

As the only command starting by tar is target, the only thing starting by ext is extended-remote, and so on …

Hope this will help you to spare some time while debugging ;)

Felix

Articles plus anciens «