Giter Site home page Giter Site logo

aorthey / motionexplorer Goto Github PK

View Code? Open in Web Editor NEW
30.0 2.0 11.0 110.83 MB

Visualizing the structure of planning problems using local-minima trees

CMake 0.25% C++ 76.87% Python 18.66% C 0.05% OpenSCAD 0.01% Shell 0.23% G-code 3.93%
planning-algorithms local-minima local-minima-trees morse-theory ompl klampt

motionexplorer's Introduction

MotionExplorer

This is an experimental repository, which I use as a research platform to investigate multimodal optimization and multilevel abstractions in robot motion planning. You can find relevant papers also on my website aorthey.de.

If you want to use any of this code in your own project, it is recommended that you write me an email (see website) or open an Issue.

Install

Dependencies

This framework combines two existing frameworks (OMPL [1] and Klamp't [2]) and adds easier control through vim-like shortcuts.

[1] Open Motion Planning Library (OMPL): http://ompl.kavrakilab.org/

[2] Kris' Locomotion and Manipulation Planning Toolbox (Klamp't): http://motion.pratt.duke.edu/klampt/

  • OMPL 1.5.0 (modified version github.com/aorthey/ompl)
  • Klampt 0.8 (modified version github.com/aorthey/Klampt and github.com/aorthey/KrisLibrary)
  • Eigen 3.3
  • Boost 1.55 or later

Please make sure you have a github.com account AND ssh access from your workstation. See information here: https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

  1. Install Script for Ubuntu 16.04 and 18.04 (requires SSH access)
    git clone [email protected]:aorthey/MotionExplorer.git
    cd MotionPlanningExplorerGUI
    ./install_script.sh
    

Use

Examples

  1. 02D_manipulator
    ./planner_gui ../data/experiments/02D_manipulator.xml
    

GUI uses hotkeys which are defined and can be modified in settings/gui.xml

The planners and settings are defined and can be modified in settings/planner.xml

Current important keys:

  [General Control]
  Left Mouse Click: Move Camera around Focal Point
  Ctrl + Left Mouse Click: Move Focal Point
  Shift + Left Mouse Click: Zoom In/Out from Focal Point
  e: on/off show edges of objects
  f: on/off show faces of objects
  V: save viewpoint
  v: load viewpoint
  h: help

  [before planning] 
  t : switch to next planner
  w : plan until solution found or timelimit reached
  q : plan one step (needs to be supported by planner)
  b : draw bounding box of sampling domain

  [after planning] 
  u : start/stop moving robot along found path (if any)
  1 : show roadmap vertices (default: off)
  2 : show roadmap edges (default: off)
  3 : show paths (default: on)
  4 : display local-minima tree (default: on)
  5 : display planning information (default: on)

When compiling, we often need to compile OMPL and MotionExplorer plus do some debugging with GDB. To simplify this workflow, here are some shortcuts you can copy to your .bashrc (first build OMPL, then build MotionExplorer, then execute planner_gui with GDB)

gdbrun (){
  gdb -q -ex 'set confirm off' -ex 'run' --args $@
}
makerunarg (){
  make -j5 $1 && gdbrun $@
}
alias cdm='cd ${HOME}/git/MotionPlanningExplorerGUI'
alias cdmb='cdm && cd build'
alias explorerGUI='cdmb && cd ../libs/ompl/build && cmake .. && sudo make -j4 install && cdmb && makerunarg planner_gui'

motionexplorer's People

Contributors

aorthey avatar mtkhoury 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

Watchers

 avatar  avatar

motionexplorer's Issues

installation for ubuntu 22.04

Hi Andreas Orthey,

I was checking out your paper and code on fiber bundles and visualizing local minima and found it very interesting.
I was wondering if there are installation instructions available for Ubuntu 22.04?

fetal error:ompl/multilevel/planners/explorer/MotionExplorer.h: No such file or directory

Hi, @aorthey ,Thanks for your great work!
There comes a problem when I run "install_script.sh".
Specificly,when I run "make -j$(nproc) planner_gui" in last Step:"Installing MotionPlanningExplorerGUI",
a "MotionExplorer/src/planner/planner.cpp:13:62: fetal error:ompl/multilevel/planners/explorer/MotionExplorer.h: No such file or directory #include <ompl/multilevel/planners/explorer/MotionExplorer.h>"came out.
The position of the error is behind the “[26%]Building CXX object CMakeFiles/planner_gui.dir/src/planner/planner.cpp.o.”
I have spent a day to solve this problem, but still no success.
Looking forward to your help!Thank you very much!

Execution Error

@aorthey
When I execute the program like following.
I got the execution error.

$ ./build/planner_hierarchy data/experiments/06D_doubleLshape.xml
[EnvironmentLoader] loading from file /home/ryodo/workspace/quotient_space_ws/orthoklampt/data/experiments/06D_doubleLshape.xml
--------------------------------------------------------------------------------
Initializing ODE...
Failed to open file
Segmentation fault (core dumped)

I already modified the absolute path inside of the xml code.
What should I do ?

Thank you forward.

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.