相关疑难解决方法(0)

结合陀螺仪和加速度计数据

我正在使用Lego Mindstorm的NXT系统构建一个平衡机器人.我使用的是HiTechnic的两个传感器,第一个是加速度计,第二个是陀螺仪.我已经成功地滤除了传感器和衍生角度的噪声,两者的范围在-90到90度之间,0度完全平衡.

我的下一个挑战是结合两个传感器值来校正陀螺仪随时间的漂移.下面是我根据实际数据创建的示例图,用于演示陀螺仪的漂移:

在此输入图像描述

我见过的最常用的方法是将这些传感器结合起来使用卡尔曼滤波器.但是,我不是微积分的专家,我真的不懂数学符号,但我确实理解源代码中的数学.

我正在使用RobotC(就像任何其他C衍生产品一样),如果有人能给我一些如何在C中完成此任务的例子,我将非常感激.

谢谢您的帮助!

解决方案结果:

好吧,kersny通过向我介绍补充过滤器解决了我的问题.这是一个说明我的结果的图表:

结果#1

在此输入图像描述

结果#2

在此输入图像描述

如您所见,滤波器校正陀螺仪漂移并将两个信号组合成单个平滑信号.

编辑:因为我正在修复破碎的图像,我认为显示我用来生成这些数据的装备会很有趣:

在此输入图像描述

c algorithm accelerometer lego nxt

69
推荐指数
2
解决办法
9万
查看次数

传感器与卡尔曼滤波器融合

我很感兴趣,卡尔曼滤波器中的传感器融合设置中的双输入是如何建模的?

比如说你有一个加速度计和一个陀螺仪,想要呈现"地平线",就像在飞机上一样,这里有类似这样的好演示.

你如何实际收获两个传感器的正面特性并最大限度地减少负面影响?

这是在观察模型矩阵(通常用大写字母H表示)中建模的吗?


备注:在math.stackexchange.com上也没有任何答案地问过这个问题

fusion sensor filter kalman-filter

16
推荐指数
1
解决办法
2万
查看次数

不同移动设备中的加速度计和陀螺仪精度

我想使用移动设备(加速度计,指南针,陀螺仪)的传感器实现室内定位系统.这里已经讨论过这个问题,例如 - 这里这里

第一步是确定哪个平台是实现这样一个系统的最佳平台.主要的可能性是三星的Galaxy/Galaxy标签或iphone/ipad.最重要的标准是传感器数据的准确性.但是,这种比较非常复杂,因为精度不仅取决于设备本身,还取决于其上方的软件层.

有没有关于这个问题的研究?智能手机和平板电脑的传感器之间有区别吗?

任何指向网站或文章的链接都会非常有用

提前致谢!

阿里尔

iphone android accelerometer gyroscope compass-geolocation

8
推荐指数
1
解决办法
8179
查看次数

Android的互补滤镜(Gyro + accel)

最近我做了一些研究,使用加速度计+陀螺仪来使用那些传感器在没有GPS帮助的情况下跟踪智能手机(参见这篇文章) 基于陀螺仪和加速度计的室内定位系统

为此我需要我的方向(角度(俯仰,滚动等))所以这里到目前为止我所做的:

public void onSensorChanged(SensorEvent arg0) {
    if (arg0.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
    {
        accel[0] = arg0.values[0];
         accel[1] = arg0.values[1];
   accel[2] = arg0.values[2];
   pitch = Math.toDegrees(Math.atan2(accel[1], Math.sqrt(Math.pow(accel[2], 2) + Math.pow(accel[0], 2))));

  tv2.setText("Pitch: " + pitch + "\n" + "Roll: " + roll);

   } else if (arg0.sensor.getType() == Sensor.TYPE_GYROSCOPE )
{
  if (timestamp != 0) {
  final float dT = (arg0.timestamp - timestamp) * NS2S;         
  angle[0] += arg0.values[0] * dT;
  filtered_angle[0] = (0.98f) * (filtered_angle[0] + arg0.values[0] * dT) + (0.02f)* (pitch); …
Run Code Online (Sandbox Code Playgroud)

android tracking accelerometer filter gyroscope

6
推荐指数
1
解决办法
2万
查看次数

确定飞机的位置/方向

我在一个涉及陀螺仪的项目中工作......

我正在使用Arduino和ITG 3200来读取陀螺仪的数据.每个轴(x,y,z)得到3个以度/秒为单位的值.

我的问题是:我如何知道设备的实际(物理)位置或方向(比方说飞机).必须有一个数学公式或类似的东西.

math physics arduino

1
推荐指数
1
解决办法
861
查看次数