ros实验笔记之——基于prometheus的无人机运动规划(代码片段)

gwpscut gwpscut     2022-12-20     380

关键词:

本博文基于Prometheus项目来学习无人机的运动规划。关于该项目的配置可以参考《ROS实验笔记之——基于Prometheus自主无人机开源项目的学习与仿真

Demo演示

基于2D-LiDAR的APF路径规划

基于rgbd camera的APF路径规划

基于3D-LiDAR的Astar路径规划

ego-planner

对于ego-planner,直接下载源码编译即可。

(源码连接:

https://github.com/ZJU-FAST-Lab/ego-planner

https://github.com/ZJU-FAST-Lab/ego-planner-swarm

注意:编译的时候统一采用

catkin_make -DCMAKE_BUILD_TYPE=Release

采用下面命令可能会报错

catkin_make -DCMAKE_BUILD_TYPE=Release -j1

仿真过程需要先进入对应的文件,然后运行

source devel/setup.bash
roslaunch ego_planner rviz.launch

注意:添加工作空间的话,可以省略source

对于群机器人可以运行

roslaunch ego_planner swarm.launch

对于单机器人可以运行

roslaunch ego_planner run_in_sim.launch

 echo "source /home/kwanwaipang/ego-planner-swarm-master/devel/setup.sh" >> ~/.bashrc

source ~/.bashrc

仿真视频如下所示

ego-planner复现(基于单无人机)

swarm-ego-planner复现(基于单无人机)

对应的节点图如下

在Prometheus项目中也有ego-planner,但是直接编译好像会出各种的错误,建议采用的方法是:先进入对应的文件里面,然后单独编译ego-planner,然后把对应的devel以及build复制即可(build文件复制后可能会报错,删掉再编译就可以成功)

参考资料

https://zhuanlan.zhihu.com/p/369196042(ego-planner-swarm)

Conflict-based search for optimal multi-agent path finding

ODrM*: Optimal multi-robot path planning in low dimensional search spaces(2013 ICRA)

Reciprocal Velocity Obstacles for real-time multi-agent navigation (http://gamma.cs.unc.edu/RVO/)

Reciprocal n-Body Collision Avoidance (https://gamma.cs.unc.edu/ORCA/)

Cooperative Collision Avoidance for Nonholonomic Robots

Towards cognitive exploration through deep reinforcement learning for mobile robots

Virtual-to-real Deep Reinforcement Learning: Continuous Control of Mobile Robots for Mapless Navigation

Autonomous Navigation of UAVs in Large-Scale Complex Environments: A Deep Reinforcement Learning Approach

Deep-Reinforcement-Learning-Based Autonomous UAV Navigation With Sparse Rewards

Multi-agent actor-critic for mixed cooperative-competitive environments

Motion Planning Among Dynamic, Decision-Making Agents with Deep Reinforcement Learning

Multi-Agent Motion Planning for Dense and Dynamic Environments via Deep Reinforcement Learning

Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learning

Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learnin

RACE: Reinforced Cooperative Autonomous Vehicle Collision Avoidance

Long-Range Indoor Navigation With PRM-RL

A Two-Stage Reinforcement Learning Approach for Multi-UAV Collision Avoidance Under Imperfect Sensing

PRIMAL: Pathfinding via Reinforcement and Imitation Multi-Agent Learning

Scaling Up Multi-agent Reinforcement Learning for Robotic Systems: Learn an Adaptive Sparse Communication Graph

Graph Neural Networks for Decentralized Multi-Robot Path Planning

From Perception to Decision: A Data-driven Approach to End-to-end Motion Planning for Autonomous Ground Robots

Agile Coordination and Assistive Collision Avoidance for Quadrotor Swarms Using Virtual Structures

Graph Policy Gradients for Large Scale Unlabeled Motion Planning with Constraints

GLAS: Global-to-Local Safe Autonomy Synthesis for Multi-Robot Motion Planning with End-to-End Learning

ros实验笔记之——无人机在vicion下试飞(代码片段)

...之——JCV-450无人机初入门》、《ROS实验笔记之——基于Prometheus自主无人机开源项目的学习与仿真》已经介绍过一些无人机的仿真,试飞。本博文基于vicion实现一下无人机的试飞。先上图看看我们的无人机长啥样,这是购... 查看详情

ros实验笔记之——slam无人驾驶初入门(代码片段)

最近想学习一下无人驾驶SLAM方面的内容代码测试这里先基于kitti数据集,进行测试。之前博客中已经介绍过kitti数据集了。本博文就用这个数据集来进行各种经典方法的复现TheKITTIVisionBenchmarkSuitehttp://www.cvlibs.net/datasets/kitti/eva... 查看详情

ros实验笔记之——p450无人机

参考资料P450使用手册——教程演示_哔哩哔哩_bilibili使用文档|阿木实验室 查看详情

ros实验笔记之——基于l515激光相机的flvis与mlmapping(代码片段)

之前博客《ROS实验笔记之——VINS-Mono在l515上的实现》在l515上实现了vins,博客《ROS实验笔记之——SLAM无人驾驶初入门》配置flvis并跑了对应的kitti数据集本博文在l515上先实现flvis然后再用mlmapping来建图。camera.launch<launch>&l... 查看详情

ros学习笔记之——px4生态系统

...购买的阿木实验室的课程《PX4智能无人机二次开发》与《Prometheus自主无人机二次开发课程》目录 PX4的生态Dronecode基金会PX4飞控硬件-PixhawkQGCMAVLink通信协议 ​ Mavros功能包无人机中三种消息传递的机制参考 查看详情

ros实验笔记之——jcv-450无人机初入门

最近购买了阿木实验室的JCV-450无人机。本博文记录本人使用及实验的过程目录基本设置注意点飞行前调试QGC的使用关于遥控器,请参考下面的教程富斯i6s遥控器操作基本介绍基本设置首先开箱后发现里面的东西好像并不多。... 查看详情

ros学习笔记之——基于qgc的px4仿真

之前博客《ROS实验笔记之——PX4仿真》已经介绍了PX4编译及QGC的安装,本博文进一步的基于QGC进行仿真控制QGC里有很多的参数控制首先打开虚拟的遥控器是实现遥控控制就可以在QGC用模拟手柄控制无人机(左边的遥感是... 查看详情

ros实验笔记之——基于cartographer方法的slam(代码片段)

之前做的2DLiDAR的实验中,大多采用gmapping,本博文试试采用cartographer。对于cartographer方法,相比起gmapping,其多了IMU以及回环检测。有了回环检测后,可以避免odom的累积误差首先安装依赖包sudoapt-getinstallros-melo... 查看详情

ros实验笔记之——evo(代码片段)

Errorwhileprocessing"dvs_trackingflyingroom"·Issue#4·uzh-rpg/rpg_dvs_evo_open·GitHub之前博客《ROS仿真笔记之——基于gazebo的eventcamera仿真(dvsgazebo)》介绍了DVS的gazebo仿真。博客《ROS学习笔记之——ESVO复现及DAVIS346测试》介绍了ESVO以及事件... 查看详情

ros实验笔记之——基于eventcamera的asc*特征(代码片段)

目录原理测试参考资料:原理详细的理论部分就不阐述了,可以参考原文以及这个博客~【事件相机整理】角点检测与跟踪总结_larrydong的博客-CSDN博客测试先进入工程编译源码。注意用ros版本的~运行的节点图如下然... 查看详情

ros实验笔记之——vins-mono在l515上的实现(代码片段)

之前博客《ROS实验笔记之——IntelRealsensel515激光相机的使用》实现了用l515运行RTABmap,本博文试试在l515上实现vins-mono首先需要将vins-mono配置成功,如果出现像之前博客《ROS实验笔记之——SLAM无人驾驶初入门》提到的运行... 查看详情

ros实验笔记之——基于cartographer的多机器人slam地图融合(代码片段)

...图融合 》已经实现了基于gmapping的多机器人地图融合。实验和仿真都验证过了。本博文通过cartographer来实现SLAM,再做mapmerge先看视频效果two启动的文件#!/bin/bashgnome-terminal--tab-e'bash-c"roscore;execbash"'sl 查看详情

ros实验笔记之——基于vscode的ros开发(代码片段)

在VSCODE中添加ROS的插件,可以使得其开发比较简单,但是有时候还是无法显示出一些ROS函数或者变量,修改.vscode文件夹下的c_cpp_properties.json文件如下:"configurations":["browse":"databaseFilename":"","li... 查看详情

ros实验笔记之——基于dv-gui的camera与imu校正(davis346与dvxplorer)

参考资料Tutorials|iniVation 查看详情

ros实验笔记之——基于kalibr来标定davis346(代码片段)

之前博客《ROS学习笔记之——DAVIS346calibration》已经实现了用dv-gui(Calibration[Tutorial]·DV)来标定eventcamera了。但是缺少了跟IMU的外参标定等等。本博文利用Kalibr库来对其进行标定。Kalibr安装先创建一个工作空间mkdir-p~/kalibr_... 查看详情

ros实验笔记之——基于kalibr标定event与imu(代码片段)

之前博客《ROS实验笔记之——基于kalibr来标定DAVIS346》实现了基于colorframe用kalibr矫正camera与imu。但是由于dvxplorer没有image,所以后面又在博客《ROS实验笔记之——基于dv-gui的camera与IMU校正(DAVIS346与DVXplorer)》直接利... 查看详情

ros实验笔记之——基于dv-gui多次标定event与imu的实验记录

之前博客《ROS实验笔记之——基于dv-gui的camera与IMU校正(DAVIS346与DVXplorer)》已经实现了event与imu的标定,但是几次标定下来发现误差还挺大的。。。。本来打算用dvsrender获取图像,然后用原始版本的kalibr来标定&#x... 查看详情

ros实验笔记之——uzh-fpv数据集的验证

UZH-FPV是一个在快速飞行的无人机上采集事件、图像等数据等数据集。该数据集对于基于事件及图像的VIO、VO都具备较大的挑战。要做出有效、鲁棒的视觉里程计算法的同行们,都建议去evaluat一下哈。TheUZHFPVDataset这里给出我... 查看详情