Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erc-bpgc/gennav
Python Package for Robot Navigation
https://github.com/erc-bpgc/gennav
motion-planning navigation path-planning python27 python36 robotics
Last synced: about 1 month ago
JSON representation
Python Package for Robot Navigation
- Host: GitHub
- URL: https://github.com/erc-bpgc/gennav
- Owner: ERC-BPGC
- License: mit
- Created: 2020-05-17T07:51:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-09-19T11:44:42.000Z (about 1 year ago)
- Last Synced: 2024-10-12T09:20:22.004Z (about 1 month ago)
- Topics: motion-planning, navigation, path-planning, python27, python36, robotics
- Language: Python
- Homepage:
- Size: 842 KB
- Stars: 28
- Watchers: 4
- Forks: 22
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GenNav
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Build Status](https://travis-ci.org/ERC-BPGC/gennav.svg?branch=master)](https://travis-ci.org/ERC-BPGC/gennav)
[![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/ERC-BPGC/gennav.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ERC-BPGC/gennav/context:python)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/ERC-BPGC/gennav.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/ERC-BPGC/gennav/alerts/)
[![Documentation Status](https://readthedocs.org/projects/gennav/badge/?version=latest)](https://gennav.readthedocs.io/en/latest/?badge=latest)**Status: Under Development**
A python package for robot navigation algorithms.
## Installation
The package is currently under development so we suggest installing from source.
### From Source (Recommended)
```bash
git clone https://github.com/ERC-BPGC/gennav.git
cd gennav
python -m pip install .
```### Using pip
```bash
pip install gennav
```## Usage
To plan a path using the Rapidly-exploring random tree algorithm in a polygon based environment representation.
```python
from gennav.planners import RRT
from gennav.envs import PolygonEnv
from gennav.utils import RobotState
from gennav.utils.geometry import Point
from gennav.utils.samplers import UniformRectSamplerobstacles = [] # obstacles can be added here
env = PolygonEnv() # polygon environment to keep track of obstacles
env.update(obstacles) # updating environment with obstaclessampler = UniformRectSampler(-5, 15, -5, 15) # for sampling random states
planner = RRT(sampler=sampler, expand_dis=0.1) # creating the plannerstart = RobotState(position=Point(1, 1)) # starting state
goal = RobotState(position=Point(10, 10)) # goal statepath, info_dict = planner.plan(start, goal, env) # planning path through obstacles
```Note that the environment have been left blank empty here, they should be updated as per use case.
For more details you can refer to our [documentation](https://gennav.readthedocs.io/en/latest/index.html).
### ROS Integration
If you wish to use gennav in a ROS based stack, check out [gennav_ros](https://github.com/ERC-BPGC/gennav_ros).
## Contributions
Contributions are always welcome. We reccomend you check out [contribution guidelines](./CONTRIBUTION.md) and view the [docs](https://gennav.readthedocs.io/en/latest/index.html) beforehand.