5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
标题: 关于APM数据解码,求助! [打印本页]
作者: liangdyc 时间: 2013-9-7 19:02
标题: 关于APM数据解码,求助!
本帖最后由 liangdyc 于 2013-9-7 19:04 编辑
本人通过串口与APM通信,利用自己写的命令FE 06 01 FF 00 42 02 00 01 00 0A 01 A5 07。要求APM返回姿态数据。APM返回成功。
接收到的数据为:
FE 1C 26 01 01 1E 87 D3 05 00 50 8F 68 BB 64 5A F1 BD B0 93 86 3F B8 30 44 BA D0 DE 8E BA 40 EB 25 3A E5 D5
FE 1C 27 01 01 1E 8E D5 05 00 6A 44 73 BB 47 EF F0 BD 66 91 86 3F C0 CD 62 B9 60 40 12 BA 80 6F D3 38 29 A7
通过观察发现,接收到的的确是我要求其返回的。即姿态数据。根据地面站源代码
public const byte MAVLINK_MSG_ID_ATTITUDE = 30;
[StructLayout(LayoutKind.Sequential, Pack = 1, Size = 28)]
public struct mavlink_attitude_t {
/// <summary> Timestamp (milliseconds since system boot) </summary>
public UInt32 time_boot_ms;
/// <summary> Roll angle (rad, -pi..+pi) </summary>
public Single roll;
/// <summary> Pitch angle (rad, -pi..+pi) </summary>
public Single pitch;
/// <summary> Yaw angle (rad, -pi..+pi) </summary>
public Single yaw;
/// <summary> Roll angular speed (rad/s) </summary>
public Single rollspeed;
/// <summary> Pitch angular speed (rad/s) </summary>
public Single pitchspeed;
/// <summary> Yaw angular speed (rad/s) </summary>
public Single yawspeed;
};
我可以知道哪几位是哪些数据。查了一下MAVLINK协议文档。是利用的IEE745表示浮点数。所以想转换到浮点数来看,可是发现转换后的数据不对。
例如roll为: 6A 44 73 BB。转换后为:59373995582784778000000000.000000
所以我想这里肯定是出现了什么问题。难道又是mavlink或地面站说是用IEE745其实又是使用了自己的一套格式?
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./) |
Powered by Discuz! X3.3 |