Kit de sensor láser DFRobot LiDAR LD19

DESCRIPCIÓN DEL PRODUCTO
El LD19 se compone principalmente de un núcleo de alcance láser, una unidad de télex inalámbrica, una unidad de comunicación inalámbrica, una unidad de medición de ángulos, una unidad de accionamiento del motor y una carcasa mecánica.
El núcleo de rango LD19 utiliza tecnología DTOF, que puede medir 4,500 veces por segundo. Cada vez que se mide la distancia, el LD19 emite un láser infrarrojo hacia adelante y el láser se refleja en la unidad receptora de un solo fotón después de encontrar el objeto objetivo. A partir de esto, obtuvimos el momento en que se emitió el láser y el momento en que la unidad receptora de fotones individuales recibió el láser. La diferencia de tiempo entre los dos es el tiempo de vuelo de la luz. El tiempo de vuelo se puede combinar con la velocidad de la luz para calcular la distancia.
Después de obtener los datos de distancia, el LD19 combinará los valores de ángulo medidos por la unidad de medición de ángulo para formar datos de nube de puntos y luego enviará los datos de nube de puntos a la interfaz externa a través de comunicación inalámbrica. LD19 admite el control de velocidad interno, la velocidad se puede estabilizar a 10 ± 0.1 Hz dentro de los 3 segundos posteriores al encendido. Al mismo tiempo, se proporciona una interfaz de entrada externa PWM para admitir el control de velocidad externo. Una vez que la unidad de control externo obtiene la velocidad, se controla mediante un algoritmo PID de circuito cerrado y se ingresa la señal PWM para hacer que el LD19 alcance la velocidad especificada.
A continuación se muestra una ilustración del escaneo ambiental formado por los datos de la nube de puntos LD19:

INTERFAZ DE COMUNICACIÓN
El LD19 utiliza un conector ZH1.5T-4P de 1.5 mm para conectarse con un sistema externo para realizar la fuente de alimentación y la recepción de datos. La definición de interfaz específica y los requisitos de parámetros se muestran en la siguiente figura/tabla:
| puerto número | señal nombre | tipo | describir ion | mini mamá | típico | maxi mamá |
| 1 | Tx | producción | LiDAR
salida de datos |
ov | 3.3 V | 3.5 V |
| 2 | Modulación por ancho de pulso (PWM) | aporte | control del motor | ov | – | 3.3 V |
| 3 | Tierra | fuente de alimentación | negativo | – | ov | – |
| 4 | P5V | fuente de alimentación | positivo | 4.5 V | 5V | 5.5 V |

El LD19 tiene un controlador de motor con regulación de velocidad progresiva, que admite control de velocidad interno y control de velocidad externo. Cuando el pin PWM está conectado a tierra, el valor predeterminado es la regulación de velocidad interna y la velocidad predeterminada es 10 ± 0.1 Hz. Para el control de velocidad externo, se debe conectar una señal de onda cuadrada al pin PWM, y el inicio, la parada y la velocidad del motor se pueden controlar a través del ciclo de trabajo de la señal PWM. Condiciones para activar el control de velocidad externo: a. Entrada de frecuencia PWM 20-50K, recomendado 30K; b. El ciclo de trabajo está dentro del intervalo (45 %, 55 %) (excluyendo 45 % y 55 %) y al menos 100 ms de tiempo de entrada continuo. Después de que se activa el control de velocidad externo, siempre está en el estado de control de velocidad externo, y el control de velocidad interno se restaurará a menos que se apague y reinicie; al mismo tiempo, el control de velocidad se puede realizar ajustando el ciclo de trabajo PWM. Debido a las diferencias individuales de cada motor de producto, la velocidad real puede ser diferente cuando el ciclo de trabajo se establece en un valor típico. Para controlar con precisión la velocidad del motor, es necesario realizar un control de circuito cerrado de acuerdo con la información de velocidad en los datos recibidos. Nota: Cuando no se utiliza el control de velocidad externo, el pin PWM debe estar conectado a tierra.
La comunicación de datos de LD19 adopta la transmisión unidireccional de puerto serie asíncrono universal (UART) estándar, y sus parámetros de transmisión se muestran en la siguiente tabla:
| velocidad de transmisión | longitud de datos | detener un poco | bit de paridad | control de flujo | |||
| 230400 bits / s | 8 bits | I | 1 | I | ninguno | I | ninguno |
PROTOCOLO DE DATOS
formato de paquete de datos
El LD19 adopta una comunicación unidireccional. Después de una operación estable, comienza a enviar paquetes de datos de medición sin enviar ningún comando. El formato del paquete de medición se muestra en la siguiente figura.
| Encabezamiento | verlen | Velocidad | Ángulo inicial | Datos | Ángulo final | Oportunoamp | control CRC | ||||
| 54H | yo byte | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | yo byte |
- Encabezamiento: La longitud es de 1 byte y el valor se fija en 0x54, lo que indica el comienzo del paquete de datos;
- Verlen: La longitud es de 1 byte, los tres bits superiores indican el tipo de paquete, que actualmente está fijado en 1, y los cinco bits inferiores indican el número de puntos de medición en un paquete, que actualmente está fijado en 12, por lo que el valor del byte es fijo a 0x2C;
- Velocidad: La longitud es de 2 Byte, la unidad es grados por segundo, indicando la velocidad del lidar;
- Ángulo inicial: La longitud es de 2 bytes y la unidad es de 0.01 grados, lo que indica el ángulo inicial del punto del paquete de datos;
- Datos: Indica datos de medición, una longitud de datos de medición es de 3 bytes, consulte la siguiente sección para un análisis detallado;
- Ángulo final: La longitud es de 2 bytes y la unidad es de 0.01 grados, lo que indica el ángulo final del punto del paquete de datos;
- Oportunoamp : La longitud es de 2 Bytes, la unidad es de milisegundos, y el máximo es de 30000. Cuando llegue a 30000, se volverá a contar indicando el tiempo másamp valor del paquete de datos;
- Comprobación de CRC: La longitud es de 1 Byte, obtenido de la verificación de todos los datos anteriores menos él mismo. Para el método de verificación de CRC, consulte el siguiente contenido para obtener más detalles;
La referencia de la estructura de datos es la siguiente:
#definir PO/NT_PER_PACK 12
#define CABECERA 0x54
typedef struct _attribute_((empaquetado))
{ uint16_t distancia;
uint8_t intensidad; } LidarPointStructDef;
typedef struct _attribute_((empaquetado)) {
uint8_t: encabezamiento;
uint8t: ver_len;
uint16_t: velocidad;
uint16t: ángulo inicial;
LidarPointStructDef punto[POINT_PER_PACK};
uint16t: ángulo_final;
uint16_t: más oportunoamp;
uint8t: crc8;
}LiDARFrameTypeDef;
El método de cálculo de verificación de CRC es el siguiente:
| canst estático 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, Buey 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_tere= O; uint16_ti; para (i = O; i < Jen; i++){ ere= CreTabJe[(ere J\ *p++) & Oxff]; } volver aquí; |
Análisis de datos de medición
Cada punto de datos de medición consta de un valor de distancia de 2 bytes y un valor de confianza de 1 byte, como se muestra en la siguiente figura.
| Encabezamiento | verlen | Velocidad | Ángulo inicial | Datos | Ángulo final | Oportunoamp | control CRC | ||||
| 54H | 2ch | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | byte |

| Punto de medición 1 | Punto de medición 2 | … | punto de medición n | ||||||
| distancia | intensidad | distancia | intensidad | distancia | intensidad | ||||
| LSB | MSB | 1 bytes | LSB | MSB | 1 bytes | … | LSB | MSB | 1 bytes |
La unidad de valor de la distancia es mm. El valor de la intensidad de la señal refleja la intensidad del reflejo de la luz. Cuanto mayor sea la intensidad, mayor será el valor de intensidad de la señal; cuanto menor sea la intensidad, menor será el valor de la intensidad de la señal. Para un objeto blanco dentro de los 6 m, el valor típico del valor de la intensidad de la señal es de alrededor de 200. El valor del ángulo de cada punto se obtiene por interpolación lineal del ángulo inicial y el ángulo final. El método de cálculo del ángulo es el siguiente:
paso = (ángulo_final -ángulo_inicio)/(Jen -1);
ángulo= ángulo_inicial + paso*i;
donde Jen es el número de puntos de medición en un paquete de datos y el rango de valores de i es [O, Jen).
Example
Supongamos que recibimos un dato como el que se muestra a continuación.
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 BE 82 3A lA 50
Lo analizamos de la siguiente manera:
| Encabezamiento | verlen | Velocidad | Ángulo inicial | Datos | Ángulo final | Oportunoamp | control CRC | ||||
| 54H | 2 canales | 68H | 08H | ABH | 7EH | …… | BIEN | 82H | 3 Ah | LAH | 50H |

| Punto de medición 1 | Punto de medición 2 |
••• |
Punto de medición 12 | ||||||
| distancia | intensidad | distancia | intensidad | distancia | intensidad | ||||
| EOH | OH | E4H | DCH | OH | E2H | … | BOH | OH | EAH |
| información de campo | proceso de análisis |
| Velocidad | 0868H = 2152 grados por segundo; |
| Ángulo inicial | 7EABH = 32427, o 324.27 grados; |
| Ángulo final | 82BEH = 33470, o 334.7 grados; |
| Punto de medición I distancia | OOEOH = 224 mm |
| Intensidad del punto de medición 1 | E4H = 228 |
| Distancia del punto de medición 2 | ODCH = 200 mm |
| Intensidad del punto de medición 2 | OOE2H= 226 |
| … | … |
| Distancia del punto de medición 12 | OOBOH = 176 mm |
| Intensidad del punto de medición 12 | HAE=234 |
SISTEMA COORDINADO
El LD19 utiliza un sistema de coordenadas para zurdos, el centro de rotación es el origen de las coordenadas, el frente del sensor se define como la dirección de cero grados y el ángulo de rotación aumenta en el sentido de las agujas del reloj, como se muestra en la siguiente figura.

INSTRUCCIONES DEL KIT DE DESARROLLO
Cómo utilizar la herramienta de evaluación
Conexión y descripción del cable de hardware
- LiDAR, cable, placa adaptadora USB, como se muestra en la siguiente figura:

- Diagrama de conexión, como se muestra en la siguiente figura:

Instalación del controlador en Windows
Al evaluar los productos de la empresa bajo Windows, es necesario instalar el controlador del puerto serie de la placa adaptadora USB. La razón es que la placa del adaptador USB en el kit de desarrollo provisto por la compañía adopta el chip adaptador de puerto serie a USB CP2102, y su controlador se puede obtener de Silicon Download del oficial de Labs. websitio:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
O bien, después de descomprimir el paquete del controlador CP210x_Universal_Windows_Driver, ejecute el exe file en el directorio del paquete de instalación del controlador y seleccione X86 (32 bits) o X64 (64 bits) según la versión del sistema de Windows.

Haga doble clic en el exe file y siga las instrucciones para instalarlo.

Una vez completada la instalación, conecte la placa adaptadora USB del kit de desarrollo a la computadora, haga clic con el botón derecho en [Mi PC], seleccione [Propiedades] y, en la interfaz abierta [Sistema], seleccione [Administrador de dispositivos] en el menú de la izquierda. para ingresar Vaya al administrador de dispositivos, expanda [Puertos], puede ver el número de puerto serie correspondiente al adaptador USB CP2102 reconocido, es decir, el controlador se instaló correctamente y la figura a continuación es COM4.

Uso de LdsPointCloudViewer software bajo Windows
El software de visualización de nubes de puntos LdsPointCloudViewer puede mostrar los datos escaneados de este producto en tiempo real, y los desarrolladores pueden usar este software para observar visualmente las representaciones escaneadas de este producto. Antes de usar este software, es necesario distinguir que el controlador de la placa del adaptador USB de este producto se ha instalado correctamente y que el producto está interconectado con el puerto USB de la PC del sistema Windows, luego haga doble clic en LdsPointCloudViewer.exe y seleccione el modelo de producto y el número de puerto correspondientes, haga clic en el botón Actualizar nube de puntos de inicio, como se muestra en la siguiente figura.

En la figura anterior,
'Velocidad' representa la frecuencia de escaneo LIDAR, unidad: Hz;
'Tasa' representa la tasa de resolución de paquetes de datos LIDAR;
'Válido' representa el punto válido para que el lidar mida un círculo.
Producto modelo 3D file
Descomprima el LiDAR_LD19_3D_stp_Vl.0 file para obtener un modelo 3D file en formato STP.
Funcionamiento basado en ROS bajo Linux
Introducción e instalación del entorno ROS
ROS (Robot Operating System) es un metasistema operativo de código abierto para robots y middleware creado en Linux. Proporciona los servicios que se esperan de un sistema operativo, incluida la abstracción de hardware, el control de dispositivos de bajo nivel, la implementación de funciones de uso común, el paso de mensajes entre procesos y la gestión de paquetes. También proporciona las herramientas y las funciones de biblioteca necesarias para obtener, compilar, escribir y ejecutar código en las computadoras. Para conocer los pasos de instalación de cada versión de ROS, consulte el ROS oficial websitio: http://wiki.ros.org/ROS/lnstallation
El paquete de funciones ROS de este producto es compatible con las siguientes versiones y entornos:
- ROS cinético (Ubuntu16.04);
- ROS melódico (Ubuntu18.04);
- ROS Noético (Ubuntu20.04).
Obtenga el código fuente del paquete ROS
El código fuente del paquete de funciones ROS de este producto está alojado en el repositorio de Github. Puede descargar el código fuente de la rama maestra o principal accediendo al enlace de red del repositorio, o descargarlo a través de la herramienta git. Los usuarios también pueden extraer directamente SDK LD19> ldlidar stl ros.zi a la siguiente ruta para su uso.
- Repositorio webDirección del sitio
► https://github.com/DFRobotdl/ldlidarstlros - operación de descarga de la herramienta git
| # Primero abra la interfaz del terminal, puede usar la tecla de acceso directo de ctrl+alt+t
# Si el sistema Ubuntu que está utilizando no tiene instalada la herramienta git, puede instalarla como Sigue: $ sudo apt-get instalar git # Descargue el código fuente del paquete de funciones ROS del producto: $ cd ~ $ mkdir -p ldlidar_ros_ws/src $ CD ~/ldlidar_ros_ws/src $git clon https://github.com/DFRobotdl/ldlidar_stl_ros.git #o $ descomprimir ldlidar_stl_ros.zip |
Establecer permisos de dispositivo
Primero, conecte el lidar a nuestro módulo adaptador (adaptador CP2102) y conecte el módulo a la computadora. Luego, abra una terminal bajo el sistema ubuntu e ingrese Is /dev/ttyUSB* para comprobar si el dispositivo serie está conectado. Si se detecta un dispositivo de puerto serie, utilice el sudo ch mod 777 /dev/ttyUSB* mando darle la máxima autoridad, es decir, darle la file propietario, grupo y otros usuarios permisos de lectura, escritura y ejecución, como se muestra en la siguiente figura.

Finalmente, modifique el port_name valor en el ld19.launch file en el ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ directorio. Tome el lidar montado en el sistema como /dev/ttyUSB0 como example, como se muestra a continuación.
| $ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |

Linux nano editor: Ctrl + 0 guarda lo editado file; Ctrl + X sale de la interfaz de edición.
Configuración de compilación y entorno
- Utilice el sistema de compilación catkin para compilar y crear el paquete de funciones del producto:
$ cd ~/fdlidauos~ws
. $ catkin_hacer - Configuración de variables de entorno del paquete de funciones:
Una vez completada la compilación, debe agregar la información relevante files generados por la compilación a las variables de entorno, para que el entorno ROS pueda reconocerlas. El comando de ejecución es el siguiente. Este comando es para agregar temporalmente variables de entorno a la terminal, lo que significa que si vuelve a abrir una nueva terminal, también debe volver a ejecutarla. El siguiente comando.
| $ cd ~/tdlidar_ros_ws $ fuente de desarrollo/setup.bash |
Para que nunca necesite ejecutar el comando anterior para agregar variables de entorno después de volver a abrir la terminal, puede hacer lo siguiente.
| $ fuente de eco ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc $ fuente ~/bashrc |
Ejecute el nodo y Rviz muestre la nube de puntos LiDAR
Inicie el nodo lidar y ejecute el siguiente comando.
| $roslaunch ldlidar_stl_ros ld19.launch |
Inicie el nodo lidar y muestre los datos de la nube de puntos lidar en Rviz, ejecute el siguiente comando.
| # si ROS_DISTRO en 'cinético' o 'melódico' $ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.lanzamiento # si ROS_DISTRO en 'noetic' $ros/aunch ldlidar_st/_ros viewer_ld19_noetic.lanzamiento |
Funcionamiento basado en ROS2 bajo Linux
Introducción e instalación del entorno ROS2
ROS (Robot Operating System) es un metasistema operativo de código abierto para robots y middleware creado en Linux. Proporciona los servicios que se esperan de un sistema operativo, incluida la abstracción de hardware, el control de dispositivos de bajo nivel, la implementación de funciones de uso común, el paso de mensajes entre procesos y la gestión de paquetes. También proporciona las herramientas y las funciones de biblioteca necesarias para obtener, compilar, escribir y ejecutar código en las computadoras. La comunidad de robótica y ROS ha cambiado mucho desde que se lanzó ROS en 2007. El objetivo del proyecto ROS2 es adaptarse a estos cambios, aprovechando las fortalezas de ROSl y mejorando las debilidades. Para los pasos de instalación de ROS2, consulte el oficial websitio de ROS2: https://docs.ros.org/en/foxy/lnstallation.html
El paquete de funciones ROS2 de este producto admite el uso de la versión ROS2 foxy y superior.
Obtenga el código fuente del paquete ROS2
El código fuente del paquete de funciones ROS2 de este producto está alojado en los repositorios de Github. Puede descargar el código fuente de la rama maestra o principal accediendo al enlace de red del repositorio, o descargarlo a través de la herramienta git. Los usuarios también pueden extraer directamente SDK LD19 > ldlidar_stl_ros2.ziR a la siguiente ruta para su uso.
- Repositorio webDirección del sitio
► https://github.com/DFRobotdl/ldlidarstlros2 - operación de descarga de la herramienta git
| # Primero abra la interfaz del terminal, puede usar la tecla de acceso directo de ctrl+alt+t # Si el sistema Ubuntu que está utilizando no tiene instalada la herramienta git, puede instalarla como Sigue: $ sudo apt-get instalar git # Descargue el código fuente del paquete de funciones ROS2 del producto: $ CD ~ $ mkdir -p ldlidar_ros2_ ws/src $ CD ~/ldlidar_ros2_ws/src $ clon de git https://github.com/DFRobotdl/ldlidar_st/_ros2.git #o $ descomprimir ldlidar_st/_ros2.zip |
Establecer permisos de dispositivo
Primero, conecte el lidar a nuestro módulo adaptador (adaptador CP2102) y conecte el módulo a la computadora. Luego, abra una terminal bajo el sistema ubuntu e ingrese Is /dev/ttyUSB* para comprobar si el dispositivo serie está conectado. Si se detecta un dispositivo de puerto serie, utilice el sudo chmod 777 /dev/ttyUSB* mando darle la máxima autoridad, es decir, darle la file propietario, grupo y otros usuarios permisos de lectura, escritura y ejecución, como se muestra en la siguiente figura.

Finalmente, modifique el port_name valor en el ld19.launch.py file en el ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/ directorio. Tome el lidar montado en el sistema como /dev/ttyUSBO como un example, como se muestra a continuación.
| $ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py |

Linux nano editor: Ctrl + 0 guarda lo editado file; Ctrl + X sale de la interfaz de edición.
Configuración de compilación y entorno
- Utilice el sistema de compilación colcon para compilar y crear el paquete de funciones del producto:
$ cd ~/fdlidauos2~ws
. $ construcción co/con - Configuración de variables de entorno del paquete de funciones:
Una vez completada la compilación, debe agregar la información relevante files generados por la compilación a las variables de entorno, para que el entorno ROS2 pueda ser reconocido. El comando de ejecución es el siguiente. Este comando es para agregar temporalmente variables de entorno a la terminal, lo que significa que si vuelve a abrir una nueva terminal, también debe volver a ejecutarla. El siguiente comando.
| $ CD ~/Jdlidar_ros2_ws $ fuente de instalación/setup.bash |
Para que nunca necesite ejecutar el comando anterior para agregar variables de entorno después de volver a abrir la terminal, puede hacer lo siguiente.
| $ fuente de eco ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc |
| $ fuente ~j.bashrc |
Ejecute el nodo y Rviz2 muestre la nube de puntos LiDAR
Inicie el nodo lidar y ejecute el siguiente comando.
| $ ros2 lanzar ldlidar_stl_ros2 ld19.launch.py |
Inicie el nodo lidar y muestre la nube de puntos lidar en Rviz2, ejecute el siguiente comando.
| $ ros2 lanzar ldlidar_stl_ros2 viewer_ld19.launch.py |
Instrucciones para usar SDK bajo Linux
Obtener el código fuente de SDK
El código fuente del SOK de Linux de este producto está alojado en los repositorios de Github. Puede descargar el código fuente de la rama maestra o principal accediendo al enlace de red del repositorio, o descargarlo a través de gittool. Los usuarios también pueden extraer directamente SOK L019 > ldlidar stl sdk.zip a la siguiente ruta para su uso.
- Repositorio webDirección del sitio
► https://github.com/OFRobotdl/ldlidarstlsdk - operación de descarga de la herramienta git
| # Primero abra la interfaz del terminal, puede usar la tecla de acceso directo de ctrl+alt+t # Si el sistema Ubuntu que está utilizando no tiene instalada la herramienta git, puede instalarla como Sigue: $ sudo apt-get instalar git # Descarga el código fuente: $ CD ~ $ mkdir ldlidar_ws $ cd ~/ldlidar_ws $ clon de git https://github.com/DFRobotdl/ldlidar_stl_sdk.git #o $ descomprimir ldlidar_stl_sdk.zip |
Establecer permisos de dispositivo
Primero, conecte el lidar a nuestro módulo adaptador (adaptador CP2102) y conecte el módulo a la computadora. Luego, abra una terminal bajo el sistema ubuntu e ingrese Is /dev/ttyUSB* para comprobar si el dispositivo serie está conectado. Si se detecta un dispositivo de puerto serie, utilice el sudo chmod 777 /dev/ttyUSB* mando darle la máxima autoridad, es decir, darle la file propietario, grupo y otros usuarios permisos de lectura, escritura y ejecución, como se muestra en la siguiente figura.

Construir
El código fuente está codificado en lenguaje C++ estándar C++11 y lenguaje C estándar C99. Use CMake, GNU-make, GCC y otras herramientas para compilar y crear el código fuente. Si usa el sistema Ubuntu sin las herramientas anteriores instaladas, puede ejecutar el siguiente comando para completar la instalación.
| $ sudo apt-get install cmake esencial para compilación |
Si las herramientas indicadas anteriormente ya existen en el sistema, haga lo siguiente.
| $ cd ~/ldlidar_ws/ldlidar_stl_sdk # Si la carpeta de compilación no existe en el directorio ldlidar_st/_sdk, debe crearse $ mkdir construir $ compilación de CD $ hacer .. / $ hacer |
Ejecutar programa binario
| $ cd ~/ldlidar_ws/ldlidar_st/_sdk/build $ ./ldlidar_stl # por ejemplo: ./ldlidar_stl /dev/ttyUSBO |
Instrucciones para usar ROS basado en Raspberry Pi SBC
Consulte el manual « LD19 Raspberry Pi Raspbian User manual_ V2.9.pdf)) para obtener más información.
Además, proporcionamos una imagen personalizada para Raspberry Pi para este producto, y su tutorial de uso es el siguiente:
Introducción a la duplicación
- Composición del espejo:
• versión del SO raspbian de raspberrypi: 2020-08-20-raspios-buster-armhf
• Versión del entorno ROS: ROS melódico
• Paquete LiDAR LD19 ROS - Soporte de hardware:
• raspberrypi 3B+ SBC, raspberrypi 4B SBC
• Tarjeta SD con una capacidad mayor o igual a 16GB
Uso del espejo
- Descargar imagen file:
• Enlace de descarga 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
• Enlace de descarga 2:
https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
• La imagen file El nombre es 2022-03-24-raspios-buster-armhf-ldrobot-personalización.img.xz - escribe la imagen file a la tarjeta SD y ejecute el sistema:
Escriba a través de la herramienta Win32Disklmager, insértela en la ranura de la tarjeta Raspberry Pi después de escribir correctamente y encienda el sistema- Información relacionada con el inicio de sesión del sistema
• Nombre de usuario:pi
• Nombre de host:raspberrypi• Sala de pases
pi - Ejecutando el nodo lidar
- Información relacionada con el inicio de sesión del sistema
| #stepl: asegúrese de que el dispositivo lidar esté conectado al raspberrypi SBC y abra una terminal a través del atajo Ctrl+Alt+T. #paso2: recuperar el dispositivo de puerto file correspondiente al dispositivo de radar a través de Is-I/dv1i, dar ejecutablepermiso, y luego modifique el lanuch file parámetros toma el puerto file correspondiente al dispositivo lidar como /dev/ttyUSB0 como exampel. $ sudo chmod 777 /dev/ttyUSB0 # Nota: Se recomienda actualizar el paquete de controladores Lldar ROS en el espejo por primera vez $ cd ~ && cd ~/ldlidar_ros_ws/src/ $ rm -rf ldlidar_stl_ros/ $ git clonar https://github.com/DFRobotdl/ldlidar_stl_ros.git |
Finalmente, modifique el port_name valor en el ld19.launch file en el ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ directorio. Tome el lidar montado en el sistema como /dev/ttyUSBO como un example, como se muestra a continuación.
| $ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |

Inicie el nodo lidar y ejecute el siguiente comando.
| $roslaunch ldlidar_stl_ros ld19.launch |
Inicie el nodo lidar y muestre los datos de la nube de puntos lidar en Rviz, ejecute el siguiente comando.
| $ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch |
HISTORIAL DE REVISIONES
| versión | fecha de revisión | modificar el contenido |
| 1.0 | 2020-09-01 | Creación inicial |
| 1.1 | 2021-01-15 | Eliminar la función Transformar () |
|
2.0 |
2022-02-27 |
Se agregó el contenido de las instrucciones del kit de desarrollo. |
|
2.1 |
2022-03-06 |
Aumentar el diseño gráfico del documento y revisar el formato del contenido |
|
2.2 |
2022-03-09 |
Modificar el título de la portada del documento y parte del contenido. |
| 2.3 | 2022-03-15 | Revisar declaraciones problemáticas en la documentación. |
| 2.4 | 2022-04-02 |
|
| 2.5 | 2022-06-25 |
|
Documentos / Recursos
![]() |
Kit de sensor láser DFRobot LiDAR LD19 [pdf] Manual de instrucciones Kit de sensor láser LiDAR LD19, LiDAR LD19, Kit de sensor láser, Kit de sensor |




