IMU模型中错误的重力加速度传感器融合工具箱(imuSemsor)。gydF4y2Ba

46个视图(30天)gydF4y2Ba
Mehdi EjtehadigydF4y2Ba
Mehdi EjtehadigydF4y2Ba 2021年9月1日gydF4y2Ba
你好亲爱的朋友,gydF4y2Ba
我最近一直在传感器融合工具箱。简而言之,我创建一个固定模型的IMU传感器和我只期望它捕获重力。这个问题实际上是方向!gydF4y2Ba
我们知道他们捕获的艾莫斯克相反的方向(如果重力向下,传感器捕捉它向上)。考虑一个固定IMU,我们仍然持有;阻止它下降的原因,是我们申请乌兹别克斯坦伊斯兰运动的力和乌兹别克斯坦伊斯兰运动捕获加速度引起的作用力。所以这就是为什么艾莫斯捕捉g向上而不是向下。gydF4y2Ba
但是下面这个简单的例子,我们可以看到,这样的事不会发生传感器融合工具箱。gydF4y2Ba
IMU = imuSensor (gydF4y2Ba“accel-gyro-mag”gydF4y2Ba,gydF4y2Ba“ReferenceFrame”gydF4y2Ba,gydF4y2BaNED的gydF4y2Ba);gydF4y2Ba%建立IMU对象gydF4y2Ba
acc = (0 0 0);gydF4y2Ba%的加速度IMU的NED框架gydF4y2Ba
angVel = (0 0 0);gydF4y2Ba%的角速度IMU的NED框架gydF4y2Ba
取向= [(1 0 0);gydF4y2Ba…gydF4y2Ba
[0 1 0];gydF4y2Ba…gydF4y2Ba
(0 0 1)];gydF4y2Ba%的取向IMU的NED框架gydF4y2Ba
[accelReadings, gyroReadings magReadings] = IMU (acc, angVel取向);gydF4y2Ba
accelReadingsgydF4y2Ba
accelReadings =gydF4y2Ba 1×3gydF4y2Ba
0 0 9.8100gydF4y2Ba
乌兹别克斯坦伊斯兰运动没有加速度和角速度的North-East-Down框架和IMU的方向传感器是一样的NED的框架。所以它的Z轴alligns向下的方向。但是我们知道应该捕获g向上(()所以g应该负(-9.81)在Z方向当地IMU的帧,但正如上面可以看到的,它是正的!有人能帮我解决这个问题吗?gydF4y2Ba
谢谢提前gydF4y2Ba
1评论gydF4y2Ba
保罗gydF4y2Ba
保罗gydF4y2Ba 2021年9月2日gydF4y2Ba
编辑:gydF4y2Ba保罗gydF4y2Ba 2021年9月3日gydF4y2Ba
如果你看gydF4y2Ba 医生页面imuSensorgydF4y2Ba 在加速度计的算法部分,它展示了加速度计的框图模型。图,它显示了输入到模型中被称为“加速度”,这是“g”相结合,形成一个量称为“全面加速。”The diagram doesn't show whether "g" is added or subtracted. (Edit: See the Answer below for how how Total Acceleration is calculated). However, the results shown in your Question, and from the doc page example 从静止的输入,生成理想的IMU数据gydF4y2Ba 和“全面加速,”gydF4y2Ba 建议gydF4y2Ba “加速度”输入到模型中,我称之为,具体输出力和惯性加速度的测量。gydF4y2Ba
ai(输出)= a_sf(输入)+ ggydF4y2Ba
不幸的是我,我猜你会同意,这样的方法是完全相反的我预计acceleromter模型是如何运作的。事实上,我会彻底离开“g”的模式,让用户,以确保输入是特定的力量。gydF4y2Ba
此外,文档页面并没有说它假定什么方向的“g”。Is it always in the Down direction in the local NED frame? Can the user specify a WGS-84 model somehow? It doesn't look like it, which is another reason to let the user deal with gravity.
有趣的是,2019年imuSensor收益率相同的结果,但是医生页面不显示总加速度的形成。gydF4y2Ba

登录置评。gydF4y2Ba

接受的答案gydF4y2Ba

Mehdi EjtehadigydF4y2Ba
Mehdi EjtehadigydF4y2Ba 2021年9月4日gydF4y2Ba
亲爱的保罗和瑞安,gydF4y2Ba
感谢您的时间和考虑。我认为我得到了传感器模型背后的思想根据这个工具箱是基于“gydF4y2Ba 开源的传感器融合方案gydF4y2Ba ”。但事实是,这些模型实际上像否定真实的艾莫斯。如果算法改为“加速度- g”而不是“加速度+ g“一切会工作得很好。gydF4y2Ba
无论如何,对于那些想要获得数据类似于真正的IMU传感器的参数应该如下:gydF4y2Ba
  • accgydF4y2Ba:身体的加速度的IMU安装模式,对全球框架,提出了在全球框架)。gydF4y2Ba
  • angVelgydF4y2Ba:身体的角速度的IMU安装模式,对全球框架,提出了在全球框架,gydF4y2Ba乘以1gydF4y2Ba。gydF4y2Ba
  • 取向gydF4y2Ba:gydF4y2Ba转置gydF4y2Ba乌兹别克斯坦伊斯兰运动的旋转矩阵对全球框架(全球定位坐标系在乌兹别克斯坦伊斯兰运动坐标系),gydF4y2Ba乘以1gydF4y2Ba。gydF4y2Ba
4评论gydF4y2Ba
Mehdi EjtehadigydF4y2Ba
Mehdi EjtehadigydF4y2Ba 2021年9月4日gydF4y2Ba
是的!我认为这工作好…我认为最大的误解文档是“取向”…我也可以看到你已经注意到……gydF4y2Ba
无论如何,非常感谢保罗;你真的很有帮助。祝你好运吧。gydF4y2Ba
迈赫迪gydF4y2Ba

登录置评。gydF4y2Ba

答案(1)gydF4y2Ba

瑞安齐射gydF4y2Ba
瑞安齐射gydF4y2Ba 2021年9月2日gydF4y2Ba
你好,迈赫迪和保罗,gydF4y2Ba
总加速度方程实际上是下面列出的框图gydF4y2Ba imuSensorgydF4y2Ba 文档页面gydF4y2Ba 。gydF4y2Ba
获得总加速度gydF4y2Ba
获取加速度(gydF4y2Ba totalAccgydF4y2Ba ),加速度是由否定预处理和添加重力常数向量(gydF4y2Ba ggydF4y2Ba = [0;0;9.8米/秒gydF4y2Ba 2gydF4y2Ba ):gydF4y2Ba
tgydF4y2Ba ogydF4y2Ba tgydF4y2Ba 一个gydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba cgydF4y2Ba =gydF4y2Ba −gydF4y2Ba 一个gydF4y2Ba cgydF4y2Ba cgydF4y2Ba egydF4y2Ba lgydF4y2Ba egydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ogydF4y2Ba ngydF4y2Ba +gydF4y2Ba ggydF4y2Ba
本公约是用来获得的加速度计的阅读gydF4y2Ba (0 0 0)gydF4y2Ba 当传感器在自由落体和传感器坐标系与父/导航坐标系。gydF4y2Ba
R2019a算法是一样的,但documention页面更新后释放包括总加速度方程。gydF4y2Ba
谢谢,gydF4y2Ba
瑞安gydF4y2Ba
1评论gydF4y2Ba
保罗gydF4y2Ba
保罗gydF4y2Ba 2021年9月2日gydF4y2Ba
谢谢你指出的equattion算法部分。gydF4y2Ba
文档将更加明确,如果它说:gydF4y2Ba
获取加速度(gydF4y2Ba totalAccgydF4y2Ba ),gydF4y2Ba 输入gydF4y2Ba 加速度gydF4y2Ba (acc)gydF4y2Ba 预处理是否定gydF4y2Ba 它gydF4y2Ba 并添加重力常数向量(gydF4y2Ba ggydF4y2Ba = [0;0;9.8米/ s2):gydF4y2Ba
撇开措辞,医生基本上是说输出负的输入。让我们验证:gydF4y2Ba
IMU = imuSensor (gydF4y2Ba“accel-gyro-mag”gydF4y2Ba,gydF4y2Ba“ReferenceFrame”gydF4y2Ba,gydF4y2BaNED的gydF4y2Ba);gydF4y2Ba%建立IMU对象gydF4y2Ba
acc = (1 e5 1 e5 1 e5);gydF4y2Ba%的加速度IMU的NED框架gydF4y2Ba
angVel = (0 0 0);gydF4y2Ba%的角速度IMU的NED框架gydF4y2Ba
取向= [(1 0 0);gydF4y2Ba…gydF4y2Ba
[0 1 0];gydF4y2Ba…gydF4y2Ba
(0 0 1)];gydF4y2Ba%的取向IMU的NED框架gydF4y2Ba
[accelReadings, gyroReadings magReadings] = IMU (acc, angVel取向);gydF4y2Ba
accelReadingsgydF4y2Ba
accelReadings =gydF4y2Ba 1×3gydF4y2Ba
1.0 e + 5 * -1.0000 -1.0000 -0.9999gydF4y2Ba
果然,输出gydF4y2Ba 负gydF4y2Ba 输入!是记录其他比这个方程(我没有仔细检查)?所以用户在使用前必须知道否定输出下游吗?是真的期望的行为为一个通用的加速度计模型吗?gydF4y2Ba
此外,这样做的原因没有意义。这将是更容易简单地使用:gydF4y2Ba
totalAcc =加速度- ggydF4y2Ba
似乎这个方法在航空航天Blockset (gydF4y2Ba 链接gydF4y2Ba )gydF4y2Ba
这个方程也会导致(理想)加速度计阅读(0 0 0)在自由落体(假设用户的重力模型的实现是一样的,假设imuSensor,这个实现的另一个弱点),并有优势,用户无须担心的极性输出。gydF4y2Ba

登录置评。gydF4y2Ba

类别gydF4y2Ba

找到更多的在gydF4y2Ba传感器模型gydF4y2Ba在gydF4y2Ba帮助中心gydF4y2Ba和gydF4y2Ba文件交换gydF4y2Ba

社区寻宝gydF4y2Ba

找到宝藏在MATLAB中央,发现社区如何帮助你!gydF4y2Ba

开始狩猎!gydF4y2Ba