Päivitys (14 / 02 / 2026): Meillä on runsaasti varastossa kaikkia tuotteitamme, löydät meidät myös täältä ja    Lue lisää

Kuinka integroida u-blox ZED-F9P GNSS/RTK-vastaanotin ROS 2:een (Jazzy)

integrointi u-blox ZED-F9P GNSS/RTK-vastaanotin ROS 2 Jazzyyn
integrointi u-blox ZED-F9P GNSS/RTK-vastaanotin ROS 2 Jazzyyn

Tässä opetusohjelmassa selitetään, miten integroidaan u-blox ZED-F9P RTK GNSS vastaanotin robotilla, jossa on ROS 2 (Jazzy). Opit kytkemään laitteiston, konfiguroimaan vastaanottimen, perustamaan ROS 2 -työtilan ja käynnistämään tarvittavat solmut vastaanottamaan ja käsittelemään erittäin tarkkaa GPS-dataa RTK-korjauksilla... NTRIP palvelusta.

Tämän oppaan loppuun mennessä sinulla on täysin toimiva ROS 2 -kokoonpano, joka suoratoistaa reaaliaikaista RTK-dataa RTK-vastaanottimestasi seuraavien ominaisuuksien perusteella: u-blox ZED-F9P—sopii robotiikan sovelluksiin, jotka vaativat senttimetritason paikannustarkkuutta.

Vaadittu laitteisto:

  • simpleRTK2B – Perusaloitussarja
  • USB-kaapeli Yhteensopiva vastaanottimen USB-portin kanssa PC-tietokoneeseen tai sulautettuun alustaan ​​liittämistä varten
  • tietokone tai sulautettu alusta, jossa on internetyhteys (tässä opetusohjelmassa käytämme tietokonetta)

Vaadittu ohjelmisto:

Hyödyllisiä resursseja

  1. Hyödyllisiä resursseja Ubuntun asentamiseen:
  2. WSL:n tai virtuaalikoneiden käyttö: Jos haluat käyttää WSL:ää tai virtuaalikoneita, RTK-vastaanotin on jaettava Ubuntun kanssa. Ohjeet sen jakamiseen järjestelmän kanssa ovat seuraavat:
  3. NTRIP Palvelun käyttöVarmista, että sinulla on käyttöoikeus ja tunnistetiedot NTRIP palvelu. Jos tarvitset apua korjauspalvelun löytämiseen, katso lisätietoja kohdasta Luettelo NTRIP korjauspalvelut maassasi.
  4. RTK-vastaanottimen konfigurointiVarmista, että RTK-vastaanottimesi on konfiguroitu RoverJos tarvitset apua konfiguroinnissa u-blox ZED-F9P kuten Rover, katso meidän ZED-F9P Asetustiedostot.

Kuinka perustaa u-blox ZED-F9P RTK-vastaanotin ROS 2:lla?

ROS 2 -ympäristön asennus

  1. Kun ROS 2 -ympäristö on asennettu noudattamalla ohjeita ROS2-asennusopas, oletuksena se ei ole aktiivinen, kun avaat pääteikkunan.
    Korjaa tämä avaamalla Pääte ja suorittamalla seuraava komento määrittääksesi Ubuntun lataamaan ROS 2 -ympäristön automaattisesti Pääte-käynnistyskokoonpanoosi.
    
     echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
    
   
  1. Muutosten käyttöönotto tapahtuu alla olevalla komennolla. Tämän jälkeen ROS 2 on käyttövalmis aina, kun avaat pääteikkunan.

    
     source ~/.bashrc
    
   
  1. ROS 2:n riippuvuuksien hallitsemiseksi päivitä pakettiluettelosi ja asenna ros-dev-tools, Johon sisältyy rosdep ja muita hyödyllisiä kehitystyökaluja ROS 2:lle.
    
     sudo apt update && sudo apt install ros-dev-tools
    
   

Liitä RTK-vastaanotin

  1. Kytke RTK-antenni vastaanottimeen. Aseta antenni paikkaan, josta on hyvä näkyvyys taivaalle, tai ikkunan lähelle testataksesi sen toimivuutta.
  2. Liitä vastaanotin tietokoneeseen USB-portin kautta, jossa on merkintä ”POWER+GPS"
  3. Vastaanottimen pitäisi konfiguroitua automaattisesti. Voit varmistaa tämän avaamalla Pääte-ikkunan ja kirjoittamalla komennon. Sinun pitäisi nähdä / dev / ttyACM0 (tai vastaava laite, esim. / dev / ttyACM1).
    
     ls /dev/ttyACM*
    
   
integrointi u-blox ZED-F9P rtk-vastaanotin korjauksilla ROS2 ttyACM:ään
  1. Tarkistaaksesi RTK-vastaanottimesta tulevan GPS-virran, suorita komento terminaalissa. Se näyttää vastaanottimesta suoratoistettavan GPS-raa'an datan. Paina Ctrl + C pysähtyä.
    
     sudo cat /dev/ttyACM0
    
   
  1. Vinkki: Jos et näe mitään tulostetta tai laite puuttuu, varmista, että käyttäjälläsi on asianmukaiset käyttöoikeudet (esim. että hän kuuluu dialout-ryhmään). Voit lisätä itsesi alla olevalla komennolla. Kirjaudu sen jälkeen ulos ja kirjaudu takaisin sisään, jotta muutokset tulevat voimaan.
    
     sudo usermod -a -G dialout $USER
    
   
  1. Estääksesi RTK-vastaanottimen käynnistymisen eri "ttyACM*” joka kerta, kun se kytketään päälle, luo udev-sääntö (dynaaminen linkki), joka luo tietyllä nimellä varustetun merkinnän lisäämällä seuraavan tiedoston ennen RTK-vastaanottimen yhdistämistä.
    
     sudo nano /etc/udev/rules.d/50-ardusimple.rules
    
   
  1. Kirjoita seuraava teksti sääntöön:
    
     KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
    
   
  1. lehdistö Ctrl + X poistuaksesi tiedostosta ja paina Y tallentaaksesi muokatun puskurin.
  2. Irrota RTK-vastaanotin (katkaise virta) ja kytke se (virta) uudelleen.
  3. Nyt aina kun RTK-vastaanotin on kytketty, se on käytettävissä kohdasta ”/dev/tty_Ardusimple”-linkkiä. Tarkistaaksesi tämän, anna seuraavat komennot:
    
     sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
    
   
  1. Nyt voit nähdä sen "tty_ArduSimple" on luotu.

Valmistele uusi ROS 2 -työtila projektia varten

  1. Työtilahakemiston luomiseksi avaa Pääte ja luo kansio (esimerkiksi ros2_ws) kanssa src alikansio:
    
     mkdir -p ~/ros2_ws/src
    
   
  1. Siirry työtilaan.
    
     cd ~/ros2_ws
    
   
  1. Työtilan rakentamiseen käytä colcon rakentaa kaikki paketit sisälle src:
    
     colcon build
    
   
  1. Lähde asennustiedostosta, jotta komentotulkkisi tunnistaa juuri rakennetut paketit:
    
     source install/setup.bash
    
   
  1. Lisää tämä komento tiedostoon ~/.bashrc (tai vastaavaan), jotta saat lähdekoodin automaattisesti käyttöön aina, kun avaat uuden päätelaitteen.
    
     echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
    
   
integrointi u-blox ZED-F9P rtk-vastaanotin korjauksilla ROS2:n työtilaan
  1. Nyt sinulla on perus-ROS2-työtila määritettynä jatkokehitystä ja integrointia varten ArduSimple RTK.

Käynnistä solmu ROS 2:ssa yhteyden muodostamiseksi RTK-vastaanottimeen

Tässä osiossa lataamme ja rakennamme u-blox ROS 2 -solmu ja suorita sitten nopea testi varmistaaksesi, että se pystyy kommunikoimaan ArduSimple RTK-laite. Vaikka demonstroimme laukaisutiedoston muokkaamista suoraan u-blox pakettia, suosittelemme luomaan erillisen paketin omilla mukautetuilla käynnistystiedostoillasi myöhemmässä vaiheessa.
  1. Kloonataksesi u-blox repository ROS 2 -työtilaan (~/ros2_ws/src):
    
     cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/KumarRobotics/ublox.git

    
   
  1. Aloittaa rosdep ja lataa uusimmat pakettiriippuvuusmääritelmät.
    
     sudo rosdep init
rosdep update
    
   
integrointi u-blox ZED-F9P rtk-vastaanotin korjauksilla ROS2:een, aloita ROSdep
  1.  Rakentaa u-blox Solmu, palaa päätyötilan kansioon ja käännä:
    
     cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash

    
   
  1. Nyt u-blox Solmu on käytettävissä ROS2-ympäristössäsi.
  2. Muokkaa määritystiedostoa päivittääksesi laitepolkuja tai parametreja tarpeen mukaan (käytämme /dev/tty_Ardusimple). Ublox_gps-paketti sisältää oletusasetustiedoston nimeltä zed_f9p.yamlAvaa asetustiedosto komennolla:
    
     nano ~/ros2_ws/src/ublox/ublox_gps/config/zed_f9p.yaml
    
   
  1. Muokkaa määritystiedostoa päivittääksesi laitepolkuja tai parametreja tarpeen mukaan. Meidän tapauksessamme aseta laitepoluksi /dev/tty_Ardusimple.
  1. Solmun konfiguroimiseksi zed_f9p.yaml asetukset, päivitä käynnistystiedosto. Avaa tiedosto ja lisää seuraava rivi ladataksesi kokoonpanon:
    
     nano ~/ros2_ws/src/ublox/ublox_gps/launch/ublox_gps_node-launch.py
    
   
  1. Rakenna paketit uudelleen. Suosittelemme käyttämään erillinen paketti mukautettuja kokoonpano- ja käynnistystiedostoja varten pitääksesi asiat järjestyksessä. Keskustelemme tästä lähestymistavasta myöhemmin.
    
     cd ~/ros2_ws
colcon build
source install/setup.bash
    
   
integraatio u-blox ZED-F9P rtk-vastaanotin korjauksin ROS2 Jazzy -uudelleenrakennukseen
  1. Käynnistä GPS-solmu ja testaa yhteys:
    
     ros2 launch ublox_gps ublox_gps_node-launch.py
    
   
  1. Jos kaikki on määritetty oikein, solmun pitäisi alkaa julkaista GPS-dataa ArduSimple vastaanotin.
  1. Vältä solmun pysäyttäminen avaamalla uusi pääte ja alustamalla työtila alla olevalla komennolla. Jos tämä solmu pysäytetään, u-blox laite ei enää julkaise aiheitaan eikä tarjoa palveluitaan.
    
     source ~/ros2_ws/install/setup.bash
    
   
  1. Suorita seuraava komento nähdäksesi käytettävissä olevat aiheet. Etsi aiheita, kuten /ublox_gps_node/korjaus, joka sisältää GPS-dataa sensor_msgs/NavSatFix-muodossa jne.
    
     ros2 topic list
    
   
  1. Suorita komento nähdäksesi GPS-tiedot reaaliajassa. 
    
     ros2 topic echo /ublox_gps_node/fix
    
   
  1. Voit pysäyttää suoratoiston painamalla Ctrl + C.
  2. Katso luettelo solmun tarjoamista palveluista.
    
     ros2 service list
    
   
  1. Nyt sinulla on u-blox ROS 2 -solmu on käynnissä ja julkaisee reaaliaikaista dataa RTK-vastaanottimestasi.
    Tärkeää:
    • Älä pysäytä u-blox solmu. Tämän solmun on oltava käynnissä ennen kuin seuraavat vaiheet käynnistetään NTRIP asiakas, koska korjauspalvelin tarvitsee reaaliaikaista GPS-dataa RTCM-korjausten laskemiseen ja lähettämiseen.
    • u-blox Solmun on pysyttävä aktiivisena visualisoidakseen GPS-lähtöä ros2-aiheen kaiun avulla, kuten edellisessä vaiheessa on esitetty.

Käynnistä solmu ROS 2:ssa käytettäväksi NTRIP korjaukset

Käytämme ntrip_client ROS2-solmu yhteyden muodostamiseksi NTRIP Caster ja vastaanottaa RTCM-korjauksia tarkemman paikannuksen aikaansaamiseksi. Tämä solmu voi myös välittää paikallisia NMEA lauseita etäpalvelimelle tarvittaessa. Alla on lyhyt yleiskatsaus sen määrittämiseen ja testaamiseen.
Huomautus: Varmista, että GPS-yhteyssolmu on jo käynnissä, sillä sitä tarvitaan korjaustietojen lähettämiseen.
  1. Siirry ROS2-työtilahakemistoon ja kloonaa ROS 2 -haara.
    
     cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/LORD-MicroStrain/ntrip_client.git
    
   
  1. Palaa työtilan juurihakemistoon, asenna puuttuvat riippuvuudet ja rakenna paketti.
    
     cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
    
   
  1. Avaa tiedosto ntrip_client_launch.py ja vieritä alas löytääksesi koodin, jossa NTRIP tunnistetiedot on asetettu.
    
     nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
    
   
  1. Päivitykset NTRIP parametrit, kuten isäntä, portti, käyttäjätunnus, salasana ja liitoskohta, ja tallenna muutokset tiedostoon.
    
     nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
    
   
  1. Rakenna paketit uudelleen:
    
     cd ~/ros2_ws
colcon build
source ~/ros2_ws/install/setup.bash
    
   
  1. Käynnistä Node omalla NTRIP parametrit yhteyden muodostamiseksi NTRIP Caster:
    
     ros2 launch ntrip_client ntrip_client_launch.py
    
   
  1. Vältä solmun sulkeminen avaamalla uusi pääte ja alustamalla työtila.
    Huomautus: Jos solmu pysäytetään, u-blox laite lakkaa vastaanottamasta korjaustietoja. u-blox solmun on oltava käynnissä ennen käynnistämistä NTRIP asiakas, koska se toimittaa tarvittavat GPS-tiedot korjauspalvelimelle. Jos u-blox Jos solmu pysäytetään, se ei enää julkaise tarvittavia aiheita ja palveluita, eikä rtk-vastaanotin enää vastaanota korjaustietoja.
    
     source ~/ros2_ws/install/setup.bash
    
   
  1. Vältä solmun sulkeminen avaamalla uusi pääte ja alustamalla työtila.
    Huomautus: Jos solmu pysäytetään, u-blox laite lakkaa vastaanottamasta korjaustietoja. u-blox solmun on oltava käynnissä ennen käynnistämistä NTRIP asiakas, koska se toimittaa tarvittavat GPS-tiedot korjauspalvelimelle. Jos u-blox Jos solmu pysäytetään, se ei enää julkaise tarvittavia aiheita ja palveluita, eikä rtk-vastaanotin enää vastaanota korjaustietoja.
    
     source ~/ros2_ws/install/setup.bash
    
   
  1. Näytä luettelo käytettävissä olevista aiheista. 
    
     ros2 topic list
    
   
  1. Tärkeimmät aiheet, joita saatat nähdä:
    • /rtcm: Julkaisee RTCM-korjaustiedot (joko mavros_msgs/RTCM tai rtcm_msgs/Message kokoonpanosta riippuen).
    • /nmea: Tilaa paikalliset NMEA-lauseet ja välittää ne palvelimelle.
    • /ublox_gps_node/korjausVoi myös lähettää globaalin sijaintitiedon, jos se ei ole jo NMEA-muodossa.
  1. Jos kaikki on tehty oikein ja onnistuneesti, näet solmun julkaisevan RTCM-korjaukset /rtcm aihe. Käyttämällä ntrip_client Node-sovelluksella voit integroida RTCM-korjaustiedot ROS 2 -projektiisi mahdollistaaksesi tarkan paikannuksen RTK-vastaanottimella.
    
     ros2 topic echo /rtcm
    
   
  1. Tämän solmun avulla voit integroida RTCM-korjausdataa ROS 2 -projektiisi mahdollistaaksesi tarkan paikannuksen RTK-vastaanottimella.

Yhdistetyn käynnistyspaketin luominen

Luomme erillisen paketin, joka sisältää yhden käynnistystiedoston suorittamista varten sekä Ishayoiden opettaman ublox_gps solmu (julkaisee GPS-dataa) ja ntrip_client solmua (käsittelee RTK-korjauksia) samanaikaisesti. Tämä lähestymistapa pitää työtilasi järjestyksessä ja helpottaa kaikkien tarvittavien solmujen käynnistämistä yhdellä komennolla.

  1. Avaa uusi pääteikkuna, siirry ROS2-työtilaan ja luo uusi paketti. Python-pohjaisen käynnistysnanofilmin luomiseksi suorita seuraavat komennot:
    
     cd ~/ros2_ws/src
ros2 pkg create combined_rtk --build-type ament_python
    
   
  1. Luo käynnistyshakemisto ja Python-käynnistystiedosto uuden paketin sisälle.
    
     mkdir -p combined_rtk/launch
nano ~/ros2_ws/src/combined_rtk/launch/combined_nodes.launch.py
    
   
  1. Kopioi alla olevan esimerkin koodi ja liitä se tiedostoon. Koodi tekee seuraavaa:
  • ublox_gps Solmu: Julkaisee raakadataa GPS-laitteestasi ArduSimple laitteelle.
  • ntrip_client Solmu: Yhdistää NTRIP caster/server ja julkaisee RTCM-korjaukset /rtcm (ja voi myös tilata /nmea- tai /fix-kansion tarvittaessa).
  • Shebang (#!/usr/bin/env python3) – Varmistaa, että tiedosto suoritetaan Python-skriptinä.
  • Käynnistyskuvaus – Määrittää, mitkä solmut käynnistetään.
  • Solmu parametrit – Asettaa solmukohtaiset parametrit (esim. laite, isäntä, portti, todennus).
    
     from launch import LaunchDescription
from launch_ros.actions import Node
from launch.actions import SetEnvironmentVariable

def generate_launch_description():
    # ---------------------------------------------
    # Node configuration for ublox_gps
    # ---------------------------------------------
    ublox_node = Node(
        package='ublox_gps',                  # ROS 2 package containing the ublox GPS driver
        executable='ublox_gps_node',          # Executable name for the ublox GPS node
        name='ublox_gps_node',                # Name assigned to the node
        output='screen',                      # Output log to screen
        parameters=[{                         # Node parameters defined inline
            'debug': 0,                       # Debug level (0 = none)
            'device': '/dev/tty_Ardusimple',  # Serial port where GPS is connected
            'frame_id': 'gps',                # Frame ID to tag published GPS messages
            'uart1': {
                'baudrate': 9600              # Baudrate for UART1
            },
            'tmode3': 1,                      # Survey-in mode (TMODE3 = 1)
            'sv_in': {                        # Survey-in configuration
                'reset': True,                # Reset survey-in every startup
                'min_dur': 300,               # Minimum duration for survey-in (seconds)
                'acc_lim': 3.0                # Accuracy limit for survey-in (meters)
            },
            'inf': {
                'all': True                   # Enable all INF messages on console
            },
            'publish': {
                'all': True,                  # Publish all available messages
                'aid': {
                    'hui': False              # Do not publish aiding HUI messages
                },
                'nav': {
                    'posecef': False          # Do not publish NAV-POSECEF messages
                }
            }
        }]
    )

    # ---------------------------------------------
    # Environment variable to control NTRIP client debug
    # ---------------------------------------------
    set_debug_env = SetEnvironmentVariable(
        name='NTRIP_CLIENT_DEBUG',  # Name of the environment variable
        value='false'               # Disable debug output
    )

    # ---------------------------------------------
    # Node configuration for NTRIP client
    # ---------------------------------------------
    ntrip_node = Node(
        package='ntrip_client',              # ROS 2 package containing the NTRIP client
        executable='ntrip_ros.py',           # Python script for the NTRIP client
        name='ntrip_client',                 # Name assigned to the node
        output='screen',                     # Output log to screen
        parameters=[{                        # Parameters required for NTRIP connection
            'host': 'ppntrip.services.u-blox.com',  # NTRIP caster hostname
            'port': 2101,                            # NTRIP port (integer)
            'mountpoint': 'NEAR-RTCM',               # Mountpoint on the NTRIP caster
            'ntrip_version': 'None',                 # Optional NTRIP version
            'authenticate': True,                    # Use authentication (username/password)
            'username': user',  # Auth username
            'password': 'password',              # Auth password
            'ssl': False,                            # SSL not used
            'cert': 'None',                          # No client certificate
            'key': 'None',                           # No client key
            'ca_cert': 'None',                       # No custom CA certificate
            'rtcm_frame_id': 'odom',                 # Frame ID for published RTCM messages
            'nmea_max_length': 128,                  # Max NMEA sentence length
            'nmea_min_length': 3,                    # Min NMEA sentence length
            'rtcm_message_package': 'rtcm_msgs',     # Use the rtcm_msgs message format
            'reconnect_attempt_max': 10,             # Max reconnect attempts before giving up
            'reconnect_attempt_wait_seconds': 5,     # Wait time between reconnects
            'rtcm_timeout_seconds': 4                # Max time without RTCM before reconnect
        }],
        remappings=[
            ('/fix', '/ublox_gps_node/fix')  # Remap /fix topic to /ublox_gps_node/fix
        ]
    )

    # Return the full launch description with all configured actions
    return LaunchDescription([
        set_debug_env,  # Set environment variable for NTRIP debug
        ublox_node,     # Launch ublox GPS node
        ntrip_node      # Launch NTRIP client node
    ])

    
   
  1. Muokkaa tiedostoa lisäämällä NTRIP tunnistetiedot (isäntä, post, käyttäjätunnus, salasana, liitoskohta) ja tallenna tiedosto.
  1. avoin paketti.xml.
    
     cd ~/ros2_ws/src/combined_rtk/
nano package.xml
    
   
  1. Varmista, että sinulla on riippuvuuksia, kuten ublox_gps, ntrip_client, launch_ros jne. paketti.xmlJos sinulla ei ole niitä, kopioi ne alla olevasta koodista ja liitä ne tiedostoon.
    
     <exec_depend>ublox_gps</exec_depend>
<exec_depend>ntrip_client</exec_depend>
<exec_depend>launch_ros</exec_depend>
    
   
  1. avoin setup.py.
    
     nano  ~/ros2_ws/src/combined_rtk/setup.py
    
   
  1. Kopioi alla oleva koodi ja liitä se kansioon setup.py tiedostoon, joka sisältää käynnistystiedostot ja riippuvuudet. Sulje tiedosto ja tallenna muutokset.
    
     import os
import glob

from setuptools import find_packages, setup

package_name = 'combined_rtk'

setup(
    name=package_name,
    version='0.0.0',
    packages=find_packages(exclude=['test']),
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
        (os.path.join('share', package_name), ['package.xml', *glob.glob('launch/*')]),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='jmnavarrete',
    maintainer_email='jmnavarrete@todo.todo',
    description='TODO: Package description',
    license='TODO: License declaration',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [
        ],
    },
)

    
   
  1. Tee käynnistystiedostosta suoritettava.
    
     cd ~/ros2_ws/src
chmod +x combined_rtk/launch/combined_nodes.launch.py
    
   
  1. Palaa työtilasi juurihakemistoon, rakenna uusi paketti ja hanki asennustiedosto:
    
     cd ~/ros2_ws
colcon build
source install/setup.bash

    
   
  1. Käynnistä molemmat ublox_gps ja ntrip_client Yhdellä komennolla toimivat solmut:
    
     ros2 launch combined_rtk combined_nodes.launch.py
    
   
  1. Sinun pitäisi nähdä lokit molemmista terminaalin solmuista, jotka osoittavat, että:
    • ublox_gps lukee GPS-tietoja määritetystä laitteesta (esim. /dev/tty_Ardusimple).
    • ntrip_client on yhdistetty laitteeseesi NTRIP palvelimelle ja julkaisee RTCM-korjaukset /rtcm-kansiossa (ja mahdollisesti tilaa /nmea-kansio, jos se on määritetty).
    Huomautus: Tätä käynnistystiedostoa käytettäessä ei ole tarpeen käynnistää ohjelmaa manuaalisesti. u-blox ja NTRIP solmut erikseen — käynnistys käynnistää automaattisesti molemmat solmut. Älä sulje tätä käynnistyspäätettä, jos haluat tarkastella näiden solmujen tarjoamia aiheita tai palveluita.
  1. Jos haluat olla vuorovaikutuksessa käynnistettyjen solmujen kanssa, älä pysäytä suoratoistoa. Avaa uusi pääte ja alusta työtila.
    
     source ~/ros2_ws/install/setup.bash
    
   
  1. Tarkistaaksesi aiheet, palvelut ja laitteen tilan, avaa uusi pääte ja alusta se:
    
     source install/setup.bash
    
   
  1. Katso aiheluettelo. 
    
     ros2 topic list
    
   
  1. Voit nähdä /ublox_gps_node/korjaus, /rtcm, tai muita.
  1. Katso GPS-datan kaiku.
    
     ros2 topic echo /ublox_gps_node/fix
    
   
  1. Tämä näyttää reaaliaikaiset GPS-tiedot. Voit lopettaa striimin painamalla Ctrl + C.
  1. ublox_gps Solmu julkaisee diagnostiikkaa aiheesta, kuten /diagnostiikka. Diagnostiikkatietojen tarkistaminen:
    
     ros2 topic echo /diagnostics
    
   
  1. Se sisältää tilaviestejä, kuten vaakasuoran tarkkuuden, pystysuoran tarkkuuden ja "3D-korjaus", kun vastaanottimella on kelvollinen sijainti, tai "korjaus ei onnistu", kun GPS-paikannus ei ole vielä oikein määritetty.

  1. Tärkeitä vinkkejä korjauksen tilan tarkistamiseen:
    • monitori /ublox_gps_node/korjaus NavSatFix-viesteissä (status.status-kenttä) tai diagnostiikkaviesteissä, joissa on tarkempia tekstipohjaisia ​​tiloja.
    • /diagnostiikka aihe tarjoaa usein luettavaan muotoon tiivistetyn yhteenvedon, kuten ”3D-korjaus”.
    • Käyttää /ublox/navpvt saadaksesi yksityiskohtaisia ​​tietoja:
      • 3D-korjauksen fix_type-kentän arvon tulee olla 3.
      • Lippukentän pitäisi osoittaa, että korjauksia käytetään.
      • flags2-kenttä sisältää RTK-tilan: 67 RTK Float, 128 RTK Fix. Jos arvo on merkittävästi pienempi, se todennäköisesti tarkoittaa, että RTK-korjauksia ei käytetä.
    • Varmista, että antennillasi on esteetön näkymä taivaalle ja NTRIP caster tunnistetiedot ovat oikein vakaan RTK-paikannuksen saavuttamiseksi.
  1. Lopuksi haluat integroida sekä GPS-tiedot että RTCM-korjaukset samanaikaisesti. Tätä varten sinulla on oltava molemmat solmut toimivat samaan aikaan. Näin se toimii:

    • ublox_gps-solmu

      • Julkaisee raakat GNSS-paikannukset /fix aihe.

      • Paljastaa käyttöliittymän ( rtcm_input parametri), jotta saapuvat RTCM-viestit voidaan lähettää u-blox laite ROS 2:n kautta.

    • ntrip_client-solmu

      • Yhdistää sinun NTRIP caster ja julkaisee RTCM-korjausviestejä /rtcm aihe.

      • Nämä viestit on sitten lähetettävä eteenpäin u-blox vastaanotin kautta /rtcmrtcm_input.

    Vaikka opetusohjelmassa selitetään jokainen vaihe erikseen, se ei tee niin, jotta näet, miten kukin solmu käynnistetään ja miten data julkaistaan. emme linkittää ne automaattisesti toisiinsa. Käytännössä sinun tulisi käynnistää molemmat pinot yhdessä, esimerkiksi:

    # Pääte 1: suorita ublox-ajuri
    ros2-käynnistys ublox_gps ublox_gps_node-launch.py

    # Pääte 2: suorita NTRIP asiakas
    ros2-käynnistys ntrip_client ntrip_client-launch.py

    Tällä tavoin RTCM-korjaukset virtaavat eteenpäin /rtcm ublox-kuljettaja noutaa ne välittömästi ja lähettää ne ZED-F9P laite, joka puolestaan ​​julkaisee todellisen RTK-korjatun /fix.

Jos pääsit tänne asti, onnittelut! Tämä on luultavasti yksi pisimmistä tutoriaaleistamme 🙂

Jos haluat seurata tätä opetusohjelmaa, meillä on kaikki tuotteet varastossa ja valmiina lähetettäväksi:

Jos pidit tästä sisällöstä, voit seurata meitä Twitter, YouTube, Facebook or LinkedIn pysyäksesi ajan tasalla tällaisesta sisällöstä.

Onko sinulla kysyttävää tai pyyntöjä?
Ota meihin yhteyttä! Vastaamme <24 tuntia!

ikoni
Ota yhteyttä ArduSimple
lähellä
ArduSimple GNSS RTK -arviointitaulut on tehty helpoksi

Haluatko oppia lisää GPS:stä ja RTK:sta?

Jos olet juuri nyt kiireinen, insinöörimme voivat lähettää sinulle kolme lyhyttä sähköpostia, joissa kerrotaan kaikki tarvittavat tiedot projektisi aloittamiseksi.