搜索
楼主: PEN

Delta Computer Systems为贸易展览设计,组装和控制六自由度平台。

     关闭 [复制链接]
  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-7-24 11:29:04 | 显示全部楼层
上周四,我想到了如何为Stewart 6DOF平台进行前进运动学。 正向运动学是您知道液压缸延伸但不知道x,y,z,α,β,γ的地方。 必须从液压缸延伸部计算x,y,z,α,β,γ。 星期五我写了代码,它只修复了一个缺陷。 没有简单的公式或三角形。 该算法尝试x,y,z,α,β,γ的许多组合,直到误差减小到很小的值。 诀窍是尽量减少将错误快速减少到一个小值所需的时间。 为简单起见,我的算法是速度的折衷。 仍然有很多代码,但它们都可以在RMC中执行。 这是一个很好的权衡,因为正向运动只需要在启动时完成一次,如果有的话。


Last Thursday an idea came to me as to how I can do the forward kinematics for the Stewart 6DOF platform.  The forward kinematics is where you know the hydraulic cylinder extension but not the x, y, z, α, β, γ.  The x, y, z, α, β, γ must be calculated from the hydraulic cylinder extension. On Friday I wrote the code and it works after fixing only one flaw.  There are no simple formulas or triangles.  The algorithm tries many combinations of x, y, z, α, β, γ until the error is reduced to a small value.  The trick is to minimize the time it takes to reduce the error to a small value quickly. My algorithm is a trade off of speed for simplicity.  There is still a lot of code, but it can all be executed in the RMC.  This is a good trade off since the forward kinematics only needs to be done once at startup if at all.
回复 支持 反对

使用道具 举报

  • 打卡等级:论坛老炮
  • 打卡总天数:1034
  • 打卡总奖励:4044
发表于 2019-7-24 23:12:41 | 显示全部楼层
这里谷歌把 forward kinematics 翻译为“正向运动”,中文的通常说法是 (六自由度平台的)“正解” 。
回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-7-26 16:27:13 | 显示全部楼层
我想咨询一下:现在六自由度平台,在复合运动时最多同时能做到几个自由度的复合?用三角函数最大能计算几个自由度的复合运动方程,或者说用三角函数解法最大能做到几个自由度的复合?
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-7-27 00:53:59 | 显示全部楼层
“我想咨询一下:现在六自由度平台,在复合运动时最多同时能做到几个自由度的复合”
是的,这是必要的。同时更改多个参数。

用三角函数最大能计算几个自由度的复合运动方程,或者说用三角函数解法最大能做到几个自由度的复合?
是的,我们使用sin()和cos()函数来旋转位置。顶层平台上有6个连接点。必须使用新的x,y,z,α,β,γ旋转每个点。然后我们使用毕达哥拉斯定理来计算从底部连接点到顶部的距离。这很简单。它是在教科书中。但是,位置是以模拟器的帧速率下载的。更新之间可能有33到40毫秒。控制器应在位置更新之间始终生成平滑运动。我在视频中显示流畅的动作。

目前,我们有两个客户实施Stewart平台。其中一位客户正在使用两台Stewart平台制作汽车电影。

“我想咨询一下:现在六自由度平台,在复合运动时最多同时能做到几个自由度的复合?”
Yes, this is necessary.  Changes in multiple parameters at the same time.

用三角函数最大能计算几个自由度的复合运动方程,或者说用三角函数解法最大能做到几个自由度的复合?
Yes, we used sin() and cos() functions to rotate positions.  There are 6 connection points on the top platform.  Each point must be rotated using the new x, y, z, α, β, γ.  Then we use the Pythagorean theorem to calculate the distance from the bottom connection point to the top.  This is easy. It is in textbooks. However, positions are download at the frame rate of the simulator.  There can be 33 to 40 milliseconds between updates.  The controller should generate smooth motion for all the time in between the position updates.  I show smooth motion in the video.

At this time, we have two customers implementing Stewart platforms.  One of the customers is using two Stewart platforms to make movies with cars.
回复 支持 反对

使用道具 举报

  • 打卡等级:伴坛终老
  • 打卡总天数:1702
  • 打卡总奖励:5759
发表于 2019-7-27 12:29:52 | 显示全部楼层
DELTAMOTION-USA 发表于 2019-7-10 04:22
Delta's 6DOF demo station in our lab. The height from bottom to top plate with Delta logo is about 5 ...

没有看到位移传感器,用的是角度吗?
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-7-27 23:32:30 | 显示全部楼层
back2049 发表于 2019-7-27 12:29
没有看到位移传感器,用的是角度吗?

小型液压缸内部装有反馈电阻。 我们供应10伏特。 根据活塞的位置,位置反馈约为0伏至10伏。

The small hydraulic cylinders have feedback resistors inside.  We supply 10 volts.   The position feedback is about 0 volts to 10 volts depending on position of the piston.
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-8-2 11:35:57 | 显示全部楼层
正向/正向运动学的困难。

目标是在给定液压缸延伸部的情况下计算x,y,z,α,β,γ。使用的方法需要尝试x,y,z,α,β,γ的新值。然后计算顶部平台上六个连接之间的距离,并将这些距离与液压缸的延伸进行比较。计算出的距离和气缸延伸之间会有误差。每个柱面的误差是平方的,六个平方误差的总和加在一起。对六个参数中的每一个进行一次小的改变,一次一个。每次更改后计算误差平方和。这决定了必须改变六个参数中的每一个。新位置应该具有较低的平方误差总和。如果平方误差之和小于x,y,z的新值,则α,β,γ优于旧值。重复该过程,直到误差平方和接近零。
随机改变x,y,z,α,β,γ的值需要极其好运才能使平方误差之和接近于0.有一种更好的方法。 Newton-Raphson有一种简单的方法来最小化误差,但它需要找到导数或斜率。这很容易在课堂上进行。当误差平方和非常小时,误差平方和的导数也很小。位置反馈产生的一点噪音可能导致计算不稳定。我仍在尝试不同的方法来避免噪音而不牺牲准确性。此时,我可以计算x,y,z,α,β,γ,因此平方误差之和小于0.0001。

课堂与现实之间存在很大差异。

Difficulties with forward / positive kinematics.

The goal is to compute the x, y, z, α, β, γ given the hydraulic cylinder extension.  The method used requires trying a new value of x, y, z, α, β, γ.  Then calculate the distance between the six connections on the top platform and compare these distances with the extension of the hydraulic cylinders. There will be errors between the computed distance and the cylinder extensions. The error for each cylinder is squared and the sum of the six squared errors is added together.  A small change is made in for each of the six parameters, one at a time.  The sum of squared errors is calculated after each change.  This determines how much each of the six parameters must be changed.  The new position should have a lower sum of squared errors.  If the sum of squared errors is getting smaller than the new value for x, y, z, α, β, γ is better than the old values.  This procedure is repeated until the sum of squared errors is close to zero.
Changing the values of x, y, z, α, β, γ randomly would require extreme luck to get the sum of squared errors close to 0.  There is a better way.  Newton-Raphson have a simple way to minimize the error, but it requires finding the derivative or slope.  This is easy to do in the classroom.   When the sum of squared errors is very small, the derivative of the sum of squared errors is also small.   A little noise from the position feedback can cause the calculations to be unstable.  I am still trying different ways of avoiding the noise without sacrificing accuracy.  At this time, I can calculate the x, y, z, α, β, γ so the sum of squared errors is less than 0.0001.

There is a big difference between the classroom and reality.


回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-8-4 07:16:58 | 显示全部楼层
请教:反解容易计算,正解位置不确定,为什么还要研究正解?
回复 支持 反对

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:101
  • 打卡总奖励:315
 楼主| 发表于 2019-8-4 22:40:52 | 显示全部楼层
蜻蜓 发表于 2019-8-4 07:16
请教:反解容易计算,正解位置不确定,为什么还要研究正解?

这是一个很好的问题。 简短的回答是营销。 有些客户没有意识到Steward平台不需要正向运动学。 他们认为,即使不需要正向运动学,能够进行正向运动的系统也比不能进行的系统要好。 这就像说一辆带两个制动踏板的车比一辆只有一辆的车要好。


Delta RMCs具有非常好的解决方案,没有正向运动学。 我们计算扩展位置以移动到起始位置0,0,0,0,0,0。 六个液压缸发出一个绝对时间移动(TIME MOVE ABSOLUTE)命令,以移动到原始位置的正确位置。 时间移动绝对命令确保所有液压缸同时移动到正确位置。 运动看起来很平滑,因为它使用五阶多项式。

现在对我们没有任何影响。 我们也可以使用用户程序在RMC内部进行正计算。

This is a good question.  The short answer is marketing. Some customers do not realize that the positive kinematics is not required for Steward platforms.  They think that a system that can do the forward kinematics is better than one that cannot not even though the forward kinematics is not required.  It is like saying a car with two brake pedals is better than a car with only one.

Delta RMCs has a very good solution without the positive kinematics.  We calculate the extension position to move to the home position 0,0,0,0,0,0.   The six hydraulic cylinders are issued a time move absolute (TIME MOVE ABSOLUTE) command to move to the correct positions for the home position. The time move absolute command ensures all hydraulic cylinders move to the correct position at the same time.  The motion looks smooth because it uses a fifth order polynomial.

It makes no difference to us now.  We can do the positive calculations too inside the RMC using a user program.




回复 支持 反对

使用道具 举报

  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡总奖励:3
发表于 2019-8-28 07:56:29 | 显示全部楼层
我请教一个问题:当油缸行程确定以后,也可以说液压缸长度确定以后,如何确定上下两个平台的尺寸,就是说如何确定上下两平台的虎克铰安装的分布圆的直径或者直径的比例。液压缸的初始倾斜角度如何确定?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则