工作CCD算法反向运动学 [英] Working of CCD algorithm for Inverse Kinematics

查看:415
本文介绍了工作CCD算法反向运动学的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以说,我在一个三维空间已经一个机械臂关节点A,B,C,D。令D是末端执行器(最底部的孩子)和A是最上面的父。设T是目标点在空间的任何地方。这样做的目的是使端部执行器达到目标与在顶部的水平最小轮换(父母)。

Lets say I've a robotic arm with joints at points A,B,C,D in a 3D space. Let D be the end effector(bottommost child) and A be the topmost parent. Let T be the target point anywhere in the space. The aim is to make the end effector reach the target with minimum rotations in top levels(parents).

我最初以为:

1)通过旋转角度TCD的ARM C。 2)然后通过旋转,新的角度待定的B组。 3)然后用新的角度TAD转动手臂上。

1) Rotate the arm C by angle TCD. 2) Then rotate the arm B by new angle TBD. 3) Then rotate the arm A by new angle TAD.

但最终的效应似乎步骤2.什么我做错了,我怎么能解决这个问题后点离目标?

But the end effector seems to point away from the target after step 2. What am I doing wrong and how can I fix it?

推荐答案

这是很难直接$ C C此$,但你可能会解决这个问题的最优化的视图(和国家的最先进的许多方法可以暗示解决这个问题,其可以在因特网上容易地找到)。令x'和y'是固定最顶层甲,且x'和y''是目标。那么这个问题可以形式化为如下,

It's hard to directly code this, but you may solve this problem in a view of optimization (and many state-of-art method can be implied to solve this, which can be easily found on the Internet). Let x' and y' be the fixed topmost A, and x'' and y'' be the target. Then this problem can be formalized as the follows,

其中gamma_i是各关节的转动的重量(你可以简单地让gamma_i = 1),并且alpha_i是旋转值。你的优化目标是让父母的最小回转,受到一些限制。 X',Y',X',Y''是常数,其他是变量。其他不等式可以加入,以限制旋转角度

where gamma_i is the weight of rotation of each joint (you may simply let gamma_i=1), and alpha_i is the rotation value. Your optimization goal is to get the minimum rotation of the parents, subject to some constraints. x', y', x'', y'' are constants, the other are variables. Other inequality can be added to limit the angle of rotation.

方程f(X',Y',X_1,Y_1,alpha_1)= 0表示,与A的alpha_1旋转,B点可迁往X_1,Y_1。如果可以指定旋转细节(例如为f是线性的,则单纯形法,可以实现的,但似乎f是二次)。

Equation f(x',y',x_1,y_1,alpha_1)=0 means, with the rotation of A by alpha_1, point B can be relocated to x_1, y_1. If you can specify the detail of rotation (for example is f is linear, then simplex method can be implemented, but it seems that f is quadratic).

对不起,我的英文不好,并希望这可以帮助:P

Sorry for my poor English, and wish this can help :p

这篇关于工作CCD算法反向运动学的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆