Ako vytvoriť a simulovať službu štúdio robotiky spoločnosti Microsoft?
Ukáže vám, ako použiť C# a editor manifestov programu Microsoft Robotics Studio na vytvorenie služby a sledovanie jej prevádzky v simulačnom prostredí.
- 1Nainštalujte si robotické štúdio Microsoft.
- Prejdite na Microsoft download
- Vyhľadajte robotiku
- Stiahnite si Microsoft Robotics Studio 1,5
- Stiahnite si aktualizáciu Runtime and Tools pre Microsoft Robotics Studio (1,5) z novembra 2007
- Nainštalujte obidva
- 2Vytvorte novú prázdnu službu
- Vytvorte prázdnu službu z ponuky Štart, Programy, Microsoft Robotics Studio (1,5)
- Spustite príkazový riadok MSRS
- Zadajte 'md My' a vytvorte nový adresár pre vaše projekty
- Ak sa chcete presunúť do tohto adresára, zadajte príkaz „cd My“
- Zadajte „dssnewservice /služba: najjednoduchšie“
- 3Pridajte do svojho projektu základné ovládanie, aby sme vám odporučili partnera v oblasti pohonov
- Ak sa chcete presunúť do adresára nových služieb, zadajte príkaz „cd Simplest“
- Zadajte „Simplest.sln“ a otvorte svoju službu v programe Visual Studio C#
- Otvorte Prieskumníka riešení (ctrl-w, s)
- Pridajte odkaz na RoboticsCommon.proxy
- V programe Solution Explorer otvorte súbor Simplest.cs
- Na začiatok pridajte nový príkaz using „using drive = Microsoft.Robotics.Services.Drive.Proxy; '
- Pridajte nižšie uvedenú referenciu na partnera.
- Pridajte port pre tohto partnera tesne pod riadok [Služba...], do ktorého ste práve pridali „súkromný disk.DriveOperations _drivePort = nový disk.DriveOperations ();“
- Pridajte ďalší port tesne pod jeden súkromný disk.DriveOperations _driveNotify = nový disk.DriveOperations (); '
- Tento port budeme používať na skutočne spracovanie oznámení, ktoré nám budú zaslané. Umožňuje to, aby bol _drivePort bezplatný tak často, ako je to možné
- 4Teraz si vypočujme oznámenia tohto partnera
- Chceme, aby port _driveNotify dostával správy odoslané na server _drivePort. Pridajte teda '_drivePort.Subscribe (_driveNotify);' nižšie ako „base.Start ();“ vo funkcii Štart.
- Teraz musíme pridať funkciu na počúvanie správ, ktoré prichádzajú na port _driveNotify. Kód, ktorý pridávame, je komplexný pre jednoduchý koncept, ktorý chceme dosiahnuť. Umožňuje však runtime lepšie synchronizovať spracovanie (aspoň z toho, čo tomu rozumiem)
- V tomto bloku kódu sme urobili odkaz na funkciu s názvom DriveUpdateHandler. Tu je implementácia. Všetko, čo robí, je nastaviť robota do širokého kruhu. Toto nie je najlepší spôsob, ako to urobiť. Poskytuje však rýchle pochopenie toho, ako sa všetko zapojí.
- Zostavte projekt. Malo by sa to skompilovať a postaviť v pohode.
- 5Teraz, keď sme s partnerom prepojení, bude počúvať aktualizačnú správu, ktorú chceme pripojiť k simulačnému prostrediu. V našom kóde sme konkrétne neuviedli, že sa pripájame k simulačnému prostrediu. Musíme to teda urobiť niekde inde. Toto miesto je v súbore manifestu. Ten pre tento projekt sa nazýva Simplest.manifest.xml. Chceme ho otvoriť v editore manifestu.
- Od začiatku spustite Programy, Microsoft Robotics Studio (1,5) a spustite Microsoft Dss Manifest Editor.
- Kliknite na položku Súbor, Otvoriť, vyberte súbor manifestu C: \ Microsoft Robotics Studio (1,5) \ My \ Simplest \ Simplest.manifest.xml
- Nájdite službu Simulation Engine v zozname služieb vľavo. Pridajte ho do svojho manifestu.
- Keď je vo vašom manifeste vybratý SimulationEngine, kliknite na tlačidlo Importovať počiatočný stav v okne vlastností.
- Prejdite do priečinka sample \ config (C: \ Microsoft Robotics Studio (1,5) \ sample \ Config)
- Zmeňte typ súboru na Ľubovoľný súbor XML
- Vyberte súbor iRobot.Create.Simulation.xml
- Tým sa načíta veľa štandardných entít (blokov a podobne), ako aj entita iRobot Create. Nesie názov IRobotCreateMotorBase
- Teraz vyberieme najjednoduchšiu službu v editore manifestu
- Potom v zozname služieb vľavo nájdite Simulovaný generický diferenciálny pohon
- Pridajte ho do diagramu manifestu tak, že ho potiahnete NAVIRE najjednoduchším záznamom jednotky v manifeste. To bude mať za následok dve veci. Pridajte službu SimulatedGenericDifferentialDrive A spojte ju s najjednoduchšou službou pohonu. Preto sme v vyhlásení [Partner...] v našom kóde vybrali PartnerCreationPolicy.UsePartnerListEntry.
- Zostáva iba priradiť službu SimulatedGenericDifferentialDrive k skutočnej entite v konfigurácii SimulationEngine. Kliknite teda na odkaz Entity v časti SimulatedDifferentialDrive a nastavte vlastnosť entity Simulation na „http: // localhost/IRobotCreateMotorBase“.
- 6Stlačte kláves f5. V žiadnom prípade nie som odborník. Trvalo mi pár týždňov, kým som na to prišiel. A keďže tieto časti konečne klikali, rozhodol som sa ich zverejniť v prospech všetkých.
Prečítajte si tiež: Ako resetovať heslo na PS2?