Diferència entre revisions de la pàgina «Robot versió 6»
m (→Exemple) |
|||
(Hi ha 28 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 4: | Línia 4: | ||
Aquest robot està pensat per a funcionar amb un [https://store.arduino.cc/arduino-nano Arduino Nano] o una [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]. | Aquest robot està pensat per a funcionar amb un [https://store.arduino.cc/arduino-nano Arduino Nano] o una [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]. | ||
− | La darrera versió dels codis per a fer-lo funcionar són al [https://github.com/edcodisseny/Robot-Arduino dipòsit d'Arduino] i al [https://github.com/edcodisseny/Robot-Arduino dipòsit de la Raspberry Pi]. | + | La darrera versió dels codis per a fer-lo funcionar són al [https://github.com/edcodisseny/Robot-Arduino dipòsit d'Arduino] i al [https://github.com/edcodisseny/Robot-Arduino dipòsit de la Raspberry Pi], realitzats per [https://twitter.com/fmesasc Fran Mesas]. |
[[Image:ConnexionsRobot.png|center|Robot v6]] | [[Image:ConnexionsRobot.png|center|Robot v6]] | ||
− | + | [[Connexions i esquema electrònic del robot versió 6]] | |
− | [[ | ||
− | [https:// | + | = Control fent servir un Arduino Nano = |
+ | La darrera versió dels codis per a fer-lo funcionar són al [https://github.com/edcodisseny/Robot-Arduino dipòsit d'Arduino] d'[http://www.edcodisseny.com/ca/index.html Edco] desenvolupat per en [https://twitter.com/fmesasc Fran Mesas]. | ||
− | = Control | + | = Control fent servir una Raspberry Pi Zero W = |
− | + | [[Control des del NodeRED i MQTT fent servir una Raspberry Pi Zero W]] | |
− | [[ | ||
− | [ | + | [[Control del robot des de Snap i sòcols web fent servir una Raspberry Pi Zero W]] |
− | = | + | = Exercicis = |
− | + | 0) Programeu en NodeRED la següent lògica: | |
− | + | - Si es detecta '''B''' a '''bCC''' llavors s'aturen tots els motors | |
− | |||
− | |||
− | |||
− | + | - Si es detecta '''B''' a '''bCL''' llavors el motor de l'esquerra tindrà un cicle de treball del 50% cap endavant. Si es detecta '''B''' a '''bCR''' llavors el motor de la dreta tindrà un cicle de treball del 50% cap endavant. | |
− | + | - Si es detecta '''B''' a '''bFL''' llavors el motor de l'esquerra tindrà un cicle de treball del 100% cap endavant. Si es detecta '''B''' a '''bFR''' llavors el motor de la dreta tindrà un cicle de treball del 100% cap endavant. | |
− | + | - Si es detecta '''B''' a '''bL''' llavors el motor de l'esquerra tindrà un cicle de treball del 50% cap enrere. Si es detecta '''B''' a '''bR''' llavors el motor de la dreta tindrà un cicle de treball del 50% cap enrere. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | - | ||
− | |||
− | |||
El criteri per evitar paradoxes (fer dues coses contràries a l'hora) és que la prioritat sigui sempre la condició superior a la llista. | El criteri per evitar paradoxes (fer dues coses contràries a l'hora) és que la prioritat sigui sempre la condició superior a la llista. | ||
Línia 80: | Línia 33: | ||
Farem servir variables de flux per a determinar la velocitat i sentit dels motors. | Farem servir variables de flux per a determinar la velocitat i sentit dels motors. | ||
− | |||
1) Feu que el robot vagi cap endavant fins que detecti un obstacle (per exemple una paret) a 10 cm de distància. Caldrà posar una histèresi per a evitar una oscil·lació. Si la distància és superior a 12 cm el robot haurà d'avançar, entre 10cm i 12 cm haurà d'estar aturat i si detecta menys de 10cm haurà d'anar cap enrere. | 1) Feu que el robot vagi cap endavant fins que detecti un obstacle (per exemple una paret) a 10 cm de distància. Caldrà posar una histèresi per a evitar una oscil·lació. Si la distància és superior a 12 cm el robot haurà d'avançar, entre 10cm i 12 cm haurà d'estar aturat i si detecta menys de 10cm haurà d'anar cap enrere. | ||
− | 2) Implementeu un AGV ('' | + | 2) Implementeu un AGV (''Automated Guided Vehicle''') capaç de seguir una línia negra (cinta aïllant al terra), sense revolts molt pronunciats. [https://youtu.be/je3OM16BCS4 Exemple d'AGV] |
− | 3) Feu que el vostre robot sigui capaç de treure una capsa de sabates d'un tatami de sumo. | + | 3) Feu que el vostre robot sigui capaç de treure un objecte (per exemple una capsa de sabates) d'una zona circular (semblant a un tatami de sumo). La zona circular és de color blanc amb una frontera en forma de cercle de color negre. Haureu de fer que el robot comenci a cercar un obstacle (la capsa) després de cinc segons d'haver deixat de prémer el botó que està darrera dels sensors ultrasònics. Quan es detecti l'obstacle (la capsa), s'ha de fer fora del cercle. El robot no pot sortir completament de la frontera de color negre. |
− | 4) Implementeu un AGV ('' | + | 4) Implementeu un AGV (''Automated Guided Vehicle''') capaç de seguir una línia negra (cinta aïllant al terra) amb revolts molt pronunciats. |
− | 5) Implementeu un AGV ('' | + | 5) Implementeu un AGV (''Automated Guided Vehicle''') fent servir un PID (''Proportional–Integral–Derivative controller''). |
Revisió de 15:02, 21 feb 2020
Contingut
Robot
Aquesta és la sisena versió del robot educatiu dissenyat conjuntament per Edco i els professors Carles Olivé i Jordi Binefa de l'Escola del Clot - Jesuïtes El Clot.
Aquest robot està pensat per a funcionar amb un Arduino Nano o una Raspberry Pi Zero W.
La darrera versió dels codis per a fer-lo funcionar són al dipòsit d'Arduino i al dipòsit de la Raspberry Pi, realitzats per Fran Mesas.
Connexions i esquema electrònic del robot versió 6
Control fent servir un Arduino Nano
La darrera versió dels codis per a fer-lo funcionar són al dipòsit d'Arduino d'Edco desenvolupat per en Fran Mesas.
Control fent servir una Raspberry Pi Zero W
Control des del NodeRED i MQTT fent servir una Raspberry Pi Zero W
Control del robot des de Snap i sòcols web fent servir una Raspberry Pi Zero W
Exercicis
0) Programeu en NodeRED la següent lògica:
- Si es detecta B a bCC llavors s'aturen tots els motors
- Si es detecta B a bCL llavors el motor de l'esquerra tindrà un cicle de treball del 50% cap endavant. Si es detecta B a bCR llavors el motor de la dreta tindrà un cicle de treball del 50% cap endavant.
- Si es detecta B a bFL llavors el motor de l'esquerra tindrà un cicle de treball del 100% cap endavant. Si es detecta B a bFR llavors el motor de la dreta tindrà un cicle de treball del 100% cap endavant.
- Si es detecta B a bL llavors el motor de l'esquerra tindrà un cicle de treball del 50% cap enrere. Si es detecta B a bR llavors el motor de la dreta tindrà un cicle de treball del 50% cap enrere.
El criteri per evitar paradoxes (fer dues coses contràries a l'hora) és que la prioritat sigui sempre la condició superior a la llista.
Farem servir variables de flux per a determinar la velocitat i sentit dels motors.
1) Feu que el robot vagi cap endavant fins que detecti un obstacle (per exemple una paret) a 10 cm de distància. Caldrà posar una histèresi per a evitar una oscil·lació. Si la distància és superior a 12 cm el robot haurà d'avançar, entre 10cm i 12 cm haurà d'estar aturat i si detecta menys de 10cm haurà d'anar cap enrere.
2) Implementeu un AGV (Automated Guided Vehicle') capaç de seguir una línia negra (cinta aïllant al terra), sense revolts molt pronunciats. Exemple d'AGV
3) Feu que el vostre robot sigui capaç de treure un objecte (per exemple una capsa de sabates) d'una zona circular (semblant a un tatami de sumo). La zona circular és de color blanc amb una frontera en forma de cercle de color negre. Haureu de fer que el robot comenci a cercar un obstacle (la capsa) després de cinc segons d'haver deixat de prémer el botó que està darrera dels sensors ultrasònics. Quan es detecti l'obstacle (la capsa), s'ha de fer fora del cercle. El robot no pot sortir completament de la frontera de color negre.
4) Implementeu un AGV (Automated Guided Vehicle') capaç de seguir una línia negra (cinta aïllant al terra) amb revolts molt pronunciats.
5) Implementeu un AGV (Automated Guided Vehicle') fent servir un PID (Proportional–Integral–Derivative controller).