Inhoudsopgave:

Stapsgewijze opleiding in robotica met een kit - Ajarnpa
Stapsgewijze opleiding in robotica met een kit - Ajarnpa

Video: Stapsgewijze opleiding in robotica met een kit - Ajarnpa

Video: Stapsgewijze opleiding in robotica met een kit - Ajarnpa
Video: Dit bevat de Universal Robots Education Kit! 2024, Juli-
Anonim
Stap-voor-stap onderwijs in robotica met een kit
Stap-voor-stap onderwijs in robotica met een kit

Na een flink aantal maanden van het bouwen van mijn eigen robot (raadpleeg al deze), en na twee keer dat onderdelen faalden, besloot ik een stap terug te doen en mijn strategie en richting te heroverwegen.

De ervaring van enkele maanden was soms zeer lonend, en vaak zeer frustrerend, zeer moeilijk, zeer teleurstellend. Vaak leek het twee stappen vooruit, één stap terug.

En ik denk dat dat komt door een combinatie van verschillende dingen.

Mijn doel was om een "echte" robot te bouwen - geen speelgoed. Een grote, krachtige robot, met robuuste onderdelen en veel beschikbare batterij-energie, die (de hele dag?) kon draaien en ook autonoom kon zijn. Dat het veilig door mijn hele appartement zou kunnen navigeren zonder (zelf of iemand / iets) schade aan te richten.

Terwijl ik heel langzaam vooruitgang boekte, was de hoeveelheid onderzoek, vallen en opstaan, probeer dit, probeer dat, erg tijdrovend en kostte veel mentale / emotionele energie.

Nadat dezelfde onderdelen twee keer kapot zijn gegaan, zou het waanzin zijn om ze gewoon opnieuw te vervangen en door te gaan.

Het was met pijn in het hart dat ik ervoor koos om het huidige "Wallace"-project terug op de plank te laten vallen, vooral omdat ik zo dicht bij het integreren van een IMU in de besturingssoftware van de robots was.

Dus wat nu te doen?

Het gebeurde zo dat ik tijdens de laatste week van mijn "doe-het-zelf" robot-project, op het werk een online software cursus volgde. De cursus is niet relevant - wat indruk op me maakte, was hoe goed het was. De instructeur leidde de kijker praktisch bij de hand, stap voor stap, en je kon de video volgen, de video pauzeren, het programmeerprobleem oplossen (slechts een klein stukje per keer) en dan kijken hoe je oplossing overeenkwam met die van de instructeur.

En - nog beter - de hele serie draait om een echt softwareproject, dat eigenlijk gemakkelijk bruikbaar is voor zakelijke website-behoeften in de echte wereld.

Het was zo de moeite waard, dus NIET stressvol, om je niet af te hoeven vragen "wat moet ik nu leren? Hoe zou ik 'X' gaan doen / leren "?

Dus, tussen wat er op het werk gebeurde, en de onderdelen die thuis faalden en dat ik zo uitgeput was door de hoeveelheid inspanning, dat ik iets wenste dat leek op de online cursus die ik voor mijn werk volgde - maar dan om robotica te leren.

Wat ik NIET wilde, is de laatste paar maanden herhalen. Ik wilde niet nog een robotkit kopen en dan nog wat rondscharrelen om het te laten doen wat ik wil dat het doet. En ik wilde ook geen volledig gebouwde, kant-en-klare oplossing, want wat zou ik dan leren? Ik heb de "assemble-your-first-robot" al gedaan.

Stap 1: Robotica is …

Het probleem met het echt leren van robotica is dat er zoveel bij komt kijken. Het is de kruising van ten minste (zo niet meer) deze:

  • machinebouw
  • elektrische / elektronische techniek
  • software-engineering

Elk van het bovenstaande kan verder worden uitgewerkt (wat ik hier niet zal doen). Het punt is: er valt VEEL te leren.

Ik besloot voor een tweeledige benadering te gaan, en dus dit "Instructable", voor jou, de lezer, om te overwegen. Ik besloot om in twee verschillende maar complementaire richtingen tegelijk aan te pakken of te starten.

  • Review / Verbeteren Aan / Leren / Uitbreiden DC- en AC-circuitanalyse
  • Zoek een cursus / programma dat een combinatie is van theorie / lezing en hands-on, en draait om een robotkit.

Stap 2: DC- en AC-elektrotechniek

De reden dat ik tijd wil besteden aan het leren en beoordelen van dit gebied, is omdat de robotonderdelen hoogstwaarschijnlijk faalden vanwege mijn gebrek aan goede circuitbeveiligingen in bepaalde gebieden. Als je de robotgerelateerde Instructables bekijkt, vind ik ze nog steeds erg goed en nuttig, zelfs nu. Slechts een bepaald deel van de onderdelen faalde, en pas na enige tijd.

Om specifiek te zijn, de robot bevatte een oppervlak op het hoogste niveau waarop zich bevond wat ik "ondersteunende schakelingen" noem. Dit zijn de GPIO-poortuitbreiding en sensorgerelateerde circuits, breakout-boards, chips, stroomverdeling en bekabeling die nodig zijn om allerlei soorten sensoren te bewaken en aan te sturen, zodat de robot veilig en autonoom is.

Het waren maar een paar van die onderdelen die faalden - maar ze faalden.

Ik heb naar een technisch forum geschreven en kreeg wel antwoorden. Het was de hoeveelheid details en het niveau van de antwoorden die me echt raakten dat ik gewoon niet voorbereid ben op het robotniveau dat ik in gedachten heb.

Er is een wereld van verschil tussen een kleine robotkit met twee goedkope motoren, misschien een 2/3 Amp motorcontroller, misschien een paar sensoren, die je in één hand kunt dragen -- en een die meer dan 20 lbs weegt en heeft zeer krachtige 20A-motoren en meer dan 15 sensoren, die echte schade kunnen aanrichten als er iets misgaat.

Het was dus tijd om nog eens naar DC- en AC-elektronica te kijken. En ik vond deze site:

dvd bijles wiskunde. Ik vond de titel een beetje hokey en verouderd. Ik heb al jaren geen cd of dvd meer gezien. Rechts?

Maar ik heb er wel naar gekeken. En uiteindelijk heb ik me geabonneerd en nu kan ik de hele dag video's streamen als ik dat wil. Alles voor $ 20 USD per maand. Tot nu toe heb ik deel 1 behandeld.

Denk aan in een klas zitten met een professor vooraan, met een whiteboard, onderwerpen introduceren, uitwerken, en dan is het oefenen, oefenen, oefenen. En dat is wat deze site is.

We moesten uiteindelijk matrixalgebra raken omdat de circuits te veel gelijktijdige vergelijkingen hadden met hetzelfde aantal onbekenden. Maar dat is oke. Hij gaat net genoeg over de algebra om door de problemen heen te komen. Als de student meer wil, zijn er ook aparte vakken wiskunde natuurkunde. Het is tot nu toe een heel goed programma.

Ik hoop dat ik tegen de tijd dat ik deze cursussen heb gevolgd, de antwoorden zal hebben op mijn problemen met mijn defecte onderdelen, en klaar zal zijn voor toekomstige robotica op het gebied van elektronica.

Stap 3: Robotica-training en -project

Maar hier is het beste deel. De vorige stap kan misschien een beetje droog zijn en niet lonend. (Hoewel, als je eenmaal voorbij een bepaald punt bent, je ZAL in staat zijn om je eigen onderdelen te kiezen, je eigen circuit te ontwerpen en te bouwen wat je maar wilt. Stel dat je (voor de lol) een radiozender en een ontvanger wilde bouwen. Stel dat je dat wilde met je eigen keuze van frequentie en protocol. Je zou weten hoe je je eigen circuits moet ontwerpen.)

Tegelijkertijd is er nog iets anders te doen: een cursus robotica. Een echte robotica cursus.

(Als je alleen wilt dat het microcontrollerbord je eigen ding doet (ik ben een reeks Instructables aan het samenstellen die nuttig kunnen zijn), is het MSP432-ontwikkelbord zelf relatief goedkoop rond de $ 27 USD. Je kunt dit navragen bij Amazon, Digikey, Newark, Element14 of Mouser.)

Toevallig heeft Texas Instruments onlangs zo'n uitgebreide cursus gemaakt. De TI Robotics Systems leerkit. Laat je alsjeblieft niet voor de gek houden door het gedeelte "kit". Dit is veel meer dan alleen een "bouw nog een kleine robotkit". Kijk eens serieus naar die link.

Het kostte me $ 200 USD voor een complete set. Je kunt ook de bijgevoegde video bekijken die ik voor deze stap heb geplaatst.

Bekijk al deze leermodules:

  • Beginnen
  • Module 1 - Code uitvoeren op de LaunchPad met behulp van CCS (mijn observaties van Lab 1)
  • Module 2 - Spanning, stroom en vermogen (signaalgenerator en capaciteit Instructables uitgewerkt vanuit Lab 2)
  • Module 3 - ARM Cortex M (hier zijn Lab 3-notities Instructable - montage vergelijken met "C")
  • Module 4 - Softwareontwerp met MSP432 (video van Lab 4-notities, video #2 van Lab 4)
  • Module 5 - Batterij- en spanningsregeling
  • Module 6 - GPIO (bekijk een Lab 6 Instructable Part 1, Part 2 en Part 3 maar met de nadruk op assemblageprogrammering)
  • Module 7 - Eindige-toestandsmachines (Lab 7, deel 1 montage)
  • Module 8 - Interface voor invoer en uitvoer
  • Module 9 - SysTick-timer
  • Module 10 - Foutopsporing in realtime systemen
  • Module 11 - LCD-scherm
  • Module 12 - DC-motoren
  • Module 13 - Timers
  • Module 14 - Realtime systemen
  • Module 15 - Data-acquisitiesystemen
  • Module 16 - Toerenteller
  • Module 17 - Besturingssystemen
  • Module 18 - Seriële communicatie
  • Module 19 - Bluetooth Low Energy
  • Module 20 - Wifi
  • Uitdagingen aangaan

Deze video van TI kan veel beter zeggen wat ik wilde uitdrukken dan ik kan.

Stap 4: Gebruik het robotica-curriculum als uitgangspunt

Hoewel het niet gemakkelijk is, of niet zoals voorgeschreven, zou je de lezingen, labo's, activiteiten, enz. die het curriculum biedt, kunnen uitbreiden.

Ik heb bijvoorbeeld een aantal andere Instructables aan deze gekoppeld (zie de vorige stap met een lijst van alle leermodules) waar ik probeerde uit te breiden door meer te doen met de elektronica (condensatoren), of probeerde de code in assembly te schrijven in naast het schrijven in C.

Hoe meer u bekend bent met assemblageprogrammering, hoe beter u een taalprogrammeur op een hoger niveau kunt zijn; de betere keuzes die je maakt in projecten.

Stap 5: Arduino versus MSP432 (werk in uitvoering)

Ik wist het toen niet echt met zekerheid, maar ik had die indruk… hier is een fragment uit een artikel dat het beter kan uitdrukken dan ik:

Verschillen tussen Arduino en MSP432401R: Nu zullen we zien waarom we MSP432 hebben gekozen in plaats van de veel populaire Arduino. Arduino is misschien vrij eenvoudig te programmeren en te prototypen vanwege alle beschikbare API's, maar als het gaat om een betere controle van hardware, heeft MSP432 het voordeel. Met behulp van CCS hebben we niet alleen toegang tot de adresruimte van MSP432, maar ook wij kan de waarden van verschillende registers wijzigen die op de juiste manier verschillende instellingen beïnvloeden. Arduino is niet alleen een microcontroller, het is vrijwel als een wikkel rond een microcontroller. Arduino is als een gekookte taart, terwijl MSP432 als een rauwe sinaasappel is die we zelf moeten koken. Hopelijk verduidelijkt dit de verschillende toepassingen van beide. Voor de beginfase kan Arduino worden gebruikt, maar wanneer de prestaties kritiek worden, werkt TI MSP432 veel beter vanwege de controle over de hardware.

Dat fragment komt hier vandaan.

Stap 6: Raspberry Pi 3 B versus MSP432 (werk in uitvoering)

De vergelijking is niet echt eerlijk, aangezien de Pi echt een microcomputer is en de MSP een microcontroller.

Echter, met de T. I. Robotics Kit-cursus, het wordt gebruikt als het brein voor een robot.

Het is duidelijk dat de Pi veel meer geheugen heeft.

De Pi, lopende voorraad Raspbian, is geen realtime besturingssysteem. Dit nadeel kan een rol gaan spelen als u geïnteresseerd bent in nauwkeurige metingen (timing) van een sensor.

De MSP op het ontwikkelbord bevat twee LED's voor algemeen gebruik (minstens één, misschien beide, zijn RGB), en het bord bevat ook twee tijdelijke drukknopschakelaars voor algemeen gebruik.

Aanbevolen: