当前位置: 首页 > 面试题库 >

使用加速度计,陀螺仪和指南针来计算设备在3D世界中的运动

吕奇
2023-03-14
问题内容

我正在开发一个Android应用程序,该应用程序可以计算设备在6个方向上的运动。我认为我可以将加速度用作;

x = at ^ 2 ”,但a不是常数。这就是问题所在。如何计算总运动量?


问题答案:

加速度计为您提供三个方向(x,y,z)。它们是加速度测量,很难知道设备的位置。但是,请记住,加速度与积分相关:

a(t) = a[x]
v(t) = a[x]t + c
x(t) = a[x]t ^ 2 + ct + d

问题是您不知道c或d,因为当您使用导数时,常数会丢失。因此,缺少c和d可能使您无法正确理解。您可以通过记住上次为这些值使用的值来尝试进行补偿。因此,在获取3个样本之后,您可以开始从中计算位置。

关于如何解释来自传感器的数据,有大量的信息。就像弄清楚重力在哪里定向,然后减去重力以获得线性加速度。

http://developer.android.com/reference/android/hardware/SensorEvent.html

这是一种使用加速度计以及详细查找位置的算法得出位置的方法

http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf



 类似资料:
  • 我使用IMU实现了一种数学方法来计算位置,IMU给了我加速度计、陀螺仪、俯仰偏航和滚动数据。问题是IMU对我的项目不够坚固,所以我买了一个更精确的IMU。 问题是它没有给我俯仰偏航和侧倾数据,它只给加速度和陀螺仪数据。我知道计算俯仰和侧倾很容易,但我猜我需要一个磁力计来计算偏航值。 我需要使用IMU计算位置,所以我不知道这是最好的方法。 1)使用数学方法获取偏航数据(我不知道是否可以)。2)集成磁

  • 更新时间:2018-09-18 10:16:51 功能说明 加速度和陀螺仪传感器驱动。lsm6dsl 是一款具有数字加速度计和数字陀螺仪功能的低功耗传感器,通过 I2C 协议进行数据交互。 硬件资源 DevelopKit 开发板上自带有 lsm6dsl 传感器(下图红色圆圈处),并连接到 STM32 的 I2C2 端口; 软件设计 驱动配置 开发板板级管脚配置(board.json) 示范:</s

  • jd.startGyroscope(Object object) 开始监听陀螺仪数据。 参数 Object object 属性 类型 默认值 必填 说明 interval string normal 否 监听陀螺仪数据回调函数的执行频率 success function 否 接口调用成功的回调函数 fail function 否 接口调用失败的回调函数 complete function 否 接口

  • 判断手机或平板的倾斜状态 用法 Your browser does not support the video tag. 通过向不同方向倾斜手机,发出不同的动物叫声 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。

  • 检测物体震动和倾斜方向。 用法 Your browser does not support the video tag. 案例:水平仪 说明:利用陀螺仪传感器检测物体的倾斜,通过神经元APP编程指示出该如何调整使得物体水平。 所需模块:电源、蓝牙模块、LED面板、陀螺仪传感器、磁吸板。 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。

  • 陀螺仪模块可以检测物品的运动状态和倾斜角度,提供当前的角度和加速度信息;也可用于检测震动。 净重量:7.4g 体积:24×24×14mm 参数 俯仰角范围:±180° 翻滚角范围:±90° 加速度范围:±8g 工作电压:DC 5V 抗跌落能力:1.5m 工作温度:-10℃~55℃ 工作湿度:<95% 特点 支持姿态识别 可检测多种不同强度的震动及晃动