Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:examples:sensor:lidar [2013/06/21 09:22] heikopikneret:examples:sensor:lidar [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +<pagebreak>
 ====== Lidar ====== ====== Lidar ======
  
Line 6: Line 7:
 ===== Teooria ===== ===== Teooria =====
  
-[{{  :en:examples:sensor:lidar3.jpg?220|SICK Laser Rangefinder (LIDAR)}}]+[{{  :en:examples:sensor:lidar3.jpg?220|Tootja SICK lasermõõdik (LIDAR)}}]
  
-LIDAR (Light Detection and Ranging) is an optical remote sensing system which can measure the distance of a target by illuminating it with lightLIDAR technology is being used in Robotics for the perception of the environment as well as object classification. The ability of LIDAR technology to provide 2D elevation maps of the terrainhigh precision distance to the ground, and approach velocity can enable safe landing of robotic and manned vehicles with a high degree of precision.+LIDAR (LIght Detection And Ranging) on optiline kaugseire süsteem, mis kaardistab ümbrustLidareid kasutatakse autonoomsete autode ja robotite pealkuid ka erinevates koobaste ja keskkonna kaardistamise süsteemides ning tööstusrobootikas. Lidar võimaldab saada küllaltki täpse kujutise ruumist ja takistustest.
  
-Lidar consists of a transmitter which illuminates a target with a laser beamand a receiver capable of detecting the component of light which is essentially coaxial with the transmitted beamReceiver sensors calculate a distancebased on the time needed for the light to reach the target and returnA mechanical mechanism with a mirror sweeps the light beam to cover the required scene in a plane or even in three dimensionsusing a rotating nodding mirror+Lidar koosneb laseristmis  saadab kiire objektini ja vastuvõtjastVastuvõtja on võimeline mõõtma valguse tagasipeegeldunud komponenti objektiltmis on samasihiline saadetud laserkiiregaSelle järgi arvutatakse kaugus. Mõõtmisi tehakse paljudes punktides. Laserkiire juhtimine toimub mehhaaniliselt liigutatava peegli abil. Tasapinnalist skaneerimist võimaldavad lidarid on odavamad. Nende puhul katab kiir tasapinnanäiteks 180 kraadi ulatuses.  Võimalik on skaneerida veel ruumiliselt, kus laserkiire katvus on osa sfäärist. Kiire liigutamine toimub sellisel juhul kahe telje  ümber. Skanneritud ala mõõtmisandmete järgi saab luua kas tasapinnalise kaardi või kolmemõõtmelise mudeli keskkonnast
  
-One way to measure the time of flight for the light beam is to use a pulsed laser and then measure the elapsed time directlyElectronics capable of resolving picoseconds are required in such devices and they are therefore very expensiveAnother method is to measure the phase shift of the reflected light.+[{{   :en:examples:sensor:lidar2.png?220|Tööpõhimõte}}] 
 +   
 +Valguse tagasipeegeldunud komponendi mõõtmiseks on kaks erinevat viisiEsimesel juhul saadetakse välja infrapuna laseri impulss ja oodatakse, kuni see tagasi peegeldub. Tagasipeegeldumise aja järgi saab arvutada antud suunas oleva objekti kauguse. Kuna mõõtmine toimub pikosekundites, siis selliste seadmete hind on väga kõrge
  
-[{{   :en:examples:sensor:lidar2.png?220|Working principle}}]+[{{:et:examples:sensor:lidar_phase_sift.png?580|Faasinihke mõõtmine}}] 
  
-Collimated infrared laser is used to the phase-shift measurementFor surfaces, having a roughness greater than the wavelength of the incident light, diffuse reflection will occurThe component of the infrared light will return almost parallel to the transmitted beam for objects. +Teine odavam võimalus on kasutada moduleeritud infrapuna laserkiirt ja mõõta saadetava ja objektilt tagasipeegelduva valguse faasinihetFaasinihke suurus on sõltuv objekti kaugusest Moduleeritud signaali lainepikkus on leitav valemist:
- +
- +
-[{{:en:examples:sensor:lidar_phase_sift.png?580|Phase-shift measurement}}]  +
- +
- +
-The sensor measures the phase shift between the transmitted and reflected signals. The picture shows how this technique can be used to measure distance. The wavelength of the modulating signal obeys the equation:+
  
 c = f ∙ τ  c = f ∙ τ 
  
-where is the speed of light and the modulating frequency and τ the known modulating wavelength.+kus on valguse kiirus, modulatsioonisagedus ja τ tuntud moduleerimiseks kasutatud lainepikkus.
  
-The total distance D' covered by the emitted light is:+Summaarne kaugus D', mille kiiratud valgus läbib on:
  
 D' = B + 2A = B + (θ * τ) / 2π D' = B + 2A = B + (θ * τ) / 2π
  
-where is the measured distance. is the distance from the phase measurement unitThe required distance D, between the beam splitter and the target, is therefore given by+kus on mõõdetav kaugus ja on faasinihkesensori vahemaa kiirtelahutajastSoovitud kaugus  kiirtelahutaja ja takistuse vahel on avaldatav järgmiselt:
  
 D = τ * θ / 4π D = τ * θ / 4π
  
-where θ is the electronically measured phase difference between the transmitted and reflected light beams. +kus θ on elektrooniliselt mõõdetav faasi erinevus kiiratud ja tagasipeegeldunud valguskiire vahel.
- +
-It can be shown that the range is inversely proportional to the square of the received signal amplitude, directly affecting the sensor’s accuracy.  +
  
 ===== Praktika ===== ===== Praktika =====
-[{{  :examples:sensor:lidar:lidar_map.jpg?220|Map created by Lidar}}]+[{{  :examples:sensor:lidar:lidar_map.jpg?220|Lidariga mõõdetud kaart}}]
  
 +Robootikas ja tööstuses on SICK laserkaugusmõõdikud laialdaselt kasutustusel. SICK LMS 200 on lihtsalt ühendatav RS-232 või RS-422 liidese abil, võimaldades skaneerida 180 kraadist ala 80 meetri kauguselt. Lidari tööpõhimõte seisneb saadetud valgusimpulsi tagasipeegeldumiseks kulunud aja mõõtmises. Paremal oleval pildil on ühe skaneerimise tulemused kujutatud kaardina.
  
-In autonomous robotics as well as industrial robotics SICK laser rangers are very widely used. The SICK LMS 200 can easily be interfaced through RS-232 or RS-422, providing distance measurements over a 180 degree area up to 80 meters away. This lidar is based on a time-of-flight measurement principle. The example output of one scan measurement result is shown in the picture on the right.+[{{  :en:examples:sensor:connections.png?220|Ühendusskeem}}]
  
-[{{  :en:examples:sensor:connections.png?220|Connection diagram}}]+SICK lidari töökorda seadmiseks tuleb ühendada toite ja andmeside kaablid. Lidari tagaosas ülemise nurga lähedal on kaks pistikut, mis sarnanevad arvuti jadaliidese pordi omaga. Emane pistik on mõeldud toite ja isane andmeside jaoks. Toite ja jadaliidese kaabel tuleb ühendada vastavalt pildile. Lidari saab ühendada kodulabori kommunikatsioonimooduliga RS-232 pistiku abil. Toide 24 V dc tuleb võtta eraldi toiteallikast, mida ei ole lisatud kodulabori komplekti.
  
-To make the SICK operational, it must be wired for power and communicationOn the back of the SICK there are two  connectors that looks like serial port connectors. The connector with the female end is for power and the connector with the male end is for communications. The power and the serial cable should be wired as shown in the picture. Lidar can be connected with Robotic HomeLab Communication module using one of the RS-232 connectors. Power must be taken from external power source and this is not included in Robotic HomLab kit. Required dc power voltage is 24 V.+SICK võtab vastu käsklusi bittide striimina jadaliidese vahenduselAndmete edastamisel saadab andur tagasi bittide jada sõltuvalt mõõtetulemusest antud nurgas.
  
-The SICK receives commands as streams of bytes through the serial port. When transmitting datait sends back streams of bytes corresponding to distance measurements at a given angle.+Andmete saamiseks andurilt tuleb kõigepealt saata stardistring, et öelda lidarileet see alustaks saatmistSee string on järgmine:
  
-To grab data from the SICK, you must first send a start string to tell the sensor to start sending data. This string is: +Kuueteistkümmnendkujul: 02 00 02 00 20 24 34 08
-  +
-Hexadecimal Form: 02 00 02 00 20 24 34 08+
  
-Decimal Form:         2 0 2 0 32 36 52 8+Kümnendkujul:         2 0 2 0 32 36 52 8
  
-If the start string is successfully sentLidar will begin streaming data over RS232Incoming data from a scan is sent sequentially as the sensor scans through 180°For example if the sensor is set to scan 180° with resolution of 0.5° the first data point which was sent will correspond to 0°, the next will correspond to 0.5°, the following to 1°, and so onThis means  there is total of 361 data pointsEach distance measurement is sent in the form of two bytesThe least signifficant byte is sent first followed by the most signifficant byteOperating in metric mode the unit for the measurements is in milimeters.+Kui stardistring on edukalt saadetudalustab lidar andmete striimimist üle jadaliideseAndmed skaneerimise tulemusest saadetakse järjestikku iga kraadi kohtaNäiteks kui lidar on seadistatud skaneerima 180° kraadi ulatuses eraldusvõimega 0.5°, siis esimene lugem on nurga 0° kohtateine lugem nurga 0.5° kohta ja nii edasiSee tähendab, et kokkuvõttes saadetakse 361 lugemitIga kauguse lugem saadetakse kahe baidinaKõige madalam bait saadetakse esimesenaSellele järgneb kõrgem bait. Töötades "metric" režiimil on mõõdetav kaugus antud millimeetrites.
  
-Finally to stop the sensor from sending data a stop string must be sentThis string is:+Andmete saatmise lõpetamiseks tuleb saata stopp käskSee käsk on järgnev:
    
-Hexadecimal Form: 02 00 02 00 20 25 35 08+Kuueteistkümmnendkujul: 02 00 02 00 20 25 35 08
  
-Decimal Form:         2 0 2 0 32 37 53 8+Kümnendkujul:         2 0 2 0 32 37 53 8
  
-Following example shows how to initiate Lidar and get the count of package.+Järgmine näide tutvustab, kuidas seadistada lidar ja lugeda saabunud pakettide arvu, kasutades kodulaborit.
  
 <code c> <code c>
Line 134: Line 127:
  if((!new_value1) && (old_value1))  if((!new_value1) && (old_value1))
  {   {
- //Saada lidarile "02 00 02 00 20 24 34 08", et alustada skanneerimist. + //Saada lidarile "02 00 02 00 20 24 34 08", et alustada skanneerimist
  usart_send_char(port, 0x02);  usart_send_char(port, 0x02);
  usart_send_char(port, 0x00);  usart_send_char(port, 0x00);
Line 149: Line 142:
  {  {
  //Saada lidarile "0x 02 00 02 00 20 25 35 08", et lõpetada  //Saada lidarile "0x 02 00 02 00 20 25 35 08", et lõpetada
-                        //skanneerimine.+                        //skanneerimine
  usart_send_char(port, 0x02);  usart_send_char(port, 0x02);
  usart_send_char(port, 0x00);  usart_send_char(port, 0x00);
Line 182: Line 175:
  count++;  count++;
  
- //Kuvatakse pakettide arv LCD ekraanil.+ //LCD ekraanil pakettide arvu kuvamine
  lcd_gfx_goto_char_xy(0, 3);  lcd_gfx_goto_char_xy(0, 3);
  
et/examples/sensor/lidar.1371806575.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0