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

Ben*_*Ben 8 language-agnostic math robotics vector

我在高中的FIRST机器人团队工作,我们正在开发一个奇异果驱动机器人,其中有三个全向轮安装在等边三角形配置中,如下所示:

等边三角形配置的三个编号全向轮

问题是编程机器人以驱动电动机,使得机器人沿给定操纵杆输入的方向移动.例如,为了"向上"移动,电动机1和2将被均等地供电,而电动机3将被关闭.操纵杆位置作为矢量给出,我想如果电机也被表示为矢量,矢量投影可能就是我需要的.但是,我不确定这是否正确,如果是,我将如何应用它.我也有一种感觉,一个操纵杆位置可能有多种解决方案.任何帮助将不胜感激.

Una*_*dra 4

我在学校期间已经制作了 9 个机器人(1 个 FIRST,8 个 RoboCup)。我们使用与您相同的全向驱动布局。Beta 的答案看起来是正确的,但之后为所有轮子添加旋转:

W1 = -1/2 X - sqrt(3)/2 Y + R 
W2 = -1/2 X + sqrt(3)/2 Y + R
W3 = X + R
Run Code Online (Sandbox Code Playgroud)

[这是添加了一些旋转的 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)]
Run Code Online (Sandbox Code Playgroud)