YDLIDAR GS2 DEVELOPMENT Lineární Array Solid LiDAR senzor
PRACOVNÍ MECHANISMUS
Režim
Systém YDLIDAR GS2 (dále jen GS2) má 3 pracovní režimy: klidový režim, režim skenování, režim zastavení.
- Nečinný režim: Když je GS2 zapnutý, výchozím režimem je klidový režim. V klidovém režimu nefunguje zaměřovací jednotka GS2 a laser nesvítí.
- Režim skenování: Když je GS2 v režimu skenování, zaměřovač zapne laser. Když GS2 začne pracovat, nepřetržitě sampvnější prostředí a po zpracování na pozadí jej vydává v reálném čase.
- Režim zastavení: Když GS2 běží s chybou, jako je zapnutí skeneru, laser je vypnutý, motor se neotáčí atd. GS2 automaticky vypne jednotku pro měření vzdálenosti a odešle zpět chybový kód.
Princip měření
GS2 je polovodičový lidar krátkého dosahu s dosahem 25-300 mm. Skládá se především z čárového laseru a kamery. Poté, co jednořádkový laser vyšle laserové světlo, je zachyceno kamerou. Podle pevné struktury laseru a kamery v kombinaci s principem triangulačního měření vzdálenosti můžeme vypočítat vzdálenost od objektu k GS2. Podle kalibrovaných parametrů kamery lze poznat hodnotu úhlu měřeného objektu v souřadnicovém systému lidar. Výsledkem je, že jsme získali kompletní data měření měřeného objektu.
Bod O je počátek souřadnic, fialová oblast je úhel view pravého fotoaparátu a oranžová oblast je úhel view levého fotoaparátu.
S interpunkcí mod jako počátkem souřadnic je předek směr souřadnicového systému 0 stupňů a úhel se zvětšuje ve směru hodinových ručiček. Při výstupu mračna bodů je pořadí dat (S1~S160) L1~L80, R1~R80. Úhel a vzdálenost vypočítané SDK jsou všechny reprezentovány v souřadnicovém systému ve směru hodinových ručiček.
SYSTÉMOVÁ KOMUNIKACE
Komunikační mechanismus
GS2 komunikuje příkazy a data s externími zařízeními přes sériový port. Když externí zařízení odešle systémový příkaz do GS2, GS2 vyhodnotí systémový příkaz a vrátí odpovídající odpověď. Podle obsahu příkazu přepne GS2 odpovídající pracovní stav. Na základě obsahu zprávy může externí systém zprávu analyzovat a získat data odpovědi.
Příkaz systému
Externí systém může nastavit odpovídající pracovní stav GS2 a odeslat odpovídající data odesláním souvisejících systémových příkazů. Systémové příkazy vydávané GS2 jsou následující:
GRAF 1 SYSTÉMOVÝ PŘÍKAZ YDLIDAR GS2
Systémový příkaz | Popis | Přepínání režimů | Režim odpovědi |
0×60 | Získání adresy zařízení | Režim zastavení | Jediná odpověď |
0×61 | Získání parametrů zařízení | Režim zastavení | Jediná odpověď |
0×62 | Získání informací o verzi | Režim zastavení | Jediná odpověď |
0×63 | Začněte skenovat a vydávejte data mračna bodů | Režim skenování | Nepřetržitá odezva |
0x64 | Zastavit zařízení, zastavit skenování | Režim zastavení | Jediná odpověď |
0x67 | Měkký restart | / | Jediná odpověď |
0×68 | Nastavte přenosovou rychlost sériového portu | Režim zastavení | Jediná odpověď |
0×69 | Nastavte režim okraje (režim proti šumu) | Režim zastavení | Jediná odpověď |
Systémové zprávy
Systémová zpráva je zpráva s odpovědí, kterou systém předává zpět na základě přijatého systémového příkazu. Podle různých systémových příkazů se režim odpovědi a obsah odpovědi systémové zprávy také liší. Existují tři druhy režimů odezvy: žádná odezva, jediná odezva, nepřetržitá odezva.
Žádná odpověď znamená, že systém nevrací žádné zprávy. Jediná odpověď znamená, že délka zprávy systému je omezená a odpověď jednou skončí. Když je systém propojen s více zařízeními GS2, některé příkazy obdrží odpovědi od více zařízení GS2 za sebou. Nepřetržitá odezva znamená, že délka zpráv systému je nekonečná a je třeba data odesílat nepřetržitě, například při vstupu do režimu skenování.
Zprávy s jednou odpovědí, vícenásobnou odpovědí a kontinuální odpovědí používají stejný datový protokol. Obsah protokolu je: hlavička paketu, adresa zařízení, typ paketu, délka dat, datový segment a kontrolní kód a jsou odesílány přes hexadecimální systém sériového portu.
GRAF 2 YDLIDAR GS2 SCHÉMATICKÉ DIAGRAM DATOVÉHO PROTOKOLU SYSTÉMOVÉ ZPRÁVY
Záhlaví paketu | Adresa zařízení | Typ paketu | Délka odezvy | Datový segment | Zkontrolujte kód |
4 bajtů | 1 bajtů | 1 bajtů | 2 bajtů | N bajtů | 1 bajtů |
Posun bajtů
- Hlavička paketu: Hlavička paketu zprávy pro GS2 je označena 0xA5A5A5A5.
- Adresa zařízení: Adresa zařízení GS2 se podle počtu kaskád dělí na: 0x01, 0x02, 0x04;
- Typ paketu: Typy systémových příkazů najdete v tabulce 1.
- Délka odezvy: Představuje délku odezvy
- Datový segment: Různé systémové příkazy reagují na různý obsah dat a jejich datové protokoly se liší.
- Kontrolní kód: kontrolní kód.
Poznámka: Datová komunikace GS2 využívá režim small-endian, nejprve nižšího řádu.
DATOVÝ PROTOKOL
Získejte příkaz Adresa zařízení
Když externí zařízení odešle tento příkaz do GS2, GS2 vrátí paket s adresou zařízení, zpráva zní:
Pokud je v kaskádovém uspořádání N zařízení (podporována až 3) vlákna, příkaz vrátí N odpovědí v 0x01, 0x02, 0x04, což odpovídá 1-3 modulům.
Definice: Adresa modulu 1 je 0x01, modulu 2 je 0x02 a modulu 3 je 0x04.
Příkaz Získat informace o verzi
Když externí zařízení odešle příkaz skenování do GS2, GS2 vrátí informace o své verzi. Zpráva s odpovědí je:
V případě kaskádování, pokud je N (maximálně 3) zařízení zapojeno do série, tento příkaz vrátí N odpovědí, kde adresa je adresa posledního zařízení.
Číslo verze má délku 3 bajty a číslo SN má délku 16 bajtů.
Získejte příkaz pro parametr zařízení
Když externí zařízení odešle tento příkaz do GS2, GS2 vrátí své parametry zařízení a zpráva zní:
V kaskádě, pokud je vlákno N zařízení (až 3 podporované), příkaz vrátí N odpovědí odpovídajících parametrům každého zařízení.
K a B přijaté protokolem jsou typu uint16, které je třeba převést na typ float a poté vydělit 10000, než budou nahrazeny výpočetní funkcí.
- d_compensateK0 = (float)K0/10000.0f;
- d_compensateB0 = (float)B0/10000.0f;
- d_compensateK1 = (float)K1/10000.0f;
- d_compensateB1 = (float)B1/10000.0f;
Bias je typu int8, který je třeba před dosazením do výpočetní funkce převést na typ float a vydělit 10.
- bias = (float) bias /10;
Příkaz
Příkaz skenování
Když externí zařízení odešle příkaz ke skenování do GS2, GS2 přejde do režimu skenování a nepřetržitě vrací data mračna bodů. Zpráva zní: Příkaz odeslán: (Pošlete adresu 0x00, kaskádu nebo ne, spustí se všechna zařízení)
Přijatý příkaz: (V kaskádových případech tento příkaz vrací pouze jednu odpověď a adresa je největší adresa, napřample: Zařízení č. 3 jsou kaskádována a adresa je 0x04.)
Datový segment jsou data mračna bodů naskenovaná systémem, která jsou odesílána na sériový port v hexadecimální soustavě na externí zařízení podle následující datové struktury. Datová délka celého paketu je 322 bajtů, včetně 2 bajtů dat prostředí a 160 bodů rozsahu (S1-S160), z nichž každý má 2 bajty, horních 7 bitů jsou data intenzity a spodních 9 bitů jsou data vzdálenosti . Jednotkou je mm.
Zastavit příkaz
Když je systém ve stavu skenování, GS2 odesílá data z mračna bodů do vnějšího světa. Chcete-li skenování v tuto chvíli zakázat, odešlete tento příkaz k zastavení skenování. Po odeslání příkazu k zastavení modul odpoví na příkaz odezvy a systém okamžitě přejde do pohotovostního režimu spánku. V tuto chvíli je měřicí jednotka zařízení v režimu nízké spotřeby energie a laser je vypnutý.
- Odeslání příkazu: (odeslat adresu 0x00, bez ohledu na to, zda kaskádové nebo ne, všechna zařízení budou uzavřena).
V případě kaskádování, pokud je N (maximálně 3) zařízení zapojeno do série, tento příkaz vrátí pouze odpověď, kde adresa je adresa posledního zařízení, např.ample: pokud jsou v kaskádě 3 zařízení, adresa je 0x04.
Nastavte příkaz Přenosová rychlost
Když externí zařízení odešle tento příkaz do GS2, lze nastavit výstupní přenosovou rychlost GS2.
- Příkaz odeslán: (odesílací adresa 0x00, podporuje pouze nastavení přenosové rychlosti všech kaskádovaných zařízení, aby byla stejná), zpráva je:
Mezi nimi je datovým segmentem parametr přenosové rychlosti, včetně čtyř přenosových rychlostí (bps), v tomto pořadí: 230400, 512000, 921600, 1500000 odpovídající kódu 0-3 (poznámka: třímodulové sériové připojení musí být ≥921600, výchozí je 921600).
V případě kaskádování, pokud je N zařízení (maximálně podpora 3) zařízení zapojeno do série, příkaz vrátí N odpovědí, odpovídajících parametrům každého zařízení, a adresy jsou: 0x01, 0x02, 0x04.
- Po nastavení přenosové rychlosti je třeba zařízení restartovat.
Nastavte režim Edge (silný režim proti rušení)
Když externí zařízení odešle tento příkaz do GS2, lze nastavit režim proti rušení GS2.
- Odeslání příkazu: (adresa pro odeslání, adresa kaskády), zpráva je:
příjem příkazů
Adresa je adresa modulu, který je třeba nakonfigurovat v kaskádovém propojení. Mode=0 odpovídá standardnímu režimu, Mode=1 odpovídá režimu hrany (zásobník směřuje nahoru), Mode=2 odpovídá režimu hrany (nádoba směřuje dolů). V režimu edge je pevný výkon lidaru 10 Hz a filtrační efekt okolního světla bude posílen. Mode=0XFF znamená čtení, lidar se vrátí do aktuálního režimu. Lidar ve výchozím nastavení funguje ve standardním režimu.
- Nastavit modul 1: Adresa = 0x01
- Nastavit modul 2: Adresa = 0x02
- Nastavit modul 3: Adresa = 0x04
Příkaz resetování systému
Když externí zařízení odešle tento příkaz do GS2, GS2 přejde do měkkého restartu a systém se resetuje a restartuje.
Odeslání příkazu: (adresa pro odeslání, může to být pouze přesná zřetězená adresa: 0x01/0x02/0x04)
Adresa je adresa modulu, který je třeba nakonfigurovat v kaskádovém propojení.
- Reset modulu 1: Adresa = 0x01
- Reset modulu 2: Adresa = 0x02
- Reset modulu 3: Adresa = 0x04
ANALÝZA DAT
GRAF 3 POPIS DATOVÉ STRUKTURY
Obsah | Jméno | Popis |
K0(2B) | Parametry zařízení | (uint16) Koeficient k0 parametru úhlu levé kamery (viz část 3.3) |
B0(2B) | Parametry zařízení | (uint16) Koeficient k0 parametru úhlu levé kamery (viz část 3.3) |
K1(2B) | Parametry zařízení | (uint16) Parametr pravého úhlu kamery koeficient k1 (viz část 3.3) |
B1(2B) | Parametry zařízení | (uint16) Koeficient b1 parametru pravého úhlu kamery (viz část 3.3) |
BIAS | Parametry zařízení | (int8) Aktuální koeficient zkreslení parametru úhlu kamery (viz část 3.3) |
ENV(2B) | Údaje o prostředí | Intenzita okolního světla |
Si (2B) | Údaje o měření vzdálenosti | Dolních 9 bitů je vzdálenost, horních 7 bitů je hodnota intenzity |
- Analýza vzdálenosti
Vzorec pro výpočet vzdálenosti: Vzdálenost = (_ ≪ 8|_) &0x01ff, jednotka je mm.
Výpočet síly: Kvalita = _ ≫ 1 - Úhlová analýza
Směr laserové emise se bere jako přední strana senzoru, projekce středu kruhu laseru na rovinu PCB se bere jako počátek souřadnic a systém polárních souřadnic je stanoven s normálou roviny PCB jako směr 0 stupňů. Ve směru hodinových ručiček se úhel postupně zvětšuje.
K převodu původních dat přenášených Lidarem do souřadnicového systému na výše uvedeném obrázku je zapotřebí řada výpočtů. Funkce převodu je následující (podrobnosti naleznete v sadě SDK):
Zkontrolujte analýzu kódu
Kontrolní kód používá akumulaci jednoho bajtu ke kontrole aktuálního datového paketu. Čtyřbajtová hlavička paketu a samotný kontrolní kód se neúčastní operace kontroly. Vzorec řešení kontrolního kódu je:
- Kontrolní součet = ADD1()
- = 1,2, …,
ADD1 je kumulativní vzorec, to znamená shromáždit čísla od dolního indexu 1 po konec v prvku.
UPGRADE OTA
Upgrade Workflow
Odeslat protokol
GRAF 4 FORMÁT DATOVÉHO PROTOKOLU OTA (SMALL ENDIAN)
Parametr | Délka (BYTE) | Popis |
Packet_Header | 4 | Hlavička datového paketu, pevná jako A5A5A5A5 |
Device_Address | 1 | Určuje adresu zařízení |
Pack_ID | 1 | ID datového paketu (typ dat) |
Data_Len | 2 | Datová délka datového segmentu, 0-82 |
Data | n | Data, n = Data_Len |
Kontrolní_součet | 1 | Kontrolní součet, kontrolní součet zbývajících bajtů po odstranění záhlaví |
GRAF 5 POKYNY K AKTUALIZACI OTA
Typ instrukce | Pack_ID | Popis |
Start_IAP | 0x0A | Odesláním tohoto příkazu spustíte IAP po zapnutí |
Running_IAP | 0x0B | Spusťte IAP, přenášejte pakety |
Complete_IAP | 0x0C | Konec IAP |
ACK_IAP | 0x20 | Odpověď IAP |
RESET_SYSTEM | 0x67 | Resetujte a restartujte modul na zadané adrese |
Start_IAP Instrukce
Odeslání příkazu
- Datový segment Formát dat:
- Data[0~1]: Výchozí hodnota je 0x00;
- DATA[2~17]: Je to ověřovací kód s pevným znakem:
- 0x73 0x74 0x61 0x72 0x74 0x20 0x64 0x6F 0x77 0x6E 0x6C 0x6F 0x61 0x64 0x00 0x00
- Viz Odeslání zprávy
- A5 A5 A5 A5 01 0A 12 00 00 00 73 74 61 72 74 20 64 6F 77 6E 6C 6F 61 64 00 00 C3
Příjem příkazů: Kvůli operacím v sektoru FLASH je návratové zpoždění dlouhé a kolísá mezi 80 ms a 700 ms)
Přijímat formát dat
- Adresa: adresa modulu;
- ACK: Výchozí hodnota je 0x20, což znamená, že datový paket je potvrzovací paket; Data[0~1]: Výchozí hodnota je 0x00;
- Údaje[2]: 0x0A označuje, že příkaz odezvy je 0x0A;
- Údaje[3]: 0x01 znamená normální příjem, 0 znamená abnormální příjem;
- Reference k obdržení:
A5 A5 A5 A5 01 20 04 00 00 00 0A 01 30
Running_IAP instrukce
Odeslání příkazu
Firmware bude během upgradu rozdělen a první dva bajty datového segmentu (Data) označují posun tohoto segmentu dat vzhledem k prvnímu bytu firmwaru.
- Údaje[0~1]:Package_Shift = Data[0]+ Data[1]*256;
- Data[2]~Data[17]: je ověřovací kód s pevným řetězcem:
- 0x64 0x6F 0x77 0x6E 0x6C 0x6F 0x61 0x64 0x69 0x6E 0x67 0x00 0x00 0x00 0x00 0x00 Data[18]~Data[81]: data firmwaru;
- Viz Odeslání zprávy
- A5 A5 A5 A5 01 0B 52 00 00 00 64 6F 77 6E 6C 6F 61 64 69 6E 67 00 00 00 00 00 +
(Data[18]~Data[81]) + Kontrolní_součet
Příjem příkazů
- Adresa: is adresa modulu;
- ACK: Výchozí hodnota je 0x20, což znamená, že datový paket je potvrzovací paket;
Data[0~1] : Package_Shift = Data[0]+ Data[1]*256 označuje offset firmwarových dat odpovědi. Při detekci odezvy během procesu upgradu se doporučuje posuzovat offset jako ochranný mechanismus.
- Data[2]=0x0B udává, že příkaz odezvy je 0x0B;
- Data[3]=0x01 označuje normální příjem, 0 označuje abnormální příjem;
Odkaz k přijetí
A5 A5 A5 A5 01 20 04 00 00 00 0B 01 31
Complete_IAP Instruction
Odeslání příkazu
- Data[0~1]: Výchozí hodnota je 0x00;
- Data[2]~Data[17]: Jedná se o ověřovací kód s pevným řetězcem:
0x63 0x6F 0x6D 0x70 0x6C 0x65 0x74 0x65 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
Data[18]~Data[21]: příznak šifrování, typ uint32_t, šifrovaný firmware je 1, nešifrovaný firmware je 0;
Viz odeslání zprávy:
A5 A5 A5 A5 01 0C 16 00 00 00 63 6F 6D 70 6C 65 74 65 00 00 00 00 00 00 00 00 + (příznak šifrování uint32_t) + Check_Sum
Příjem příkazů
- Formát příjmu dat:
- Adresa: je adresa modulu;
- ACK: Výchozí hodnota je 0x20, což znamená, že datový paket je potvrzovací paket;
- Data[0~1]: Výchozí hodnota je 0x00;
- Údaje[2]: 0x0C označuje, že příkaz odezvy je 0x0C;
- Údaje[3]: 0x01 znamená normální příjem, 0 znamená abnormální příjem;
- Podívejte se na přijatou zprávu:
A5 A5 A5 A5 01 20 04 00 00 00 0C 01 32
Instrukce RESET_SYSTEM
Podrobnosti naleznete v kapitole 3.8 Příkaz k resetování systému.
Otázky a odpovědi
- Otázka: Jak posoudit, zda je reset úspěšný po odeslání příkazu k resetování? Je nutné zpoždění?
- A: Úspěšné provedení může být posuzováno podle paketu odezvy příkazu reset; doporučuje se přidat 500 ms zpoždění po obdržení odpovědi před provedením dalších operací.
- Otázka: Modul 4 po resetu přijímá některá data sériového portu, která neodpovídají protokolu, jak se s tím vypořádat?
- A: Protokol při zapnutí modulu je řetězec ASCII dat se 4 hlavičkami 0x3E, který neovlivňuje normální analýzu dat se 4 hlavičkami 0xA5 a může být ignorován. Kvůli fyzické vazbě nelze přijímat protokoly modulů č. 1 a č. 2.
- Otázka: Jak se vypořádat s tím, když je proces upgradu přerušen výpadkem napájení a restartováním?
- A: Znovu odešlete příkaz Start_IAP, abyste provedli aktualizaci.
- Otázka: Jaký je možný důvod abnormální funkce aktualizace ve stavu kaskády?
- A: Ověřte, zda je fyzické spojení správné, například zda lze přijímat data mračna bodů ze tří modulů;
- Potvrďte, že adresy tří modulů nejsou v konfliktu, a můžete se pokusit adresy znovu přiřadit;
- Resetujte modul, který má být upgradován, a poté restartujte pokus;
- Q: Proč je po kaskádovém upgradu verze čtení 0?
- A: Znamená to, že aktualizace modulu je neúspěšná, uživatelé musí modul resetovat a poté znovu aktualizovat.
POZOR
- Během příkazové interakce s GS2, s výjimkou příkazu stop scan, nelze v režimu skenování interagovat s jinými příkazy, což může snadno vést k chybám analýzy zprávy.
- GS2 se po zapnutí automaticky nespustí. Pro vstup do režimu skenování je třeba odeslat příkaz ke spuštění skenování. Když potřebujete zastavit určování vzdálenosti, odešlete příkaz k zastavení skenování pro zastavení skenování a přechod do režimu spánku.
- Spusťte GS2 normálně, náš doporučený postup je:
První krok:
odešlete příkaz Get Device Address, abyste získali adresu aktuálního zařízení a počet kaskád, a nakonfigurujte adresu;
Druhý krok:
odešlete příkaz získat verzi pro získání čísla verze;
Třetí krok:
poslat příkaz pro získání parametrů zařízení pro získání úhlových parametrů zařízení pro analýzu dat;
Čtvrtý krok:
odešlete příkaz k zahájení skenování pro získání dat mračna bodů. - Návrhy pro návrh světlopropustných materiálů pro perspektivní okna GS2:
Pokud je perspektivní okénko předního krytu navrženo pro GS2, doporučuje se jako materiál propouštějící světlo použít PC propustné pro infračervené záření a plocha propouštějící světlo musí být plochá (rovinnost ≤0.05 mm) a všechny oblasti v rovina by měla být transparentní v pásmu 780nm až 1000nm. Míra osvětlení je vyšší než 90 %. - Doporučený operační postup pro opakované zapínání a vypínání GS2 navigační desky:
Aby se snížila spotřeba energie navigační desky, pokud je třeba GS2 opakovaně zapínat a vypínat, doporučuje se před vypnutím odeslat příkaz stop scan (viz část 3.5) a poté nakonfigurovat TX a RX navigační deska na vysokou impedanci. Poté zatažením za VCC low vypněte. Při příštím zapnutí napájení nejprve vytáhněte VCC, poté nakonfigurujte TX a RX jako normální stavy výstupu a vstupu a poté po zpoždění 300 ms proveďte příkazovou interakci s čárovým laserem. - O maximální době čekání po odeslání každého příkazu GS2:
- Získat adresu: zpoždění 800 ms, získat verzi: zpoždění 100 ms;
- Získat parametry: zpoždění 100 ms, spuštění skenování: zpoždění 400 ms;
- Zastavit skenování: zpoždění 100 ms, nastavená přenosová rychlost: zpoždění 800 ms;
- Režim nastavení hrany: zpoždění 800 ms, start OTA: zpoždění 800 ms;
REVIDOVAT
Datum | Verze | Obsah |
2019-04-24 | 1.0 | Vytvořte první návrh |
2021-11-08 |
1.1 |
Upravit (Upravit rámec protokolu pro sloučení dat levé a pravé kamery; Návrhy pro přidání perspektivních materiálů oken; Přidání přenosové rychlosti
příkaz k nastavení) |
2022-01-05 | 1.2 | Upravte popis příjmu příkazu, abyste získali adresu zařízení, a popis levé a pravé kamery |
2022-01-12 | 1.3 | Přidat režim hran, doplnit popis výpočtu K, B, BIAS |
2022-04-29 | 1.4 | Upravte popis v kapitole 3.2: Příkaz Získat informace o verzi |
2022-05-01 | 1.5 | Upravte metodu konfigurace adresy příkazu měkkého restartu |
2022-05-31 |
1.6 |
1) Aktualizace části 3.7
2) Oddíl 3.8 Příkaz RESET přidá jednu odpověď 3) Přidána aktualizace OTA v kapitole 5 |
2022-06-02 | 1.6.1 | 1) Upravte pracovní postup upgradu OTA
2) Upravte otázky a odpovědi OTA |
Dokumenty / zdroje
![]() |
YDLIDAR GS2 DEVELOPMENT Lineární Array Solid LiDAR senzor [pdfUživatelská příručka GS2 DEVELOPMENT Linear Array Solid LiDAR Sensor, GS2 DEVELOPMENT, Linear Array Solid LiDAR Sensor, Array Solid LiDAR Sensor, Solid LiDAR Sensor, LiDAR Sensor, Sensor |