2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
ROS-toiminnan hallinta
ROS on monen prosessin (solmun) hajautettu kehys, täydellinen ROS-järjestelmän toteutus:
Voi sisältää useita isäntiä;
Jokaisessa isännässä on useita työtiloja;
Jokainen työtila sisältää useita toimintopaketteja;
Jokainen toimintopaketti sisältää useita solmuja (Node), ja eri solmuilla on omat solmun nimensä;
Jokaiseen solmuun voidaan myös asettaa yksi tai useampi aihe...
Monitasoisessa ROS-järjestelmässä sen toteutuksessa ja ylläpidossa voi ilmetä ongelmia, kuten
1. Eri toimintopakettien yhdistäminen ----(metafunktiopaketti)
2. Erilaisten ROS-solmujen käynnistäminen ----(käynnistystiedosto)
3. Kuinka käsitellä funktiopakettien, solmujen, aiheiden ja parametrien päällekkäisiä nimiä ----(Päällekkäisten nimien ongelman ratkaiseminen)
4. Kuinka eri isäntien solmut kommunikoivat ----(hajautettu viestintä)
Tämän luvun pääsisältö esittelee ratkaisut yllä oleviin ROS-ongelmiin (katso tämän luvun sisällysluettelo). Odotetut oppimistavoitteet vastaavat myös yllä olevia ongelmia:
Skenaario: Systemaattisen toiminnon suorittaminen ROS:ssa voi sisältää useita toiminnallisia paketteja, kuten robottinavigointimoduulin toteuttamisen, jossa on erilaisia alitason toiminnallisia paketteja, kuten kartta, paikannus, polun suunnittelu jne. Joten kun soittaja asentaa moduulin, tarvitseeko sen asentaa jokainen toimintopaketti yksitellen?
On selvää, että toimintopakettien asentaminen yksitellen on tehotonta .
MetaPackage on tiedostonhallintajärjestelmäkonsepti Linuxissa. Se on virtuaalinen paketti ROS:ssa. Siinä ei ole sisältöä, mutta se perustuu muihin ohjelmistopaketteihin. Tällä tavalla voimme ajatella sitä kirjan hakemistona -paketit ovat pakettikokoelmassa ja mistä ne voi ladata.
Esimerkiksi:
Käyttäjän asennuksen helpottamiseksi tarvitsemme vain tämän yhden paketin muiden liittyvien ohjelmistopakettien järjestämiseen ja asentamiseen yhdessä.
vaihe 1: Ensin: luo uusi toimintopaketti
vaihe2: Sitten: muokkaa pakettia.xml, sisältö on seuraava:
<exec_depend>Integroidut ominaisuuspaketit</exec_depend>
…
<export>
<metapackage />
</export>
vaihe 3: Lopuksi: muokkaa CMakeLists.txt-tiedostoa, sisältö on seuraava:
cmake_minimum_required (VERSIO 3.0.2)
projekti (demo)
find_package(pakollinen)
kissan_metapapaketti()
Säilytä yllä olevat neljä riviä ja poista loput.
Katso myös:
http://wiki.ros.org/catkin/package.xml#Metapackages
Käynnistystiedostojen käyttö ei ole meille enää tuttua. Ensimmäisessä luvussa esittelimme:
Ohjelman on ehkä käynnistettävä useita solmuja, kuten ROS:n sisäänrakennettu pieni kilpikonnakotelo. Jos haluat hallita kilpikonnan liikettä, sinun on käynnistettävä useita ikkunoita, aloitusroscore, kilpikonnan käyttöliittymäsolmu ja näppäimistön ohjaussolmu. vastaavasti. Jos rosrun kutsutaan joka kerta käynnistämään yksitellen, se on selvästi tehotonta.
Optimointistrategiana on käyttää roslaunch-komentoa käynnistystiedoston keräämiseen hallintasolmun käynnistämiseksi, ja myöhemmissä opetusohjelmissa myös käynnistystiedostoa käytetään monta kertaa.
Käynnistystiedosto on XML-muotoinen tiedosto, joka voi käynnistää useita paikallisia ja etäsolmuja ja asettaa parametreja parametripalvelimessa.。
Yksinkertaista solmujen konfigurointia ja käynnistystä ja paranna ROS-ohjelmien käynnistystehokkuutta.
Otetaan esimerkkinä kilpikonnat
vaihe 1. Luo uusi käynnistystiedosto
Lisää käynnistyshakemisto toimintopaketin alle, luo hakemistoon uusi xxxx.launch-tiedosto ja muokkaa käynnistystiedostoa
<launch>
<node pkg=“turtlesim” type=“turtlesim_node” name=“myTurtle” output=“screen” />
<node pkg=“turtlesim” type=“turtle_teleop_key” name=“myTurtleContro” output=“screen” />
</launch>
vaihe 2. Puhelun aloitustiedosto
roslaunch-paketin nimi xxx.launch
Huomautus: Kun roslaunch-komento suorittaa käynnistystiedoston, se määrittää ensin, onko roscore käynnistetty. Jos se käynnistetään, sitä ei käynnistetä uudelleen.
Voi viitata:
http://wiki.ros.org/roslaunch/XML
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=150&spm_id_from=pageDriver&vd_source=15dd2e64f0499027ca66125b65dd2de9