0

设置

我正在使用来自 Madwick 算法的传感器融合 python 模块基础。源代码可以在这里找到https://github.com/micropython-IMU/micropython-fusion/blob/master/fusion.py。

问题

有什么方法可以在不使用 python2.7 的 import pyb 库的情况下实现pyb.elapsed_micro()pyb.micros()下面的函数?

    import pyb
   # Integrate to yield quaternion
    deltat = pyb.elapsed_micros(self.start_time) / 1000000
    self.start_time = pyb.micros()
    q1 += qDot1 * deltat
    q2 += qDot2 * deltat
    q3 += qDot3 * deltat
    q4 += qDot4 * deltat 
     # normalise quaternion
    norm = 1 / sqrt(q1 * q1 + q2 * q2 + q3 * q3 + q4 * q4)   
    self.q = q1 * norm, q2 * norm, q3 * norm, q4 * norm
4

1 回答 1

0

pyb.micros() - 以微秒开始设置

pyb.elapsed_time(start_time) - 确定 starttime 和调用此函数所用时间之间的经过时间

解决方案

import time
def micros():
    return time.time() * 1000000  ##turns seconds into microseconds

def elapsed_micros(start_time):
    return start_time - time.time()*1000000

如需更多支持,请查看问题的 github 链接 - https://github.com/micropython-IMU/micropython-fusion/issues/1

于 2015-11-14T22:24:11.093 回答