四轴飞行器攻略2:器件介绍(下)
由 动力老男孩 发表于 2011/12/04 23:50:00首先说下现在的进度:目前已经测试了用Arduino读取陀螺仪传感器,加速度传感器,电子罗盘的读数;并且可以用Android手机通过蓝牙向Arduino发送指令;焊了一个小小的扩展板,并完成了初步的组装。接下来的主要工作是传感器读数的分析和姿态平衡算法的研究。发个近照:
圈妈学过一点心理学,忧心忡忡的对我说“据说提前说出目标的事情就不容易成功”,所以她不建议我还没做好就发攻略。但是攻略这种东西,想写的时候没写下来,过几天就忘了。我只好用男生追mm的例子做了解释:闷骚型的男生如果被人知道了暗恋对象,有的人变得更紧张,见到mm就躲;有的人则是硬着头皮展开攻势,最终满载而归。所以公布目标没啥问题,关键是看你把它当成动力还是压力。
言归正传,下面继续介绍四轴飞行器的器件们。
陀螺仪传感器
陀螺仪传感器又称角速度传感器,它的作用是测量物体运动的角速度(废话啊)。从测量维度分,陀螺仪传感器有单轴的,双轴的和三轴的;以传输方式分,又有数字型的和模拟型的。
对于四轴飞行器,最好使用三轴传感器。因为水平方向上就已经需要测量x,y两个维度的角速度,z轴方向上的自转如果有电子指南针的话,倒是也可以省略。所以很流行的另一种方案是用两个垂直安装的单轴传感器(ENC-03MB 村田角速度传感器),价格会便宜好多。
至于数字型的还是模拟型的,初学者开始会觉得模拟型的好用,它会引出3条线,分别输出0~5V之间的电压,表示xyz三轴的加速度值。
看上去似乎相当简单,用analogRead一下就好了。
从我的实践经验看来,它的问题在于线太多!陀螺仪需要3根线,加速度又3根线,指南针再3根线….随着器件的增加,Arduino的模拟输入口完全不够用。
而数字型则简单了很多,以I2C总线为例,数据通信只需要2根线,而且很多个设备(最多支持256个设备)都是公用这两条线。反正看你愿意花力气在焊板子上还是写代码上了。对于我这样的IT民工来说,显然觉得敲代码比焊板子舒服很多,所以我最终选择的是L3G4200D三轴数字式陀螺仪传感器。
加速度传感器
加速度传感器又称重力感应器,它可以感知物体受到的重力。例如水平静止放置的重力感应器,xy方向上重力加速度都是0,z轴方向上的读数则是9.8;而倾斜放置的传感器,在xy分量上就可以读出所受的重力。和陀螺仪相比,加速度传感器测量的是绝对的“倾角”,而陀螺仪测量的是“倾角的变化速度”。
这些传感器的最终目标,就是让四轴飞行器保持平稳。有人可能觉得用重力感应器就足够了,因为它可以测量绝对角度。但是请注意的是,这个倾角必须是在物体静止或者匀速的情况下测量的,飞行器在运动过程中是测不准的。就好比闭眼蹦极的人,在失重的时候是不知道上下左右的。所以一般需要两个传感器配合,一个用来测变化量,一个用来修正误差。
加速度传感器同样分为数字型的和模拟型的,我看上的是ADXL345数字型三轴加速度传感器。
电子指南针
电子指南针也叫电子罗盘,也有人叫磁通传感器。它的原理跟指南针类似,通过测量某个截面内的磁通量大小来判断方向。它也可以是三轴的,其中垂直于南北极磁力线的那个截面会有最大的读数。这个指南针不是四轴飞行器必须的,因为平稳飞行靠前面两个传感器就够了。
但是试想一下这样的情况,我们遥控一个直升机的时候,可以看到机头的朝向,所以我们可以让他“前进/后退/左移/右移”。
而四轴飞行器是对称的,当你发出“前进”指令的时候,它并不知道你期望的是哪个方向的“前进”。
网上一种流行的方案是,给四轴飞行器的某条腿涂上鲜艳的颜色,作为“机头”,前进后退的参照系都是以它为准。但是这样就需要对遥控者有一定要求,需要能够迅速分辨方向。
我加上这个电子指南针,是希望它能和手机遥控器上的指南针对应起来,永远以遥控者的面向方向作为“前方”。当然这样会给算法带来更多的工作量,大家祝我好运吧
我最终选择的芯片是HMC5883L三轴数字型电子指南针。
其他还有一些零七八碎的东西,包括:
超声波测距传感器,用来测量离地高度;
蓝牙适配器,用来和手机通信;
洞洞板,用来组合这些传感器;
各种插针、排母、导线、开关;
机架,这个也可以自己做,现成的比较好看;
最后是某些网友非常关心的价格问题,下面的价格表仅供参考,最终还是请大家自己擦亮眼睛,货比三家。
必须提到的是一个小插曲,很多芯片的价格分为散件价格和模块价格。例如L3G4200D芯片,单买芯片据说30元就可以搞定;如果买现成的小电路板+所有电容电阻等配件,那么需要70元左右;如果这些小配件都帮你焊好的成品,大概需要160元左右。
看到这些价格之后,勤劳勇敢的圈妈大骂奸商,说要帮我焊上,省下这100块钱!结果散件回来以后我们都傻眼了,这是一种叫LGA的封装方式,花椒一样大的小芯片,肚子下面有十几根脚。而且这些脚是在芯片肚子下面,不是伸出来的!
圈妈硬着头皮焊了几下,发现基本所有的脚都连在一起了,最后弄掉了焊盘,彻底报废。所以建议新手们,如果没有专业焊接工具的话,就不要尝试省这100块钱了。
价格表(仅供参考!)
格氏11.1V2200mA25C锂电 128
B6充电器 160
郎宇A2212电机 62×4
天行者20A电调 48×4
四轴机架 88
三轴陀螺仪模块L3G4200D 160
三轴加速度ADXL345模块 50
三轴磁阻HMC5883L模块 70
蓝牙模块JY-MCU 40
超声波测距 16
用超声波测距传感器,如果飞到屋顶上空,离地高度还会准确么?
对,这个离地高度是不准确的,伸只手就可能变化,我主要是用它做辅助手段
L3G4200D初始化寄存器怎么设置的?我现在读x,y,z一直是个定值,求救~
你是用I2C还是用SPI?
我用的I2C方式,读数之前还需要设置几个寄存器,这会儿记不清了,回家给你发一下
这个是我设置的参数:
int GYRO_ADDR = 0×68; // 7-bit address: 1101000, change to 0×69 if SDO is High
byte GYRO_READ_START = 0xA8; //Start register address, total 6 bytes: (XL,XH,YL,YH,ZL,ZH)
byte GYRO_CTRL_REG1 = 0×20;
byte GYRO_CTRL_REG2 = 0×21;
byte GYRO_CTRL_REG3 = 0×22;
byte GYRO_CTRL_REG4 = 0×23;
byte GYRO_CTRL_REG5 = 0×24;
int setupGyroSensor(int scale){
writeRegister(GYRO_ADDR, GYRO_CTRL_REG1, 0x0f);
writeRegister(GYRO_ADDR, GYRO_CTRL_REG2, 0×00);
writeRegister(GYRO_ADDR, GYRO_CTRL_REG3, 0×08);
if(scale == 250){
writeRegister(GYRO_ADDR, GYRO_CTRL_REG4, 0×00);
}else if(scale == 500){
writeRegister(GYRO_ADDR, GYRO_CTRL_REG4, 0×10);
}else{
writeRegister(GYRO_ADDR, GYRO_CTRL_REG4, 0×30);
}
writeRegister(GYRO_ADDR, GYRO_CTRL_REG5, 0×00);
}
咳咳,经过RSS订阅,抢板凳的几率大了许多…哈哈
BGA,LGA,各种GA的封装都是我们这种人士的禁区…而且板子也不好弄,只要看见这种封装,我立马都买现成的模块,哈哈。我们实验室原来尝试过焊,BGA的基本就没成功过,QFP的成功率也低…
持续关注!
好,以后我看到GA也绕道走:)
貌似这些底部封装的芯片需要使唤热风枪+阻热贴纸来做。
以前在南京亲眼看过牛人手动用热风枪给笔记本主板换南桥。。。
博主的三轴 加速度,气压,磁感 几个项目看到现成的成品板。。。
http://item.taobao.com/item.htm?id=13686343664
淘宝上说是9轴模块(你懂的) 价格才138-150以内,很多人卖。
我靠,降价好多了啊
表激动,单体的卖还是很贵的,毕竟电路制版费高。做1块电路上就是节约了很多成本啊,好像那些卖成品飞控的。在国内某模型论坛今年元旦还卖过成品的只卖不到100。。。。比单片机板还便宜啊。。。不过现在价格涨回去了。389元
好吧,呵呵,看来买东西真得赶促销啊
用超声波测距的话是想自动降落吗,比如蓝牙控制的时候来电话了,或者超出控制范围了。
不过如果四轴在水上飞行的时候。。。我觉得还是失去控制的话悬停比较好。
不是,我弄这个测距的东西,主要就是为了失控的时候悬停。
四轴保持平衡之后,如果匀速向上或者匀速向下,各种传感器都是无法分辨的。
好像除了测距之外,没有特别好的悬停控制了
超声波做悬停的话,飞低的话还不错,太高的话就不行了,而且我估计你的四轴不会飞的太低了。我看论坛上做悬停好像用的都是气压(高度)传感器,我看那个精度都是0.2m左右,不知道是怎样来做悬停的。
气压传感器没有这么高的精度吧?没查过资料,直觉上觉得气压随高度的变化非常微弱,能精确到米的级别就不错了吧?
超声波可以精确到厘米级别,但是测量范围可能只有2米。这两者结合应该是比较好的方式,在近地高度,用超声波测距,可以非常稳定的悬浮。上升到一定高度之后,只需要保持米级别的高度稳定即可。
超声波的距离是15feet,像AR Drone就使用超声波.
话说… 四轴的程序什么的 都需要自己编写嘛? 有网站 可以下载嘛?
Ar Drone本身好像就是开源的,电路和程序都可以下载
记得你好像说过圈妈的EE,半个同行来的。这个LGA确实难焊,我用风枪吹了很久才搞定。我也一直迷恋四轴,原本也想diy的,后来考虑计算了一下成本,发现还是先买了个AR.Drone,这东西,拓展性不错。正在写用pc控制它的应用,但是视频部分遇到写问题,不知道前辈有写过java的视频开发吗?如果有,能不能给点思路,最好有个demo。
没做过视频处理,曾经看到过建议,添加一个wifi路由设备,然后有那种直接插网线的摄像头,好像接上之后链接到一个ip地址,就可以看视频流。具体的细节还不太清楚。
谢谢回复,已经从AR.Drone的获取视频流,目前就缺乏把数据转化成视频的知识了,看来之能继续百度。
我记得淘宝有专门卖无线视频传输模块的
LGA的封装方式的芯片我会这样焊,在小芯片每个引脚引出几根线,然后在焊在焊盘上,这个焊接技术我还是有,反正不能浪费了,哈哈
哇塞,这么小的脚,还需要引出线:D
专业人士果然强悍!
我想照着你的做一个,可我不会编程这一块,哎,动手我还是很在行,编程不行
电子,机械,编程这些都应该会一点,开源硬件的代码不会很难的,依葫芦画瓢先熟悉起来:)
我的建议是从小实验做起,一开始可以控制一个小灯亮灭
大学学过c语言基础,自学过单片机编程,动手能力还行,能焊接简单的电路,这样的基础有没有合适的起步实验呢?
已经比我有经验啦,我之前没接触过单片机。
小爱成长记里,做过几个arduino的小实验,可以参考:
http://www.diy-robots.com/?page_id=328
如果有兴趣的话,可以试试磁悬浮:
http://www.diy-robots.com/?page_id=685
有没有考虑用GPS,这样高度就没问题了,而且可以规划好路径自动巡航了 或 实现按原有路径返航功能
有考虑,不过现在电池续航能力稍微差点,还没正式飞呢,听说只能飞10分钟以内。
这样的话gps就没有用武之地了,不过一步一步来,平衡算法和惯性导航,对小飞机和大飞机应该是类似的。
到时候可以做升级版
最好能用微波无线供电。就可以一直飞了。哇哈哈哈
据说米国军方在研究微波供电,呼呼
这个是我等宅男搞不定的:)
如果有一个腿上装了摄像头
就应该用这个摄像头做前方吧
摄像头还没装哪:)
问个问题,洞洞板上焊排针,能直接插到arduino 1280的插孔中吗,UNO貌似不行有一排位置对不上,不知道您有啥解决办法吗。
我焊的排针刚刚好可以插到arduino的插孔里。我看间距和尺寸都是相同的,
你是不是选用的洞洞板标准不太一样?
不是洞洞板的问题,1280有6条单排的插孔和尾部的1条双排插孔吧。而arduino UNO有4条单排插孔,其中有3条插孔之间的距离是正好可以插入洞洞板,有一条插孔有整体偏移,呵呵,所以没办法直接插入。
现在只有尽量避开使用那边的IO口,或者在洞洞板上想其他的办法了。呵呵,其实解决问题才是DIY的最大乐趣嘛。
原来如此,我用的是1280,所以刚刚好都可以插上。
看来UNO的尺寸不一样,如果是我的话,会考虑买那种长腿插针,然后全都掰过去,笨办法
传感器读数分析你是用什么软件呈现呀。
姿态平衡算法 弄得怎么了呀
用的是一个叫做Origin的小软件,平衡算法正在调试中。
好的。谢谢。我去找找看。
如果在飞行器上装个智能手机,不仅可以去掉其他传感器的焊接,还能减少很多编程量,更重要的是,在其自动控制方面会体现的更好,位置放的好的话,摄像头也省了 哈哈
这个恐怕不行,手机和飞行器之间,只能通过蓝牙通信,这个通信是很慢的,对于需要迅速反应的平衡机制来说,估计搞不定
我也在考虑用智能手机,你说的蓝牙通信应该没所谓吧。直接用arduino加上它的android扩展板,那个通信是用ISP的,很快。电调什么的都靠arduino控制,但是姿态检测和平衡之类的全靠android上面的编程了,这样所有问题都扫清了~~
另外想问下你的机架是在哪个网店里买的?我也想要~~~~~
没错,我现在已经可以用手机和anduino通信了,主要的瓶颈就在于姿态的检测和平衡控制。
机架从这里买 http://item.taobao.com/item.htm?id=12847285888
那种封装的芯片要怎么焊的呢???话说,圈圈妈难道也是学电子出身的吗???
没焊成啊,圈圈妈是EE专业的,呵呵
偶也是EE。。。不过偶的电路方面真是一知半解啊,这学期被高频电路实验虐得内焦外嫩的说。。。相反编程方面的课程都学得很好。。。
很有创意呀,可惜对电路不了解。。
lz很久没更新了,是不是什么问题卡住了?
期待你的成品呢
哇,果然好久没更新了,真是对不起大家啊
主要是四轴正做到一半,有空再继续发攻略吧
其实想问一下楼主关于超声波测距的中断方式。
在微博上给你看的是我写的第一篇博客,第二篇写了一个超声波的代码。。但是我发现如果两次间隔很短,比如delay(10) ,就会发生错误,数据越长越大。。不知道为啥。。谢谢……&……
额,已经解决了。。
是代码的BUG。。寒!
最近做一个项目,我就想问一下,如果想测传感器所在平面与水平方向的夹角,有没有直接测量的?一定要用数字陀螺仪传感器么?
求解答。。。
如果被测量的物体运动比较缓慢,用加速度传感器就足够了。
但是对于姿态快速变化的小车或航模,只能用陀螺仪+加速度
你好啊,我也在做掌上四轴飞行器,希望能多多交流!我为了焊接那些原件,直接就买了热风枪,看个视频很快就学会焊了!我建议不要多花那100元冤枉钱。
这个强。。。不过好点的热风机都要好几百啊,而且还要回摆弄。
我之前才发了链接给博主,淘宝上4个传感器一个板子上也才150,焊神马啊
三轴陀螺+气压+磁定向+三轴加速度
你自己焊就算热风机不要钱,自己加工PCB能做到如此细致?很难吧。热转印也很麻烦不是么。
芯片自己配的话,基本上也有100左右了吧。算起来,其实省的很少。
darkorigin说的在理,主要是我不太擅长焊这些小东西,太费时间了,而且一旦焊坏了,成本比直接买还贵
对了,你的掌上四轴选用的都是那些型号的电机电调呢?
发现回复有点麻烦,每次都要输名字,邮箱。
to楼上.我自己用感光膜做的电路板,线路绝对精致……做这个没有问题,不精致的是裁下来的形状……
热风枪以后有的用啊,就200元,正好我烙铁坏了,上面还有调温防静电烙铁。
我用的是直径7mm的空心杯电机,直接用PWM加贴片场效应管就能驱动了,45MM的正反浆……现在正在调试芯片的通信……对四轴的控制方法还是有些不懂……慢慢来吧……
奇怪,你用的什么浏览器,应该输入一次以后就会记住的。
这样说来你是自己画PCB,然后做的电路板了。网上见过的掌上四轴,好像是直接把PCB板当支架使了?
原来我用的是不同的浏览器……电脑换成手机……没错……就是你想象的那样……你的那一个模块的可能比我整个四轴的板子都大……考虑我的重量,所以我必须自己焊……
你对四轴算法研究的透彻吗?我还没有完全搞明白……
之前企图看一些开源的代码,但是看得不太明白。后来主要是在各论坛看帖子,大概就是检测倾角和旋转的角速度,然后用PID调节平衡。
你的空心杯电机升力有多大,如果用arduino nano和一块9轴的模块,不知道能不能带的起来。我没有画过pcb,这方面没有基础。
另外,空心杯电机怎么驱动?上次你说过场效应管,那个是做什么用的?这个空心杯调速是不是用PWM直接输出即可?功率多大,单片机的管脚直接输出带的动吗?
你热风机教程有地址么?想学下。谢谢!
我在优酷上面搜的,好像是二十几分钟的视频,好像有3集,那人经常说:我们的教程是精品,我说的每一句话都是经典…没有半句废话。事实也差不多是那样……说的很实用!
不知道为什么ADXL345始终调不通,不知道是程序不对还是引脚虚焊,帮我看看这也段程序吧:
uchar SPI_Transfer(uchar cmd,uchar byte)
{
uchar i,read;
SCK_H;
SET_SDO_OUT;
SET_SDI_IN;
for(i=0;i<8;i++)
{
SCK_L;
if(cmd&0×80) SDO_H;
else SDO_L;
SCK_H;
cmd<<=1;
}
for(i=0;i<8;i++)
{
SCK_L;
if(byte&0×80) SDO_H;
else SDO_L;
SCK_H;
read<<=1;
if(SDI_IN) read|=0×01;
}
return read;
}
uchar ADXL_Transfer(uchar cmd,uchar byte)
{
uchar dat;
CS_L_ADXL;
dat=SPI_Transfer(cmd,byte);
CS_H_ADXL;
return dat;
}
我觉得没啥问题啊。。。
能不能把你的ADXL345的示例程序给我看看?
发到ai_shi_qi@126.com吧,谢谢你啦
你用的SPI方式啊,我用的是IIC。资料已发邮件给你
谢谢啊!问题我也找到了。avr有个jtag。需要禁用portc才能使用。。
赞!你有试过这些空心杯电机能带起多大重量吗?
反正不小!!飞机没有带电池的情况下,一个螺旋桨就把飞机吹得翻了个跟头!!
今天陀螺仪突然又不行了,怀疑是电压过大坏了,换其他的也不行了,我估计是我第一次焊接是碰巧。现在把其他的陀螺仪吹坏了。焊盘也快不行了。。看来这个快报废了。。手工做的板子就是不行。。马上又要考试。。忍忍吧。先复习好。我qq526195537
很有参考价值,多谢了。先好好考试,回头继续玩!
我想问一下,电池是直接与四个电调相接吗?
是不是要电源分配的东西?我把电源与俩个电调相接,启动的时候很正常运转,之后,一个电机加速,一个电机速度逐渐变慢,到停止,我感觉好像是电流没有平均分配,你的原件清单上没有电源分配这部分的东西
不需要,你的情况看上去应该是电池的电流不够用,我用的是25C,11.1V的锂电。那个参数25C就是放电速度,至少也需要20才能飞起来吧
嗯,我感觉也是功率不够,导致的竞争现象。但是我发现,一个电机转速达到一定值时,接电池的负极线开始迅速发热。
我用的是这种电调:http://item.taobao.com/item.htm?id=13171068056
这种现象是电池放电快达到极限值的原因,还是电调质量不好呢?
我用的是20A的电调,25C的电池,一个可以带4路电机。但是不知道你的情况是哪的问题
我看你的大四轴是每个都有一个电调啊???
电调必须每个电机一个吧??不然不能单独控制了吧
对,是每个都有一个电调
补充一下,就是我这15c的电池是给俩个电机供电,不是同时给四个供电的
太小了,真的太小了,中毒已久的我在淘宝上盘旋了几周了,这次买了一个9轴模块跟你的模块一样,就是多了个BMP085….一起买的还有一个网络模块。。
东西到手之后真的是发现太小了,原来还心存侥幸说模块也许手艺好能焊接出来,现在发现真的太小了,整个模块也就是1元硬币大一丁点。幸亏没买芯片回来,不然准傻眼了。
价格嘛。100块钱。
看了一下你那要焊接的片子,那不是用烙铁焊的,是用热风枪焊的。买一个也没多贵,练习一下,也很容易掌握,一般都是一个镊子捏好片子,用热风枪把盘子上的焊盘里的锡盘吹化,再把片子在热风枪口吹一下,立刻对准焊盘按下去,这样基本就焊好了。练习一下,很快就有感觉了。微型器件,都是要靠这个手段去搞的,否则没得玩。
好,多谢!
关键是吹不好 芯片就吹费了吧。。。
好吧,我承认我手比脚还笨。。。焊个洞洞板还能烧芯片。。。
哈哈,咱们两差不多啊
对于传感器,可以看看意法半导体的STEVAL-MKI108V2,这是一个陀螺仪(l3gd20)、三轴加速度以及地磁(集成到了LSM303DLHC)的评估模块。不过原厂的产品比较贵(30多美元,且限制出口),你可以到淘宝去买上面提到的两个芯片,然后用热风枪焊到板子上就行了。在ST的网站上,有原理图和PCB版图(cam的),可以参考它的设计(我个人感觉照搬就可以了,他的布线很成熟)。
参考设计:http://www.st.com/internet/evalboard/product/252687.jsp
顺便提一句的是,如果你的主控芯片是stm32的,可以参考带微控制器的模块设计,里面有方便调试的小程序。
多谢建议!
我正着手于做一个四轴 由于是新手 所以有一些购置的问题想请教一下
1. 我之前买的电机是按照你的信号买的 到网上问了一下 大多数人说这个型号(A2212 kv980)使用10寸浆 请问这个尺寸是否合理呢?
2. 我在网络上看到一个叫MPU的传感器 已经集成了6轴 我想对于我来说应该够用了 型号是MPU-6050 我还看中它的另一个原因是价格低廉
http://item.taobao.com/item.htm?spm=a1z0k.1000775.1.151.MUA35I&id=16987043030&_u=blvo66bdaf6
这是一个网址(正版的大概也要60左右)
您觉得这个传感器是否可用呢?还有她本身也是兼容arduino板的
另外就是我看中了一个60cm和一个45cm的机架 选什么样尺寸的机架才比较合适?
另外 三节18650能否达到所要求的C数呢?
达不到~~~~~~~~
还是狠狠心买了格氏的 有点小贵。。。
1. 电机和桨的尺寸,如果网上很多人都推荐了,估计比我选的好;
2. MPU这个可以的
动力男孩啥时候继续您的四轴飞行器啊, 这都好几个月了, 等Blog头发都白了。。。
对不起啊,这个事情一停下来,想捡起来真是很累啊
其实大多数人都有这个毛病吧 我是特别严重的 趁热打铁 凉了就提不起干劲了
是啊是啊,当时的代码现在翻出来看,只有一个感觉“这到底是什么玩意儿啊”
我最近其实在做一个相对简单的小东西,先找找感觉,这次吸取教训,没做好之前先不说了,免得做一半被人骂
很赞同, 我以前也喜欢做什么都是在之前大谈特谈, 以为自己什么都知道, 会很快做出来的, 但是往往半途而废, 还是自己先啥都不说, 捣鼓出差不多了再假设一个wiki大谈特谈比较好:)
我也是看了您的BLOG开始入了四轴这条道的, 不过我不打算使用arduino, 准备使用arm9(s3c2440), 还有很长的道路要走啊。。。
国外有一个搞小四轴, http://bitcraze.se, 做的相当棒, 很敬佩老外的软件功力!
@van9ogh 为什么你给的那个链接进不去啊?
多了一个逗号, sorry, http://bitcraze.se, 这个四轴的代码我粗略的看了一下, 使用的算法貌似是最新的研究成果, 算法来源于这里: http://www.x-io.co.uk/open-source/
话说现在9轴姿态传感器好便宜,才20多块。 真的好佩服你们。