Sensor Troubleshooting#
This guide provides solutions to common sensor integration issues in AutoSDV.
Quick Diagnostic Commands#
Before diving into specific issues, run these commands to gather information:
# List all active topics
ros2 topic list
# Check sensor topics specifically
ros2 topic list | grep /sensing
# View TF tree
ros2 run tf2_tools view_frames
evince frames.pdf
# Check node status
ros2 node list
# View logs with debug level
ros2 launch autosdv_launch autosdv.launch.yaml --log-level DEBUG
General Issues#
No Sensor Data#
Symptoms:
- Topics exist but ros2 topic echo shows nothing
- ros2 topic hz shows 0 Hz
- Driver launches but no data published
Diagnostic Steps:
-
Check physical connections:
-
Verify device permissions:
-
Check driver logs:
-
Verify power:
- Check sensor LED indicators
- Measure voltage with multimeter
- Ensure power supply has sufficient current
Solutions by Sensor Type: - LiDAR: Check network settings, IP configuration - Camera: Verify ZED SDK installed, GMSL connection - IMU: Check I2C bus, device address - GNSS: Ensure clear sky view, wait for satellite acquisition
Wrong Coordinate Frame / Sensor in Wrong Location#
Symptoms: - Sensor data visible in RViz but in wrong position - Point cloud upside down or rotated incorrectly - Transform errors in RViz
Diagnostic Steps:
-
Verify TF transforms:
-
Check calibration file:
Solutions:
-
Fix calibration values:
# Edit: sensor_kit_calibration.yaml sensor_kit_base_link: your_sensor_link: x: 0.15 # Forward/backward (meters) y: 0.02 # Left/right (meters) z: 0.20 # Up/down (meters) roll: 0.0 # Rotation around X-axis (radians) pitch: 0.0 # Rotation around Y-axis (radians) yaw: 0.0 # Rotation around Z-axis (radians) -
Understand coordinate systems:
- ROS Standard (REP-103): X=forward, Y=left, Z=up
- Some sensors use different conventions (see sensor guides)
- Calculate rotation needed to align sensor → ROS standard
-
Iteratively adjust in RViz:
- Launch system and view in RViz
- Adjust roll/pitch/yaw in calibration file
- Rebuild and relaunch to see changes
- Repeat until correct
Common Rotations: - Robin-W LiDAR: roll=3.14159, pitch=-1.5708, yaw=0.0 - ZED Camera: roll=0.0, pitch=0.0, yaw=0.0 (standard)
Topic Namespace Issues#
Symptoms:
- Topics appear in unexpected namespaces
- Cannot find sensor topics in /sensing/
- Topic remapping not working
Diagnostic Steps:
-
Check actual topic names:
-
Verify launch file remapping:
Solutions:
-
Add or fix topic remapping:
-
Use absolute topic paths:
-
For ZED camera namespace issues: Use composable node loading (see Camera Sensors Guide)
Performance Issues / High CPU Usage#
Symptoms:
- System lag or slow response
- High CPU usage (check with htop)
- Low frame rate from sensors
- Dropped messages
Diagnostic Steps:
-
Check topic bandwidth:
-
Check CPU usage:
-
Verify CycloneDDS configuration:
Solutions:
-
Configure CycloneDDS buffers (if not done):
-
Reduce sensor data rate:
-
Disable heavy features:
-
Use lightweight sensor suite:
Sensor-Specific Issues#
LiDAR#
No Point Cloud#
Symptoms: LiDAR driver launches but no points published
Solutions: 1. Check network connectivity (Ethernet LiDARs):
-
Configure Jetson IP on same subnet:
-
Check firewall:
TensorRT Compilation Takes Forever#
Symptoms: First launch takes 10-30 minutes with TensorRT messages
This is NORMAL for first launch. TensorRT compiles models for your specific GPU.
Solutions:
- Be patient - only happens once
- Models cached in ~/.autoware/models/
- Subsequent launches are fast
Point Cloud in Wrong Orientation#
Solution: Check coordinate frame rotation (especially Robin-W, which requires roll=180°, pitch=-90°)
See LiDAR Sensors - Coordinate Transformation
Camera (ZED)#
Camera Not Detected#
Symptoms: ZED_Explorer shows "No camera detected"
Solutions: 1. Check GMSL connection:
-
Power cycle camera:
- Unplug camera
- Wait 10 seconds
- Reconnect
- Reboot Jetson
-
Verify ZED SDK installation:
-
Check permissions:
VNC/Remote Access Issues#
Problem: ZED camera doesn't work over standard VNC
Solution: Use TurboVNC + VirtualGL for hardware acceleration
# Install TurboVNC
sudo apt install turbovnc virtualgl
# Start VNC with VirtualGL
vglrun /opt/TurboVNC/bin/vncserver
# Launch apps with vglrun
vglrun ZED_Explorer
vglrun rviz2
Namespace Problems#
Problem: Topics in wrong namespace, can't remap
Solution: Use composable node loading instead of Python launch file
See Camera Sensors - Namespace Workaround
IMU#
MPU9250 Not Detected#
Symptoms: i2cdetect doesn't show device
Solutions: 1. Check I2C bus:
# List I2C buses
ls /dev/i2c-*
# Scan bus 1
sudo i2cdetect -y -r 1
# Should show device at 0x68 or 0x69
-
Verify wiring:
- VCC → 3.3V (not 5V!)
- GND → GND
- SDA → Pin 3 (I2C1 SDA)
- SCL → Pin 5 (I2C1 SCL)
-
Check I2C address:
Noisy IMU Data#
Symptoms: Large fluctuations, unstable orientation
Solutions: 1. Check IMU configuration: See IMU Sensors - Configuration 2. Secure mounting: Minimize vibration 3. Add software filtering: Low-pass filter in driver config
ZED IMU Not Publishing#
Symptoms: ZED camera works but no IMU topic
Solutions: 1. Enable IMU in ZED config:
- Check IMU relay node:
GNSS#
No GNSS Fix#
Symptoms: Fix status remains -1 (no fix)
Solutions: 1. Ensure clear sky view: Move to open area (no buildings/trees) 2. Wait for satellite acquisition: Cold start takes 1-10 minutes 3. Check antenna connection: Verify cable secure 4. Monitor satellite count: Need minimum 4 satellites for 3D fix
No RTK Fix (u-blox)#
Symptoms: GPS fix but no RTK (status != 2)
Solutions: 1. Check NTRIP connection:
- Verify internet connection: NTRIP requires network
- Check credentials: Edit
ntrip.launch.xmlwith correct username/password - Wait for convergence: RTK can take 1-10 minutes
- Improve antenna placement: Higher, less obstruction
Garmin GPS Not Working#
Symptoms: No data from Garmin GPS 18x
Solutions: 1. Start gpsd:
-
Check device:
-
Set baud rate:
-
Test with cgps:
Build Errors#
Package Not Found#
Symptoms: colcon build fails with "package 'X' not found"
Solutions: 1. Update rosdep:
-
Check package.xml dependencies: Ensure all
<depend>tags correct -
Install missing ROS packages:
CMake Errors#
Symptoms: CMake configuration fails
Solutions: 1. Clean build:
-
Check CMakeLists.txt: Verify syntax, dependencies
-
Source ROS 2:
Getting Help#
If issues persist after trying these solutions:
1. Enable Debug Logging#
2. Gather Diagnostic Information#
# System info
lsb_release -a
uname -a
# ROS info
ros2 doctor
ros2 wtf
# Topic info
ros2 topic list
ros2 topic hz /sensing/lidar/*/points_raw
# TF tree
ros2 run tf2_tools view_frames
3. Check GitHub Issues#
Search AutoSDV Issues for similar problems
4. Create Issue#
When reporting issues, include: - Hardware setup (sensor models, connections) - Launch command used - Full error messages/logs - Output of diagnostic commands - Steps to reproduce
Useful Diagnostic Tools#
ROS 2 Tools#
# List nodes
ros2 node list
# Node info
ros2 node info /node_name
# Topic info
ros2 topic info /topic_name
ros2 topic hz /topic_name
ros2 topic bw /topic_name
ros2 topic echo /topic_name
# Parameter inspection
ros2 param list /node_name
ros2 param get /node_name parameter_name
# Service calls
ros2 service list
ros2 service call /service_name service_type "{args}"
# TF debugging
ros2 run tf2_ros tf2_echo frame1 frame2
ros2 run tf2_tools view_frames
System Tools#
# Process monitoring
htop
top
# GPU monitoring
nvidia-smi
watch -n 1 nvidia-smi
# Network
ip addr show
ping <ip>
iftop -i eth0
# USB devices
lsusb
lsusb -t
# Serial devices
ls -l /dev/tty*
sudo dmesg | grep tty
# I2C devices
ls /dev/i2c-*
sudo i2cdetect -y -r 1
# Disk usage
df -h
du -sh *
Related Guides#
For sensor-specific troubleshooting, see: - LiDAR Sensors - Robin-W, Velodyne, Blickfeld issues - Camera Sensors - ZED camera troubleshooting - IMU Sensors - MPU9250 and ZED IMU issues - GNSS Sensors - GNSS and RTK troubleshooting
For integration help: - Adding a New Sensor - Step-by-step integration guide - Using Sensors - Getting started with sensors