RCX STORM :: Ressources Conseils eXchanges pour la robotique ludique
Se connecter
RCX STORM :: Ressources Conseils eXchanges pour la robotique ludique
 

Comment Écrire des programmes NXT-G efficace Optimisez vos programmes avec les blocs {Déplacer} et {Moteur}

NXT-G est le langage de programmation qui est au cœur des LEGO ® MINDSTORMS NXT ®. Il permet de construire des programmes complexe rapidement et facilement. Cette complexité peut être réalisée en combinant des blocs plus simple. Chaque programmes que vous créez et puis télécharger sur la brique NXT devient un fichier directement accessibles à partir du menu de la brique NXT . Toutefois, ces programmes complexes peuvent rapidement remplir le peu de mémoire flash disponibles sur la brique. Cet article décrit les techniques que vous pouvez utiliser pour écrire des programmes efficace pour créer des comportements complexes avec un minimum d’utilisation de la mémoire flash.

Ces indications sont particulièrement pertinentes pour les compétitions NXT, tels que la FIRST LEGO League, dans laquelle les concurrents doivent souvent télécharger plusieurs programmes complexes dans une seule brique NXT.

Maximiser l’espace libre

Commencez par maximiser l’espace libre de votre brique avant de télécharger vos propres programmes. Quand une brique NXT sort de l’usine, elle est en condition par défaut (neuf ou firmware récemment mises à jour fourni par LEGO ), la mémoire flash de la brique comprend un ensemble de fichiers par défaut utilisé pour être prêt à l’emploi avec des dispositifs tels que les programmes « Try Me ».

Par défaut ces fichiers sont appelés « fichiers système » et ils n’apparaissent pas dans votre environnement de programmation LEGO MINDSTORMS NXT. Pour voir ces fichiers :

1. Ouvrez la fenêtre NXT

2. Cliquez sur l’onglet Mémoire

3. Activez la case à cocher « Afficher les fichiers système »

Il est toujours plus sûr de supprimer l’un de ces fichiers avec le bouton Supprimer ; toutefois, vous ne perdez que temporairement l’intégration des fonctionnalités qu’ils offrent. C’est-à-dire un test de vos capteurs.

Après la suppression manuelle des fichiers système, utilisez le bouton Supprimer tout pour maximiser l’espace utilisable pour vos logiciels.

Cliquez sur ce bouton pour supprimer toutes les fichiers non-système de votre brique et optimiser l’usage de mémoire flash du système de fichiers qui restent sur la brique.

Pour plus d’informations sur les fichiers système et la gestion de la mémoire sur le NXT en général, se reporter à la rubrique d’aide de fichiers et de mémoire sur le NXT inclus avec LEGO MINDSTORMS NXT.

Aller dans Rubriques générales > Gestion des fichiers et de la mémoire du NXT.

Techniques de programmation avancées pour le NXT-G

Conserver ces indications à l’esprit lorsque vous écrivez de grand programmes NXT-G. Vous trouverez que les programmes utilisant ces techniques pourront vous permettre d’effectuer des tches plus complexes en utilisant moins de mémoire flash.

Comment maximiser la réutilisation de Code

la réutilisation de Code est peut-être le plus important à comprendre lorsque l’on cherche à écrire des programmes NXT-G efficace . Chaque bloc NXT-G ajouté à un logiciel augmente la taille du fichier programme dans la mémoire de la brique NXT. Toutefois, chaque copie du même type de bloc partage automatiquement le code de la première instance du bloc. Par exemple, placer un bloc Déplacer dans votre programme nécessite une grande quantité de code, mais chaque bloc ’Déplacer vous ajoute une place relativement petite vu la quantité de code de votre fichier programme parce que beaucoup de code est réutilisés.

PNG - 28.4 ko
Le Bloc « Déplacer »
es 4 icônes du bloc Déplacer nous donne rapidement des informations nécessaire.

1.1. blocs Déplacer et Moteur Le concept de réutilisation de code s’applique à presque tous les blocs NXT-G. Toutefois, le Moteur de base de blocs de contrôle (Déplacer et Moteur) inclus avec l’environnement de prgrammation LEGO MINDSTORMS NXT méritent une attention particulière pour trois raisons :

1. Les blocs Déplacer et Moteur sont très couramment utilisées.

2. Les blocs Déplacer et Moteur sont souvent interchangeables, parce qu’ils offrent des fonctionnalités très similaires.

3. Les blocs Déplacer et Moteur requièrent relativement de grandes quantités de code dans votre programme.

Si votre utilisation d’un seul bloc Moteur et d’un bloc Déplacer , le programme aura une taille minimum d’environ 8 ko. Par ailleurs, si vous utilisez deux blocs Déplacer (et non pas de blocs Moteur ) pour effectuer les mêmes actions, la taille minimum du programme sera de moins de 6 ko. Cela est vrai parce que plusieurs blocs Déplacer partageront automatiquement le même code mais des blocs Déplacer ET des blocs Moteur ne le feront pas.

Ainsi, vous pouvez faire des petits programmes si vous utilisez un seul type de bloc de contrôle Moteur, soit Déplacer ou soit Moteur, dans un programme. Pour vous aider à choisir, examinez quelques-unes des différences importantes entre les blocs Déplacer et Moteur :

- les blocs Déplacer fournissent une synchronisation automatique et un changement de direction au moyen de deux Moteurs simultanément. Les blocs Moteur permettent de contrôler un des blocs Moteur à la fois.

- les blocs Déplacer précisent un arrêt automatique. Les Blocs Moteur permettent un contrôle manuel de la puissance.

- les blocs Moteur vous permettent d’activer ou de désactiver manuellement le contrôle de la puissance. Cette fonctionnalité peut être utilisée pour plus de finesse dans des mouvements de vitesse relativement lente de sortie.


Utiliser les Boucles et Mes Blocs

Même avec la réutilisation de code automatique , chaque copie de chaque bloc dans votre programme utilisera de l’espace dans le fichier programme. Vous pouvez en outre réduire la taille des programmes complexes, en identifiant les parties de votre programme réalisant la même action plusieurs fois ou en plusieurs endroits.

Boucle NXT-G

Si vous avez besoin d’effectuer une action plus d’une fois avec aucune autre action entre les répétitions, placez les blocs dans une boucle pour que l’action soit répétée plutôt que de copier les blocs autant de fois que nécessaire.

Mon Bloc NXT-G

Si votre besoin est d’effectuer la même action avec d’autres actions entre les deux, placez les blocs de cette action dans un Mon Bloc en déposant des copies de votre Mon Bloc là où vous en avez besoin. Vous pouvez également utiliser Mes blocs si vous en avez besoin pour effectuer la même action dans deux ou plusieurs séquences différentes à l’intérieur d’un bloc Commutation. Ce Code sera automatiquement partagée entre les copies des mêmes Mon Bloc tout comme le code est partagé entre le même type de blocs NXT-G .

Accès fichier NXT-G

Si il est nécessaire que votre programme exécute presque la même action plusieurs fois. C’est-à-dire avec un paramètre qui peut varier, rappelez-vous que vous pouvez utiliser les données externes avec les blocs Enregistrer/lire et le bloc Accès au fichier à la fois avec les blocs « standard » NXT-G et avec vos propres Mon Bloc pour choisir différents comportements de façon conditionnelle. Si vous utilisez un fichier de données sur un Mon Bloc, vous pourrez planifier à l’avance et décider de quelles valeurs vous avez besoins avant de créer le Mon Bloc. Il s’agit ici par exemple de mémoriser un itinéraire...

Utiliser la Combinaison de plusieurs programmes

Même si le code est automatiquement partagée entre les blocs dans un programme, des programmes différents ne se partagent jamais leurs codes les uns avec les autres. Donc, si vous téléchargez de deux programmes dans votre brique NXT et que ces programmes effectuent des actions très similaires (par exemple, ils utilisent tous deux le même Mon Bloc), le code pour ces actions similaires sera dupliqués dans les deux fichiers programmes.

Pour les compétitions, il est très fréquent d’écrire des programmes distincts pour chaque défi qui doit être résolu. Si cela vous amène à manquer d’espace mémoire, vous pouvez envisager de fusionner ces programmes dans un seul programme qui vous permet de choisir les conditions des mesures à prendre. Par exemple, vous pouvez écrire un programme qui prend en entrée le bouton gauche ou le bouton de droite d’un NXT. Ensuite, au cours de la compétition, vous pourrez appuyer sur le bouton gauche pour le défi 1 à résoudre ou le bouton de droite pour résoudre le défi 2.

Post-Scriptum :

Notez cet article :

2 votes



Un message, un commentaire ?
  • (Pour créer des paragraphes, laissez simplement des lignes vides.)

Lien hypertexte (optionnel)

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Qui êtes-vous ? (optionnel)
  • [Se connecter]

Nous contacter | FESC | SPIP 2.0.10 [14698] | BliP 3.0.6  | Newsletter | RSS 2.0 | Plan du site
Copyright © 2002-2010, rcx-storm.org | Mentions légales
243 visiteurs hier, 75209 depuis janvier 2009