我试图重现算法说明这里在Python,但我现在面临一些问题,一些参数的一个奇怪的成长。以下是我的尝试。观察get_ang()并get_acc()返回沿[x,y,z]轴以度/秒为单位的角速度和加速度(但我分别以弧度/ s转换此数据)和m / s ^ 2):
import numpy as np
import quaternion
from utils import get_ang, get_acc
#utils
Z=np.zeros([3,3])
I=np.eye(3)
EARTH_GRAVITY_MS2 = -9.80665
#sample parameters
N=1 #DecimationFactor
fs=10 #SampleRate
#noise parameters
beta=3.0462e-13 #GyroscopeDriftNoise
eta=9.1385e-5 #GyroscopeNoise
kappa=N/fs #DecimationFactor/SampleRate
lamb=0.00019247 #AccelerometerNoise
nu=0.5 #LinearAccelerationDecayFactor
csi=0.0096236 #LinearAccelerationNoise
#other parameters initialization
lin_acc_prior=np.zeros(3)
gyro_offset=np.zeros([1,3])
Q=np.diag([0.000006092348396, 0.000006092348396, 0.000006092348396, 0.000076154354947,0.000076154354947, 0.000076154354947,0.009623610000000, 0.009623610000000, 0.009623610000000])
R=(lamb+csi+(kappa**2)*(beta+eta))*I
P=Q
q=quaternion.quaternion(1,0,0,0)
while(1):
"""----------------------------------------------------------Model----------------------------------------------------------"""
"""Predict orientation (q-)"""
gyro_readings=np.array(np.radians([get_ang()])) #rad/s
for i …Run Code Online (Sandbox Code Playgroud) 我有这段简单的代码
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t now = time(0);
tm timeDate;
strptime("2023-2-10 15:03","%Y-%m-%d %H:%M", &timeDate);
time_t time_input = mktime(&timeDate);
char* dt = ctime(&now);
char* dt2 = ctime(&time_input);
cout << "The local date and time is: " << dt << endl;
cout << "The input date and time is: " << dt2 << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
应该打印这两个日期。但我收到的日期与首先处理的日期相同。
本地日期和时间为:2023 年 2 月 10 日星期五 15:03:00
输入日期和时间为:2023 年 2 月 10 日星期五 15:03:00
或者
本地日期和时间为:2023 年 …