Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy
počítačové znalosti >> otázka >> AI >> .

Aké sú algoritmy používané v robotike?

Robotics sa spolieha na obrovské množstvo algoritmov preklenujúcich niekoľko základných oblastí. Tu je zrútenie niektorých z najdôležitejších:

1. Vnímanie/snímanie: Algoritmy, ktoré umožňujú robota porozumieť jeho prostrediu prostredníctvom senzorov.

* počítačové videnie:

* Detekcia objektov: Yolo, SSD, rýchlejšie R-CNN, Mask R-CNN, Transformers (DETR, deformovateľné DETR)-Identifikácia a lokalizačné objekty v obrázkoch/videu.

* Segmentácia obrázkov: U -Net, Deeplab - Rozdelenie obrázka na zmysluplné oblasti a priradí štítok každému pixelu.

* Detekcia a zhodovanie funkcií: Preosievanie, surfovanie, Orb - Nájdenie výrazných funkcií v obrázkoch na porovnávanie rôznych hľadísk a podmienok.

* Štruktúra z pohybu (SFM): Rekonštrukcia 3D štruktúry zo série 2D obrázkov.

* Visual Slam (súčasná lokalizácia a mapovanie): ORB-Slam, DSO-Slam-súčasne budovanie mapy prostredia a určovanie polohy robota v rámci tejto mapy pomocou vízie.

* Optický tok: Lucas -Kanade, Farneback - Odhadovanie pohybu objektov a samotného robota na základe zmien vizuálnych funkcií.

* Odhad hĺbky: Stereo vízia, odhad monokulárnej hĺbky s hlbokým učením (napr. Používanie transformátorov).

* LIDAR spracovanie:

* Point Cloud Registrácia: ICP (iteratívny najbližší bod), RANSAC - Zarovnajúce bodové oblaky z viacerých skenov, aby sa vytvoril kompletný 3D model.

* Rozpoznávanie a klasifikácia objektov: PointNet, PointNet ++, DGCNN - Dáta priameho spracovania cloudu na identifikáciu a klasifikáciu objektov.

* Segmentácia: Rastúci región, montáž lietadiel, segmentácia cloudu založených na hlbokom učení.

* lidar Slam: Hlinky (Lidar Odometry and Mapping), Lego -Loam - podobne ako vizuálne Slam, ale pomocou údajov LIDAR.

* mapovanie mriežky obsadenia: Predstavuje prostredie ako mriežku, kde každá bunka označuje, či je obsadená alebo voľná.

* Senzor fúzie: Kombinácia údajov z viacerých senzorov na získanie presnejšieho a robustnejšieho vnímania prostredia.

* Kalman Filter: Odhad stavu systému (napr. Poloha robota a rýchlosti) kombináciou hlučných údajov senzorov s dynamickým modelom. Rozšírený Kalman Filter (EKF), bezcentný Kalman Filter (UKF) sú variácie pre nelineárne systémy.

* Bayesovské filtrovanie: Všeobecný rámec pre kombináciu predchádzajúcich znalostí s údajmi o senzoroch na aktualizáciu presvedčení o životnom prostredí. Filtre častíc sú špecifickou implementáciou.

* Doplnkový filter: Zmiešanie výstupu rôznych senzorov na základe ich frekvenčných charakteristík (napr. Použitie akcelerometra pre vysokofrekvenčný pohyb a gyroskop na dlhodobú orientáciu).

2. Lokalizácia a mapovanie: Algoritmy, ktoré umožňujú robota poznať svoju pozíciu a vytvárať reprezentáciu jeho okolia. Často sa prekrýva s vnímaním.

* Slam (súčasná lokalizácia a mapovanie): Ako je uvedené vyššie, vizuálne aj Lidar Slam sú kritické. Kľúčové algoritmy zahŕňajú:

* eKf Slam: Skorý prístup využívajúci rozšírený filter Kalman.

* Slam: Predstavenie mapy ako grafu, v ktorom sú uzly robotické pózy a hrany sú obmedzenia medzi pózami. G2O, riešiteľ CERES sú bežné optimalizačné knižnice.

* Slam Filter častíc (fastSlam): Použitie množiny častíc (hypotézy), ktorá predstavuje možné robotické pózy a mapu.

* Faktorové grafy: Zovšeobecnenie grafu Slam, ktoré umožňuje flexibilnejšie modelovanie šumu a obmedzení senzora.

* iba lokalizácia:

* lokalizácia Monte Carlo (MCL): Použitie filtra častíc na odhadovanie pózy robota vzhľadom na známu mapu.

* amcl (adaptívna lokalizácia Monte Carlo): Rozšírenie MCL, ktoré dokáže prispôsobiť počet častíc na základe neistoty v póze robota.

* GPS (globálny systém polohy): Pre vonkajšie prostredie, kde je k dispozícii signál GPS. Často sa spájajú s inými senzormi.

* mapovanie:

* mapovanie mriežky obsadenia: Budovanie pravdepodobnostnej mapy životného prostredia.

* Mapovanie založené na funkciách: Vytvorenie mapy hlavných prvkov v prostredí (napr. Rohy, okraje).

* topologické mapovanie: Predstavuje prostredie ako graf miest a spojení medzi nimi. Užitočné pre navigáciu na vysokej úrovni.

* Sémantické mapovanie: Rozšírenie mapy sémantickými informáciami o objektoch a miestach v prostredí (napr. „Kuchyňa“, „stôl“, „osoba“).

3. Plánovanie a navigácia: Algoritmy na určenie najlepšej cesty pre robota, ktorý môže nasledovať, aby dosiahol cieľ.

* Plánovanie cesty:

* a* vyhľadávanie: Algoritmus vyhľadávania grafov, ktorý nájde najkratšiu cestu od začiatku k cieľu, pomocou heuristiky na usmernenie vyhľadávania.

* Dijkstra's Algoritmus: Ďalší algoritmus vyhľadávania grafov, ktorý nájde najkratšiu cestu, ale bez heuristiky.

* rrt (rýchlo preskúmanie náhodného stromu): Algoritmus, ktorý vytvára strom možných ciest náhodným vzorkovaním konfiguračného priestoru. RRT*, Informované rrt* sú varianty, ktoré zlepšujú výkon.

* prm (pravdepodobnostná cestovná mapa): Algoritmus založený na vzorkovaní, ktorý vytvára plán prostredia, ktorý sa potom môže použiť na plánovanie ciest medzi akýmikoľvek dvoma bodmi.

* Potenciálne polia: Vytváranie oblasti umelého potenciálu, v ktorom je cieľ atraktívne a prekážky sú odpudivé. Robot sleduje gradient poľa.

* Optimalizácia trajektórie: Formulácia problému plánovania cesty ako problém s optimalizáciou a jeho riešenie pomocou techník, ako je zostup gradienty alebo sekvenčné kvadratické programovanie. Chomp, Trajopt.

* Plánovanie pohybu: Pri plánovaní cesty zohľadňuje dynamiku a obmedzenia robota (napr. Rýchlosť, zrýchlenie, spoločné limity). Často používa optimalizáciu trajektórie.

* navigácia:

* PID CONTROL: Všeobecne používaný riadiaci algoritmus na reguláciu pohybu robota. Proporcionálne, integrálne, derivátové pojmy.

* Model Prediktívne riadenie (MPC): Pokročilá riadiaca technika, ktorá optimalizuje trajektóriu robota na konečnom horizonte, pričom berie do úvahy dynamiku a obmedzenia robota.

* Výučba posilnenia: Tréning robota na navigáciu v prostredí prostredníctvom pokusu a omylu. Q-Learning, Deep Q-NetWorks (DQN), optimalizácia proximálnej politiky (PPO). Obzvlášť užitočné pre zložité dynamické prostredie.

* Robotika založená na správaní: Navrhovanie správania robota ako zbierky reaktívnych modulov, ktoré reagujú na rôzne vstupy senzora. Architektúra subspumovej architektúry.

* Plánovanie úloh: Plánovanie na vyššej úrovni, ktoré zahŕňa rozdelenie zložitej úlohy do postupnosti akcií. Hierarchické siete úloh (HTN).

4. Ovládanie: Algoritmy na vykonanie plánovanej cesty a udržiavanie stability.

* PID CONTROL: (Ako je uvedené vyššie, používané aj pri navigácii).

* Feedforward Control: Použitie modelu systému na predpovedanie požadovaných riadiacich vstupov.

* Odhad stavu: (Kalman filtre atď.) Odhadovanie vnútorného stavu robota (poloha, rýchlosť atď.) Z údajov senzora. To je rozhodujúce pre kontrolu spätnej väzby.

* Ovládanie sily: Ovládanie síl vyvíjaných robotom v životnom prostredí. Hybridná poloha/kontrola sily, kontrola impedancie, kontrola vstupu. Dôležité pre manipulačné úlohy.

* Adaptívne ovládanie: Úprava ovládacích parametrov v reálnom čase tak, aby kompenzovala zmeny v prostredí alebo dynamike robota.

* robustné riadenie: Navrhovanie ovládačov, ktoré nie sú citlivé na neistoty a poruchy.

* nelineárne ovládacie prvky: Techniky riadenia robotov s nelineárnou dynamikou. Spätné riadenie, riadenie režimu posuvného režimu.

5. Manipulácia: Algoritmy na uchopenie, manipuláciu a zostavenie predmetov.

* Grasping:

* Uchopte plánovanie: Určenie najlepšieho spôsobu, ako uchopiť objekt na základe jeho tvaru a uchopovača robota.

* Force Uzavretie: Zabezpečenie toho, aby uchopenie bolo stabilné a dokáže odolávať vonkajším silám.

* Uchopte metriky kvality: Hodnotenie kvality pochopenia založeného na faktoroch, ako je stabilita, robustnosť a obratnosť.

* hlboké učenie pre uchopenie: Tréning neurónových sietí na predpovedanie uchopenia predstavuje priamo z obrázkov alebo oblakov bodov. GRASPNET, DEX-NET.

* Plánovanie pohybu manipulácie:

* Plánovanie založené na vzorkovaní: (RRT, PRM) Plánovanie pohybu rúk robota a zároveň sa vyhýba zrážkam s prostredím a manipulovaným objektom.

* Optimalizácia trajektórie: Optimalizácia trajektórie robota s cieľom minimalizovať spotrebu energie alebo čas vykonávania.

* silu kontrolu manipulácie: (Ako je uvedené vyššie)

* Plánovanie montáže: Plánovanie postupnosti akcií potrebných na zostavenie komplexného objektu.

* Dexterous Manipulácia: Algoritmy na používanie viacerých prstov alebo ramien na vykonávanie zložitých manipulačných úloh.

6. Strojové učenie a umelá inteligencia:

* Výučba posilnenia: (Ako je uvedené vyššie)

* Dohľad nad učením: Tréningové modely na predpovedanie správania robotov alebo klasifikáciu údajov senzorov.

* Učenie bez dozoru: Objavovanie vzorov v údajoch senzorov bez označených príkladov.

* hlboké učenie: Používanie hlbokých neurónových sietí na vnímanie, plánovanie a kontrolu.

* Imitácia učenie: Tréning robota na napodobňovanie správania ľudského demonštrátora.

* Generatívne modely: Vytváranie modelov, ktoré môžu generovať nové údaje (napr. Obrázky, oblaky bodov) na simuláciu alebo zväčšenie údajov. Gans, Vaes.

* Spracovanie prirodzeného jazyka (NLP): Umožňujú robotom porozumieť príkazom prirodzeného jazyka a reagovať na príkazy v prirodzenom jazyku.

Dôležité úvahy:

* Výkon v reálnom čase: Mnoho robotických algoritmov musí byť užitočné v reálnom čase.

* robustnosť: Algoritmy musia byť robustné na hluk, neistotu a zmeny v prostredí.

* Výpočtová zložitosť: Je potrebné zvážiť výpočtovú zložitosť algoritmu, najmä pre roboty s obmedzeným výkonom spracovania.

* Integrácia: Na vytvorenie kompletného robotického systému je potrebné integrovať rôzne algoritmy.

* simulácia: Simulácia sa často používa na vývoj a testovanie robotických algoritmov pred ich nasadením na skutočných robotoch. Altánok, V-Rep/Coppeliasim, Pybullet sú bežné simulačné prostredia.

* Frameworks a knižnice: ROS (robotický operačný systém) je široko používaný rámec, ktorý poskytuje zbierku nástrojov a knižníc na vývoj robotického softvéru. OpenCV (pre počítačové videnie), PCL (Point Cloud Library), TensorFlow, Pytorch (pre strojové učenie) sú tiež nevyhnutné.

Tento zoznam nie je vyčerpávajúci, ale poskytuje dobrý prehľad kľúčových algoritmov používaných v robotike. Konkrétne algoritmy použité v konkrétnom robote budú závisieť od úlohy, prostredia a hardvéru robota. Pole robotiky sa neustále vyvíja, takže sa neustále vyvíjajú nové algoritmy a techniky.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené