GithubHelp home page GithubHelp logo

wuyou33 / coverage-path-planning Goto Github PK

View Code? Open in Web Editor NEW

This project forked from azamatalmukhametov/coverage-path-planning

0.0 1.0 0.0 5.03 MB

draft

License: GNU General Public License v3.0

C++ 100.00%

coverage-path-planning's Introduction

		This program takes all cpu hardware_concurrency() while computation some functions.

		Additional libs:
C++ Bitmap Library (bitmap_image.hpp)
		
		The program is a draft for implementing coverage path planning,
using grid decomposition and wave algorithm. The method consider the initial map as a static 
(not changing environment).

		Test results (see test.. folder) on i3 2350m 2.3Ghz 2 cores 4 threads: 
map2: 2000x1000 ~ 1.30min, 
map9: 3500x2000 ~ 8min

		Input data:
0) robot start position, based on routeGridMap coordinates (should be on free space, 
otherwise it causes crashes).
1) robot.bmp ( >= 80x80px, otherwise it causes errors in inflation algorithm)
2) map.bmp
		Output data:
0) PathPlanner::paths, bestPath 
1) routeGridMap.bmp
2) BorderedImage.bmp
3) test1.bmp, test2.bmp
4) framedBorderedInflatedImage.bmp
5) moveGridMap.bmp
6) path.bmp
7) route.bmp

		The general description of this coverage path planning approuch.
	This method uses grid decomposition of the map and wave algorithm.
The route grid map needed for planning visiting areas on the map.
The move grid map needed for planning the approximate trajectory of the robot,
that will move between the areas. Visiting the areas and transfering between them 
are supposed covering them.
	For planning visiting areas (the route) used the wave algorithm (with no 
obstacle wave summing) by A. Zelinsky1, R.A. Jarvis2, J.C. Byrne2 and 
S. Yuta3 "Planning Paths of Complete Coverage of an Unstructured Environment 
by a Mobile Robot", modified with local robot move planning (A* algorithm). 
For the modification used move grid map decomposition. Obstacle avoidance 
implemented by obstacle inflation algorithm.

coverage-path-planning's People

Contributors

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