5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: axnzero
打印 上一主题 下一主题

APM看上去不错,尝试做一套

  [复制链接]
521
 楼主| 发表于 2013-8-21 11:11 | 只看该作者
点击查看详情
caosix2 发表于 2013-8-7 17:01
你分析得 很全面: “每次都会要求APM重新下载参数表。
大量的数据会占用无线带宽,也 ...

Caosix你好
下次再有类似问题,我们可以直接修改APM固件。不用受制于APM版本更替的影响了。


欢迎继续阅读楼主其他信息

主题

  • 没有相关信息
  • 没有相关信息
  • 没有相关信息
522
 楼主| 发表于 2013-8-21 11:15 | 只看该作者
wwfcl 发表于 2012-12-10 09:11
地面站软件主要是事物管理性质的。楼主如果时间充裕,建议研究一下auducopter机上软件

wwfcl您好
我已开始着手测试机上软件。
您对于具体的功能和应用方面有何建议,请提点一下。


523
 楼主| 发表于 2013-8-21 12:14 | 只看该作者
lanse2pty 发表于 2013-8-20 20:27
因此是因为吧?延迟有多严重(感觉上)?

尚未使用仪器去测量延迟,没有定量的数据。
打算实际试飞几次,感受一下差别。

因为没有相关资料库的支撑,即使测出来数据,也没法做出判断。
例如,测定延迟是0.1秒,这算是高还是低?0.2秒算高还是低?
是否0.25秒就完全没法使用?
只是按照目前的浅薄的经验,觉得0.25秒可能是MD塞斯纳临界值。

当然,这个延迟,必定是越小越好。
但因为人本身反应速度的存在,这个延迟,有一点也是可以接受的。





524
发表于 2013-8-21 15:59 | 只看该作者
axnzero 发表于 2013-8-21 12:14
尚未使用仪器去测量延迟,没有定量的数据。
打算实际试飞几次,感受一下差别。

你可以 以游戏延迟的感觉为参考,实际上模型控制需要的延迟估计还宽松一些,dota的延迟150ms感觉不明显,只要能控制在170ms以内应该问题不大,编程过程中优化吧,提高单片机响应外部事件的优先级,虽然中间过程很多,但是现在单片机的速度应该可以控制到170以内吧。还有选用合适的数传等等。这样的话可以省个遥控钱,而且数传的距离可以很远,同时价格可以很低。。
525
 楼主| 发表于 2013-8-21 17:27 | 只看该作者
增加声纳传感器设置页面。

目前在APM上的声纳和空速传感器共用A0端口。
那么对固定翼飞机来说,就没办法使用声纳辅助降落。
希望以后可以增加这个功能。

175.jpg (97.31 KB, 下载次数: 33)

175.jpg
526
 楼主| 发表于 2013-8-21 17:33 | 只看该作者
lanse2pty 发表于 2013-8-21 15:59
你可以 以游戏延迟的感觉为参考,实际上模型控制需要的延迟估计还宽松一些,dota的延迟150ms感觉不明显, ...

你说的对。
170ms以内可能就比较合适了。
我计划还是按照老办法,增加一块Arduino小板,从数传截取MavLink数据。单独处理成舵机信号。
目前估计,延迟问题是可以解决的。

以后可能还有一个取舍的问题:
要实现连贯平滑的控制,就需要比较高的刷新率,那么数传波特率就越高越好。
从控制距离的角度来说,数传波特率越低越好。
目前估计,机载飞控提升性能,可能会降低对控制信号的刷新率的要求。



527
发表于 2013-8-22 11:05 | 只看该作者
axnzero 发表于 2013-8-21 17:33
你说的对。
170ms以内可能就比较合适了。
我计划还是按照老办法,增加一块Arduino小板,从数传截取MavL ...

我觉得你还是应该先测试一下延迟再决定要不要增加一块小板。增加一块小板会降低可靠性,增加成本,还要额外编写代码。不过容易实现。
虽然修改apm的代码比较难弄,但是除了多花些人力之外没其他副作用。
总体感觉还是不要增加一快板子的好(个人看法而已)。


你说波特率的问题,如果你不传输图像信号所需要的带宽实际上很小。
9600bit/s的带宽保守估计是0.8kb/s(扣除奇偶校验、帧间隔、双方处理时间),
一般gps成品的波特率是4800,此外还需要传输几个传感器的数据,总体上0.8kb的带宽应该可以保证10hz的刷新率。
但是换一种搞法,gps的信号刷新率不需要那么高,5hz就够了,但是陀螺仪和地磁数据保持24hz的刷新率(这个刷新率一般人感觉不到停顿了,电影的帧率)。气压和电压传感器也可以使用低的刷新率,其他数据视情况决定刷新率。
总体来讲,不传输图像信号流畅控制应该可以用9600实现。这也是一般数传的最低带宽了。

可能你觉得没有图像没办法飞,实际上飞行训练里面有一门课程是仪表飞行(对着仪表飞,不看窗外)。
大部分的潜艇也是对着仪表驾驶(比如弗吉尼亚级)。
如果你实在觉得对着几个仪表飞没感觉可以看看google earth里面的
飞行模拟器和gps,应该是有编程接口的(我对编程不太懂)。

另外图像传输的问题,数传不能当图传用,带宽不够。我也不太懂,说错了见谅。









528
发表于 2013-8-23 17:51 | 只看该作者
学习了~
529
 楼主| 发表于 2013-8-24 14:58 | 只看该作者
lanse2pty 发表于 2013-8-22 11:05
我觉得你还是应该先测试一下延迟再决定要不要增加一块小板。增加一块小板会降低可靠性,增加成本,还要额 ...

感谢你详细的回复和建议


530
发表于 2013-8-24 23:27 | 只看该作者
你好,我想了解下地面站和APM2.5之间的通信过程具体是怎样的。比如地面站需要知道当前飞行器的姿态数据,那么地面站会给飞控板发送什么数据,然后飞控才会将姿态数据传输回来?
531
 楼主| 发表于 2013-8-25 18:23 | 只看该作者
需要发送66号消息。
REQUEST_DATA_STREAM (#66 ) 请求数据流

532
发表于 2013-8-26 00:29 | 只看该作者
本帖最后由 scaple 于 2013-8-26 10:52 编辑
liangdyc 发表于 2013-8-24 23:27
你好,我想了解下地面站和APM2.5之间的通信过程具体是怎样的。比如地面站需要知道当前飞行器的姿态数据,那 ...




具体字段含义看 mavlink 协议说明


>>> GCS Msg:  MAVLINK_MSG_ID_REQUEST_DATA_STREAM ( 66/0x42)
>>> FE 06 2E FF BE 42 00 00 01 01 06 01 6F 60 , W:1
>>> req_message_rate=0; target_system=1; target_component=1; req_stream_id=6; start_stop=1;

>>> GCS Msg:  MAVLINK_MSG_ID_REQUEST_DATA_STREAM ( 66/0x42)
>>> FE 06 2F FF BE 42 00 00 01 01 06 01 FE 35 , W:1
>>> req_message_rate=0; target_system=1; target_component=1; req_stream_id=6; start_stop=1;

>>> GCS Msg:  MAVLINK_MSG_ID_HEARTBEAT (  0/0x00), W:1

  > Apm Msg :  MAVLINK_MSG_ID_SYS_STATUS (  1/0x01)
  > FE 1F C7 01 01 01 0F FC FF FF 0F 00 00 00 0F FC FF FF EE 00 60 27 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 FF C7 70 , W:1
  > onboard_control_sensors_present=-1009; onboard_control_sensors_enabled=15; onboard_control_sensors_health=-1009; load=238; voltage_battery=10080; current_battery=-1; drop_rate_comm=0; errors_comm=0; errors_count1=0; errors_count2=0; errors_count3=0; errors_count4=0; battery_remaining=-1;

  > Apm Msg :  MAVLINK_MSG_ID_MISSION_CURRENT ( 42/0x2A)
  > FE 02 C9 01 01 2A 00 00 BE F1 , W:1
  > seq=0;

  > Apm Msg :  MAVLINK_MSG_ID_GPS_RAW_INT ( 24/0x18)
  > FE 1E CA 01 01 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 00 00 00 00 00 53 24 , W:1
  > time_usec=0; lat=0; lon=0; alt=0; eph=0; epv=65535; vel=0; cog=0; fix_type=0; satellites_visible=0;

  > Apm Msg :  MAVLINK_MSG_ID_ATTITUDE ( 30/0x1E)
  > FE 1C CB 01 01 1E 8B D9 03 00 CC 0E 68 BA 2B CE D5 39 77 14 CF BE 0F 51 91 38 21 D0 4A 39 91 D4 1D 3A 5A 81 , W:1
  > time_boot_ms=252299; roll=-0.001; pitch=0.000; yaw=-0.404; rollspeed=0.000; pitchspeed=0.000; yawspeed=0.001;

  > Apm Msg :  MAVLINK_MSG_ID_VFR_HUD ( 74/0x4A)


533
 楼主| 发表于 2013-8-26 14:30 | 只看该作者
楼上解释真是详细、专业。
大赞。

534
 楼主| 发表于 2013-8-26 14:35 | 只看该作者
新购7M GPS模块。
体积大了很多。
效果很不错。
漂移现象比以前的6系列好多了。价钱差不多。

漂移的形状是一个东北-西南方向的8字形。
误差10米之内。


176.jpg (26.68 KB, 下载次数: 21)

176.jpg
535
 楼主| 发表于 2013-8-26 21:41 | 只看该作者
增加地图篱笆设置功能,即白区设置功能。
拟进一步增加禁区设置,即黑区设置功能,及多黑区设置功能。
以便避开高铁、高速公路、市区、机场、军事设施等jin fei地区。


177.jpg (47.36 KB, 下载次数: 15)

177.jpg
536
发表于 2013-8-26 22:36 | 只看该作者
scaple 发表于 2013-8-26 00:29
具体字段含义看 mavlink 协议说明

非常感谢啊哈哈。绝对大神。另外问下,那个图片里面的那个软件叫啥?
537
发表于 2013-8-27 01:41 | 只看该作者
axnzero 发表于 2013-8-26 14:30
楼上解释真是详细、专业。
大赞。

那可不敢当,这些数据是从前面做的一个Mavlink协议***工具  MavlinkRelay里面取出的,要是有时间的话,我准备把它做成英文版放到网上自由下载(前面得到过N多老外的热心帮助,不回报一下不好意思)。


538
发表于 2013-8-27 01:43 | 只看该作者
liangdyc 发表于 2013-8-26 22:36
非常感谢啊哈哈。绝对大神。另外问下,那个图片里面的那个软件叫啥?

CSS 当中的数据帧编辑器,http://bbs.5imx.com/bbs/forum.ph ... page%3D1&page=2


539
发表于 2013-8-27 10:56 | 只看该作者
scaple 发表于 2013-8-27 01:43
CSS 当中的数据帧编辑器,http://bbs.5imx.com/bbs/forum.php?mod=viewthread&tid=802573&extra=page%3D1 ...

你好,谢谢你的解答,其实可能是我没说明白。在我的理解中,就是地面站软件通过发送mavlink协议里面的相关命令,然后飞控会根据不同的命令做出不同的反应。那么这个命令怎么发?比如前面说到要得到姿态数据,那么用66号命令。这个命令怎么发出去?难道用串口助手我打一个66,然后发出去?我现在需要的不是具体哪个指令是什么意思,而且这些指令怎样发出去。

540
 楼主| 发表于 2013-8-27 11:12 | 只看该作者
改进地图篱笆设置页面。
页面按照机型的差异,自动激活相应的参数设置控件。

178.jpg (45.29 KB, 下载次数: 18)

178.jpg
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表