All Projects → aorthey → MotionExplorer

aorthey / MotionExplorer

Licence: other
Visualizing the structure of planning problems using local-minima trees

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
G-code
73 projects
CMake
9771 projects
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to MotionExplorer

awesome-nn-optimization
Awesome list for Neural Network Optimization methods.
Stars: ✭ 39 (+116.67%)
Mutual labels:  local-minima
find-peaks
Algorithm to find peaks in a std::vector<float>
Stars: ✭ 44 (+144.44%)
Mutual labels:  local-minima
scikit-decide
AI framework for Reinforcement Learning, Automated Planning and Scheduling
Stars: ✭ 30 (+66.67%)
Mutual labels:  planning-algorithms
robowflex
Making MoveIt Easy!
Stars: ✭ 83 (+361.11%)
Mutual labels:  ompl
TrajectoryPlanner
ROS - based trajectory planning for a robot on OccupancyGrid
Stars: ✭ 26 (+44.44%)
Mutual labels:  planning-algorithms
ordered
Entropy-controlled contexts in Python
Stars: ✭ 36 (+100%)
Mutual labels:  planning-algorithms
SS-Replan
Online Replanning in Belief Space for Partially Observable Task and Motion Problems
Stars: ✭ 43 (+138.89%)
Mutual labels:  planning-algorithms
Autonomous-Parking-System
Automatic Parking is an autonomous car maneuvering system (part of ADAS) that moves a vehicle from a traffic lane into a parking spot to perform parallel parking. The automatic parking system aims to enhance the comfort and safety of driving in constrained environments where much attention and experience is required to steer the car. The parking…
Stars: ✭ 39 (+116.67%)
Mutual labels:  ompl

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'
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].