Teknologian jakaminen

ROS-perusoppiminen-ROS-toiminnan hallinta

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

ROS-toiminnan hallinta

1. Lyhyt kuvaus ROS-toiminnanhallinnasta

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...

Lisää kuvan kuvaus tähän
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:

  • Hallitse metafunktiopakettien käytön syntaksi;
  • Hallitse käynnistystiedostojen käytön syntaksi;
  • Ymmärrä ROS-työtilan kattavuus ja mitä turvallisuusriskejä siinä on;
  • Ymmärtää kuinka käsitellä päällekkäisiä solmun nimiä;
  • Ymmärrä, kuinka käsitellä aiheita, joilla on päällekkäiset nimet;
  • Ymmärtää kuinka käsitellä päällekkäisiä parametrien nimiä;
  • Pystyy saavuttamaan hajautetun ROS-viestinnän.

2. ROS-metafunktiopaketti

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 .

2.1 Konsepti

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:

  • Komento sudo apt install ros-noetic-desktop-full käyttää meta-funktiopakettia osia asennettaessa. Tämä metafunktiopaketti riippuu joistakin muista ROS:n toimintopaketeista.
    On myös joitain yleisiä MetaPackages: navigation moveit3…

2.2 Toiminto

Käyttäjän asennuksen helpottamiseksi tarvitsemme vain tämän yhden paketin muiden liittyvien ohjelmistopakettien järjestämiseen ja asentamiseen yhdessä.

2.3 Toteutus

vaihe 1: Ensin: luo uusi toimintopaketti
vaihe2: Sitten: muokkaa pakettia.xml, sisältö on seuraava:

<exec_depend>Integroidut ominaisuuspaketit</exec_depend>

<export>
<metapackage />
</export>
Lisää kuvan kuvaus tähän

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

3. ROS-käynnistystiedosto

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.

3.1. ROS-solmun hallinnan käynnistystiedosto

3.1.1 Konsepti

Käynnistystiedosto on XML-muotoinen tiedosto, joka voi käynnistää useita paikallisia ja etäsolmuja ja asettaa parametreja parametripalvelimessa.

3.1.2 Toiminto

Yksinkertaista solmujen konfigurointia ja käynnistystä ja paranna ROS-ohjelmien käynnistystehokkuutta.

3.1.3 Käyttö

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

3.2 käynnistä tiedostotunniste

https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=150&spm_id_from=pageDriver&vd_source=15dd2e64f0499027ca66125b65dd2de9