Language agnostic 如何控制猕猴桃驱动机器人?

Language agnostic 如何控制猕猴桃驱动机器人?,language-agnostic,math,vector,robotics,Language Agnostic,Math,Vector,Robotics,我是高中机器人团队的成员,我们正在开发一种猕猴桃驱动机器人,其中有三个安装在等边三角形配置中,如下所示: 问题是编程机器人驱动电机,使机器人沿着给定操纵杆输入的方向移动。例如,要“向上”移动,电机1和2的电源将相等,而电机3将关闭。操纵杆的位置是以矢量形式给出的,我在想,如果电机也以矢量形式表示,可能就是我所需要的。然而,我不确定这是否正确,如果是,我将如何应用它。我也有一种感觉,一个操纵杆位置可能有多种解决方案。如有任何帮助,我们将不胜感激。正如您所认识到的,本课程的第一部分将是找到一个适当

我是高中机器人团队的成员,我们正在开发一种猕猴桃驱动机器人,其中有三个安装在等边三角形配置中,如下所示:


问题是编程机器人驱动电机,使机器人沿着给定操纵杆输入的方向移动。例如,要“向上”移动,电机1和2的电源将相等,而电机3将关闭。操纵杆的位置是以矢量形式给出的,我在想,如果电机也以矢量形式表示,可能就是我所需要的。然而,我不确定这是否正确,如果是,我将如何应用它。我也有一种感觉,一个操纵杆位置可能有多种解决方案。如有任何帮助,我们将不胜感激。

正如您所认识到的,本课程的第一部分将是找到一个适当的方程式来表示任何电机设置的合成运动。根据您对电机速度的控制和反馈水平,我建议您完成的过程应该从编写向量方程开始:(将正X定义为正前方)

-M1Cos(30)+M2Cos(30)=X(负值是因为1和2必须以相同的幅度供电,但向前运动的极性相反)

M1Sin(30)+M2Sin(30)-M3=Y(1和2上的逆时针运动将导致机器人在Y轴上向左移动,3上的逆时针运动将导致机器人向右移动)

另一个需要加入的输入是机器人的期望旋转,幸运的是,M1+M2+M3=W(旋转速度)

你的操纵杆输入会给你X,Y和W,所以你有3个方程和3个未知数

这里是联立方程组,因此可能会得到多个解,但这些解通常会受到可能的电机转速等因素的限制


这方面的一个例子是-此方法的源代码也可用

首先让我们定义一些术语。按照通常惯例,X轴将指向右侧,y轴将指向上方(以便车轮3的推力沿X轴)。我们将车轮的运动称为W1、W2和W3,每个车轮的运动定义为Wi>0表示车轮沿顺时针方向旋转。在您的示例中,如果W1<0,W2=W1和W3=0,则机器人将沿+Y方向移动

如果所有三个轮子以相同的速率旋转(W1=W2=W3),机器人将在适当的位置旋转。我猜你不想这样,所以旋转的和必须是零:W1+W2+W3=0

每个轮子的运动都有助于机器人的运动;它们作为向量添加:
W1=-1/2X-sqrt(3)/2Y
W2=-1/2X+sqrt(3)/2Y
W3=X


因此,如果你从操纵杆上知道所需的X和Y,那么就有W1、W2和W3。正如我们已经看到的,W1和W2之间的差异是驱动Y运动的原因。它们的总和驱动X轴的运动。

我在学校的时候造了9个机器人(1个先造,8个机器人杯)。我们使用了与您相同的omnidrive布局。Beta的答案看起来是正确的,但是之后将旋转添加到所有车轮上:

W1 = -1/2 X - sqrt(3)/2 Y + R 
W2 = -1/2 X + sqrt(3)/2 Y + R
W3 = X + R
[这是Beta公式,增加了一些旋转]

您需要考虑电机的可用范围。我猜它可能需要+/-255的PWM信号,因此输入或输出必须进行一定程度的调整。(没那么难…)

回答您的具体问题:向量投影本质上就是您在这里所做的。通过矩阵M、操纵杆I的输入和电机O的输出来应用它。因此,O=M*I

M = [(-0.5 -sqrt(3)/2    +1)
     (-0.5 +sqrt(3)/2    +1)
     (1     0            +1)]

虽然这个系统可以用数学方法求解,但在2002年,第一队857选择了用机械方法求解。我们的控制系统使用了三个操纵杆,它们的X轴形成等边三角形,手柄被球座臂取代,球座臂与Y形轭连接。将每个斗杆的X轴直接映射到电机速度,控制系统已经解决。作为一个优势,该系统对于普通人来说非常直观——将磁轭推到您想要的方向,旋转磁轭以转动。

您可以将方向矢量表示为两个电机矢量的总和,因为它们构成了完整的基础。应该使用一些条件省略第三个向量。我知道这是一个非常古老的答案,但是你从哪里得到了0.5和sqrt(3)/2呢?我知道0.5是sin(pi/6),sqrt(3)/2是cos(pi/6),但你怎么知道在这里使用这些值呢?@Nathan:这只是一个等边三角形的向量几何,将W1向量分解为x和y分量。