我知道这个问题肯定已经在某个地方解决了很多次,如果你知道他们的存在请赐教,谢谢。
快速总结: 我想从 3 轴加速度计计算这 3 个轴中每个轴上的重力分量。 我使用了 2 轴自由体图来计算加速度计在世界 X-Z、Y-Z 和 X-Y 轴上的重力分量。但是解决方案似乎有点偏离,对于只有 1 个加速度计轴暴露于重力的极端情况是可以接受的,但是对于 45 度的俯仰和滚动,组合的总幅度大于重力(由 Xa^2+Ya^ 获得) 2+Za^2=g^2;Xa、Ya、Za 为加速度计在 X、Y、Z 轴的读数。
更多细节: 该设备是 Nexus One,除了 3 轴加速度计外,还有一个用于方位角、俯仰和滚动的磁场传感器。
在世界轴上(Z 与重力方向相同,X 或 Y 指向北极,您认为这无关紧要吗?),我假设我的设备在Y-Z 轴和 X-Z 轴上的滚动 (R)。有了它,我使用简单的触发来获得: Sin(R)=Ax/Gxz Cos(R)=Az/Gxz Tan(R)=Ax/Az
还有另一组音高,P。
现在我将重力定义为在世界轴上有 3 个分量,一个 Gxz 只能在 X-Z 轴上测量,一个 Gyz 用于 Y-Z,一个 Gxy 用于 X-Y 轴。 Gxz^2+Gyz^2+Gxy^2=2*G^2 2G 是因为在此定义中有效地包含了两次引力。
哦,X-Y 轴产生了一些更奇特的东西……如果需要,我稍后会解释。
从这些方程式中我得到了 Az 的公式,并删除了 tan 运算,因为我不知道如何处理 tan90 计算(它是无穷大?)。
所以我的问题是,有人知道我这样做是对还是错,或者能给我指出正确的方向吗?
谢谢! DVD
最佳答案
据我了解您的问题,您知道设备的俯仰和偏航(来自磁力计)并且想使用此信息来计算沿每个(设备)坐标轴的重力分量?
作为一名物理学家,我从小就接受欧拉角而不是俯仰-偏航-滚转,但看着 http://en.wikipedia.org/wiki/Yaw,_pitch,_and_roll我会这样计算:
假设您的设备最初沿全局坐标系定向,因此重力为 gvec:={0,0,-g}(在局部坐标系中)。现在我们必须在通过 yaw-pitch-roll 时计算 gvec 的局部坐标(偏航不会像你提到的那样做任何事情)。
对我来说,这对于旋转矩阵来说是最简单的:我们必须更改角度的符号,因为 gvec 保持不变。我会用 Mathematica 来做这件事,因为那是我的锤子,这是钉子
yaw = RotationMatrix[-yawangle,{0,0,1}];
pitch = RotationMatrix[-pitchangle, {0,1,0}];
roll = RotationMatrix[-rollangle,{1,0,0}];
gvec={0,0,-g}
yaw.gvec
pitch.yaw.gvec
roll.pitch.yaw.gvec
输出是 gvec 在偏航之前以及在偏航、俯仰和滚动之后的局部坐标(所以下面的最后一行应该是你的答案):
{0,0,-g}
{0,0,-g}
{g Sin[pitchangle],0,-g Cos[pitchangle]}
{g Sin[pitchangle],-g Cos[pitchangle] Sin[rollangle],-g Cos[pitchangle] Cos[rollangle]}
关于android - 加速度计重力组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2986628/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我有33个规范以大约5秒的速度运行,以这种速度运行会导致测试套件变慢。我追踪到请求规范(4秒以上),因为模型规范只用了一小部分时间。我已经检查过,我的请求规范没有任何过于复杂或不必要的东西,所以我不知道该去哪里让它们更快,而不是只在推送代码之前运行它们以确保一切正常.加快请求规范的最佳方法是什么? 最佳答案 我使用Spork来加速我的测试。它保持整个环境加载以赢得时间。看看这个博客:http://ykyuen.wordpress.com/2010/12/14/rails-running-rspec-with-spork-test-s
对于一个项目,我需要解析一些非常大的CSV文件。一些条目的内容存储在MySQL数据库中。我正在尝试使用多线程来加快速度,但到目前为止,这只会减慢速度。我解析了一个CSV文件(最大10GB),其中一些记录(20M+记录CSV中的大约5M)需要插入到MySQL数据库中。为了确定需要插入的记录,我们使用Redis服务器和包含正确ID/引用的集合。由于我们在任何给定时间处理大约30个这样的文件,并且存在一些依赖关系,我们将每个文件存储在一个Resque队列中,并让多个服务器处理这些(优先级)队列。简而言之:classWorkerdefself.perform(file)CsvParser.ea
在编译sass时,我的编译时间往往很长(在当前的中型项目中长达9秒),而我的笔记本电脑速度非常快,而且带有ssd。我通过grunt-contrib-sass使用sassass一个grunt任务,但是直接从命令行运行sass时编译时间差别不大。Libsass另一方面,同一个项目只需要大约100毫秒,但它不支持我需要的几个功能。所以我想知道我有什么可能加快编译过程?拆分文件当然有帮助,但是还有其他副作用更小的方法吗?编辑:此外,我也很乐意解释libsass为什么比ruby-sass快得多。不知何故,我非常怀疑这只是因为ruby比C/C++慢得多。还是我错了?编辑2:当我使用Ubun
运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid
我使用Octopress作为我的博客引擎。这是完美的。但是如果帖子很多,比如400+,生成速度就很慢了。那么,有什么方法可以加快Jekyll/Octopress的生成速度吗?谢谢。 最佳答案 显然,如果您只处理一篇文章,则无需等待整个站点生成。您正在寻找的是rakeisolate[partial_post_name]任务。使用rakeisolate,您可以仅“隔离”您正在处理的帖子,并将所有其他帖子移至source/_stash文件夹。partial_post_name参数只是帖子文件名中的一些单词。例如,如果我想将帖子与前面的示例
1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La
Ai-Bot基于流行的Node.js和JavaScript语言的一款新自动化框架,支持Windows和Android自动化。1、Windowsxpath元素定位算法支持支持Windows应用、.NET、WPF、Qt、Java和Electron客户端程序和ie、edgechrome浏览器2、Android支持原生APP和H5界面,元素定位速度是appium十倍,无线远程自动化操作多台安卓设备3、基于opencv图色算法,支持找图和多点找色,1080*2340全分辨率找图50MS以内4、内置免费OCR人工智能技术,无限制获取图片文字和找字功能。5、框架协议开源,除官方node.jsSDK外,用户可
前一段时间由于工作需要把可爱的小雪狐舍弃了,找到了小蜜蜂。但是新版本的小蜜蜂出现了很多和旧版本不一样的位置。1.功能位置迁移,原来在工程build.gradle的buildscript和allprojects移动至setting.gradle并改名为pluginManagement和dependencyResolutionManagement。里面的东西依旧可以按照原来的copy过来。pluginManagement{repositories{gradlePluginPortal()google()mavenCentral()}}dependencyResolutionManagement{r
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我几乎用完了Ruby,但现在想试试Ruboto,android上的ruby。谷歌未能给我足够的(几乎没有结果)。所以任何人都可以分享一些关于Ruboto的教程。