{"id":33913,"date":"2026-05-18T05:00:00","date_gmt":"2026-05-18T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=33913"},"modified":"2026-05-18T09:30:06","modified_gmt":"2026-05-18T07:30:06","slug":"budowa-lazika-rtk-precyzyjna-nawigacja-sterowana-z-aplikacji-webowej","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/budowa-lazika-rtk-precyzyjna-nawigacja-sterowana-z-aplikacji-webowej\/","title":{"rendered":"Budowa \u0142azika RTK: Precyzyjna nawigacja sterowana z aplikacji webowej"},"content":{"rendered":"\n<p>Je\u015bli kiedykolwiek zastanawia\u0142o Ci\u0119, jak naprawd\u0119 dzia\u0142aj\u0105 systemy nawigacji precyzyjnej \u201eod kuchni\u201d, albo je\u015bli rozwa\u017ca\u0142e\u015b w\u0142\u0105czenie technologii pozycjonowania o wysokiej dok\u0142adno\u015bci do jednego ze swoich projekt\u00f3w, ale nie by\u0142e\u015b pewien, od czego zacz\u0105\u0107, wierz\u0119, \u017ce ten artyku\u0142 dostarczy Ci warto\u015bciowych informacji oraz praktycznych wskaz\u00f3wek, kt\u00f3re uznasz za interesuj\u0105ce i przydatne.<\/p>\n\n\n\n<p>Moim celem by\u0142o zbudowanie zintegrowanego systemu sk\u0142adaj\u0105cego si\u0119 z dw\u00f3ch g\u0142\u00f3wnych komponent\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>wysokoprecyzyjnego odbiornika GNSS (Global Navigation Satellite System) \u2013 \u0141azika,<\/li>\n\n\n\n<li>webowej aplikacji steruj\u0105cej \u2013 GNSS RTK Planner.<\/li>\n<\/ul>\n\n\n\n<p>Dla \u0141azika wybra\u0142em rozwi\u0105zanie RTK (Real Time Kinematic), aby uzyska\u0107 centymetrow\u0105 dok\u0142adno\u015b\u0107 pozycjonowania w czasie rzeczywistym. GNSS RTK Planner zaprojektowa\u0142em jako narz\u0119dzie z interaktywn\u0105 map\u0105, kt\u00f3re pozwala u\u017cytkownikom tworzy\u0107 \u015bcie\u017cki nawigacji (ang. Trails) i wysy\u0142a\u0107 je do pod\u0142\u0105czonych \u0141azik\u00f3w, kt\u00f3rych zadaniem jest przejechanie po wyznaczonej trasie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GNSS i RTK<\/strong><\/h2>\n\n\n\n<p>Gdy m\u00f3wimy o nawigacji, zwykle u\u017cywamy s\u0142owa \u201eGPS\u201d, co jest w pewnym sensie poprawne \u2013 ale tylko cz\u0119\u015bciowo. Og\u00f3lna nazwa system\u00f3w nawigacji satelitarnej, z kt\u00f3rych powszechnie korzystamy w telefonach, samochodach itd., to GNSS (Global Navigation Satellite System). Jest to termin zbiorczy dla satelitarnych system\u00f3w nawigacyjnych, kt\u00f3re zapewniaj\u0105 globalnie us\u0142ugi pozycjonowania i synchronizacji czasu.<\/p>\n\n\n\n<p>Obecnie dost\u0119pne s\u0105 cztery globalne systemy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GPS (USA),<\/li>\n\n\n\n<li>GLONASS (Rosja),<\/li>\n\n\n\n<li>Galileo (Europa),<\/li>\n\n\n\n<li>BeiDou (Chiny).<\/li>\n<\/ul>\n\n\n\n<p>I tak \u2013 opr\u00f3cz system\u00f3w globalnych istniej\u0105 te\u017c systemy regionalne, takie jak QZSS (Japonia) czy NavIC (Indie), kt\u00f3re dzia\u0142aj\u0105 tylko na wybranym obszarze.<\/p>\n\n\n\n<p>Nie zamierzam opisywa\u0107, jak dzia\u0142a system GNSS (na ten temat istniej\u0105 tysi\u0105ce ksi\u0105\u017cek i artyku\u0142\u00f3w). Jest jednak jedna wa\u017cna rzecz, szczeg\u00f3lnie przy wyborze odbiornika GNSS RTK, a mianowicie: Jakie typy sygna\u0142\u00f3w obs\u0142uguje.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Pasma cz\u0119stotliwo\u015bci<\/strong><\/h3>\n\n\n\n<p>W dzisiejszych czasach satelity GNSS mog\u0105 transmitowa\u0107 na wielu pasmach cz\u0119stotliwo\u015bci. Jednak obecnie, w zastosowaniach cywilnych, najpopularniejsze s\u0105 trzy (stosuj\u0119 nazewnictwo GPS):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pasmo L1 \u2013 podstawowy cywilny sygna\u0142 (ka\u017cdy prosty odbiornik GNSS go obs\u0142uguje),<\/li>\n\n\n\n<li>pasmo L2 \u2013 pierwotnie wojskowe (GPS), obecnie u\u017cywane tak\u017ce w zaawansowanych zastosowaniach cywilnych,<\/li>\n\n\n\n<li>pasmo L5 \u2013 nowszy cywilny sygna\u0142 typu safety\u2011of\u2011life (wi\u0119ksza moc w por\u00f3wnaniu do L2, szersze pasmo, mniejsza podatno\u015b\u0107 na zak\u0142\u00f3cenia z innych system\u00f3w).<\/li>\n<\/ul>\n\n\n\n<p>Nieco bardziej przekrojowy opis wszystkich dost\u0119pnych pasm cz\u0119stotliwo\u015bci u\u017cywanych w systemach nawigacyjnych znajduje si\u0119 na diagramie poni\u017cej. Ka\u017cdy GNSS stosuje w\u0142asne nazewnictwo, nieco inne cz\u0119stotliwo\u015bci, a czasem nawet inne typy modulacji. Na szcz\u0119\u015bcie anteny i odbiorniki GNSS zwykle obs\u0142uguj\u0105 te r\u00f3\u017cne rozwi\u0105zania.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/sii.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/image1.jpeg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-large&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-33914&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:1920,&quot;targetHeight&quot;:750,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Powi\\u0119ksz obrazek: GNSS frequency bands&quot;,&quot;alt&quot;:&quot;GNSS frequency bands&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"400\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1-1024x400.jpeg\" alt=\"GNSS frequency bands\" class=\"wp-image-33914\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1-1024x400.jpeg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1-300x117.jpeg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1-768x300.jpeg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1-1536x600.jpeg 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image1.jpeg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz obrazek: GNSS frequency bands\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ryc. 1 GNSS frequency bands (<a href=\"https:\/\/gnss.store\/blogs\/gnss-antennas\/l1-l2-l5-l3-and-simply-l-frequency-bands?srsltid=AfmBOoqhs-UOlhca71YGDe70ZSLuyZk3jIEk5hZJPom54cydqnL_mq2a\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >\u017ar\u00f3d\u0142o<\/a>)<\/figcaption><\/figure>\n\n\n\n<p>Ka\u017cda cz\u0119stotliwo\u015b\u0107 przenosi inne kody oraz wiadomo\u015bci nawigacyjne. Wykorzystanie wielu cz\u0119stotliwo\u015bci pomaga korygowa\u0107 op\u00f3\u017anienia atmosferyczne, szczeg\u00f3lnie te wynikaj\u0105ce z jonosfery. Systemy RTK mog\u0105 dzia\u0142a\u0107 na jednym pa\u015bmie (L1), ale konfiguracja dwupasmowa (L1+L2 lub L1+L5) albo tr\u00f3jpasmowa zapewnia zauwa\u017calnie lepsz\u0105 stabilno\u015b\u0107 i precyzj\u0119. Dlatego zdecydowa\u0142em si\u0119 na odbiornik GNSS RTK obs\u0142uguj\u0105cy L1 i L2.<\/p>\n\n\n\n<p>Nie wszystkie satelity wykorzystuj\u0105 wszystkie cz\u0119stotliwo\u015bci \u2013 cz\u0119\u015b\u0107 satelit\u00f3w mo\u017ce obs\u0142ugiwa\u0107 tylko dwa z trzech sygna\u0142\u00f3w (zwykle starsze jednostki wystrzelone wiele lat temu). Poni\u017csza tabela pokazuje uproszczony zestaw dost\u0119pnych satelit\u00f3w i typ\u00f3w sygna\u0142\u00f3w, kt\u00f3re emituj\u0105 (stan na 2025 r.).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>System&nbsp;<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Total<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>L1 or equivalent<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>L2&nbsp;or equivalent<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>L5 or equivalent<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">GPS<\/td><td class=\"has-text-align-center\" data-align=\"center\">31<\/td><td class=\"has-text-align-center\" data-align=\"center\">31<\/td><td class=\"has-text-align-center\" data-align=\"center\">31<\/td><td class=\"has-text-align-center\" data-align=\"center\">24<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">Galileo<\/td><td class=\"has-text-align-center\" data-align=\"center\">28<\/td><td class=\"has-text-align-center\" data-align=\"center\">28<\/td><td class=\"has-text-align-center\" data-align=\"center\">28<\/td><td class=\"has-text-align-center\" data-align=\"center\">28<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">BeiDou<\/td><td class=\"has-text-align-center\" data-align=\"center\">44<\/td><td class=\"has-text-align-center\" data-align=\"center\">29<\/td><td class=\"has-text-align-center\" data-align=\"center\">15&nbsp;<\/td><td class=\"has-text-align-center\" data-align=\"center\">29&nbsp;<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\">GLONASS<\/td><td class=\"has-text-align-center\" data-align=\"center\">24<\/td><td class=\"has-text-align-center\" data-align=\"center\">24<\/td><td class=\"has-text-align-center\" data-align=\"center\">24<\/td><td class=\"has-text-align-center\" data-align=\"center\">&#8211;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Ulepszenia systemu<\/strong><\/h3>\n\n\n\n<p>Klasyczny cywilny GNSS zapewnia stosunkowo nisk\u0105 precyzj\u0119 \u2013 do oko\u0142o 7 metr\u00f3w w bardzo dobrych warunkach. Dlatego zacz\u0119to rozwija\u0107 ulepszenia tego systemu.<\/p>\n\n\n\n<p>Oto niekt\u00f3re z nich:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SBAS (Satellite\u2011Based Augmentation Systems) \u2013 systemy transmituj\u0105ce dane korekcyjne przez satelity geostacjonarne, poprawiaj\u0105ce dok\u0142adno\u015b\u0107 do 1\u20133 metr\u00f3w bez dodatkowej infrastruktury naziemnej.<\/li>\n\n\n\n<li>DGPS (Differential GPS) &nbsp;wykorzystuje poblisk\u0105 stacj\u0119 referencyjn\u0105 do obliczania i nadawania poprawek opartych na kodach, osi\u0105gaj\u0105c dok\u0142adno\u015b\u0107 od poni\u017cej 1 metra do 1\u20132 metr\u00f3w w zale\u017cno\u015bci od odleg\u0142o\u015bci od stacji bazowej.<\/li>\n\n\n\n<li>PPP (Precise Point Positioning) \u2013 wykorzystuje precyzyjne poprawki orbit i zegar\u00f3w satelit\u00f3w (dostarczane przez internet lub satelit\u0119), aby uzyska\u0107 dok\u0142adno\u015b\u0107 od decymetr\u00f3w do centymetr\u00f3w globalnie, cho\u0107 wymaga d\u0142u\u017cszego czasu zbie\u017cno\u015bci (10\u201330 minut) w por\u00f3wnaniu do niemal natychmiastowych poprawek RTK.<\/li>\n\n\n\n<li>RTK (Real\u2011Time Kinematic) \u2013 wykorzystuje pomiary fazy no\u015bnej i poprawki w czasie rzeczywistym ze stacji bazowej, aby uzyska\u0107 dok\u0142adno\u015b\u0107 centymetrow\u0105 (1\u20133 cm), ale wymaga sta\u0142ego \u0142\u0105cza danych i dzia\u0142a najlepiej w promieniu 10\u201330 km od bazy. Nie ka\u017cdy standardowy odbiornik GNSS obs\u0142uguje tak\u0105 funkcjonalno\u015b\u0107. W tym projekcie u\u017cy\u0142em PX1122R, kt\u00f3ry pracuje w pa\u015bmie L1 i L2 oraz obs\u0142uguje wszystkie dost\u0119pne systemy GNSS.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stacja bazowa RTK<\/strong><\/h3>\n\n\n\n<p>Sam odbiornik to jednak nie wszystko \u2013 potrzebne jest tak\u017ce \u017ar\u00f3d\u0142o danych korekcyjnych, czyli stacja bazowa RTK. Mo\u017ce to by\u0107 inny stacjonarny odbiornik GNSS RTK (np. PX1122R) ustawiony w precyzyjnie znanej lokalizacji, kt\u00f3ry generuje i transmituje poprawki do \u0141azika. W moim przypadku oznacza\u0142oby to niepotrzebne koszty, wi\u0119cej pracy i problemy.<\/p>\n\n\n\n<p>Na szcz\u0119\u015bcie niekt\u00f3re us\u0142ugi udost\u0119pniaj\u0105 dane korekcyjne RTK bezp\u0142atnie przez internet, wykorzystuj\u0105c NTRIP (Networked Transport of RTCM via Internet Protocol). Jedn\u0105 z nich, w mojej lokalizacji, jest system ASG\u2011EUPOS \u2013 i zdecydowa\u0142em si\u0119 z niego skorzysta\u0107. Aby zacz\u0105\u0107, wystarczy si\u0119 zarejestrowa\u0107.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Implementacja i wyzwania<\/strong><\/h2>\n\n\n\n<p>Ten projekt ma charakter PoC, wi\u0119c zdecydowa\u0142em si\u0119 u\u017cy\u0107 sprz\u0119tu i narz\u0119dzi, kt\u00f3re upraszczaj\u0105 i przyspieszaj\u0105 rozw\u00f3j (np. MicroPython na ESP32). Na samym pocz\u0105tku spr\u00f3bowa\u0142em zdefiniowa\u0107 wymagania, kt\u00f3re zawa\u017cy\u0142y na ca\u0142ym projekcie.<\/p>\n\n\n\n<p>Dla \u0141azika:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Precyzja musi by\u0107 na poziomie centymetr\u00f3w.<\/li>\n\n\n\n<li>\u0141azik musi zna\u0107 swoj\u0105 pozycj\u0119 i kierunek (ang. heading) ca\u0142y czas, tak\u017ce gdy si\u0119 nie porusza.<\/li>\n\n\n\n<li>\u0141azik jest ma\u0142ym urz\u0105dzeniem (centymetry).<\/li>\n\n\n\n<li>\u0141azik pracuje na ma\u0142ych obszarach (kilka metr\u00f3w).<\/li>\n<\/ul>\n\n\n\n<p>Dla GNSS RTK Planner:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Zestawi\u0107 \u0142\u0105cze komunikacyjne z urz\u0105dzeniem \u0141azika.<\/li>\n\n\n\n<li><span style=\"color: initial;\">Wizualnie definiowa\u0107 \u015bcie\u017ck\u0119 (ang. Trail) poprzez interakcj\u0119 z interfejsem mapy.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Wy\u015bwietla\u0107 Trail na mapie.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Wysy\u0142a\u0107 Trail do pod\u0142\u0105czonego \u0141azika.<\/span><\/li>\n\n\n\n<li>Wy\u015bwietla\u0107 na mapie pozycj\u0119 pod\u0142\u0105czonego \u0141azika w czasie rzeczywistym.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/sii.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/image2-2.png&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-33916&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:678,&quot;targetHeight&quot;:562,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Powi\\u0119ksz obrazek: Przegl\\u0105d ca\\u0142ego rozwi\\u0105zania (wg orygina\\u0142u: \\u2018Overview of whole solution\\u2019)&quot;,&quot;alt&quot;:&quot;Przegl\\u0105d ca\\u0142ego rozwi\\u0105zania (wg orygina\\u0142u: \\u2018Overview of whole solution\\u2019)&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"678\" height=\"562\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image2-2.png\" alt=\"Przegl\u0105d ca\u0142ego rozwi\u0105zania (wg orygina\u0142u: \u2018Overview of whole solution\u2019)\" class=\"wp-image-33916\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image2-2.png 678w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image2-2-300x249.png 300w\" sizes=\"(max-width: 678px) 100vw, 678px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz obrazek: Przegl\u0105d ca\u0142ego rozwi\u0105zania (wg orygina\u0142u: \u2018Overview of whole solution\u2019)\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ryc. 2 Przegl\u0105d ca\u0142ego rozwi\u0105zania <\/figcaption><\/figure>\n\n\n\n<p>Ca\u0142y system \u2013 poza oczywistymi komponentami, takimi jak \u0141azik oraz GNSS RTK Planner \u2013 wymaga nie tylko wysokiej jako\u015bci odbioru sygna\u0142u GNSS, ale r\u00f3wnie\u017c danych korekcyjnych w czasie rzeczywistym ze stacji bazowej RTK, aby dzia\u0142a\u0107 poprawnie.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Dzia\u0142anie systemu<\/strong><\/h3>\n\n\n\n<p>U\u017cycie i dzia\u0142anie systemu mo\u017cna opisa\u0107 nast\u0119puj\u0105c\u0105 sekwencj\u0105:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Uruchom aplikacj\u0119 GNSS RTK Planner i zdefiniuj \u0141azika, wpisuj\u0105c jego nazw\u0119 oraz adres MAC modu\u0142u ESP32 zainstalowanego w naszym \u0141aziku. W tym momencie mo\u017cemy monitorowa\u0107 status po\u0142\u0105czenia, aktualn\u0105 jako\u015b\u0107 fixa GNSS oraz pozycj\u0119 \u0141azika.<\/li>\n\n\n\n<li>W\u0142\u0105cz \u0141azika, kt\u00f3ry wykonuje nast\u0119puj\u0105c\u0105 sekwencj\u0119: Weryfikuje \u0142\u0105czno\u015b\u0107 z internetem, dost\u0119p do us\u0142ugi NTRIP oraz \u0142\u0105czy si\u0119 z aplikacj\u0105 GNSS RTK Planner. Po potwierdzeniu wszystkich etap\u00f3w \u0141azik zestawia komunikacj\u0119 z GNSS RTK Planner i zaczyna przesy\u0142a\u0107 dane GNSS. Je\u015bli nie ma dost\u0119pu do internetu albo wyst\u0119puje problem z kt\u00f3r\u0105kolwiek z wymaganych us\u0142ug, zaczyna miga\u0107 niebieska dioda LED.<\/li>\n\n\n\n<li>(Opcjonalnie) Skalibruj kompas \u2013 naci\u015bnij dedykowany przycisk na 2 sekundy; powinna za\u015bwieci\u0107 si\u0119 \u017c\u00f3\u0142ta dioda LED. Teraz p\u0142ynnie obracaj \u0141azika w r\u00f3\u017cnych kierunkach. Czas kalibracji ustawiono na 2 minuty, co jest w zupe\u0142no\u015bci wystarczaj\u0105ce.<\/li>\n\n\n\n<li>W GNSS RTK Planner u\u017cyj interfejsu mapy, aby utworzy\u0107 Trail \u2013 \u015bcie\u017ck\u0119, kt\u00f3r\u0105 ma pod\u0105\u017ca\u0107 \u0141azik. Zdefiniowany Trail jest nast\u0119pnie przypisywany do \u0141azika zdefiniowanego w aplikacji.<\/li>\n\n\n\n<li>Na tym etapie mo\u017cna przes\u0142a\u0107 przypisany Trail do \u0141azika i obserwowa\u0107 jego ruch na mapie w aplikacji.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GNSS RTK Planner<\/strong><\/h2>\n\n\n\n<p>GNSS RTK Planner to aplikacja webowa, kt\u00f3ra \u0142\u0105czy Flask oraz projekt OpenLayers, aby zapewni\u0107 interaktywne do\u015bwiadczenie pracy z map\u0105. Interfejs zaprojektowano z my\u015bl\u0105 o prostocie, dzi\u0119ki czemu \u0142atwo jest tworzy\u0107, aktualizowa\u0107 i usuwa\u0107 \u0141aziki oraz Traile.<\/p>\n\n\n\n<p>Ka\u017cdy Trail jest zbiorem waypoint\u00f3w GNSS, kt\u00f3re mo\u017cna definiowa\u0107, rysuj\u0105c linie albo umieszczaj\u0105c pojedyncze punkty bezpo\u015brednio na mapie. Po zdefiniowaniu Trail mo\u017ce zosta\u0107 przypisany do jednego lub wielu \u0141azik\u00f3w w aplikacji i nast\u0119pnie wys\u0142any do urz\u0105dzenia. Zdefiniowany Trail mo\u017cna te\u017c wy\u015bwietla\u0107 na mapie po jego wybraniu.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/sii.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/image3-1.png&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-33918&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:777,&quot;targetHeight&quot;:740,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Powi\\u0119ksz obrazek: Widok GNSS RTK Planner (wg orygina\\u0142u: \\u2018GNSS RTK Planner view\\u2019)&quot;,&quot;alt&quot;:&quot;Widok GNSS RTK Planner (wg orygina\\u0142u: \\u2018GNSS RTK Planner view\\u2019)&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"777\" height=\"740\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image3-1.png\" alt=\"Widok GNSS RTK Planner (wg orygina\u0142u: \u2018GNSS RTK Planner view\u2019)\" class=\"wp-image-33918\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image3-1.png 777w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image3-1-300x286.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image3-1-768x731.png 768w\" sizes=\"(max-width: 777px) 100vw, 777px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz obrazek: Widok GNSS RTK Planner (wg orygina\u0142u: \u2018GNSS RTK Planner view\u2019)\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ryc. 3 Widok GNSS RTK Planner <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u0141azik<\/strong><\/h2>\n\n\n\n<p>Jako platform\u0119 bazow\u0105 \u0141azika wybra\u0142em ESP32 (dwurdzeniowy procesor, zintegrowane Wi\u2011Fi oraz konfigurowalne porty GPIO) i zaprogramowa\u0142em go w MicroPythonie. Odbiornik GNSS RTK to PX1122R (L1+L2) sparowany z wielocz\u0119stotliwo\u015bciow\u0105 anten\u0105 wysokiej precyzji L1\/L2\/L5.<\/p>\n\n\n\n<p>\u0141azik zawiera tak\u017ce elektroniczny kompas (IMU9v6), kt\u00f3ry jest niezb\u0119dny do dok\u0142adnego wyznaczania kierunku. Do cel\u00f3w demonstracyjnych \u0141azik zosta\u0142 wyposa\u017cony w ko\u0142a nap\u0119dzane dwoma silnikami DC i sterowane przez MX1508.<\/p>\n\n\n\n<p>Potrzeba u\u017cycia kompasu wynika ze specyfiki projektu \u2013 natychmiastowego okre\u015blenia kierunku po uruchomieniu oraz bardzo niskiej pr\u0119dko\u015bci \u0141azika. Teoretycznie kierunek mo\u017cna by wyznacza\u0107 wy\u0142\u0105cznie na podstawie sygna\u0142u GNSS (dynamicznie, z kierunku zmiany pozycji w czasie), ale w takim przypadku minimalna pr\u0119dko\u015b\u0107 \u0141azika musia\u0142aby wynosi\u0107 &gt;1 m\/s, a tak nie jest.<\/p>\n\n\n\n<p>Alternatywnie, zamiast kompasu mo\u017cna by zastosowa\u0107 zaawansowan\u0105 konfiguracj\u0119 Moving Base Mode (dwa odbiorniki RTK na urz\u0105dzeniu) \u2013 ale to materia\u0142 na inny projekt, z innymi wymaganiami.<\/p>\n\n\n\n<p>U\u017cy\u0142em konfiguracji PX1122R \u201eRover Mode Configuration 2\u201d (zob. PX1122R_DS.pdf) z cz\u0119stotliwo\u015bci\u0105 aktualizacji RTK ustawion\u0105 na 1 s (co 1 sekund\u0119 modu\u0142 wysy\u0142a dane GNSS przez UART do ESP32). Wyposa\u017cy\u0142em p\u0142ytk\u0119 w bateri\u0119 podtrzymuj\u0105c\u0105, aby zminimalizowa\u0107 czas uruchomienia i zachowa\u0107 konfiguracj\u0119.<\/p>\n\n\n\n<p>Zgodnie z danymi z dokumentacji PX1122R uzyskuje RTK Fix w ok. 30 s po w\u0142\u0105czeniu, przy spe\u0142nieniu okre\u015blonych warunk\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Odleg\u0142o\u015b\u0107 od stacji bazowej RTK mniejsza ni\u017c 30 km (u mnie by\u0142o to ok. 2 km).<\/li>\n\n\n\n<li><span style=\"color: initial;\">8 lub wi\u0119cej satelit\u00f3w powy\u017cej 15\u00b0 elewacji, z dobr\u0105 geometri\u0105 (niskie DOP \u2013 Dilution of Precision). M\u00f3wi\u0105c pro\u015bciej: Czasem 8 lub wi\u0119cej satelit\u00f3w o silnym sygnale nie wystarcza do uzyskania RTK Fix, je\u015bli nie s\u0105 dobrze rozmieszczone na niebie.<\/span><\/li>\n\n\n\n<li><span style=\"color: initial;\">Otwarte niebo (open sky) bez zak\u0142\u00f3ce\u0144.<\/span><\/li>\n\n\n\n<li>Sygna\u0142 powy\u017cej 37 dB\/Hz.<\/li>\n<\/ul>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/sii.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/image4.jpeg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-33920&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:692,&quot;targetHeight&quot;:521,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Powi\\u0119ksz obrazek: Ryc. 4 \\u0141azik \\u2013 widok z g\\u00f3ry &quot;,&quot;alt&quot;:&quot;Ryc. 4 \\u0141azik \\u2013 widok z g\\u00f3ry &quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"692\" height=\"521\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image4.jpeg\" alt=\"Ryc. 4 \u0141azik \u2013 widok z g\u00f3ry \" class=\"wp-image-33920\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image4.jpeg 692w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image4-300x226.jpeg 300w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz obrazek: Ryc. 4 \u0141azik \u2013 widok z g\u00f3ry \"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ryc. 4 \u0141azik \u2013 widok z g\u00f3ry<\/figcaption><\/figure>\n\n\n\n<figure data-wp-context=\"{&quot;uploadedSrc&quot;:&quot;https:\\\/\\\/sii.pl\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/image5.jpeg&quot;,&quot;figureClassNames&quot;:&quot;wp-block-image aligncenter size-full&quot;,&quot;figureStyles&quot;:null,&quot;imgClassNames&quot;:&quot;wp-image-33922&quot;,&quot;imgStyles&quot;:null,&quot;targetWidth&quot;:692,&quot;targetHeight&quot;:521,&quot;scaleAttr&quot;:false,&quot;ariaLabel&quot;:&quot;Powi\\u0119ksz obrazek: \\u0141azik \\u2013 widok wn\\u0119trza&quot;,&quot;alt&quot;:&quot;\\u0141azik \\u2013 widok wn\\u0119trza&quot;}\" data-wp-interactive=\"core\/image\" class=\"wp-block-image aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"692\" height=\"521\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image5.jpeg\" alt=\"\u0141azik \u2013 widok wn\u0119trza\" class=\"wp-image-33922\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image5.jpeg 692w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/image5-300x226.jpeg 300w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz obrazek: \u0141azik \u2013 widok wn\u0119trza\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on-async--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"context.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"context.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><figcaption class=\"wp-element-caption\">Ryc. 5 \u0141azik \u2013 widok  wn\u0119trza<\/figcaption><\/figure>\n\n\n\n<p>Doda\u0142em bateri\u0119, prze\u0142\u0105czniki, kilka przewod\u00f3w i po z\u0142o\u017ceniu ca\u0142o\u015b\u0107 umie\u015bci\u0142em w \u201ewyspecjalizowanym\u201d 2\u2011litrowym pojemniku. Aby wprawi\u0107 \u0141azika w ruch, przymocowa\u0142em dwa ko\u0142a nap\u0119dowe (ka\u017cde sterowane osobnym silnikiem DC).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wyzwania<\/strong><\/h2>\n\n\n\n<p>Podczas doboru sprz\u0119tu nie wzi\u0105\u0142em pod uwag\u0119 maksymalnej precyzji liczb zmiennoprzecinkowych. Dla ESP32 w najlepszym przypadku jest to do 7 miejsc po przecinku, co nie wystarcza dla precyzji systemu RTK (np. 52.123456789 wymaga ~10 cyfr znacz\u0105cych). W praktyce wyniki by\u0142y jeszcze gorsze ze wzgl\u0119du na kumulacj\u0119 b\u0142\u0119d\u00f3w podczas oblicze\u0144.<\/p>\n\n\n\n<p>Mimo wszystko zaakceptowa\u0142em to wyzwanie \u2013 zachowa\u0142em konfiguracj\u0119 sprz\u0119tow\u0105, a w cz\u0119\u015bci kodu odpowiedzialnej za obliczenia wsp\u00f3\u0142rz\u0119dnych u\u017cy\u0142em liczb ca\u0142kowitych. Nast\u0119pnym razem wybra\u0142bym jednak platform\u0119 64\u2011bitow\u0105.<\/p>\n\n\n\n<p>Kolejnym wyzwaniem i obecn\u0105 s\u0142abo\u015bci\u0105 projektu jest kontrola trakcji. Wynika to z po\u0142\u0105czenia r\u00f3\u017cnych problem\u00f3w \u2013 od mechanicznych (np. nietrafiony dob\u00f3r silnik\u00f3w DC i k\u00f3\u0142), przez s\u0142ab\u0105 jako\u015b\u0107 przek\u0142adni planetarnych, a\u017c po niedopracowane sterowanie nap\u0119dem oraz kompas.<\/p>\n\n\n\n<p>Kontrola trakcji nie by\u0142a g\u0142\u00f3wnym celem projektu, a mimo to to w\u0142a\u015bnie ona sprawi\u0142a najwi\u0119cej trudno\u015bci podczas rozwoju.<\/p>\n\n\n\n<p>Kod \u017ar\u00f3d\u0142owy projektu jest dost\u0119pny na <a href=\"https:\/\/github.com\/karolew\/GNSS_RTK_Planner\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >GitHubie<\/a>.<\/p>\n\n\n<div class=\"nsw-o-blogersii-banner\">\n            <picture>\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Embedded-Lab-Desktop_.jpg\" media=\"(min-width: 992px)\" >\n            <source srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Embedded-Lab-Mob_.jpg\" media=\"(min-width: 300px)\" >            <img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/04\/Blog-Embedded-Lab-Desktop_.jpg\" alt=\"\"  class=\"\"  >\n        <\/picture>\n        <div class=\"cnt\">\n                    <div class=\"nsw-m-title-block -h3 -invert  -has-title-margin-bottom-0 -has-title-font-weight-bold\">\n                                <h2 class=\"nsw-m-title-block__title\">Embedded Systems<\/h2>\n                <\/div>\n                            <p class=\"has-nsw-p-4-font-size has-invert-color\">\n                Oferujemy us\u0142ugi R&amp;D, projektowania, tworzenia i testowania system\u00f3w wbudowanych, zapewniaj\u0105c bezpiecze\u0144stwo i niezawodno\u015b\u0107 Twoich technologii.\n            <\/p>\n                            <a  href=\"https:\/\/sii.pl\/oferta\/embedded-systems\/\" class=\"nsw-a-button -ghost -banner-button\"   >\n        <span>Oferta Embedded systems<\/span>\n    <\/a>\n            <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Demonstracja i wnioski<\/strong><\/h2>\n\n\n\n<p>Demonstracj\u0119 przeprowadzono w do\u015b\u0107 wymagaj\u0105cym \u015brodowisku miejskim, gdzie odbi\u00f3r sygna\u0142u GNSS by\u0142 istotnie ograniczony przez budynki, konstrukcje i inne przeszkody, kt\u00f3re uniemo\u017cliwia\u0142y idealny, niczym niezak\u0142\u00f3cony widok na niebo.<\/p>\n\n\n\n<p>Na potrzeby testu u\u017cy\u0142em trzech tras nawigacyjnych (Trails):<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u015bcie\u017cki liniowej,<\/li>\n\n\n\n<li>trasy w kszta\u0142cie kwadratu,<\/li>\n\n\n\n<li>trasy tr\u00f3jk\u0105tnej \u2013 ka\u017cda na obszarze nie wi\u0119kszym ni\u017c 3 m \u00d7 3 m.<\/li>\n<\/ul>\n\n\n\n<p>Aby ustali\u0107 realistyczne parametry dzia\u0142ania, skonfigurowa\u0142em system z progiem akceptacji \u00b120 cm dla ka\u017cdego docelowego waypointu GNSS. Oznacza\u0142o to, \u017ce \u0141azik musia\u0142 zbli\u017cy\u0107 si\u0119 w granicach tej tolerancji, aby poprawnie zarejestrowa\u0107 dotarcie do wyznaczonego punktu wsp\u00f3\u0142rz\u0119dnych.<\/p>\n\n\n\n<p>Do\u0142\u0105czona prezentacja wideo pokazuje, \u017ce \u0141azik pod\u0105\u017ca za przypisanymi trasami poprawnie. Nie pod\u0105\u017ca idealnie po liniach \u0142\u0105cz\u0105cych wsp\u00f3\u0142rz\u0119dne GNSS, ale z b\u0142\u0119dem rz\u0119du centymetr\u00f3w. Na podstawie obserwacji podczas pr\u00f3b oszacowa\u0142em, \u017ce maksymalny b\u0142\u0105d pozycjonowania w najgorszym przypadku wynosi\u0142 oko\u0142o 40 cm od wyznaczonej \u015bcie\u017cki.<\/p>\n\n\n\n<p>Zaobserwowane odchylenie od idealnego toru mo\u017cna przypisa\u0107 g\u0142\u00f3wnie ograniczeniom systemu kontroli trakcji, kt\u00f3remu brakuje precyzji i responsywno\u015bci potrzebnych do \u015bledzenia \u015bcie\u017cki z dok\u0142adno\u015bci\u0105 pojedynczych centymetr\u00f3w.<\/p>\n\n\n\n<p>Poza tym rozwi\u0105zanie spe\u0142nia\u0142o pocz\u0105tkowe cele i stanowi\u0142o dobry punkt wyj\u015bcia do dalszego rozwoju.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"GNSS RTK Planner Demo\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/wG-7WOqRIGU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">GNSS RTK Planner Demo<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Referencje<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/navspark.mybigcommerce.com\/content\/PX1122R_DS.pdf\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >PX1122R_DS.pdf<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.faa.gov\/about\/office_org\/headquarters_offices\/ato\/service_units\/techops\/navservices\/gnss\/gps\/howitworks\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Satellite Navigation &#8211; GPS &#8211; How It Works | Federal Aviation Administration<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.gps.gov\/codelesssemi-codeless-gps-access-commitments\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >DOD Positioning, Navigation, and Timing (PNT) Executive Committee<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.gps.gov\/new-civil-signals\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >Official GPS Government Website (GPS.gov)<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.esa.int\/Applications\/Satellite_navigation\/Galileo\/Two_new_satellites_added_to_Galileo_constellation_for_increased_robustness\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >European Space Agency (ESA)<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.beidou.gov.cn\/xt\/gfxz\/201912\/P020191227325641753862.pdf\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >China Satellite Navigation Office (CSNO)<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.unoosa.org\/documents\/pdf\/icg\/2022\/ICG16\/02.pdf\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >UN Office for Outer Space Affairs (UNOOSA)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/gnss-sdr.org\/docs\/tutorials\/gnss-signals\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"nofollow\" >GNSS-SDR<\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/www.asgeupos.pl\/\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >System ASG-EUPOS<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/support.swiftnav.com\/support\/solutions\/articles\/44001850808-understanding-gps-gnss-rtk-technology\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >Swift Navigation Support<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/siipoland-my.sharepoint.com\/personal\/dbaldyga_sii_pl\/Documents\/Blog\/autorzy%20i%20teksty\/Rafa\u0142%20Fr\u0105tczak\/\u2022%09https:\/gnss.store\/blogs\/gnss-receivers\/rtk-ppp-and-autonomous?srsltid=AfmBOorEZIsQKHFF8vggicAFOq3W2BmfSWdfuPPH0cbUy1qfKfqEe84n\" target=\"_blank\" rel=\"noopener\" title=\"\" rel=\"nofollow\" >RTK, PPP and autonomous<\/a><\/li>\n<\/ul>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;33913&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;2&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5&quot;,&quot;size&quot;:&quot;30&quot;,&quot;title&quot;:&quot;Budowa \u0142azika RTK: Precyzyjna nawigacja sterowana z aplikacji webowej&quot;,&quot;width&quot;:&quot;159&quot;,&quot;_legend&quot;:&quot;{score}\\\/5&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 159px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 2px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 30px; height: 30px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 24px;\">\n            5\/5    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Je\u015bli kiedykolwiek zastanawia\u0142o Ci\u0119, jak naprawd\u0119 dzia\u0142aj\u0105 systemy nawigacji precyzyjnej \u201eod kuchni\u201d, albo je\u015bli rozwa\u017ca\u0142e\u015b w\u0142\u0105czenie technologii pozycjonowania o wysokiej &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/budowa-lazika-rtk-precyzyjna-nawigacja-sterowana-z-aplikacji-webowej\/\">Continued<\/a><\/p>\n","protected":false},"author":793,"featured_media":33924,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1314],"tags":[1512,563,299,1032],"class_list":["post-33913","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-poradnik","tag-embedded","tag-aplikacja-webowa","tag-case-study"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2026\/05\/idea.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33913"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/793"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=33913"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33913\/revisions"}],"predecessor-version":[{"id":34029,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/33913\/revisions\/34029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/33924"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=33913"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=33913"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=33913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}