DesertBloomAI V1.01 is an intelligent, open-source platform for smart desert agriculture, combining robotics, IoT, and AI to enable sustainable and efficient farming in arid regions.
DesertBloom AI is an intelligent system for managing and optimizing desert agriculture operations. It combines robotics, IoT sensors, and AI to create a sustainable and efficient farming environment in arid regions.
- Plant monitoring and management
- Smart irrigation system
- Environmental sensor network
- Data analytics and visualization
- Autonomous robotics control
- Path planning and navigation
The system includes an advanced path planning module that enables:
- Autonomous robot navigation
- Obstacle avoidance
- Optimal path generation
- Path optimization for smooth movement
- Real-time collision detection
- Map visualization and management
- FastAPI-based REST API
- PostgreSQL database
- Redis for caching
- WebSocket for real-time updates
- Path planning service with A* algorithm
- Map data management
- Vue.js 3 web application
- Interactive map visualization
- Real-time monitoring dashboard
- Path planning interface
- Responsive design
- ROS-based robot control
- Path following and execution
- Sensor integration
- Autonomous navigation
- Charging station management
- Python 3.8+
- Node.js 14+
- PostgreSQL 12+
- Redis 6+
- ROS Noetic (for robotics)
- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
cd backend
pip install -r requirements.txt- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Initialize database:
alembic upgrade head- Start the server:
uvicorn main:app --reload- Install dependencies:
cd frontend
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration- Start development server:
npm run serve- Install ROS Noetic:
# Follow ROS installation instructions for your platform- Set up robot workspace:
cd robotics
catkin_make
source devel/setup.bash- Configure robot:
# Edit config/robot_config.json
# Edit config/map_data.json- Start robot nodes:
roslaunch desertbloom_ai robot.launch- Access the path planning interface at
/path-planning - Select a robot from the dropdown
- Enter start and goal positions
- Click "Plan Path" to generate a path
- Use "Optimize Path" to smooth the path
- Toggle map layers to customize the view
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm run test:unit# Backend
cd backend
black .
flake8 .
# Frontend
cd frontend
npm run lint --fix- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- FastAPI team for the excellent web framework
- Vue.js team for the progressive JavaScript framework
- ROS community for robotics tools and libraries
- All contributors and supporters of the project
