Questions tagged «kinematics»

4
逆运动学问题如何解决?
机器人手臂的正向运动学很容易解决。我们可以使用Denavit-Hartenberg变换矩阵表示每个关节。 例如,如果关节是线性致动器,它可以具有变换矩阵:ithithi^{th} Ti=⎡⎣⎢⎢⎢10000100001000di1⎤⎦⎥⎥⎥Ti=[10000100001di0001]T_i = \left[\begin{matrix} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&d_i\\ 0&0&0&1 \end{matrix} \right] ,其中扩展长度由定义didid_i 而旋转链接可能是: Ti=⎡⎣⎢⎢⎢10000cosαisinαi00−sinαicosαi0L001⎤⎦⎥⎥⎥Ti=[100L0cos⁡αi−sin⁡αi00sin⁡αicos⁡αi00001]T_i = \left[\begin{matrix} 1&0&0&L\\ 0&\cos\alpha_i&-\sin\alpha_i&0\\ 0&\sin\alpha_i&\cos\alpha_i&0\\ 0&0&0&1 \end{matrix} \right]其中是角度,是链接的长度。αα\alphaLLL 然后,我们可以通过乘以所有变换矩阵来找到末端执行器的位置和方向。∏Ti∏Ti\prod{T_i} 问题是,我们如何解决逆问题? 在数学上,对于期望的端部执行器位置中,找到参数,使得。有什么方法可以解决这个问题?MMMdidid_iαiαi\alpha_i∏Ti=M∏Ti=M\prod{T_i} = M

3
计算逆运动学的雅可比矩阵
在计算雅可比矩阵以解析方式求解逆运动学时,我从很多地方读到可以使用此公式在雅可比矩阵中创建关节的每一列: Ji=∂e∂ϕi=[[a′i×(epos−r′i)]T[a′i]T]Ji=∂e∂ϕi=[[ai′×(epos−ri′)]T[ai′]T]\mathbf{J}_{i}=\frac{\partial \mathbf{e}}{\partial \phi_{i}}=\left[\begin{array}{c}{\left[\mathbf{a}_{i}^{\prime} \times\left(\mathbf{e}_{p o s}-\mathbf{r}_{i}^{\prime}\right)\right]^{T}} \\ {\left[\mathbf{a}_{i}^{\prime}\right]^{T}}\end{array}\right] 这样a′a′a'是世界空间中的旋转轴,r′r′r'是世界空间中的枢轴点,eposepose_{pos}是末端执行器在世界空间中的位置。 但是,当关节具有多个自由度时,我不知道如何使用。以以下为例: 的θθ\theta是旋转DOF,所述eee是端部执行器,所述ggg是端部执行器的目标,P1P1P_1,P2P2P_2和P3P3P_3是关节。 首先,如果我要根据上述图表的公式来计算雅可比矩阵,我将得到如下信息: J=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢((0,0,1)×e⃗ )x((0,0,1)×e⃗ )y((0,0,1)×e⃗ )z001((0,0,1)×(e⃗ −P1→))x((0,0,1)×(e⃗ −P1→))y((0,0,1)×(e⃗ −P1→))z001((0,0,1)×(e⃗ −P2→))x((0,0,1)×(e⃗ −P2→))y((0,0,1)×(e⃗ −P2→))z001⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥J=[((0,0,1)×e→)x((0,0,1)×(e→−P1→))x((0,0,1)×(e→−P2→))x((0,0,1)×e→)y((0,0,1)×(e→−P1→))y((0,0,1)×(e→−P2→))y((0,0,1)×e→)z((0,0,1)×(e→−P1→))z((0,0,1)×(e→−P2→))z000000111]J=\begin{bmatrix} ((0,0,1)\times \vec { e } )_{ x } & ((0,0,1)\times (\vec { e } -\vec { P_{ 1 } } ))_{ x } & ((0,0,1)\times (\vec { …

2
计算差动驱动机器人的位置
如何使用增量传感器计算或更新差动驱动机器人的位置? 在两个差速器轮的每一个上都有一个增量传感器。这两个传感器确定距离 RESP。Δ ř 我克ħ 吨其轮一个已知的时间期间已经推出Δ 吨。Δ 升È ˚FŤΔ升ËFŤ\Delta leftΔ ř 我克^ h ŤΔ[R一世GHŤ\Delta rightΔ ŤΔŤ\Delta t 首先,假设两个轮子之间的中心标记了机器人的位置。在这种情况下,可以将位置计算为: x = x升Ë ˚FŤ+ xř 我克^ h Ť2ÿ= y升Ë ˚FŤ+ yř 我克^ h Ť2X=X升ËFŤ+X[R一世GHŤ2ÿ=ÿ升ËFŤ+ÿ[R一世GHŤ2 x = \frac{x_{left}+x_{right}}{2} \\ y = \frac{y_{left}+y_{right}}{2} 在两个车轮都沿直线滚动的假设下“推导”这些方程式(对于小距离应该近似正确),我得到: Δ XΔ Ť= 12(Δ 升Ë ˚FŤΔ Ť+ Δ ř 我克^ …

2
阿克曼转向与标准双/三轮车在运动学方面的区别?
我收到以下作业问题: 在运动学方面,采用Ackermann转向的机器人与标准自行车或三轮车之间的一般区别是什么? 但是,我看不出应该有什么区别,因为可以将类似汽车的机器人(具有2个固定后轮和2个相关的可调节前轮)看作是类似于三轮车的机器人(在机器人中只有一个可调节前轮)中间)。 然后,如果让两个后轮之间的距离接近零,那么您将得到自行车。 因此,我看不出这三个移动机器人之间有什么区别。我有什么想念的吗?

2
爬行机器人的平稳伺服运动
不久前,我做了一个小型履带机器人,它的两条腿各有两个自由度,所以总共有4个RC伺服器。在编写腿部运动的程序时,我注意到它们的动作相当僵硬。RC伺服器的内部控制器对位置命令有非常快速的响应是很有意义的,但是我希望我的履带以一种看起来更加平滑和逼真的方式运动。 我的解决方案是创建时间的三次方函数,以描述伺服器的路径,然后以较小的时间增量设置其位置,从而实现更平滑的运动。基本上,我所做的就是使用时间间隔,伺服的开始和结束位置以及伺服应该移动的开始和结束速率(只是位置的导数)来求解三次方程式中的系数:aiaia_i 解决,,和:a0a0a_0a1a1a_1a2a2a_2a3a3a_3 position(t)=a0+a1t+a2t2+a3t3position(t)=a0+a1t+a2t2+a3t3 position(t) = a_0 + a_1t + a_2t^2 + a_3t^3 rate(t)=position′(t)=a1+2a2t+3a3t2rate(t)=position′(t)=a1+2a2t+3a3t2 rate(t) = position'(t) = a_1 + 2a_2t + 3a_3t^2 给定:,,,position(0)position(0)position(0)position(tf)position(tf)position(t_f)rate(0)rate(0)rate(0)rate(tf)rate(tf)rate(t_f) 如果将两个运动之间的方向相反,则将一对运动之间的伺服速率设置为零;如果将两个运动都分别沿正方向或负方向设置,则将正速或负速分别设置为正或负。 这工作得很好,但是此解决方案在某些方面受到限制。首先,很难确定在同一方向上运动之间的确切比率。我使用了两次运动之间特定位置前后的平均坡度,但我尚不清楚最佳状态。第二,三次曲线可能会将伺服器带到运动开始和结束位置之外的位置,这可能是不希望的。例如,在该时间间隔内的某个时刻,该曲线可能会导致伺服器超出第二位置或低于第一位置。第三,此处的曲线生成未考虑伺服器可以旋转的最大速率,因此曲线可能会使伺服器以不切实际的速度运动。接着就,随即, 忽略最后一个问题,可以通过增加多项式的阶数并添加约束来解决系数来解决这些问题,但是我现在开始怀疑... 有没有比这更好的方法来使伺服运动平稳并看起来更逼真?

2
使用Denavit-Hartenberg表示法有什么优势?
当要对运动链建模时,特别是要定义连接到每个物体的框架时,通常使用Denavit-Hartenberg参数。 这种表示法有什么优势? 我可以理解使用规范化表示的兴趣,但这会影响算法性能吗?该算法的实现并非易事,我们可以从中获得什么样的收益,而不是仅仅手动(即任意地)固定参考帧,就像在许多机器人格式(如URDF)中那样。
11 kinematics 

1
如何在编程逻辑中将链接参数和角度(在运动学中)转换为变换矩阵?
我作为一名本科生正在从事机器人研究,并且我大部分时间都了解概念数学。但是,在实际实现代码以计算机器人的正向运动学时,我陷入了困境。我只是不了解找到的书或网站的解释方式。 我想计算XYZ角度给出的链路参数(Denavit-Hartenberg的参数),诸如以下: i123456αi−10−90∘0−90∘90∘−90∘ai−100a2a300di00d3d400θiθ1θ2θ3θ4θ5θ6iαi−1ai−1diθi1000θ12−90∘00θ230a2d3θ34−90∘a3d4θ4590∘00θ56−90∘00θ6\begin{array}{ccc} \bf{i} & \bf{\alpha_i-1} & \bf{a_i-1} & \bf{d_i} & \bf{\theta_i}\\ \\ 1 & 0 & 0 & 0 & \theta_1\\ 2 & -90^{\circ} & 0 & 0 & \theta_2\\ 3 & 0 & a_2 & d_3 & \theta_3\\ 4 & -90^{\circ} & a_3 & d_4 & \theta_4\\ 5 …

3
使用6轴机器人,在给定末端执行器位置和方向范围的情况下,如何找到最佳关节值
给定六轴铰接式机械手将工具固定在其末端执行器上,如果我具有所需的工具位置和工具方向,则逆运动学方程式中将有1个正确的解决方案,以使机器人到达该位置。 (或更确切地说,最多16种不同的解决方案,具体取决于关节的范围) 但是,如果机器人拿着类似笔的东西,并且我希望机器人用该笔在目标上标记一个特定点,那么我不在乎笔的方向,只要它垂直于标记的表面即可。 因此,逆运动学方程将具有无限多个解。 如何在这些解决方案中选择最接近当前配置的联合配置:需要最少移动量的联合配置? (或根据其他类似准则最佳的关节配置,例如所有关节角度均离其最大和最小值最远?)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.