Softueri i robotit

**Roboti softuerik** është komandë e koduar që I tregon pajisjes mekanike (i njohur si robot) çfarë detyre të kryej dhe kontrollon veprimet e tij.  Roboti softuerik është përdorur për të kryer detyrat dhe detyrat automatike.  Programimi nuk është detyrë e parëndësishme.  Shumë sisteme softuerike dhe struktura kanë qenë propozuar të bëjnë programime të lehta të robotëve.  
Disa softëvera të robotëvë ndihmuan tek zhvillimi inteligjent i pajisjeve mekanike.  Edhepse të zakonshme në tregimet e fantashkencës, programe të tilla në realitet ende janë të zakonshme dhe zhvillimi më i madh akoma kërkohet në inteligjencën artificialepra se ato të fillojnë gjasat e arritjes së fantashkencës.  Hardueri i paraprogramuar mund të përfshijnë prapaveprimet të tilla si bashkëveprimi me ambientin e tij, por që nuk e shfaq inteligjencën aktuale.  

## Parathënie 
Softuerët e robotëve përbëhen nga instruksionet për kontrollimin e robotit dhe japin informacione në lidhje me detyrat e kërkuara. Kur program është shkruar duke përdorur këtë softuerë, roboti është i aftë të ekzekutoj komandat dhe të kryej detyrat. Programimi i robotëve mund të jetë i komplikuar dhe proces sfidues, ai është bërë më i lehtë nëpër vite, mungesa e platformave standarde industriale ka efektuar zhvillimin e mjeteve softuerike të robotëve krahasuar me sistemet tjera të automatizuara të till si kontrolluesit eprogramueshëm logjik (PLC). Teknikat programuese të rrjedhjes së të dhënave janë përdorur nga shumica e prodhuesve të robotëve dhe është bazuar në konceptin që kur vlera e variables ndryshon, vlera e variablave tjera efektuese gjithashtu të ndryshoj.  

Gjuha programuese që inkorporon principet e rrjedhjes së të dhënave është quajtur gjuhë e rrjedhjes së të dhënave. Përpos procesimit numeric, gjuha e rrjedhjes së të dhënave gjithashtu inkorporon konceptin funksional. Ndryshe nga gjuhët tjera programuese të cilat përdorin programet e domosdoshme, programimi I rrjedhjes së të dhënave është modeluar si rend i funksioneve.  

Me ndonjë programim softveri, struktura e programit në kohën e dhënë është konsideruar e veqant. Struktura siguron një tregues të kushteve të ndryshme në një cast të caktuar. Në mënyrë që të funksionoj si duhet, shumica e gjuhëve programuese kërkojnë një sasi të konsiderueshme të informative të strukturës. Ky informacion është i padukshëm për programerin. Një concept tjetër kyq, e cila është e lidhur me cilindo lloj të programimit të robotit është concept i duhur.  

Kur një program është duke funksionuar, apo është duke u ekzekutuar është thënë të jetë në kohën e duhur. Termi I duhur gjithashtu është përdorur si formë e shkurtër kur I referohemi librarisë së duhur, e cila është library e instruksioneve të kodeve e përdorur nga gjuha e komjuterit për të menagjuar programin e shkruar në gjuhës.  Termi gjithashtu është përdorur nga zhvilluesëve të softverëve kur gabimet në program ndodhin. Gabimi në kohën e veprimit është një gabim që ndodh gjatë kohës së ekzekutimit. Për shembull, nëse krahu I robotit është programuar të kthehet në të majt, dhe ai kthehet djathtas, atëherë ai do të jetë gabim në kohën ë veprimit.  

Arkitektura softverike e sistemit përbëhet nga komponente të ndryshme softverike të përdorura për të dizajnuar dhe operuar softverin. Të gjitha metodat programuese mbështeten në arkitekturën e softverëve si metod e organizimit të sistemeve të softverëve, që ajo jo vetëm që siguron mbështetje të komunikimit por gjithashtu është një component kritik në hardver dhe në ndërlidhjen e softverit.

## Softuerët e robotëve industrial 
Softueri për robotët industrial përbëhet nga objektet e të dhënave dhe listës së instruksioneve, i njohur si rrjedh e programit (listë e instruksioneve).  

:Për shembull,
:*Go to Jig1*
:Është një instruksion për robotin të pozicionohet në të dhënat e quajtura *Jig1*.  Natyrisht programet gjithashtu përmbajnë të dhëna jo të dyshimta, :Për shembull
:Thuaj boshtit 1 zhvendosu  30 shkallë.
:Thë dhënat dhe program zakonisht rrinë ne seksione të ndara nga memoria kontrolluese e robotit.  Njëera mund ti ndryshojë të dhënat pa ndryshimin e programit dhe anasjelltas. Për shembull njëra mund të shkruaj programe të ndryshme duke përdorur të njëjtin *Jig1* ose njëra mund të rregulloj pozicionin e Jig1 pa e ndryshuarë programin që është duke e përdorur.

**Shembuj të gjuhëve programuese për robotët industrial**
Për arsye të natyrës së lartë të softuerëve robotic, shumë prodhues të harduerëve robotik gjithashtu sigurojnë softuerët e tyre.Përderisa kjho nuk është e pazakontë në sistemet tjera kontrolluese të automatizuara, mungesa standard e metodave programuese të robotëve pozicionojnë sfidat e caktuara.Për shembull, janë mbi 30 prodhues të robotëve industrial, pra janë edhe 30 gjuhë të ndryshme programuese të robotëve që kërkohen. Fatmirësisht, ka ngjashmëri të mjaftueshme ndërmjet robotëve të ndryshëm që është e mundshme të fitojnë kuptueshmëri të programimit të robotëve pa pasur nevojë të mësojnë secilën gjuhë të prodhuesve të robotëve.
Më poshtë janë treguar disa shembuj të publikuar të gjuhëve programuese.
Duke punuar në Anglisht: 

```
Move to P1 (a general safe position)
Move to P2 (an approach to P3)
Move to P3 (a position to pick the object)
Close gripper
Move to P4 (an approach to P5)
Move to P5 (a position to place the object)
Open gripper
Move to P1 and finish
```
 

**VAL** ishte njëra nga gjuhët e para të ‘robotëve’ dhe ishte përdorur në robotët Unimate. Varuantet e VAL-it janë përdorur nga prodhuesit e ndryshëm duke përfshirë Adept Technology.  Stäubli tani përdor VAL3.
:Shembull, programi:

```
PROGRAM PICKPLACE
  1. MOVE P1
  2. MOVE P2
  3. MOVE P3
  4. CLOSEI 0.00
  5. MOVE P4
  6. MOVE P5
  7. OPENI 0.00
  8. MOVE P1
.END
```
 
Epson RC+ 

```
Function PickPlace
       Jump P1
       Jump P2
       Jump P3
       On vacuum
       Wait .1
       Jump P4
       Jump P5
       Off vacuum
       Wait .1
       Jump P1
Fend
```
 
ROBOFORTH (gjuhë e bazuar në FORTH). 

```
: PICKPLACE
P1
P3 GRIP WITHDRAW
P5 UNGRIP WITHDRAW
P1
;
```
 
(Me Roboforth ju mund të specifikoni pozicionet e drejtuara për vendet që nuk ju nevojiten P2 dhe P4.)
Qartësisht roboti nuk duhet të bëjë lëvizjen tjetër derisa influencuensi është mbyllur plotësisht. Konfirmimi apo koha e lejuar është e padyshimt në shembujt e mësipërm të CLOSEI dhe GRIP ndonëse në vakum komandën kërkon ngadalësim të siguroj tërheqje të pranueshme.

## Gjuhët tjera programuese të robotit
### **Gjuhët  programuese vizuale**
Sistemi softverik për Lego Mindstorms robotët NXT  duhet të përmendet.Ai është bazuar dhe shkruar nga Labvieë.Rruga është që të startojmë më program më më mirë se me të dhëna. Programi është konstruktuar nga ikonat zvarritëse në hapsirat e programit dhe duke shtuar ose insertuar ne sekuenca.
Për  çdo ikonë specifikoni parametrat (të dhënat). Për shembull, për ikonen stytëst të motorit specifikoni cilët motorë dhe për sa ata zhvendosen . Kur program është shkruar ai është shkarkuar në Legon NXT (  mikrokontroller) për testim.

### **Gjuhët e shkruara**
Gjuha e shkruar është gjuhë programues e nivelit të lartë që është përdorur të kontrolloi aplikacionet e softverit, dhe është interpretuar në kohën e duhur, apo “transmetuar kalimthi), në vend që të ishte përpiluar më parë. Gjuha e shkruar mund të jetë gjuhë programues për qëllime të përgjithshme apo mund të jetë  e kufizuar në funksione të veqanta e përdorur  që të rrit veprimin e aplikacionit apo sistemit të programit. Disa gjuhë të shkruara, siq është RoboLogix, kanë objekte të të dhënave që qëndrojnë në regjistra, dhe rrjedha e programit prezenton listën e instruksioneve, ose bashkësin e instruksioneve,që është përdorur të programoj robotin.

 
**Bashkësia e instruksioneve të Robologix**
 
Skeda:RoboLogixInstructionSet.JPG

 

Gjuhët programuese në përgjithësi janë dizajnuar për ndertimin e strukturës të të dhënave dhe algoritmeve nga mbledhja, derisa gjuhët e shkruara janë menuar më shumë për lidhje, komponente dhe instruksione së bashku. Si pasojë bashkësia e instruksioneve të gjuhës së shkruar  zakonisht është listë e efektshme e komandave programuese që janë përdorurqë të thjeshtësojnë procesin programues dhe sigurojnë zhvillim të shpejtë të aplikacionit.

### **Gjuhët paralele**
:Gjuhët paralele janë një arritje tjetër interesante që duhet të përmendet.Te gjitha aplikacioneve robotike ju nevoitet paralelizmi dhe programimi bazë. Paralelizmi është kur roboti bën dy ose më shumë gjëra në të njejtën kohë .Kjo kërkon hardverin dhe softverin e përshtatshëm.Shumica e gjuhëvë programues  mbështetën në  klasa abstrakte komplekse  të përdorin paralelizmin dhe kompleksitetin që vjen me të ,si qasja konkuruese të shpërndojnë burimet.URBI siguron një nivel të lartë të abstraksionit nga integrimi I paralelizmit dhe ngjarjet në bërthamë e kuptimeve gjuhësore.

```
whenever(face.visible) 
{ 
headPan.val += camera.xfov * face.x 
& 
headTilt.val += camera.yfov * face.y 
}
```
 
Kodi I mëparshëm do të zhvendos headpen dhe headTilt motorët në paralele që të bëj që koka e robotit të ndjekë pamjen e fytyrës së njeriut në videon e marrë nga kamera e tij kudo që fytyra është parë nga roboti.

## Softveri  aplikativ I robotit
 

  

**Shembull e kontollës GUI të robotit**
Duke mos I kushtuar rëndesi se cila gjuhë është përdorur , rezultati përfundimtarë I softëverëve të robotit është të krijojnë aplikacione që ndihmojnë ose I dëfrejnë njerëzit. Aplikacionet përfshijnë komandat dhe kontrollin  duke detyruar softverin.Komanda dhe kontrolla përfshijnë kontrollën GUI për operim në largësi të robotëve, qëllo dhe kliko komandë e softverit pëe autonomin e softëverëve,dhe orarin softverik për robotët lëvizës në fabrika.Qëllimi I përgjithshëm I softverëve aplikativ të robotëve është pozicionuar në shpërndarjen e platformave robotike.

### **Elementet e sigurisë**
Gabimet programuese paraqesin element serioz të sigurisë, veqanarishtë në robotët e industrive të mëdha Fuqia dhe madhësia e robotëve  industrial do të thotë që ata janë të aftë të shkaktojne disa lëndime nësë janë programuar gabimisht ose janë përdorur në mënyr jot ë sigurtë.Përshkak të tollovisë dhe shpejtësis së madhetë robotëve industrial gjithmonë është ë pasigurtë për njeriun e mbetur në hapsirën e punës së robotëve gjatë operimit automatic.Sistemi mund të filloj lëvizjen e papritur, dhe njeriu nuk do të jetë në gjendje që të reagoj shpejtë në shumë situate , madje edhe nëse është I prëgatitur.Kështu , edhe nëse softveri nuk ka errore në programim, duhet të kemi kujdes të madh që të prodhojmë robot të sigurtë per njerzitë ,si dhe për komunikimin më njerzë si është ngarkimi ose shkarkimi I pjesëvë , pastrami I njese, apo mirëmbajtja.The ANSI/RIA R15.06-1999 
Standardi Nacional Amerikan per Robotët Industrial dhe Sistemin e Robotëve-Kërkesat  e sigurisë( rishikimi I ANSI/RIA R15.06-1992) libri nga asociacioni I industrisë së robotëve është standard I pranuar në sigurinë e robotëve.Kjo përfshinë udhërrëfyesin për të dyja dizajnet e robotëve industrial , dhe impelementimi ose integrimi dhe përdorimi I robotëve industrial në fabrika.Koncepte te konsiderueshme të sigurisë siç janë kontrollerët e sigurisë, shpejtësia maksimalegjatë kohës së mësimit,dhe përdorimi I barrierave fizike janë  mbuluar.

## Referimet
http://www.wikipedia.org*www.wikipedia.org*
: