<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8"/> <title>OMPL: Documentation</title> <meta name="author" content="Ioan A. Șucan, Mark Moll, Lydia E. Kavraki"> <link rel="stylesheet" href="../css/screen.css" type="text/css" media="screen, projection"> <link rel="stylesheet" href="../css/print.css" type="text/css" media="print"> <!--[if lt IE 7]> <script type="text/javascript" src="../js/jquery/jquery.js"></script> <script type="text/javascript" src="../js/jquery/jquery.dropdown.js"></script> <![endif]--> <script type="text/javaScript" src="search/search.js"></script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-9156598-2']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body onload='searchBox.OnSelectItem(0);'> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search API'); --></script> <div class="navigation" id="top"> <div class="tabs" id="ompltitle"> <ul class="tablist"> <li>The Open Motion Planning Library</li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search API" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <ul id="nav" class="dropdown"> <li class="first"><a href="index.html">Home</a></li> <li><a href="download.html">Download</a></li> <li><a href="documentation.html">Documentation</a></li> <li><span class="dir">Code API</span> <ul> <li><a href="api_overview.html">API Overview</a></li> <li><a href="namespaces.html">Namespaces</a></li> <li><a href="annotated.html">Classes</a></li> <li><a href="files.html">Files</a></li> <li><a href="dirs.html">Directories</a></li> </ul> </li> <li><span class="dir">Community</span> <ul> <li><a href="developers.html">Developers</a></li> <li><a href="thirdparty.html">Contributions</a></li> <li><a href="education.html">Education</a></li> <li><a href="gallery.html">Gallery</a></li> </ul> </li> <li><span class="dir">About</span> <ul> <li><a href="license.html">License</a></li> <li><a href="citations.html">Citations</a></li> <li><a href="acknowledgements.html">Acknowledgments</a></li> <li><a href="contact.html">Contact Us</a></li> </ul> </li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0"name="MSearchResults" id="MSearchResults"></iframe> </div> <div class="container"> <div class="span-22 push-2 first last"> <div> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> </div> <div class="header"> <div class="headertitle"> <div class="title">Documentation </div> </div> </div> <div class="contents"> <div class="textblock"><h2><a class="anchor" id="gettingStarted"></a> Getting Started</h2> <ul> <li>Follow the instructions to <a class="el" href="download.html">download</a> and <a class="el" href="installation.html">install</a> OMPL.</li> <li>Read the <a class="el" href="api_overview.html">API overview</a>.</li> <li>Learn how to integrate your own code with <a class="el" href="buildSystem.html">OMPL's build system</a>.</li> <li>Read about the <a class="el" href="availablePlanners.html">available planners</a> and the <a class="el" href="availableStateSpaces.html">available state spaces</a>.</li> <li>If interested in using Python, make sure to read <a class="el" href="python.html">the documentation for the python bindings</a>.</li> <li>Get more information about <a class="el" href="education.html">using OMPL for educational purposes</a>.</li> <li>Take a look at <a class="el" href="thirdparty.html">Third-party contributions.</a> (<a class="el" href="contrib.html">Contribute your own extensions!</a>)</li> </ul> <h2><a class="anchor" id="tutorials"></a> Tutorials</h2> <p>Below we include a number of tutorials we believe are useful for understanding how OMPL works, grouped by level of difficulty. Users are encouraged to look at the examples in <b>demos/</b> as well.</p> <dl class="user"><dt><b>Beginner</b></dt><dd><ul> <li><a class="el" href="geometricPlanningSE3.html">Geometric planning for a rigid body in 3D</a></li> <li><a class="el" href="stateValidation.html">Setting up state validity checking</a></li> <li><a class="el" href="workingWithStates.html">Working with states and state spaces</a></li> <li><a class="el" href="samplers.html">Using existing samplers and creating new ones</a></li> </ul> </dd></dl> <dl class="user"><dt><b>Intermediate</b></dt><dd><ul> <li><a class="el" href="genericPlanning.html">Generic instructions for setting up a planning context</a></li> <li><a class="el" href="implementingStateSpaces.html">Implementing new state spaces</a></li> <li><a class="el" href="goalRepresentation.html">Representing goals</a></li> </ul> </dd></dl> <dl class="user"><dt><b>Advanced</b></dt><dd><ul> <li><a class="el" href="benchmark.html">Benchmarking planners</a></li> <li><a class="el" href="newPlanner.html">Adding a new planner</a></li> <li><a class="el" href="projections.html">Setting up a projection</a></li> </ul> </dd></dl> <h2><a class="anchor" id="demos"></a> Demos</h2> <ul> <li><a href="RigidBodyPlanning_8cpp_source.html"><b>Rigid body planning</b></a> <a href="RigidBodyPlanning_8py_source.html"><b>[Python version]</b></a>. This demo is essentially the same example described in the first tutorial. It illustrates how to use the main classes.</li> <li><a href="StateSampling_8cpp_source.html"><b>State sampling</b></a> <a href="StateSampling_8py_source.html"><b>[Python version]</b></a>. This is the demo program used in the last beginner tutorial.</li> <li><a href="RigidBodyPlanningWithControls_8cpp_source.html"><b>Rigid body planning with controls</b></a> <a href="RigidBodyPlanningWithControls_8py_source.html"><b>[Python version]</b></a>. This demo shows how to perform planning under differential constraints for a simple car-like vehicle.</li> <li><a href="RigidBodyPlanningWithIntegrationAndControls_8cpp_source.html"><b>Rigid body planning with integration and controls. </b></a> This example extends the previous example by showing how one can plan for systems of ordinary differential equations in a generic way. This example uses simple Euler integration. For higher accuracy it is recommended to use higher-order methods. Other libraries such as the <a href="http://www.gnu.org/software/gsl/">GNU Scientific Library</a> or <a href="http://headmyshoulder.github.com/odeint-v2/">Boost.Numeric.Odeint</a> can be used for this purpose.</li> <li><a href="RigidBodyPlanningWithIK_8cpp_source.html"><b>Rigid body planning with an Inverse Kinematics solver generating goal states in a separate thread. </b></a> This demo shows off two neat features of OMPL: a genetic algorithm-based Inverse Kinematics solver and a lazy goal state sampler. In a separate thread goal states are computed by the IK solver. While solving a motion planning problem, the planning algorithms select a random goal state from the ones computed so far.</li> <li><a href="ODERigidBodyPlanning_8cpp_source.html"><b>Rigid body planning using the Open Dynamics Engine (ODE). </b></a> When ODE is installed, OMPL will compile an extension that makes is easier to use ODE for forward propagation of models of motion. In this example, a box is pushed around in the plane from a start position to a goal position. </li> </ul> </div></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> </div> <div class="footer span-22 push-2 last"> <a href="http://www.kavrakilab.org">Physical and Biological Computing Group</a> • <a href="http://www.cs.rice.edu">Department of Computer Science</a> • <a href="http://www.rice.edu">Rice University</a><br> <div class="gray">Generated on Sun Oct 9 2011 23:04:41 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.7.4</div> </div> </div> </body> </html>