Git Product home page Git Product logo

robotics-homeworks's Introduction

Robotics Homework Solutions ๐Ÿค–

This repository contains my solutions to a series of robotics homework assignments. These assignments encompass various aspects of robotics, from sensor-based control to mapping, path following, and even human-robot interaction.

Homework 1: Sonar-based Obstacle Rotation

  • In Homework 1, I worked with a wheeled robot equipped with sonar sensors. The robot had the capability to rotate in place and featured a sonar sensor array on top, providing distance measurements in four directions: front, back, left, and right. The goal of this assignment was to program the robot to always rotate towards the direction of the nearest obstacle. To achieve this, I used the robot's rotational capabilities and sonar sensor data. I leveraged the Robot Operating System (ROS) and related tools to develop a program that ensured the robot consistently rotated to position the closest obstacle directly behind it.

Report: A detailed report is provided in the Homework 1 folder for more information.

Homework 2: Lidar-based Obstacle Avoidance

In Homework 2, I tackled two key challenges:

  • Lidar-based Obstacle Avoidance: I developed a solution to find the distance of the closest obstacle using a lidar sensor and implemented a control system that prompts the robot to turn when it approaches an obstacle.

  • Mapping with TurtleBot: I designed a solution that enables the TurtleBot to move and scan its environment to reconstruct a map. This process is crucial for building a robot's awareness of its surroundings.

Report: A detailed report is provided in the Homework 2 folder for more information.

Homework 3: Geometric Path Following and Wall Following

In Homework 3, I addressed the following tasks:

  • PID Controller for Geometric Path Following: I defined and fine-tuned a PID controller to control the robot's movement along a geometric path. The PID controller ensures that the robot follows the desired path accurately.

  • Wall Following Algorithm with LaserScan Sensor: I implemented a wall following algorithm, which utilizes data from the LaserScan sensor to assist the robot in navigating alongside walls. This algorithm is particularly useful for initial movements in unknown environments.

Report: A detailed report is provided in the Homework 3 folder for more information.

Homework 4: Humanoid Robot Control and Maze Navigation

In Homework 4, I worked on an exciting challenge:

  • Humanoid Robot Control: I controlled a TurtleBot3 robot with PID controller to follow humanoid robot which moved by keyboard . The objective was for the Burger robot to follow the humanoid robot.

Report: A detailed report is provided in the Homework 4 folder for more information.

Final Projects: VFH Algorithm and Traffic Sign Detection

The final projects were diverse and innovative:

  • VFH Algorithm for Maze Navigation: My team mate and I implemented the VFH (Vector Field Histogram) algorithm from scratch to navigate the TurtleBot3 through a complex maze while avoiding obstacles. The VFH algorithm helps the robot make intelligent decisions based on its environment.

  • Traffic Sign Detection with YOLO: My team mate and I integrated the YOLO (You Only Look Once) object detection algorithm to identify traffic signs and then control the robot to react to the signs accurately when it reaches them (eg. stop, lower speed, turn).

Report: Detailed reports for each final project are provided in the Final Projects folder for more information.

Used Packages: ROS, Gazebo, YOLO

How to Use This Repository

Explore each homework or project solution by navigating to the respective directory. Inside each directory, you'll find my code, documentation, and additional resources relevant to the specific task.

Contact

If you have any questions, or feedback, or wish to discuss any of my solutions, please don't hesitate to contact me:

Thank you for exploring my robotics homework solutions and final projects!

robotics-homeworks's People

Contributors

hosnahoseini avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.