Difference between revisions of "Lego Mindstorms Ev3 Project - Ondrej Slovak"

From RoboWiki
Jump to: navigation, search
(New page: == Zadanie == V tomto projekte si vytvoríme robota zo stavebnice Lego Mindstorms Ev3, ktorý bude ovládaný pomocou klávesnice notebooku, bude sa vyhýbať prekážkam a zároveň nebud...)
 
Line 1: Line 1:
 
== Zadanie ==
 
== Zadanie ==
V tomto projekte si vytvoríme robota zo stavebnice Lego Mindstorms Ev3, ktorý bude ovládaný pomocou klávesnice notebooku, bude sa vyhýbať prekážkam a zároveň nebude vychádzať z vyznačeného priestoru.
+
 
 +
V tomto projekte si vytvoríme robota zo stavebnice Lego Mindstorms Ev3, ktorý bude ovládaný pomocou klávesnice PC, bude sa vyhýbať prekážkam a zároveň nebude vychádzať z vyznačeného priestoru.
  
 
== Príprava ==
 
== Príprava ==
Budeme používať softvér pre Lego Mindstorms Ev3 od spoločnosti leJOS. Na jeho používanie budeme potrebovať nakonfigurovanú SD kartu a vývojové prostredie, ktoré si môžeme nastaviť pomocou nasledujúcich odkazov.
+
 
 +
Budeme používať softvér pre Lego Mindstorms Ev3 od spoločnosti leJOS. Na jeho používanie budeme potrebovať nakonfigurovanú micro-SD kartu a vývojové prostredie, ktoré si môžeme nastaviť pomocou nasledujúcich odkazov.
  
 
- https://sourceforge.net/p/lejos/wiki/Windows%20Installation/
 
- https://sourceforge.net/p/lejos/wiki/Windows%20Installation/
  
 
- https://sourceforge.net/p/lejos/wiki/Installing%20the%20Eclipse%20plugin/
 
- https://sourceforge.net/p/lejos/wiki/Installing%20the%20Eclipse%20plugin/
 +
 +
Nakonfigurovanú SD kartu vložíme do SD portu Ev3 kocky a spustíme. Softvér od leJOS-u sa automaticky nahrá z karty a bude sa používať ako náhrada za oficiálny softvér, pokiaľ budeme mať vloženú kartu.
 +
 +
Ďalej budeme potrebovať nadviazané spojenie pomocou Bluetooth. Toto spojenie sa dá jednoducho nadviazať z PC pomocou Bleutooth zariadenia. V Bluetooth Devices si vieme nájsť Ev3 a nadviazať s ním spojenie.
 +
 +
== Program ==
 +
 +
Program bude pozostávať z dvoch základných častí, časť, ktorá bude bežať na robotovi a časť, ktorá bude bežať na PC.
 +
 +
Popíšme si najskôr časť, ktorá bude na robotovi.
 +
 +
Program na robotovi sa skladá z viacerých častí. V prvom rade musíme zabezpečiť komunikáciu medzi robotom a PC. Keďže už máme nadviazané spojenie pomocou Bluetooth stačí nám na robotovi vytvoriť server, ktorý bude počúvať na požiadavky od používateľa, v našom prípade PC. Túto komunikáciu sme umiestnili do samostatného threadu aby robot stále počúval na požiadavky z PC.
 +
 +
<code>
 +
class readFromClient extends Thread {
 +
 +
readFromClient() {
 +
 +
}
 +
 +
public void run() {
 +
ServerSocket serv;
 +
try {
 +
serv = new ServerSocket(1111);
 +
Socket s = serv.accept(); // Wait for Laptop to connect
 +
DataInputStream in = new DataInputStream(s.getInputStream());
 +
while (true) {
 +
String read = in.readUTF();
 +
switch (read) {
 +
case "prava":
 +
BumperCarWithHandling.direction = "prava";
 +
System.out.println("prava");
 +
break;
 +
case "lava":
 +
BumperCarWithHandling.direction = "lava";
 +
System.out.println("lava");
 +
break;
 +
case "hore":
 +
BumperCarWithHandling.direction = "hore";
 +
System.out.println("hore");
 +
break;
 +
case "dole":
 +
BumperCarWithHandling.direction = "dole";
 +
System.out.println("dole");
 +
break;
 +
case "s":
 +
BumperCarWithHandling.direction = "s";
 +
System.out.println("stop");
 +
break;
 +
default:
 +
System.out.println("default");
 +
break;
 +
}
 +
}
 +
} catch (IOException e) {
 +
// TODO Auto-generated catch block
 +
e.printStackTrace();
 +
}
 +
 +
  }
 +
}
 +
</code>

Revision as of 14:58, 1 July 2014

Zadanie

V tomto projekte si vytvoríme robota zo stavebnice Lego Mindstorms Ev3, ktorý bude ovládaný pomocou klávesnice PC, bude sa vyhýbať prekážkam a zároveň nebude vychádzať z vyznačeného priestoru.

Príprava

Budeme používať softvér pre Lego Mindstorms Ev3 od spoločnosti leJOS. Na jeho používanie budeme potrebovať nakonfigurovanú micro-SD kartu a vývojové prostredie, ktoré si môžeme nastaviť pomocou nasledujúcich odkazov.

- https://sourceforge.net/p/lejos/wiki/Windows%20Installation/

- https://sourceforge.net/p/lejos/wiki/Installing%20the%20Eclipse%20plugin/

Nakonfigurovanú SD kartu vložíme do SD portu Ev3 kocky a spustíme. Softvér od leJOS-u sa automaticky nahrá z karty a bude sa používať ako náhrada za oficiálny softvér, pokiaľ budeme mať vloženú kartu.

Ďalej budeme potrebovať nadviazané spojenie pomocou Bluetooth. Toto spojenie sa dá jednoducho nadviazať z PC pomocou Bleutooth zariadenia. V Bluetooth Devices si vieme nájsť Ev3 a nadviazať s ním spojenie.

Program

Program bude pozostávať z dvoch základných častí, časť, ktorá bude bežať na robotovi a časť, ktorá bude bežať na PC.

Popíšme si najskôr časť, ktorá bude na robotovi.

Program na robotovi sa skladá z viacerých častí. V prvom rade musíme zabezpečiť komunikáciu medzi robotom a PC. Keďže už máme nadviazané spojenie pomocou Bluetooth stačí nám na robotovi vytvoriť server, ktorý bude počúvať na požiadavky od používateľa, v našom prípade PC. Túto komunikáciu sme umiestnili do samostatného threadu aby robot stále počúval na požiadavky z PC.

class readFromClient extends Thread {

readFromClient() {

}

public void run() { ServerSocket serv; try { serv = new ServerSocket(1111); Socket s = serv.accept(); // Wait for Laptop to connect DataInputStream in = new DataInputStream(s.getInputStream()); while (true) { String read = in.readUTF(); switch (read) { case "prava": BumperCarWithHandling.direction = "prava"; System.out.println("prava"); break; case "lava": BumperCarWithHandling.direction = "lava"; System.out.println("lava"); break; case "hore": BumperCarWithHandling.direction = "hore"; System.out.println("hore"); break; case "dole": BumperCarWithHandling.direction = "dole"; System.out.println("dole"); break; case "s": BumperCarWithHandling.direction = "s"; System.out.println("stop"); break; default: System.out.println("default"); break; } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

  }

}