AV2
Getting Started
Quick Start
1. Clone the Repository
2. Create Virtual Environment
3. Install Dependencies
4. Verify Sensor Connections
5. Run a Basic Test
6. Run Autonomous Navigation
Next Steps
Installation
System Requirements
Operating System
Hardware
Step 1: System Packages
Step 2: NVIDIA Drivers & CUDA
Step 3: Python Environment
Step 4: Python Dependencies
Step 5: Xsens SDK Installation
Step 6: Verify Installation
Troubleshooting
CUDA not detected
Permission denied on serial ports
OSMnx import error
Next Steps
Dependencies
Python Version
Core Dependencies
Scientific Computing
Computer Vision
Deep Learning
Navigation & Mapping
3D Visualization
Hardware Interfaces
Configuration
requirements.txt
System Dependencies
Optional Dependencies
First Run
Pre-Flight Checklist
Hardware
Software
Step 1: Activate Environment
Step 2: Sensor Verification
GPS/IMU (Xsens)
LIDAR (Velodyne)
Vehicle Actuator (Teensy)
Step 3: Visualization Test
Step 4: Manual Control Test
Step 5: First Autonomous Run
Stopping the System
Normal Shutdown
Emergency Stop
Reviewing Logs
Common First-Run Issues
No GPS Fix
LIDAR No Data
Vehicle Doesn’t Respond
Next Steps
Hardware
Sensors
Xsens MTi-630 (GPS/IMU)
Velodyne VLP-16 (LIDAR)
Intel RealSense D435
Computing
Main Computer
Distributed CAN Control
CAN Message IDs
Serial Commands (to CAN Master)
Teensy 4.1 Specs
Waveshare CAN Transceiver
Actuators
Steering (0x200)
Throttle (0x100)
Brake (0x300)
E-STOP Behavior
Firmware
Source Files
Dependencies
Master Node
Steering Node
Throttle Node
Brake Node
Flashing
Wiring
Sensor Connections
CAN Bus Wiring
Teensy to Waveshare
Node Pin Assignments
Wire Colors
Power System
Auxiliary Battery (12V)
Power Consumption
Fuses
Watchdog Timeouts
Mechanical
Vehicle Specifications
Vehicle Overview
Physical Dimensions
Kinematic Parameters
Speed Limits
Acceleration Limits
Steering Geometry
Turning Radius Calculation
Collision Geometry
Weight Distribution
Tire Specifications
Configuration in Code
Measurement Procedure
Wheel Base
Turning Radius
Weight
Sensor Mounting
Overview
Sensor Positions Summary
Velodyne VLP-16 (LIDAR)
Mounting Position
Orientation
Mounting Requirements
Field of View Clearance
Xsens MTi-630 (GPS/IMU)
Mounting Position
Orientation
Mounting Requirements
GPS Antenna Placement
Intel RealSense D435 (Camera)
Mounting Position
Orientation
Mounting Requirements
Calibration
Extrinsic Calibration
Calibration Procedure
Transformation Matrices
Coordinate Systems
Overview
Frame Summary
Vehicle Frame
Definition
Usage
World Frame (UTM)
Definition
UTM Projection
Vehicle Heading
LIDAR Frame
Definition
Transformation
Camera Frame
Definition
Transformation to Vehicle Frame
Occupancy Grid Frame
Definition
Grid to World Transformation
Common Transformations
GPS to Vehicle Relative
LIDAR Point to World
Reference Standards
Software
Architecture
System Overview
Design Principles
Module Hierarchy
Main Control Loop
Thread-Safe State
VehicleState
PerceptionState
Sensor Abstraction
Configuration System
YAML Configuration
Dataclasses
Error Handling
Sensor Failures
Safe Mode
Logging
Performance Considerations
Timing
Bottlenecks
Optimization Tips
Perception
Overview
Occupancy Grid
Algorithm
Implementation
Parameters
YOLOPv2 Detection
Tasks
Architecture
Usage
Output Format
Performance
Inverse Perspective Mapping
Theory
Usage
Configuration
Perception Pipeline Integration
Planning
Overview
Route Planning (OSMnx)
How It Works
Usage
Implementation
Coordinate Systems
Dynamic Window Approach (DWA)
Algorithm Overview
Dynamic Window
Cost Function
Implementation
Configuration
Tuning Guide
Path Integration
Control
Overview
Pure Pursuit Controller
Algorithm
Implementation
Parameters
Tuning Guide
Velocity Control
Simple Proportional Control
PID Control
Vehicle Actuator
Connection
Commands
Safety Features
Control Loop Integration
Sensors
Overview
Sensor Interface Base Class
Xsens GPS/IMU Interface
Initialization
Available Methods
Threading Model
RTK Wait
Velodyne LIDAR Interface
Initialization
Getting Point Cloud
Implementation
Camera Interfaces
RGB Camera
RGB-D Camera (RealSense)
Camera Frame Dataclass
Camera Adapter
Sensor Fusion Example
Visualization
Overview
GPS Visualizer
Usage
Features
Implementation
Occupancy Grid Visualizer
Usage
Features
Implementation
Open3D Point Cloud Viewer
Usage
Features
Implementation
BEV (Bird’s Eye View) Viewer
Usage
Combined Visualization
Performance Tips
Configuration
DWA Configuration
Configuration File
Parameter Reference
Vehicle Parameters
Cost Weights
Tuning Guide
For Narrow Spaces
For Open Areas
Sensor Calibration
Camera Intrinsic Calibration
Equipment Needed
Procedure
Camera-LIDAR Extrinsic Calibration
Procedure
GPS Antenna Lever Arm
Measurement
Steering Calibration
Procedure
Vehicle Parameters
Core Parameters
Wheel Base
Maximum Steering Angle
Speed Limits
Collision Geometry
Updating Parameters
Theory
Pure Pursuit Algorithm
Introduction
Geometric Derivation
Lookahead Distance
Stability Analysis
Limitations
References
Dynamic Window Approach
Introduction
Algorithm Overview
Dynamic Window
Trajectory Simulation
Objective Function
Admissible Velocities
References
Bayesian Occupancy Grids
Introduction
Probability Representation
Log-Odds Representation
Bayesian Update
Temporal Decay
References
Coordinate Transforms
Homogeneous Coordinates
Transformation Matrices
Rotation Matrices
UTM Projection
Vehicle Frame Transform
Tutorials
Basic Navigation
Prerequisites
Step 1: Start the System
Step 2: Verify GPS
Step 3: Choose Destination
Step 4: Launch Navigation
Step 5: Monitor Progress
Step 6: Safe Shutdown
Troubleshooting
Next Steps
Obstacle Avoidance
Overview
Enabling Obstacle Avoidance
Step 1: Verify LIDAR
Step 2: Enable in Runner
Step 3: Configure Parameters
Testing
Static Obstacles
Dynamic Obstacles
Tuning
Custom Routes
Creating Waypoint Files
CSV Format
UTM Format
Loading Custom Routes
Recording Routes
Tuning Controllers
Pure Pursuit Tuning
Key Parameters
Symptoms and Solutions
DWA Tuning
Cost Weight Adjustment
Logging for Analysis
Reference
API Reference
Overview
Core Modules
runner
xsens_class
osmnx_class
pure_pursuit_controller
vehicle_actuator
Perception Modules
perception.occupancy_grid
perception.state
perception.core_types
Planning Modules
planning.dwa_planner
Sensor Modules
sensors.lidar_interface
sensors.camera_interface
Common Issues
GPS Issues
No GPS Fix
RTK Not Converging
LIDAR Issues
No Point Cloud Data
Sparse Point Cloud
Control Issues
Vehicle Doesn’t Move
Steering Oscillation
Software Issues
Import Errors
Sensor Debugging
GPS/IMU Debugging
Check Connection
View Raw Data
LIDAR Debugging
Network Check
View Point Cloud
Camera Debugging
List Cameras
Test Capture
Contributing
Getting Started
Development Setup
Pull Request Process
Code Review
Code Style
Python Style
Formatting
Linting
Docstrings
Type Hints
Naming Conventions
Appendix
Glossary
References
Papers
Path Tracking
Local Planning
Occupancy Grids
Deep Learning
Documentation
Standards
Changelog
Version 1.0.0 (2024)
Features
Hardware Support
Previous Versions
Development History
AV2
Index
Index
A
|
B
|
C
|
D
|
E
|
F
|
G
|
I
|
L
|
N
|
O
|
P
|
R
|
S
|
U
|
W
A
AHRS
B
BEV
C
CAN
D
DWA
E
ENU
F
FOV
G
GNSS
GPS
I
IMU
IPM
L
LIDAR
N
NTRIP
O
Occupancy Grid
P
Pure Pursuit
R
RTK
S
SLAM
U
UTM
W
Waypoint
WGS84