配置Prometheus环境

下载依赖包

sudo apt-get install ros-melodic-rtabmap*
sudo apt-get install ros-melodic-octomap-*
sudo apt-get install ros-melodic-cartographer*

安装非线性优化工具箱 NLopt并编译(可选)

git clone https://github.com/stevengj/nlopt.git
cd nlopt
mkdir build
cd build
cmake ..
make
sudo make install

下载Prometheus项目并编译

git clone https://github.com/amov-lab/Prometheus
#环境变量配置
gedit .bashrc
source ~/Prometheus/devel/setup.bash
#编译
cd Prometheus
sudo chmod 777 ./compile_all.sh (第一次运行才需要执行此赋权命令)
./compile_all.sh
#或者只编译ego代码
./compile_ego.sh

使修改的bashrc生效

source ~/.bashrc

Modules 各模块功能的源代码
Simulator 仿真飞行相关代码
Experiment 真实飞行相关代码

配置px4环境

下载px4固件

git clone https://gitee.com/amovlab/prometheus_px4.git
cd prometheus_px4
git submodule update --init --recursive
pip3 install --user toml empy jinja2 packaging
make amovlab_sitl_default gazebo

PX4编译环境安装(第一次安装PX4环境需要运行)

cd prometheus_px4/Tools/setup## 请在运行此脚本时注意终端的打印信息,保证每一项均顺利安装## 这一步问题最多,一定仔细检查是否正确安装!!!   ## 若有某一项失败或一直卡住,请重新运行即可!
source ./ubuntu.sh

若报错则换源(在./ubuntu.sh对应报错部分修改)

pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

环境变量配置

sudo gedit ~/.bashrc
#加入
source ${your prometheus path}/Prometheus/devel/setup.bash
export GAZEBO_PLUGIN_PATH=$GAZEBO_PLUGIN_PATH:${your prometheus path}/Prometheus/devel/lib
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:${your prometheus path}/Prometheus/Simulator/gazebo_simulator/models
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:${your prometheus path}/Prometheus/Simulator/gazebo_simulator/amov_models
source ${your px4 path}/prometheus_px4/Tools/setup_gazebo.bash ${your px4 path}/prometheus_px4 ${your px4 path}/prometheus_px4/build/amovlab_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:${your px4 path}/prometheus_px4
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:${your px4 path}/prometheus_px4/Tools/sitl_gazebo

仿真插件安装

sudo apt-get install ros-melodic-velodyne-gazebo-plugins
sudo apt-get install ros-melodic-octomap-rviz-plugins
sudo apt-get install ros-melodic-turtlebot3-*

Gazebo模型库下载

cd ~/.gazebo/
## 如果之前没有models文件夹的话,创建models文件夹
mkdir -p models
cd ~/.gazebo/models/
## 这个仓库是从官方仓库(https://github.com/osrf/gazebo_models)复制过来的,会定期更新
git clone https://gitee.com/potato77/gazebo_models

Prometheus仿真功能包编译

cd Prometheus
./compile_gazebo.sh

Gazebo仿真运行测试

roslaunch prometheus_gazebo sitl.launch

仿真环境下实现ego-planner项目

cd Prometheus
## 编译
./compile_ego.sh
## 运行
./ego_test.sh

Missing model.config for model “/home/tju/.gazebo/models/gazebo_models”

原因: 关闭的过程中有些Gazebo的程序没有完全关闭,导致再次启动时,无法正常开启。
所以,解决方法也很简单,只要把gazebo的相关程序关闭即可。
用如下指令:
killall gzserver

基于Prometheus的ego运动规划实现相关推荐

  1. ROS实验笔记之——基于Prometheus的无人机运动规划

    本博文基于Prometheus项目来学习无人机的运动规划.关于该项目的配置可以参考<ROS实验笔记之--基于Prometheus自主无人机开源项目的学习与仿真> Demo演示 基于2D-L ...

  2. 【IEEE2014】EET:基于采样的机器人运动规划中的平衡勘探与开发

    EET:基于采样的机器人运动规划中的平衡勘探与开发 摘要: 本文提出了一种用于运动规划的探索/利用树(EET)算法.EET规划者故意用概率的完整性来换取计算效率.这种权衡使EET规划器能够比最先进的基 ...

  3. 机器人运动规划调研(pending)

    文章目录 前言 发展历程 通用运动规划方法 基于自由空间 Cfree几何构造的规划方法 可视图法 前言 阅读移动机器人运动规划研究综述心得 总结一下,机器人运动规划的发展历程,算法和思路. 搜索策略和 ...

  4. Matlab之在城市环境中基于动态占用网格图的的运动规划仿真(附源码)

    目录 一.介绍 二.设置场景和基于网格的跟踪器 三.设置运动规划器 四.结果 五.总结 六.程序 此示例演示如何使用 Frenet 参考路径在城市驾驶场景中执行动态重新规划.在此示例中,将使用本地环境 ...

  5. 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法

    文章目录 摘要 关键词 0 引言 学者研究 阶段一:采集运动数据,分析运动过程特征 阶段二:设计仿人变量.建立仿人标准和约束 阶段三:用智能算法提升仿人运动机器人性能 本文工作 1 问题描述及方法架构 ...

  6. 【运动规划】MIT 基于采样和优化的区别

    MIT 2020秋 运动规划part2 通过加入新决策变量,在时间段内约束,可以控制被抓取物的规划位置.?纯运动学 ,不考虑被抓取物的动力学. 基于采样的会解耦合,分段处理多个运动规划问题. samp ...

  7. 走好每一步,基于C实现机器人运动学建模与标定、运动规划、轨迹规划算法

    走好每一步,基于C实现机器人运动学建模与标定.运动规划.轨迹规划算法 废话 综述 一:C部分 初始C语言 Chapter2-4:基本数据类型 Chapter5-7:运算符.表达式.循环.分支与跳转 C ...

  8. rrt算法流程图_基于RRT的运动规划算法综述

    基于 RRT 的运动规划算法综述 1. 介绍 在过去的十多年中, 机器人的运动规划问题已经收到了大量的关注, 因为机器人开始成 为现代工业和日常生活的重要组成部分. 最早的运动规划的问题只是考虑如何移 ...

  9. [运动规划算法]基于飞行走廊的轨迹优化

    文章目录 简介 一.介绍 二.原理 飞行走廊生成 三.项目演示 参考 简介 Btraj是一个在线的四旋翼无人机的运动规划框架,主要用于未知环境中的自主导航.基于机载状态估计和环境感知,采用基于快速行进 ...

  10. [运动规划算法]基于似然场的快速避障算法

    文章目录 一.简介 二.原理 1. 问题描述 2. 概率模型 3. 局部概率 4. 全局概率 5. 方法实现 三.项目演示 参考 一.简介 这是一种在复杂环境中实现快速自主飞行的规划方法.通常,在复杂 ...

最新文章

  1. 【嵌入式】C语言程序调试和宏使用的技巧
  2. 把握三大计划 抓住ERP项目实施的灵魂
  3. weex 在 iOS 上如何实现常见的网络缓存
  4. linux查看tomcat启动内存溢出,Linux下 Tomcat内存溢出
  5. 数据库创建时间,更新时间设计
  6. 关联省份与学校的级联HTML,JS实现的省份级联实例代码
  7. 2020-02-09 改udev硬件配置策略,改ETHTOOL_OPTS 或改 `/etc/NetworkManager/dispatcher.d/20-ethtool`...
  8. 拓端tecdat|使用SAS,Stata,HLM,R,SPSS和Mplus的多层线性模型HLM
  9. 好程序员分享js实现简单的板球游
  10. 数学建模(三)SARS的传播(03年A题)
  11. Red5服务器搭建,流媒体rtmp推流实现H5在线直播以及遇到的坑
  12. 【腾讯软件测试面试经历】一面、二面、HR终面
  13. 头脑王者服务器维护,微信头脑王者请求超时及查询服务器失败的解决方法
  14. 并发编程之并发包详解
  15. simulink模块名称显示设置_simulink模块名称继承
  16. 计算机照片误删除还能恢复,删除的相片可以恢复吗_电脑误删的照片怎么恢复...
  17. 防弹脚注,Woohoo!
  18. Java入门第三季-综合实战:简易扑克牌游戏
  19. java.lang.IllegalArgumentException: Unknown entity解决办法
  20. 机器人首次自主实施对猪腹腔镜手术

热门文章

  1. EXCEL之绝对引用、相对引用和混合引用
  2. 人工智能和机器学习 AIML howto
  3. linux命令启动搜狗输入法,Linux下的搜狗拼音输入法
  4. 第十节、grep、find、sed和awk
  5. 一、Matlab图像处理入门
  6. mosefet驱动电路设计详解
  7. STM32 三极管继电器驱动电路设计
  8. esp8266智能开关灯制作教程
  9. 计算机445 135 139端口,Win7如何关闭445 135 138 139端口
  10. 《月亮与红蜘蛛》王巧琳