Skip to content

Latest commit

 

History

History
239 lines (182 loc) · 7.88 KB

File metadata and controls

239 lines (182 loc) · 7.88 KB
DriveFusion Logo

🚗 DriveFusion: Autonomous Car Deployment

An intelligent autonomous vehicle system with AI-powered vision and ROS-based control

Python License Status


📋 Overview

DriveFusion is a comprehensive autonomous vehicle deployment system that combines advanced AI vision processing with robust ROS-based vehicle control. The system supports multiple operational modes including real-time autonomous driving, single-shot decision making, and video/image processing.

✨ Key Features

  • Real-time Autonomous Driving: Continuous AI-powered navigation and decision making
  • Multi-modal Input Support: Process live feeds, video files, or static images
  • Advanced Vision AI: Qwen 2.5 Vision-Language model for intelligent scene understanding
  • ROS Integration: Robust Robot Operating System integration for vehicle control
  • Comprehensive Debugging Tools: Network diagnostics, ROS monitoring, and detailed analysis tools
  • Modular Architecture: Flexible client-server design for easy deployment and maintenance

📁 Project Structure

server/

AI Vision Server Components

  • vm_server.py - Main AI vision inference server powered by Qwen 2.5 VL model

client/

Autonomous Driving Client Applications

  • realtime_car_client.py - Real-time autonomous driving with continuous operation
  • single_shot_car_client.py - Single decision mode for frame-by-frame processing
  • video_car_client.py - Video file processing and frame extraction
  • image_car_client.py - Static image analysis
  • car_controller.py - Vehicle motion control system (ROS-based)

testing/

Testing and Validation Suite

  • car_movement_tester.py - Interactive car movement testing utility
  • test_direct_movement.py - Direct ROS command testing with curved movements
  • test_server_connection.py - VM server connectivity validation

debugging/

Diagnostic and Debugging Tools

  • car_client_debug.py - Comprehensive debugging (network, HTTP, image, VM analysis)
  • debug_ros_topics.py - ROS cmd_vel message monitoring
  • check_ros_topics.py - Available ROS topics discovery

🚀 Getting Started

Prerequisites

  • Python 3.10 or higher
  • ROS (Robot Operating System) - Noetic or Humble recommended
  • System Dependencies: OpenCV, PIL/Pillow, PyTorch, transformers

Installation

  1. Clone the repository

    git clone https://github.com/DriveFusion/car-deployment.git
    cd car-deployment
  2. Install dependencies

    pip install -r requirements.txt
  3. Configure ROS environment

    source /opt/ros/<distro>/setup.bash

Quick Start Guide

1️⃣ Start the AI Vision Server

cd server/
python3 vm_server.py

The server will be available at http://localhost:5000

2️⃣ Run Autonomous Driving

Real-time Mode (Continuous)

cd client/
python3 realtime_car_client.py

Single-shot Mode (Frame-by-frame)

cd client/
python3 single_shot_car_client.py

Video Processing

cd client/
python3 video_car_client.py --video <path_to_video>

Image Processing

cd client/
python3 image_car_client.py --image <path_to_image>

3️⃣ Testing & Validation

Test Vehicle Movement

cd testing/
python3 car_movement_tester.py

Test Server Connectivity

cd testing/
python3 test_server_connection.py

Test Direct Movement Commands

cd testing/
python3 test_direct_movement.py

🔧 Debugging & Diagnostics

Full System Diagnostics

cd debugging/
python3 car_client_debug.py

Monitor ROS Topics

cd debugging/
python3 debug_ros_topics.py

List Available ROS Topics

cd debugging/
python3 check_ros_topics.py

📦 Dependencies

Package Purpose
Python 3.10+ Runtime environment
ROS Vehicle control and messaging
OpenCV Image processing
Pillow Image manipulation
PyTorch Deep learning inference
transformers Qwen 2.5 Vision-Language model
requests HTTP communication

🏗️ System Architecture

┌─────────────────────────────────────────────────────────┐
│         DriveFusion Autonomous Vehicle System           │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌──────────────┐           ┌──────────────────┐        │
│  │   Clients    │           │   VM Server      │        │
│  │              │◄─────────►│   (Qwen 2.5 VL)  │        │
│  │ • Real-time  │ HTTP REST │                  │        │
│  │ • Single-shot│ Image/JSON│ • Vision AI      │        │
│  │ • Video      │           │ • Decision Logic │        │
│  │ • Image      │           │                  │        │
│  └──────────────┘           └──────────────────┘        │
│         │                                               │
│         │ ROS Commands                                  │
│         ▼                                               │
│  ┌──────────────────────┐                               │
│  │  ROS Car Controller  │                               │
│  │  (cmd_vel topics)    │                               │
│  └──────────────────────┘                               │
│         │                                               │
│         ▼                                               │
│  ┌──────────────────────┐                               │
│  │  Vehicle Hardware    │                               │
│  └──────────────────────┘                               │
│                                                         │
└─────────────────────────────────────────────────────────┘

📚 Documentation

  • Server Setup: See server/ directory for detailed configuration
  • Client Development: Refer to client implementations for integration examples
  • Testing: Check testing/ for validation procedures
  • Troubleshooting: Use debugging tools in debugging/ directory

🤝 Contributing

Contributions are welcome! Please ensure code changes follow the project's structure and include appropriate testing.


📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for complete details.

License Summary

  • Permissions: Commercial use, modification, distribution, private use
  • Conditions: License and copyright notice must be included
  • Limitations: Trademark use, liability, and warranty disclaimers apply

Copyright © 2024 DriveFusion. All rights reserved.


👥 Support & Contact

For issues, questions, or contributions, please open an issue or contact the DriveFusion team.

Happy autonomous driving! 🚗✨