PX4与仿真入门教程-dronedoc-为无人机实施本地规划器
PX4与仿真入门教程-dronedoc-为无人机实施本地规划器
说明:
- 介绍使用开放运动规划库 (OMPL) 为您的无人机实施本地规划器。
- OMPL是一个开源的动作规划库,还有一个叫做MoveIt的库!用于机械手和UGV等运动规划也使用了OMPL。
安装
- 在 Ubuntu 上安装 OMPL 有以下三种方式:
1.从源安装
2.安装预先构建的二进制文件
3.安装ROS版本的二进制文件
- 这次我们将安装二进制的ROS版本。 有关其他选项,请参阅 OMPL 安装指南。
- 首先,将 ROS 存储库添加到 apt 数据源。 如果您已经在使用 ROS,则不需要。
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
- 添加后,安装 OMPL。
sudo apt update
sudo apt install ros-melodic-ompl
- 实施本地规划器
- 下面,我们将参考包括控制命令值在内的计划进行工作。
- CMakeLists.txt内容
find_package(catkin REQUIRED COMPONENTS
roscpp
...
nav_core # add
tf # add
costmap_2d # add
)
find_package(OMPL REQUIRED)
add_executable(rrt_planner src/rrt_planner.cpp)
target_link_libraries(rrt_planner ${catkin_LIBRARIES}
${OMPL_LIBRARIES}
${Boost_LIBRARIES})
ROS插件
- 一些 ROS 包将一些处理(图像处理、行动计划等)创建为可以稍后修改的插件。
- 使用 pluginlib 包来创建和使用插件。
- 通过使用插件机制,您可以通过创建遵循特定接口的类来自由实现内容,从而可以轻松扩展现有包。
导航堆栈
导航栈是一个包含 move_base、costmap_2d 等的元包。
在导航堆栈中,使用 pluginlib 创建的插件可以用作本地规划器或全局规划器。
为了创建一个可以用作导航堆栈的本地规划器的类,您需要创建一个继承自 nav_core::BaseLocalPlanner 的类。
插入本地规划器
参考
- https://uenota.github.io/dronedoc/en/local_planner_for_uav/local_planner_for_uav.html
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号