Minimum jerk / Minimum snap后端轨迹优化

这篇具有很好参考价值的文章主要介绍了Minimum jerk / Minimum snap后端轨迹优化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一般的,在机器人路径规划的前端路径搜索产生的轨迹往往是以折线的形式展现出来,而机器人在实际的运动中,如果按照前端生成的轨迹跟踪,机器人需要在折点停下来然后再进行下一段的运动,这种运动方式对机器人的能量消耗非常大,所以需要在后端对轨迹进行优化,在中间的路径点(折点)上必须平滑,生成一个符合动力学规划的运动轨迹。

什么是 jerk 和 snap

根据深蓝学院路径规划的课程中的介绍:
Minimum jerk / Minimum snap后端轨迹优化jerk 代表的是 Position 位置对时间的三阶导数;snap 代表的是 Position 位置对时间的四阶导数;
minimum jerk :最小化角加速度变化,利于视觉追踪
minimum snap:推力的微分最小化,节省能量

jerk对应的是推力、角速度,jerk最小化使得角速度最小,可以使得视觉方向的处理方便(图形畸变更小)。
snap对应的是推力的倒数,snap最小化使得推力变化速度最小化,来节省能量。

Minimum jerk / Minimum snap

通过计算最小化 jerk 或者snap 来获得一个最佳符合机器人运动规划的轨迹。以snap为例:
一般的,轨迹生成条件:
边界条件:起点、终点状态(位置、速度、加速度等)
中间点:可有 A^* 、 R R T^* 算法提供
评价函数:通过评价函数得到轨迹的平滑性指标。

每一段评价函数设置为:
Minimum jerk / Minimum snap后端轨迹优化
首先 4 阶导代表的是 snap ,平方是为了防止正负相消,和求方差的道理一样。然后在一段轨迹的时间范围内进行积分,就得出了这一段轨迹的代价值。

将每一段轨迹的代价加起来,加入边界点条件和中间点条件,得到整个轨迹的代价。求解最小代价值实际上是求一个QP问题,用多项式表示的轨迹求多项式的参数矩阵,可以把我们的约束条件直接放入一个QP求解器,获得最优化的参数矩阵。

Minimum jerk / Minimum snap 应用

利用 ROS & C++ 实现的 Minimum jerk / Minimum snap 例程 ,需要在配置文件中设置好约束条件,(路径点、每一段轨迹的时间)
Minimum jerk / Minimum snap后端轨迹优化
获得经过设置好的点的优化路径,在 rviz 中显示:
Minimum jerk / Minimum snap后端轨迹优化
源码地址:Github获取,有用点个star文章来源地址https://www.toymoban.com/news/detail-478601.html

到了这里,关于Minimum jerk / Minimum snap后端轨迹优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人轨迹生成:轨迹规划与路径规划

    机器人轨迹生成涉及到轨迹规划和路径规划两个关键概念,它们是机器人运动控制中的重要组成部分。下面对轨迹规划和路径规划进行深入比较。 轨迹规划(Trajectory Planning): 定义:轨迹规划是指在机器人运动中确定机器人末端或关节的期望轨迹。它是在特定的工作空间中

    2024年02月12日
    浏览(48)
  • 机器人-轨迹规划

    旋转矩阵--R--一个3*3的矩阵,其每列的值时B坐标系在A坐标系上的投影值。 代表B坐标系相对于A坐标系的姿态。 其实A相对于B的旋转矩阵就相当于把B的列放到行上就行。 视频  (将矩阵的行列互换得到的新矩阵称为转置矩阵。) 所以说B相对于A的旋转矩阵就是A相对于B的旋转

    2024年04月28日
    浏览(41)
  • Matlab机器人的仿真(八):绘制机器人运动轨迹(复现)

    跑一得出运动轨迹的动图结果: 跑二得出的绘出6个关节的角度,角速度,角加速度的信息图: 跑三得出的结果:末端点轨迹(x-y-z视图)

    2024年02月11日
    浏览(50)
  • 机器人期末复习 第五章 轨迹规划

    学习目的: 理解轨迹规划原理;学会用轨迹规划处理实际问题。 学习内容: 轨迹规划原理;关节空间的轨迹规划;直角坐标空间的轨迹规划;连续轨迹记录。 根据前几章可知,只要知道机器人的关节变量就能确定机器人的位置,或者已知机器人的位置就能确定相应的关节变

    2024年02月05日
    浏览(49)
  • ROS仿真机器人实现Rviz轨迹显示

    一、实现效果 红色为行驶过的轨迹 二、实现方法 1、导航包中创建.cpp文件,并将以下代码复制进去 2、CMakeLists当中添加可执行文件及链接库 3、启动导航的launch文件中添加启动该cpp文件 三、代码

    2024年02月15日
    浏览(52)
  • 基于Matlab开发的动态机器人轨迹仿真

    基于Matlab开发的动态机器人轨迹仿真 近年来,机器人技术的发展已经进入了高速发展时期。控制与仿真技术作为机器人领域中至关重要的一环,也随之发展壮大。而在动态机器人轨迹仿真方面,Matlab作为一款具备强大数学计算能力的软件,在该领域中得到广泛应用。 本文将

    2024年02月03日
    浏览(49)
  • 【RTB机器人工具箱学习记录】轨迹规划实例

    给定位置: 位姿插值: trinterp() trinterp(T0, T1, M) ​ T0:初始变换矩阵 ​ T1:结束变换矩阵 ​ M: 线性插值轨迹动画:(轨迹如上图左所示) 五次多项式插值轨迹动画:(轨迹如上图右所示,和上面用mtraj遍历方式的轨迹相同) 笛卡尔轨迹 ctraj() : TC = ctraj(T0, T1, N) ​ T0:初始变

    2023年04月22日
    浏览(47)
  • 读取机器人移动轨迹并在RVIZ界面中显示

    机器人在巡检过程中需要沿着固定路线执行任务,因此可以先把机器人的移动轨迹录制并保存下来,之后读取轨迹,方便后续操作。 巡检导航过程中,机器人需要确定好坐标系,以便进行定位与导航,在gazebo仿真下可以选择world坐标系,在实际使用中通常使用的是map坐标系,

    2024年02月04日
    浏览(37)
  • 【轨迹跟踪】基于自适应跟踪(EAT)方法的无人机/移动机器人轨迹跟踪(Matlab&Simulink)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码Simulink实现 摘

    2024年02月07日
    浏览(46)
  • 无人驾驶动态避障策略调研 | 机器人动态避障策略 | 行人轨迹预测 | 机器人导航

    最近在研究机器人协同路径规划策略,发现现有paper中的obstacle都是静态的,但是在实际场景中,常有动态障碍的情形,如走动的行人等等。 为了更好的了解相关技术,我开始调研无人驾驶领域中的动态避障策略: 无人驾驶技术是多个技术的集成,包括了传感器、定位与深度

    2023年04月08日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包