Born to be proud
4/4
2016

姿态测算原理

经过信号预处理(滤波、校准等),可得到精准传感器输出信号,进而为精确进行姿态测算提供保障。常用的载体姿态获取方法有:
(1)利用陀螺仪产生的角速度信号,积分求取三轴旋转角度,从而获得物体姿态变化,可用四元数表示;
(2)利用加速度计产生的重力加速度信号和磁力计产生的地磁信号,可分别得到载体航向家、横滚角及航向角,从而得到物体姿态;可通过转换以四元数表示;
(3)多个系统捷联组合进行姿态测算,如通过卡尔曼融合算法,将陀螺仪、加速度计和磁力计产生的信号进行合理融合,角速度信号对动态情况下的物体姿态测算优势明显,而加速度与磁力计可对角速度信号的测算进行不定时修正,从而实现传感器之间的互补,使姿态测算更加精确、更适用于各种环境。
由于陀螺仪存在零偏及长时间使用后信号漂移等现象,如利用第一种方法进行姿态测算,姿态误差会随时间的推移而不断增大,从而导致无法长期稳定的精确信号输出;加速度计及磁力计皆利用地球本身存在的稳定的外部因素产生输出信号,更容易获得物体的绝对姿态,然而在运动过程中,物体同样会产生加速度,对姿态测算造成干扰,而磁力计也易受磁性物质干扰,因此第二种方法适合物体本身运动幅度较小的情况,不利于在物体快速运动时的姿态测算,即动态性能不好。第三种方法对前两种方法进行融合,能够分别发挥两种方法的优势,虽然采用卡尔曼滤波等信息融合技术,增加了运算量,但能在各种运动情况下获取物体精确姿态,是目前捷联导航系统中最常用的姿态测算方法。


3/30
2016

keybd_event函数

keybd_event函数,系统可使用这种合成的击键事件来产生WM_KEYUP或WM_KEYDOWN消息。
函数原型;void keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,DWORD dwExtralnfo);
包含4个参数:
第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab(其他具体的参见附录:常用模拟键的键值对照表);
第二个参数为扫描码,一般不用设置,用0代替就行;
第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成”KEYEVENTF_KEYUP”;
第四个参数一般也是置0即可。

//模拟按下'ALT+F4'键
keybd_event(18,0,0,0);
keybd_event(115,0,0,0);
keybd_event(115,0,KEYEVENTF_KEYUP,0);
keybd_event(18,0,KEYEVENTF_KEYUP,0);


3/28
2016

姿态角

载体的姿态是载体坐标系在地理坐标系的表示,常用航向角、俯仰角和横滚角作为载体的姿态角。基于地理坐标系及载体坐标系,可得出姿态角的定义:

image
航向角:载体的x b 轴在水平面的投影与地磁北极夹角,叫做航向角,其表示范围为 0~360°;

+ MORE

7/12
2015

JavaWeb微博

这学期的JavaWeb课的成果,做的是一个微博小应用,实现了关注,发微博,查看关注人微博的几个功能,也算对Javaweb有了初步的了解。该应用用到了struts2,hibernate,spring,bootstrap几个框架,hibernate与spring都是在先前完成的情况下后续添加的,只是做了一点示范,没有贯穿整个项目。
本来想把项目挂到sae的,整了半天连上了数据库,又报struts2的错误,sae的环境很奇葩,java又是sae中奇葩的,还是算了。

下面是应用截图:
image

+ MORE

4/6
2015

Git学习笔记

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。分布式的git相比于集中式的svn最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
git构架上分为3个区,工作区,暂存区与版本库。用户在工作区的更改通过git add命令添加至暂存区,暂存区的数据通过git commit提交到版本库。用户通过git checkout从版本库中检出数据。
git的远程协作需要先fork开源项目,然后本地git clone该项目,通过git pull,git push编辑项目,通过git remote获取原作者的更新,pull request为该项目做贡献。

git 双击table自动完成

+ MORE