Seti ya Sensor ya DFRobot LiDAR LD19 

Seti ya Sensor ya DFRobot LiDAR LD19

MAELEZO YA BIDHAA

LD19 inaundwa zaidi na msingi wa leza, kitengo cha teleksi kisicho na waya, kitengo cha mawasiliano kisicho na waya, kitengo cha kipimo cha pembe, kitengo cha kiendeshi cha gari na casing ya mitambo.

Msingi wa LD19 hutumia teknolojia ya DTOF, ambayo inaweza kupima mara 4,500 kwa sekunde. Kila wakati umbali unapopimwa, LD19 hutoa leza ya infrared mbele, na leza huakisiwa kwenye kitengo cha kupokea fotoni moja baada ya kukutana na kitu kinacholengwa. Kutokana na hili, tulipata wakati ambapo laser ilitolewa na wakati ambapo kitengo cha kupokea photon moja kilipokea laser. Tofauti ya wakati kati ya hizi mbili ni wakati wa kukimbia kwa mwanga. Wakati wa kukimbia unaweza kuunganishwa na kasi ya mwanga ili kuhesabu umbali.

Baada ya kupata data ya umbali, LD19 itachanganya maadili ya pembe yaliyopimwa na kitengo cha kipimo cha angle ili kuunda data ya wingu ya uhakika, na kisha kutuma data ya wingu ya uhakika kwenye kiolesura cha nje kwa njia ya mawasiliano ya wireless. LD19 inasaidia udhibiti wa kasi wa ndani, kasi inaweza kutengemaa hadi 10±0.1Hz ndani ya sekunde 3 baada ya kuwasha. Wakati huo huo, kiolesura cha pembejeo cha nje cha PWM kinatolewa ili kusaidia udhibiti wa kasi wa nje. Baada ya kitengo cha udhibiti wa nje kupata kasi, inadhibitiwa na algorithm ya PID iliyofungwa-kitanzi, na ishara ya PWM inaingizwa ili kufanyaLD19 kufikia kasi maalum.

Mchoro wa uchunguzi wa mazingira unaoundwa na data ya wingu ya nukta LD19 umeonyeshwa hapa chini:

Maelezo ya Bidhaa

INTERFACE YA MAWASILIANO

LD19 hutumia kiunganishi cha ZH1.5T-4P 1.5mm kuunganisha na mfumo wa nje ili kutambua usambazaji wa nishati na upokeaji data. Ufafanuzi mahususi wa kiolesura na mahitaji ya kigezo huonyeshwa kwenye takwimu/jedwali lifuatalo:

bandari nambari ishara jina aina maelezo ioni mini mama kawaida maxi mama
1 Tx pato LiDAR

pato la data

ov 3.3V 3.5V
2 PWM pembejeo kudhibiti motor ov 3.3V
3 GND usambazaji wa nguvu hasi ov
4 P5V usambazaji wa nguvu chanya 4.5V 5V 5.5V

LD19 ina injini

LD19 ina dereva wa gari na udhibiti wa kasi ya chini, ambayo inasaidia udhibiti wa kasi wa ndani na udhibiti wa kasi wa nje. Pini ya PWM inapowekwa msingi, chaguo-msingi ni udhibiti wa kasi wa ndani, na kasi ya chaguo-msingi ni 10±0.1Hz. Kwa udhibiti wa kasi ya nje, ishara ya wimbi la mraba inahitaji kushikamana na pini ya PWM, na kuanza, kuacha na kasi ya motor inaweza kudhibitiwa kupitia mzunguko wa wajibu wa ishara ya PWM. Masharti ya kuanzisha udhibiti wa kasi wa nje: a. Ingizo la mzunguko wa PWM 20-50K, ilipendekeza 30K; b. Mzunguko wa Ushuru uko ndani ya muda (45%, 55%) (bila kujumuisha 45% na 55%), na angalau 100ms ya muda wa uingizaji unaoendelea. Baada ya kudhibiti kasi ya nje kuanzishwa, daima iko katika hali ya udhibiti wa kasi ya nje, na udhibiti wa kasi wa ndani utarejeshwa isipokuwa nguvu imezimwa na kuanzisha upya; wakati huo huo, udhibiti wa kasi unaweza kufanywa kwa kurekebisha mzunguko wa wajibu wa PWM. Kutokana na tofauti za kibinafsi za kila motor ya bidhaa, kasi halisi inaweza kuwa tofauti wakati mzunguko wa wajibu umewekwa kwa thamani ya kawaida. Ili kudhibiti kwa usahihi kasi ya gari, inahitajika kufanya udhibiti wa kitanzi kilichofungwa kulingana na habari ya kasi katika data iliyopokelewa. Kumbuka: Wakati hautumii udhibiti wa kasi wa nje, pini ya PWM lazima iwe msingi.

Mawasiliano ya data ya LD19 inachukua upitishaji wa njia moja wa kawaida wa Universal Asynchronous (UART), na vigezo vyake vya upitishaji vinaonyeshwa kwenye jedwali lifuatalo:

kiwango cha baud urefu wa data acha kidogo usawa kidogo udhibiti wa mtiririko
230400bit / s Biti 8 I 1 I hakuna I hakuna

ITIFAKI YA DATA

Muundo wa pakiti ya data

LD19 inachukua mawasiliano ya njia moja. Baada ya operesheni thabiti, huanza kutuma pakiti za data za kipimo bila kutuma amri zozote. Muundo wa pakiti ya kipimo umeonyeshwa kwenye takwimu hapa chini.

Kijajuu VerLen Kasi Pembe ya kuanza Data Pembe ya mwisho Mudaamp Angalia CRC
54H Mimi Byte LSB MSB LSB MSB …… LSB MSB LSB MSB Mimi Byte
  • Kijajuu: Urefu ni 1 Byte, na thamani imewekwa kwa 0x54, ikionyesha mwanzo wa pakiti ya data;
  • Verlen: Urefu ni 1 Byte, bits tatu za juu zinaonyesha aina ya pakiti, ambayo kwa sasa imewekwa kwa 1, na bits tano za chini zinaonyesha idadi ya pointi za kipimo kwenye pakiti, ambayo kwa sasa imewekwa kwa 12, hivyo thamani ya byte imewekwa. kwa 0x2C;
  • Kasi: Urefu ni 2 Byte, kitengo ni digrii kwa pili, inayoonyesha kasi ya lidar;
  • Pembe ya kuanza: Urefu ni 2 Byte, na kitengo ni digrii 0.01, inayoonyesha angle ya kuanzia ya hatua ya pakiti ya data;
  • Data: Inaonyesha data ya kipimo, urefu wa data ya kipimo ni baiti 3, tafadhali rejelea sehemu inayofuata kwa uchambuzi wa kina;
  • Pembe ya mwisho: Urefu ni 2 Byte, na kitengo ni digrii 0.01, inayoonyesha angle ya mwisho ya hatua ya pakiti ya data;
  • Mudaamp : Urefu ni Baiti 2, kitengo ni milliseconds, na kiwango cha juu ni 30000. Inapofikia 30000, itahesabiwa tena, ikionyesha saaamp thamani ya pakiti ya data;
  • Angalia CRC Urefu ni 1 Byte, iliyopatikana kutoka kwa uthibitishaji wa data yote ya awali isipokuwa yenyewe. Kwa mbinu ya uthibitishaji ya CRC, tazama maudhui yafuatayo kwa maelezo;

Rejeleo la muundo wa data ni kama ifuatavyo:

#fafanua PO/NT_PER_PACK 12
#fafanua HEADER 0x54
typedef muundo _attribute_((imejaa))
umbali wa {uint16_t;
uint8_t kiwango; } LidarPointStructDef;
typedef muundo _attribute_((packed)) {

uint8_t:  kichwa;
uint8 t:  ver_len;
uint16_t:  kasi;
uint16 t: angle_ ya kuanza;
Pointi ya LidarPointStructDef[POINT_PER_PACK};
uint16 t: pembe_ya_mwisho;
uint16_t: nyakatiamp;
uint8 t: crc8;
}LiDARFrameTypeDef;

Njia ya kuhesabu ukaguzi wa CRC ni kama ifuatavyo.

static 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 i;
kwa (i = O; i <Jen; i++){
ere= CreTabJe[(ere J\ *p++) & Oxff]; }
kurudi nyuma;

 

Uchambuzi wa data ya kipimo

Kila sehemu ya data ya kipimo ina thamani ya umbali wa baiti 2 na thamani ya uhakika ya baiti 1, kama inavyoonyeshwa kwenye mchoro ulio hapa chini.

Kijajuu VerLen Kasi Pembe ya kuanza Data Pembe ya mwisho Mudaamp Angalia CRC
54H 2cH LSB MSB LSB MSB …… LSB MSB LSB MSB lByte

Hatua ya kipimo 1 Hatua ya kipimo 2 Sehemu ya kupimia n
umbali ukali umbali ukali umbali ukali
LSB MSB 1 Baiti LSB MSB 1 Baiti LSB MSB 1 Baiti

Kitengo cha thamani ya umbali ni mm. Thamani ya ukubwa wa mawimbi huonyesha kiwango cha kuakisi mwanga. Kiwango cha juu, ndivyo thamani ya ukali wa ishara inavyoongezeka; kadiri ukubwa unavyopungua, ndivyo thamani ya ukali wa ishara inavyopungua. Kwa kitu nyeupe ndani ya 6m, thamani ya kawaida ya thamani ya nguvu ya ishara ni karibu 200. Thamani ya pembe ya kila hatua inapatikana kwa uingizaji wa mstari wa angle ya kuanzia na pembe ya mwisho. Njia ya kuhesabu pembe ni kama ifuatavyo:

hatua= (pembe_ya_mwisho -pembe_ya_kuanza)/(Jen -1);
angle= pembe_ya_kuanza + hatua*i;
ambapo Jen ni idadi ya pointi za kipimo katika pakiti ya data, na kiwango cha thamani cha i ni [O, Jen).

Example

Tuseme tunapokea kipande cha data kama inavyoonyeshwa hapa chini.
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 00A82A BE 3A 50A BE

Tunachambua kama ifuatavyo:

Kijajuu VerLen Kasi Pembe ya kuanza Data Pembe ya mwisho Mudaamp Angalia CRC
54H 2CH 68H 08H ABH 7EH …… BEH 82H 3AH laH 50H

Hatua ya kipimo 1 Hatua ya kipimo 2  

•••

Hatua ya kipimo 12
umbali ukali umbali ukali umbali ukali
EOH OOH E4H DCH OOH E2H BOH OOH EAH
Habari za shamba Mchakato wa kuchanganua
Kasi 0868H = digrii 2152 kwa sekunde;
Pembe ya kuanza 7EABH = 32427, au digrii 324.27;
Pembe ya mwisho 82BEH = 33470, au digrii 334.7;
Sehemu ya kupimia I umbali OOEOH = 224mm
Kiwango cha kipimo cha 1 E4H = 228
Hatua ya kupima 2 umbali OODCH = 200mm
Kiwango cha kipimo cha 2 OOE2H= 226
Hatua ya kupima 12 umbali OOBOH = 176mm
Kiwango cha kipimo cha 12 EAH=234

MFUMO WA KURATIBU

LD19 hutumia mfumo wa kuratibu wa mkono wa kushoto, kituo cha mzunguko ni asili ya kuratibu, sehemu ya mbele ya sensor inafafanuliwa kama mwelekeo wa digrii sifuri, na pembe ya mzunguko huongezeka kwa mwendo wa saa, kama inavyoonyeshwa kwenye takwimu hapa chini.

Mfumo wa Kuratibu

MAAGIZO YA KITABU CHA MAENDELEO

Jinsi ya kutumia chombo cha tathmini

Uunganisho wa kebo ya vifaa na maelezo

  1. LiDAR, waya, bodi ya adapta ya USB, kama inavyoonyeshwa kwenye takwimu ifuatayo:
    Jinsi ya kutumia chombo cha tathmini
  2. Mchoro wa unganisho, kama inavyoonyeshwa kwenye takwimu hapa chini:
    Jinsi ya kutumia chombo cha tathmini

Ufungaji wa kiendeshaji chini ya Windows

Wakati wa kutathmini bidhaa za kampuni chini ya Windows, ni muhimu kufunga dereva wa bandari ya serial ya bodi ya adapta ya USB. Sababu ni kwamba bodi ya adapta ya USB kwenye kifaa cha ukuzaji kilichotolewa na kampuni inachukua CP2102 USB hadi chipu ya adapta ya bandari ya serial, na dereva wake anaweza kupatikana kutoka kwa Upakuaji wa Silicon kutoka kwa rasmi ya Labs. webtovuti:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Au, Baada ya kufifisha kifurushi cha kiendeshi cha CP210x_Universal_Windows_Driver, tekeleza exe file kwenye saraka ya kifurushi cha usakinishaji wa dereva, na uchague X86 (32-bit) au X64 (64-bit) kulingana na toleo la mfumo wa Windows.

Ufungaji wa kiendeshaji chini ya Windows

Bonyeza mara mbili exe file na ufuate vidokezo vya kuisakinisha.

Ufungaji wa kiendeshaji chini ya Windows

Baada ya usakinishaji kukamilika, unganisha ubao wa adapta ya USB kwenye kifaa cha ukuzaji kwenye kompyuta, bonyeza-kulia [Kompyuta Yangu], chagua [Sifa], na kwenye kiolesura cha [Mfumo] kilichofunguliwa, chagua [Kidhibiti cha Kifaa] kwenye menyu ya kushoto. kuingia Nenda kwa meneja wa kifaa, panua [Bandari], unaweza kuona nambari ya bandari ya serial inayolingana na adapta ya USB ya CP2102 inayotambuliwa, ambayo ni, dereva imewekwa kwa mafanikio, na takwimu hapa chini ni COM4.

Ufungaji wa kiendeshaji chini ya Windows

Kwa kutumia LdsPointCloudViewer programu chini ya Windows

Programu ya taswira ya wingu ya uhakika LdsPointCloudViewer inaweza kuonyesha data iliyochanganuliwa ya bidhaa hii kwa wakati halisi, na wasanidi programu wanaweza kutumia programu hii kutazama uwasilishaji wa kuchanganua wa bidhaa hii. Kabla ya kutumia programu hii, ni muhimu kutofautisha kwamba dereva wa bodi ya adapta ya USB ya bidhaa hii imewekwa kwa mafanikio, na bidhaa imeunganishwa na bandari ya USB ya PC ya mfumo wa Windows, kisha ubofye mara mbili LdsPointCloud.Viewer.exe, na uchague modeli ya bidhaa inayolingana na nambari ya bandari, bofya kitufe cha Anza kuonyesha upya wingu, kama inavyoonyeshwa kwenye takwimu ifuatayo.

Kwa kutumia LdsPointCloudViewer programu chini ya Windows
Katika takwimu hapo juu,

'Kasi' inawakilisha mzunguko wa skanning ya lida, kitengo: Hz;
'Kiwango' kinawakilisha kiwango cha utatuzi wa pakiti ya data ya lidar;
'Halali' inawakilisha sehemu halali ya kiwiko kupima mduara.

Mfano wa 3D wa bidhaa file

Fungua faili ya LiDAR_LD19_3D_stp_Vl.0 file kupata mfano wa 3D file katika muundo wa STP.

Uendeshaji kulingana na ROS chini ya Linux

Utangulizi na ufungaji wa mazingira ya ROS

ROS (Mfumo wa Uendeshaji wa Roboti) ni mfumo huria wa uendeshaji wa meta wa roboti na vifaa vya kati vilivyojengwa kwenye Linux. Inatoa huduma zinazotarajiwa kwa mfumo wa uendeshaji, ikiwa ni pamoja na uondoaji wa maunzi, udhibiti wa kifaa wa kiwango cha chini, utekelezaji wa vitendaji vinavyotumika kawaida, kutuma ujumbe kati ya michakato na usimamizi wa kifurushi. Pia hutoa zana na utendakazi wa maktaba zinazohitajika ili kupata, kukusanya, kuandika, na kuendesha msimbo kwenye kompyuta. Kwa hatua za usakinishaji wa kila toleo la ROS, tafadhali rejelea ROS rasmi webtovuti: http://wiki.ros.org/ROS/lnstallation

Kifurushi cha utendaji wa ROS cha bidhaa hii inasaidia matoleo na mazingira yafuatayo:

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

Pata msimbo wa chanzo wa Kifurushi cha ROS

Nambari ya chanzo ya kifurushi cha utendaji cha ROS cha bidhaa hii imepangishwa kwenye hazina ya Github. Unaweza kupakua msimbo wa chanzo wa mkuu au tawi kuu kwa kufikia kiungo cha mtandao wa hazina, au uipakue kupitia zana ya git.Watumiaji wanaweza pia kutoa moja kwa moja SDK LD19 > ldlidar stl ros.zi kwenye njia ifuatayo ya matumizi.

  1. Hifadhi webanwani ya tovuti
    https://github.com/DFRobotdl/ldlidarstlros
  2. git upakuaji wa zana
# Kwanza fungua kiolesura cha terminal, unaweza kutumia ufunguo wa njia ya mkato wa ctrl+alt+t

# Ikiwa mfumo wa Ubuntu unaotumia hauna zana ya git iliyosanikishwa, unaweza kuisanikisha kama

ifuatavyo:

$ sudo apt-get kufunga git

# Pakua msimbo wa chanzo wa kifurushi cha kazi cha ROS cha bidhaa:

$ cd ~

$ mkdir -p ldlidar_ros_ws/src

$ cd ~/ldlidar_ros_ws/src

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

#au

$ unzip ldlidar_stl_ros.zip

Weka ruhusa za kifaa

Kwanza, unganisha lidar kwenye moduli yetu ya adapta (adapta ya CP2102), na uunganishe moduli kwenye kompyuta. Kisha, fungua terminal chini ya mfumo wa ubuntu na uingie Is /dev/ttyUSB* ili kuangalia ikiwa kifaa cha serial kimeunganishwa. Ikiwa kifaa cha mlango wa serial kimegunduliwa, tumia sudo ch mod 777 /dev/ttyUSB* kuamuru kuipa mamlaka ya juu zaidi, yaani, kutoa file mmiliki, kikundi, na watumiaji wengine kusoma, kuandika na kutekeleza ruhusa, kama inavyoonekana katika takwimu zifuatazo.

Weka ruhusa za kifaa

Hatimaye, kurekebisha port_name thamani katika ld19.launch file katika ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ saraka. Chukua kifuniko kilichowekwa kwenye mfumo kama /dev/ttyUSB0 kama example, kama inavyoonyeshwa hapa chini.

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

Weka ruhusa za kifaa

Mhariri wa nano wa Linux: Ctrl + 0 huhifadhi iliyohaririwa file; Ctrl + X hutoka kwenye kiolesura cha kuhariri.

Mipangilio ya muundo na mazingira

  1. Tumia mfumo wa mkusanyiko wa catkin kukusanya na kuunda kifurushi cha utendaji wa bidhaa:
    $ cd ~/fdlidauos~ws
    . $ catkin_make
  2. Mipangilio ya mazingira ya kifurushi cha kazi:
    Baada ya mkusanyiko kukamilika, unahitaji kuongeza muhimu files yanayotokana na mkusanyiko wa vigezo vya mazingira, ili mazingira ya ROS yaweze kutambua. Amri ya utekelezaji ni kama ifuatavyo. Amri hii ni ya kuongeza vigezo vya mazingira kwa muda kwenye terminal, ambayo ina maana kwamba ikiwa utafungua tena terminal mpya, unahitaji pia kuitekeleza tena. Amri ifuatayo.
$ cd ~/tdlidar_ros_ws
$ source devel/setup.bash

Ili usiwahi kuhitaji kutekeleza amri hapo juu ili kuongeza anuwai za mazingira baada ya kufungua tena terminal, unaweza kufanya yafuatayo.

$ echo chanzo ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc
$ source ~/bashrc

Endesha nodi na Rviz ionyeshe wingu la uhakika la LiDAR

Anzisha nodi ya lidar na utekeleze amri ifuatayo.

$ roslaunch ldlidar_stl_ros ld19.zindua

Anzisha node ya lidar na uonyeshe data ya wingu ya lidar kwenye Rviz, fanya amri ifuatayo.

# ikiwa ROS_DISTRO katika 'kinetic' au 'melodic'
$ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch
# ikiwa ROS_DISTRO katika 'noetic'
$ ros/aunch ldlidar_st/_ros viewuzinduzi wa er_ld19_noetic
Uendeshaji kulingana na ROS2 chini ya Linux

Utangulizi na usakinishaji wa mazingira wa ROS2

ROS (Mfumo wa Uendeshaji wa Roboti) ni mfumo huria wa uendeshaji wa meta wa roboti na vifaa vya kati vilivyojengwa kwenye Linux. Inatoa huduma zinazotarajiwa kwa mfumo wa uendeshaji, ikiwa ni pamoja na uondoaji wa maunzi, udhibiti wa kifaa wa kiwango cha chini, utekelezaji wa vitendaji vinavyotumika kawaida, kutuma ujumbe kati ya michakato na usimamizi wa kifurushi. Pia hutoa zana na utendakazi wa maktaba zinazohitajika ili kupata, kukusanya, kuandika, na kuendesha msimbo kwenye kompyuta. Roboti na jumuiya ya ROS imebadilika sana tangu ROS ilipozinduliwa mwaka wa 2007. Lengo la mradi wa ROS2 ni kukabiliana na mabadiliko haya, kutumia nguvu za ROSl na kuboresha udhaifu. Kwa hatua za usakinishaji wa ROS2, tafadhali rejelea afisa webtovuti ya ROS2: https://docs.ros.org/en/foxy/lnstallation.html
Kifurushi cha kazi cha ROS2 cha bidhaa hii inasaidia matumizi ya toleo la mbweha la ROS2 na hapo juu.

Pata msimbo wa chanzo wa Kifurushi cha ROS2

Nambari ya chanzo cha kifurushi cha utendaji cha ROS2 cha bidhaa hii imepangishwa kwenye hazina za Github. Unaweza kupakua msimbo wa chanzo wa mkuu au tawi kuu kwa kufikia kiungo cha mtandao cha hazina, au kuipakua kupitia zana ya git.Watumiaji wanaweza pia kutoa moja kwa moja. SDK LD19 > ldlidar_stl_ros2.ziR kwa njia ifuatayo ya matumizi.

  1. Hifadhi webanwani ya tovuti
    https://github.com/DFRobotdl/ldlidarstlros2
  2. git upakuaji wa zana
# Kwanza fungua kiolesura cha wastaafu, unaweza kutumia njia ya mkato ya ctrl+alt+t
# Ikiwa mfumo wa Ubuntu unaotumia hauna zana ya git iliyosanikishwa, unaweza kuisanikisha kama
ifuatavyo:
$ sudo apt-get kufunga git
# Pakua nambari ya chanzo ya kifurushi cha kazi cha ROS2:
$ cd ~
$ mkdir -p ldlidar_ros2_ ws/src
$ cd ~/ldlidar_ros2_ws/src
$ git clone https://github.com/DFRobotdl/ldlidar_st/_ros2.git
#au
$ unzip ldlidar_st/_ros2.zip

Weka ruhusa za kifaa

Kwanza, unganisha lidar kwenye moduli yetu ya adapta (adapta ya CP2102), na uunganishe moduli kwenye kompyuta. Kisha, fungua terminal chini ya mfumo wa ubuntu na uingie Is /dev/ttyUSB* ili kuangalia ikiwa kifaa cha serial kimeunganishwa. Ikiwa kifaa cha mlango wa serial kimegunduliwa, tumia sudo chmod 777 /dev/ttyUSB* kuamuru kuipa mamlaka ya juu zaidi, yaani, kutoa file mmiliki, kikundi, na watumiaji wengine kusoma, kuandika na kutekeleza ruhusa, kama inavyoonekana katika takwimu zifuatazo.

Weka ruhusa za kifaa

Hatimaye, kurekebisha port_name thamani katika ld19.launch.py file katika ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/ saraka. Chukua lidar iliyowekwa kwenye mfumo kama /dev/ttyUSBO kama example, kama inavyoonyeshwa hapa chini.

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

Weka ruhusa za kifaa

Mhariri wa nano wa Linux: Ctrl + 0 huhifadhi iliyohaririwa file; Ctrl + X hutoka kwenye kiolesura cha kuhariri.

Mipangilio ya muundo na mazingira

  1. Tumia mfumo wa mkusanyiko wa colcon kukusanya na kuunda kifurushi cha utendaji wa bidhaa:
    $ cd ~/fdlidauos2 ~ws
    . $ co/con kujenga
  2. Mipangilio ya mazingira ya kifurushi cha kazi:
    Baada ya mkusanyiko kukamilika, unahitaji kuongeza muhimu files yanayotokana na mkusanyiko wa vigezo vya mazingira, ili mazingira ya ROS2 yaweze kutambuliwa. Amri ya utekelezaji ni kama ifuatavyo. Amri hii ni ya kuongeza vigezo vya mazingira kwa muda kwenye terminal, ambayo ina maana kwamba ikiwa utafungua tena terminal mpya, unahitaji pia kuitekeleza tena. Amri ifuatayo.
$ cd ~/Jdlidar_ros2_ws
$ source install/setup.bash

Ili usiwahi kuhitaji kutekeleza amri hapo juu ili kuongeza anuwai za mazingira baada ya kufungua tena terminal, unaweza kufanya yafuatayo.

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

Run nodi na Rviz2 onyesha wingu la uhakika la LiDAR

Anzisha nodi ya lidar na utekeleze amri ifuatayo.

$ ros2 zindua ldlidar_stl_ros2 ld19.launch.py

Anzisha nodi ya lidar na uonyeshe wingu la hatua ya lidar kwenye Rviz2, fanya amri ifuatayo.

$ ros2 kuzindua ldlidar_stl_ros2 viewer_ld19.launch.py
Maagizo ya kutumia SDK chini ya Linux

Pata msimbo wa chanzo wa SDK

Msimbo wa chanzo wa Linux SOK wa bidhaa hii umepangishwa kwenye hazina za Github. Unaweza kupakua msimbo wa chanzo wa bwana au tawi kuu kwa kufikia kiungo cha mtandao cha hifadhi, au kupakua kupitia gittool. Watumiaji wanaweza pia kutoa moja kwa moja SOK L019 > ldlidar stl sdk.zip kwa njia ifuatayo ya matumizi.

  1. Hifadhi webanwani ya tovuti
    https://github.com/OFRobotdl/ldlidarstlsdk
  2. git upakuaji wa zana
# Kwanza fungua kiolesura cha wastaafu, unaweza kutumia njia ya mkato ya ctrl+alt+t
# Ikiwa mfumo wa Ubuntu unaotumia hauna zana ya git iliyosanikishwa, unaweza kuisanikisha kama
ifuatavyo:
$ sudo apt-get kufunga git
# Pakua nambari ya chanzo:
$ cd ~
$ mkdir ldlidar_ws
$ cd ~/ldlidar_ws
$ git clone https://github.com/DFRobotdl/ldlidar_stl_sdk.git
#au
$ unzip ldlidar_stl_sdk.zip

Weka ruhusa za kifaa

Kwanza, unganisha lidar kwenye moduli yetu ya adapta (adapta ya CP2102}, na uunganishe moduli kwenye kompyuta. Kisha, fungua terminal chini ya mfumo wa ubuntu na uingize Is /dev/ttyUSB* ili kuangalia ikiwa kifaa cha serial kimeunganishwa. Ikiwa kifaa cha mlango wa serial kimegunduliwa, tumia sudo chmod 777 /dev/ttyUSB* kuamuru kuipa mamlaka ya juu zaidi, yaani, kutoa file mmiliki, kikundi, na watumiaji wengine kusoma, kuandika na kutekeleza ruhusa, kama inavyoonekana katika takwimu zifuatazo.

Weka ruhusa za kifaa

Jenga

Msimbo wa chanzo umewekwa katika lugha ya C++11 ya kawaida ya C++ na lugha ya C99 ya kawaida ya C. Tumia CMake, GNU-make, GCC na zana zingine kukusanya na kuunda msimbo wa chanzo. Ikiwa unatumia mfumo wa Ubuntu bila zana zilizo hapo juu zilizosakinishwa, unaweza kutekeleza amri ifuatayo ili kukamilisha usakinishaji.

$ sudo apt-get install build-essential cmake

Ikiwa zana zilizoonyeshwa hapo juu tayari zipo kwenye mfumo, fanya zifuatazo.

$ cd ~/ldlidar_ ws/ldlidar_stl_sdk
# Ikiwa folda ya ujenzi haipo kwenye saraka ya ldlidar_st/_sdk, inahitaji kuunda
$ mkdir kujenga
$ cd kujenga
$ cmke .. /
$tengeneza

Endesha programu ya binary

$ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build
$ ./ldlidar_stl
# mfano: ./ldlidar_stl /dev/ttyUSBO
Maagizo ya kutumia ROS kulingana na Raspberry Pi SBC

Tafadhali rejelea mwongozo « LD19 Raspberry Pi Raspbian User manual_ V2.9.pdf)) kwa maelezo.
Kwa kuongezea, tumetoa picha maalum ya Raspberry Pi kwa bidhaa hii, na mafunzo yake ya utumiaji ni kama ifuatavyo.

Utangulizi wa kuakisi

  1. Muundo wa kioo:
    • toleo la raspberrypi raspbian OS: 2020-08-20-raspios-buster-armhf
    • Toleo la mazingira la ROS: ROS melodic
    • Kifurushi cha LiDAR LD19 ROS
  2. Usaidizi wa maunzi:
    • raspberrypi 3B+ SBC , raspberrypi 4B SBC
    • Kadi ya SD yenye uwezo mkubwa kuliko au sawa na 16GB

Matumizi ya kioo

  1. Pakua picha file:
    • Pakua kiungo cha 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
    • Pakua kiungo cha 2:
    https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
    • Muonekano file jina ni 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz
  2. Andika picha file kwa kadi ya SD na uendeshe mfumo:
    Andika kupitia zana ya Win32Disklmager, ingiza kwenye nafasi ya kadi ya Raspberry Pi baada ya kuandika kwa mafanikio, na nguvu kwenye mfumo.
    1. Maelezo yanayohusiana na kuingia kwa mfumo
      • Jina la mtumiaji: pi
      • Jina la mwenyeji: raspberrypi
      • Wadi ya kupita pi
    2. Kuendesha node ya lidar
#stepl: Hakikisha kifaa cha lidar kimeunganishwa kwenye raspberrypi SBC, na ufungue terminal kupitia
njia ya mkato Ctrl+Alt+T.
#hatua2: Rejesha kifaa cha mlango file sambamba na kifaa cha rada kupitia Is-I/dv1i, toa inayoweza kutekelezwa
ruhusa, na kisha urekebishe lanuch file vigezo. Chukua bandari file sambamba na kifaa cha lidar
kama /dev/ttyUSB0 kama example.
$ sudo chmod 777 /dev/ttyUSB0
# Kumbuka: Inashauriwa kusasisha kifurushi cha dereva cha Lldar ROS kwenye kioo kwa mara ya kwanza
$ cd ~ && cd ~/ldlidar_ros_ws/src/
$ rm -rf ldlidar_stl_ros/
$ git clone https://github.com/DFRobotdl/ldlidar_stl_ros.git

Hatimaye, kurekebisha port_name thamani katika uzinduzi wa ld19 file katika ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ saraka. Chukua lidar iliyowekwa kwenye mfumo kama /dev/ttyUSBO kama example, kama inavyoonyeshwa hapa chini.

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

Weka ruhusa za kifaa

Anzisha nodi ya lidar na utekeleze amri ifuatayo.

$ roslaunch ldlidar_stl_ros ld19.zindua

Anzisha node ya lidar na uonyeshe data ya wingu ya lidar kwenye Rviz, fanya amri ifuatayo.

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

HISTORIA YA MARUDIO

toleo tarehe ya marekebisho rekebisha ya maudhui
1.0 2020-09-01 Uumbaji wa awali
1.1 2021-01-15 Ondoa kitendakazi cha Transform()
 

2.0

 

2022-02-27

Imeongeza maudhui ya ioni za maagizo ya vifaa vya ukuzaji
 

2.1

 

2022-03-06

Ongeza muundo wa picha wa hati na urekebishe umbizo la maudhui
 

2.2

 

2022-03-09

Rekebisha kichwa cha jalada la hati na sehemu ya yaliyomo
2.3 2022-03-15 Rekebisha taarifa zenye matatizo katika uhifadhi wa nyaraka
2.4 2022-04-02
  1. Badilisha NEMBO;
  2. Imeongeza 30 mfano file utangulizi wa rasilimali;
  3. Ongeza utangulizi wa matumizi ya picha maalum ya Raspberry Pi;
  4. Rekebisha hitilafu katika maelezo ya hati
2.5 2022-06-25
  1. Msaada ulioongezwa kwa toleo la ROS2 Humble;
  2. Rekebisha Rviz, Rviz2 ili kuonyesha maudhui muhimu ya wingu la uhakika la laser;
  3. Rekebisha maudhui yanayofaa ya kompyuta ya mwenyeji wa wingu ya Windows

 

Nyaraka / Rasilimali

Seti ya Sensor ya DFRobot LiDAR LD19 [pdf] Mwongozo wa Maelekezo
Seti ya Sensor ya LiDAR LD19, LiDAR LD19, Seti ya Sensor ya Laser, Sensor ya Sensor

Marejeleo

Acha maoni

Barua pepe yako haitachapishwa. Sehemu zinazohitajika zimetiwa alama *