Skip to content

This C++ and ROS2 based package consists of localization and path planning modules for a custom navigation stack built from ground up.

Notifications You must be signed in to change notification settings

Tensor-Robotics/navigation_stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

navigation_stack

Motion Planning Demo

Here are some preliminary results for motion planning based on state lattice in Frenet frame and parametric curve in the form of cubic splines:

spline_with_lattice

Sensor Fusion Demo

Here are some preliminry results for sensor fusion of data from Laser and Radar using Extended Kalman Filter: localization_output

Goal

The goal of this project is to build a navigation stack from ground up consisting of perception, prediction, localization, planning and controls modules. Each of these modules consists of two individual packages -> domain and interface. The domain package holds all the core logic whereas the interface packageis responsible for communication between modules.

This project is being implemented in ROS2.

At its current stage, the stack can generate cubic splines for an autonomous vehicle as well as localize itself using kalman filter.

The directory tree inside the src/ directory of the navigation stack looks like the following:

.
├── clear.sh
├── common
│   ├── domain
│   │   ├── CMakeLists.txt
│   │   ├── core_datastructures
│   │   │   ├── Point.cpp
│   │   │   ├── Point.hpp
│   │   │   ├── Pose.cpp
│   │   │   ├── Pose.hpp
│   │   │   ├── Posture.cpp
│   │   │   └── Posture.hpp
│   │   └── package.xml
│   └── interface
│       ├── CMakeLists.txt
│       ├── converters
│       │   ├── converters.cpp
│       │   └── converters.hpp
│       ├── interface_msgs
│       │   └── msg
│       │       ├── Posture.msg
│       │       └── Spline.msg
│       └── package.xml
└── modules
    ├── localization
    │   ├── domain
    │   │   ├── CMakeLists.txt
    │   │   └── package.xml
    │   └── interface
    │       ├── CMakeLists.txt
    │       ├── package.xml
    │       └── src
    │           └── localization_publisher.cpp
    └── trajectory_generation
        ├── domain
        │   ├── CMakeLists.txt
        │   ├── package.xml
        │   └── spline_generation
        │       ├── cubic_spline_generator.cpp
        │       ├── cubic_spline_generator.hpp
        │       ├── i_spline_generator.hpp
        │       └── test.cpp
        └── interface
            ├── CMakeLists.txt
            ├── dev_tools
            │   └── subscriber_member_function.py
            ├── package.xml
            └── src
                ├── main.cpp
                ├── trajectory_publisher.cpp
                └── trajectory_publisher.hpp

About

This C++ and ROS2 based package consists of localization and path planning modules for a custom navigation stack built from ground up.

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •