Giter VIP home page Giter VIP logo

youbotnavigation's Introduction

youBotNavigation

KUKA YouBot navigation using PRM algorithm on MATLAB - CoppeliaSim

Binary occupancy map and PRM

Binary occupancy map method is used to generate a map of the scene. The map is created by using the corresponding functions in MATLAB.

Map inflation

After the map is created, mapInflated function is used in order to inflate the objects in the map. By doing so, a more effective path is generated. As a result the movement of the robot becomes more reliable.

Probabilistic roadmap generation

Afterwards by applying the PRM function in MATLAB, the path is generated automatically.

The waypoint number of the path is counted and the x,y coordinates of each waypoint is stored in a variable. Also, the velocity vector for both x,y directions is calculated by subtracting the current waypoint from the next waypoint.

Navigation algorithm

The connection between the MATLAB and CoppeliaSim is established. The current coordinates of the robot is obtained from CoppeliaSim using simxGetObjectPosition function.

Then the algorithm first checks the number of waypoints and according to the result it executes the commands that is being sent to the robots wheels.

After the waypoint number check, the algorithm checks the x,y position of the robot and the x,y position of the next waypoint. If the robot reaches the next waypoint, the velocity vector gets updated so that the robot starts to move towards the next waypoint. The velocity vector is updated in x,y velocities.

However in the code, the inverse kinematic calculations are performed. So after the inverse kinematic calculations are done, the power is sent to wheels using simxSetJointTargetVelocity function.

Finally, when the robot reaches the final waypoint, the velocity vector is updated to zero and the power to the wheel actuators are cut.

remoteApi files are not added which are necessary for the connection of MATLAB and CoppeliaSim

youbotnavigation's People

Contributors

cemsam 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.