路径规划之基于优化的规划算法

2023-05-16

  关注同名微信公众号“混沌无形”,阅读更多有趣好文!

原文链接:机器人曲线插值拟合算法研究现状简述(包含原文PDF百度云下载链接)

第三类算法是主要是将多目标多变量多约束耦合的规划模型转化为有权重的惩罚函数,并优化求解,通常用于初始路径的平滑。 

Ren等人针对势场法存在振荡等问题,将改进牛顿法优化方法应用于连续势场导航模型,并考虑了机器人非全向约束和移动障碍物影响,极大提升了系统性能,但存在优化计算成本较高的问题[13]。 

Ratliff等人针对高维运动规划问题提出CHOMP(Covariant Hamilton Optimization Motion Planning)算法(图 2.6),先创建起始位置到终止位置的初始路径,针对成本函数使用梯度下降法对轨迹进行优化,获得平滑、无碰撞的轨迹,但存在容易陷入局部最小值的问题,因此引入了使用Hamilton Monte Carlo算法施加扰动,以重新启动优化过程,然而,引入了随机性,从而降低了优化结果的确定性。

图 2.6 CHOMP[14]

与之相近,Kalakrishnan等人提出的STOMP (Stochastc Trajectory Optimization Motion Planning)算法不需要目标函数梯度信息,因此可提高机器人运动规划性能,通过生成带有噪声的轨迹探索初始轨迹周围的空间,以产生较低成本的轨迹。其随机性也克服了基于梯度方法存在的局部最小值问题[14]。 

Dolgov等人使用Hybrid A*生成的初始路径,并以路径曲率最小化为目标,使用共轭梯度法优化得到平滑路径,并将存在碰撞情况的对应原始路径点作为锚点重新优化,以保证路径安全可靠[10]。 

Ziegler等人提出一种局部连续的轨迹规划方法,通过结合道路边缘及障碍物将工作空间转化为凸空间,并引入连续可微的伪距离构建伪梯度场,综合模型硬约束及舒适性等要求,转化为带约束的非线性规划问题,并使用序列二次规划算法求解[15]。 

Quinlan、Rösmann、Magyar等人将“橡皮筋受内、外力作用产生形变”的原理应用于路径平滑处理,EB(Elastic Bands)[16]算法使用气泡带算法生成不连续的初始路径,再使用“橡皮筋”形变模型优化路径形状,生成无碰撞的平滑路径。TEB(Timed Elastic Band)[17]将静态、动态约束(速度、加速度等)和机器人状态使用稀疏图描述(强扩展特性),并转化为加权的单目标优化问题,并使用大规模最小二乘法求解,生成符合约束最低成本的轨迹(见图 2.7),具有极强的动态避障和重规划能力,并应用于多种类型的轮式机器人。DT-TEB(TEB in distinctive topologies)[18]将RRT算法、Voronoi图分别与TEB相结合,实时生成局部拓扑空间中全局最优轨迹,并延长了生成轨迹的长度,提高避障性能。CES(Convex Elastic Smoothing)[19]算法针对类车机器人运动规划模型,将气泡带初始路径形状“拉伸”优化及给定路径下速度优化问题构造为两个凸优化问题,并迭代优化路径曲线-速度曲线,实时生成平滑轨迹。

图 2.7 TEB算法[17]

 精彩的理论论证过程见原文链接(含全文下载链接)

由于网页排版效果一般,所以笔者按照期刊论文版式为小伙伴们整理了原文PDF,方便收藏和回味。

原文链接:(包含原文PDF百度云下载链接)
CSDN下载链接:机器人曲线插值拟合算法研究现状简述

如果喜欢的话,可以关注我,阅读更多有趣好文!

微信公众号:混沌无形

知乎号:混沌无形

B站:混沌无形R

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

路径规划之基于优化的规划算法 的相关文章

  • 烧录工具Android Tool的使用

    RK3308 该工具是RK的开发工具 xff0c 用于烧录用的 xff0c 不同型号的芯片对应的Android Tool中的下载镜像界面也不一样 xff0c 你像RK3308编出来的烧录文件有如下 xff1a 对应的Android Tool
  • Jetson nano i2c教程(MPU6050 + PCA9685)

    首先介绍nano板子上的i2c相关的硬件信息 xff1a 安装所需要的i2c库 sudo apt get install l y i2c tools 完成nano中io与i2c设备的硬件接线 本次案例使用的是PCA9685和MPU6050
  • ROS中发布里程计消息(Odometry)

    目录 1 首先理解里程计是什么 xff1f 2 里程计发布流程3 发布里程计TF变换2 1c 43 43 发布TF变换2 2 python发布TF变换 根据阿克曼转向结构的车辆实现里程计消息的发布 xff0c 本文参考博客如下 xff0c
  • ROS std_msgs/Header 数据含义

    std msgs Header msg消息里数据主要有一下几部分 xff1a uint32 seq time stamp string frame id 分别对这些数据做一个介绍 xff0c 如有错误 xff0c 欢迎批评指正 xff01
  • Carsim中添加路径

    目录 1 新建3D Road 数据库2 设置具体参数3 添加自定义道路信息 利用carsim和simulink联合仿真时 xff0c 需要给定参考轨迹 xff0c 具体设置如下 xff1a 1 新建3D Road 数据库 在Miscella
  • Carsim 2019 Run Now 按钮灰色

    安装carsim后 xff0c Run control with Simulink 模块中的Run Now 和Send to simulink 按钮灰色如下图所示 xff1a 解决办法 xff1a 在License Setting中 xff
  • Ubuntu 添加串口权限

    ubuntu串口添加权限方法 Ubuntu 添加串口权限前言一 添加用户组 xff0c 可长期使用二 给当前终端权限 xff08 单次有效 xff09 1 指定串口2 通用 三 修改文件 Ubuntu 添加串口权限 提示 xff1a 文章写
  • Ubuntu 虚拟机右上角网络连接符号消失

    这里写自定义目录标题 Ubuntu 虚拟机右上角网络连接符号消失解决方案 xff1a Ubuntu 虚拟机右上角网络连接符号消失 Ubuntu 虚拟机右上角网络连接符号消失 xff0c 如下图所示 解决方案 xff1a span class
  • C/C++中局部变量static用法实例

    1 普通局部变量存储于进程栈空间 xff0c 使用完毕会立即释放 xff0c 静态局部变量使用static修饰符定义 xff0c 即使在声明时未赋初值 xff0c 编译器也会把它初始化为0 xff0c 并且静态局部变量存储于进程的全局数据区
  • 嵌入式C语言经典面试题(一)

    1 用预处理指令 define 声明一个常数 xff0c 用以表明1年中有多少秒 xff08 忽略闰年问题 xff09 define SECONDS PER YEAR 60 60 24 365 UL 我在这想看到几件事情 xff1a 1 d
  • 更新Ubuntu内核到最新版本

    想起自己多年前玩Linux的时候知道了两个命令 xff1a sudo apt get update sudo apt get upgrade 以为是能够更新所有软件的 xff0c 后来发现 系统还是不能够更新的 那么 xff0c 系统应该如
  • RK3308 按键Key与LED灯

    硬件原理图 LED指示灯 麦克风阵列子板上使用12颗RGB灯作为效果指示灯 用户可以通过I2C总线配置LED灯驱动IC来是实现不同场景下的灯效 按键Key 麦克风阵列子板上集成五个控制按键 xff0c 分别为 xff1a 控制音量增减的VO
  • if选择结构

    if单选择结构 if双选择结构 if多选择结构 span class token keyword if span span class token punctuation span score span class token operat
  • Windows10下Eclipse+Python环境配置与新项目创建

    最近心血来潮 xff0c 突然想学一下python xff0c 按理说应该不用Eclipse xff0c 但是一想以后还可能会用Java xff0c 那还是装这个 xff0c 然后配置一下环境吧 xff0c 其中也有很多坑 xff0c 希望
  • 理解地址空间和逻辑地址生成

    1 1 地址空间 物理地址 xff1a 硬件 例如内存条 所支持地址空间 xff0c 地址空间的管理由硬件完成 逻辑地址 虚拟地址 xff1a 运行地址所看到的地址空间 xff0c 地址空间是一维的 xff0c 应用程序更加容易访问和管理
  • QT DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x800c000d ()

    使用QT播放音频的时候出现如下错误 DirectShowPlayerService doSetUrlSource Unresolved error code 0x800c000d 原因是url错误
  • 3种蓝牙架构实现方案(蓝牙协议栈方案)

    导言 不同的蓝牙架构可以用在不同的场景中 从而协议帧的架构方案也会不同 转载自 xff1a https www cnblogs com schips p 12293141 html 三种蓝牙架构实现方案 xff08 蓝牙协议栈方案 xff0
  • 驱动遍历句柄表

    xfeff xfeff 驱动遍历句柄表附加第二个方法的反汇编代码 其中还有对其拦截的方式的一些需要HOOK处比如伪造句柄表 因为大量使用硬编码所以此份代码通用性不强一切均在虚拟机XP3下操作 include 34 ntddk h 34 ty
  • Javascript案例:猜数字游戏

    要求 程序随机生成一个1 10之间的数字 xff0c 并让用户输入一个数字 如果大于该数字 xff0c 就提示 xff0c 数字大了 xff0c 继续猜如果小于该数字 xff0c 就提示 xff0c 数字小了 xff0c 继续猜如果等于该数

随机推荐

  • 操作系统之进程 (五) --- 进程、进程实体、PCB...

    文章目录 进程什么叫进程什么叫进程实体进程与进程实体的关系PCB的存储信息与分类 进程的组织方式链接方式索引方式 进程的特征总结感谢 进程 什么叫进程 进程和程序差不多 xff0c 他们有所联系也有所区别 我们以我们熟悉的程序入手 xff0
  • 如何让树莓派默认启动进入图形界面

    设置Raspbian图形启动 当你第一次安装Raspbian系统时 xff0c 确实有一些选项需要你来配置 xff0c 由于匆忙 xff0c 我没有注意到这些 xff0c 只是快速完成屏幕上的选项 如果你遇到了和我一样的情况 xff0c 最
  • ROS与stm32通信

    0 概述 ros和stm32等嵌入式单片机的最大区别在于ros主要用于处理slam 机器视觉 人工智能这种对于算力要求高 xff0c 算法复杂的问题 xff1b 而stm32和arduino等主要用来处理一些边缘事件 xff0c 比如亮个L
  • 硬件仪器的使用

    示波器的使用 用于红外捕捉 xff0c 一开始可以把探头扣在探头补偿的位置 xff0c 显示出一个正常的方波信号5V 1KHz 按下CH1的菜单 xff0c 能够弹出右边的选项 xff0c 注意设置为直流和10X电压 按下触发处的Menu菜
  • pytorch显存越来越多的一个潜在原因-- 这个函数还没有在torch.cuda.Tensor中定义

    最近在用pytorch跑实验 xff0c 有如下操作需要用到 xff08 pytorch版本为0 3 1 xff09 class SpatialFilter nn Module def init self mode 61 True sf r
  • KPI异常检测【一】- 时间序列分解算法

    目录 1 相关概念 2 常见的时间序列 3 时间序列分解 3 1 方法介绍 3 2 经典方法 3 3 Holt Winter 指数平滑 3 4 STL分解 4 异常准则 5 异常检测算法 1 相关概念 1 1 异常 时序异常检测通常形式化为
  • KPI异常检测【三】- 机器学习算法

    目录 1 相关概念 1 1 异常类型 1 2 检测方法 2 点异常检测算法 2 1 基于统计 2 2 基于相似度 2 2 1 基于距离 2 2 2 基于密度 2 2 3 基于聚类 2 2 4 基于树 2 3 基于谱 spectral 3 上
  • 手把手教你如何安装ROS+Gazebo+PX4开发环境(ubuntu18.04 + Melodic)

    参考PX4官网 xff0c 做如下总结 xff1a 1 安装 Ubuntu 43 ROS 步骤省略 xff0c 提前配置好梯子 xff0c 很多安装问题都是网络原因引起的 2 下载并安装PX4源码 git clone https githu
  • ROS+Gazebo+PX4仿真步骤

    本文参考链接 xff1a 入门教程 PX4 Gazebo仿真 知乎 zhihu com 1 参照上一个帖子 手把手教你如何安装ROS 43 Gazebo 43 PX4开发环境 xff08 ubuntu18 04 43 Melodic xff
  • ROS+Gazabo+PX4仿真学习常用网站记录

    1 PX4官网 xff1a PX4 User Guide 中文网站 xff1a https docs px4 io master zh ros mavros custom messages html 2 ROS Wiki xff1a cn
  • 如何订阅(Subscribe)现有功能包节点的话题,介绍实现思路

    我们从github或其他途径获取到的ROS功能包 xff0c 如何快速的加入到自己的工程里边 xff0c 下边介绍一下我实现的思路 1 首先运行功能包 xff0c 利用 rqt graph 命令查看 节点图 xff0c 对功能包的节点和话题
  • PX4仿真时,如何在Gazebo下添加物理环境

    1 安装Gazebo xff0c 步骤略 2 下载安装Gazebo需要的世界模型 xff0c 否则自动安装速度很慢 3 在Ubuntu终端里输入 gazebo xff0c 打开一个空的 Gazebo 界面 4 点击左上方的 insert x
  • 树莓派如何使用串口,树莓派连接pixhawk

    参考链接 xff1a xff08 写的非常详细 xff0c 下述方法亲测有效 xff09 pi 3 How do I make serial work on the Raspberry Pi3 PiZeroW Pi4 or later mo
  • 树莓派备份系统

    使用 rpi backup 脚本进行备份 首先下载该脚本 xff1a git clone https github com nanhantianyi rpi backup git cd rpi backup 用法 xff1a sudo ba
  • Linux和Windows可执行文件的区分

    一些后缀区分 现在PC平台流行的可执行文件格式 xff08 Executable xff09 xff0c 主要有以下两种格式 xff08 COFF xff08 Common file format xff09 格式的变种 xff09 xff
  • 树莓派+ubuntu18.04+ROS-melodic+MAVROS+librealsense+vio+realsense_ros

    目录 一 树莓派安装ubuntu18 04 1 下载ubuntu系统文件 2 将系统文件烧入SD卡 3 强制修改HDMI输出分辨率 xff08 此步骤可忽略 xff09 4 设置wifi xff08 此步骤也可忽略 xff0c 后续连接网线
  • APM+Gazebo 垂起固定翼VTOL软件在环仿真

    APM 43 Gazebo 垂起固定翼VTOL软件在环仿真 1 APM软件环境下载并安装APM固件加入环境变量 2 运行APM仿真3 Gazebo环境安装4 增加VTOL模型5 多机仿真6 使用mavros 1 APM软件环境 参考官网链接
  • 进程间通信的五种方式

    进程间通信的意思就是在不同进程之间传递信息 它是一组编程接口 xff0c 让程序员协调不同进程 xff0c 使能够相互传递消息 IPC目的 1 xff09 数据传输 xff1a 一个进程需要将它的数据发送给另一个进程 xff0c 发送的数据
  • Arduino采集Microzone遥控器信号(ROSMicrozoneBridge)

    关注微信公众号 混沌无形 xff0c 后台回复 xff1a 13462F6 免费获取完整工程源码 xff01 本文采用Arduino mega2560的6个外部中断来采集Microzone接收机的6个通道的PPM信号 xff0c 主要是测量
  • 路径规划之基于优化的规划算法

    关注同名微信公众号 混沌无形 xff0c 阅读更多有趣好文 xff01 原文链接 xff1a 机器人曲线插值拟合算法研究现状简述 xff08 包含原文PDF百度云下载链接 xff09 第三类算法是主要是将多目标多变量多约束耦合的规划模型转化