Fjernkontroll av Lego Mindstorms-roboten via JMX og IP Video. Vil pdf-referansemateriale være tilgjengelig som viser hvordan du programmerer med EV3-klossen og bruker LEGO® MINDSTORMS® EV3 Home Software

Denne delen presenterer ulike Lego-roboter. Starter med Mindstorms - en robot for avanserte brukere og til og med profesjonelle, og slutter med legendariske karakterer: Hero Factory, Ninjago, Chima, etc.


La oss starte historien vår med et uvanlig Lego-leketøy - en elektronisk interaktiv robot basert på NXT 2.0-prosessoren! Selv et 10-12 år gammelt barn kan montere det ved hjelp av instruksjoner! LEGO Robots mindstorms vil appellere ikke bare til barn, men også til foreldrene deres, siden den er veldig funksjonell og programmeringsmulighetene er virkelig uendelige! Du kan designe dine egne programmerbare modeller!

Det er veldig praktisk å programmere roboten gjennom det brukervennlige grensesnittet til programmet, som kan installeres fra disken! Om ønskelig kan et sett med funksjoner velges med en kombinasjon av taster på den sentrale kontrollenheten. Robot har meget god funksjonalitet, som oppnås gjennom interaktive servomotorer og spesielle sensorer som reagerer på lys, lyd, mekanisk stress og andre ytre stimuli!

Mindstorms kan bevege seg i forskjellige retninger, spille lyder, skille farger, løse Rubiks kube, håndtere ikke-tunge gjenstander, vokte et rom, styre et Lego-tog eller en bil på avstand, og mye mer! I tillegg til de vanlige sensorene som følger med i det første settet, kan du kjøpe annet forskjellig tilbehør: forskjellige sensorer, adaptere, motorer, batterier og mye mer, som vil utvide mulighetene til din Lego-robot betydelig!

Instruksjonen, som ligger på programvareplaten, tilbyr flere første, enkle å montere mindstorms-modeller: Robogator, Colored Ball Sorter, Room Caretaker og noen andre.

Barnet ditt vil aldri kjede seg, og å lære design og programmering på en leken måte er også en veldig informativ leksjon!

En annen episode er Hero Factory. Helter fra Hero Factory-serien er veldig fargerike skapninger, de er en hybrid av et menneske og en robot, og de heter cyborgs! Figurer av roboter har bevegelige armer og ben, de holder forskjellige våpen som hjelper dem å bekjempe horder av mutanter som tjener Ildherren.

Denne Hero Factory-serien er en analog av Bionicles, så fans av tegneserier om roboter vil gjerne akseptere den.

Blant karakterene er det både gode: Stormer, Furno, Breeze og andre, og negative helter: Drilldozer, Jetbag, Von Nebula, som adlyder den mektige og onde Ildherren. Prøv å samle hele samlingen av Lego Robot Hero Factory-figurer og ordne kampen din for triumfen til godt og rettferdighet!

Hva er det mest kjente byggesettet i verden? Selvfølgelig Lego! Hva er den mest kjente plattformen for undervisning i robotikk? Selvfølgelig Lego Mindstorms! La oss finne ut hvorfor.

Lego: fra en snekkers håndverk til lederskap i lekenes verden

Selskap Lego grunnlagt i 1932. Grunnleggeren er en danske Ole Kirk Christiansen... Som snekker grunnla han først et firma for produksjon av produkter til hjemmet, og tok senere også opp produksjon av treklosser til barn. Firmaet fikk navnet Lego, og kombinerte danske ord bein - å spille og godt er bra.

I 1947 begynte Lego-selskapet å produsere plastleker, og allerede i 1949 dukket de berømte Lego-snap-in-klossene opp.

Legos hovedideer er modularitet og kompatibilitet. Selv om klossene har endret design og form i 65 år av deres eksistens, er de absolutt kompatible med hverandre. Moderne elementer kan enkelt legges til elementer fra 40 år siden.

I dag er Lego absolutt mye bredere enn leketøysproduksjon. Selskapet lager klær, filmer, spill, arrangerer konkurranser, inkludert roboter. Lego-museer er åpne i verden, fornøyelsesparker av fornøyelser - Legends, som nesten utelukkende er bygget av Lego-klosser.

Fra Lego kan du sette sammen modeller av biler, fly, skip, bygninger og, selvfølgelig, roboter. Siden slutten av forrige århundre har Lego produsert et spesielt robotbyggesett, som i dag har blitt ledende innen pedagogisk robotikk.

Lego Mindstorms: robotikk for alle

Ideen om å legge til en elektronisk programmerbar blokk, sensorer og elektriske motorer til standard Lego-deler, gjøre programmering enkel og forståelig for barn og utvikle et spesielt byggesett for å lage roboter, gjenopplivet ikke bare Lego-konstruksjoner, men hele selskapet. Siden 1991 har selskapet lidd under tap i 11 år på rad. Og det var robotretningen som reddet situasjonen.

For første gang en robotkonstruktør Lego mindstorms ble introdusert i 1998. I 2006 ble den andre versjonen av konstruktøren utgitt - NXT, og dukket opp i begynnelsen av 2013 EV3(kort for Evolusjon 3).

Fra venstre til høyre innrammede versjoner av Lego Minstorms 1998, 2006, 2013

Hjertet til designeren er en mikrodatamaskin (mikrokontroller), også kjent som P-brick, eller P-brick (fra Programmerbar murstein- programmerbar murstein). Standard Lego-deler (bjelker, gir, aksler, hjul) endres lite med utviklingen av konstruktøren; det er mikrodatamaskinen som gjennomgår de største endringene.

Den første versjonen av konstruktøren ble fullført med en mikrodatamaskin RCX, den andre - NXT, og som en del av den moderne versjonen - EV3.

Fra venstre til høyre Lego mikrodatamaskiner: RCX (1998), NXT (2006), EV3 (2013)

Med utviklingen av konstruktøren holder produsenten seg til policyen om bakoverkompatibilitet, dvs. deler fra gamle versjoner kan brukes sammen med den nye konstruktøren. Så for eksempel kan sensorer fra NXT-versjonen brukes med EV3. Utviklingen av konstruktøren i takt med tiden er for det første utviklingen av mikrodatamaskinen og programmeringsmiljøet. En viktig funksjon ved den moderne EV3-klossen er at den kjører på det gratis Linux-operativsystemet.

Lego EV3 mikrodatamaskin spesifikasjoner:

  • Prosessor - ARM9 (ARM7 ble brukt i NXT 2.0-konstruktøren);
  • RAM - 64 megabyte;
  • FLASH-minne - 16 megabyte;
  • SD-utvidelsesspor;
  • USB 2.0 med støtte for Wi-Fi-tilkobling;
  • Bluetooth 2.1;
  • monokrom skjerm med en oppløsning på 178 × 128 piksler;
  • fire inngangsporter;
  • fire utganger;
  • seks-knapps kontrollgrensesnitt;
  • høykvalitets integrert høyttaler;
  • autonom strømforsyning fra seks AA-batterier, eller ved å bruke et EV3 2050 mAh DC-batteri;
  • operativsystem Linux.

Videoanmeldelse av Lego EV3-mikrodatamaskinen:

Lego Mindstorms EV3-liste

Lego Mindstorms byggesett Er et sett med standard Lego-deler, en mikrodatamaskin og sensorer.

Lego Mindstorms EV3-komponenter

Byggeren ble utviklet for to målgrupper: for hjemmebruk(barn og elskere) og for bruk i utdanningsinstitusjoner(elever og lærere). Det er laget et basissett for hver gruppe - deretter eske versjon av Lego EV3 og pedagogisk versjon av Lego EV3.

Det er også flere tilleggssett tilgjengelig for hver gruppe. For eksempel er et ressurssett som er valgfritt ganske enkelt et sett med ekstra standard Lego-deler som utvider mulighetene til konstruktøren. Det er ingen klar grense mellom boksversjonen og pedagogisk versjon – dette er én og samme konstruktør med litt forskjellige konfigurasjoner.

I dag blir dette settet aktivt implementert i Russland i pedagogisk robotikk for førskolebarn og barneskolebarn.

En slik konstruktør lar deg sette sammen og programmere ved hjelp av en datamaskin mange grunnleggende modeller i henhold til instruksjonene, samt komme opp med dine egne. Settet inneholder deler som er kompatible med standard legoklosser.

Lego Education WeDo-settet inkluderer:

  • 158 bygningselementer;
  • USB Lego Switch;
  • motor;
  • tilt sensor;
  • avstandssensor.

Bryteren styrer sensorene og motorene ved hjelp av WeDo-programvaren. Strøm tilføres motorene gjennom bryterkontaktene og data utveksles mellom sensorene og datamaskinen.

Videopresentasjon av Lego WeDo-settet:

Lego Education WeDo er ikke bare et byggesett, men en komplett metodisk støtte, klar til å bli introdusert i utdanningsprosessen. Dette er en flott start på robotopplæringen din.

Du kan finne robotkrus hvor Lego WeDo brukes i vår.

LEGO Education WeDo 2.0

Oppd. 4.12.2017: LEGO Education i begynnelsen av 2016 en ny versjon av den pedagogiske robotikkkonstruktøren for barn WeDo 2.0 (art.45300).

Grunnsettet til Lego WeDo 2.0 inkluderer nye versjoner av bryteren, tilt- og bevegelsessensorer, motor. Dessverre er det nye byggesettet ikke kompatibelt med den tidligere versjonen av Lego WeDo-motorer og sensorer, fordi mikroprosessoren (Smarthub) har forskjellige tilkoblingskontakter. WeDo 2.0 SmartHub kobles til en datamaskin eller nettbrett via Bluetooth 4.0.

Finnes det et alternativ til Lego i pedagogisk robotikk?

I dag er Lego-plattformen den ubestridte lederen innen pedagogisk robotikk. Lego Mindstorms-sett brukes i robotkrus i mange land rundt om i verden. Lego Mindstorms i ledende posisjoner i Russland.

Hva er årsakene til dette lederskapet? Det er flere av dem.

For det første er dette utvilsomt kvaliteten på plattformen, opplæringen på den ene siden og designevnene på den andre. Denne konstruktøren kan brukes til å bygge ikke bare leketøysroboter, men også prototyper av så seriøse strukturer som for eksempel osv. Dessuten kan barn finne opp og implementere alt dette. Og du kan også lage en robot av Mindstorms, som!

Rover-robot på WRO-2014 i Kazan

Finnes det noen funksjonelle alternativer? Generelt, ja. Dette er for eksempel koreansk, tysk, innenlandsk TRIKS annen. Plattformene som er oppført er like i pris som Lego. Det finnes også dyrere konstruktører.

For det andre er det en kraftig Lego-basert Olympiad-robotikkbevegelse. Konkurranser i verdensklasse som og, samt mange regionale arrangementer og festivaler, krever bruk av Lego i deres regelverk.

Alternative Lego-produsenter promoterer også konkurranser basert på deres plattformer, ettersom robotkonkurransen for ungdom er helt basert på HUNAs klosser. Multiplattformkonkurranser blir også stadig mer populære. I Russland, dette og nettopp annonsert ICaR.

For det tredje, kontinuiteten til Lego Mindstorms. Før det kan beskrives ovenfor Vi gjør, etter - TETRIX og MATRISE. De to sistnevnte bruker NXT- og EV3-kontrollerne, men tilbyr betydelig mekanisk og strukturell utvidelse. Tatt i betraktning at moderne barn blir kjent med Lego før de fyller ett år, virker det naturlig og enklere å jobbe videre med det.

For det fjerde spiller tidsfaktoren også en rolle i populariteten til Lego – det var rett og slett den første på dette området og erobret markedet. Det er etablerte samfunn i forskjellige land, det er mange utviklinger, det er betydelig erfaring med å bruke det i utdanning.

Roboten, satt sammen av LEGO Mindstorms EV3-konstruktøren, kan du enkelt fjernstyre fra første person. For å gjøre dette trenger du i tillegg to smarttelefoner med RoboCam-appen installert på en av dem. La oss ta en nærmere titt på RoboCam-appen og lære hvordan du bruker den.

Denne artikkelen beskriver de nye funksjonene introdusert i den første versjonen 1.0 av RoboCam-appen. Du kan finne alle artiklene dedikert til RoboCam-applikasjonen. RoboCam-appen kan installeres fra Google Play-butikken.

La oss først se en video som viser en førstepersonsrobot jeg kaller EV3 Explorer. I tillegg til at roboten kan bevege seg i alle retninger, kan den heve og senke hodet, d.v.s. rammen som smarttelefonen er festet til. Dette betyr at du kan se ikke bare til sidene, men også opp/ned.

Hva trenger du for å gjennomføre et eksperiment?

For å gjenta eksperimentet du ser i videoen, trenger du følgende:

  1. Robot, satt sammen fra LEGO Mindstorms EV3 byggesett.
  2. Android smarttelefon med et kamera og RoboCam-appen installert på det. Støtter Android 2.3 og nyere. Smarttelefonen må ha minst ett kamera, samt Bluetooth- og Wi-Fi-moduler.
  3. Smarttelefon eller nettbrett med en moderne nettleser med HTML5-støtte. De nyeste versjonene av nettleserne Google Chrome, Yandex Browser, Firefox og Opera er godt egnet og testet. Operativsystemet kan i prinsippet være hvilket som helst (Android, iOS eller Windows), men fullverdige tester ble utført bare på Android. En smarttelefon eller nettbrett bør ha minst en berøringsskjerm (helst med minst 2 berøringspunktgjenkjenning) og en Wi-Fi-modul.

Tilkoblingsskjema

Først, la oss ta en titt på hvordan alle de ovennevnte enhetene er koblet til hverandre. Dette er best illustrert på bildet nedenfor.

Som du kan se, er RoboCam-appen installert på smarttelefon 1. Denne smarttelefonen er koblet til roboten og koblet til den via Bluetooth. Fra smarttelefon 1 til EV3 er kommandoer som styrer motorene, informasjon fra sensorene kommer tilbake.

Andre smarttelefon eller nettbrett, kobles til smarttelefon 1 via Wi-Fi. Smarttelefon 1 og smarttelefon eller nettbrett 2 må være koblet til samme ruter. Fra smarttelefon eller nettbrett 2 går koordinatene til styrespakene til smarttelefon 1, og videostrømmen fra kameraet går tilbake.

Hvordan EV3 kontrolleres

For å få en bedre forståelse av hvordan EV3-roboten styres, ta en titt på følgende diagram.

Når du begynner å berøre styrespakene A og B, sender smarttelefon eller nettbrett 2 koordinatene til berøringene til smarttelefon 1, som konverterer dem til kommandoer for EV3-motorene. Hvordan koordinatene konverteres avhenger av innstillingene i RoboCam-appen. Vi snakker mer om innstillingene nedenfor.

Montering av roboten

For å gjenta eksperimentet må du først og fremst sette sammen en robot som du skal kontrollere. Det kan være en enkel tohjulsrobot, en robotbil eller en robot med en kompleks bevegelsesmekanisme. I det store og hele spiller det ingen rolle hva roboten din blir, for RoboCam-programmet er fleksibelt og du kan styre en robot av ethvert design med dens hjelp. Hovedsaken er at du kan fikse smarttelefonen på roboten din på en slik måte at kameraet er rettet fremover, i kjøreretningen.

Jeg anbefaler å starte med en enkel modell. Hvis du har et LEGO Mindstorms EV3 utdanningssett, kan du sette sammen EV3 Explorer, som du ser på bildet og videoen i begynnelsen av artikkelen. Her er monteringsdiagrammet for EV3 Explorer:

Instruksjoner for å bygge EV3 Explorer Versjon: 2

Instruksjoner for å bygge EV3 Explorer Robot fra LEGO Mindstorms Education EV3 Basic Educational Set (45544).

I versjon 2: rammen festes mer fast og faller ikke av.

04.06.2016 4,95 MB 5783

Forbereder en Android-smarttelefon og RoboCam-applikasjonen

RoboCam-appen fungerer på smarttelefoner eller nettbrett som kjører Android 2.3 eller nyere. Enheten må ha innebygd kamera og Bluetooth- og WiFi-moduler. Appen er gratis, du kan installere den ved å bruke Google Play-butikken. Her er RoboCam app-siden. For å installere, klikk på "INSTALL"-knappen, og godta de nødvendige tillatelsene ved å klikke på "GODKJENNING"-knappen.

Åpne appen etter installasjonen. På Android 6 og nyere vil du umiddelbart se en melding som spør om du vil bruke kameraet. Vi trenger definitivt et kamera, så klikk "TILLAT".

Etter at applikasjonen åpnes, vil du se tre runde knapper for grunnleggende handlinger, og i bakgrunnen et bilde fra kameraet.

Den grønne knappen til venstre er ansvarlig for å starte og stoppe RoboCam-serveren, som er nødvendig for å koble til en smarttelefon eller nettbrett 2, se diagrammet ovenfor. Samtidig viser knappen om serveren kjører eller ikke. På bildet er bakgrunnen på knappen hvit, noe som betyr at serveren er nede. Dette er også indikert med tipset ovenfra. Du kan starte eller stoppe serveren når som helst ved å klikke på denne knappen.

Den midterste lilla knappen er ansvarlig for å koble til EV3-roboten. Samtidig viser knappen om smarttelefonen er koblet til roboten eller ikke. På bildet er bakgrunnen på knappen hvit, noe som betyr at roboten ikke er tilkoblet. Denne knappen har også et hint, rett under knappen, hvor tilkoblingsstatusen vises i den øvre linjen (på bildet er det inskripsjonen "EV3 ikke tilkoblet"), og i den nedre linjen - navnet på gjeldende robotinnstillinger (på bildet er det EV3 Explorer).

Knappen til høyre åpner RoboCam-innstillingene. Hvis du skal bruke min EV3 Explorer, er det ikke nødvendig å konfigurere noe i tillegg. Rett etter den første oppstarten av applikasjonen vil standardinnstillingene bli kalt "EV3 Explorer". Hvis roboten din er annerledes, må du først grave dypere inn i innstillingene. Men la oss snakke om dette nedenfor.

Starter og kobler til RoboCam-serveren

Jeg må si med en gang at det ikke spiller noen rolle hva du gjør først, starter RoboCam-serveren eller kobler smarttelefonen til roboten. Dette kan gjøres i hvilken som helst rekkefølge.

Så etter at applikasjonen er installert på smarttelefon 1 (se diagrammene ovenfor) og åpnet, kan du starte RoboCam-serveren. For å gjøre dette, klikk på den grønne knappen til venstre, knappen vil begynne å blinke, og ledeteksten vil si "Initialiserer RoboCam-serveren ...". Etter en stund, etter at serveren starter, vil bakgrunnen til knappen bli grønn, og ledeteksten vil si "RoboCam-serveren kjører".

Hvis smarttelefonen din ennå ikke er koblet til Wi-Fi-ruteren (som vi har på bildet), er det på tide å gjøre det. Når du er koblet til, vil den øverste ledeteksten på den andre linjen vise adressen for å koble til RoboCam-serveren. Når du slår på serveren, spiller det ingen rolle om du skal slå på RoboCam-serveren eller Wi-Fi først.

Du kan nå koble til RoboCam-serveren. For å gjøre dette, ta en annen smarttelefon eller nettbrett (jeg skal bruke et nettbrett), sørg for at den er koblet til samme Wi-Fi-ruter, åpne nettleseren og gå til siden med adressen vist i tipset i RoboCam applikasjon (på bildet er det "http : //192.168.1.153: 8088 "). Nettleseren må brukes en av de som er beskrevet ovenfor. Hvis du gjorde alt riktig, vil nettleseren laste inn en side for inntasting av brukernavn og passord. Skriv inn brukernavn og passord her og klikk på "Logg inn"-knappen. Hvis du ikke endret noe i innstillingene etter installasjonen, er standard pålogging "admin" og passordet er "123".

Etter det åpnes hovedsiden til RoboCam-serveren, hvor du vil se et bilde fra smarttelefonkameraet 1 (se diagrammet ovenfor).

Som du kan se, er retningen til smarttelefon 1 stående, og nettbrettet mitt er liggende. Du kan snu smarttelefon 1 slik at den også er i liggende retning. I dette tilfellet vil bildet på nettbrettet automatisk endres til landskap.

Vær oppmerksom på at retningen ikke endres hvis du har låst smarttelefonen 1.

For å nå gjøre bildet fullskjerm, klikk på ikonet øverst til høyre på siden. Dette vil fjerne alle unødvendige knapper, nettleserbokmerker osv., og bildet fra kameraet blir større.

Kobler RoboCam til EV3

Før du kobler RoboCam-appen til EV3, sørg for at EV3-roboten og smarttelefonen har Bluetooth aktivert og er sammenkoblet. Sørg også for at motorene er koblet til de nøyaktige portene som er spesifisert i robotinnstillingene. Navnet på de gjeldende innstillingene er skrevet i verktøytipset til den midterste knappen på den andre linjen, på bildet nedenfor er det "EV3 Explorer". Hvis du satte sammen EV3 Explorer i henhold til skjemaet mitt (se ovenfor) og etter å ha installert RoboCam-applikasjonen ikke endret innstillingene, må du kontrollere at alt er riktig konfigurert. Flere detaljer om innstillingene vil bli skrevet nedenfor.

Så hvis du er ferdig, klikk på den midterste lilla knappen. Hvis Bluetooth er slått av på smarttelefonen, vil du se en forespørsel om å slå den på. Klikk Ja.

Da vil du se at knappen vil begynne å blinke, og i stedet for en melding vil en liste over enheter som er paret via Bluetooth vises. Velg EV3-roboten din her (på bildet er det "EV3", men du kan ha et annet navn i EV3-innstillingene).

Appen kobles deretter til EV3.

Hvis klienten på dette tidspunktet er koblet til RoboCam-serveren, vil du se styrespakene vises (rektangulære og runde styrespaker på bildet nedenfor). Etter det kan du umiddelbart kontrollere roboten.

I standardinnstillingene for EV3 Explorer vil du ha to styrespaker: runde og vertikale (se bildet over). Den vertikale joysticken styrer smarttelefonholderen, og den runde joysticken styrer robotens bevegelser. Håndflateikonet øverst til høyre bytter joystick for raskt å bytte mellom venstre- og høyrehendte kontroller. Flere detaljer om styrespaker vil bli skrevet nedenfor.

Stoppe RoboCam-serveren og deaktivere EV3

Etter at du er ferdig med å kontrollere roboten, anbefales det at du stopper RoboCam-serveren og kobler EV3 fra smarttelefonen før du lukker RoboCam-appen. Dette kan gjøres i hvilken som helst rekkefølge. For å stoppe serveren, klikk på den grønne knappen til venstre. Bakgrunnen til knappen vil da bli hvit og verktøytipset vil vise "RoboCam Server er av". For å slå av EV3, trykk på den midterste lilla knappen. Etter det vil bakgrunnen til knappen bli hvit, og på ledeteksten i den øverste linjen vil du se inskripsjonen "EV3 ikke tilkoblet". I dette tilfellet vil motorene stoppe eller gå tilbake til sin opprinnelige posisjon, avhengig av innstillingene.

For å gå til innstillinger, klikk på den grå knappen til høyre.

Innstillingene er delt inn i 2 deler: serverinnstillinger og robotinnstillinger. Først, la oss ta en titt på hva som er i serverinnstillingene. Velg "Server".

Serverinnstillingene er delt inn i 2 grupper: kamerainnstillinger og sikkerhetsinnstillinger. I kamerainnstillingene kan du velge kamera (foran eller bak), bildestørrelse og JPEG-kvalitet. Jo mindre du setter bildestørrelsen, jo jevnere og raskere vil videooverføringen til klienten være, men bildekvaliteten vil forringes. Videooverføring og JPEG-kvalitet har en lignende effekt: jo bedre JPEG-kvalitet (90 prosent eller mer), jo bedre er bildet, men jo lavere hastighet, og omvendt, jo dårligere JPEG-kvalitet (40 prosent eller mindre), jo høyere hastighet, men jo dårligere bilde. Velg det som er best for deg.

I sikkerhetsinnstillingene kan du endre førerens navn og passord (som standard er navnet "admin" og passordet er "123"). Observatører er også aktivert som standard. Observatører kan se kamerabildet parallelt med deg, men de kan ikke kontrollere roboten. Du kan også angi brukernavn og passord for observatøren (som standard er navnet "gjest" og passordet er "123"). For å deaktivere observatører, fjern merket for "Tillat observatører".

Antall sjåfører og observatører er ikke begrenset, men å koble til mer enn én driver kan forårsake konflikter mens du kontrollerer og overfører en videostrøm. Det anbefales ikke å koble mer enn én driver til RoboCam-serveren. Et stort antall tilskuere kan også påvirke videooverføring negativt. Det anbefales å redusere antallet observatører til et minimum eller deaktivere denne funksjonen helt.

Etter å ha endret innstillingene kan du lagre dem ved å klikke på "LAGRE"-knappen øverst til høyre eller avslutte uten å lagre ved å klikke på "AVBRYT"-knappen eller pilen øverst til venstre. Etter å ha lagret serverinnstillingene, kan klienter bli koblet fra og må koble til igjen.

Liste over robotinnstillinger

Den andre delen av RoboCam-programvareinnstillingene er robotinnstillingene. Klikk "Robot" for å gå til listen over robotinnstillinger.

I listen over robotinnstillinger kan du se innstillingene for alle robotene dine. Du kan legge til eller fjerne innstillinger når som helst ved å klikke på henholdsvis "LEGG TIL" eller "SLETT"-knappen øverst til høyre. Og rett under knappene kan du se gjeldende innstillinger. Dette elementet bytter mellom innstillingene for robotene dine. La oss nå ta en titt på EV3 Explorer-innstillingene. For å gjøre dette, velg EV3 Explorer fra listen.

Helt øverst er det generell informasjon: navnet på roboten og en beskrivelse. Navnet og beskrivelsen vises i en liste slik at du enkelt kan finne innstillingene du ønsker. Navnet vises også på hovedskjermen til programmet under midtknappen som du kobler til EV3 med. Nedenfor er innstillingene for styrespakene.

Totalt kan du konfigurere opptil 4 styrespaker, men samtidig vil klienten kun se ett par styrespaker 1-2 eller 3-4 på skjermen. Men hvis du bruker joystick 1 og 3, vil de fortsatt ikke være synlige samtidig, pga tilhører forskjellige par, og du vil se enten joystick 1 eller joystick 3. Synligheten til hver joystick slås på med en hake " Synlighet". Hvis du har slått på 2 par joysticker, vil en knapp vises på klientens skjerm for å bytte mellom parene.

Så i innstillingene kan du se gruppene "Joystick 1", "Joystick 2", "Joystick 3" og "Joystick 4". Hver av dem inneholder innstillinger for én joystick. La oss ta en titt på innstillingene for Joystick 1. "Synlighet"-avmerkingsboksen, som du allerede har forstått, viser eller skjuler joysticken. Hvis avkrysningsboksen ikke er merket, vil innstillingene for denne styrespaken være skjult.

Litt lavere i nedtrekkslisten " Formen»Du kan velge formen på joysticken, og sammen med formen og dens egenskaper. Følgende styrespakformer er tilgjengelige: vertikale, horisontale, runde, firkantede, piler, vertikale piler og horisontale piler. Slik ser styrespakene ut:

Den vertikale joysticken oppfatter kun høyden av å berøre den, dvs. han bryr seg ikke om du rørte ham til venstre eller høyre, det viktigste er i hvilken høyde. Berøringskoordinaten for den vil variere fra -100 på det laveste punktet til 100 på det høyeste punktet med 0 i midten.

Den horisontale joysticken fungerer på samme måte, men horisontalt. For ham spiller det ingen rolle i hvilken høyde berøringen oppstår, det viktigste er til venstre eller høyre. Her beregnes tangentkoordinaten horisontalt fra -100 ved punktet lengst til venstre til 100 ved punktet lengst til høyre med 0 i midten.

De runde og firkantede styrespakene er like. Her bestemmes berøringskoordinatene langs den horisontale og vertikale aksen, også i området fra -100 til 100 s 0 i midten. Men i en rund joystick kan ikke berøringer gå utenfor sirkelen. De. hvis tangentpunktet er utenfor sirkelen, vil punktet i skjæringspunktet mellom linjen fra tangentpunktet til sirkelens sentrum med sirkelen bli tatt. Dette kan sees tydeligere i figuren under.

Joystick-piler er ikke følsomme for kontaktpunktet, det viktigste er hvilken pil du berører. Hvis du trykker på opp-pilen, anses den vertikale posisjonen til joysticken til å være 100 og den horisontale posisjonen er 0. For ned-pilen vil den horisontale posisjonen til joysticken også være 0, og den vertikale posisjonen vil være -100. På samme måte med venstre og høyre pil: den vertikale koordinaten til joysticken vil være 0, og den horisontale koordinaten vil være henholdsvis -100 og 100.

Rett under skjemaet, velg type joystick i rullegardinlisten " Type av". Her kan du velge ett av følgende: Independent Motors, Taxi 1, Taxi 2 og Mailbox.

Joysticks med typer " Taxi 1"og" Taxi 2»Lar deg styre en robot med to uavhengige drivhjul, for eksempel EV3 Explorer. Koordinatene for berøring av slike styrespaker vil automatisk omdannes til motorkommandoer. For joysticken trenger du bare velge hvilken port som skal ha venstre og hvilken som skal ha høyre hjul. Men dette vil bli skrevet om nedenfor.

"Taxiing 1" lar deg kjøre en tohjuls robot som en bil. Her vil du ikke kunne utplassere roboten på plass. Jo nærmere berøringen er det vertikale sentrum, jo ​​lavere er hastigheten. Styring 2 lar roboten snurre på plass.

Joystick type " Uavhengige motorer»Konverterer den horisontale koordinaten til berøringen til motoriske kommandoer uavhengig av den vertikale koordinaten. For styrespaken må du spesifisere hvilken motor som skal styres ved endring av horisontal koordinat, og hvilken ved endring av vertikal koordinat. Denne typen joystick kan brukes til å styre en bil der en motor dreier rattet og den andre motoren dreier drivhjulene. I dette tilfellet må endringen i den horisontale koordinaten justeres til rotasjonen til den første motoren, og endringen i den vertikale koordinaten til rotasjonen til den andre motoren.

Joystick type " Postkasse"Vil ganske enkelt overføre berøringskoordinatene til EV3-postboksene. For at roboten din skal komme til live, må du skrive et EV3-program som behandler disse koordinatene. Med denne typen joystick kan du lage mer komplekse robotkontrollmodeller, pga Du kan implementere din egen algoritme for å konvertere koordinatene tatt fra styrespaken til motorkommandoer. Du kan for eksempel gjøre EV3 Gyrobal-kontroll. Joystick 1 overfører koordinater til postbokser kalt x og y, joystick 2 - til postbokser w og z, joystick 3 - til postbokser a og b, og joystick 4 - til postbokser c og d.

De neste to innstillingene " Slutt på berøring (for horisontal akse)"og" Slutt på berøring (for vertikal akse)»Finn ut hva som skjer når du slutter å berøre joysticken. Her kan du velge ett av to alternativer: "Gå tilbake til null" eller "Lagre posisjon". Tilbake til null er fornuftig å bruke i de fleste situasjoner, for eksempel hvis du trenger at roboten stopper når du slutter å berøre joysticken, er "Gå tilbake til null"-alternativet akkurat det rette. Alternativet for lagre posisjon er nyttig når du trenger å huske den siste berøringskoordinaten. Dette alternativet brukes for eksempel til å vippe EV3 Explorer-rammen. Denne innstillingen er tilgjengelig for alle joystick-former unntatt pil-joysticker.

Hvis du bruker styrespaktypen Independent Motors, Steering 1 eller Steering 2, nedenfor finner du portinnstillingene for den styrespaken. Porter som vil bli kontrollert av joysticken kan legges til og fjernes. For å gjøre dette er det knappene "ADD" og "DELETE". Antall porter er ikke begrenset. Den første figuren nedenfor viser innstillingene for en joystick med typen "Uavhengige motorer", og den andre figuren for en joystick med typene "Steering 1" og "Steering 2". Som du ser er det en liten forskjell.

La oss gå gjennom portinnstillingene. Omgivelser " Joystick akse"Vises kun for joystick med" Independent motors "type. Det er to alternativer her: "Horisontal" og "Vertikal". Hvis du har valgt "Horisontal", vil motoren bare reagere når berøringskoordinaten langs den horisontale aksen endres, og hvis du har valgt "Vertikal", vil den reagere på berøring langs den vertikale aksen.

Omgivelser " Motor"Vises kun for en joystick med" Steering 1 "eller" Steering 2 "type. Her velger du mellom "Venstre" og "Høyre".

Omgivelser " EV3-kloss"Vil være nødvendig hvis du har satt sammen en robot ved hjelp av flere EV3-klosser koblet sammen i en "streng". Her kan du velge et klossnummer fra 1 til 4. Hvis du bare har én EV3-kloss, skal dette alltid være 1.

Ved å stille inn " Portnummer»Du kan velge motorport fra A til D.

Omgivelser " Modifiserbar verdi"Vises kun for joystick med" Independent motors "type. Det er to alternativer her: "Motorkraft" og "Motorrotasjonsvinkel". Hvis du velger " Motor kraft", Joysticken vil påvirke motoreffekten, dvs. jo lenger du berører fra midten av joysticken, jo raskere vil motoren snurre. Hvis du velger " Motorens rotasjonsvinkel", Joysticken vil påvirke rotasjonsvinkelen til motoren, dvs. jo lenger du berører fra midten av joysticken, jo større vinkel vil motoren dreie. I dette tilfellet vil kraften til motoren justeres ved å stille inn " Makt". Jo høyere dette tallet er, jo raskere vil motoren reagere på endringer i berøringskoordinaten, og jo bedre vil den holde vinkelen.

Setter avmerkingsboksen " Inverter"Vil invertere den beregnede kraften eller vinkelen, og" Koeffisientȯk eller reduser den beregnede verdien.

Når du merker av for " Å bremse", Motorene vil stoppe raskt, dvs. vil bremse. Når denne avkrysningsboksen ikke er merket, vil motorene snurre i noen tid ved treghet til de stopper helt.

Her er alle innstillingene som er i RoboCam-programmet. Hvis noe ikke er klart, skriv i kommentarfeltet.

Koble til uten ruter

Nå, her er noen triks som kan gjøre bruken av RoboCam-appen litt mer praktisk. Hvis det ikke er noen ruter i nærheten, for eksempel hvis du er på gaten, kan du opprette en forbindelse mellom smarttelefon 1 og smarttelefon eller nettbrett 2 direkte. For å gjøre dette må du slå på hotspot på smarttelefon 1 (hotspot i Android-systemet er vanligvis slått på ine). Etter å ha slått på vil smarttelefon 1 bli til en W-Fi-ruter og du kan enkelt koble til et nettbrett eller smarttelefon 2. Slik vil tilkoblingen se skjematisk ut.

Du kan finne ut RoboCam-serveradressen på samme måte fra knappespissen. I de fleste tilfeller, for et slikt tilgangspunkt, vil adressen alltid være http://192.168.43.1:8088.

Bruke smarttelefon 1 som joystick

Det er ett triks til du kan gjøre med RoboCam-appen. På smarttelefon 1 (som du har installert RoboCam-applikasjonen), start serveren, koble til roboten, og start deretter en nettleser på samme smarttelefon (selvfølgelig en som støtter HTML5) og gå til http: // localhost: 8088. Du vil se en side for å angi brukernavn og passord. Logg inn som sjåfør. Etter å ha kommet inn, vil du se joysticks og vil kunne kontrollere roboten. Men i dette tilfellet vil ikke bildet fra kameraet bli overført. Wi-Fi kan slås av.

Utfall

Forhåpentligvis har jeg gitt nok informasjon om hvordan du kan bruke RoboCam-appen. Hvis du har spørsmål om programmet eller har forslag, kan du legge igjen dem i kommentarene til denne artikkelen eller i fellesskapet

Byggeroboter er den perfekte muligheten til å kombinere lek og læring av grunnleggende programmeringsferdigheter. Det er derfor de er så populære over hele verden.

De skiller seg ikke bare fra produsenter, men også av metoder og muligheter for programmering, typer festemidler, samt materialer.

De fleste av de forenklede (for nybegynnere) og roboter kommer med spesiell programvare som lar deg enkelt angi kommandoer til kreasjonen din. I mer avanserte modeller må du først lære C-baserte språk.

Lego mindstorms

Konstruktøren er tilgjengelig i to typer:

  • barn;
  • avansert.

Barnehagen inneholder kun noen få motorer, lyspærer, samt instruksjoner med mulige monteringsmuligheter. Men med LEGO er bruksanvisningen ofte ikke lenger nødvendig etter den første monteringen, og fantasien spiller inn.

Det er verdt å merke seg at selv om programmering av disse robotene er mulig, er det ingen kontrollenheter i dette settet, noe som betyr at roboten alltid vil være koblet til datamaskinen ved hjelp av en USB-kabel.

Et avansert sett åpner for mye mer rom for fantasi. Den finnes i flere varianter og generasjoner (for øyeblikket er det tre generasjoner). De er forskjellige i antall deler, tilstedeværelsen av ytterligere mikrodatamaskiner, samt forskjellige sensorer og andre enheter. Mikrodatamaskiner i denne serien er utstyrt med Linux-operativsystemet. Disse ordningene støtter ikke bare spesielle programmeringsspråk, men også C ++, C og til og med Python.

For å gjøre det enklere å omprogrammere roboten, kan du bruke det offisielle programmet fra LEGO, som lar deg tilpasse elementene ved hjelp av et intuitivt grensesnitt.

Lego har vært ledende innen konstruksjonsroboter i over ti år. Det arrangeres konkurranser om kreasjon, hvor hovedpremien oftest er en budsjettplass ved et prestisjefylt universitet.

LEGO Mindstorms - ett av 17 byggealternativer

HUNA

Det er et relativt nytt merke, opprinnelig fra Sør-Korea, som gradvis vinner popularitet blant unge kybernetikere. Det finnes to typer HUNA-sett. Deres grunnleggende forskjell ligger i det faktum at i det ene tilfellet er delene laget av plast, og i det andre er de laget av metall. Men samtidig kan de kombineres, siden de har et felles prinsipp om å koble sammen deler.

Du kan finne ut mer om fascinerende metallkonstruksjonssett for gutter.

HUNA plastsett er designet for barn fra seks år, siden de ikke engang krever kunnskap om det grunnleggende innen programmering.

«Hjernen» til jernsettene er Arduino-kontrolleren, som allerede har en spesiell firmware. Programmeringsmiljøet her er et vanlig C-formet språk for Arduino, men for større bekvemmelighet ble det visualisert.

På grunn av Arduino, så vel som mer avanserte systemer, er disse settene spesialiserte for et publikum over femten år. Det vil si de som allerede har vokst ut av Mindstorms.

Makeblock

Den neste konstruktøren på listen vår er den kinesiske Makeblock. Som i forrige tilfelle brukes Arduino-elektronikk her. Antallet sett som selges på den offisielle nettsiden er rett og slett enormt. Du kan finne både billige sett med vanlige maskiner, og ganske seriøse sett som lar deg lage en 3D-printer med egne hender.

Alle deler av Makeblock er laget av aluminium, som er elektrostatisk lakkert (ligner på biler). Dermed er sannsynligheten for at detaljene over tid vil se stygge ut til null.

Av de interessante modellene bør det bemerkes de som utfører tegninger, blant dem:

  • mScara- en robotarm, som du kan sette en laser på i stedet for en markør;
  • mSpider- han tegner i vertikale plan, som en edderkopp som beveger seg på strenger;
  • mCar- en maskin som tegner med en markør der den kjører.

Også for disse robotene er det spesiell programvare som lar deg lage en tegning av enhver kompleksitet. For å gjøre dette, last det bare inn i grafikkredigeringsprogrammet til programmet.

# Konstruktør

Dette byggesettet er laget i Russland og skiller seg fra andre ved at delene er laget av skummet PVC. Tykkelsen deres er fem millimeter, noe som gjør det mulig å lage små, men ganske sterke strukturer.

Og det faktum at PVC er et mykt materiale lar oss løse det evige problemet med designere - detaljene er ikke det du vil se. I dette tilfellet løses alt med en vanlig kontorkniv eller skalpell.

Fordeler med PVC:

  • lave kostnader;
  • enkel behandling - du trenger bare å bevæpne deg med en kniv, blyant og linjal;
  • høy styrke;
  • motstand mot fuktighet;
  • brannsikkerhet - antennelsestemperaturen til PVC-ark overstiger 400 grader Celsius.

Produsenter foreslår å løse lav strukturell styrke på to måter. Den første er å bare lime delene sammen. Det spesielle limet "Cosmofen" er best egnet for slike formål. Den andre måten er å kombinere #Structor med sovjetisk (eller lignende) jernkonstruktør.

# Structor fra "Amperka"

Selv om detaljene fra en slik behandling ikke vil vare lenge, kan du alltid kjøpe et plastark og kutte ut nye. Deltegninger er fritt tilgjengelig, og ingen utelukket fantasi.

Administrere elementer # Structor er gjort på Arduino. Og takket være allsidigheten til materialet som elementene til konstruktøren er laget av, kan enhver sensor, servodrift eller motor enkelt integreres i designet.

Vex

Selskapet er hovedsakelig kjent for sine vibro-roboter. Men få er klar over at den også lager komplette robotsett. Settene er beregnet på barn fra ti år. Men takket være det brede utvalget av produkter kan de også brukes på skoler eller universiteter.

Hvis en vare mangler, kan du alltid kjøpe den separat. Produsentens nettsted har mange forskjellige sensorer, motorer og andre elementer fra konstruktøren. I tillegg, ved å kjøpe flere deler, kan du øke kompleksiteten til produktene.

Bare i settene til det koreanske selskapet Vex er det girkasser eller Elon-hjul.

Programmering foregår i ett av flere miljøer. Det er tre onsdager totalt. Den første er en skjerm der blokker ganske enkelt dras i stedet for å skrive kommandoer. Den andre er de klassiske flytskjemaene, som i informatikktimer. Det tredje miljøet er veldig likt LEGO-programvaren - de samme dra og slipp-blokkene med kommandoer og verdier.

VEX Assembler-programvaren er også en bemerkelsesverdig funksjon. Dette er en 3D-editor der du kan designe og teste roboten din før du begynner å bygge den live.

VEX Robotics av ​​HEXBUG

FischerTechnik

Sett med konstruktører er produsert av et tysk selskap. ROBOTICS-linjen, som åpner en verden av roboter for barn, har seks sett. De foreslår alle å lage flere roboter som utfører visse funksjoner. Som med alle konstruktører, begynner moroa i det øyeblikket du har prøvd alle instruksjonene.

For at det ikke skal være mangel på deler og elektroniske komponenter, kan du kjøpe utvidelsessett, fjernkontroll og mye mer separat.

Kontrollere som selges separat fortjener spesiell oppmerksomhet. Selv om kostnadene deres er sammenlignbare med kostnadene for et helt sett, dekker grensene de åpner enkelt dette faktum.

Det er to typer kontroller kommersielt tilgjengelig:

  • Robo TX;
  • Robo TXT.

Den høye prisen for dem skyldes at dette ikke bare er kontrollere, men ekte mikrodatamaskiner med støtte for Wi-Fi, Bluetooth og ganske kraftig "stuffing" for sin lille størrelse. For å forbedre ytelsen kan disse kontrollerene kombineres til ett nettverk.

Programmering foregår på det gratis Robo Pro-programmet. Alle kommandoer er satt ved hjelp av logiske blokker, som lar deg lære barnet det grunnleggende om programmering på en leken måte.

TRIKS

Designeren ble født i Russland. Produsentene bestemte seg for å hjelpe elskere av robotikk som bruker sovjetiske metallkonstruktører. Derfor har alle deler hull med samme ti millimeter som jernkonstruktørene.
Dette byggesettet er nytt på markedet, men har allerede etablert seg som allsidig og veldig praktisk.

Det er for tiden fire typer sett:

  • starter;
  • pedagogisk;
  • skole;
  • konkurransedyktig.

Deres forskjell er i antall deler og elektronikk. I alle settene finner du en mikrokontroller, mikrofon og videokamera eller sensorer, lysdioder og hjul.

TRIK-mikrokontrolleren kjører på Linux og har en 24 MHz prosessor og hele 256 MB RAM ombord. Den kan også utvides med et Flash-kort.

TRIX monteringssett

Skaperne av denne konstruktøren bestemte seg for ikke å binde kontrolleren til ett programmeringsmiljø. Derfor støtter den C, C ++, Python og til og med Java. For de som bare skal lære programmering, er det et spesielt programmeringsmiljø designet for TRIK-kontrolleren.

Siden kontrolleren støtter mange kommandoer, finnes det en applikasjon for Android-smarttelefoner for enkel betjening. Kommandoer overføres ved hjelp av Wi-Fi.

MOSE


Det amerikanske selskapet som oppfant MOSS tok en ukonvensjonell vei - det ga opp ledninger.
I stedet bruker de kubiske deler som har fargede kanter. Hensikten deres er som følger:

  1. Grønn - overføring av strøm fra batteriet.
  2. Rød - datainndata.
  3. Brune kanter - datautgang.
  4. Blå - Disse kantene bærer både strøm og data. De er nødvendige for å koble sammen deler ved hjelp av et fleksibelt element.

Ja, designet er ganske komplisert, men hvis du finner ut av det, vil fantasien til å lage roboter ikke lenger stoppes. Og for å forstå hva som er essensen av det, kanskje et barn på 8 år, som designeren er designet for. Modulene er koblet til hverandre ved hjelp av metallkuler festet til magneter. Disse magnetene er plassert i hjørnene av modulene.

Robo Wunderkind av MOSS

Mikrokontrollere kan programmeres ved hjelp av to programmer. Den første er en gjengiver med tilleggsparametere. Den passer for de som ikke er så gode på C-kode.

Det andre programmet er rettet mot de som er godt kjent med det. Den kompilerer koden din og overfører den til kontrolleren. Begge disse programmene fungerer på Windows og Mac OS, men støttes ikke på Linux.

For fjernstyring av MOSS-roboten finnes det flere programmer for mobile enheter samtidig. Dette er kontrollpaneler, eksport av data fra sensorer, tegning av grafer og mye mer. Alle programmer er tilgjengelige for iOS og noen for Android.

For førskolebarn kan du for eksempel velge et monteringssett uten en elektrisk komponent.

Det er verdt å merke seg at anmeldelsen ikke tok hensyn til designerne verdt over hundre tusen rubler, så vel som de som krever noen form for lodding.

MECCANO-robot styrt av smarttelefon eller nettbrett

Video

Denne videoen vil fortelle deg i detalj om programmerbare roboter: hva de er og hvilken som er bedre å velge.

For å velge en konstruktør må du bestemme hvem den er for:

  • LEGO Mindstorms er best for et barn som er interessert i roboter. Og siden de fleste barn har en omfattende LEGO-samling, vil barnets fantasi være ubegrenset.
  • Hvis du leter etter en konstruktør for deg selv, bør du ta hensyn til TRIK eller #Structor, siden de begge er kompatible med den sovjetiske jernkonstruktøren, og den andre er dessuten laget av PVC.
  • Men på en eller annen måte vil disse konstruktørene i stor grad forbedre barnets evne til å tenke logisk, og også forberede ham på det som venter ham på skolen eller instituttet.

Det vil ikke være overflødig, før du kjøper, å studere i detalj hvert monteringssett du liker. Og tenk også på å sende barnet til radioamatørklubben, hvis han liker dette emnet.

Den viktigste Lego Mindstorms EV3-byggeklossen kan fungere med leJOS-fastvare, som lar deg kjøre Java-applikasjoner. For dette formålet har Oracle gitt ut og vedlikeholder en egen versjon av hele Java SE.

Den vanlige JVM tillot meg å bruke den innebygde Java Management Extensions (JMX)-protokollen for å implementere fjernkontroll av robotarmen. For å kombinere kontrollelementer, sensoravlesninger og bilder fra IP-kameraer installert på roboten, brukes et mnemonisk diagram laget på AggreGate-plattformen.


Selve roboten består av to hoveddeler: et chassis og en manipulatorarm. De styres av to helt uavhengige EV3-datamaskiner, og all koordinering gjøres gjennom administrasjonsserveren. Det er ingen direkte forbindelse mellom datamaskiner.

Begge datamaskinene er koblet til rommets IP-nettverk via NETGEAR WNA1100 Wi-Fi-adaptere. Roboten styres av åtte Mindstorms-motorer - 4 av dem er "store" og 4 er "små". Det er også installert infrarøde og ultralydsensorer for automatisk stopp ved en hindring ved rygging, to berøringssensorer for å stoppe manipulatorrotasjonen på grunn av en hindring, og en gyrosensor som letter operatørens orientering ved å visualisere skulderens posisjon.

Chassiset har to motorer, som hver overfører kraft til et par beltedrev. En annen motor roterer hele armen 360 grader.

I selve manipulatoren er to motorer ansvarlige for å heve og senke "skulderen" og "underarmen". Ytterligere tre motorer er i gang med å heve / senke hånden, rotere den 360 grader og klemme / frigjøre "fingrene".

Den vanskeligste mekaniske enheten er "børsten". På grunn av behovet for å flytte tre tunge motorer til albueområdet, viste designet seg å være ganske vanskelig.

Generelt ser alt slik ut (en eske med fyrstikker ble knapt funnet for skalaen):

To kameraer er installert for å overføre bildet:

  • En vanlig Android-smarttelefon med IP Webcam-applikasjonen installert for en generell oversikt (HTC One på bildet)
  • Autonomt Wi-Fi AI-Ball mikrokamera, montert direkte på manipulatorens "håndledd" og hjelper til med å gripe gjenstander med komplekse former

EV3 programmering

Programvaren til selve roboten viste seg å være så enkel som mulig. Programmene til de to datamaskinene er veldig like, de starter JMX-serveren, registrerer MBeans som tilsvarer motorene og sensorene, og sover i påvente av JMX-operasjoner.

Koden til hovedprogramvareklassene til manipulatorarmen

public class Arm (public static void main (String args) (prøv (EV3Helper.printOnLCD ("Starting ..."); EV3Helper.startJMXServer ("192.168.1.8", 9000); MBeanServer mbs = ManagementFactory.getPlatformMBeanRegulatedServer (); motor = ny EV3LargeRegulatedMotor (BrickFinder.getDefault (). getPort ("A")); LargeMotorMXBean m = ny LargeMotorController (motor); Objektnavn n = nytt Objektnavn ("robot: navn = MotorA"); mbs.registerMBean (m, n ); // Registrerer andre motorer her EV3TouchSensor touchSensor = ny EV3TouchSensor (SensorPort.S1); TouchSensorMXBean tos = new TouchSensorController (touchSensor); n = new ObjectName ("robot: navn = Sensor1"); mbs.registerMBean (tos, n) ; // Registrerer andre sensorer her EV3Helper.printOnLCD ("Running"); Sound.beepSequenceUp (); Thread.sleep (Integer.MAX_VALUE);) catch (Throwable e) (e.printStackTrace ();))) public class EV3Helper (statisk void startJMXServer (strengadresse, int port) (MBeanServer server = ManagementFactory.getPlatf ormMBeanServer (); prøv (java.rmi.registry.LocateRegistry.createRegistry (port); JMXServiceURL url = new JMXServiceURL ("tjeneste: jmx: rmi: /// jndi / rmi: //" + adresse + ":" + String.valueOf (port ) + "/ server"); Kart rekvisitter = nytt HashMap (); props.put ("com.sun.management.jmxremote.authenticate", "false"); props.put ("com.sun.management.jmxremote.ssl", "false"); JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer (url, rekvisitter, server); connectorServer.start (); ) catch (Unntak e) (e.printStackTrace ();)) statisk tomrom printOnLCD (String s) (LCD.clear (); LCD.drawString (s, 0, 4);))

For hver type sensor og motor er det laget et MBean-grensesnitt og en implementeringsklasse som direkte delegerer alle kall til leJOS API-klassen.

Eksempel på grensesnittkode

offentlig grensesnitt LargeMotorMXBean (offentlig abstrakt void forward (); offentlig abstrakt boolean suspendRegulation (); offentlig abstrakt int getTachoCount (); offentlig abstrakt float getPosition (); offentlig abstrakt void flt (); offentlig abstrakt void flt (boolean immediateReturn); offentlig abstrakt void stop (boolean immediateReturn); offentlig abstrakt boolean isMoving (); offentlig abstrakt void waitComplete (); offentlig abstrakt void rotateTo (int limitAngle, boolean immediateReturn); offentlig abstrakt void setAcceleration (int akselerasjon); offentlig abstrakt int getAcceleration (); offentlig abstrakt int getLimitAngle (); offentlig abstrakt void resetTachoCount (); offentlig abstrakt void rotere (int angle, boolean immediateReturn); offentlig abstrakt void rotate (int vinkel); offentlig abstrakt void rotateTo (int limitAngle); offentlig abstrakt boolean isStalled (); offentlig abstrakt void setStallThreshold (int error, int tid); offentlig abstrakt int getRotationSpeed ​​​​(); offentlig abstrakt float getMaxSpeed ​​​​(); offentlig abstrakt void bakover (); offentlig abstrakt void stop (); offentlig abstrakt int getSpeed ​​​​(); offentlig abstrakt void setSpeed ​​​​(int speed); )

Eksempel på MBean-implementeringskode "a

offentlig klasse LargeMotorController implementerer LargeMotorMXBean (endelig EV3LargeRegulatedMotor-motor; offentlig LargeMotorController (EV3LargeRegulatedMotor-motor) (this.motor = motor;) @Override public void forward () (motor.forward ();) @Override public boolean suspendurmotorRegulation () (return.) ();) @Override public int getTachoCount () (return motor.getTachoCount ();) @Override public float getPosition () (return motor.getPosition ();) @Override public void flt () (motor.flt () ; ) @Override public void flt (boolean immediateReturn) (motor.flt (immediateReturn);) // Lignende delegeringsmetoder hoppet over)

Merkelig nok avsluttet dette programmeringen. Ikke en eneste linje med kode ble skrevet på serversiden og operatørens arbeidsstasjon.

Servertilkobling

Roboten styres direkte av AggreGate IoT-plattformserveren. Den installerte gratisversjonen av AggreGate Network Manager-produktet inkluderer en JMX-protokolldriver og tillater tilkobling av opptil ti JMX-verter. Vi må koble til to – én for hver EV3-kloss.

Først av alt må du opprette en JMX-enhetskonto ved å spesifisere URL-en som er spesifisert når du starter JMX-serveren i innstillingene:

JMX-enhetstilkoblingsegenskaper


Deretter velger du aktivaene (dvs. MBeans i dette tilfellet) som skal legges til enhetsprofilen:

Velger MBeans


Og etter noen sekunder ser og endrer vi gjeldende verdier for alle de spurte MBean-egenskapene:

Øyeblikksbilde av enheten


Du kan også teste ulike operasjoner ved manuelt å kalle MBeans' metoder som forover () og stopp ().

Liste over operasjoner


Deretter setter vi opp pollingperiodene for sensorene. Det benyttes høy pollingrate (100 ganger i sekundet), siden kontrollserveren er lokalisert i det lokale nettverket sammen med roboten og det er serveren som tar beslutninger om å stoppe rotasjon når den treffer en hindring osv. Løsningen er selvfølgelig ikke industriell, men i et velfungerende Wi-Fi-nettverk i samme leilighet viste det seg å være ganske tilstrekkelig.

Avstemningsperioder


Operatørgrensesnitt

La oss nå gå videre til å lage operatørgrensesnittet. For å gjøre dette må du først opprette en ny widget og legge til de nødvendige komponentene til den. I den endelige fungerende versjonen ser det slik ut:

Faktisk består hele grensesnittet av flere paneler med knapper, skyveknapper og indikatorer, gruppert i ulike rutenettoppsett, og to store videospillere som sender bilder fra kameraer.

Inne i grensesnittredigereren

Hele skjemaet:

Vis med containerpanelene vist:


Nå, som prosesskontrollsystemene sier, gjenstår det å "gjenopplive mnemonikkdiagrammet". For dette, den såkalte bindinger bindingsegenskaper og metoder for grafiske grensesnittkomponenter med egenskaper og metoder for serverobjekter. Siden EV3-datamaskiner allerede er koblet til serveren, kan serverobjektene også være MBeans til roboten vår.

Hele operatørgrensesnittet inneholder omtrent 120 bindinger, hvorav de fleste er av samme type:

Halvparten av bindingene av samme type implementerer kontroll ved hjelp av klikk på knappene som er plassert på mnemonikkdiagrammet. Dette er vakkert, praktisk for testing, men helt uegnet for den virkelige bevegelsen til roboten og bevegelsen av laster. Bindinger fra denne gruppen utløses av hendelser musetrykket og mus utgitt forskjellige knapper.

Den andre halvdelen av bindingene lar deg styre roboten fra tastaturet ved først å trykke på tastaturkontrollknappen. Disse bindingene reagerer på hendelser tast Trykket og nøkkel frigitt, og i tilstanden til hver binding er det stavet ut hvilken kode på knappen du må reagere på.

Alle kontrollbindinger kaller metoder frem (), bakover () og Stoppe () forskjellige MBeans Siden hendelser leveres asynkront, er det viktig at funksjonen kaller frem ()/bakover () og påfølgende samtaler Stoppe () ikke rotet til. For å gjøre dette, legges bindingene som kaller metodene til én MBean til den samme køen.

To separate grupper av bindinger setter starthastighetene og akselerasjonene til motorene (nå er dette implementert på serversiden ved å bruke modellen, så disse bindingene er deaktivert) og endrer hastighetene / akselerasjonene når du flytter glidebryterne for hastighet og akselerasjon.