|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Felsökning
  • Datorvirus
  • konvertera filer
  • laptop Support
  • laptop Felsökning
  • PC Support
  • PC Felsökning
  • lösenord
  • Felsökning datafel
  • Avinstallera Hardware & Software
  • Google
  • VPN
  • Videos
  • AI
  • ChatGPT
  • OpenAI
  • Gemini
  • Browser
  • * Dator Kunskap >> Felsökning >> AI >> Content

    Vilka är algoritmerna som används i robotik?

    Robotik förlitar sig på ett stort antal algoritmer som sträcker sig över flera kärnområden. Här är en uppdelning av några av de viktigaste:

    1. Uppfattning/avkänning: Algoritmer som tillåter roboten att förstå dess miljö genom sensorer.

    * Datorvision:

    * Objektdetektering: YOLO, SSD, snabbare R-CNN, MASK R-CNN, Transformers (DETR, Deformable DetR)-Identifiera och lokalisera objekt i bilder/video.

    * Bildsegmentering: U -net, deeplab - dela en bild i meningsfulla regioner, tilldela en etikett till varje pixel.

    * Funktionsdetektering och matchning: SIFT, SURF, ORB - Hitta distinkta funktioner i bilder för matchning över olika synpunkter och förhållanden.

    * Struktur från rörelse (SFM): Rekonstruera 3D -struktur från en serie 2D -bilder.

    * Visual Slam (samtidig lokalisering och kartläggning): Orb-Slam, DSO-SLAM-Att samtidigt bygga en karta över miljön och bestämma robotens plats inom den kartan med synen.

    * optiskt flöde: Lucas -Kanade, Farneback - Uppskattning av föremålens rörelse och roboten baserat på förändringar i visuella funktioner.

    * Djupuppskattning: Stereosyn, uppskattning av monokulär djup med djup inlärning (t.ex. med transformatorer).

    * lidarbehandling:

    * Point molnregistrering: ICP (iterativ närmaste punkt), RANSAC - Justeringspunktsmoln från flera skanningar för att skapa en komplett 3D -modell.

    * Objektigenkänning och klassificering: PointNet, PointNet ++, DGCNN - Direkt bearbetning av molndata för att identifiera och klassificera objekt.

    * Segmentering: Region växande, planmontering, djup inlärningsbaserad punktmolnsegmentering.

    * lidar Slam: Loam (Lidar Odometry and Mapping), Lego -loam - liknande visuell Slam, men med hjälp av LIDAR -data.

    * Läggningsnätkartläggning: Representerar miljön som ett rutnät där varje cell indikerar om den är ockuperad eller fri.

    * sensorfusion: Kombinera data från flera sensorer för att få en mer exakt och robust uppfattning om miljön.

    * Kalman -filter: Uppskatta tillståndet för ett system (t.ex. robotposition och hastighet) genom att kombinera bullriga sensordata med en dynamisk modell. Utökat Kalman-filter (EKF), Unscented Kalman Filter (UKF) är variationer för icke-linjära system.

    * Bayesian Filtring: En allmän ram för att kombinera förkunskaper med sensordata för att uppdatera övertygelser om miljön. Partikelfilter är en specifik implementering.

    * Kompletterande filter: Blanda utgången från olika sensorer baserat på deras frekvensegenskaper (t.ex. med accelerometer för högfrekvent rörelse och gyroskop för långvarig orientering).

    2. Lokalisering och kartläggning: Algoritmer som gör det möjligt för roboten att känna till sin position och skapa en representation av dess omgivningar. Ofta överlappar med uppfattningen.

    * Slam (samtidig lokalisering och kartläggning): Som nämnts ovan är både Visual och Lidar Slam kritiska. Viktiga algoritmer inkluderar:

    * ekf Slam: Ett tidigt tillvägagångssätt med hjälp av det utökade Kalman -filtret.

    * grafbaserad SLAM: Att representera kartan som en graf där noder är robotposer och kanter är begränsningar mellan poser. G2O, CERES -lösare är vanliga optimeringsbibliotek.

    * Partikelfilter Slam (FastSlam): Använd en uppsättning partiklar (hypoteser) för att representera de möjliga robotposerna och MAP.

    * Faktorgrafer: En generalisering av graf SLAM som möjliggör mer flexibel modellering av sensorbrus och begränsningar.

    * Lokalisering endast:

    * Monte Carlo Localization (MCL): Använda ett partikelfilter för att uppskatta robotens ställning med en känd karta.

    * AMCL (Adaptive Monte Carlo Localization): En förlängning av MCL som kan anpassa antalet partiklar baserat på osäkerheten i robotens ställning.

    * GPS (Global Positioning System): För utomhusmiljöer där GPS -signal är tillgänglig. Ofta smält med andra sensorer.

    * Mapping:

    * Läggningsnätkartläggning: Bygga en probabilistisk karta över miljön.

    * Funktionsbaserad kartläggning: Skapa en karta över framträdande funktioner i miljön (t.ex. hörn, kanter).

    * Topologisk kartläggning: Representerar miljön som en graf över platser och förbindelser mellan dem. Användbar för navigering på hög nivå.

    * Semantisk kartläggning: Förstärker kartan med semantisk information om föremål och platser i miljön (t.ex. "Kök", "Tabell", "Person").

    3. Planering och navigering: Algoritmer för att bestämma den bästa vägen för roboten att följa för att nå ett mål.

    * Path Planning:

    * A* Sök: En grafsökningsalgoritm som hittar den kortaste vägen från en början till ett mål med en heuristik för att vägleda sökningen.

    * Dijkstras algoritm: En annan grafsökningsalgoritm som hittar den kortaste vägen, men utan en heuristik.

    * rrt (snabbt explorerar slumpmässigt träd): En algoritm som bygger ett träd med möjliga vägar genom att slumpmässigt ta prov på konfigurationsutrymmet. Rrt*, informerad rrt* är varianter som förbättrar prestanda.

    * Prm (Probabilistic Roadmap): En provtagningsbaserad algoritm som bygger en färdplan för miljön, som sedan kan användas för att planera vägar mellan två punkter.

    * Potentiella fält: Skapa ett konstgjort potentialfält där målet är attraktivt och hinder är avvisande. Roboten följer lutningen av fältet.

    * banaoptimering: Formulera bananplaneringsproblemet som ett optimeringsproblem och lösa det med tekniker som gradient härkomst eller sekventiell kvadratisk programmering. Chomp, Trajopt.

    * Motion Planning: Anser robotens dynamik och begränsningar (t.ex. hastighet, acceleration, gemensamma gränser) när du planerar en väg. Använder ofta banaoptimering.

    * navigering:

    * PID -kontroll: En allmänt använt kontrollalgoritm för att reglera robotens rörelse. Proportionella, integrerade, derivattermer.

    * Model Predictive Control (MPC): En avancerad kontrollteknik som optimerar robotens bana över en ändlig horisont med hänsyn till robotens dynamik och begränsningar.

    * Armeringsinlärning: Träna roboten att navigera i en miljö genom försök och fel. Q-Learning, Deep Q-Networks (DQN), Proximal Policy Optimization (PPO). Särskilt användbart för komplexa, dynamiska miljöer.

    * Beteendebaserad robotik: Designa robotens beteende som en samling av reaktiva moduler som svarar på olika sensoringångar. Subsumption Architecture.

    * Uppgiftsplanering: Planering på högre nivå som innebär att man delar upp en komplex uppgift i en sekvens av åtgärder. Hierarkiska uppgiftsnätverk (HTNS).

    4. Kontroll: Algoritmer för att utföra den planerade vägen och upprätthålla stabilitet.

    * PID -kontroll: (Som nämnts ovan, också används vid navigering).

    * Feedforward Control: Använda en modell av systemet för att förutsäga de nödvändiga kontrollingångarna.

    * Statens uppskattning: (Kalman -filter, etc.) Uppskattning av robotens interna tillstånd (position, hastighet, etc.) från sensordata. Detta är avgörande för återkopplingskontroll.

    * kraftkontroll: Kontroll av de krafter som roboten har utövat. Hybridposition/kraftkontroll, impedanskontroll, tillträdeskontroll. Viktigt för manipulationsuppgifter.

    * adaptiv kontroll: Justera kontrollparametrarna i realtid för att kompensera för förändringar i miljön eller robotens dynamik.

    * robust kontroll: Designa kontroller som är okänsliga för osäkerheter och störningar.

    * Icke -linjär kontroll: Tekniker för att kontrollera robotar med olinjär dynamik. BackStepping, Sliding Mode Control.

    5. Manipulation: Algoritmer för att ta tag i, manipulera och montera föremål.

    * grepp:

    * greppplanering: Bestämma det bästa sättet att förstå ett objekt baserat på dess form och robotens gripare.

    * kraftstängning: Säkerställa att greppet är stabilt och kan motstå externa krafter.

    * greppkvalitetsmätningar: Utvärdera kvaliteten på ett grepp baserat på faktorer som stabilitet, robusthet och skicklighet.

    * djup inlärning för grepp: Träning neurala nätverk för att förutsäga greppposer direkt från bilder eller punktmoln. GRASPNET, DEX-NET.

    * rörelseplanering för manipulation:

    * provtagningsbaserad planering: (RRT, PRM) Planerar rörelsen i robotens arm samtidigt som man undviker kollisioner med miljön och föremålet manipuleras.

    * banaoptimering: Optimera robotens bana för att minimera energiförbrukning eller exekveringstid.

    * kraftkontroll för manipulation: (Som nämnts ovan)

    * Monteringsplanering: Planera den åtgärder som krävs för att montera ett komplext objekt.

    * dexterous manipulation: Algoritmer för att använda flera fingrar eller armar för att utföra komplexa manipulationsuppgifter.

    6. Maskininlärning och konstgjord intelligens:

    * Armeringsinlärning: (Som nämnts ovan)

    * Övervakat lärande: Träningsmodeller för att förutsäga robotbeteende eller klassificera sensordata.

    * oövervakat lärande: Upptäck mönster i sensordata utan märkta exempel.

    * Deep Learning: Använda djupa neurala nätverk för uppfattning, planering och kontroll.

    * Imitation Learning: Träna en robot för att efterlikna beteendet hos en mänsklig demonstrant.

    * Generativa modeller: Skapa modeller som kan generera ny data (t.ex. bilder, punktmoln) för simulering eller dataförstärkning. Gans, Vaes.

    * Natural Language Processing (NLP): Vilket gör det möjligt för robotar att förstå och svara på naturliga språkkommandon.

    Viktiga överväganden:

    * realtidsprestanda: Många robotalgoritmer måste köras i realtid för att vara användbara.

    * robusthet: Algoritmer måste vara robusta mot brus, osäkerhet och förändringar i miljön.

    * Beräkningskomplexitet: Beräkningskomplexiteten för algoritmen måste beaktas, särskilt för robotar med begränsad bearbetningskraft.

    * Integration: Olika algoritmer måste integreras tillsammans för att skapa ett komplett robotsystem.

    * simulering: Simulering används ofta för att utveckla och testa robotalgoritmer innan de distribuerar dem på riktiga robotar. Gazebo, V-rep/coppeliasim, pybullet är vanliga simuleringsmiljöer.

    * ramar och bibliotek: ROS (robotoperativsystem) är ett allmänt använt ramverk som tillhandahåller en samling verktyg och bibliotek för att utveckla robotprogramvara. OpenCV (för datorsyn), PCL (Point Cloud Library), TensorFlow, Pytorch (för maskininlärning) är också viktiga.

    Denna lista är inte uttömmande, men den ger en bra översikt över de viktigaste algoritmerna som används i robotik. De specifika algoritmerna som används i en viss robot beror på robotens uppgift, miljö och hårdvara. Robotområdet utvecklas ständigt, så nya algoritmer och tekniker utvecklas hela tiden.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Vad är IMA Service?
    ·Är det sant eller falskt ett problem som Incident Comm…
    ·Vad är ILM Studios?
    ·Var kan du gå och göra ett ar-quiz?
    ·Hur man svarar på alla sociala medier-kommentarer med …
    ·Varför är AVI-formatet det bästa för filmer?
    ·Vilka är de viktigaste skillnaderna mellan svag AI och…
    ·Vilken användarroll kommer att ha visningsåtkomst til…
    ·Vad är Eminems IQ?
    ·Vilka är ICS 800-svaren?
    Utvalda artiklarna
    ·Hur man tar bort PCSecurityShield
    ·Så här använder du din Galaxy S7 och Edge
    ·Hur konvertera vinylskivor till CD på en Mac
    ·Hur att diagnostisera & Fix en IRQ-konflikt
    ·Hur du komma förbi Windows Föräldrakontroll
    ·Hur man stänger av Numbers på en IBM ThinkPad Keyboar…
    ·Hur konvertera MP3 till en Windows Media -fil
    ·Hur fixar SugarCRM WSDL
    ·Laddar Steam inte ner spel? Hur man fixar det
    ·Jag har bara en svart skärm och muspil men inget annat…
    Copyright © Dator Kunskap https://www.dator.xyz