LiDAR — Ouster¶
Driver ROS2 para sensores LiDAR Ouster OS-series, empacotado como container Docker.
Fonte: ouster-lidar/ouster-ros (incluído como submódulo).
Requisitos¶
- Sensor Ouster OS-series conectado via Ethernet a uma interface dedicada (ex:
enp7s0) - Interface do host configurada com IP estático e servidor DHCP para atribuir um endereço ao sensor
Configuração de rede (host — executar antes de iniciar o container)¶
O sensor Ouster obtém seu IP via DHCP. Configure a interface do host e inicie um servidor DHCP:
# Verificar interfaces disponíveis
ip link show
# Atribuir IP estático à interface conectada ao Ouster
sudo ip addr flush enp7s0
sudo ip addr add 10.5.5.1/24 dev enp7s0
sudo ip link set enp7s0 up
ip addr show dev enp7s0
# Iniciar servidor DHCP — atribui IPs no intervalo 10.5.5.50–10.5.5.100 ao sensor
sudo dnsmasq -C /dev/null -kd -F 10.5.5.50,10.5.5.100 -i enp7s0 --bind-dynamic
Após o sensor inicializar, ele receberá um IP no intervalo 10.5.5.x. Verifique com:
Início Rápido¶
docker compose up -d lidar
docker compose exec lidar bash
# Dentro do container — iniciar o driver
source /opt/ros/humble/setup.bash
source install/setup.bash
ros2 launch ouster_ros driver.launch.py
Tópicos Publicados¶
| Tópico | Tipo | Descrição |
|---|---|---|
/ouster/points |
sensor_msgs/PointCloud2 |
Nuvem de pontos 3D |
/ouster/imu |
sensor_msgs/Imu |
Dados de IMU |
/ouster/scan |
sensor_msgs/LaserScan |
Fatia 2D do scan |
/ouster/image |
sensor_msgs/Image |
Imagem de range/intensidade |
Parâmetros Principais¶
| Parâmetro | Descrição | Valores |
|---|---|---|
sensor_hostname |
IP ou hostname do sensor | os-XXXX.local ou IP |
lidar_mode |
Resolução e taxa de scan | 512x10, 1024x10, 1024x20, 2048x10 |
point_type |
Formato dos campos da nuvem | original, xyz, xyzi, xyzir |
proc_mask |
Habilitar/desabilitar tipos de mensagem | IMU\|PCL\|SCAN\|IMG\|RAW\|TLM |
use_system_default_qos |
QoS padrão (necessário para rosbag) | false (padrão) |
min_range / max_range |
Filtro de alcance em metros | 0.0 / 1000.0 |
Referência completa de parâmetros: workspace/ouster-ros/ouster-ros/config/driver_params.yaml
Gravação de Bag¶
Replay de bag ou PCAP¶
# De bag ROS2
ros2 launch ouster_ros replay.composite.launch.xml bag_file:=/caminho/para/bag
# De PCAP
ros2 launch ouster_ros replay_pcap.launch.xml \
pcap_file:=/caminho/para/arquivo.pcap \
metadata:=/caminho/para/metadata.json
Visualização¶
# Iniciar com RViz
ros2 launch ouster_ros sensor.composite.launch.xml \
sensor_hostname:=<IP> viz:=true
Solução de Problemas¶
Nenhum dado recebido:
- Verifique se o sensor está acessível:
ping <sensor_hostname> - Verifique
udp_dest— se o host tem múltiplas interfaces, especifique o IP da interface onde os pacotes UDP devem chegar - Certifique-se de que nenhum firewall está bloqueando as portas UDP usadas pelo sensor
Timestamps errados:
- Configure
timestamp_modeparaTIME_FROM_ROS_TIMEse o sensor não tiver sincronização GPS