Aktualizacja (24 / 06 / 2025): Posiadamy duży zapas wszystkich naszych produktów, znajdziesz nas również w i    Kup teraz

Jak integrować u-blox ZED-F9P Odbiornik GNSS/RTK do ROS 2 (Jazzy)

integracja u-blox ZED-F9P Odbiornik GNSS/RTK do ROS 2 Jazzy
integracja u-blox ZED-F9P Odbiornik GNSS/RTK do ROS 2 Jazzy

W tym samouczku wyjaśniono, jak zintegrować u-blox ZED-F9P RTK GNSS odbiornik z robotem obsługującym ROS 2 (Jazzy). Dowiesz się, jak podłączyć sprzęt, skonfigurować odbiornik, skonfigurować przestrzeń roboczą ROS 2 i uruchomić niezbędne węzły, aby odbierać i przetwarzać precyzyjne dane GPS z poprawkami RTK za pośrednictwem NTRIP service.

Do końca tego przewodnika będziesz mieć w pełni funkcjonalną konfigurację ROS 2, która umożliwia strumieniowe przesyłanie danych RTK w czasie rzeczywistym z odbiornika RTK na podstawie u-blox ZED-F9P—nadaje się do zastosowań robotyki wymagających dokładności pozycjonowania na poziomie centymetrów.

Wymagany sprzęt:

Wymagane oprogramowanie:

  • Ubuntu 24.04 (instalowany natywnie, na maszynie wirtualnej lub za pośrednictwem WSL)
  • ROS 2 (Jazzowy) (zainstalowano na platformie Ubuntu)

Przydatne zasoby

  1. Przydatne zasoby do instalacji Ubuntu:
  2. Korzystanie z WSL lub maszyn wirtualnych: Jeśli chcesz używać WSL lub maszyn wirtualnych, konieczne jest udostępnienie odbiornika RTK z Ubuntu. Istnieją instrukcje, jak udostępnić go systemowi:
  3. NTRIP Dostęp do usług: Upewnij się, że masz dostęp i uprawnienia do NTRIP usługa. Potrzebujesz pomocy w znalezieniu usługi korekcyjnej, zapoznaj się z naszą Lista NTRIP usługi korekcyjne w Twoim kraju.
  4. Konfiguracja odbiornika RTK: Upewnij się, że odbiornik RTK jest skonfigurowany jako Rover. Jeśli potrzebujesz pomocy w konfiguracji u-blox ZED-F9P jak Rover, zapoznaj się z naszymi ZED-F9P Pliki konfiguracyjne.

Jak skonfigurować u-blox ZED-F9P Odbiornik RTK z ROS 2?

Konfiguracja środowiska ROS 2

  1. Po zainstalowaniu środowiska ROS 2 zgodnie z poniższą instrukcją Instrukcja instalacji ROS2, domyślnie nie jest aktywny po otwarciu terminala.
    Aby rozwiązać ten problem, otwórz terminal i uruchom następujące polecenie, aby skonfigurować system Ubuntu tak, aby automatycznie ładował środowisko ROS 2 do konfiguracji startowej terminala.
				
					echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
				
			
  1. Aby zastosować zmiany, użyj poniższego polecenia. Po tym ROS 2 będzie gotowy do użycia za każdym razem, gdy otworzysz Terminal.

				
					source ~/.bashrc
				
			
  1. Aby zarządzać zależnościami w systemie ROS 2, zaktualizuj listę pakietów i zainstaluj narzędzia ros-dev, Która obejmuje rosdep i inne przydatne narzędzia programistyczne dla ROS 2.
				
					sudo apt update && sudo apt install ros-dev-tools
				
			

Podłącz odbiornik RTK

  1. Podłącz antenę RTK do odbiornika. Umieść antenę w miejscu z dobrym widokiem na niebo lub w pobliżu okna, aby przetestować jej funkcjonalność.
  2. Podłącz odbiornik do komputera za pomocą portu USB oznaczonego jako „POWER+GPS".
  3. Odbiornik powinien zostać automatycznie skonfigurowany. Aby to sprawdzić, otwórz Terminal i wpisz polecenie. Powinieneś zobaczyć / dev / ttyACM0 (lub podobne urządzenie, np. / dev / ttyACM1).
				
					ls /dev/ttyACM*
				
			
integracja u-blox ZED-F9P odbiornik rtk z poprawkami do ROS2
  1. Aby sprawdzić strumień GPS z odbiornika RTK, uruchom polecenie w terminalu. Pokazuje ono surowe dane GPS przesyłane strumieniowo z odbiornika. Naciśnij Ctrl + C zatrzymać.
				
					sudo cat /dev/ttyACM0
				
			
  1. Wskazówka: Jeśli nie widzisz żadnego wyniku lub brakuje urządzenia, upewnij się, że Twój użytkownik ma odpowiednie uprawnienia (np. jest w grupie dialout). Możesz dodać siebie za pomocą poniższego polecenia. Następnie wyloguj się i zaloguj ponownie, aby zmiany zostały zastosowane.
				
					sudo usermod -a -G dialout $USER
				
			
  1. Aby zapobiec uruchomieniu odbiornika RTK w innym „ttyACM*” za każdym razem, gdy jest zasilany, utwórz reguła udev (link dynamiczny) tworzący wpis o określonej nazwie poprzez dodanie następującego pliku przed podłączeniem odbiornika RTK.
				
					sudo nano /etc/udev/rules.d/50-ardusimple.rules
				
			
  1. Wprowadź następujący tekst do reguły:
				
					KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
				
			
  1. Naciśnij przycisk Ctrl + X aby wyjść z pliku i naciśnij Y aby zapisać zmodyfikowany bufor.
  2. Odłącz odbiornik RTK (wyłącz zasilanie) i podłącz go ponownie (zasilanie).
  3. Teraz, gdy podłączony zostanie odbiornik RTK, będzie on dostępny z poziomu „/dev/tty_Ardusimple” link. Aby to sprawdzić, wprowadź polecenia:
				
					sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
				
			
  1. Teraz możesz to zobaczyć „tty_ArduSimple" został stworzony.

Przygotuj nową przestrzeń roboczą ROS 2 dla projektu

  1. Aby utworzyć katalog obszaru roboczego, otwórz terminal i utwórz folder (na przykład ros2_ws) z src podfolder:
				
					mkdir -p ~/ros2_ws/src
				
			
  1. Przejdź do swojego obszaru roboczego.
				
					cd ~/ros2_ws
				
			
  1. Aby utworzyć obszar roboczy, użyj kolkon aby zbudować wszystkie pakiety wewnątrz src:
				
					colcon build
				
			
  1. Podaj plik instalacyjny, aby powłoka mogła rozpoznać nowo skompilowane pakiety:
				
					source install/setup.bash
				
			
  1. Dodaj to polecenie do pliku ~/.bashrc (lub podobnego), aby źródło było pobierane automatycznie za każdym razem, gdy otworzysz nowy terminal.
				
					echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
				
			
integracja u-blox ZED-F9P odbiornik rtk z poprawkami do ROS2
  1. Teraz masz podstawową przestrzeń roboczą ROS2 skonfigurowaną do dalszego rozwoju i integracji z ArduSimple RTK-u

Uruchom węzeł w systemie ROS 2, aby połączyć się z odbiornikiem RTK

W tej sekcji pobierzemy i zbudujemy u-blox Węzeł ROS 2, a następnie uruchom szybki test, aby potwierdzić, czy może się z Tobą komunikować ArduSimple Urządzenie RTK. Podczas gdy pokażemy modyfikowanie pliku startowego bezpośrednio w u-blox pakietu, zalecamy utworzenie w późniejszym kroku osobnego pakietu z własnymi plikami uruchomieniowymi.
  1. Aby sklonować u-blox repozytorium do obszaru roboczego ROS 2 (~/ros2_ws/src):
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/KumarRobotics/ublox.git

				
			
  1. Inicjować rosdep i pobierz najnowsze definicje zależności pakietów.
				
					sudo rosdep init
rosdep update
				
			
integracja u-blox ZED-F9P odbiornik rtk z poprawkami do ROS2
  1.  Budować u-blox Węzeł, wróć do głównego folderu roboczego i skompiluj:
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash

				
			
  1. Teraz u-blox Węzeł jest dostępny w środowisku ROS2.
  2. Zmodyfikuj plik konfiguracyjny, aby zaktualizować ścieżki lub parametry urządzeń w razie potrzeby (będziemy używać /dev/tty_Ardusimple). Pakiet ublox_gps zawiera domyślny plik konfiguracyjny o nazwie zed_f9pPlik yaml. Otwórz plik konfiguracyjny za pomocą polecenia:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/config/zed_f9p.yaml
				
			
  1. Zmodyfikuj plik konfiguracyjny, aby zaktualizować ścieżki urządzeń lub parametry w razie potrzeby. W naszym przypadku ustaw ścieżkę urządzenia na /dev/tty_Ardusimple.
  1. Aby skonfigurować węzeł za pomocą zed_f9pPlik yaml ustawienia, zaktualizuj plik startowy. Otwórz plik i dodaj następujący wiersz, aby załadować konfigurację:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/launch/ublox_gps_node-launch.py
				
			
  1. Odbuduj pakiety. Zalecamy użycie oddzielny pakiet dla twoich niestandardowych plików konfiguracyjnych i uruchomieniowych, aby zachować porządek. Omówimy to podejście później.
				
					cd ~/ros2_ws
colcon build
source install/setup.bash
				
			
integracja u-blox ZED-F9P odbiornik rtk z poprawkami do ROS2
  1. Uruchom węzeł GPS i przetestuj połączenie:
				
					ros2 launch ublox_gps ublox_gps_node-launch.py
				
			
  1. Jeżeli wszystko jest skonfigurowane poprawnie, węzeł powinien rozpocząć publikowanie danych GPS z ArduSimple odbiornik.
  1. Aby uniknąć zatrzymania węzła, otwórz nowy terminal i zainicjuj obszar roboczy za pomocą poniższego polecenia. Jeśli ten węzeł zostanie zatrzymany, u-blox Urządzenie nie będzie już publikować swoich tematów i świadczyć usług.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Uruchom następujące polecenie, aby wyświetlić dostępne tematy. Poszukaj tematów takich jak /ublox_gps_node/napraw, który zawiera dane GPS w formacie sensor_msgs/NavSatFix itp.
				
					ros2 topic list
				
			
  1. Uruchom polecenie, aby zobaczyć dane GPS w czasie rzeczywistym. 
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Aby zatrzymać strumień, naciśnij Ctrl + C.
  2. Wyświetl listę dostępnych usług świadczonych przez Node.
				
					ros2 service list
				
			
  1. Teraz masz u-blox Węzeł ROS 2 uruchamia się i publikuje dane w czasie rzeczywistym z odbiornika RTK.
    Ważne:
    • Nie zatrzymuj się u-blox węzeł. Ten węzeł musi być uruchomiony przed wykonaniem następujących kroków uruchamiania NTRIP klienta, ponieważ serwer korekcyjny potrzebuje bieżących danych GPS do obliczania i wysyłania poprawek RTCM.
    • u-blox węzeł musi pozostać aktywny, aby wizualizować dane wyjściowe GPS za pomocą echa tematu ros2, jak pokazano w poprzednim kroku.

Uruchom węzeł w systemie ROS 2, aby go używać NTRIP Korekty

Użyjemy klient ntrip Węzeł ROS2 do połączenia z NTRIP Caster i odbierać poprawki RTCM w celu dokładniejszego pozycjonowania. Ten węzeł może również przekazywać lokalne NMEA zdania na zdalny serwer, jeśli to konieczne. Poniżej znajduje się krótki przegląd tego, jak to skonfigurować i przetestować.
Uwaga: Upewnij się, że węzeł połączenia GPS jest już uruchomiony, ponieważ jest on wymagany do przesyłania danych korekcyjnych.
  1. Przejdź do katalogu obszaru roboczego ROS2 i sklonuj gałąź ROS 2.
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/LORD-MicroStrain/ntrip_client.git
				
			
  1. Wróć do katalogu głównego obszaru roboczego, zainstaluj wszystkie brakujące zależności i zbuduj pakiet
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
				
			
  1. Otwórz plik ntrip_client_launch.py i przewiń w dół, aby znaleźć kod, gdzie NTRIP dane uwierzytelniające są ustawione.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Aktualizacja NTRIP parametry takie jak host, port, nazwa użytkownika, hasło i punkt montowania, a następnie zapisz zmiany w pliku.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Odbuduj pakiety:
				
					cd ~/ros2_ws
colcon build
source ~/ros2_ws/install/setup.bash
				
			
  1. Uruchom Node za pomocą NTRIP parametry umożliwiające nawiązanie połączenia z NTRIP Caster:
				
					ros2 launch ntrip_client ntrip_client_launch.py
				
			
  1. Aby uniknąć zamknięcia węzła, otwórz nowy terminal i zainicjuj obszar roboczy.
    Uwaga: Jeżeli węzeł jest zatrzymany, u-blox urządzenie przestanie odbierać dane korekcyjne. u-blox węzeł musi być uruchomiony przed uruchomieniem NTRIP klient, ponieważ dostarcza niezbędne dane GPS do serwera korekcyjnego. Jeśli u-blox węzeł zostanie zatrzymany, nie będzie już publikował wymaganych tematów i usług, a odbiornik rtk przestanie odbierać dane korekcyjne.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Aby uniknąć zamknięcia węzła, otwórz nowy terminal i zainicjuj obszar roboczy.
    Uwaga: Jeżeli węzeł jest zatrzymany, u-blox urządzenie przestanie odbierać dane korekcyjne. u-blox węzeł musi być uruchomiony przed uruchomieniem NTRIP klient, ponieważ dostarcza niezbędne dane GPS do serwera korekcyjnego. Jeśli u-blox węzeł zostanie zatrzymany, nie będzie już publikował wymaganych tematów i usług, a odbiornik rtk przestanie odbierać dane korekcyjne.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Zobacz listę dostępnych tematów. 
				
					ros2 topic list
				
			
  1. Najważniejsze tematy, które możesz zobaczyć:
    • /rtcm: Publikuje dane korekcyjne RTCM (mavros_msgs/RTCM lub rtcm_msgs/Message, w zależności od konfiguracji).
    • /nmea: Subskrybuje lokalne zdania NMEA i przesyła je do serwera.
    • /ublox_gps_node/napraw:Można również przekazywać dane o położeniu globalnym, jeśli nie są już w formacie NMEA.
  1. Jeśli wszystko zostanie wykonane poprawnie i zakończy się sukcesem, zobaczysz, że węzeł opublikował poprawki RTCM na /rtcm temat. Używanie klient ntrip Węzeł, możesz zintegrować dane korekcyjne RTCM ze swoim projektem ROS 2, aby umożliwić precyzyjne pozycjonowanie za pomocą odbiornika RTK.
				
					ros2 topic echo /rtcm
				
			
  1. Używając tego węzła możesz zintegrować dane korekcyjne RTCM z projektem ROS 2, aby umożliwić precyzyjne pozycjonowanie za pomocą odbiornika RTK.

Tworzenie połączonego pakietu startowego

Utworzymy dedykowany pakiet zawierający pojedynczy plik startowy do uruchomienia obie dotychczasowy ublox_gps węzeł (publikujący dane GPS) i klient ntrip węzeł (obsługujący poprawki RTK) jednocześnie. Takie podejście utrzymuje porządek w miejscu pracy i ułatwia uruchamianie wszystkich wymaganych węzłów za pomocą jednego polecenia.

  1. Otwórz nowy terminal, przejdź do obszaru roboczego ROS2 i utwórz nowy pakiet. W przypadku pliku nano uruchomieniowego opartego na Pythonie uruchom polecenia:
				
					cd ~/ros2_ws/src
ros2 pkg create combined_rtk --build-type ament_python
				
			
  1. Utwórz katalog startowy i plik startowy Pythona wewnątrz nowego pakietu.
				
					mkdir -p combined_rtk/launch
nano ~/ros2_ws/src/combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Skopiuj kod z poniższego przykładu i wklej go do pliku. Kod wykonuje:
  • ublox_gps Węzeł: Publikuje surowe dane GPS z Twojego ArduSimple urządzeń.
  • klient ntrip Węzeł: Łączy się z NTRIP caster/serwer i publikuje poprawki RTCM na /rtcm (i możesz także zasubskrybować /nmea lub /fix, jeśli zajdzie taka potrzeba).
  • Szermierka (#!/usr/bin/env python3) – Zapewnia, że ​​plik zostanie uruchomiony jako skrypt Pythona.
  • Opis uruchomienia – Definiuje, które węzły mają zostać uruchomione.
  • Node parametry – Ustawia parametry specyficzne dla węzła (np. urządzenie, host, port, uwierzytelnianie).
				
					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. Edytuj plik, wstawiając swój NTRIP dane uwierzytelniające (host, adres, nazwa użytkownika, hasło, punkt montowania) i zapisz plik.
  1. Otwarte pakiet.xml.
				
					cd ~/ros2_ws/src/combined_rtk/
nano package.xml
				
			
  1. Upewnij się, że masz w swoim systemie zależności takie jak ublox_gps, ntrip_client, launch_ros itp. pakiet.xml. Jeżeli ich nie posiadasz, skopiuj je z poniższego kodu i wklej do pliku.
				
					<exec_depend>ublox_gps</exec_depend>
<exec_depend>ntrip_client</exec_depend>
<exec_depend>launch_ros</exec_depend>
				
			
  1. Otwarte konfiguracja.py.
				
					nano  ~/ros2_ws/src/combined_rtk/setup.py
				
			
  1. Skopiuj poniższy kod i wklej go do konfiguracja.py plik, aby uwzględnić pliki startowe i zależności. Zamknij plik i zapisz zmiany.
				
					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. Ustaw plik startowy jako wykonywalny.
				
					cd ~/ros2_ws/src
chmod +x combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Wróć do katalogu głównego obszaru roboczego, zbuduj nowy pakiet i utwórz plik instalacyjny:
				
					cd ~/ros2_ws
colcon build
source install/setup.bash

				
			
  1. Uruchom oba ublox_gps i klient ntrip Węzły z jednym poleceniem:
				
					ros2 launch combined_rtk combined_nodes.launch.py
				
			
  1. W terminalu powinny zostać wyświetlone logi z obu węzłów, wskazujące, że:
    • ublox_gps odczytuje dane GPS z określonego urządzenia (np. /dev/tty_Ardusimple).
    • klient ntrip jest połączony z Twoim NTRIP serwera i publikowania poprawek RTCM w katalogu /rtcm (oraz ewentualnego subskrybowania katalogu /nmea, jeśli jest skonfigurowany).
    Uwaga: Podczas korzystania z tego pliku startowego nie jest konieczne ręczne uruchamianie u-blox i NTRIP węzły oddzielnie — uruchomienie automatycznie uruchomi oba węzły. Nie zamykaj tego terminala uruchamiania, jeśli chcesz sprawdzić tematy lub usługi dostarczane przez te węzły.
  1. Aby wchodzić w interakcję z uruchomionymi węzłami, nie zatrzymuj strumienia. Otwórz nowy terminal i zainicjuj obszar roboczy.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Aby sprawdzić tematy, usługi, stan urządzenia, otwórz nowy terminal i zainicjuj:
				
					source install/setup.bash
				
			
  1. Zobacz listę tematów. 
				
					ros2 topic list
				
			
  1. Będziesz mógł zobaczyć /ublox_gps_node/napraw, /rtcmlub inne.
  1. Zobacz Echo danych GPS.
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Pokazuje dane GPS w czasie rzeczywistym. Aby zatrzymać transmisję, naciśnij Ctrl + C.
  1. ublox_gps Node publikuje diagnostykę na temat taki jak /diagnostyka. Aby sprawdzić informacje diagnostyczne:
				
					ros2 topic echo /diagnostics
				
			
  1. Zawiera komunikaty o stanie, takie jak dokładność pozioma, dokładność pionowa i „naprawa 3D”, gdy odbiornik ma prawidłową pozycję, lub „naprawa nieprawidłowa”, gdy GPS nie został jeszcze prawidłowo ustalony.

  1. Kluczowe wskazówki dotyczące sprawdzania statusu naprawy:
    • Monitorowanie /ublox_gps_node/napraw w komunikatach NavSatFix (pole status.status) lub komunikatach diagnostycznych, w celu uzyskania bardziej szczegółowych informacji o statusie w formie tekstowej.
    • /diagnostyka temat często zawiera czytelne podsumowanie, np. „naprawa 3D”.
    • Zastosowanie /ublox/navpvt Aby uzyskać szczegółowe informacje:
      • Pole fix_type powinno mieć wartość 3 w przypadku poprawki 3D.
      • Pole flag powinno wskazywać, że poprawki są stosowane.
      • Pole flags2 zawiera status RTK: 67 RTK Float, 128 RTK Fix. Jeśli wartość jest znacznie niższa, prawdopodobnie oznacza to, że nie są stosowane żadne poprawki RTK.
    • Upewnij się, że antena ma czysty widok na niebo i Twój NTRIP caster dane uwierzytelniające są poprawne, aby uzyskać stabilną poprawkę RTK.

Jeśli chcesz skorzystać z tego samouczka, wszystkie produkty mamy w magazynie i gotowe do wysyłki:

Jeśli podobały Ci się te treści, możesz nas śledzić Twitter, YouTube, Facebook or LinkedIn aby być na bieżąco z takimi treściami.

Masz pytania lub prośby?
Skontaktuj się z nami! Odpowiemy <24 godziny!

Ikona
Kontakt ArduSimple
Zamknij

Chcesz dowiedzieć się więcej o GPS/RTK?

1. Nasz zespół inżynierów skontaktuje się z Tobą w celu rozwiązania wszelkich pytań
2. Będziemy na bieżąco informować Cię o promocjach i nowościach produktowych
3. Dowiesz się od nas tylko wtedy, gdy będziemy mieć ważne wiadomości, nie będziemy spamować Twojego e-maila