四轴飞行器1.4 姿态解算和Matlab实时姿态显示

原创文章,欢迎转载,转载请注明出处

      MPU6050数据读取出来后,经过一个星期的努力,姿态解算和在matlab上的实时显示姿态终于完成了。

1:完成matlab的串口,并且实时通过波形显示数据

2:添加RTT查看CPU使用率的扩展功能,MPU6050读取数据的优化

3:四元素表示的坐标变化,四元素与欧拉角的关系和Madgwick的IMUupdate算法

4:飞控数据采集线程和数据处理线程的安排,类似于生产者与消费者的关系。

 先放个效果视频。。。

如果看不了视频,请打开视屏网址:http://v.youku.com/v_show/id_XNzU3MTk0MTAw.html

1:matlab串口初始化还是比较简单的,网上的资料也很多,这里就直接贴初始化代码了。

 1 % --- Executes on button press in pb_OpenSerialPort.
 2 function pb_OpenSerialPort_Callback(hObject, eventdata, handles)
 3 % hObject    handle to pb_OpenSerialPort (see GCBO)
 4 % eventdata  reserved - to be defined in a future version of MATLAB
 5 % handles    structure with handles and user data (see GUIDATA)
 6 %
 7 global o_SerialPort;
 8 %______________________________________________
 9 %GUI全局变量
10 
11 
12 %---------------------串口初始化-----------------------
13 %%%COM端口初始化
14 int_Index_COM=get(handles.pop_SerialPort,'Value');
15 string_COM=get(handles.pop_SerialPort,'String');
16 string_Select_COM=string_COM{int_Index_COM};
17 o_SerialPort=serial(string_Select_COM);
18 %%%Baud初始化
19 int_Index_Baud=get(handles.pop_BaudRate,'Value');
20 string_Baud=get(handles.pop_BaudRate,'String');
21 string_Select_Baud=string_Baud{int_Index_Baud};
22 double_Baud=str2double(string_Select_Baud);
23 set(o_SerialPort,'BaudRate',double_Baud);
24 %%%设置数据长度
25 int_Index_DataBit=get(handles.pop_DataBit,'Value');
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值