Giter Club home page Giter Club logo

robotics's Introduction

CS3027 Robotics assessment

Use Robot Operating System (ROS) framework to achieve these goals:

  • Visualise your robot in the world
  • Write path planning algorithm of your choice for planning the path
  • Enable robot localisation
  • Make robot move trought the generated path
  • Basic image processing

Path planning

First of all obstacles get expanded, then using Euclidean heuristics points are sorted and paired by distance. After that A* search is started for each pair on different thread, then all threads are joined and single continuous path is generated.

When implemeting A*, I used pixel perfect navigation (1 unit is equal to 1 map pixel, more on that in the report). Also A* expands to all 8 directions.

Path planning

Driving

There are 3 different driving modes:

  • Normal driver - follows given path, from one waypoint to another
  • Bug driver - tries to avoid obstacle by following obstacle to right and after obstacle is behind changes mode back to driver
  • Narrow driver - used when there are 2 close obstacles from both sides. It tries to correct the angle and drive past obstacles, after that normal driver takes responsibility.

Each of these modes alternate when required conditions are met.

Driving

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.