Trajectory Generation——机器人运动轨迹生成 learn & mark:

一般来说控制机器人(or Motor)运动一个轨迹需要经过这些步骤:

  • 操作空间轨迹规划(直线和圆弧就比较简单了,如果是未知的轨迹例如壁障,可通过概率路标-sample based,快速扩展随机树-RRT,tree based等算法生成的壁障轨迹 (google OMPL)。想学习 A* 算法,点这里
  • 以时间(或者距离,误差精度and其他)为参数,获得轨迹上的MultiPoints,或者生成pvt数据,再通过机器人逆运动学和雅克比求得关节空间的位置和速度—关节空间pvt数据。
  • 重要的一步,generate reference inputs to motion control system:如果是PTP运动,则在关节空间通过梯形或者 double S 规划获得需要运动的轮廓轨迹;如果是连续轨迹运动,则通过多个点的样条插值,生成光滑的轨迹(cubic spline—加速度连续)。通常来说生成光滑的轨迹一般会结合拟合和插值两种算法(因为通过CAM软件或者其他软件生成的轨迹一般不会直接用来输出,需要通过拟合或者插值算法来使得轨迹的速度和加速度满足约束,否则会对机器造成很大的震动等。)。
  • 再通过 pid 或者 piv 算法跟踪生成的轮廓轨迹,加个速度前馈(即驱动器上的速度偏置)能有更好的动态响应。

在工业应用上,一般走个直线或者圆弧就基本上能处理大多数的轨迹了,涉及到未知空间的轨迹规划还是应用比较少,所以操作空间一般来说轨迹比较简单,就不介绍了。

这里主要简单介绍一下不同轨迹生成的算法区别:

PTP

梯形 ( 即 Linear Segments with Parabolic Blends —LSPB ):
这里写图片描述
优点:就是简单粗暴,能够很方便计算出速度、加速度是否超限。
缺点:加速度不连续

Double S:
这里写图片描述
优点:优点多多滴
缺点:计算复杂,存在无解的情况。

MultiPoint

起点和终点速度不定(v0=0.1, v1=0.2),为了速度和加速度不超限,需要调整同步时间。

速度连续的:
这里写图片描述

加速度连续的 (端点处都为0):
这里写图片描述

方法 see link: Jerk-bounded manipulator trajectory planning

Want more? This will give you an ans:
1. http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html
2. https://www.redblobgames.com/pathfinding/a-star/introduction.html (超级形象的 A* 算法 step by step)
3. 一份ppt

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值