基于Prometheus的ego运动规划实现
配置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运动规划实现相关推荐
- ROS实验笔记之——基于Prometheus的无人机运动规划
本博文基于Prometheus项目来学习无人机的运动规划.关于该项目的配置可以参考<ROS实验笔记之--基于Prometheus自主无人机开源项目的学习与仿真> Demo演示 基于2D-L ...
- 【IEEE2014】EET:基于采样的机器人运动规划中的平衡勘探与开发
EET:基于采样的机器人运动规划中的平衡勘探与开发 摘要: 本文提出了一种用于运动规划的探索/利用树(EET)算法.EET规划者故意用概率的完整性来换取计算效率.这种权衡使EET规划器能够比最先进的基 ...
- 机器人运动规划调研(pending)
文章目录 前言 发展历程 通用运动规划方法 基于自由空间 Cfree几何构造的规划方法 可视图法 前言 阅读移动机器人运动规划研究综述心得 总结一下,机器人运动规划的发展历程,算法和思路. 搜索策略和 ...
- Matlab之在城市环境中基于动态占用网格图的的运动规划仿真(附源码)
目录 一.介绍 二.设置场景和基于网格的跟踪器 三.设置运动规划器 四.结果 五.总结 六.程序 此示例演示如何使用 Frenet 参考路径在城市驾驶场景中执行动态重新规划.在此示例中,将使用本地环境 ...
- 【论文笔记】基于强化学习的机器人手臂仿人运动规划方法
文章目录 摘要 关键词 0 引言 学者研究 阶段一:采集运动数据,分析运动过程特征 阶段二:设计仿人变量.建立仿人标准和约束 阶段三:用智能算法提升仿人运动机器人性能 本文工作 1 问题描述及方法架构 ...
- 【运动规划】MIT 基于采样和优化的区别
MIT 2020秋 运动规划part2 通过加入新决策变量,在时间段内约束,可以控制被抓取物的规划位置.?纯运动学 ,不考虑被抓取物的动力学. 基于采样的会解耦合,分段处理多个运动规划问题. samp ...
- 走好每一步,基于C实现机器人运动学建模与标定、运动规划、轨迹规划算法
走好每一步,基于C实现机器人运动学建模与标定.运动规划.轨迹规划算法 废话 综述 一:C部分 初始C语言 Chapter2-4:基本数据类型 Chapter5-7:运算符.表达式.循环.分支与跳转 C ...
- rrt算法流程图_基于RRT的运动规划算法综述
基于 RRT 的运动规划算法综述 1. 介绍 在过去的十多年中, 机器人的运动规划问题已经收到了大量的关注, 因为机器人开始成 为现代工业和日常生活的重要组成部分. 最早的运动规划的问题只是考虑如何移 ...
- [运动规划算法]基于飞行走廊的轨迹优化
文章目录 简介 一.介绍 二.原理 飞行走廊生成 三.项目演示 参考 简介 Btraj是一个在线的四旋翼无人机的运动规划框架,主要用于未知环境中的自主导航.基于机载状态估计和环境感知,采用基于快速行进 ...
- [运动规划算法]基于似然场的快速避障算法
文章目录 一.简介 二.原理 1. 问题描述 2. 概率模型 3. 局部概率 4. 全局概率 5. 方法实现 三.项目演示 参考 一.简介 这是一种在复杂环境中实现快速自主飞行的规划方法.通常,在复杂 ...
最新文章
- 【嵌入式】C语言程序调试和宏使用的技巧
- 把握三大计划 抓住ERP项目实施的灵魂
- weex 在 iOS 上如何实现常见的网络缓存
- linux查看tomcat启动内存溢出,Linux下 Tomcat内存溢出
- 数据库创建时间,更新时间设计
- 关联省份与学校的级联HTML,JS实现的省份级联实例代码
- 2020-02-09 改udev硬件配置策略,改ETHTOOL_OPTS 或改 `/etc/NetworkManager/dispatcher.d/20-ethtool`...
- 拓端tecdat|使用SAS,Stata,HLM,R,SPSS和Mplus的多层线性模型HLM
- 好程序员分享js实现简单的板球游
- 数学建模(三)SARS的传播(03年A题)
- Red5服务器搭建,流媒体rtmp推流实现H5在线直播以及遇到的坑
- 【腾讯软件测试面试经历】一面、二面、HR终面
- 头脑王者服务器维护,微信头脑王者请求超时及查询服务器失败的解决方法
- 并发编程之并发包详解
- simulink模块名称显示设置_simulink模块名称继承
- 计算机照片误删除还能恢复,删除的相片可以恢复吗_电脑误删的照片怎么恢复...
- 防弹脚注,Woohoo!
- Java入门第三季-综合实战:简易扑克牌游戏
- java.lang.IllegalArgumentException: Unknown entity解决办法
- 机器人首次自主实施对猪腹腔镜手术