4.9 KiB
4.9 KiB
Troubleshooting Guide
Common Issues
Arming Failed
Symptoms:
- "PreArm: Gyros inconsistent"
- "PreArm: Need Position Estimate"
- "Arm: Throttle too high"
Solution:
# Wait for EKF initialization (15+ seconds)
# Look for these messages:
# EKF3 IMU0 initialised
# EKF3 IMU1 initialised
# AHRS: EKF3 active
# Then force arm:
mode guided
arm throttle force
takeoff 5
Gazebo Won't Start
Symptoms:
- "libGL error"
- Black screen
- Segmentation fault
Solution (WSL/No GPU):
# Use software rendering
bash scripts/run_autonomous.sh --software-render
# Or set manually:
export LIBGL_ALWAYS_SOFTWARE=1
export GALLIUM_DRIVER=llvmpipe
ArduPilot SITL Won't Connect
Symptoms:
- "Waiting for heartbeat"
- Connection timeout
- "No MAVLink heartbeat"
Solution:
# Kill existing processes
bash scripts/kill_simulation.sh
# Check if port is in use
lsof -i :5760
# Restart simulation
bash scripts/run_autonomous.sh --search spiral
MAVROS Connection Failed
Symptoms:
- "FCU connection lost"
- MAVROS not publishing topics
Solution:
# Verify SITL is running
pgrep -a arducopter
# Check connection URL
# Should be tcp://127.0.0.1:5760
# Restart MAVROS
ros2 run mavros mavros_node --ros-args -p fcu_url:=tcp://127.0.0.1:5760
Drone Drifts / Unstable
Symptoms:
- Position drift after takeoff
- Oscillations
- Won't hold position
Causes:
- Visual odometry not providing updates
- EKF not using external nav
- Poor camera data
Solution:
# Verify VO is publishing
ros2 topic hz /uav/visual_odometry/pose
# Check EKF source
# In MAVProxy:
param show EK3_SRC1_POSXY # Should be 6
# Verify camera is working
ros2 topic hz /uav/camera/forward/image_raw
Module Not Found
Symptoms:
- "ModuleNotFoundError: No module named 'pymavlink'"
- "ImportError: No module named 'cv2'"
Solution:
# Activate virtual environment
source activate_venv.sh
# Reinstall dependencies
pip install -r requirements.txt
Build Failed (Missing pexpect/future)
Symptoms:
- "you need to install pexpect with 'python3 -m pip install pexpect'"
- "ModuleNotFoundError: No module named 'future'"
install-prereqs-ubuntu.shfails with "Can not perform a '--user' install"
Solution: This usually happens if the virtual environment is active during the build process but lacks dependencies.
# Deactivate any active virtualenv
deactivate
# helper to install missing deps into venv
source activate_venv.sh
pip install pexpect future
Build Failed (Missing catkin_pkg)
Symptoms:
ModuleNotFoundError: No module named 'catkin_pkg'withinpackage_xml_2_cmake.py- CMake configuration error at
ament_package_xml.cmake
Solution: This occurs when the virtual environment is missing ROS 2 build dependencies that are normally present in the system python but not in the venv.
source activate_venv.sh
pip install catkin_pkg
WSL-Specific Issues
Display Not Available
Symptoms:
- "cannot open display"
- GUI won't show
Solution:
# Install VcXsrv on Windows, then:
export DISPLAY=:0
# Or use WSLg (Windows 11)
# Should work automatically
Graphics Performance
Symptoms:
- Very slow rendering
- Low FPS in Gazebo
Solution:
# Use software rendering
export LIBGL_ALWAYS_SOFTWARE=1
export GALLIUM_DRIVER=llvmpipe
# Or reduce visual quality
# In Gazebo, disable shadows and effects
Debugging Commands
Check Running Processes
# All simulation processes
pgrep -a "gz|ardupilot|mavros|ros2"
# ArduPilot SITL
pgrep -a arducopter
# Gazebo
pgrep -a "gz sim"
View Logs
# ArduPilot logs
ls ~/.ardupilot/logs/
# ROS 2 logs
ros2 run rqt_console rqt_console
Check Topics
# List all topics
ros2 topic list
# Check topic rate
ros2 topic hz /uav/mavros/state
# View topic data
ros2 topic echo /uav/mavros/local_position/pose
Check Services
# List services
ros2 service list
# Call arming service
ros2 service call /uav/mavros/cmd/arming mavros_msgs/srv/CommandBool "{value: true}"
Reset Procedures
Soft Reset
# Kill all processes
bash scripts/kill_simulation.sh
# Wait 5 seconds
sleep 5
# Restart
bash scripts/run_autonomous.sh --search spiral
Full Reset
# Kill everything
bash scripts/kill_simulation.sh
pkill -9 -f python
pkill -9 -f ros2
# Clear ArduPilot eeprom
rm -rf ~/.ardupilot/eeprom.bin
# Restart
bash scripts/run_autonomous.sh --search spiral
Reinstall
# Uninstall
bash scripts/uninstall.sh --all
# Reinstall
bash setup.sh
Getting Help
- Check the logs in the terminal
- Verify all processes are running
- Check ROS 2 topics are publishing
- Ensure EKF is initialized before arming
- Use
--software-renderon WSL/no GPU