RoboMind – une robot intelligent

Post on 01-Jan-2016

64 views 3 download

description

RoboMind – une robot intelligent. MiniCours-’12 http://www.robomind.net. Machines et Instructions Écriture de programmes. Instructions. Si vous voulez faire une machine, un ordinateur ou un robot fonctionne, vous lui donner des instructions - PowerPoint PPT Presentation

Transcript of RoboMind – une robot intelligent

RoboMind – une robot intelligent

MiniCours-’12

http://www.robomind.net

Machines et InstructionsÉcriture de programmes

Instructions

Si vous voulez faire une machine, un ordinateur ou un robot fonctionne, vous lui donner des instructions

Les instructions diffèrent de machines à machine et ils peuvent être très différentes. Par exemple:Recorder des vidéos: enregistrement, lecture,

pauseNavigateur web : aller sur le site, imprimer la

page

Question: Qu’est-ce qui pourrait être des instructions pour un pilote automatique?

Instructions de base

Chaque machine à une manche des instructions : des actions qui sont exécutées directement.

Notre robot à des instructions de base pour:

Déplacer Regarder Peindre Saisir

Instructions pour RoboMind

Les instructions peuvent être données: en appuyant sur un bouton

faire glisser la souris

rédaction des commandes

Instructions avec la souris

Ouvrez la télécommande en

RoboMind(Exécuter > Télécommande)

Cliquez sur les butons pour

faire le robot réagir

Exercice: essayer de faire le

robot conduire une petite carré

Rédaction des commandes Vous pouvez aussi écrire des instructionsLes mouvements peuvent être faits avec

les commandes:forward(1), backward(1), left(), right()

Exemple

Écrivez les instructions suivantes:

Note: Sauvegarder comme Carre1

Les Instructions de base

Déplacer forward (n) déplacer n pas en avant backward(n) déplacer n pas en arrière left () tourner à gauche sur 90 degrés right () tournez à droite sur 90 degrés north (n) tournez vers le nord et déplacer n

pas en avant south(n) … east(n) … west(n) …

Les Instructions de base (cont.)

Peindre paintWhite() placez le pinceau avec la

peinture blanche sur le sol paintBlack() placez le pinceau avec la peinture

noire sur le sol stopPainting() arrêt la peinture, le pinceau

cacher

Saisir pickUp() obtenez le phare à l'avant du robot putDown() mettez un phare à l'avant du robot

Les Instructions de base (cont.)

flipCoain () lancer une pièce de monnaie pour faire un choix aléatoire. flipCoin () sera soit vrai ou faux avec une chance de 50% -50%

Regarder

leftIsObstacle() leftIsClear() leftIsBeacon()leftIsWhite() leftIsBlack()

frontIsObstacle() frontIsClear() frontIsBeacon()frontIsWhite()frontIsBlack()

rightIsObstacle() rightIsClear() rightIsBeacon()rightIsWhite()rightIsBlack()

Exercice

Écrire votre nome!!! (openArea.map)

Langage de programmation pour RoboMind

Comment savez-vous quelles sont les instructions que vous pouvez utiliser? Comme: forward(1), left(), repeat, ...

Vous ne savez pas à l'avance. Cela dépend de les règles du langage de programmation.

Vous devrez lire la documentation afin de trouver cela. Il existe de nombreuses langues de programmation.

Language de programmation pour RoboMind (cont.)

Commentaries

# texte libre qui ne sera pas évalué

Boucles - Portion de code accompagnée de sa structure de contrôle destinée à être exécutée plusieurs fois (la structure de contrôle relançant l'exécution du code depuis le début tant qu'une condition n'est pas remplie)

Bouclesreapeat (n) {...instructions...}

répète les instructions entre accolades exactement n fois

Example:

repeat(4) {

forward(2)

right()

}

repeat () {...instructions...}

ne cesse de répéter les instructions entre accolades

Boucles (cont.)

repeatWhile (condition) {...instructions...}Répète les instructions entre crochets tant que la condition est vraie. Cette condition doit être une perception ou instructions de regarder (par exemple frontIsClear ())

Example: avancer pendant que la route est libre

repeatWhile ( frontIsClear() ){

forward(1)}

break vous permet de sauter hors de la boucle (par exemple une répétition), afin qu'il arrête l'exécution des instructions entre crochets. Le robot va reprendre l'exécution des instructions après la boucle.

Structures IF

if (condition) {...instructions...}

Exécutera les instructions entre crochets si la condition est vrai. Sinon le robot exécutera les instructions écrites après la boucle. La condition doit être une perception (par exemple: frontIsClear ()

Structures IF (cont.)

Example: ? peinture blanche à la gauche -> peinture noire

Solution ?

Solution…

If (leftIsWhite())

{

left()

forward(1)

paintBlack()

stopPainting()

backward(1)

right()

}

Structures IF (cont.)

If (condition) { ...instructions...} else {...instructions...}

Example: Si il y a de la peinture blanche à la gauche noire si non avancer quelques pas avant

Solution ?

Solution…

if (leftIsWhite()) {

left()

forward(1)

paintBlack()

stopPainting()

backward(1)

right()

} else {

forward(3)

}

Expressions Logiques

Les conditions qu’ on utilise pour les structures IF et les structures bucle sont des expressions logiques. Cette expression se traduira par la valeur vrai ou faux, qui est ensuite utilisée pour décider de l'étape de la partie du code à exécuter.

Operator: Not

Notation: ~

Nombre de arguments: 1

Explanation: La négation de la valeur de l'argument

Table de vérité: pas vrai = faux pas faux = vrais

Exemple: not frontIsClear ()

Operator: AND

Notation: &

Nombre de arguments: 2

Explanation: vrais si les deux arguments sont vrais

Table de vérité:

vrai and vrai = vrai vrai and faux = faux faux and vrai = faux

faux and faux = faux

Exemple:

frontIsClear() and rightIsWhite()

Operator: ORNotation: |Nombre de arguments: 2Explanation: vrai si au moins l'un des arguments

est vrai Table de vérité: vrai and vrai = vrai

vrai and faux = vrai faux and vrais = vrai

faux and faux = faux Exemple: frontIsClear() or rightIsWhite()

Exercice1. Programmer une "dance" pour le robot en utilizent des

boucles. Truc: Utilisez leftIsClear() et

rightIsClear () pour déplacer la tête de la robot.

2. Écrire votre nome!!! (openArea.map)

3. Trouvez le point blanc!!!Utiliser findSpot1.map et mettre le robot proche du mur.

4. Maze (maze1.map) Truc: En suivant toujours le mur sur le côté droit (ou

suivant toujours le mur sur le côté gauche), vous trouverez la sortie. La sortie est marque par une balise (frontIsBeacon())