DFRobot LiDAR LD19 Sensọ Apo 

DFRobot LiDAR LD19 Sensọ Apo

Ọja Apejuwe

LD19 jẹ akọkọ ti o ni ipilẹ ti ina lesa, ẹyọ telex alailowaya, ẹyọ ibaraẹnisọrọ alailowaya, ẹyọ wiwọn igun, ẹyọ awakọ mọto ati casing darí.

Iwọn LD19 mojuto nlo imọ-ẹrọ DTOF, eyiti o le wọn awọn akoko 4,500 fun iṣẹju kan. Nigbakugba ti a ba ṣe iwọn ijinna naa, LD19 njade ina lesa infurarẹẹdi siwaju, ati pe ina lesa ṣe afihan si ẹyọkan gbigba fọto kan lẹhin ti o ba pade ohun ibi-afẹde naa. Lati eyi, a gba akoko nigbati ina lesa ti jade ati akoko nigbati ẹyọ-fọọmu ti o gba ẹyọkan gba lesa naa. Iyatọ akoko laarin awọn meji ni akoko ti flight ti ina. Akoko ti ọkọ ofurufu le ni idapo pelu iyara ina lati ṣe iṣiro ijinna naa.

Lẹhin gbigba data ijinna, LD19 yoo darapọ awọn iye igun ti a ṣewọn nipasẹ iwọn wiwọn igun lati ṣe agbekalẹ data awọsanma ojuami, ati lẹhinna firanṣẹ data awọsanma aaye si wiwo ita nipasẹ ibaraẹnisọrọ alailowaya. LD19 ṣe atilẹyin iṣakoso iyara inu, iyara le jẹ iduroṣinṣin si 10 ± 0.1Hz laarin awọn aaya 3 lẹhin agbara-lori. Ni akoko kanna, PWM ni wiwo titẹ sii ita ti pese lati ṣe atilẹyin iṣakoso iyara ita. Lẹhin ti ẹyọ iṣakoso ita gba iyara naa, o jẹ iṣakoso nipasẹ PID algorithm pipade-lupu, ati pe ifihan PWM jẹ titẹ sii lati jẹ kitheLD19 de iyara pàtó kan.

Apejuwe ti ọlọjẹ ayika ti o ṣẹda nipasẹ data awọsanma aaye LD19 jẹ afihan ni isalẹ:

ọja Apejuwe

Ibaraẹnisọrọ ni wiwo

LD19 nlo asopọ ZH1.5T-4P 1.5mm lati sopọ pẹlu eto ita lati mọ ipese agbara ati gbigba data. Itumọ wiwo ni pato ati awọn ibeere paramita ni a fihan ni eeya/tabili wọnyi:

ibudo nọmba ifihan agbara oruko iru apejuwe ion mini iya aṣoju maxi iya
1 Tx jade LiDAR

o wu data

ov 3.3V 3.5V
2 PWM igbewọle motor Iṣakoso ov 3.3V
3 GND ibi ti ina elekitiriki ti nwa odi ov
4 P5V ibi ti ina elekitiriki ti nwa rere 4.5V 5V 5.5V

LD19 ni moto kan

Awọn LD19 ni o ni a motor iwakọ pẹlu igbese kere iyara ilana, eyi ti o ṣe atilẹyin ti abẹnu iyara Iṣakoso ati ita iyara Iṣakoso. Nigbati PIN PWM ba wa ni ilẹ, aiyipada jẹ ilana iyara inu, ati iyara aiyipada jẹ 10 ± 0.1Hz. Fun iṣakoso iyara ita, ifihan agbara igbi onigun mẹrin nilo lati sopọ si pin PWM, ati ibẹrẹ, iduro ati iyara ti moto le ni iṣakoso nipasẹ ọna iṣẹ ti ifihan PWM. Awọn ipo fun nfa iṣakoso iyara ita: a. Input PWM igbohunsafẹfẹ 20-50K, niyanju 30K; b. Yiyipo iṣẹ wa laarin (45%, 55%) aarin (ayafi 45% ati 55%), ati pe o kere ju 100ms akoko titẹ sii tẹsiwaju. Lẹhin ti iṣakoso iyara ti ita ti nfa, o wa nigbagbogbo ni ipo iṣakoso iyara ti ita, ati pe iṣakoso iyara inu yoo tun pada ayafi ti agbara ba wa ni pipa ati tun bẹrẹ; ni akoko kanna, iṣakoso iyara le ṣee ṣe nipasẹ ṣiṣe atunṣe iṣẹ-ṣiṣe PWM. Nitori awọn iyatọ ti ara ẹni kọọkan ti ọkọ ọja kọọkan, iyara gangan le yatọ nigbati o ba ṣeto iwọn iṣẹ si iye aṣoju. Lati ṣakoso iyara motor ni deede, o jẹ dandan lati ṣe iṣakoso pipade-lupu ni ibamu si alaye iyara ninu data ti o gba. Akiyesi: Nigbati o ko ba lo iṣakoso iyara ita, PIN PWM gbọdọ wa ni ilẹ.

Ibaraẹnisọrọ data ti LD19 gba boṣewa asynchronous ni tẹlentẹle ni tẹlentẹle (UART) gbigbe ọna kan, ati awọn aye gbigbe rẹ han ni tabili atẹle:

baud oṣuwọn data ipari duro die-die paraty bit iṣakoso sisan
230400bit/s 8 die-die I 1 I ko si I ko si

DATA Ilana

Data soso kika

Awọn LD19 gba ọkan-ọna ibaraẹnisọrọ. Lẹhin iṣẹ iduroṣinṣin, o bẹrẹ lati firanṣẹ awọn apo-iwe data wiwọn laisi fifiranṣẹ awọn aṣẹ eyikeyi. Ọna kika soso wiwọn jẹ afihan ni aworan ni isalẹ.

Akọsori VerLen Iyara Igun ibẹrẹ Data Igun ipari Akokoamp CRC ayẹwo
54H Mo baiti LSB MSB LSB MSB …… LSB MSB LSB MSB Mo baiti
  • Akọsori: Gigun naa jẹ 1 Baiti, ati pe iye naa wa ni ipilẹ ni 0x54, ti o nfihan ibẹrẹ ti apo data;
  • Verlen: Gigun naa jẹ 1 baiti, awọn iwọn mẹta oke tọka si iru apo, eyiti o wa titi lọwọlọwọ ni 1, ati awọn die-die marun isalẹ tọka nọmba awọn aaye wiwọn ninu apo kan, eyiti o wa titi lọwọlọwọ ni 12, nitorinaa iye baiti ti wa titi. ni 0x2C;
  • Iyara: Gigun naa jẹ 2 Baiti, ẹyọ naa jẹ awọn iwọn fun iṣẹju keji, ti o nfihan iyara lidar;
  • Igun ibẹrẹ: Awọn ipari jẹ 2 Bytes, ati awọn kuro ni 0.01 iwọn, afihan awọn ti o bere igun ti awọn data soso ojuami;
  • Data: Tọkasi data wiwọn, ipari data wiwọn jẹ awọn baiti 3, jọwọ tọka si apakan atẹle fun itupalẹ alaye;
  • Igun ipari: Gigun naa jẹ awọn baiti 2, ati ẹyọ naa jẹ awọn iwọn 0.01, ti o nfihan igun ipari ti aaye soso data;
  • Akokoamp : Awọn ipari jẹ 2 Bytes, kuro ni milliseconds, ati awọn ti o pọju ni 30000. Nigbati o ba de 30000, o yoo wa ni ka lẹẹkansi, afihan awọn timest.amp iye ti apo data;
  • Ṣayẹwo CRC: Gigun naa jẹ 1 Baiti, ti a gba lati ijẹrisi gbogbo data ti tẹlẹ ayafi funrararẹ. Fun ọna ijẹrisi CRC, wo akoonu atẹle fun awọn alaye;

Itọkasi eto data jẹ bi atẹle:

# asọye PO/NT_PER_PACK 12
# asọye ORI 0x54
typedef struct _attribute_((aba ti))
ijinna uint16_t;
uint8_t kikankikan; } LidarPointStructDef;
typedef struct _attribute_((aba ti)) {

uint8_t:  akọsori;
uint8 t:  ver_len;
uint16_t:  iyara;
uint16 t: ibẹrẹ_ igun;
Ojuami LidarPointStructDef[POINT_PER_PACK};
uint16 t: igun ipari;
uint16_t: igbaamp;
uint8 t: crc8;
}LiDARFrameTypeDef;

Ọna iṣiro CRC jẹ bi atẹle:

aimi canst uint8_t CrcTable{256]={
0x00, 0x4d, 0x9a, 0xdl, 0x79, 0x34, 0xe3,
0xae, 0xf2, 0xbf, 0x68, 0x25, 0x8b, 0xc6, 0x11, 0x5c, 0xa9, 0xe4, 0x33,
0xle, 0xd0, 0x9d, 0x4a, 0x0l, 0x5b, 0x16, 0xcl, 0x8c, 0x22, 0x6f, 0xb8,
0xf5, 0xlf, 0x52, 0x85, 0xc8, 0x66, 0x2b, 0xfc, 0xbl, 0xed, 0xa0, 0xll,
0x3a, 0x94, 0xd9, 0x0e, 0x43, 0xb6, 0xfb, 0x2c, 0x61, 0xcf, 0x82, 0x55,
Ox18, Ox44, Ox09, Oxde, Ox93, Ox3d, OxlO, Oxal, Oxea, Ox3e, Ox73, Oxa4,
Oxe9, Ox47, OxOa, Oxdd, Ox90, Oxee, Ox81, Ox56, Oxlb, Oxb5, Oxf8, Ox2f,
Ox62, Ox97, Oxda, OxOd, Ox40, Oxee, Oxa3, Ox74, Ox39, Ox65, Ox28, Oxff,
Oxb2, Oxle, Ox51, Ox86, Oxeb, Ox21, Ox6e, Oxbb, Oxf6, Ox58, Ox15, Oxe2,
Ox8f, Oxd3, Ox9e, Ox49, Ox04, Oxaa, Oxel, Ox30, Oxld, Ox88, Oxe5, Ox12,
Ox5f, Oxfl, Oxbe, Ox6b, Ox26, Oxla, Ox37, OxeO, Oxad, Ox03, Ox4e, Ox99,
Oxd4, Oxle, Ox31, Oxe6, Oxab, Ox05, Ox48, Ox9f, Oxd2, Ox8e, Oxe3, Ox14,
Ox59, Oxfl, Oxba, Ox6d, Ox20, Oxd5, Ox98, Ox4f, Ox02, Oxae, Oxel, Ox36,
Oxlb, Ox27, Ox6a, Oxbd, OxfO, Ox5e, Ox13, Oxe4, Ox89, Ox63, Ox2e, Oxf9,
Oxb4, Oxla, Ox57, Ox80, Oxed, Ox91, Oxde, OxOb, Ox46, Oxe8, Oxa5, Ox72,
Ox3f, Oxca, Ox87, Ox50, Oxld, Oxb3, Oxfe, Ox29, Ox64, Ox38, Ox75, Oxa2,
Oxef, Ox41, OxOe, Oxdb, Ox96, Ox42, OxOf, Oxd8, Ox95, Ox3b, Ox76, Oxal,
Oxee, OxbO, Oxfd, Ox2a, Ox67, Oxe9, Ox84, Ox53, Oxle, Oxeb, Oxa6, Ox71,
Ox3e, Ox92, Oxdf, Ox08, Ox45, Ox19, Ox54, Ox83, Oxee, Ox60, Ox2d, Oxfa,
Oxbl, Ox5d, Ox10, Oxel, Ox8a, Ox24, Ox69, Oxbe, Oxf3, Oxaf, Oxe2, Ox35,
Ox 78, Oxd6, Ox9b, Ox4e, Ox01, Oxf4, Oxb9, Ox6e, Ox23, Ox8d, OxeO, Oxl 7,
Ox5a, Ox06, Ox4b, Ox9e, Oxdl, Oxlf, Ox32, Oxe5, Oxa8};
uint8_t CaJCRC8{uint8_t *p, uint8_t Jen){
uint8_t ere= O;
uint16_t mo;
fun (i = O; i <Jen; i++){
ere = CreTabJe [(ere J \ * p ++) & Oxff]; }
pada ere;

 

Itupalẹ data wiwọn

Ojuami data wiwọn kọọkan ni iye ijinna 2-baiti ati iye igbẹkẹle 1-baiti, bi o ṣe han ninu nọmba ni isalẹ.

Akọsori VerLen Iyara Igun ibẹrẹ Data Igun ipari Akokoamp CRC ayẹwo
54H 2cH LSB MSB LSB MSB …… LSB MSB LSB MSB lByte

Ojuami wiwọn 1 Ojuami wiwọn 2 Ojuami wiwọn n
ijinna kikankikan ijinna kikankikan ijinna kikankikan
LSB MSB 1 Baiti LSB MSB 1 Baiti LSB MSB 1 Baiti

Ẹyọ ti iye ijinna jẹ mm. Iwọn kikankikan ifihan agbara ṣe afihan kikankikan itọka ina. Awọn ti o ga awọn kikankikan, ti o tobi awọn ifihan agbara kikankikan iye; isalẹ awọn kikankikan, awọn kere awọn ifihan agbara kikankikan iye. Fun ohun funfun kan laarin 6m, iye aṣoju ti iye agbara ifihan agbara ni ayika 200. Iwọn igun ti aaye kọọkan ni a gba nipasẹ interpolation laini ti igun ibẹrẹ ati igun ipari. Ọna iṣiro igun jẹ bi atẹle:

igbese = (end_angle -start_angle) / (Jen -1);
igun = start_angle + igbese*i;
nibiti Jen jẹ nọmba awọn aaye wiwọn ninu apo data kan, ati iwọn iye ti i jẹ [O, Jen).

Example

Sawon a gba a nkan ti data bi han ni isalẹ.
54 2C 68 08 AB 7E EO 00 E4 DC 00 E2 D9 00 ES DS 00 E3 D3 00 E4 DO 00 E9 CD 00 E4 CA 00 E2 C7 00 E9 CS 00 ES C2 00 ES CO 00 ES 82

A ṣe itupalẹ rẹ gẹgẹbi atẹle:

Akọsori VerLen Iyara Igun ibẹrẹ Data Igun ipari Akokoamp CRC ayẹwo
54H 2CH 68H 08H ABH 7EH …… BEH 82H 3AH lAH 50H

Ojuami wiwọn 1 Ojuami wiwọn 2  

•••

Ojuami wiwọn 12
ijinna kikankikan ijinna kikankikan ijinna kikankikan
EOH OOH E4H DCH OOH E2H BOH OOH EH
Alaye aaye Ilana iṣiro
Iyara 0868H = 2152 iwọn fun keji;
Igun ibẹrẹ 7EABH = 32427, tabi awọn iwọn 324.27;
Igun ipari 82BEH = 33470, tabi awọn iwọn 334.7;
Ojuami wiwọn I ijinna OOEOH = 224mm
Ojuami wiwọn 1 kikankikan E4H = 228
Aaye wiwọn 2 ijinna OODCH = 200mm
Ojuami wiwọn 2 kikankikan OOE2H= 226
Aaye wiwọn 12 ijinna OOBOH = 176mm
Ojuami wiwọn 12 kikankikan EAH=234

Eto Iṣọkan

LD19 nlo eto ipoidojuko ọwọ osi, ile-iṣẹ yiyi jẹ ipilẹṣẹ ipoidojuko, iwaju sensọ ti wa ni asọye bi itọsọna-odo, ati igun yiyi pọ si ni iwọn aago, bi a ṣe han ninu nọmba ni isalẹ.

Eto ipoidojuko

IDAGBASOKE kit ilana

Bii o ṣe le lo ohun elo igbelewọn

Hardware USB asopọ ati ki o apejuwe

  1. LiDAR, okun waya, igbimọ ohun ti nmu badọgba USB, bi o ṣe han ninu nọmba atẹle:
    Bii o ṣe le lo ohun elo igbelewọn
  2. Aworan asopọ, bi o ṣe han ninu nọmba ni isalẹ:
    Bii o ṣe le lo ohun elo igbelewọn

Iwakọ fifi sori labẹ Windows

Nigbati o ba n ṣe iṣiro awọn ọja ile-iṣẹ labẹ Windows, o jẹ dandan lati fi sori ẹrọ awakọ ibudo ni tẹlentẹle ti igbimọ ohun ti nmu badọgba USB. Idi ni pe ọkọ ohun ti nmu badọgba USB ninu ohun elo idagbasoke ti ile-iṣẹ gba CP2102 USB si chirún ohun ti nmu badọgba ibudo ni tẹlentẹle, ati pe awakọ rẹ le gba lati Ṣe igbasilẹ ohun alumọni lati ọdọ osise Labs. webojula:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Tabi, Lẹhin idinku CP210x_Universal_Windows_Driver awakọ package, ṣiṣẹ exe file ninu itọsọna package fifi sori awakọ, ki o yan X86 (32-bit) tabi X64 (64-bit) ni ibamu si ẹya eto Windows.

Iwakọ fifi sori labẹ Windows

Tẹ exe lẹẹmeji file ki o tẹle awọn itọsọna lati fi sii.

Iwakọ fifi sori labẹ Windows

Lẹhin fifi sori ẹrọ ti pari, so igbimọ ohun ti nmu badọgba USB ni ohun elo idagbasoke si kọnputa, tẹ-ọtun [Kọmputa mi], yan [Awọn ohun-ini], ati ni wiwo [System] ṣiṣi, yan [Oluṣakoso ẹrọ] ni akojọ osi ni apa osi. lati tẹ Lọ si oluṣakoso ẹrọ, faagun [Ports], o le rii nọmba ibudo ni tẹlentẹle ti o baamu si ohun ti nmu badọgba USB CP2102 ti a mọ, iyẹn ni, awakọ ti fi sori ẹrọ ni aṣeyọri, ati nọmba ti o wa ni isalẹ jẹ COM4.

Iwakọ fifi sori labẹ Windows

Lilo LdsPointCloudViewer software labẹ Windows

Sọfitiwia iworan awọsanma ojuami LdsPointCloudViewer le ṣe afihan data ti a ṣayẹwo ti ọja yii ni akoko gidi, ati pe awọn olupilẹṣẹ le lo sọfitiwia yii lati ṣe akiyesi awọn atunwo ọlọjẹ ti ọja yii. Ṣaaju lilo sọfitiwia yii, o jẹ dandan lati ṣe iyatọ pe awakọ ti igbimọ ohun ti nmu badọgba USB ti ọja yii ti fi sori ẹrọ ni aṣeyọri, ati pe ọja naa ni asopọ pẹlu ibudo USB ti PC eto Windows, lẹhinna tẹ LdsPointCloud lẹẹmeji.Viewer.exe, ki o yan awoṣe ọja ti o baamu ati nọmba ibudo, tẹ bọtini isọdọtun awọsanma Ibẹrẹ, bi o ṣe han ninu nọmba atẹle.

Lilo LdsPointCloudViewer software labẹ Windows
Ninu eeya ti o wa loke,

'Iyara' duro fun igbohunsafẹfẹ wiwa lidar, ẹyọkan: Hz;
'Oṣuwọn' ṣe aṣoju oṣuwọn ipinnu idii data lidar;
'Iwulo' duro fun aaye to wulo fun lidar lati wọn Circle kan.

Ọja 3D awoṣe file

Yọ LiDAR_LD19_3D_stp_Vl.0 kuro file lati gba awoṣe 3D kan file ni ọna kika STP.

Isẹ ti o da lori ROS labẹ Linux

Ifihan ayika ROS ati fifi sori ẹrọ

ROS (Eto Ṣiṣẹ Robot) jẹ eto ṣiṣiṣẹ meta-orisun orisun fun awọn roboti ati awọn agbedemeji ti a ṣe lori Lainos. O pese awọn iṣẹ ti a nireti ti ẹrọ ṣiṣe, pẹlu abstraction hardware, iṣakoso ẹrọ ipele kekere, imuse ti awọn iṣẹ ti o wọpọ, gbigbe ifiranṣẹ laarin awọn ilana, ati iṣakoso package. O tun pese awọn irinṣẹ ati awọn iṣẹ ikawe ti o nilo lati gba, ṣajọ, kọ, ati ṣiṣiṣẹ koodu kọja awọn kọnputa. Fun awọn igbesẹ fifi sori ẹrọ ti ẹya kọọkan ti ROS, jọwọ tọka si ROS osise webojula: http://wiki.ros.org/ROS/lnstallation

Apo iṣẹ ROS ti ọja yii ṣe atilẹyin awọn ẹya ati awọn agbegbe wọnyi:

  • ROS Kinetic (Ubuntu16.04);
  • ROS Melodic (Ubuntu18.04);
  • ROS Noetic (Ubuntu20.04).

Gba koodu orisun ti Package ROS

Koodu orisun ti package iṣẹ ROS ti ọja yii ti gbalejo lori ibi ipamọ ti Github. O le ṣe igbasilẹ koodu orisun ti oluwa tabi ẹka akọkọ nipa iraye si ọna asopọ nẹtiwọọki ibi ipamọ, tabi ṣe igbasilẹ nipasẹ irinṣẹ git. Awọn olumulo tun le jade taara SDK LD19> ldlidar stl ros.zi si ọna atẹle fun lilo.

  1. Ibi ipamọ webadirẹsi ojula
    https://github.com/DFRobotdl/ldlidarstlros
  2. iṣẹ igbasilẹ irinṣẹ git
# Ni akọkọ ṣii wiwo ebute, o le lo bọtini ọna abuja ti ctrl + alt + t

# Ti eto Ubuntu ti o nlo ko ni ohun elo git ti fi sori ẹrọ, o le fi sii bi

atẹle:

$ sudo apt-gba fi sori ẹrọ git

# Ṣe igbasilẹ koodu orisun ti package iṣẹ ROS ọja:

$ cd ~

$ mkdir -p ldlidar_ros_ws/src

$ cd ~/ldlidar_ros_ws/src

$ git oniye https://github.com/DFRobotdl/ldlidar_stl_ros.git

#tabi

$ unzip ldlidar_stl_ros.zip

Ṣeto awọn igbanilaaye ẹrọ

Ni akọkọ, so lidar pọ si module ohun ti nmu badọgba wa (olubadọgba CP2102), ki o si so module pọ mọ kọnputa naa. Lẹhinna, ṣii ebute kan labẹ eto ubuntu ki o tẹ sii Is /dev/ttyUSB* lati ṣayẹwo boya ẹrọ ni tẹlentẹle ti sopọ. Ti o ba ti a ni tẹlentẹle ibudo ẹrọ ti wa ni ri, lo awọn sudo ch mod 777 /dev/ttyUSB* pipaṣẹ lati fun ni aṣẹ ti o ga julọ, iyẹn ni, fun ni file eni, ẹgbẹ, ati awọn olumulo miiran ka, kọ ati ṣiṣẹ awọn igbanilaaye, bi o ṣe han ninu nọmba atẹle.

Ṣeto awọn igbanilaaye ẹrọ

Nikẹhin, ṣe atunṣe port_name iye ninu awọn ld19.launch file ninu awọn ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ liana. Mu lidar ti a gbe sinu eto bi / dev/ttyUSB0 bi example, bi han ni isalẹ.

$ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch

Ṣeto awọn igbanilaaye ẹrọ

Olootu Linux nano: Ctrl + 0 fipamọ ti a ṣatunkọ file; Konturolu + X jade ni wiwo ṣiṣatunkọ.

Kọ ati ayika eto

  1. Lo eto ikojọpọ catkin lati ṣajọ ati kọ package iṣẹ ọja:
    $ cd ~/fdlidauos~ws
    . $ catkin_ṣe
  2. Awọn eto oniyipada package iṣẹ:
    Lẹhin ti akopọ ti pari, o nilo lati ṣafikun awọn ti o yẹ files ti ipilẹṣẹ nipasẹ akopọ si awọn oniyipada ayika, ki agbegbe ROS le da wọn mọ. Aṣẹ ipaniyan jẹ bi atẹle. Aṣẹ yii ni lati ṣafikun awọn oniyipada ayika fun igba diẹ si ebute naa, eyiti o tumọ si pe ti o ba tun ebute tuntun kan, o tun nilo lati tun ṣiṣẹ. Aṣẹ atẹle.
$ cd ~/tdlidar_ros_ws
$ orisun devel / setup.bash

Ni ibere lati ma nilo lati ṣiṣẹ aṣẹ ti o wa loke lati ṣafikun awọn oniyipada ayika lẹhin ṣiṣi ebute naa, o le ṣe atẹle naa.

$ orisun iwoyi ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc
$ orisun ~/bashrc

Run ipade ati Rviz àpapọ LiDAR ojuami awọsanma

Bẹrẹ ipade lidar ki o si ṣiṣẹ pipaṣẹ atẹle.

$ roslaunch ldlidar_stl_ros ld19.launch

Bẹrẹ ipade lidar ki o ṣafihan data awọsanma lidar ojuami lori Rviz, ṣiṣẹ pipaṣẹ atẹle.

# ti ROS_DISTRO ba wa ni 'kinetic' tabi 'aladun'
$ ros/anch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch
# ti ROS_DISTRO ba wa ni 'noetic'
$ ros/anch ldlidar_st/_ros viewer_ld19_noetic.launch
Isẹ ti o da lori ROS2 labẹ Lainos

ROS2 ifihan ayika ati fifi sori

ROS (Eto Ṣiṣẹ Robot) jẹ eto ṣiṣiṣẹ meta-orisun orisun fun awọn roboti ati awọn agbedemeji ti a ṣe lori Lainos. O pese awọn iṣẹ ti a nireti ti ẹrọ ṣiṣe, pẹlu abstraction hardware, iṣakoso ẹrọ ipele kekere, imuse ti awọn iṣẹ ti o wọpọ, gbigbe ifiranṣẹ laarin awọn ilana, ati iṣakoso package. O tun pese awọn irinṣẹ ati awọn iṣẹ ikawe ti o nilo lati gba, ṣajọ, kọ, ati ṣiṣiṣẹ koodu kọja awọn kọnputa. Robotik ati agbegbe ROS ti yipada pupọ lati igba ti a ti ṣe ifilọlẹ ROS ni 2007. Idi ti iṣẹ akanṣe ROS2 ni lati ni ibamu si awọn ayipada wọnyi, mimu awọn agbara ti ROSl ṣiṣẹ ati ilọsiwaju lori awọn ailagbara. Fun awọn igbesẹ fifi sori ẹrọ ti ROS2, jọwọ tọka si osise naa webaaye ti ROS2: https://docs.ros.org/en/foxy/lnstallation.html
Apo iṣẹ ROS2 ti ọja yii ṣe atilẹyin lilo ẹya foxy ROS2 ati loke.

Gba koodu orisun ti ROS2 Package

Koodu orisun ti package iṣẹ ROS2 ti ọja yii ti gbalejo lori awọn ibi ipamọ ti Github. O le ṣe igbasilẹ koodu orisun ti oluwa tabi ẹka akọkọ nipa iraye si ọna asopọ nẹtiwọki ti ibi ipamọ, tabi ṣe igbasilẹ nipasẹ ohun elo git. Awọn olumulo tun le jade taara taara SDK LD19 > ldlidar_stl_ros2.ziR si ọna atẹle fun lilo.

  1. Ibi ipamọ webadirẹsi ojula
    https://github.com/DFRobotdl/ldlidarstlros2
  2. iṣẹ igbasilẹ irinṣẹ git
# Ni akọkọ ṣii wiwo ebute, o le lo bọtini ọna abuja ti ctrl + alt + t
# Ti eto Ubuntu ti o nlo ko ni ohun elo git sori ẹrọ, o le fi sii bi
atẹle:
$ sudo apt-gba fi sori ẹrọ git
# Ṣe igbasilẹ koodu orisun ti package iṣẹ ROS2 ọja:
$ cd ~
$ mkdir -p ldlidar_ros2_ ws/src
$ cd ~/ldlidar_ros2_ws/src
$ git oniye https://github.com/DFRobotdl/ldlidar_st/_ros2.git
#tabi
$ unzip ldlidar_st/_ros2.zip

Ṣeto awọn igbanilaaye ẹrọ

Ni akọkọ, so lidar pọ si module ohun ti nmu badọgba wa (olubadọgba CP2102), ki o si so module pọ mọ kọnputa naa. Lẹhinna, ṣii ebute kan labẹ eto ubuntu ki o tẹ sii Is /dev/ttyUSB* lati ṣayẹwo boya ẹrọ ni tẹlentẹle ti sopọ. Ti o ba ti a ni tẹlentẹle ibudo ẹrọ ti wa ni ri, lo awọn sudo chmod 777 /dev/ttyUSB* pipaṣẹ lati fun ni aṣẹ ti o ga julọ, iyẹn ni, fun ni file eni, ẹgbẹ, ati awọn olumulo miiran ka, kọ ati ṣiṣẹ awọn igbanilaaye, bi o ṣe han ninu nọmba atẹle.

Ṣeto awọn igbanilaaye ẹrọ

Nikẹhin, ṣe atunṣe port_name iye ninu awọn ld19.launch.py file ninu awọn ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/ liana. Ya lidar agesin ni awọn eto bi /dev/ttyUSBO bi example, bi han ni isalẹ.

$ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py

Ṣeto awọn igbanilaaye ẹrọ

Olootu Linux nano: Ctrl + 0 fipamọ ti a ṣatunkọ file; Konturolu + X jade ni wiwo ṣiṣatunkọ.

Kọ ati ayika eto

  1. Lo eto akojọpọ colcon lati ṣajọ ati kọ package iṣẹ ọja:
    $ cd ~/fdlidauos2~ws
    . $ àjọ / con kọ
  2. Awọn eto oniyipada package iṣẹ:
    Lẹhin ti akopọ ti pari, o nilo lati ṣafikun awọn ti o yẹ files ti ipilẹṣẹ nipasẹ akopo si awọn oniyipada ayika, ki awọn ROS2 ayika le ti wa ni mọ. Aṣẹ ipaniyan jẹ bi atẹle. Aṣẹ yii ni lati ṣafikun awọn oniyipada ayika fun igba diẹ si ebute naa, eyiti o tumọ si pe ti o ba tun ebute tuntun kan, o tun nilo lati tun ṣiṣẹ. Aṣẹ atẹle.
$ cd ~/Jdlidar_ros2_ws
$ orisun install/setup.bash

Ni ibere lati ma nilo lati ṣiṣẹ aṣẹ ti o wa loke lati ṣafikun awọn oniyipada ayika lẹhin ṣiṣi ebute naa, o le ṣe atẹle naa.

$ orisun echo ~/Jdlidar_ros2_ws/install/setup.bash » ~ j.bashrc
$ orisun ~ j.bashrc

Run ipade ati Rviz2 àpapọ LiDAR ojuami awọsanma

Bẹrẹ ipade lidar ki o si ṣiṣẹ pipaṣẹ atẹle.

$ ros2 ifilọlẹ ldlidar_stl_ros2 ld19.launch.py

Bẹrẹ ipade lidar ki o ṣafihan awọsanma aaye lidar lori Rviz2, ṣiṣẹ pipaṣẹ atẹle.

$ ros2 ifilọlẹ ldlidar_stl_ros2 viewer_ld19.launch.py
Awọn ilana fun lilo SDK labẹ Linux

Gba koodu orisun ti SDK

Awọn koodu orisun ti Linux SOK ti ọja yii ti gbalejo lori awọn ibi ipamọ ti Github. O le ṣe igbasilẹ koodu orisun ti oluwa tabi ẹka akọkọ nipa iraye si ọna asopọ nẹtiwọọki ti ibi ipamọ, tabi ṣe igbasilẹ nipasẹ gittool. Awọn olumulo tun le jade taara SOK L019 > ldlidar stl sdk.zip si ọna atẹle fun lilo.

  1. Ibi ipamọ webadirẹsi ojula
    https://github.com/OFRobotdl/ldlidarstlsdk
  2. iṣẹ igbasilẹ irinṣẹ git
# Ni akọkọ ṣii wiwo ebute, o le lo bọtini ọna abuja ti ctrl + alt + t
# Ti eto Ubuntu ti o nlo ko ni ohun elo git sori ẹrọ, o le fi sii bi
atẹle:
$ sudo apt-gba fi sori ẹrọ git
# Ṣe igbasilẹ koodu orisun:
$ cd ~
$ mkdir ldlidar_ws
$ cd ~/ldlidar_ws
$ git oniye https://github.com/DFRobotdl/ldlidar_stl_sdk.git
#tabi
$ unzip ldlidar_stl_sdk.zip

Ṣeto awọn igbanilaaye ẹrọ

Ni akọkọ, so lidar si module ohun ti nmu badọgba (CP2102 adapter}, ki o si so module pọ mọ kọnputa. Lẹhinna, ṣii ebute kan labẹ eto ubuntu ki o tẹ sii. Is /dev/ttyUSB* lati ṣayẹwo boya ẹrọ ni tẹlentẹle ti sopọ. Ti o ba ti a ni tẹlentẹle ibudo ẹrọ ti wa ni ri, lo awọn sudo chmod 777 /dev/ttyUSB* pipaṣẹ lati fun ni aṣẹ ti o ga julọ, iyẹn ni, fun ni file eni, ẹgbẹ, ati awọn olumulo miiran ka, kọ ati ṣiṣẹ awọn igbanilaaye, bi o ṣe han ninu nọmba atẹle.

Ṣeto awọn igbanilaaye ẹrọ

Kọ

Awọn koodu orisun ti wa ni se amin ni C ++ 11 boṣewa ede C ++ ati C99 boṣewa C ede. Lo CMake, GNU-make, GCC ati awọn irinṣẹ miiran lati ṣajọ ati kọ koodu orisun. Ti o ba lo eto Ubuntu laisi awọn irinṣẹ ti o wa loke ti fi sori ẹrọ, o le ṣe aṣẹ atẹle lati pari fifi sori ẹrọ.

$ sudo apt-gba fifi sori ẹrọ cmake-pataki

Ti awọn irinṣẹ ti o tọka loke tẹlẹ wa ninu eto, ṣe atẹle naa.

$ cd ~/ldlidar_ ws/ldlidar_stl_sdk
# Ti folda kikọ ko ba si ninu itọsọna ldlidar_st/_sdk, o nilo lati ṣẹda
$ mkdir kọ
$ cd kọ
$ gba .. /
$ṣe

Ṣiṣe eto alakomeji

$ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build
$ ./ldlidar_stl
# fun apẹẹrẹ: ./ldlidar_stl /dev/ttyUSBO
Awọn ilana fun lilo ROS da lori Rasipibẹri Pi SBC

Jọwọ tọkasi iwe afọwọkọ «LD19 Rasipibẹri Pi Raspbian User manual_ V2.9.pdf)) fun awọn alaye.
Ni afikun, a ti pese aworan aṣa fun Rasipibẹri Pi fun ọja yii, ati ikẹkọ lilo rẹ jẹ atẹle:

Ifihan to mirroring

  1. Àkópọ̀ dígí:
    • ẹya raspberrypi raspbian OS: 2020-08-20-raspios-buster-armhf
    • ROS version version: ROS aladun
    • LiDAR LD19 ROS Package
  2. Atilẹyin ohun elo:
    • rasipibẹri 3B+ SBC, raspberrypi 4B SBC
    Kaadi SD pẹlu agbara ti o tobi ju tabi dogba si 16GB

Digi lilo

  1. Ṣe igbasilẹ aworan file:
    Ṣe igbasilẹ ọna asopọ 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
    Ṣe igbasilẹ ọna asopọ 2:
    https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
    • Aworan naa file oruko ni 2022-03-24-raspios-buster-armhf-ldrobot-isọdi-ara.img.xz
  2. Kọ aworan naa file si kaadi SD ati ṣiṣe eto naa:
    Kọ nipasẹ ohun elo Win32Disklmager, fi sii sinu iho kaadi Rasipibẹri Pi lẹhin kikọ aṣeyọri, ati agbara lori eto naa.
    1. System wiwọle jẹmọ alaye
      • Orukọ olumulo: pi
      • Orukọ ogun: raspberrypi
      • Ẹkọ kọja pi
    2. Nṣiṣẹ lidar ipade
#stepl: Rii daju pe ẹrọ lidar ti sopọ si raspberrypi SBC, ati ṣii ebute nipasẹ
ọna abuja Ctrl + Alt + T.
# Igbesẹ 2: Gba ẹrọ ibudo pada file bamu si ẹrọ radar nipasẹ Is-I/dv1i, fun executable
igbanilaaye, ati lẹhinna yipada lanuch file paramita. Gba ibudo naa file ti o baamu ẹrọ lidar
bi / dev/ttyUSB0 bi example.
$ sudo chmod 777 / dev/ttyUSB0
# Akiyesi: A ṣe iṣeduro lati ṣe imudojuiwọn package awakọ Lldar ROS ninu digi fun igba akọkọ
$ cd ~ && cd ~/ldlidar_ros_ws/src/
$ rm -rf ldlidar_stl_ros/
$ git oniye https://github.com/DFRobotdl/ldlidar_stl_ros.git

Nikẹhin, ṣe atunṣe port_name iye ninu ld19.ifilole file ninu awọn ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ liana. Ya lidar agesin ni awọn eto bi /dev/ttyUSBO bi example, bi han ni isalẹ.

$ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch

Ṣeto awọn igbanilaaye ẹrọ

Bẹrẹ ipade lidar ki o si ṣiṣẹ pipaṣẹ atẹle.

$ roslaunch ldlidar_stl_ros ld19.launch

Bẹrẹ ipade lidar ki o ṣafihan data awọsanma lidar ojuami lori Rviz, ṣiṣẹ pipaṣẹ atẹle.

$ ros/anch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch

ITAN Àtúnse

ti ikede ọjọ àtúnyẹwò yipada awọn akoonu
1.0 2020-09-01 Ipilẹṣẹ akọkọ
1.1 2021-01-15 Yọ iṣẹ Yipada () kuro
 

2.0

 

2022-02-27

Ṣafikun akoonu ti awọn ions itọnisọna ohun elo idagbasoke
 

2.1

 

2022-03-06

Pọ apẹrẹ ayaworan ti iwe naa ki o tun ṣe ọna kika akoonu naa
 

2.2

 

2022-03-09

Ṣe atunṣe akọle ideri iwe-ipamọ ati apakan ti akoonu naa
2.3 2022-03-15 Ṣe atunwo awọn alaye iṣoro ninu iwe
2.4 2022-04-02
  1. Ṣatunṣe LOGO;
  2. Fi kun 30 awoṣe file ifihan awọn oluşewadi;
  3. Ṣafikun ifihan ti lilo aworan aṣa Rasipibẹri Pi;
  4. Fix awọn aṣiṣe ninu awọn apejuwe ti awọn iwe aṣẹ
2.5 2022-06-25
  1. Atilẹyin ti a ṣafikun fun ẹya Irẹlẹ ROS2;
  2. Ṣe atunṣe Rviz, Rviz2 lati ṣe afihan akoonu ti o yẹ ti awọsanma ojuami laser;
  3. Ṣatunṣe akoonu ti o yẹ ti kọnputa ogun aaye awọsanma Windows

 

Awọn iwe aṣẹ / Awọn orisun

DFRobot LiDAR LD19 Sensọ Apo [pdf] Ilana itọnisọna
Ohun elo sensọ Laser LiDAR LD19, LiDAR LD19, Apo sensọ Laser, Apo sensọ

Awọn itọkasi

Fi ọrọìwòye

Adirẹsi imeeli rẹ kii yoo ṣe atẹjade. Awọn aaye ti a beere ti wa ni samisi *