卡尔曼姿态程序小有收获
本帖最后由 cw628 于 2012-6-28 11:44 编辑用论坛上的卡尔曼程序+L3G4200+Lis35d(加速度计)做了个姿态检测,已经可以有效的进行数据融合,能有效滤波,但有个困扰:论坛上的卡尔曼程序中用加速度计求角的函数是atan2(y,z),当转到x轴朝地面时,y,z的分量基本为0,反正切求出了的角度精度很差,此时的姿态程序就出问题了,请问这个是不是所谓“6自由度”的概念?也就是说如果只用陀螺仪和加速度计只能求得重力加速度在Z轴有分量时的姿态?即只能感知6个方向的姿态?还要加其他什么传感器才能达到“9自由度”?
地磁方向垂直于重力方向,楼主的YZ轴重力最分量接近零的时候,地磁分量确最大
参考重力轴可算两轴姿态(无航向),参考地磁轴可算两轴(无横滚)
共四轴冗余一轴,融合就是,再融合GPS就是捷联惯导 feng_matrix 发表于 2012-6-28 11:57 static/image/common/back.gif
地磁方向垂直于重力方向,楼主的YZ轴重力最分量接近零的时候,地磁分量确最大
参考重力轴可算两轴姿态(无 ...
感谢feng_matrix的解答,我理解的是需要增加一个地磁传感器来和Z轴的陀螺仪融合后算出偏航角吗? cw628 发表于 2012-6-28 12:20 static/image/common/back.gif
感谢feng_matrix的解答,我理解的是需要增加一个地磁传感器来和Z轴的陀螺仪融合后算出偏航角吗? ...
是增加三轴地磁传感器,就如同三轴加速度传感器一样。
陀螺仪本来就是三轴对称的
只有这九个传感器一起才是完整的。 atan2(y,z) <---這個公式只能用在pitch和roll角度在30度以內。 g921002 发表于 2012-6-28 14:17 static/image/common/back.gif
atan2(y,z)
难道还有另外的公式? 楼主用的公式只适用单轴的,四轴应该用:x=atan(picth/sqrt(roll*roll+yaw*yaw)); 此时得到的是弧度值 x=x/3.14*180; 其中picth,roll,yaw为加速度读出的值,x即为pitch轴的角度 feng_matrix 发表于 2012-6-28 11:57 static/image/common/back.gif
地磁方向垂直于重力方向,楼主的YZ轴重力最分量接近零的时候,地磁分量确最大
参考重力轴可算两轴姿态(无 ...
地磁方向不一定垂直于重力方向,有磁倾角。
我在佛山,实测(计算加速度计和3轴罗盘的夹角)磁倾角有44度。 js200300953 发表于 2012-6-28 22:22 static/image/common/back.gif
地磁方向不一定垂直于重力方向,有磁倾角。
我在佛山,实测(计算加速度计和3轴罗盘的夹角)磁倾角有44度 ...
用地磁就得根据地理位置校正,与环境与地质结构关系很大
請問樓主使用的軟體叫甚麼名子??
可以下載的到嗎?? xue_xi_zhong 发表于 2012-6-28 16:00 static/image/common/back.gif
楼主用的公式只适用单轴的,四轴应该用:x=atan(picth/sqrt(roll*roll+yaw*yaw)); 此时得到的是弧度值 x=x/ ...
x=atan(picth/sqrt(roll*roll+yaw*yaw)); 怎么能得出x的角度?如果公式中roll是x轴加速度,yaw为z轴加速度,pitch为y轴加速度的话,我画了个图看了看这个公式得出的根本不是绕x轴的角度!要配合陀螺仪算姿态的话,必须用加速度计计算出绕x轴旋转角度(不是和X轴的夹角!而是绕X轴的旋转角度),才能和x轴陀螺仪融合算姿态!!是否有其他计算方法或者融合方法?还请知道的TX不吝赐教! john800422 发表于 2012-6-30 18:32 static/image/common/back.gif
請問樓主使用的軟體叫甚麼名子??
可以下載的到嗎??
台湾同胞吗?软体?还繁体字? cw628 发表于 2012-7-1 15:32 static/image/common/back.gif
台湾同胞吗?软体?还繁体字?
是的
UART接收的Software
是自己做的嗎??還是下載的??
最近在製作四軸, 有這些Software會比較方便分析
請問可以提供載點嗎?? john800422 发表于 2012-7-1 17:37 static/image/common/back.gif
是的
UART接收的Software
这个软件是论坛里面一位兄弟写的,很好用,http://www.amobbs.com/thread-5468886-1-1.html cw628 发表于 2012-7-1 15:31 static/image/common/back.gif
x=atan(picth/sqrt(roll*roll+yaw*yaw)); 怎么能得出x的角度?如果公式中roll是x轴加速度,yaw为z轴加速 ...
roll是y轴的加速度,至于原理论坛有的,我给你发一个PDF看看吧 另外想问一下,楼主的卡尔曼在哪下的 xue_xi_zhong 发表于 2012-7-2 11:16 static/image/common/back.gif
roll是y轴的加速度,至于原理论坛有的,我给你发一个PDF看看吧
帅哥,你说的是哪个公式? 楼主,你好!我现在也在做四轴,我的硬件什么的,都做好了,就是姿态解算和控制算法没搞定!
能不能交流下,如何姿态解算那部分,怎么去实现的!
我的QQ:361219902
谢谢! 有没有中文的,英文的看不懂
页:
[1]