smac 路径优化器分析——距离成本和代价地图成本分析

本文详细解释了泰勒级数在SMAC路径优化器中的应用,探讨了距离成本和代价地图成本函数,以及如何通过中心差分法计算成本梯度。对比了原始路径与优化后的路径,展示了代价地图成本优化对路径平滑的影响。
摘要由CSDN通过智能技术生成

参考

泰勒级数直观详解

前向差分,后向差分,中心差分

相关文章

smac 路径优化器分析——平滑度成本分析

smac 路径优化器分析——曲率成本分析

距离成本

距离成本函数

用优化后的点与原路径点的欧氏距离的平方作为成本。

下图中蓝色原点是原路径点,红色原点是优化后路径点。

fig.1 距离成本示意图

距离成本函数为:

Cost_{distance}=\overrightarrow{(p_i-x_i)} \cdot \overrightarrow{(p_i-x_i)}

p_i 是优化后的路径点,x_i 是原路径点。

距离成本梯度函数

距离成本函数表示为:

Cost_{distance}=\overrightarrow{(p_i-x_i)} \cdot \overrightarrow{(p_i-x_i)}= (p_{ix}-x_{ix})^2+(p_{iy}-x_{iy})^2

偏导数可以得到:

\frac{\partial{p_i}}{\partial x}=2*(p_{ix}-x_{ix})

\frac{\partial{p_i}}{\partial y}=2*(p_{iy}-x_{iy})

代价地图成本

代价地图成本函数

Smac 直接使用路径点所在的 costmap2D 地图栅格的代价值的平方作为代价地图成本。
下图中黄色圆点表示路径点,背景是 costmap2D 地图。

fig.2 代价地图成本示意图

代价地图成本函数为:

Cost_{costmap}=(costmap.getCost(p_{ix}, p_{iy}))^2

代价地图成本梯度函数

按源码提示是根据泰勒级数展开计算的,但是我颠来倒去都推导不出源码的公式。゚(TヮT)゚。

如果是使用中心差分法,那么 Δh 步进越小,计算得到的梯度才越精确。在栅格地图中最小自变量偏移是 1 个栅格。

令 f(x)=costmap.getCost(x),那么代价地图成本为 c(x)=f(x)^2,根据中心差分法,在点 a 处对 x 求偏导有

\begin{aligned} \frac{\partial c(x,y)}{\partial x} &= \frac{\partial f(x_a,y_a)^2}{\partial x} \\ &= 2*f(x_a,y_a)*f'(x_a,y_a) \\ &=2*f(x_a,y_a) \frac{f(x_a+1,y_a)-f(x_a-1,y_a)}{2} \\ &=f(x_a,y_a)(f(x_a+1,y_a)-f(x_a-1,y_a)) \end{aligned}

同理,在点 a 处对 y 求偏导有

\frac{\partial c(x,y)}{\partial y}=f(x_a,y_a)(f(x_a,y_a+1)-f(x_a,y_a-1))

代价地图梯度函数优化对比

smac 的 smoother 路径平滑器仅打开代价地图成本和距离成本函数和成本梯度函数的优化对比。
绿色路径是随机生成的路径,红色路径是 smac 源码优化后的路径,黄色路径是使用本文代价地图成本梯度函数优化后的路径。由于路径的起点和终点并不参与优化过程,所以起点和终点的位置始终不会变,这里的路径发布我去掉了优化后路径的终点。

新旧对比代价梯度-红旧黄新


为了观察清楚代价地图成本优化效果,costmap2d 的膨胀半径增大,同时将代价缩放因子调整到合适的参数,使得代价值能够平缓地在膨胀半径边缘降到最低。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SMAC音圈电机驱动器说明书提供了对SMAC音圈电机驱动器的详细介绍和操作指南。SMAC音圈电机驱动器是一种先进的驱动技术,用于控制音圈式电机的运动。 首先,在说明书中介绍了SMAC音圈电机驱动器的基本原理和结构。它由一套高精度的传感器、控制器和驱动器组成,利用PWM(脉宽调制)技术来控制音圈电机的运动。音圈电机是一种特殊的无心驱动器,具有快速、精确和无摩擦的特点,非常适用于需要高精度和高速度的应用领域。 接下来,说明书详细介绍了SMAC音圈电机驱动器的安装步骤和操作方法。它提供了安装和连接的图文说明,以确保用户能够正确地安装和接线。同时,说明书还介绍了如何使用控制器和驱动器来控制音圈电机的运动。用户可以根据自己的需求进行参数设置和运动模式选择,以满足不同应用场景的要求。 此外,说明书还包含了维护和故障排除的内容。它提供了常见故障的排查方法和解决方案,以帮助用户在出现问题时快速解决。同时,还介绍了如何进行日常的维护和保养,以确保SMAC音圈电机驱动器的稳定运行和长寿命。 总之,SMAC音圈电机驱动器说明书是一份详细而全面的用户手册,为用户提供了对SMAC音圈电机驱动器的全面了解和操作指导。它为用户使用和维护SMAC音圈电机驱动器提供了帮助,使其能够充分发挥其优异的性能和功能。 ### 回答2: SMAC音圈电机驱动器是一种先进的机械驱动器,特别适用于需要高精度和高速的应用。该驱动器采用了音圈电机技术,具备出色的控制性能和可靠性。 首先,SMAC音圈电机驱动器具有精准的位置控制能力。它能够实现微米级的定位精度,适用于需要高度精确定位的工业应用。其控制系统采用了先进的闭环反馈机制,可以实时监测驱动器的位置,并根据预设的位置要求进行调整和校准,从而确保了最高的精度和可靠性。 其次,SMAC音圈电机驱动器具有卓越的动态性能。它能够迅速响应控制指令,并实现高速运动。与传统的电机驱动器相比,SMAC音圈电机驱动器具有更快的加速和减速能力,从而大大缩短了运动时间,提高了生产效率。 此外,SMAC音圈电机驱动器还具有可编程的功能。用户可以通过软件界面对驱动器的参数进行调整和设定。这样可以根据不同的应用需求,灵活地调整驱动器的工作模式和参数,使其更好地适应不同的工作环境和工作要求。 总结起来,SMAC音圈电机驱动器是一种先进、高性能的驱动器,具备精准的位置控制、卓越的动态性能和可编程的功能。它可以广泛应用于机械自动化、半导体制造、医疗设备等领域,为工业生产提供了更高效、更可靠的解决方案。 ### 回答3: SMAC音圈电机驱动器是一种先进的驱动设备,专为音圈电机设计。音圈电机是一种特殊的电动机,具有快速响应和精确控制的特点。SMAC音圈电机驱动器的说明书提供了关于该驱动器的详细信息和使用说明。 首先,说明书介绍了SMAC音圈电机驱动器的基本原理和工作方式。它使用了先进的控制算法和传感器技术,能够实时监测和调整电机的位置和速度。同时,它还具有高精度的位置控制和动态响应能力,可以实现微米级的运动控制。 其次,说明书详细介绍了SMAC音圈电机驱动器的参数和性能。包括最大速度、最大加速度、最大负载等技术指标,用户可以根据自己的需求选择合适的型号和规格。此外,说明书还提供了安装和连接方法,确保驱动器能够正确地与电机和控制系统配合工作。 然后,说明书提供了关于SMAC音圈电机驱动器的使用和维护的指导。它详细描述了驱动器的各种控制模式和操作方法,用户可以根据需要选择适合的模式来实现不同的运动控制。同时,说明书还介绍了常见的故障排除方法和维护保养建议,帮助用户更好地使用和保护驱动器。 最后,说明书还包括了驱动器的安全使用注意事项和技术支持联系方式。用户在使用过程中需要遵守相关安全规定,以确保安全使用。同时,如果用户在使用过程中遇到问题,可以及时联系技术支持人员获得帮助和指导。 综上所述,SMAC音圈电机驱动器说明书全面介绍了该驱动器的原理、参数、使用方法和维护保养,帮助用户更好地理解和使用该驱动器。它是用户正确、高效使用SMAC音圈电机驱动器的重要参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值