Update (12 / 02 / 2026): Kami memiliki banyak stok semua produk kami, temukan kami juga di dan    Toko sekarang

Bagaimana cara mengintegrasikan u-blox ZED-F9P Penerima GNSS/RTK ke ROS 2 (Jazzy)

integrasi u-blox ZED-F9P Penerima GNSS/RTK ke ROS 2 Jazzy
integrasi u-blox ZED-F9P Penerima GNSS/RTK ke ROS 2 Jazzy

Tutorial ini menjelaskan cara mengintegrasikan u-blox ZED-F9P RTK GNSS penerima dengan robot yang menjalankan ROS 2 (Jazzy). Anda akan mempelajari cara menghubungkan perangkat keras, mengonfigurasi penerima, menyiapkan ruang kerja ROS 2, dan meluncurkan node yang diperlukan untuk menerima dan memproses data GPS presisi tinggi dengan koreksi RTK melalui NTRIP layanan.

Pada akhir panduan ini, Anda akan memiliki pengaturan ROS 2 yang berfungsi penuh yang mengalirkan data RTK waktu nyata dari penerima RTK Anda berdasarkan u-blox ZED-F9P—cocok untuk aplikasi robotika yang memerlukan akurasi posisi tingkat sentimeter.

Perangkat keras yang diperlukan:

Perangkat lunak yang diperlukan:

Sumber daya yang berguna

  1. Sumber daya bermanfaat untuk menginstal Ubuntu:
  2. Menggunakan WSL atau Mesin Virtual: Jika Anda ingin menggunakan WSL atau mesin virtual, Anda perlu berbagi penerima RTK dengan Ubuntu. Berikut ini petunjuk cara membagikannya dengan sistem:
  3. NTRIP Akses Layanan:Pastikan Anda memiliki akses dan kredensial untuk NTRIP layanan. Anda memerlukan bantuan untuk menemukan layanan pemasyarakatan, lihat Daftar NTRIP layanan koreksi di negara Anda.
  4. Konfigurasi Penerima RTK: Pastikan penerima RTK Anda dikonfigurasi sebagai RoverJika Anda memerlukan bantuan dalam mengonfigurasi u-blox ZED-F9P sebagai Rover, lihat kami ZED-F9P File konfigurasi.

Cara mengatur u-blox ZED-F9P Penerima RTK dengan ROS 2?

Siapkan lingkungan ROS 2

  1. Ketika lingkungan ROS 2 telah diinstal dengan mengikuti Panduan instalasi ROS2, secara default tidak aktif saat Anda membuka terminal.
    Untuk memperbaikinya, buka Terminal dan jalankan perintah berikut untuk mengonfigurasi Ubuntu agar memuat lingkungan ROS 2 ke konfigurasi startup Terminal Anda secara otomatis.
				
					echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
				
			
  1. Untuk menerapkan perubahan, gunakan perintah di bawah ini. Setelah ini, ROS 2 akan siap digunakan setiap kali Anda membuka Terminal.

				
					source ~/.bashrc
				
			
  1. Untuk mengelola dependensi di ROS 2, perbarui daftar paket dan instal alat-pengembang-ros, Yang mencakup rosdep dan alat pengembangan berguna lainnya untuk ROS 2.
				
					sudo apt update && sudo apt install ros-dev-tools
				
			

Hubungkan penerima RTK

  1. Hubungkan antena RTK ke penerima. Letakkan antena di lokasi yang memiliki pemandangan langit yang bagus, atau di dekat jendela untuk menguji fungsionalitasnya.
  2. Hubungkan receiver Anda ke PC melalui port USB yang diberi label “POWER+GPS. "
  3. Penerima harus dikonfigurasi secara otomatis. Untuk memverifikasi ini, buka Terminal dan ketik perintah. Anda akan melihat / dev / ttyACM0 (atau perangkat serupa, misalnya, / dev / ttyACM1).
				
					ls /dev/ttyACM*
				
			
integrasi u-blox ZED-F9P Penerima RTK dengan koreksi ke ROS2 ttyACM
  1. Untuk memeriksa Aliran GPS dari penerima RTK, jalankan perintah di Terminal. Perintah ini akan menampilkan data GPS mentah yang mengalir dari penerima. Tekan Ctrl + C untuk berhenti.
				
					sudo cat /dev/ttyACM0
				
			
  1. olymp trade indonesiaTip: Jika Anda tidak melihat output atau perangkat tidak ada, pastikan pengguna Anda memiliki izin yang sesuai (misalnya, berada dalam grup dialout). Anda dapat menambahkan diri Anda dengan perintah di bawah ini. Setelah itu, keluar dan masuk kembali agar perubahan diterapkan.
				
					sudo usermod -a -G dialout $USER
				
			
  1. Untuk mencegah penerima RTK memulai pada “ttyACM*” setiap kali dinyalakan, buat aturan udev (tautan dinamis) yang membuat entri dengan nama tertentu dengan menambahkan berkas berikut sebelum menghubungkan penerima RTK.
				
					sudo nano /etc/udev/rules.d/50-ardusimple.rules
				
			
  1. Masukkan teks berikut ke aturan:
				
					KERNEL=="ttyACM[0-9]*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a9", SYMLINK="tty_Ardusimple", GROUP="dialout", MODE="0666"
				
			
  1. Media Ctrl + X untuk keluar dari file dan tekan Y untuk menyimpan buffer yang dimodifikasi.
  2. Putuskan sambungan (cabut daya) penerima RTK dan sambungkan (daya) lagi.
  3. Sekarang setiap kali penerima RTK terhubung, itu akan dapat diakses dari “/pengembang/tty_Ardusimple” tautan. Untuk memeriksanya, masukkan perintah berikut:
				
					sudo service udev reload
sudo service udev restart
sudo udevadm trigger
ls /dev/
				
			
  1. Sekarang Anda bisa melihatnya “tty_ArduSimple" telah dibuat.

Siapkan ruang kerja ROS 2 baru untuk proyek

  1. Untuk membuat Direktori Ruang Kerja, buka Terminal dan buat folder (misalnya, ros2_ws) dengan src subfolder:
				
					mkdir -p ~/ros2_ws/src
				
			
  1. Navigasi ke ruang kerja Anda.
				
					cd ~/ros2_ws
				
			
  1. Untuk membangun Ruang Kerja, gunakan usus besar untuk membangun semua paket di dalam src:
				
					colcon build
				
			
  1. Sumber file pengaturan untuk membiarkan shell Anda mengenali paket yang baru dibangun:
				
					source install/setup.bash
				
			
  1. Tambahkan perintah ini ke ~/.bashrc Anda (atau setara) ke sumber secara otomatis setiap kali Anda membuka terminal baru.
				
					echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc
				
			
integrasi u-blox ZED-F9P Penerima RTK dengan koreksi ke dalam ROS2, buat ruang kerja.
  1. Sekarang Anda memiliki ruang kerja ROS2 dasar yang disiapkan untuk pengembangan dan integrasi lebih lanjut dengan ArduSimple RTK.

Mulai Node pada ROS 2 untuk terhubung ke penerima RTK

Di bagian ini, kita akan mengunduh dan membangun u-blox Node ROS 2, lalu jalankan tes cepat untuk mengonfirmasi apakah node tersebut dapat berkomunikasi dengan Anda ArduSimple Perangkat RTK. Meskipun kami akan menunjukkan modifikasi file peluncuran secara langsung di u-blox paket, kami sarankan Anda membuat paket terpisah dengan file peluncuran kustom Anda sendiri di langkah berikutnya.
  1. Untuk mengkloning u-blox repositori ke ruang kerja ROS 2 Anda (~/ros2_ws/src):
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/KumarRobotics/ublox.git

				
			
  1. Mulai rosdep dan mengunduh definisi ketergantungan paket terbaru.
				
					sudo rosdep init
rosdep update
				
			
integrasi u-blox ZED-F9P Penerima RTK dengan koreksi ke ROS2 memulai rosdep
  1.  Untuk membangun u-blox Node, kembali ke folder ruang kerja utama dan kompilasi:
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash

				
			
  1. Sekarang u-blox Node tersedia di lingkungan ROS2 Anda.
  2. Ubah file konfigurasi untuk memperbarui jalur atau parameter perangkat sesuai kebutuhan (kami akan menggunakan /pengembang/tty_Ardusimple). Paket ublox_gps menyertakan file konfigurasi default bernama bersemangat_f9p.yamlBuka berkas konfigurasi dengan perintah:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/config/zed_f9p.yaml
				
			
  1. Ubah berkas konfigurasi untuk memperbarui jalur atau parameter perangkat sesuai kebutuhan. Dalam kasus kami, tetapkan jalur perangkat ke /pengembang/tty_Ardusimple.
  1. Untuk mengkonfigurasi node dengan bersemangat_f9p.yaml pengaturan, perbarui berkas peluncuran. Buka berkas dan tambahkan baris berikut untuk memuat konfigurasi:
				
					nano ~/ros2_ws/src/ublox/ublox_gps/launch/ublox_gps_node-launch.py
				
			
  1. Bangun kembali paket-paketnya. Kami merekomendasikan penggunaan paket terpisah untuk konfigurasi khusus dan file peluncuran agar semuanya tetap teratur. Kita akan membahas pendekatan itu nanti.
				
					cd ~/ros2_ws
colcon build
source install/setup.bash
				
			
integrasi u-blox ZED-F9P Penerima RTK dengan koreksi ke dalam perbaikan ROS2 Jazzy
  1. Luncurkan node GPS dan uji koneksi:
				
					ros2 launch ublox_gps ublox_gps_node-launch.py
				
			
  1. Jika semuanya dikonfigurasi dengan benar, node harus mulai menerbitkan data GPS dari ArduSimple penerima.
  1. Untuk menghindari penghentian node, buka Terminal baru dan inisialisasi ruang kerja menggunakan perintah di bawah ini. Jika Node ini dihentikan, u-blox perangkat tidak akan lagi menerbitkan topiknya atau menyediakan layanannya.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Jalankan perintah berikut untuk melihat Topik yang tersedia. Cari topik seperti /ublox_gps_node/memperbaiki, yang berisi data GPS dalam format sensor_msgs/NavSatFix, dll.
				
					ros2 topic list
				
			
  1. Jalankan perintah untuk melihat data GPS secara real time. 
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Untuk menghentikan aliran, tekan Ctrl + C.
  2. Lihat daftar layanan yang tersedia yang disediakan oleh Node.
				
					ros2 service list
				
			
  1. Sekarang Anda sudah memiliki u-blox Node ROS 2 berjalan dan menerbitkan data waktu nyata dari penerima RTK Anda.
    Penting:
    • Jangan hentikan u-blox node. Node ini harus berjalan sebelum mengikuti langkah-langkah meluncurkan NTRIP klien, karena server koreksi memerlukan data GPS langsung untuk menghitung dan mengirim koreksi RTCM.
    • The u-blox node harus tetap aktif untuk memvisualisasikan keluaran GPS menggunakan gema topik ros2, seperti yang ditunjukkan pada langkah sebelumnya.

Mulai Node pada ROS 2 untuk digunakan NTRIP koreksi

Kami akan menggunakan klien ntrip Node ROS2 untuk terhubung ke NTRIP Caster dan menerima koreksi RTCM untuk posisi yang lebih akurat. Node ini juga dapat meneruskan lokal NMEA kalimat ke server jarak jauh jika diperlukan. Berikut ini adalah ikhtisar singkat tentang cara menyiapkan dan mengujinya.
Catatan: Pastikan simpul koneksi GPS sudah berjalan, karena diperlukan untuk mengirimkan data koreksi.
  1. Navigasi ke direktori ruang kerja ROS2 dan klon cabang ROS 2.
				
					cd ~/ros2_ws/src
git clone --branch ros2 https://github.com/LORD-MicroStrain/ntrip_client.git
				
			
  1. Kembali ke akar ruang kerja, instal dependensi yang hilang, dan bangun paket
				
					cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
colcon build
source install/setup.bash
				
			
  1. Buka file ntrip_client_launch.py dan gulir ke bawah untuk menemukan kode di mana NTRIP kredensial telah ditetapkan.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Memperbarui NTRIP parameter seperti host, port, nama pengguna, kata sandi, dan titik pemasangan, lalu menyimpan perubahan dalam berkas.
				
					nano ~/ros2_ws/src/ntrip_client/launch/ntrip_client_launch.py
				
			
  1. Bangun ulang paket-paketnya:
				
					cd ~/ros2_ws
colcon build
source ~/ros2_ws/install/setup.bash
				
			
  1. Luncurkan Node dengan Anda NTRIP parameter untuk membuat koneksi ke NTRIP Caster:
				
					ros2 launch ntrip_client ntrip_client_launch.py
				
			
  1. Untuk menghindari penutupan Node, buka Terminal baru dan inisialisasi ruang kerja.
    Catatan: Jika Node dihentikan, u-blox perangkat akan berhenti menerima data koreksi. u-blox node harus berjalan sebelum meluncurkan NTRIP klien, karena menyediakan data GPS yang diperlukan ke server koreksi. Jika u-blox node dihentikan, ia tidak akan lagi menerbitkan Topik dan Layanan yang diperlukan, dan penerima rtk akan berhenti menerima data koreksi.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Untuk menghindari penutupan Node, buka Terminal baru dan inisialisasi ruang kerja.
    Catatan: Jika Node dihentikan, u-blox perangkat akan berhenti menerima data koreksi. u-blox node harus berjalan sebelum meluncurkan NTRIP klien, karena menyediakan data GPS yang diperlukan ke server koreksi. Jika u-blox node dihentikan, ia tidak akan lagi menerbitkan Topik dan Layanan yang diperlukan, dan penerima rtk akan berhenti menerima data koreksi.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Lihat daftar Topik yang tersedia. 
				
					ros2 topic list
				
			
  1. Topik utama yang mungkin Anda lihat:
    • /rtcm: Menerbitkan data koreksi RTCM (baik mavros_msgs/RTCM atau rtcm_msgs/Message, tergantung pada konfigurasi).
    • /nmea: Berlangganan kalimat NMEA lokal, meneruskannya ke server.
    • /ublox_gps_node/memperbaiki: Dapat juga meneruskan data posisi global jika belum dalam format NMEA.
  1. Jika semuanya dilakukan dengan benar, berhasil, Anda akan melihat Node menerbitkan koreksi RTCM di /rtcm topik. Menggunakan klien ntrip Node, Anda dapat mengintegrasikan data koreksi RTCM ke dalam proyek ROS 2 Anda untuk memungkinkan penentuan posisi yang tepat dengan penerima RTK.
				
					ros2 topic echo /rtcm
				
			
  1. Dengan menggunakan simpul ini, Anda dapat mengintegrasikan data koreksi RTCM ke dalam proyek ROS 2 Anda untuk memungkinkan penentuan posisi yang tepat dengan penerima RTK.

Membuat paket peluncuran gabungan

Kami akan membuat paket khusus yang berisi satu file peluncuran untuk dijalankan kedua itu ublox_gps node (menerbitkan data GPS) dan klien ntrip node (menangani koreksi RTK) secara bersamaan. Pendekatan ini menjaga ruang kerja Anda tetap teratur dan memudahkan untuk memulai semua node yang diperlukan dengan satu perintah.

  1. Buka Terminal baru, navigasikan ke ruang kerja ROS2 Anda dan buat paket baru. Untuk meluncurkan nanofile berbasis Python, jalankan perintah berikut:
				
					cd ~/ros2_ws/src
ros2 pkg create combined_rtk --build-type ament_python
				
			
  1. Buat direktori peluncuran dan file peluncuran Python di dalam paket baru.
				
					mkdir -p combined_rtk/launch
nano ~/ros2_ws/src/combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Salin kode dari contoh di bawah ini dan tempelkan ke dalam berkas. Kode tersebut berfungsi:
  • ublox_gps Node: Menerbitkan data GPS mentah dari Anda ArduSimple perangkat.
  • klien ntrip Node: Terhubung ke NTRIP caster/server dan menerbitkan koreksi RTCM di /rtcm (dan juga dapat berlangganan ke /nmea atau /fix jika diperlukan).
  • Shebang (#!/usr/bin/env python3) – Memastikan berkas berjalan sebagai skrip Python.
  • Deskripsi Peluncuran – Menentukan node mana yang akan dimulai.
  • Node parameter – Mengatur parameter spesifik node (misalnya, perangkat, host, port, autentikasi).
				
					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. Edit file dengan memasukkan NTRIP kredensial (host, posting, nama pengguna, kata sandi, titik mount) dan simpan berkas.
  1. Open paket.xml.
				
					cd ~/ros2_ws/src/combined_rtk/
nano package.xml
				
			
  1. Pastikan Anda memiliki dependensi seperti ublox_gps, ntrip_client, launch_ros, dll. di paket.xmlJika Anda belum memilikinya, salin kode di bawah ini dan tempel di berkas.
				
					<exec_depend>ublox_gps</exec_depend>
<exec_depend>ntrip_client</exec_depend>
<exec_depend>launch_ros</exec_depend>
				
			
  1. Open setup.py.
				
					nano  ~/ros2_ws/src/combined_rtk/setup.py
				
			
  1. Salin kode di bawah ini dan tempel ke dalam setup.py file untuk menyertakan file peluncuran dan dependensi. Tutup file dan simpan perubahan.
				
					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. Jadikan File Peluncuran Dapat Dieksekusi.
				
					cd ~/ros2_ws/src
chmod +x combined_rtk/launch/combined_nodes.launch.py
				
			
  1. Kembali ke akar ruang kerja Anda, buat paket baru Anda, dan sumberkan file pengaturan:
				
					cd ~/ros2_ws
colcon build
source install/setup.bash

				
			
  1. Luncurkan keduanya ublox_gps dan klien ntrip Node dengan satu perintah:
				
					ros2 launch combined_rtk combined_nodes.launch.py
				
			
  1. Anda akan melihat log dari kedua node di terminal Anda, yang menunjukkan bahwa:
    • ublox_gps sedang membaca data GPS dari perangkat yang ditentukan (misalnya, /dev/tty_Ardusimple).
    • klien ntrip terhubung ke Anda NTRIP server dan menerbitkan koreksi RTCM di /rtcm (dan mungkin berlangganan /nmea jika dikonfigurasi).
    Catatan: Saat menggunakan file peluncuran ini, tidak perlu memulai secara manual u-blox dan NTRIP node secara terpisah — peluncuran akan secara otomatis memulai kedua node. Jangan tutup Terminal peluncuran ini jika Anda ingin memeriksa topik atau layanan yang disediakan oleh Node ini.
  1. Untuk berinteraksi dengan Node yang diluncurkan, jangan hentikan aliran. Buka Terminal baru dan inisialisasi ruang kerja.
				
					source ~/ros2_ws/install/setup.bash
				
			
  1. Untuk memverifikasi Topik, Layanan, Status Perangkat, buka Terminal baru dan inisialisasi:
				
					source install/setup.bash
				
			
  1. Lihat daftar Topik. 
				
					ros2 topic list
				
			
  1. Anda akan dapat melihat /ublox_gps_node/memperbaiki, /rtcm, atau lainnya.
  1. Lihat Gema Data GPS.
				
					ros2 topic echo /ublox_gps_node/fix
				
			
  1. Ini menunjukkan data GPS waktu nyata. Untuk menghentikan aliran, tekan Ctrl + C.
  1. The ublox_gps Node menerbitkan diagnostik pada topik seperti /diagnostik. Untuk memeriksa Informasi Diagnostik:
				
					ros2 topic echo /diagnostics
				
			
  1. Termasuk pesan status seperti akurasi horizontal, akurasi vertikal, dan “perbaikan 3D” saat penerima memiliki posisi yang valid, atau “perbaikan tidak ok” saat GPS belum diperbaiki dengan benar.

  1. Tips utama untuk memeriksa status perbaikan:
    • Memantau /ublox_gps_node/memperbaiki dalam pesan NavSatFix (bidang status.status) atau pesan diagnostik untuk status berbasis teks yang lebih terperinci.
    • The /diagnostik Topik sering kali memberikan ringkasan yang mudah dibaca seperti “perbaikan 3D”.
    • penggunaan /ublox/navpvt untuk mendapatkan informasi lebih rinci:
      • Bidang fix_type haruslah 3 untuk perbaikan 3D.
      • Kolom bendera seharusnya menunjukkan bahwa koreksi sedang digunakan.
      • Kolom flags2 mencakup status RTK: 67 RTK Float, 128 RTK Fix. Jika nilainya jauh lebih rendah, kemungkinan besar tidak ada koreksi RTK yang diterapkan.
    • Pastikan antena Anda memiliki pandangan yang jelas ke langit dan NTRIP caster kredensial benar untuk mencapai Perbaikan RTK yang stabil.
  1. Terakhir, Anda ingin mengintegrasikan data GPS dan koreksi RTCM secara bersamaan. Untuk melakukannya, Anda perlu memiliki kedua node berjalan pada saat yang sama. Begini cara kerjanya:

    • simpul ublox_gps

      • Menerbitkan perbaikan GNSS mentah pada /fix tema.

      • Mengekspos antarmuka ( rtcm_input parameter) sehingga pesan RTCM yang masuk dapat dikirim ke u-blox perangkat melalui ROS 2.

    • simpul ntrip_client

      • Terhubung ke Anda NTRIP caster dan menerbitkan pesan koreksi RTCM di /rtcm tema.

      • Pesan-pesan ini kemudian harus diteruskan ke u-blox penerima melalui /rtcmrtcm_input.

    Meskipun tutorial menjelaskan setiap langkah secara terpisah, untuk menunjukkan kepada Anda cara meluncurkan setiap node dan memverifikasi bahwa data sedang dipublikasikan, tutorial ini tidak menjelaskan setiap langkah secara terpisah. tidak Hubungkan keduanya secara otomatis. Dalam praktiknya, Anda sebaiknya meluncurkan kedua tumpukan secara bersamaan, misalnya:

    # Terminal 1: jalankan driver ublox
    ros2 meluncurkan ublox_gps ublox_gps_node-launch.py

    # Terminal 2: jalankan NTRIP klien
    ros2 luncurkan ntrip_client ntrip_client-launch.py

    Dengan cara ini, koreksi RTCM mengalir /rtcm langsung diambil oleh pengemudi ublox dan dikirim ke ZED-F9P perangkat, yang pada gilirannya akan menerbitkan RTK-dikoreksi benar /fix.

Kalau kamu sampai di sini, selamat! Ini mungkin salah satu tutorial terpanjang kami 🙂

Jika Anda ingin mengikuti tutorial ini, kami memiliki semua produk dalam stok dan siap dikirim:

Jika Anda menyukai konten ini, Anda dapat mengikuti kami di Twitter, Youtube, Facebook or LinkedIn untuk tetap update konten seperti ini.

Punya pertanyaan atau permintaan?
Hubungi kami! Kami akan menjawab <24 jam!

Ikon
Kontak ArduSimple
Penyelesaian
ArduSimple Papan evaluasi GNSS RTK dibuat mudah

Ingin mempelajari lebih lanjut tentang GPS dan RTK?

Jika Anda sedang sibuk saat ini, teknisi kami dapat mengirimkan 3 email singkat yang menjelaskan semua yang perlu Anda ketahui untuk memulai proyek Anda.