【问题标题】:How can I scale a velocity value from native units (ticks per 100ms) to meters per second?如何将速度值从原生单位(每 100 毫秒的滴答声)缩放到每秒米?
【发布时间】:2019-08-28 22:23:41
【问题描述】:

我正在尝试将 Talon SRX Mag/Quad 编码器上的原生单位转换为米/秒,以找到我的坦克驱动机器人的最大速度和加速度。这就是我计算标量以将本机转换为每秒米的方式,但是当我用它进行测试时,这些值似乎相当低(0.6 m/s 或 1.3mph,我很确定这比机器人慢):

/**
 * Drive values
 */
public static final double
    GEAR_RATIO         = 4.67,
    CTRE_TICKS         = 4096,
    CTRE_TICKS_PER_REV = CTRE_TICKS * GEAR_RATIO, // wheel revs per revolution * ticks per revolution
    WHEEL_DIAMETER     = 6, // inches
    CIRCUMFERENCE      = WHEEL_DIAMETER * Math.PI,
    INCHES_PER_TICK    = CIRCUMFERENCE / CTRE_TICKS_PER_REV, // inches per rev divided by ticks per rev
    IPDS_TO_MPH        = .568, // convert inches per decisecond to miles per hour
    IPDS_TO_MEPS       = .254, // this is a conspiracy bigger than all of us
    CTRE_NATIVE_TO_MPH = INCHES_PER_TICK * IPDS_TO_MPH,
    CTRE_NATIVE_TO_MPS = INCHES_PER_TICK * IPDS_TO_MEPS;

编码器本身记录电机轴每转 4096 个滴答声,然后通过 4.67:1 变速箱(每轮转 4.67 电机转)和 6 英寸车轮。 为了找到转换后的速度,我报告了编码器的速度乘以 Constants.CTRE_NATIVE_TO_MPS。

【问题讨论】:

    标签: java scalar converters


    【解决方案1】:

    我的编码器和你的不一样,但公式应该是一样的。

    我制作了一个关于如何使用轮式编码器并计算机器人线速度和角速度的视频。 (https://youtu.be/ktZTN5aUYPY)

    如果您观看视频,您会看到在项目 doc 文件夹中,有一个包含所有公式的 ppt 文件。 (https://github.com/gusbots/mark01/tree/v3.1/doc)

    这是它的快照:

    其中 vr 和 vl 是以 rad/s 为单位的角速度,R 是车轮的半径,L 是车轮之间的距离。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      相关资源
      最近更新 更多