https://github.com/dadananjesha/obstacles-avoiding-robot-simulator-project
This project simulates a robot navigating through an environment using Pygame. The robot can move, avoid obstacles, and update its position and heading based on sensor inputs.
https://github.com/dadananjesha/obstacles-avoiding-robot-simulator-project
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.8%) to scientific vocabulary
Keywords
Repository
This project simulates a robot navigating through an environment using Pygame. The robot can move, avoid obstacles, and update its position and heading based on sensor inputs.
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Obstacles Avoiding Robot Simulator Project
Welcome to the Obstacles Avoiding Robot Simulator Project : an interactive simulation that brings robotics and AI to life! This project is designed to simulate a robot navigating through a dynamic environment filled with obstacles, using cutting-edge algorithms to avoid collisions.

Table of Contents
Overview
The Obstacles Avoiding Robot Simulator Project is a hands-on platform for enthusiasts and developers alike to experiment with robotics algorithms in a simulated environment. It is ideal for learning about: - Sensor integration and real-time data processing. - Path planning and obstacle avoidance techniques. - Simulation environments for robotics applications.
This simulator provides an excellent base to experiment with various AI techniques, making it a useful tool for both academic purposes and personal projects.
Features
- Real-Time Simulation: Visualize your robot navigating through a dynamic obstacle course.
- Customizable Environment: Easily modify the simulation parameters and add custom obstacles.
- Modular Design: The project structure supports plug-and-play modules for different sensors and control algorithms.
- Interactive Controls: Adjust simulation speed, sensor sensitivity, and robot behavior on the fly.
- Extensible Codebase: Designed with open-source principles in mind, encouraging contributions and enhancements.
Installation
Prerequisites
Before you begin, ensure you have met the following requirements: - Python 3.8+ installed on your machine. - Basic knowledge of Python and simulation concepts. - Git installed to clone the repository.
- Clone the repository:
sh git clone https://github.com/DadaNanjesha/robotics.git - Navigate to the project directory:
sh cd robotics_project - Install the required dependencies:
sh pip install -r requirements.txt
Usage
- Run the main simulation script:
sh python main.py - The simulation window will open, showing the robot navigating through the environment.
Classes and Functions
robot.py
point_distance(p1, p2): Calculates the Euclidean distance between two points.Robot: Class representing the robot.__init__(self, start_pos, width): Initializes the robot with a starting position and width.move(self, distance, angle): Moves the robot by a certain distance and angle.get_position(self): Returns the current position of the robot.get_heading(self): Returns the current heading angle of the robot.set_speed(self, vl, vr): Sets the speed of the robot's wheels.detect_obstacle(self, distance): Detects if there is an obstacle within a certain distance.update_countdown(self, time_elapsed): Updates the countdown timer.avoid_obstacles(self, obstacles, dt): Avoids obstacles by moving backwards if an obstacle is detected.move_backwards(self): Moves the robot backwards.move_forwards(self): Moves the robot forwards.kinematics(self, dt): Updates the robot's position based on its speed and heading.update(self, obstacles, dt): Updates the robot's state, including position, speed, and obstacle avoidance.
main.py
- Sets up the simulation environment and runs the main loop.
- Initializes the robot and graphics.
- Handles events and updates the robot state.
- Renders the graphics and updates the display.
Contributing
Contributions are welcome! Please read our Contributing Guidelines to learn about our code of conduct, pull request process, and more.
If you want to report a bug or suggest a feature, please open an Issue.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Happy Simulating!
Owner
- Name: DADA NANJESHA
- Login: DadaNanjesha
- Kind: user
- Location: BERLIN
- Repositories: 1
- Profile: https://github.com/DadaNanjesha
GitHub Events
Total
- Push event: 3
Last Year
- Push event: 3
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0