Itcs a modern programozás gyára

A PR2 kezek hét fokozatú szabadságot biztosítanak, a kefék fogantyú formájában készülnek, bár jelenleg más modulok helyettesítésére is lehetőség van. Mindegyik kefe beépített nyomásérzékelővel, gyorsulásmérővel és LED-kijelzővel rendelkezik (az ecset helyének gyors meghatározásához). A többieknél meglehetősen szabványos kivitelezést alkalmazunk az összes modern érzékelővel és kamerával.

Itcs a modern programozás gyára

Szoftver nélkül minden modern robot egy halom fémhulladék, és most nagy különbség van a "felszereltség" és a "mi lehet" fogalmak között. Sok éven át a szoftver elkészítésének robotok az egyes alkalmazásokat, voltak lehetőségek kész szoftver rendszerek, de csak ritkán gondolt létrehozását külön a teljes körű speciális operációs rendszer. Ugyanakkor szükség van ilyenekre, és olyan befolyásos tényezők is megjelölhetők, mint az egyes műveletek végrehajtásáért felelős szoftveralkalmazások moduláris jellege, valamint az új lehetőségek gyors összekapcsolása / megvalósítása.

Az ilyen megfontolásokból született meg a ROS. Jelenleg két fő részből áll: maga a kernel és további szoftvereszközök (könyvtárak, illesztőprogramok, kész megoldások).

Mi az a ROS?

A ROS-t nem szabad "egy projekt alatt" operációs rendszernek tekinteni, bár a PR2 ma a mozdonya. A Robot operációs rendszer alapján több tucatnyi kereskedelmi és kísérleti modell működik, és ez a lista folyamatosan bővül.

Itcs a modern programozás gyára

Sok robot már a ROS-on alapul

Elvileg semmi több robotodelam valójában nem szükséges: ROS biztosítja a szükséges absztrakciós szinten a „vas”, a támogatást a nagyszámú modern berendezések szintjén a járművezetők és a könyvtárak, van saját arzenálját alapvető megoldások terén a kommunikáció és az üzenetküldés. Ugyanakkor maga a projekt nyílt forráskódú (BSD licensz), most egy meglehetősen komoly közösség kapcsolódik fejlesztéséhez, amelyben jelen vannak a fő egyetemek és az elektronikus berendezések gyártói.

ROS Kernel gond nélkül állítva Ubuntu, teszt üzemmódban is támogatja az OS X, Arch, Fedora, Gentoo, OpenSUSE, Slackware, Debian, és részleges funkcionális érhető el, ha telepítve van a Windows és a FreeBSD.

Az ROS a C ++ -en írt kódon alapul (a roscpp módosítása), a csomagok kisebb kiegészítéseit Python-ban is meg lehet írni (a rozsdás módosítása). Például mondjuk, hogy a C ++ programozási álló üzenetek, szűrés, joystick driver, kamerák, lézeres érzékelők, hang, algoritmikus adatfeldolgozás szűrők, 3D-elemzés és a számítógépes látás (OpenCV), döntési rendszerek és így tovább. A Pythonban sokkal kevésbé érhető el a funkció, de általánosságban a menedzsment is erre a nyelvre épülhet. A www.ros.org sok dokumentációjában gyakran talál példákat a listára a C ++ és a Python között. Az utóbbiaknál leggyakrabban az ügyfél-API-k kerülnek végrehajtásra. Lehet kezdetben úgy tűnik, hogy ugyanaz a PR2 robot van programozva csak „két plusz”, de ha ásni a könyvtár, akkor előfordulhat, hogy némelyik Pythonban. Általában, hogy együttműködjünk a ROS-val, két nyelvet kell tudnod.

További szoftver ROS

Amint már említettük, az ROS operációs rendszer kulcsfontosságú rendszermagból és kiegészítő szoftverből áll. Tekintsük az utóbbit részletesebben. Az a tény, hogy a robotika minden robotját használják és használják itt. Tehát, először is azt állítva ROS-PKG, amely tartalmazza a különböző könyvtárak, illesztőprogramok és szoftverek kiegészítői, főleg a külső fejlesztők, és ezen belül megvalósítások megtalálható algoritmusok végre a különböző alkalmazásokhoz.

Különösen a Willow Garage PR2 robot számára van egy további WG-ROS-PKG szoftvercsomag.

Ami a szenzorokat és a berendezéseket illeti, kiegészítő gyűjtemények keretében támogatja az egész modern spektrumot:

Az eszközzel való kommunikáció többféle típusnak számít, a legelterjedtebb verzió a library actionlib könyvtárban valósul meg, amely szabványos ügyfél-kiszolgáló architektúrát biztosít.

Ezen kívül külön gyűjtemény az OpenCV (Open Source Computer Vision Library) alapú robotika megvalósítása, amelyet részletesebben meg kell vitatni.

Milyen feladatok relevánsak most?

A PR2 multifunkcionális robotként működik, sőt, bármilyen feladatot elvégezhet, amelyet beprogramozott: sakktól a törölközőig. Azt kell mondani, hogy drága - 400 ezer dollár, és természetesen nem mindenki engedheti meg magának ilyen drága játékot.

Itcs a modern programozás gyára

De van egy olyan rés, ahol a PR2 különösen releváns - oktatási intézmények. Végtére is egy kérdés a modern robotok elméleti programozásának tanulmányozása, a másik pedig a gyakorlatban. Ezért a cég Willow Garage most lépett fel ebben a szegmensben, és ingyen bemutatta 11 iskola robotjainak. Ráadásul meglehetősen nagy reményeket kap a közösség, amely lehetőséget kap a PR2 távprogramozásra. A cég honlapján megtalálja az összes forráskódot magyarázattal, valamint részt vesz az időszakosan lebonyolított versenyeken. Általánosságban meg kell jegyezni, hogy a PR2 minden fontos fejleménye nagyrészt a fejlesztő cég által tartott versenyek eredménye.

Az egyik az utolsó, tavasszal, és az úgynevezett Perception Challenge, azaz elkötelezett az elismerés. A résztvevők összesen 35 témát kaptak, pontosabban leírásaikat (méretüket) és fényképüket. Mint ilyen tárgyak, rendes dolgok, mint például a dobozok élelmiszerrel, tejzsákokkal stb. Ennek alapján szükség volt olyan program készítésére, amely képes a robot oktatására:

  • Egy objektum felismerése különböző pozíciókban.
  • Az objektumok készletének felismerése különböző pozíciókban.
  • Az objektum felismerése és azonosítása (felismerése) különböző pozíciókban.
  • Az objektumok halmazának felismerése és azonosítása (felismerése) különböző pozíciókban.

A verseny során 35 eredeti tárgy mellett a szervezők 15 új játékost adtak hozzá. Ez hangsúlyozta a robot dinamikus tanulásának lehetőségét "menet közben". Az első helyért járó díj 7 ezer dollár volt.

Itcs a modern programozás gyára

Számítógépes látás PR2

A PR2-ben a kutatás fejlesztésének más területei között négy vagy öt fő terület van, amelyeket külön is megvitatunk.