没有合适的资源?快使用搜索试试~ 我知道了~
OMPL (Open Motion Planning Library) 是一个开源的运动规划库,专为解决机器人和其他系统在复杂环境中的路径规划问题而设计。这篇文档是OMPL的入门教程,旨在帮助用户了解如何使用这个强大的工具。 要使用OMPL,你需要具备一些基础知识,包括对机器人学、图论和概率理论的基本理解,因为这些是运动规划的基础。此外,熟悉C++编程语言也是必要的,因为OMPL主要用C++编写,并且许多示例代码和接口都是基于C++的。 运动规划的历史和采样基础是理解OMPL的关键。早期的运动规划方法如A*算法效率有限,当面临高维或连续空间时尤为困难。采样基
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86334922/bg1.jpg)
Open Motion Planning Library:
A Primer
Kavraki Lab
Rice University
ompl.kavrakilab.org
March 1, 2017
![](https://csdnimg.cn/release/download_crawler_static/86334922/bg2.jpg)
Contents
1 Introduction 1
1.1 Prerequisites for Using OMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Introduction to Sampling-based Motion Planning 2
2.1 Historical Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Sampling-based Motion Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.1 Problem Statement and Definitions . . . . . . . . . . . . . . . . . . . . . 4
2.2.2 Probabilistic Roadmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.3 Tree-based Planners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.4 Primitives of Sampling-based Planning . . . . . . . . . . . . . . . . . . . 8
3 Getting Started with OMPL.app 9
3.1 Using OMPL.app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Selecting a Robot and an Environment . . . . . . . . . . . . . . . . . . . . 10
3.1.2 Choosing a Planner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.3 Bounding the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.4 Saving and Replaying Solution Paths . . . . . . . . . . . . . . . . . . . . 12
3.2 OMPL.app vs. OMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Planning with OMPL 13
4.1 Design Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2 OMPL Foundations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Solving a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.4 Compiling Code with OMPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.5 Benchmarking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5 Advanced Topics in OMPL 19
5.1 State Space Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2 Planner Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.3 Python Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
i
![](https://csdnimg.cn/release/download_crawler_static/86334922/bg3.jpg)
Chapter 1
Introduction
This document explains how the Open Motion Planning Library (OMPL) implements the basic
primitives of sampling-based motion planning, what planners are already available in OMPL, and
how to use the library to build new planners. This primer is segmented into the following sections:
An introduction to sampling-based motion planning, a guide to setup OMPL for solving motion
planning queries using OMPL.app, a description of the motion planning primitives in OMPL to
develop your own planner, and an explanation of some advanced OMPL topics.
At the end of this document, users should be able to use OMPL.app to solve motion planning
queries in 2D and 3D workspaces, and utilize the OMPL framework to develop their own algo-
rithms for state sampling, collision checking, nearest neighbor searching, and other components of
sampling-based methods to build a new planner.
1.1 Prerequisites for Using OMPL
This primer assumes that users are familiar with C++ programming and compiling code in a Unix
environment. Additionally, users should have basic knowledge of sampling-based motion planning.
OMPL and OMPL.app should also be installed. For information regarding the installation process,
please see ompl.kavrakilab.org.
1
![](https://csdnimg.cn/release/download_crawler_static/86334922/bg4.jpg)
Chapter 2
Introduction to Sampling-based Motion
Planning
To put OMPL in context, a short introduction to the principles of sampling-based motion planning
is first given. Robotic motion planning seeks to find a solution to the problem of “Go from the
start to the goal while respecting all of the robot’s constraints." From a computational point of
view, however, such an inquiry can be very difficult when the robot has a large number of degrees
of freedom. For simplicity, consider the classical motion planning problem known as the piano
mover’s problem. In this formulation, there exists a rigid object in 3D (the piano), as well as a set
of known obstacles. The goal of the piano mover’s problem is to find a collision-free path for the
piano that begins at its starting position and ends at a prescribed goal configuration. Computing the
exact solution to this problem is very difficult. In this setup, the piano has six degrees of freedom:
three for movement in the coordinate planes (
x
,
y
,
z
), and three more to represent rotation along the
axes of these coordinate planes (roll, pitch, yaw). To solve the piano mover’s problem we must
compute a set of continuous changes in all six of these values in order to navigate the piano from
its starting configuration to the goal configuration while avoiding obstacles in the environment. It
has been shown that finding a solution for the piano mover’s problem is
PSPACE
-hard, indicating
computational intractability in the degrees of freedom of the robot [1, 2, 3].
2.1 Historical Notes
OMPL specializes in sampling-based motion planning, which is presented in Section 2.2. To
put sampling-based methods in context, a very brief historical overview to the methods that have
been proposed for motion planning is presented. Most of these methods were developed before
sampling-based planning, but are still applicable in many scenarios.
Exact and Approximate Cell Decomposition
In some instances, it is possible to partition the
workspace into discrete cells corresponding to the obstacle free portion of the environment. This
decomposition can then be modeled as a graph (roadmap), where the vertices represent the individual
2
剩余24页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![avatar](https://profile-avatar.csdnimg.cn/43d4e9502c884fef830d319bc2b0e25b_weixin_35817272.jpg!1)
glowlaw
- 粉丝: 27
- 资源: 274
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- springboot097大学生竞赛管理系统_zip.zip
- springboot096基于springboot的租房管理系统_zip.zip
- springboot092安康旅游网站的设计与实现_zip.zip
- springboot099大型商场应急预案管理系统_zip.zip
- springboot100精准扶贫管理系统_zip.zip
- 基于51单片机的温度报警器C程序设计及Proteus仿真报告:按键设置温度上下限,超限蜂鸣器报警功能实现,基于51单片机的温度报警器C程序设计及Proteus仿真报告:按键设置温度上下限,智能报警提醒
- springboot102基于web的音乐网站_zip.zip
- java项目之宠物诊所系统设计源码.zip
- springboot104学生网上请假系统设计与实现_zip.zip
- springboot113健身房管理系统_zip.zip
- springboot105基于保信息学科平台系统设计与实现_zip.zip
- springboot117基于SpringBoot的企业资产管理系统_zip.zip
- springboot118共享汽车管理系统_zip.zip
- springboot116基于java的教学辅助平台_zip.zip
- 高频方波电压注入模型:静止坐标下电流分量提取与无感速度矢量控制,高频方波电压注入模型:静坐标下电流分量提取与无感速度矢量控制技术,该模型在d轴注入高频的方波电压,在静止坐标下通过前后周期的电电流相应提
- log库,谷歌软件开发日志库
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0