Giter Site home page Giter Site logo

moribots / motion_planning Goto Github PK

View Code? Open in Web Editor NEW
152.0 5.0 38.0 31.28 MB

Motion Planning Library to accompany turtlebot3_from_scratch repository. Deployed PRM, Grid Map, A*, Theta*, LPA*, D* Lite*, Potential Field, and MPPI.

Home Page: https://moribots.github.io/project/motion-planning

CMake 11.84% C++ 81.56% Python 6.60%
optimal-control motion-planning cpp ros search-algorithm path-planning

motion_planning's Introduction

Motion Planning Library with ROS

Self-directed independent study.

Installation Guide:

  • Make a ROS Workspace: mkdir -p ws/src
  • Go to src and clone my repo: cd ws/src/ git clone [email protected]:moribots/motion_planning.git
  • Go back to the workspace root: cd ..
  • Initialize nuturtle.rosinstall to get my rigid2d library and other utilities: wstool init src src/motion_planning/nuturtle.rosinstall
  • Build the workspace: catkin_make and source: source devel/setup.bash

OSQP and OSQP-Eigen installation

OSQP OSQP-Eigen (C++ wrapper) - Do the manual install.

Notes for OSQP-Eigen:

  • Choose /usr/local in cmake -DCMAKE_INSTALL_PREFIX:PATH=<custom-folder> ../
  • Do sudo ln -s /usr/include/eigen3/Eigen /usr/local/include/Eigen to make a symbolic link for the Eigen header files so that OSQP-Eigen knows where to find them.

In this Repo:

  • The map package: roslaunch map viz_map.launch

    • Probabilistic Roadmap:
    PRM
    • Tunable-resolution Grid Map
    GRID
  • The global_planner package:

    • A* (green) on PRM:
    ASTAR
    • Theta* (green) on PRM (A* in red for comparison): roslaunch global_planner astar.launch
    ASTAR
    • A* (green) on Grid
    ASTARG
    • LPA* with Simulated Grid Updates [re-evaluated cells in orange]: roslaunch global_planner incremental.launch lpa:=True
    LPASTAR
    • D* Lite on Grid [re-evaluated cells in orange]: roslaunch global_planner incremental.launch
    DSL
    • Naive Potential Field (Local Minimum Escape TBD): roslaunch global_planner potential_field.launch
    PFN
  • Trajectory Optimization:

    • Model Predictive Path Integral Control on a parallel parking task: roslaunch control mppi_pentagon.launch parallel:=True
    PFN
    • The associated states and controls for the above demo:
    PFN

    NOTE: To launch waypoint following method, simply don't include the parallel argument.

    In a separate terminal, do:

    rosservice call /set_pose "x: 0.0 y: 0.0 theta: 0.0"

    To start the node.

motion_planning's People

Contributors

moribots avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

motion_planning's Issues

run error

Hello, When I use it in ros-melodic, it shows error and cannot run:
No such key: 'M'
when evaluating expression 'params['M']'
Please, why does this happen?

I followed the README installation instruction, but cmake errors still occured

CMake Error at tb3/nuturtle_gazebo/CMakeLists.txt:20 (find_package):
  By not providing "Findnuturtlebot.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "nuturtlebot", but CMake did not find one.

  Could not find a package configuration file provided by "nuturtlebot" with
  any of the following names:

    nuturtlebotConfig.cmake
    nuturtlebot-config.cmake

  Add the installation prefix of "nuturtlebot" to CMAKE_PREFIX_PATH or set
  "nuturtlebot_DIR" to a directory containing one of the above files.  If
  "nuturtlebot" provides a separate development package or SDK, be sure it
  has been installed.


-- Configuring incomplete, errors occurred!

compile errors. please help

Hi,
I followed the guide to install using the readme. Used the wstool init src src/motion_planning/nurturtle.rosinstall to get all the packages into my catkin_ws/src.
Next, ran catkin_make to build everything. I am using ROS melodic on Ubuntu 18.
I am gettting the following errors. Not sure how to resolve this. Can you please help me with this. Thanks.

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:305 (message):
  catkin_package() include dir 'include' does not exist relative to
  '/home/rody/catkin_ws/src/motion_planning/control'
Call Stack (most recent call first):
  /opt/ros/melodic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
  motion_planning/control/CMakeLists.txt:118 (catkin_package)


-- Configuring incomplete, errors occurred!
See also "/home/rody/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/rody/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed`
```

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.