Git Product home page Git Product logo

gcs's Introduction

GCS - Motion Planning around Obstacles with Convex Optimization

Running via Deepnote

Most of the examples and reproductions can be run on Deepnote.

After duplicating the project into your own account, be sure to run the MosekLicenseUpload.ipynb notebook to make your Mosek License available for solving the optimization problems.

Note: The PRM and Bimanual reproductions do not yet work on Deepnote and the UAV and Maze reproductions have been shrunk in size to avoid hitting memory limits on Deepnote.

Running locally

Installing Dependencies

This code depends on Drake, specifically its Python bindings. To install the bindings and other dependencies, run

pip install -r requirements.txt

Drake also requires a couple additional libraries. To install them follow the below instuctions.

For Ubuntu 20.04:

sudo apt-get update
sudo apt-get install --no-install-recommends \
  libpython3.8 libx11-6 libsm6 libxt6 libglib2.0-0

Confirming Drake bindings are accessible to Python

To confirm that the Drake bindings are accessible, and that you are using the right set of bindings run

python3 -c 'import pydrake.all; print(pydrake.__file__)'

and confirm that the printed path matches the expected location of the Python bindings.

Running Examples

Once all the dependencies have been installed, you can run the examples with jupyter notebooks which can be launched by calling

jupyter-notebook

from inside this repository.

Running the Sampling Based Comparison

If you want to compare GCS to sampling based planners (such as PRM), you'll need to install a custom fork of drake that includes bindings for sampling based planners. To do this run the following, including any of the proprietary solvers you have access to.

git clone -b gcs [email protected]:mpetersen94/drake.git
mkdir drake-build
cd drake-build
cmake -DWITH_MOSEK=ON [-DWITH_GUROBI=ON -DWITH_ROBOTLOCOMOTION_SNOPT=ON] ../drake
make -j

Then add the built bindings to your Python Path using

For Ubuntu 20.04:

cd drake-build
export PYTHONPATH=${PWD}/install/lib/python3.8/site-packages:$PYTHONPATH

For macOS:

cd drake-build
export PYTHONPATH=${PWD}/install/lib/python3.9/site-packages:$PYTHONPATH

gcs's People

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.