Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ROS和RRT的一些资料

ROS和RRT的一些资料

作者头像
zhangrelay
发布于 2019-01-23 07:18:30
发布于 2019-01-23 07:18:30
1.5K0
举报

ROS和RRT结合的示例比较多,之前博文提过两次( 12 ),本文做一些汇总和整理,大部分都在roswiki和GitHub上有具体说明。需要认真阅读源码和说明文件,才能使用顺利。

01. RRT for Swarm 02. RRT-Plugin 03. CallistoRover 04. navigation algorithms(A*, RRT+) 

05. ROS-assignment-3-RRT-planner 06. turtlebot_rrt 07. Quadcopter path planning using RRT*

08. Kinodynamic RRT Implementation 09. SRL_GLOBAL_PLANNER(RRT, RGG, RRT*, Theta*-RRT) 

10. roswiki: rrt_explorationriskrrtmotion_planning

基础内容关注,move base、Navigation、MoveIt!等。下面对上面资源做一个简单的分类。

第一类:插件(plugin)

1. Implementation of RRT

2. A RRT* ROS plugin for Move Base using OMPL

3. SRL_GLOBAL_PLANNER软件包提供了基于采样的运动规划器(RRT,RGG,RRT *,Theta * -RRT)作为ROS中Move-base的全局规划器插件

srl_global_planner

The srl_global_planner ROS package provides an implementation of the sampling based motion planners (RRTRRT*Theta*-RRT) as global planner plugin for move_base, a ROS framework. Please refer to http://wiki.ros.org/move_base, for a detailed description of the move_base framework. All the algorithms exploit the POSQ steer function, but other steer functions are available (single and double integrator, Dubins curve). For additional info regarding the POSQ steer function and the learned distance metric used by srl_global_planner refer to the following papers:

  • Distance Metric Learning for RRT-Based Motion Planning with Constant-Time Inference, IEEE International Conference on Robotics and Automation (ICRA'15), Seattle, USA, 2015.
  • A Novel RRT Extend Function for Efficient and Smooth Mobile Robot Motion Planning, IEEE/RSJ Int. Conference on Intelligent Robots and Systems (IROS'14), Chicago, USA, 2014.

Requirements

  • ROS (including visualization rools -> rviz), tested on Indigo and Hydro
  • ros-hydro-navigation or ros-indigo-navigation
  • Eigen3
  • Boost >= 1.46
  • C++11 compiler

Installation

Clone the package into you catkin workspace

  • cd [workspace]/src
  • git clone https://github.com/srl-freiburg/srl_global_planner.git
  • cd ../
  • catkin_make or catkin build

Usage

  • roslaunch srl_global_planner move_base_global_srl.launch will launch the global planner node. You can launch the planner with different configurations, by varying some parameters:
    • TYPE_PLANNER, set to:
      • 0, use RRT
      • 1, use RRT* only partial rewiring
      • 2, use RRT*
    • NUMBER_UPDATE_TRAJ, set to:
      • Choose after how many cost improvements the planner could stop, currently set at 2. Minimum value is 1. Higher the value, higher the computaion time required to generate a trajectory
    • BOX :
      • if it is set to 1, the nearest vertex is selected from a weighted box according to the Ball-Box Theorem.
    • RADIUS :
      • the size of the radius where the near neighbor set is generated, in case you use RRT* select -1 so to have the RRT* shrinking ball.
    • RHO :
      • end condition for the POSQ steer function, should be set to a value of few cm.
    • DT :
      • integration time step of the POSQ steer function, maximum value 0.5s
    • TYPE_SAMPLING :
      • if TYPE_SAMPLING == 0 support set as uniform over a strips following a discrete path generate by a Theta*algorithm
      • If TYPE_SAMPLING == 1 support set as Gaussian Mixture over the Theta* path
      • if TYPE_SAMPLING == 2 support set as gaussians over a spline fitting the Theta* waypoints
      • if TYPE_SAMPLING == 3 support for Theta*-RRT, if set need to specify the range where to set orientations OR_RANGE and the width of the strip along the Theta* path WIDTH_STRIP
      • if TYPE_SAMPLING == 4 support set as the entire state space, the dimension of the state space are read from the grid generate by the move_base framework
      • if TYPE_SAMPLING == 5 Path Biasing along the current available trajectory. If used need to set also the biasing probability BIAS_PROB and the DISPERSION
    • GOAL_BIASING
      • if set to 1 activate goal biasing.
    • GOAL_BIASING_THS
      • set the probability to select a state not in the state space
    • ADD_COST_FROM_COSTMAP, set to true if you want to add cost from global cost map
    • ADD_COST_PATHLENGTH, set to true if you want to add the cost associated to path length and changes of heading
    • ADD_COST_THETASTAR, set to true if you want to add cost resembling closeness to thetastar path
    • Params related to the distance metric, only one of them shoul be set to 1. LEARNED and NOTLEARNED select the best vertex from the spherical neighborhood with radius equal to the parameter RADIUS:
      • LEARNED, set to 1, if you want to find the nearest vertex according to the learned cost
      • FINDNEAREST, set to 1 if you want to find the nearest vertex according to the Kd Tree Euclidean Distance
      • NOTLEARNED, set to 1 if you want to find the nearest vertex according to the cost computed over extensions of POSQ path
    • TIMECOUNTER, set to 1 if you want to specify the maximum amount of seconds your planner should work.
    • MAXTIME, max number of seconds allowed to find a path
    • max_iterations, if TIMECOUNTER is 0, this is the maximum number of iterations the planner will execute to find a path,

Developers

Any contribution to the software is welcome. Contact the current developers for any info:

TODOs:

------

第二类:算法(rviz可视化)

1. 在ROS中实现的基于RRT的路径规划算法参考博文1

2. Kinodynamic RRT算法实现

3. ROS(机器人操作系统)的快速扩展随机树算法的实现

------

第三类:实现(Gazebo仿真)

1. rrt_exploration实现了基于多机器人RRT的地图探索算法。它还具有使用图像处理来提取边界点和基于图像的前沿检测参考博文2

2. ROS Kinetic Kame快速探索随机树(RRT)全局路径规划插件(turtlebot)

3. 使用RRT *的四旋翼飞行器路径规划和最小加速度轨迹生成算法

------

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年02月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ROS(indigo)RRT路径规划
源码地址:https://github.com/nalin1096/path_planning
zhangrelay
2019/01/23
1.8K0
【启发式算法】RRT算法详细介绍(Python)
RRT(Rapidly-exploring Random Tree)快速扩展随机树是一种采样式路径规划算法,广泛应用于机器人运动规划、自动驾驶、无人机路径设计等领域。它特别适用于高维空间中的路径规划问题。下面是对RRT算法的详细介绍:
不去幼儿园
2025/07/02
940
【启发式算法】RRT算法详细介绍(Python)
[ROS2 基础] Navigation2 导航系统介绍
注意:下面的解释说明是以Navigation2 v1.0.12来进行的。其对应的ROS2版本为Galactic。
首飞
2022/06/19
2K0
[ROS2 基础] Navigation2 导航系统介绍
ROS联合webots实战案例(五)导航功能包入门2
在前面几章中分别介绍了在webots中如何创建自己的机器人、添加传感器以及使用手柄或键盘驱动它在仿真环境中移动。在本章中,你会学习到ROS系统最强大的特性之一,它能够让你的机器人自主导航和运动。
锡城筱凯
2021/02/07
1.7K0
ROS联合webots实战案例(五)导航功能包入门2
自动驾驶运动规划-Hybird A*算法
下面的视频展示了DARPA Urban Challenge(DARPA 2007)中Stanford Racing Team的无人车Junior使用的运动规划(Motion Planning)算法Hy
YoungTimes
2022/04/28
2K0
自动驾驶运动规划-Hybird A*算法
ROS2中的行为树 BehaviorTree
BehaviorTree.CPP是一个开源的C++行为树库。在游戏领域,行为树已经比较流行了。主要用于维护游戏角色的各种动作和状态。但在机器人领域还很少使用的。Navigation2中引入了行为树来组织机器人的工作流程和动作执行。
首飞
2022/06/26
3.6K0
ROS2中的行为树 BehaviorTree
激光slam_高德导航术语理解
注:最近学习ROS的激光导航知识,需要理清ROS的SLAM、环境感知(costmap)、与导航算法。为防止自己忘记,将觉得有价值的内容收集于此。对AGV来说,SLAM是个大大坑,环境感知和局部运动控制也是大坑,学习的过程就是学会怎么从坑里爬出来的过程
全栈程序员站长
2022/09/24
1.3K0
激光slam_高德导航术语理解
ROS功能包- RRT_exploration使用RRT随机数进行地图探测
1 ROSwiki:http://wiki.ros.org/rrt_exploration
zhangrelay
2021/03/03
2.1K0
Navigation Stack
Navigation Stack是一个ROS的metapackage,里面包含了ROS在路径规划、定位、地图、异常行为恢复等方面的package,其中运行的算法都堪称经典。Navigation Stack的主要作用就是路径规划,通常是输入各传感器的数据,输出速度。一般我们的ROS都预装了Navigation。 Navigation Stack的源代码位于https://github.com/ros-planning/navigation,包括了以下几个package:
小飞侠xp
2019/05/17
1.3K0
ROS1云课→32愉快大扫除
roslaunch full_coverage_path_planner test_full_coverage_path_planner.launch
zhangrelay
2022/10/08
1.3K0
ROS1云课→32愉快大扫除
ROS编程(ETH)2018更新版习题说明(一)
1. 依据网页链接,完成Husky仿真环境配置,并启动。(ROS版本为Kinetic),可能需要源码编译。
zhangrelay
2019/01/23
1.1K0
ROS机器人程序设计(原书第2版)补充资料 (拾) 第十章 使用MoveIt!
书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用。
zhangrelay
2019/01/23
1K0
ROS2极简总结-Nav2-概述(上)规划器
[nav2_costmap_2d] 代价图计算障碍物周围的成本,并标出机器人安全和不安全的地方。
zhangrelay
2021/12/02
2.9K0
ROS2极简总结-Nav2-概述(上)规划器
【启发式算法】RRT*算法详细介绍(Python)
RRT*算法(Rapidly-exploring Random Tree Star)是一种用于机器人路径规划的算法,旨在为机器人找到从起点到目标的最短路径,同时避免障碍物。它是基于RRT(Rapidly-exploring Random Tree)算法的改进版,具有更高的路径质量和优化能力。RRT*的关键特点是它能够在搜索过程中逐渐优化路径,最终找到一条接近最短的路径。
不去幼儿园
2025/06/26
1740
【启发式算法】RRT*算法详细介绍(Python)
ROS1云课→30导航仿真演示
/opt/ros/kinetic/share/turtlebot_stdr/maps
zhangrelay
2022/10/04
1.2K0
ROS1云课→30导航仿真演示
ROS1云课- 1 0 2 4
  <arg name="initial_pose_x" default="1.0"/>   <arg name="initial_pose_y" default="1.0"/>
zhangrelay
2022/11/02
4830
ROS1云课- 1 0 2 4
ROS1云课→28机器人代价地图配置
在前面做的所有工作都成了现在项目的铺垫,而最大的乐趣也即将开始,这是赋予机器人生命的时刻。
zhangrelay
2022/09/30
7560
ROS1云课→28机器人代价地图配置
虚拟机linux与ros连接问题,启用包问题
使用虚拟机与ros连接的主要原因是:linux下载的软件如rviz和rqt可以启用ros硬件中的图像和雷达等功能。但在启用中会出现如下错误,进行解决。
用户8282247
2023/07/17
6660
ROS1云课-导航实践测评
结合ROS1云课-01-32讲全部内容,使用云实践或自己搭建平台完成如上实践,并记录过程和相关数据。
zhangrelay
2022/10/31
6990
ROS1云课-导航实践测评
自动驾驶运动规划(Motion Planning)
Motion Planning是在遵循道路交通规则的前提下,将自动驾驶车辆从当前位置导航到目的地的一种方法。
YoungTimes
2022/04/28
1.8K0
自动驾驶运动规划(Motion Planning)
相关推荐
ROS(indigo)RRT路径规划
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档