我的设计是将弦固定在$ C $和$ D $点上,这导致其行为与普通绘图仪有所不同,尤其是在靠近电动机的情况下。
我能够很容易地算出正向运动学,但逆向运动学却确实令人头疼。您可以在math.stackexchange上看到我对标准几何解决方案的尝试。
在计算机器人运动学方面是否有什么对我有帮助的东西?我对讨论笔的重心,电缆重量...等也不感兴趣。我想以此为理想的系统来计算运动学。
任何人和所有建议都值得赞赏。
#1 楼
我假设输入是E的X和Y坐标。在这种情况下,除非您也知道方向,否则没有简单的方法来计算C和D的坐标。
I会在A和B周围写两个参数化的圆或距离方程。
$ C_x $,$ C_y $和$ D_x $和$ D_y $未知。 (该系统中有4个未知数和2个方程式)
可以写出从E到D的距离以及从E到C的距离,因此有一个系统包含4个方程式和4个未知数,除了未知数外,所有其他参数都应该已知。
解决C和D坐标并计算到A和B的距离,即可完成。我不认为方程组会有明确的解决方案,但可以使用数值解算器(如Newton-Raphson)来迭代求解。
或搜索5 bar连杆逆运动学,也许将启发解决方案。
#2 楼
好吧,这是一项正在进行的工作。基本上,在使用基于三角形的方法可以解决之后,我决定重新考虑这个问题,但是需要大量的代数(至少就我而言)可能会解决)。
新方法是不要将系统视为三角形系统,而应将其视为梯形,例如:
对于我们的第一次通过,我们完全忽略了拉丝头的倾斜以简化工作。
$ C,D,E,F $的几何形状是已知的。仅电缆$ AC $和$ BD $的长度发生变化。我们想找到的是正向和逆向运动学方程,它们将$ AC $和$ BD $的长度与$ F_x,F_y $关联起来。我们需要找到的另一个等式将$ F_x,F_y $与$ AC $和$ BD $的长度相关。
让我们从知道$ AC $和$ BD $的长度时找到$ F_x,F_y $开始。
我们将使用由三个方程组成的系统。前两个方程是中心为$ A $和$ B $的圆,第三个方程是$ CD $是已知长度,我们称其为$ w $。
$$ C_x = A_x + \ sqrt {L_ {AC} ^ 2-A_y ^ 2 + 2A_yC_y-C_y ^ 2} \ tag1 $$
$$ D_x = B_x- \ sqrt {L_ {BD } ^ 2-B_y ^ 2 + 2B_yD_y-D_y ^ 2} \ tag2 $$
$$ D_x-C_x = w \ tag3 $$
因为$ A_y,L_ {AC}, B_y $和$ L_ {BD} $是已知的,假设$ \ alpha = L_ {AC} ^ 2-A_y ^ 2 $,$ \ beta = L_ {BD} ^ 2-A_y ^ 2 $其中$ A_y = B_y $。
我们还知道$ C_y = D_y $可以将等式简化为:
$$ C_x = A_x + \ sqrt {\ alpha + 2A_yC_y-C_y ^ 2 } \ tag1 $$
$$ D_x = B_x- \ sqrt {\ beta + 2B_yD_y-D_y ^ 2} \ tag2 $$
$$ D_x-C_x = w \ tag3 $$
将$(1)$和$(2)$放入$(3)$中,我们发现:
$$ \ left(B_x- \ sqrt {\ beta + 2B_yD_y-D_y ^ 2} \ right)-\ left(A_x + \ sqrt {\ alpha + 2A_yC_y-C_y ^ 2} \ right)= w \ tag4 $$
分配术语并重新组织,我们可以找到:
$$ \ sqrt {\ beta + 2B_yD_y-D_y ^ 2} + \ sqrt {\ alpha + 2A_yC_y-C_y ^ 2} = B_x-A_x-w \ tag4 $$
我们也可以说$ \ gamma = B_x-A_x-w $来进一步简化事情。
$$ \ sqrt {\ beta + 2A_yC_y-C_y ^ 2} + \ sqrt {\ alpha + 2A_yC_y-C_y ^ 2} = \ gamma \ tag4 $$
对于$ y $,我们发现:
$$ C_y = \ frac {8 \ gamma ^ 2 A_y- \ sqrt {64 \ gamma ^ 4 A_y ^ 2-16 \ gamma ^ 2(\ alpha ^ 2-2 \ alpha \ beta-2 \ alpha \ gamma ^ 2 + \ beta ^ 2-2 \ beta \ gamma ^ 2 + \ gamma ^ 4})} {8 \ gamma ^ 2} \ tag5 $$
然后我们可以将该答案重新插入$(1)$以获得$ C_x,C_y $。然后,$ F_x $由$ F_x = C_x + \ frac {w} {2} $给出,而$ F_y = C_y-h $
现在,当我们有$ F_x $和$ F_y $,并想找到$ AC $和$ BD $的长度。
首先我们发现$ C $和$ D $相当琐碎,因为我们知道那里的几何形状并且可以说:
$$ C_x = F_x-\ frac {w} {2} $$
$$ C_y = F_y + h $$
$$ D_x = F_x + \ frac {w} {2 } $$
$$ D_y = F_y + h $$
根据毕达哥拉斯定理,我们可以直接将长度$ L_ {AC} $和$ L_ {BD} $计算为:
$$ L_ {AC} = \ sqrt {{(A_x-C_x)} ^ 2 + {(A_y-C_y)} ^ 2} \ tag6 $$
$$ L_ { BD} = \ sqrt {{((B_x-D_x)} ^ 2 + {(B_y-D_y)} ^ 2} \ tag7 $$
评论
$ \ begingroup $
是否确定CDF三角形具有固定的零方向?您的问题表明您对包括重心在内的解决方案不感兴趣。
$ \ endgroup $
– 50k4
16-10-17在7:10
$ \ begingroup $
如果您更改了机械原理以免发生倾斜,您将使自己的生活变得更加轻松。
$ \ endgroup $
–弯曲单元22
16-10-17在17:00
$ \ begingroup $
CDF没有固定的零方向,但是正如@ BendingUnit22指出的那样,它显着简化了数学运算,因此对于第一个近似值,我将假设它确实如此。
$ \ endgroup $
– Bar Smith
16-10-17在22:20
$ \ begingroup $
@Bar Smith,您为什么倾向于保持系统不变而不进行机械更改?在工程中以最复杂的方式做事很少有加分。而且,当您(可以理解)努力为静态情况下看似不必要的复杂机制进行数学运算时,我想指出,该绘图仪可能应该四处移动并且对动态系统进行建模不会更容易。祝您好运,编写控制算法,以便将笔尖放在想要画些东西的位置。
$ \ endgroup $
–弯曲单元22
16-10-17在22:36
#3 楼
对于此答案的所有努力和贡献归功于Keith Selbo,我只是在这里重现他的工作以公开进行解释。悬架长度说明了悬架锚的雪橇倾斜度和有限半径。绘图仪,可从两个点悬挂router刨雪橇,并通过改变悬挂线的长度使其绕着绘图表面移动。这种发展包括一个质心不与绘图仪钻头同位的雪橇,从而使雪橇采取一定角度的倾斜,在该角度下,雪橇质量的力矩抵消了由测力计施加的横向和垂直力施加的净力矩。雪橇悬挂。还覆盖了由于吊钩或链轮的有限半径而导致的悬架锚定点的绘图原点偏移,该锚栓或链轮用于随着雪橇的移动而展开和收起悬架线。这种偏移导致悬架的有效锚点移动,进而影响雪橇的平衡倾斜。该算法的输入是绘图仪的几何形状以及所需位放置的x和y坐标。输出是左右悬挂线的长度。它包括从滑板处的附件到悬架锚上可变切线的直线部分,以及从切线到锚定盘顶部中心的直线弯曲部分。
滑板的倾斜角度以及可变的左右锚点会在三个未知数中生成三个非线性方程。将悬挂线(见图)的假想延长线添加到y轴的锚点(切线)上的权宜之计允许使用仅在y方向上变化的伪锚点,从而简化了方程式和计算。一个简单的变换就可以在获得解后校正线长。该转换包含在悬吊线长度的最终方程式中。
没有明显的闭合形式的方程解,因此使用牛顿-拉夫森算法的多元变量来估计三个未知数。
净力:
$$ \ vec {f} _ {y_1} + \ vec {f} _ {y_2} = -\ vec {W} \ tag {a} $$
$$ \ vec {f} _ {x_1} + \ vec {f} _ {x_2} = 0 \ tag {b} $$
净力矩:
$$ \ vec {h_1} \ times \ vec {f} _ {y_1} + \ vec {h_2} \ times \ vec {f} _ {y_2 } + \ vec {h_3} \ times \ vec {W} = 0 \ tag {c} $$
定义:
$$ \ vert \ vec {h_1} \ vert = \ vert \ vec {h_2} \ vert = h \ tag {d} $$
$$ \ vert \ vec {h_3} \ vert = h_3 \ tag {e} $$
$$ \ vert \ vec {f_ {x_1}} \ vert = \ vert \ vec {f_ {x_2}} \ vert = fx(f)\ tag {f} $$
$$ \ vert \ vec {W} \ vert = W \ tag {g} $$
$$ \ phi_1 = \ theta-\ phi,\ phi_2 = \ theta + \ phi \ tag {h} $$
矩交叉产品:
$$ \ vert \ vec {h_3} \ vert \ vert \ vec {W} \ vert \ sin {\ phi} + \ vert \ vec {f_ {x_2}} \ vert \ vert \ vec {h_2} \ vert \ sin {\ phi_2}-\ vert \ vec {f_ {x_1}} \ vert \ vert h_1 \ vert \ sin {\ phi_1} + \ vert \ vec {f_ {y_1}} \ vert \ vert \ vec {h_1} \ vert \ cos {\ phi_1}-\ vert \ vec {f_ {y_2}} \ vert \ vert \ vec {h_2} \ vert \ cos {\ phi_2} = 0 \ tag {i} $$
鉴于:
$$ \ tan {\ gamma} = \ fr ac {y + y_1 ^ +-h \ sin {\ phi_1}} {xh \ cos {\ phi_1}} \ tag {j} $$
和:
$$ f_ { y_1} = fx \ tan {\ gamma} $$
$$ \ tan {\ gamma} = \ frac {y + y_2 ^ +-h \ sin {\ phi_2}} {D-( x + hcos {\ phi_2})} \ tag {k} $$
$$ fy_2 = fx \ tan {\ lambda} \ tag {l} $$
组合$(a),(j)$和$(l)$会产生:
$$ W = fx(\ tan {\ lambda} + \ tan {\ gamma})\ tag {m } $$
$$ \ frac {W} {tan {\ lambda} + tan {\ gamma}} = fx \ tag {n} $$
然后净矩为零的情况如下:
$$ h_3W \ sin {\ phi} + \ left \ vert \ frac {Wh} {\ tan {\ lambda} + \ tan {\ gamma}} \ right \ vert(\ sin \ phi_2-\ sin \ phi_1 + \ tan \ gamma \ cos \ phi_1-\ tan \ lambda \ cos \ phi_2)= 0 \ tag {o} $$
简化为:
$$ f(\ phi)= h_3 \ sin {\ phi} + \ left \ vert \ frac {h} {\ tan {\ lambda} + \ tan {\ gamma}} \ right \ vert(\ sin \ phi_2-\ sin \ phi_1 + \ tan \ gamma \ cos \ phi_1-\ tan \ lambda \ cos \ phi_2)= 0 \ tag {1} $$
从图中的链轮详细信息:
$$ y_1 ^ + = r \ sqrt {1 + tan ^ 2 \ gamma} \ tag {p} $$
其中收益
$$ \ tan \ gamma = \ frac {\ sqrt {{(y_1 ^ +)} ^ 2-r ^ 2}} {r} = \ frac {y + y_1 ^ +- h \ sin \ phi_1} {xh \ cos \ phi_1} \ tag {q} $$ br
或
$$ \ frac {\ sqrt {{(y_1 ^ + )} ^ 2-r ^ 2}} {r}-\ frac {y + y_1 ^ +-h \ sin \ phi_1} {xh \ cos \ phi_1} = 0 \ tag {2} $$
类似
$$ \ frac {\ sqrt {(y_ 2 ^ +)^ 2-r ^ 2}} {r}-\ frac {y + y_2 ^ +-h \ sin \ phi_2} {D-(x + h \ cos \ phi_2)} = 0 \ tag {3 } $$
我们现在有了一个非线性系统F(x),它由方程式(1),(2)和(3)组成:
$$ \ begin {bmatrix} f_1(\ phi,y_1 ^ +,y_2 ^ +)\\ f_2(\ phi,y_1 ^ +,y_2 ^ +)\\ f_3(\ phi,y_1 ^ +,y_2 ^ +)\ end {bmatrix } $$
应用牛顿-拉普森方法,我们迭代求解$ J_F(x_n)(\ Delta x)= -F(x_n)\ tag {r} $,其中J是系统Jacobian,x是向量:
$$ \ begin {bmatrix} \ phi \\ y_1 ^ + \\ y_2 ^ + \ end {bmatrix}和x_ {n + 1} = x_n + \ Delta x \ tag {s} $$
直到
$$ F(X_n + 1)\ approx 0 \ tag {t} $$
然后:
$$ LeftChain = \ sqrt {(xh \ cos(\ phi_1))^ 2+(y + y_1 ^ +-h \ sin(\ phi_1))^ 2} -r \ tan( \ gamma)+ r \ gamma \ tag {u} $$
$$ RightChain = \ sqrt {(D-(x + h \ cos(\ phi_2)))^ 2 +(y + y_2 ^ +- h \ sin(\ phi_2))^ 2} -r \ tan(\ lambda)+ r \ lambda \ tag {v} $$
再次,非常感谢Keith Selbo提供此解决方案。
评论
$ \ begingroup $
我很遗憾地说,但是这个答案显然违反了您的限制,表明您对包括重心和力在内的答案不感兴趣,您想要纯运动学...。
$ \ endgroup $
– 50k4
17年1月24日在16:33
#4 楼
我决定构建一个V-plotter。我正在使用基于Arduino的软件。
我想调整您的V-plotter数学解决方案。
您能解决示例问题吗? ?
您能帮我吗?
我会等待您的答复。
谢谢您
评论
$ \ begingroup $
欢迎来到史蒂文机器人学院。恐怕在Stack exchange上答案需要回答这个问题。如果您有一个相关的问题,则应将其作为一个新问题(最好是参考此问题)提出。我们会根据您面临的实际问题来选择实用,可回答的问题。请查看如何询问和浏览以获取有关堆栈交换如何工作的更多信息。有关如何编写好问题的建议,请参阅机器人问题清单。
$ \ endgroup $
–Ben♦
1月1日14:36
#5 楼
通过可视化问题空间,逆运动学更容易计算。这是一个具有2个自由度的机械手的示例: fig = plt.figure()
ax = Axes3D(fig)
x,y,z=[],[],[]
p1=(300,300)
goal=(400,300)
radius1,radius2=50,100
step=10
for a1 in range(0,360,step):
for a2 in range(0,360,step):
p2 = pa.polarpoint(p1, a1, radius1)
p3 = pa.polarpoint(p2, a2, radius2)
diff = pa.distance(goal, p3)
if diff<10:
print a1,a2,p3,diff
ax.scatter(a1, a2, diff,c='r')
x.append(a1)
y.append(a2)
z.append(diff)
ax.scatter(x, y, z)
plt.show()
程序在3D地图中绘制错误值。对于其他机械手,例如悬挂式绘图仪,必须调整带有极点的代码线。 3D地图不是直接解决方案,但有助于编程启发式算法以查找地图中的最低点。在大多数情况下,梯度下降与粒子群优化相结合是可行的方法。
评论
$ \ begingroup $
3D映射,启发式,梯度下降和粒子群优化都是有趣而强大的工具,它们确实可以解决您所建议的问题。但是它们似乎也是解决眼前问题的过度设计的工具。我的意思是我们在谈论用两根绳子悬挂一个刚体。这不是火箭科学,是吗?
$ \ endgroup $
–弯曲单元22
16-10-8在11:59
$ \ begingroup $
Google学术搜索目前有55300个关于在运动链中查找参数问题的结果。看来,科学界有很多需要讨论的问题...
$ \ endgroup $
–曼努埃尔·罗德里格斯(Manuel Rodriguez)
16-10-8在12:08
$ \ begingroup $
为什么将梯度下降与粒子群相结合?他们为什么需要启发式?答案也与问题无关...它显示了一个2dof机械臂的图,该图与平行结构无关,与电缆结构无关。
$ \ endgroup $
– 50k4
16-10-8在14:52
$ \ begingroup $
感谢您的不赞成。没错,只有在可能有多个解决方案的情况下才需要粒子群。
$ \ endgroup $
–曼努埃尔·罗德里格斯(Manuel Rodriguez)
16-10-8在18:26
评论
我怀疑这只有一个解决方案。除非是特殊的边缘情况,否则有无数种方法可以使两个点彼此之间的距离固定,并使每个点在自己的圆上。问题的重要方面是“您不感兴趣的”讨论笔的重心”,它将无数个单纯的几何问题的解答减少为一个机械/物理问题。重力将使系统达到静止点。纯数学模型似乎不足。德国电缆机器人,其中包括Forth中的源代码:VIERTE DIMENSION Das FORTH-Magazin 2/2003,第29页