RoboMind – une robot intelligent

27
RoboMind – une robot intelligent MiniCours-’12 http://www.robomind.net

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

Page 1: RoboMind – une robot intelligent

RoboMind – une robot intelligent

MiniCours-’12

http://www.robomind.net

Page 2: RoboMind – une robot intelligent

Machines et InstructionsÉcriture de programmes

Page 3: RoboMind – une robot intelligent

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?

Page 4: RoboMind – une robot intelligent

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

Page 5: RoboMind – une robot intelligent

Instructions pour RoboMind

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

faire glisser la souris

rédaction des commandes

Page 6: RoboMind – une robot intelligent

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é

Page 7: RoboMind – une robot intelligent

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

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

Page 8: RoboMind – une robot intelligent

Exemple

Écrivez les instructions suivantes:

Note: Sauvegarder comme Carre1

Page 9: RoboMind – une robot intelligent

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) …

Page 10: RoboMind – une robot intelligent

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

Page 11: RoboMind – une robot intelligent

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()

Page 12: RoboMind – une robot intelligent

Exercice

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

Page 13: RoboMind – une robot intelligent

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.

Page 14: RoboMind – une robot intelligent

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)

Page 15: RoboMind – une robot intelligent

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

Page 16: RoboMind – une robot intelligent

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)}

Page 17: RoboMind – une robot intelligent

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.

Page 18: RoboMind – une robot intelligent

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 ()

Page 19: RoboMind – une robot intelligent

Structures IF (cont.)

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

Solution ?

Page 20: RoboMind – une robot intelligent

Solution…

If (leftIsWhite())

{

left()

forward(1)

paintBlack()

stopPainting()

backward(1)

right()

}

Page 21: RoboMind – une robot intelligent

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 ?

Page 22: RoboMind – une robot intelligent

Solution…

if (leftIsWhite()) {

left()

forward(1)

paintBlack()

stopPainting()

backward(1)

right()

} else {

forward(3)

}

Page 23: RoboMind – une robot intelligent

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.

Page 24: RoboMind – une robot intelligent

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 ()

Page 25: RoboMind – une robot intelligent

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()

Page 26: RoboMind – une robot intelligent

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()

Page 27: RoboMind – une robot intelligent

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())