B-robot EVO. Självbalanserande robot (1 / 8 steg)
Steg 1: Lite mer ingående...
Fysiska problemet att B-ROBOT löser kallas inverterad pendel. Detta är den samma mekanism måste du balansera ett paraply över handen. Den punkt är under centrum av massan av objektet. Ytterligare information om inverterad pendel här. Den matematiska lösningen på problemet är inte lätt men vi behöver inte förstå det för att lösa våra robot´s balans. Vad vi behöver veta är hur ska göra för att återställa den robot´s balansen så att vi kan genomföra en kontroll algoritm för att lösa problemet.
Ett Styrsystem är mycket användbar i robotteknik (en industriell automation). I grund och botten it´s en kod som tar emot information från sensorer och målet kommandon som insatsvaror och skapar, följaktligen utdata signaler att köra Robot manöverdonen (motorer i vårt exempel) för att reglera systemet. Vi använder en PID controller (proportionell + derivat + Integral). Denna typ av kontroll har 3 konstanter justera kP, kD, kI. Från Wikipedia: "en PID-regulator beräknar ett felvärde som skillnaden mellan ett uppmätt [ingång] och en önskad setpoint. Registeransvarige försöker minimera felet genom att justera [en utgång]." Så, du säga PID vad ska mäta ("Input") , där du vill ha det mätningen vara ("börvärde",) och den variabel du vill justera för att göra det hända ("Output".)
PID justerar sedan produktionen försöker göra den insatsen lika normvärdet. För referens, skulle en vattentank vi vill fylla till en nivå, ingång, Setpointoch utgång vara nivån beroende på vattennivån sensor, önskad vattennivån och vattnet pumpas in i tanken. kP är den proportionella delen och är den huvudsakliga delen av kontroll, denna del är proportionellt mot felet. kD är derivatan del och tillämpas på derivatan av felet. Denna del beror på dynamiken i systemet (beror på robot, ´s vikt motorer, svängmassor...). Den sista en, kI tillämpas den integrerad felet och används för att minska stadig fel, det är som en trim på den slutliga utgången (tror i trim knapparna på en RC bil ratten att göra bilen gå helt raka, kI tar bort förskjutningen mellan målet krävs och det verkliga värdet).
På B-ROBOT kommandot styrning från användaren läggs till motorer utdata (en motor med ett positivt tecken och den andra med ett minustecken). Till exempel om användaren skickar kommandot styrning 6 att sväng höger (från -10 till 10) vi måste lägga till 6 till vänster motor värde och subtrahera 6 från höger motor. Om roboten inte går framåt eller bakåt, är resultatet av kommandot styrning ett spinn på roboten