Ang robotics ay isang natatanging pinaghalong agham at teknolohiya na gumagawa ng mga makina na ginagaya ang mga aksyon ng mga tao.
Noong unang bahagi ng 2000s, 90% ng mga robot ay nasa mga planta ng pagmamanupaktura ng kotse na pinapalitan ang mga tao para sa mga paulit-ulit na gawain. Ngayon ang mga robot ay maaaring mag-vacuum ng mga bahay at kahit na maglingkod sa mga restawran.
Ang isang robot ay karaniwang binubuo ng tatlong uri ng mga bahagi; ang mekanikal na katawan; ang electric skeleton, at sa wakas ay isang utak na ginawa gamit ang code.
Ang mga bahaging ito ay nagbibigay-daan sa isang robot na mangolekta ng data (kadalasan mula sa mga sensor), gumawa ng mga desisyon sa pamamagitan ng naka-program na lohika upang iakma ang pag-uugali at kumpletuhin ang mga gawain.
Ang mga robot ay maaaring may tatlong uri ng mga programa; Remote Control (RC), Artipisyal na Talino (AI), o Hybrid.
Ang mga RC program ay nangangailangan ng interbensyon ng isang tao na maaaring magbigay ng simula at/o ang stop signal para sa pagpapatupad ng code sa robot. Ang mga programa ay binubuo ng iba't ibang uri ng mga algorithm, bawat isa ay may iba't ibang function.
Ano ang isang algorithm?
Ang algorithm ay isang serye ng mga linya ng code na maaaring gamitin ng isang robot upang magsagawa ng ilang partikular na tagubilin. Isinasalin nito ang mga ideya ng developer sa isang wika na naiintindihan ng mga robot.
Ang mga algorithm ay maaaring ipahayag sa maraming uri ng notasyon, kabilang ang pseudocode, mga flowchart, programming languages, o mga control table.
Sa artikulong ito tatalakayin natin ang ilang karaniwang uri ng mga algorithm na ginagamit sa mga program na ito.
Mga uri ng algorithm na ginagamit sa robotics
1. Anumang oras A* Algorithm
Ang A* algorithm ay isang path search algorithm na ginagamit upang mahanap ang pinakamainam na path sa pagitan ng dalawang punto, ibig sabihin, na may pinakamaliit na halaga.
Anumang oras ang A* Algorithm ay may flexible na gastos sa oras at maaaring ibalik ang pinakamaikling landas kahit na ito ay naantala dahil ito ay bumubuo muna ng hindi pinakamainam na solusyon at pagkatapos ay ino-optimize ito.
Nagbibigay-daan ito para sa mas mabilis na paggawa ng desisyon dahil maaaring bumuo ang robot sa mga nakaraang kalkulasyon sa halip na magsimula sa simula.
Paano ito gumagana?
Ginagawa ito sa pamamagitan ng pagbubuo ng isang 'puno' na umaabot mula sa panimulang node hanggang sa ma-trigger ang pamantayan para sa pagwawakas na nangangahulugang mayroong mas murang landas na magagamit.
Ang isang 2D Grid ay ginawa gamit ang mga obstacle at isang panimulang cell at mga target na cell ay pin-pointed.
Tinutukoy ng algorithm ang 'halaga' ng isang node sa pamamagitan ng f na siyang kabuuan ng mga parameter g (ang halaga ng paglipat mula sa panimulang node patungo sa pinag-uusapang node) at h (ang halaga ng paglipat mula sa pinag-uusapang node patungo sa target na node).
aplikasyon
Maraming mga laro at web-based na mapa ang gumagamit ng algorithm na ito para sa mahusay na paghahanap ng pinakamaikling landas. Maaari rin itong gamitin para sa mga mobile robot.
Maaari mo ring lutasin ang mga kumplikadong problema tulad ng Newton–Raphson inilapat ang pag-ulit sa paghahanap ng square root ng isang numero.
Ginagamit din ito sa mga problema sa tilapon upang mahulaan ang galaw at banggaan ng isang bagay sa kalawakan.
2. D* Algorithm
Ang D*, Focused D* at D* Lite ay mga incremental na algorithm sa paghahanap upang mahanap ang pinakamaikling landas sa pagitan ng dalawang punto.
Ang mga ito, gayunpaman, ay pinaghalong A* algorithm at mga bagong pagtuklas na nagpapahintulot sa kanila na magdagdag ng impormasyon sa kanilang mga mapa para sa hindi kilalang mga hadlang.
Maaari nilang muling kalkulahin ang isang ruta batay sa bagong impormasyon, katulad ng Mars Rover.
Paano ito gumagana?
Ang paggawa ng D* Algorithm ay katulad ng sa A*, ang algorithm ay unang tumutukoy sa f, h at lumilikha ng isang bukas at saradong listahan.
Pagkatapos nito, tinutukoy ng D* Algorithm ang g value ng kasalukuyang node gamit ang g value ng mga kalapit nitong node.
Ang bawat kalapit na node ay gumagawa ng hula tungkol sa kasalukuyang g value ng isa at ang pinakamaikling g value ay iniangkop bilang bagong g value.
aplikasyon
Ang D* at ang mga variant nito ay malawakang ginagamit para sa mobile robot at autonomous na sasakyan nabigasyon
Kasama sa mga naturang navigation system ang isang prototype system na sinubukan sa Mars rovers Opportunity and Spirit at ang navigation system na nanalo sa DARPA Urban Challenge.
3. PRM Algorithm
Ang PRM, o probabilistic roadmap, ay isang network graph ng mga posibleng landas batay sa mga libre at inookupahang espasyo sa isang partikular na mapa .
Ginagamit ang mga ito sa mga kumplikadong sistema ng pagpaplano at upang makahanap din ng mga murang landas sa paligid ng mga hadlang.
Gumagamit ang mga PRM ng random na sample ng mga punto sa kanilang mapa kung saan posibleng gumalaw ang isang robot device at pagkatapos ay kalkulahin ang pinakamaikling landas.
Paano ito gumagana?
Ang PRM ay binubuo ng isang yugto ng pagbuo at pagtatanong.
Sa unang yugto, ang isang roadmap ay naka-graph na tinatantya ang mga posibleng galaw sa isang kapaligiran. Ang isang random na configuration ay ginawa at konektado sa ilang mga kapitbahay.
Ang simula at mga configuration ng layunin ay konektado sa graph sa yugto ng query. Ang landas ay pagkatapos ay nakuha sa pamamagitan ng a Ang pinakamaikling landas ni Dijkstra tanong.
aplikasyon
Ginagamit ang PRM sa mga lokal na tagaplano, kung saan kinukuwenta ng algorithm ang isang tuwid na linya ng landas sa pagitan ng dalawang punto, katulad ng inisyal, at mga punto ng layunin.
Magagamit din ang algorithm upang pahusayin ang pagpaplano ng landas at mga application sa pagtukoy ng banggaan.
4. Zero Moment Point (ZMP) Algorithm
Ang Zero Moment Point (ZMP technique) ay isang algorithm na ginagamit ng mga robot upang mapanatili ang kabuuang inertia na kabaligtaran sa puwersa ng reaksyon ng sahig.
Ginagamit ng algorithm na ito ang konsepto ng pagkalkula ng ZMP at inilalapat ito sa isang paraan upang balansehin ang mga bipedal na robot. Ang paggamit ng algorithm na ito sa isang makinis na ibabaw ng sahig ay tila nagbibigay-daan sa robot na maglakad na parang walang sandali.
Ang mga kumpanya ng pagmamanupaktura tulad ng ASIMO (Honda) ay gumagamit ng pamamaraang ito.
Paano ito gumagana?
Ang paggalaw ng isang robot na naglalakad ay pinlano gamit ang angular momentum equation. Tinitiyak nito na ginagarantiyahan ng nabuong joint motion ang dynamical postural stability ng robot.
Ang katatagan na ito ay nasusukat sa pamamagitan ng distansya ng zero-moment point (kinakalkula ng algorithm) sa loob ng mga hangganan ng isang paunang natukoy na rehiyon ng katatagan.
aplikasyon
Maaaring gamitin ang mga zero moment point bilang sukatan upang masuri ang katatagan laban sa pagtaob ng mga robot tulad ng iRobot PackBot kapag nagna-navigate sa mga rampa at mga hadlang.
5. Proportional Integral Differential (PID) Control Algorithm
Ang Proportional Integral Differential Control o PID, ay lumilikha ng sensor feedback loop upang ayusin ang mga setting para sa mga mekanikal na bahagi sa pamamagitan ng pagkalkula ng halaga ng error.
Pinagsasama ng mga algorithm na ito ang lahat ng tatlong pangunahing coefficient, ibig sabihin, proporsyon, integral, at derivative upang makagawa ito ng control signal.
Gumagana ito sa real-time at naglalapat ng mga pagwawasto kung kinakailangan. Ito ay makikita sa self-pagmamaneho cars.
Paano ito gumagana?
Ang PID controller ay gumagamit ng tatlong control terms ng proportionality, integral at derivative na impluwensya sa output nito upang mailapat ang tumpak at pinakamainam na kontrol.
Patuloy na kinakalkula ng controller na ito ang isang halaga ng error bilang pagkakaiba sa pagitan ng gustong setpoint at isang variable na sinusukat na proseso.
Pagkatapos ay naglalapat ito ng pagwawasto upang mabawasan ang error sa paglipas ng panahon sa pamamagitan ng pagsasaayos ng control variable.
aplikasyon
Maaaring kontrolin ng controller na ito ang anumang proseso na may nasusukat na output, isang kilalang ideal na halaga para sa output na iyon, at isang input sa proseso na makakaapekto sa nasusukat na output.
Ginagamit ang mga controllers sa industriya upang i-regulate ang temperatura, presyon, puwersa, timbang, posisyon, bilis at anumang iba pang variable kung saan mayroong isang pagsukat.
Konklusyon
Kaya, ito ang ilan sa mga pinakakaraniwang algorithm na ginagamit sa robotics. Ang lahat ng mga algorithm na ito ay medyo kumplikado na may pinaghalong pisikal, linear algebra at mga istatistika na ginagamit upang i-map out ang mga aksyon at paggalaw.
Gayunpaman, habang umuunlad ang teknolohiya, bubuo ang mga algorithm ng robotics upang maging mas kumplikado. Ang mga robot ay makakakumpleto ng higit pang mga gawain at mas mag-isip para sa kanilang sarili.
Kung nasiyahan ka sa artikulong ito, mag-subscribe sa Lingguhang HashDork mga update sa pamamagitan ng mga email, kung saan ibinabahagi namin ang pinakabagong balita sa AI, ML, DL, Programming at Future Tech.
Mag-iwan ng Sagot