{"id":25752,"date":"2023-11-29T05:00:00","date_gmt":"2023-11-29T04:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=25752"},"modified":"2023-11-28T14:19:23","modified_gmt":"2023-11-28T13:19:23","slug":"estymacja-ruchu-i-lokalizacji-w-zwycieskim-bolidzie-zawodow-formuly-student","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/estymacja-ruchu-i-lokalizacji-w-zwycieskim-bolidzie-zawodow-formuly-student\/","title":{"rendered":"Estymacja ruchu i lokalizacji w bolidzie Zawod\u00f3w Formu\u0142y Student"},"content":{"rendered":"\n<p>Nazywam si\u0119 Jakub Drzewiecki i jestem tegorocznym Liderem Dzia\u0142u Software w zespole Formu\u0142y Student PWR Racing Team dzia\u0142aj\u0105cym na Politechnice Wroc\u0142awskiej. Od 2009 roku konstruujemy bolidy, w czym wspiera nas firma Sii. Aktualnie zaczynamy prac\u0119 nad nowym, pi\u0119tnastym ju\u017c bolidem, kt\u00f3ry jednocze\u015bnie b\u0119dzie naszym trzecim pojazdem elektrycznym z systemami jazdy autonomicznej. <\/p>\n\n\n\n<p>Z niniejszego artyku\u0142u b\u0119dziecie mogli dowiedzie\u0107 si\u0119 wi\u0119cej o dzia\u0142aniu naszego systemu autonomicznego, a dok\u0142adniej o <strong>estymacji ruchu i lokalizacji<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Estymacja ruchu<\/strong><\/h2>\n\n\n\n<p>Jednym z niezb\u0119dnych element\u00f3w potrzebnych do niezawodnej pracy systemu jest precyzyjna ocena aktualnej dynamiki pojazdu. W tym celu opracowali\u015bmy podsystem oparty o Filtr Kalmana, skupiaj\u0105cy si\u0119 na przetwarzaniu danych odbieranych przez czujniki takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Xsens MTi-670 GNSS\/INS,<\/li>\n\n\n\n<li>Bosch MM5.10,<\/li>\n\n\n\n<li>nasz autorski czujnik IMU.<\/li>\n<\/ul>\n\n\n\n<p>Pierwszym krokiem po otrzymaniu nowych danych jest dokonanie <strong>predykcji dynamiki pojazdu<\/strong>. Na podstawie opracowanego przez nas fizycznego modelu ruchu pojazdu obliczamy przewidywane warto\u015bci danych takie jak: pr\u0119dko\u015b\u0107, przyspieszenie czy orientacja pojazdu. Nast\u0119pnie, wykonywana jest korekta bie\u017c\u0105cych odczyt\u00f3w z wy\u017cej wymienionych czujnik\u00f3w. W tym celu obliczamy macierz wzmocnienia Kalmana, kt\u00f3ra decyduje o \u201ezaufaniu\u201d do \u017ar\u00f3de\u0142 danych. Finalnie, nast\u0119puje fuzja obu informacji, aby nast\u0119pnie otrzyma\u0107 aktualny stan pojazdu.<\/p>\n\n\n\n<p>W ten spos\u00f3b przetworzone informacje u\u017cywane s\u0105 przez kolejne systemy \u2013 mi\u0119dzy innymi do oceny aktualnej pozycji pojazdu w przestrzeni czy dobrania docelowej pr\u0119dko\u015bci i k\u0105ta skr\u0119tu k\u00f3\u0142 pojazdu. Ju\u017c teraz rozwijamy nasz system, <strong>pracuj\u0105c nad bardziej zaawansowanym modelem pojazdu<\/strong>, gdy\u017c od dok\u0142adno\u015bci stanu pojazdu zale\u017cy wydajno\u015b\u0107 ca\u0142ego systemu autonomicznego.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>SLAM<\/strong><\/h2>\n\n\n\n<p>SLAM, czyli symultaniczna lokalizacja i mapowanie (ang. Simultaneous Localization and Mapping), to kolejna cz\u0119\u015b\u0107 naszego systemu autonomicznego. Na podstawie wykrytych pacho\u0142k\u00f3w oraz aktualnego stanu pojazdu jest w stanie okre\u015bli\u0107 dok\u0142adne po\u0142o\u017cenie bolidu w przestrzeni i \u015bledzi\u0107 jego tras\u0119 przez ca\u0142\u0105 konkurencj\u0119.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter 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=\"Wsp\u00f3\u0142praca Sii i student\u00f3w Politechniki Wroc\u0142awskiej - jeden z pierwszych przejazd\u00f3w bolidu\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/O0P4kXRN3AM?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><\/figure>\n\n\n\n<p>W celu okre\u015blenia lokalizacji bolidu korzystamy z algorytmu FastSLAM 2.0 wraz z wprowadzonymi przez nas drobnymi usprawnieniami, kt\u00f3re umo\u017cliwi\u0142y zwi\u0119kszenie jego dok\u0142adno\u015bci, co na w\u0105skich nitkach toru Formu\u0142y Student jest niezwykle istotne. Mimo istnienia wielu innych algorytm\u00f3w, kt\u00f3re mog\u0142yby sprosta\u0107 temu zadaniu, zdecydowali\u015bmy si\u0119 na ten, gdy\u017c jako <strong>jedyny dzia\u0142a w czasie rzeczywistym.<\/strong><\/p>\n\n\n\n<p>Algorytm tworzy wiele \u201ecz\u0105steczek\u201d, kt\u00f3re maj\u0105 na celu niezale\u017cnie od siebie szacowa\u0107 aktualn\u0105 pozycj\u0119 pojazdu. W pierwszym kroku aktualizowane jest po\u0142o\u017cenie ka\u017cdej z nich na podstawie danych dostarczonych przez system zajmuj\u0105cy si\u0119 estymacj\u0105 ruchu. Nast\u0119pnie dokonywana jest predykcja aktualnego po\u0142o\u017cenia, kt\u00f3ra uwzgl\u0119dnia zar\u00f3wno ruch, jak i pacho\u0142ki wykryte przez system percepcji. Kolejno dokonuje si\u0119 aktualizacja zmapowanych pacho\u0142k\u00f3w, dzi\u0119ki czemu utworzona dotychczas <strong>mapa zgadza si\u0119 z rzeczywisto\u015bci\u0105<\/strong>. <\/p>\n\n\n\n<p>Finalnie, spo\u015br\u00f3d wszystkich cz\u0105steczek, wybierana jest ta, kt\u00f3ra z najwi\u0119kszym prawdopodobie\u0144stwem przedstawia pozycj\u0119 naszego bolidu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/11\/Obraz1-7.png\"><img decoding=\"async\" width=\"465\" height=\"325\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/11\/Obraz1-7.png\" alt=\"Wizualizacja trasy bolidu\" class=\"wp-image-25753\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/11\/Obraz1-7.png 465w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/11\/Obraz1-7-300x210.png 300w\" sizes=\"(max-width: 465px) 100vw, 465px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 Wizualizacja trasy bolidu<\/figcaption><\/figure>\n\n\n\n<p>Na za\u0142\u0105czonej wizualizacji zobaczy\u0107 mo\u017cna dzia\u0142anie tego algorytmu w praktyce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>linia fioletowa przedstawia tras\u0119 pojazdu tylko i wy\u0142\u0105cznie na podstawie estymacji ruchu pojazdu,<\/li>\n\n\n\n<li>linia niebieska jest rzeczywist\u0105 tras\u0105,<\/li>\n\n\n\n<li>linia czerwona to trasa uzyskana przez algorytm.<\/li>\n<\/ul>\n\n\n\n<p>Widoczne s\u0105 r\u00f3wnie\u017c wszystkie dotychczas zmapowane przez system percepcji pacho\u0142ki.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Nasz system autonomiczny ju\u017c dzi\u015b sk\u0142ada si\u0119 z wielu zaawansowanych algorytm\u00f3w i technologii, a wci\u0105\u017c go rozwijamy. Wierzymy, \u017ce systemy jazdy autonomicznej stanowi\u0105 przysz\u0142o\u015b\u0107 i pole do ogromnego rozwoju w bran\u017cy automotive, wi\u0119c ju\u017c teraz chcemy si\u0119 w nich doskonali\u0107. Bycie cz\u0119\u015bci\u0105 Zespo\u0142u Formu\u0142y Student daje szans\u0119 pracy przy u\u017cyciu zaawansowanych narz\u0119dzi, a tak\u017ce wsp\u00f3\u0142prac\u0119 ze specjalistami z bran\u017cy \u2013 takimi jak eksperci z Sii.<\/p>\n\n\n\n<p>Sii zdoby\u0142o ogromne do\u015bwiadczenie in\u017cynieryjne w zakresie wykorzystania estymator\u00f3w problem\u00f3w liniowo-kwadratowych, sztucznej inteligencji czy algorytm\u00f3w \u015bledzenia-eksploracji pomieszcze\u0144. Zespo\u0142y in\u017cynier\u00f3w wykorzystuj\u0105 swoj\u0105 fachow\u0105 wiedz\u0119 w projektach:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>z bran\u017cy samochodowej, np. sterowanie przekszta\u0142tnikami mocy w systemach \u0142adowania samochod\u00f3w elektrycznych;<\/li>\n\n\n\n<li>z bran\u017cy automatyki-robotyki, np. projekt robota wspomagaj\u0105cego oprowadzanie os\u00f3b niewidomych w zamkni\u0119tych pomieszczeniach.<\/li>\n<\/ul>\n\n\n\n<p>In\u017cynierowie Sii maj\u0105 tak\u017ce bogate zaplecze specjalist\u00f3w z dziedziny elektroniki, mikroelektroniki, mechaniki czy mechatroniki, np. <a href=\"https:\/\/sii.pl\/aktualnosci\/sii-polska-wyrozniona-prestizowym-certyfikatem-cir-dla-projektu-badawczego-evaa-dowiedz-sie-jak-firma-wspiera-walke-z-glodem-na-swiecie\/?category=nagrody-pl&amp;tag=certyfikaty,hi-tech\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">wewn\u0119trzny projekt EVVA<\/a>.<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p>Je\u015bli fascynuje Ci\u0119 temat automotive i bolid\u00f3w, sprawd\u017a koniecznie <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/sii.pl\/blog\/jak-zbudowac-zwycieski-bolid-czyli-zawody-formuly-student\/\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">pierwszy artyku\u0142 napisany przez PWR Racing Team i Sii<\/a> oraz to, co na temat pracy dla Porsche pisze nasz in\u017cynier:&nbsp;<a href=\"https:\/\/sii.pl\/blog\/jak-wygladala-praca-robotyka-sii-przy-linii-produkcyjnej-porsche\/?category=development-na-miekko&amp;tag=inzynieria,porsche,robot-abb\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">Jak wygl\u0105da\u0142a praca robotyka Sii przy linii produkcyjnej Porsche<\/a><\/p>\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;25752&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;4&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;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( votes: 4)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Estymacja ruchu i lokalizacji w bolidzie Zawod\u00f3w Formu\u0142y Student&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&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: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( votes: 4)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Nazywam si\u0119 Jakub Drzewiecki i jestem tegorocznym Liderem Dzia\u0142u Software w zespole Formu\u0142y Student PWR Racing Team dzia\u0142aj\u0105cym na Politechnice &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/estymacja-ruchu-i-lokalizacji-w-zwycieskim-bolidzie-zawodow-formuly-student\/\">Continued<\/a><\/p>\n","protected":false},"author":591,"featured_media":25758,"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":[1738,1737,1589],"class_list":["post-25752","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-twardo","tag-bolid","tag-zawody-formuly-student","tag-automotive"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/11\/Jak-zbudowac-zwycieski-bolid-czyli-Zawody-Formuly-Student.jpg","category_names":["Development na twardo"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/25752"}],"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\/591"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=25752"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/25752\/revisions"}],"predecessor-version":[{"id":25767,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/25752\/revisions\/25767"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/25758"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=25752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=25752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=25752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}