高分求控制物体移动的算法!

su27su35 2005-07-22 05:10:11
要求:在获得了某一物体将在t时间内移动m米这个情报后,通过算法来控制物体的“(变)加速-匀速-(变)减速”或其它的不规则运动。不知有没有好的数学模型来支持此算法的实现啊。

希望得到各位的指点,小弟在此叩谢各位大虾了!!!
...全文
222 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
linuxfly 2005-08-30
  • 打赏
  • 举报
回复
补充一下 “t时间内移动m米”这个条件太少了,我估计你是通过某种装置观测得出的这个条件,那么你有没有办法改变些什么东西,可以让t时间走1米,2米或者n米呢?

你这个东西要动肯定要有作用力F的,看看能不能通过什么来改变F,再看看是否可以测量出阻力系数
如果可以得话就能够用我上面说的方法随心所欲的控制了
linuxfly 2005-08-30
  • 打赏
  • 举报
回复
呵呵,我最近也在研究类东西,自控里面的一阶惯性系统

首先我来假设一个类似的系统,一个物体P受到受到F的作用力做直线变加(减)速运动,其中受到阻力T的影响,T = -f_drag * v,也就是说
F - T = ma 公式 0.1
=> F + f_drag * v = m * dv / dt 公式 0.2

其中
F是物体的作用力(F大于0做加速运动,F小于0做减速运动)
v是物体p的速度
f_drag是阻力系数,这里假设阻力是恒定的(f_drag为0物体做匀加(减)速运动,否则做变加(减)速运动)
m是物体p的质量
t是在F作用力持续的时间
通过变换可以得到vt和v0、F、t之间的关系

vt = f1(v0, F, t) 公式1
同样可以得出
v0 = f2(vt, F, t) 公式2
F = f3(v0, vt, t) 公式3
t = f4(v0, vt, F) 公式4

其中 vt是下个t时刻后物体的速度(t时间内作用力F不变)
根据上面的公式通过在不同的时刻改变作用力F,就可以任意控制物体p的速度,能够控制速度,当然就能够控制p的位置了

举个例子,当前p正以3米/秒的速度前进,要想在下个时刻(t=1)让p变成4米/秒,那么只将v0 = 3m/s, vt = 4m/s, t=1带入公式3,就得到了F = f3(3, 4, 1)
p的速度从3米/秒变到4米/秒,当然p走过的距离为4罗。

如上面 Zephyrzzz() 兄所说a=d^2(x)/d(t^2)
你还可以把上面的公式0.2改成F + f_drag*v = m * d^2(x)/d^2(t) 公式0.3

便可推导出
xt = f5(x0, F, t) 公式5
x0 = f6(xt, F, t) 公式6
F = f7(x0, xt, t) 公式7
t = f8(x0, xt, F) 公式8

关键看你作用力F的大小的限度是多少,是连续的还是分段的,各个作用力下阻力是否相同,这些都要对实际要控制的系统测试来得出结论

呵呵,上面的公式0.2和0.3你自己通过解微分方程得到公式1和5,然后通过高中的代数知识得到公式2 3 4 6 7 8

上面的模型在控制电机转动时同样适用

你走运碰到我了,够清楚了吧,给分吧

另外问一下,这个题目是做什么的?
寻开心 2005-08-26
  • 打赏
  • 举报
回复
感觉像电机的控制啊

L米分成三段,L1,L2,L3
L1用时间为t1,为加速段 加速度为g1>0
L2用时间为t2,为匀速段 加速度g2=0
L3用时间为t3,为减速段 加速度为g3<0

t1+t2+t3=t
L1+L2+L3=L

电机在无阻力的模型下,
g1=-g3
t1=t3
L1=L3

L1 = L3 = 0.5*g*t1*t1
L2 = g*t1 * t2

解方程:
t1 + t2 + t1 = t
g*t1*t1 + g*t1*t2 = L
g,t,L已知,可以计算出t1,和t2

ZeroGts 2005-08-19
  • 打赏
  • 举报
回复
不明白你的意思
xiaocai0001 2005-08-19
  • 打赏
  • 举报
回复
t时间内移动m米
----------------------
就这一个条件,太复杂了
应该还有速度的上下限以及加速度的上下限,否则没办法去算
只能用随机数去模拟。
如果没有限制的话,我可以在t-△t时间里只移动了△m距离
在后面△t时间里可以以一个很大的加速度运动完m-△m。
所以说应该还有限制,以及终止及初始条件
chenqiu1024 2005-08-19
  • 打赏
  • 举报
回复
线性预测也许会有优化作用.查查有关线性预测的资料.
xiaoxiaofei 2005-07-25
  • 打赏
  • 举报
回复
这个是动态控制的过程,主要用于电机的运动控制。
完备的模型应该不存在,只能不停的计算,不停的比较,然后控制;误差不会消除,看你能不能接受了。就是我在1楼说得那样,你试试看,具体的我没做过,不敢乱说。
zzwu 2005-07-25
  • 打赏
  • 举报
回复
还是不能明白你的意思:

你只是知道一个信息,如何"通过多项参数"来完成不同运动状态的控制呢?
su27su35 2005-07-24
  • 打赏
  • 举报
回复
回复zzwu(未名)
就是因为目前只知道"t时间内移动m米",而具体的运动情况并不清楚,需要根据实时的状态来判断,所以在设计这个算法的时候希望能够处理尽可能多的情况.我的想法是希望建立一个比较好的数学模型,通过多项参数来完成不同运动状态的控制.
xiaoxiaofei 2005-07-23
  • 打赏
  • 举报
回复
变加速减速用程序来实现,其实就是匀加速减速,把加速度路程时间等当成参数,然后对离散化的时间进行计算,和你的要求进行对比,然后递归调用函数,直到达到速度上限或者速度为0等。

注意,要对路程实时判断控制,来决定对递归函数的调用。
Zephyrzzz 2005-07-23
  • 打赏
  • 举报
回复
a=d^2(m)/d(t^2)
zzwu 2005-07-23
  • 打赏
  • 举报
回复
根据"t时间内移动m米"这个情报,不能确定物体的运动情况,
因为,物体的移动不一定是等速的,可以是变速的,也可以断断续续的,
它们都可以达到使"t时间内移动m米"的效果.

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧