Luotettava Livox Mid-360S:n kartoitustyönkulku alkaa verkosta, ajurista, aikaleimoista ja pistepilven kentistä. Tämä opas rakentaa nämä kerrokset oikeassa järjestyksessä Ubuntu 22.04:ssä ja ROS 2 Humblessa ja näyttää sitten, missä Fast-LIO-kartoituspino vaatii erillistä yhteensopivuustyötä.
livox_ros_driver2:ta Mid-360S:n ajurikerrokseen, varmista reaaliaikaiset PointCloud2- ja IMU-tiedot RViz2:ssa ja ota LiDAR-inertiaalinen kartoituspaketti käyttöön vasta, kun sen ROS 2 -viestisopimus ja ajoituskäyttäytyminen on tarkistettu. FAST_LIO:n upstream-repositorio dokumentoi ROS 1 - ja catkin_make -työnkulun, joten se ei ole suoraan käyttöön otettava ROS 2 -launch-kohde.Livox kuvailee Mid-360S:ää kompaktiksi hybridikiinteän tilan 3D-LiDARiksi mobiilirobotteihin. Julkaistut keskeiset arvot ovat 360 × 59 asteen näkökenttä, 0,1 metrin vähimmäishavaintoetäisyys, 40 metrin tyypillinen kantama 10 prosentin heijastavuudella, 200 000 pistettä sekunnissa sekä kooltaan 65 × 65 × 60 mm:n ja painoltaan 265 g:n rakenne. Nämä luvut ovat hyödyllisiä alustan suunnittelussa, vaikka integroinnin tulos riippuu paljon enemmän kiinnityksen jäykkyydestä, tehoreservistä, Ethernetin reitityksestä ja kartoitussolmulle saapuvasta aikaleimakentästä.
Mitä tämä Mid-360S:n ROS 2 -opas lupaa ja mitä se ei lupaa
Tämän artikkelin taustalla olevassa lähdeoppaassa oli hyödyllinen käyttöönottojärjestys, mutta useat komennot piti tarkistaa ennen julkaisua. Livoxin nykyisissä virallisissa ajurin julkaisutiedoissa luetellaan Mid-360S:n tuki kohdassa livox_ros_driver2 1.2.6:n. Ajurin repositorio dokumentoi Ubuntu 22.04:n ja ROS 2 Humblen sekä tarjoaa Mid-360:lle ROS 2 -launch-tiedoston. Se on varmennettu lähtökohta.
Kartoitus on erillinen kerros. FAST_LIO on erinomainen viite LiDAR-inertianavigoinnille, pistekohtaisen ajan käsittelylle, ulkoisille parametreille ja PCD-tietojen pysyvälle tallennukselle. Sen upstream-repositorio dokumentoi kuitenkin edelleen catkin_make, ROS 1:n launch-komennot ja aiempi Livoxin mukautettu viestipolku. ROS 2 -porttaus voi olla hyödyllinen, mutta sen aiheet, launch-argumentit, kartan tallennusrajapinta ja tuettu sensoripolku kuuluvat kyseiseen porttaukseen eivätkä FAST_LIO:n upstream-versioon. Käsittele kartoituksen integrointia kiinnitettynä projektiriippuvuutena, älä yleisestä ohjeesta kopioituna komentona.
| Kerros | Varmennettu vastuualue | Ennen etenemistä kerättävät todisteet |
|---|---|---|
| Sensori ja virransyöttö | Vakaa 9–27 V:n tasavirtatulo, tukeva kiinnitys ja suojattu kaapelireitti. | Katseluohjelman tai laitteen tila, vakaa virransyöttö liikkeen aikana, ei lämpö- tai liitinhälytyksiä. |
| SDK ja ajuri | SDK2 tarjoaa Livox-viestintäkerroksen; livox_ros_driver2 julkaisee ROS-viestejä. |
Koonti valmistuu, ajuri käynnistyy ja odotetut aiheet ilmestyvät. |
| ROS 2 -havainto | RViz2 renderöi pistepilven, ja aiheen metatiedoissa näkyy odotettu viestityyppi. | Reaaliaikainen nopeus, yhtenäinen geometria, IMU-aihe, kiinteä koordinaatisto. |
| Kartoituspaketti | Käyttää yhteensopivaa pistepilvi- ja IMU-dataa, soveltaa mitattua ulkoista muunnosta ja tallentaa kartan oman dokumentoidun rajapintansa kautta. | Pakettikohtainen käynnistystesti, bag-toisto, silmukan johdonmukaisuus, tallennettu artefakti. |
Laitteisto, virransyöttö ja verkko ennen ROS 2:ta
Tee fyysiset valmistelut ennen päätteen avaamista. Livox määrittää Mid-360S-tuoteperheelle 9–27 voltin tasavirtasyöttöalueen. Varaa nimelliskulutusta suurempi virtakapasiteetti, käytä oikeanlaista liitinkokoonpanoa ja reititä kaapeli etäälle käyttömoottorien ja kytkentähäiriöiden reiteistä. Anturi tarvitsee jäykän kiinnityspinnan: joustava teline voi muuttaa normaalin rungon tärinän LiDAR-inertiaaliselle estimointialgoritmille virheelliseksi liikkeeksi.
Käytä ensimmäiseen käynnistykseen eristettyä testipöytäverkkoa. Livox-ajuriesimerkeissä käytetään yksityistä 192.168.1.x-verkkoa, jossa varastonäytteessä isännän liittymäksi on määritetty 192.168.1.5 ja LiDAR-osoitteeksi 192.168.1.12. Nämä ovat esimerkkiarvoja eivätkä pakollisia tehdasasetuksia. Valitse käyttämätön osoitesuunnitelma, varmista tietokoneen liittymän ja anturin tavoitettavuus samassa aliverkossa ja muokkaa virallista JSON-esimerkkiä harkiten.
| Kohde | Esimerkkiarvo | Miksi tämä on tärkeää |
|---|---|---|
| Erillinen isännän verkkoliitäntä | Staattinen osoite yksityisessä 192.168.1.x-aliverkossa | Estää reittien epäselvyydet toimiston Wi-Fin tai ylemmän tason robottiverkon kanssa. |
| Isäntäosoite Livox-esimerkissä | 192.168.1.5 |
Vastaa jaettua Mid-360-ajurin määritysesimerkkiä paikallisten muokkausten jälkeen. |
| LiDAR-osoite esimerkissä | 192.168.1.12 |
Tunnistaa yksikön, jota ajuri määrittää ja jolta se vastaanottaa tietoja. |
| UDP-polku | 56100–56501 yhdistetyn LiDARin ja isäntäntien porttien välillä | Välittää komento-, piste-, IMU-, push-viesti- ja lokiliikenteen ajurin oletustiedostossa. |
Asenna Livox SDK2 ja livox_ros_driver2 ROS 2 Humbleen
Livox SDK2 on Mid-360- ja Mid-360S-tuotteiden nykyinen C- ja C++-viestintäkerros. Rakenna ja asenna se ensin. ROS-ajurivarasto rakennetaan sen jälkeen tätä asennusta vasten. Käytä jokaisessa käyttöönotossa nykyistä julkaisua tai dokumentoitua commit-versiota, koska pistekenttien ja aikaleimojen käsittelyn muutokset voivat vaikuttaa myöhempään kartoitusohjelmistoon.
sudo apt update
sudo apt install -y build-essential cmake git
git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd Livox-SDK2
mkdir build
cd build
cmake ..
make -j"$(nproc)"
sudo make install
Virallinen SDK2:n README sijoittaa kirjastot hakemistoon /usr/local/lib ja otsikkotiedostot hakemistossa /usr/local/includeMyöhemmin ajurin käynnistyksen aikana ilmenevä puuttuvaa jaettua kirjastoa koskeva virhe viittaa tähän asennusrajaan. Korjaa ongelma ympäristötasolla sen sijaan, että kopioisit satunnaisia kirjastoja työtilaan.
mkdir -p ~/ws_livox/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ~/ws_livox/src/livox_ros_driver2
cd ~/ws_livox/src/livox_ros_driver2
source /opt/ros/humble/setup.bash
./build.sh humble
source ../../install/setup.bash
ros2 launch livox_ros_driver2 rviz_MID360_launch.py
Toimitettu RViz2-käynnistystiedosto käyttää komentoa PointCloud2 siirtomuoto, livox_frame kiinteänä kehyksenä ja /livox/lidar näyttöaiheena. Ajurin README-tiedoston mukaan siirtomuoto 0 julkaisee Livox PointXYZRTLT -tietoja: x:n, y:n, z:n, intensiteetin, tunnisteen, linjan ja pistekohtaisen aikaleiman. Aikaleima kannattaa tarkistaa ennen liikekompensoidun kartoitussolmun käyttöönottoa.
Määritä Mid-360S-verkkotiedosto harkiten
Aloita repositorion tiedostosta config/MID360_config.json tiedosto eikä keksitä supistettua skeemaa. Seuraavassa on ajuriprojektin nykyinen yhden anturin rakenne esimerkinomaisine IP-arvoineen. Muuta vain alustan tarvitsemat osoitteet ja mitatut ulkoiset parametriarvot. Säilytä Livoxin porttiparit ennallaan, ellei hallittu verkkosuunnitelma edellytä dokumentoitua muutosta.
{
"lidar_summary_info": { "lidar_type": 8 },
"MID360": {
"lidar_net_info": {
"cmd_data_port": 56100,
"push_msg_port": 56200,
"point_data_port": 56300,
"imu_data_port": 56400,
"log_data_port": 56500
},
"host_net_info": {
"cmd_data_ip": "192.168.1.5",
"cmd_data_port": 56101,
"push_msg_ip": "192.168.1.5",
"push_msg_port": 56201,
"point_data_ip": "192.168.1.5",
"point_data_port": 56301,
"imu_data_ip": "192.168.1.5",
"imu_data_port": 56401,
"log_data_ip": "",
"log_data_port": 56501
}
},
"lidar_configs": [{
"ip": "192.168.1.12",
"pcl_data_type": 1,
"pattern_mode": 0,
"extrinsic_parameter": { "roll": 0.0, "pitch": 0.0, "yaw": 0.0, "x": 0, "y": 0, "z": 0 }
}]
}
Moni-LiDAR-järjestelmiä varten ajuri tukee lidar_configs taulukon ja multi_topic käynnistysasetukseen. Anna jokaiselle yksikölle yksilöllinen osoite, kirjaa fyysisen sarjanumeron ja osoitteen välinen vastaavuus ja käytä mittausongelmaan sopivaa ajoitussuunnitelmaa. Livoxin dokumentaatiossa käsitellään PPS- ja PTP-tyyppisten käyttöönottojen ajoitustukikysymyksiä; näistä menetelmistä tulee tärkeitä useiden antureiden, hajautettujen laskentasolmujen tai ulkoisen paikannuksen kanssa synkronoitavien antureiden yhteydessä.
Vahvista reaaliaikaiset pistepilvet ja IMU-tiedot RViz2:ssa
RViz2 on nopein paikka havaita kehysnimeen liittyvä virhe, tyhjä pistepilvi, väärä verkkokohde tai kiinnitys, jonka vuoksi robotin runko näkyy anturin näkökentässä. Rauhallisella testialueella renderöidyn geometrian pitäisi pysyä paikallaan alustan ollessa paikallaan ja liikkua johdonmukaisesti alustan liikkuessa. Pistepilven ei tarvitse näyttää yhdellä hetkellä tiheältä kaikkialla, sillä Livox-skannaus kerryttää peittoa ajan mittaan. Ensisijaisesti tärkeää on geometrian yhdenmukaisuus ja jatkuva julkaisu.
ros2 topic list
ros2 topic info /livox/lidar --verbose
ros2 topic hz /livox/lidar
ros2 topic info /livox/imu --verbose
ros2 node list
ros2 service list
Pistepilven hyväksymistarkistuslista
- Isäntälaite näkee odotetut LiDAR- ja IMU-aiheet, kun ohjain käynnistyy.
-
/livox/lidarjulkaisee tasaisella nopeudella, joka vastaa käynnistysmääritystä. - RViz2 käyttää ohjaimen kiinteää kehystä tai kelvollista muunnospuuta, joka ulottuu valittuun kiinteään kehykseen.
- Staattiset seinät, hyllyt, kulmat ja lattian reunat ovat geometrisesti vakaita paikallaan tehdyn testin aikana.
- Robotin runko, masto, kaapelisilmukka ja mahdollinen suojus tunnistetaan tarkoituksellisiksi itseheijastumiksi tai poistetaan dokumentoidulla suodatuksella.
- IMU-data on saatavilla ennen kuin LiDAR-inertiaalinen kartoitusjärjestelmä ottaa reitin hallintaansa.
FAST-LIO-kartoitus ROS 2:ssa: yhteensopivuuden rajapinta
FAST_LIO on edelleen hyödyllinen, koska sen ylävirran dokumentaatio korostaa kartoituksen laatuun yleensä vaikuttavia osa-alueita: synkronoitua LiDAR- ja IMU-dataa, pistekohtaisia aikaleimoja liikkeen aiheuttaman vääristymän korjaamiseen, oikeita LiDAR–IMU-ulkoisia kalibrointeja ja hallittua PCD-tallennusmenettelyä. Sen README-tiedostossa todetaan myös, että tallennetun datan puuttuva aikakenttä heikentää eteen- ja taaksepäin tapahtuvaa tilan etenemistä. Nämä suunnitteluperiaatteet säilyvät ROS 2 -siirrossa.
Alkuperäinen projekti ei kuitenkaan validoi lähdeoppaan colcon build, ros2 launch fast_lio mapping.launch.pytai yleinen /map_save palvelu. Alkuperäinen versio käyttää ROS 1 -komentoja ja tallentaa PCD-tulosteen lopettamisen jälkeen, kun sen pcd_save_enable asetus on käytössä. ROS 2 -portti saattaa käyttää toista parametrin määritystiedostoa, aiheen nimeä, palvelua tai vientisijaintia. Lue portin dokumentaatio, kiinnitä testattu commit-versio ja tarkista sen rajapinnat komennoilla ros2 topic list ja ros2 service list ennen kuin tuotantorobotti lähetetään pitkälle reitille. Tallenna jokaisen tallennetun kartan yhteyteen paketin versio, anturin laiteohjelmiston versio, kalibroinnin revisio ja testipaketin polku.
| Kartoitukseen liittyvä huolenaihe | Mitä on tarkistettava | Käytännön tulos |
|---|---|---|
| Viestisopimus | ROS 2 -kartoituspaketin edellyttämä viestityyppi, pistekentät, aikaleimayksikkö ja IMU-aihe. | Estää solmua vastaanottamasta huomaamatta pistepilveä, jonka jokaiselle pisteelle ei ole käyttökelpoista aikaleimaa. |
| Ulkoisen kalibroinnin muunnos | IMU-kehyksestä LiDAR-kehykseen mitattu sijainti ja kierto sekä kiinteä mekaaninen kiinnitys. | Vähentää näennäistä kallistumaa, ajautumista ja vääristyneitä käännöksiä. |
| Aikaperusta | Anturin, isäntälaitteen ja kartoituksen aikaleimat reaaliaikaisen datan ja rosbag-toiston aikana. | Suojaa liikkeen aikaisen deskew-korjauksen ja tilan etenemisen. |
| Kartan pysyvyys | Pakettikohtaisesti määritetty vientitoiminto tai sammutuskäyttäytyminen. | Luo toistettavan PCD-tiedoston tai muun kartta-aineiston sen sijaan, että luottaisi oletettuun palvelun nimeen. |
3D-pistepilvestä Nav2-kartaksi
PCD ei muutu automaattisesti Nav2:n miehityskartaksi. Nav2:n map server lataa YAML-karttatiedoston, joka viittaa kuvaan ja määrittää kartan metatiedot. 3D-pistepilven muuntaminen tähän kaksiulotteiseen esitykseen edellyttää projektikohtaisia valintoja: korkeussiivua, vokseliresoluutiota, miehitetyn solun kynnysarvoa, ramppien käsittelyä ja robotin suunniteltua jalanjälkeä. Yleinen pcl_to_gridmap komentoa ei ole vahvistettu ROS 2:n vakiopakettikomennoksi, joten sitä ei pidä esittää yleispätevänä käyttöönottovaiheena.
Tee tästä projektiosta nimetty, versioitu kartoitusputken vaihe. Käytä samaa korkeussykettä ja suodatuksen oletuksia kaikissa karttaversioissa. Vahvista syntyvä 2D-kuva fyysiseen tilaan nähden ja lataa sitten YAML dokumentoidun Nav2 map server -määrityksen kautta. Tämä erottelu helpottaa ylävirran LiDAR- tai odometriaongelman erottamista alavirran karttamallia koskevasta päätöksestä.
Valitse Mid-360S-testikokoonpanon keskeiset laitteet
Aloita LiDARista ja sopivasta liitinratkaisusta ja varmista sitten alustan tarkka mekaaninen rakenne, pinnijako, virtalähde ja isäntäkoneen liitäntä. Jakokaapeli on olennainen vastaavan Livox Aviation Connector -liitinjärjestelyn yhteydessä; se ei korvaa anturipaketin ja kaapeloinnin rakenteen tarkistamista.
Liittyvät laitteet
Livox MID-360S 3D-LiDAR-anturi autonomiseen robotiikkaan ja SLAM-navigointiin
Käytä sitä SDK2- ja ROS 2 -työnkulussa kuvattuna kompaktina 360 asteen havaintoanturina.
Näytä tuote
Livox Aviation Connector 1–3 -jakokaapeli
Käytä yhteensopivien Livox-kaapelointisuunnitelmien kanssa, kun olet ensin varmistanut liittimen, pinnijaon ja virransyöttövaatimukset.
Näytä tuoteVianmääritys ilman arvailua
| Oire | Todennäköinen kerros | Seuraava tarkistuskohde |
|---|---|---|
| Livox Viewer näkee anturin, mutta ROS 2:ssa ei ole pistepilveä | Ajurin määritys tai isäntäverkon kohde | Vertaa käytössä olevan isäntäkoneen IP-osoitetta, LiDARin IP-osoitetta ja kutakin host_net_info osoite JSON-tiedostossa. |
| Ajuri ilmoittaa jaetun kirjaston virheestä | SDK2:n asennusympäristö | Vahvista SDK2:n asennussijainti ja käynnistetyn päätteen käyttämä ajonaikaisen kirjaston polku. |
| Pistepilvi näkyy RViz2:ssa, mutta geometria elää liikkeen aikana | Ajoitus, ulkoiset parametrit tai mekaaninen kiinnitys | Palaa paikallaan tehtävään testiin ja tutki sitten aikaleimat, jäykkä kiinnitys ja kartoituspaketin käyttämä muunnos. |
| Kartoituspaketti käynnistyy, mutta tuottaa heikkolaatuista odometriaa | Viestisopimus tai estimaattorin parametrit | Tarkista pistekohtaiset kentät, pistekohtainen aika, IMU-nopeus ja pakettikohtainen määritys kiinnitettyä lähdeversiota vasten. |
| PCD-tiedosto on olemassa, mutta Nav2 ei voi käyttää sitä | Kartan esitysmuoto | Projisoi pistepilvi dokumentoituun 2D-käyttöastemappausprosessiin ja toimita Nav2:n odottama kartan YAML-tiedosto. |
UKK
Toimiiko Mid-360S ROS 2 Humblen kanssa?
Kyllä. Virallinen livox_ros_driver2 Repositoriossa dokumentoidaan Ubuntu 22.04 ROS 2 Humble -ympäristössä, ja siinä annetaan Humble-koontikomento. Nykyisissä 1.2.6-julkaisutiedoissa mainitaan myös Mid-360S-tuki.
Mitä ajuria minun pitäisi käyttää Mid-360S:n kanssa aloittaessani?
Aloita Livox SDK2:lla sekä livox_ros_driver2. Muodosta vakaa reaaliaikainen pistepilvi- ja IMU-polku ennen SLAM:n, paikannuksen tai Nav2:n lisäämistä.
Miksi oppaassa käytetään osoitteita 192.168.1.5 ja 192.168.1.12?
Nämä osoitteet ovat peräisin virallisesta ajurin määritysesimerkistä. Ne ovat kätevä yksityisverkon esimerkki, eivät vaatimus. Käytä robotissa yksilöllistä osoitesuunnitelmaa ja päivitä kaikki vastaavat kentät määrityksessä.
Minkä pistepilvimuodon ROS 2 -käynnistys julkaisee?
Toimitettu Mid-360:n RViz2-käynnistys käyttää siirtomuotoa 0, jonka ajuriohjeet kuvaavat Livox PointXYZRTLT -muodoksi. Se sisältää jokaisen pisteen koordinaatit, intensiteetin, tunnisteen, linjan ja aikaleiman.
Voiko upstream FAST_LIO -repositorion käynnistää ROS 2 -komennoilla?
Ei varmennettuna upstream-työnkulkuna. Julkaistut koonti- ja käynnistysohjeet käyttävät ROS 1:tä ja catkin_make. ROS 2 -porttaus tarvitsee oman dokumentoidun yhteensopivuustarkistuksensa viestityypeille, käynnistystiedostoille, ajoitukselle, kartan viennille ja anturituelle.
Miten Mid-360S-kartta pitäisi tallentaa?
Käytä valitun kartoituspaketin dokumentoimaa kartan säilytysmenetelmää. Upstream FAST_LIO kirjoittaa PCD-tiedoston ohjelman päätyttyä, kun sen PCD-tallennusasetus on käytössä. Muut ROS 2 -paketit voivat käyttää eri toimintoa, palvelua tai tulostuspolkua.
Voiko Nav2 ladata PCD-tiedoston suoraan?
Nav2:n karttapalvelin käyttää YAML-muotoista karttakuvausta, joka viittaa karttakuvaan. Muunna ja validoi 3D-pistepilvi versioidun käyttöastemappausvaiheen kautta sen sijaan, että luottaisit oletettuun yksiriviseen muunninkomentoon.
Viralliset viitteet
- Livox Mid-360S -tuotesivu nykyistä näkökenttää, kantamaa, kokoa ja robottikäyttöä koskevaa taustaa varten.
- Livox SDK2 -repositorion asennus-, määritys- ja Mid-360(S)-protokollaviitteitä varten.
- Livox ROS Driver 2 -repositorion ROS 2 Humble -koontipolkua, Mid-360:n käynnistystiedostoja, aiheiden kenttiä ja verkkoasetuksia varten.
- FAST_LIO:n upstream-repositorion alkuperäistä LiDAR-inertiaalista kartoitustyönkulkua ja sen ROS 1 -toteutuksen yksityiskohtia varten.
- Nav2:n karttapalvelimen dokumentaatio YAML-karttojen lataamista koskevia vaatimuksia varten.
