我正在研究机器人项目的一些轨迹生成。它在步态周期内上下移动机器人的躯干。在MATLAB中创建2点(缓动)之间的S曲线
当我改变躯干的设定值时,我使用linspace()
在当前位置和所需位置之间创建一条直线。不过,我想减轻线的开始和结束。我想要创建一个S曲线,以防止线路开始和结束时的冲击。
我曾看过使用sigmoid函数sigmf(x,[a c])
,但我不知道依赖关系是a
和c
变量关于2点之间的距离。
如何使用MATLAB在2点之间生成平滑的S曲线以缓解线的端点?
实施例:
我有2点:y = 0.9
和y = 0.3
。我需要创建一个S曲线开始于x=0
,并结束于x=1000
x轴永远是0
和1000
之间的Y轴总是会内[0 1]
或[1 0]
查看我的回答。对于两个未知常数a和c,有两个方程。为了让它们在(x1,y1)和(x2,y2)之间平滑过渡,解决这个问题很容易。 – duffymo