Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NATURE-Lite

Navigating All Terrains Using Robotic Exploration (NATURE)-Lite is a lightweight, end-to-end autonomy stack for Ackermann-steered wheeled vehicles implemented in Python. Check out the the wiki for detailed documentation.

Background

NATURE-Lite is an easy-to-use, lightweight stack that is conceptually similar to the full-featured NATURE autonomous ground vehicle stack, a ROS-based autonomy stack for off-road ground vehicles implemented in C++. In contrast, NATURE-Lite is standalone python library with no ROS dependency. The primary purpose of NATURE-Lite is as a teaching and learning tool for students first encountering ground vehicle autonomy.

NATURE-Lite consists of 3 autonomy modules - perception, planning, and control. The perception module is a slope-based obstacle detection algorithm that takes a 3D lidar point cloud - registered to local world coordinates - as input and outputs an occupancy grid.

The path planning module uses the artificial potential field method, and the steering control uses the pure-pursuit method. The planning and control modules are adapted from the PythonRobotics repository by Atsushi Sakai.

Installation

NATURE-Lite requires Python-3 and NumPy. Once these are installed, NATURE-Lite can be cloned:

$git clone https://github.com/CGoodin/nature-lite.git

To run the example:

$cd nature-lite/src
$python sim_example.py

This will open a simulation window like the one shown below, which shows an obstacle detection and avoidance test with the vehicle traveling from left to right across the screen. The obstacle is located in the middle of the test area, with two walls bounding the lane on both sides. Simulation

The output of the perception and path planning is also shown below. The planned path is in blue, while the detected obstacle points are in red. The goal point is in green. Perception

A simple lidar and vehicle simulator are included with the NATURE-Lite for demonstaration purposes. If desired, the simulation can be replaced with a more realistic simulator like the MSU Autonomous Vehicle Simulator (MAVS).

If you have installed MAVS on your computer, then you can run the MAVS example by editing line 14 of the MAVS simulation example to point to your local installation of MAVS. Then, you can run the MAVS example with the command:

#python mavs_sim_example.py

If successful, a rendering window depicting the MAVS simulation will appear, as shown below, along with the perception output window shown above. MAVS

Documentation

More extensive software documentation for NATURE-Lite is available in the wiki.

About

NATURE-LITE is a lightweight, end-to-end autonomy stack for Ackermann-steered wheeled vehicles implemented in Python.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages