Upp och upp - Robot balansera Revisited (3 / 6 steg)

Steg 3: programvara

Jag delat robot skissen i 4 filer, främst till stöd i koden läsbarhet. Filerna och allmänt innehåll är:

  • SimpleRobot.h: Header-fil som innehåller #defines, klassdefinitioner och funktion prototyper
  • SimpleRobot.cpp: C++ fil som innehåller PID och motorisk kontroll klass funktioner.
  • Bluetooth.ino: Kod genomföra Bluetooth-kommunikation med Android App.
  • SRG2_Bal_Final.ino: Main sketch för robot.

Koden refererar Arduino.h, CurieIMU.h och MadgwickAHRS.h, så måste du ha installerat de nödvändiga bibliotek för Arduino 101 för det kompilera.

Jag kommer inte gå igenom en full koden promenad igenom, eftersom koden är ganska väl kommenterade, men kommer att göra några allmänna kommentarer:

  • Skissen använder både en Madgwick och kompletterande filter för sensor fusion för prestanda jämförelser – yaw kommer från Madgwick, och pitch kommer från det kompletterande filtret.
  • Encoder information loggas med en ISR (avbrottstjänstens rutin) separat för varje motor. Robot hastighet använder ett genomsnitt av två, så en spinning robot kommer att registrera nära 0 hastighet.
  • En enkel dataloggning genomförandet ingår, även om begränsad Arduino 101 minnet resulterar i en ganska liten mängd data. Datafångst startas genom en instruktion från Android app, och data capture intervallet styrs genom ett #define uttalande. Huvudet och data som fångas definieras på botten av den huvudsakliga skissen. Data överförs till Android-enhet automatiskt och sparats i CSV-format, när capture är klar.
  • Bluetooth-modulen till Arduino 101 kommunikation frekvens ligger ganska hög (921600) att minska overhead/latensen av kommunikation via det här gränssnittet. Beroende på en specifik implementering signal integritet, kan detta behöva minskas.
  • Från början kunde jag inte ladda ner skisser till Arduino 101 på grund av problem med USB-drivrutiner. I slutet hade jag köper och installerar ett USB3-tilläggskort i min värd PC för att få det att fungera. De har sedan dess släppt mer uppdaterad SW, så denna fråga kan tas upp, men jag har inte bekräftat det på min setup.
Se Steg
Relaterade Ämnen

LED ljus upp Robot hjälm

Hej kunder, Cosplayers och Sci-fi nördar. Jag har för er ett snabbt och enkelt sätt att lägga till några spännande lampor till din science fiction hjälmar. Inte bara kommer de glöd jag mörkret, och ange din hjälm förutom andra hjälmar, men du kan änd...

LEAP rörelse kontrollerad Remote Search och bortskaffande Robot

Som en del av min post för Leap #3D sylt var jag upphetsad att bygga denna trådlösa gest kontrollerade Sök/rädda Robot baserad på Raspberry Pi. Detta projekt visar och ger en minimalistisk exempel på hur trådlös 3D hand gester kan användas för att st...

Raspberry Pi och ROS (Robotic Operating System)

i den här guiden vi ska gå över att inrätta en Raspberry Pi med Linux och ROS. Samt att bekanta sig med några av grunderna genom att köra några enkla handledning program från "ROS WIKI" . Om du är obekant med ROS kan du kolla in WIKI eller en av...

Hur till retur Instructables och RoboGames Robot tävling

robotar är aldrig kommer för att ta över världen om vi inte gå av i soffan och göra dem själva!Det är därför vi har slagit sig ihop med folk påRoboGames att ge dig Robot tävling!Vill du vinna en resa till RoboGames 2009? Berätta hur du gjorde din rob...

K-9 2.0. WiFi kontrollerade och autonom Robot hund.

OBS:I steg 22, har jag postat en uppdatering, förklarar några senaste förändringar/förbättringar som jag har gjort, främst på K-9's elsystem och sensor array som du kan ha nytta.FunktionerRobust trä (MDF) och akryl designHelt mikroprocessorstyrda anv...

WireBeings beta: en 3D tryckta och utbyggbart Robot för Arduino med Android kontroll

http://wirebeings.com/Kolla in videon här:Detta är ett trevligt projekt som du kan fortsätta att arbeta på och ändra som du lär dig mer Arduino projekt. Detta Instructable går igenom den kompletta bygga för bluetooth-aktiverade robot i första halvan...

Lärare robot och talande ROBOT

Detta är min robot. Jag gjorde denna robot för min klass. Han undervisar i min klass när inte jag är i klass, jag älskar denna robotSteg 1: Att göra roboten är mycket lätt om du följer mig Jag gjorde denna robot för min engelska klass .du kan se inre...

Hur man gör en röststyrning, riktning, fjärrkontroll, Android och arduino robot, (3 i ett)

Detta är en förenklad version av någon annan röst kontroll robot, inte komplicerad kodning lätt att förstå kodning med lätt algoritm.Appen är utvecklad så att det konvertera röstkommandot till text och överföra text till anslutna Bluetooth-enheten.Bl...

Enkel och billig ROBOT HAND med endast en MOTOR!

Hej alla,Jag ville bara dela denna idé att göra en enkel, billig robotic hand (eller någon slutet effektor) med endast en motor.Med endast en motor för hela handen kan räcka för att:-extremt billigt, vilket är bra för din plånbok eftersom vanligtvis...

Billig och enkel robot

Det är en enkel och billig lätt att göra här några bilder...

En enkel och mycket lätt inverterad pendel balansera Robot

Låt oss göra en enkel inverterad balanserande robot, och driva den.Du behöver bara en halv dag att göra dem, om du har en arduino och några material.[en video av en robot som du skulle göra]Inledning:Efter några arbetar med arduino, har jag tänkt på...

Balansera Instructable Robot

I detta Instructable ville jag visa dig hur man gör en självbalanserande robot. Vad gör den unik är att dess yttre likna Instructables roboten. Internt det fungerar på principen om PID, det är ett mycket populärt system för att upprätthålla en variab...

Hur man bygger en Robot - The BeetleBot v2 (Revisited)

detta är skalbagge robot instructables revisited a la MythBusters stil!Ursprungligen gjorde jag en instructables om min skalbagge robot version 1.Nu är det dags att visa dig en ny version av denna underbara robot. Denna nya version är mycket lättare...

Instructables robot och profil halsband

så im kommer att Detroit maker faire med min instructabels T-shirt, men jag tänkte hur coolt det skulle vara om jag hade ett halsband som inte bara visar insturctables men visade mig i Instructables alltför. Så jag gjorde något sånt, och det blev bra...

Hur man stå upp i en Street Fight! (Instructable)

Denna situation är där en kombattant är omkull, och den andra är fortfarande står upp. Jag kommer att visa hur man får tillbaka till fötterna tryggt medan en motståndare står över du kasta slag och sparkar.Steg 1: Motståndare pressar du ner Du och di...

Styr ditt hem och Robot av missade samtal från mobiltelefon

Från internet kan du hitta massor av projekt om att kontrollera saker som ljus, fläkt, tvättmaskin och din robot från annan plats. Det finns flera sätt för att kontrollera dessa distans till exempel med hjälp av DTMF signal från mobiltelefon (krävs D...

"Deskbot" en rolig och enkel rensa robot

"Deskbot"! Detta är en rolig och mycket enkel leksak / rensa upp robot gjorde jag i ca 30 min.Jag fick idén när jag hittade en trasig zuu zuu sällskapsdjur. sedan slog det mig. "varför inte göra en rolig och enkel leksak som kan hjälpa u re...

Arduino Uno och Visuino: kontrollera Smart Car Robot med Joystick och L298N motorn förarens

Smart Car anger i kombination med L298N Motor drivrutinsmoduler, erbjuder en av de enklaste sätten att göra roboten bilar. L298N Motor Driver modul är lätt att kontrollera med Arduino, och med hjälp av Visuino kan du programmera din bil i sekunder.I...

En Arduino infraröd kontrolleras och hinder skatteundandragande Robot

Hej alla,Detta Instructables är uppdelad i två faser, vilket gör den lämplig för både nybörjare och mellanliggande robot designers.Den första fasen omfattar användningen av arduino nano ombord endast som registeransvarige. Med detta ska vi bygga en r...