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

navigation obstacle-avoidance-robot robot robot-navigation robots sensor-inputs
Last synced: 5 months ago · JSON representation

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
  • Host: GitHub
  • Owner: DadaNanjesha
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.88 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
navigation obstacle-avoidance-robot robot robot-navigation robots sensor-inputs
Created about 1 year ago · Last pushed 12 months ago
Metadata Files
Readme

README.md

Obstacles Avoiding Robot Simulator Project

License: MIT Contributions Welcome

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.

Robot Simulation

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.

  1. Clone the repository: sh git clone https://github.com/DadaNanjesha/robotics.git
  2. Navigate to the project directory: sh cd robotics_project
  3. Install the required dependencies: sh pip install -r requirements.txt

Usage

  1. Run the main simulation script: sh python main.py
  2. 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

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
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels