NavXplorer is a smart and automatic self-driven car designed for indoor navigation. Originally conceived as a redesigned drip stand solution, it aims to assist patients needing hands-free assistance and elderly individuals prone to getting lost in medical environments. However, it can also be applied to other complex indoor settings where GPS signals are ineffective.
- Introduction
- Features
- Project Structure
- Hardware
3.1 Materials
3.2 Circuit Diagrams - Software
4.1 Arduino Code
4.2 Python Code
4.3 Code Logic and Functionality - Installation
- How to Run
- Future Work
- References
- Our Team
- Automatic Navigation: Navigates autonomously in indoor environments.
- Obstacle Avoidance: Equipped with ultrasonic sensors for detecting obstacles to ensure safety.
- User Presence Detection: Uses ultrasonic sensors to continuously monitor the user's presence.
- QR Code Integration: Utilizes QR codes for initial setup, location determination, and navigation updates.
- Real-time Monitoring: Provides a web server interface for monitoring the car's status and obstacle distances.
NavXplorer/
│
├── WebServerCarControl/
│ └── WebServerCarControl.ino
├── QRcodeScanControl/
│ └── QRcodeScanControl.py
├── ModuleTest/
│ ├── MotorTest/
│ │ └── MotorTest.ino
│ ├── UltrasonicTest/
│ │ └── UltrasonicTest.ino
│ └── README.md # This README explains the testing code
└── README.md # This README explains the main project
Material | Number | Note |
---|---|---|
ESP32-S3 Development Board | 1 | |
HC-SR04 Ultrasonic Distance Measurement Module | 4 | |
L298N Motor Driver Module for DC Motors | 1 | |
DC3V-6V TT Gear Motor 1:48 | 2 | |
65 * 27mm TPE Rubber Wheel | 2 | |
W420 Ball Caster Wheel | 1 | |
12V Battery Power Supply | 1 | |
2D Bluetooth Barcode Scanner | 1 | eg. AURORA XB-6208 |
Red : 5V positive terminal
Black : Ground negative terminal
Blue : Ultrasonic Trigger
Pink : Ultrasonic Echo
Controls essential hardware modules for the operation of NavXplorer, including the ESP32 board, power supply, ultrasonic sensors, and motors. It establishes a server for remote communication and provides a web page for real-time monitoring of the car's status and ultrasonic sensor detection results.
Manages NavXplorer's navigation logic in conjunction with a handheld QR code scanner. During initial setup, it reads QR codes to determine the area, current position, and destination. Throughout navigation, it continuously scans QR code inputs to update it's position and determine the next direction.
Still writing ...
- Visit the Arduino IDE download page
- Select the appropriate version for your operating system (Windows, Mac, Linux)
- Download and install the Arduino IDE by following the instructions provided on the page
- Visit the Python download page
- Select the appropriate version for your operating system
- Download and install Python by following the instructions provided on the page
- Make sure to check the box that says "Add Python to PATH" during the installation process
-
Open Arduino IDE
-
Select Files > Open > Find WebServerCarControl.ino > Click "Open"
-
Select Tools > Board > ESP32 Arduino > Click "ESP32S3 Dev Module"
-
Modify Code: Change Wi-Fi settings to your own Wi-Fi credentials
-
Connect ESP32 to your computer by USB cable
-
Click the upload (right arrow) button to upload the code
-
Wait for the upload to finish
-
Open Serial Monitor (baud rate set to 115200)
-
Open QRcodeScanControl.py
-
Modify Code: Change IP to the ip address obtained from the Serial Monitor
-
Navigate to the correct directory
cd path_to_directory
-
Run
python QRcodeScanControl.py
- Transition to Soldered Circuit Board for Stability
- Redesign Machine Exterior for Improved Fit and Weight
- Reconfigure Battery Placement and Develop a Custom Power Switch
- Upgrade to Advanced Motor Types for Enhanced Control
- Purchase and Integrate OpenAI API
- Arduino Official Website
https://www.arduino.cc/ - Freenove ESP32 S3 WROOM Board
https://github.com/Freenove/Freenove_ESP32_S3_WROOM_Board - HC-SR04 Datasheet
https://pdf1.alldatasheet.com/datasheet-pdf/view/1132203/ETC2/HC-SR04.html - L298N Datasheet
https://pdf1.alldatasheet.com/datasheet-pdf/view/22440/STMICROELECTRONICS/L298N.html - ChatGPT - OpenAI
https://chatgpt.com/
- Yvonne Chen yvonne-chen-0813
- Shih-Jieh Chen shih1999
- TA 仲耘 for providing the AI path planning idea
- TA 致嘉 for providing the 2D Barcode Scanner idea