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

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

国内首个Linux开源飞控

  [复制链接]
21
发表于 2015-4-24 20:23 | 只看该作者
确实挺吸引的,能把成本降下来的话,这个确实不错啊

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

主题

  • 没有相关信息
  • 没有相关信息
  • 没有相关信息
来自苹果客户端来自苹果客户端
22
 楼主| 发表于 2015-4-24 21:23 | 只看该作者
guyuemuran 发表于 2015-4-24 12:09
这个扩展空间很大,lz,板子有卖吗,打算研究一下视频方面的拓展

板子倒是还有几块,只是做得少所以成本比较高……

23
发表于 2015-4-24 22:25 | 只看该作者
sciencebeer 发表于 2015-4-24 19:02
您是高校研究生或老师?想交流下ROS,加个好友吧~

好的~ Q245806596,研究生,kungfu~

24
发表于 2015-4-25 00:49 | 只看该作者
没研究过rtos,不过linux下线程调度不好保证实时性,进程之间是抢占多任务,所以万一出现cpu抢占会比较容易导致姿态调整延时。我也不太清楚linux下是否有办法像win8 hyper-v一样拿到ring 0层的执行优先级,或者把一个cpu专门用于某个进程。

多功能与实时之间还是比较难兼得的。linux是方便扩展,但cpu就那么多个,如果要求飞控必定有400hz刷新率,那么如何保证其它所扩展的程序不抢飞控资源(特别是cpu与内存)就比较难了。现在android这种4核linux做60hz也不能长时间保证,更不用说飞控要达到更高的要求。如果想利用linux的多核调度能力来加速一些算法,那么线程之间同步数据成本也不低的。内存也是时分抢占的方式,高Hz刷新率时内存带宽要求比较高。

如果只是用来做飞控,兼摄像头采集+wifi数传,个人猜想黑莓能做到近200hz,但不能再扩展其它东西了。楼主最好做一些性能测试。

不过老实说,现在的手机1.5GHz 4核都很容易做到699,我是觉得单核的飞控的确偏贵。不过我自己也调研过,cc3d这种板子的利润率已经不算高了。
25
 楼主| 发表于 2015-4-25 11:21 | 只看该作者
Depyuka 发表于 2015-4-25 00:49
没研究过rtos,不过linux下线程调度不好保证实时性,进程之间是抢占多任务,所以万一出现cpu抢占会比较容易 ...

目前用的RT patch,实时性挺好的,当然会花费一定的资源来保证定时中断优先执行。工业上有专门的应用,Linux的一个版本好像叫xenaomi(记不清了)。可以把一个内核作为实时的,其它作为非实时的。树莓派2是四核的,未来希望把这个系统移植上去。
来自安卓客户端来自安卓客户端
26
发表于 2015-4-25 15:55 | 只看该作者
sciencebeer 发表于 2015-4-24 21:23
板子倒是还有几块,只是做得少所以成本比较高……

嗯,成本多少呢~~~~~~~~~~~~~~~

27
发表于 2015-4-28 21:03 | 只看该作者
为什么发qq消息不回呢?
来自苹果客户端来自苹果客户端
28
发表于 2015-4-29 07:17 | 只看该作者

其实实时补丁的我都没搞明白,linux系统接触的少,还没打成补丁,而且我共享的链接是 Emlid的,不知道可不可以用,楼主要能给个补丁的教程链接或是大概的方法就好了

29
发表于 2015-4-29 07:55 | 只看该作者
高清图传呢?咋不更新了!期待着呢!飞控遍地都是、高清确独此DJI、零度两家啊
来自安卓客户端来自安卓客户端
30
发表于 2015-4-29 17:13 | 只看该作者
小游侠ZMQ 发表于 2015-4-29 07:55
高清图传呢?咋不更新了!期待着呢!飞控遍地都是、高清确独此DJI、零度两家啊

零度也出高清图传了???啥型号?几米啊??

31
 楼主| 发表于 2015-4-29 18:14 | 只看该作者
小游侠ZMQ 发表于 2015-4-29 07:55
高清图传呢?咋不更新了!期待着呢!飞控遍地都是、高清确独此DJI、零度两家啊

不要着急,等飞控飞好了就会上图传的测试结果。
32
发表于 2015-4-29 18:31 | 只看该作者
Depyuka 发表于 2015-4-25 00:49
没研究过rtos,不过linux下线程调度不好保证实时性,进程之间是抢占多任务,所以万一出现cpu抢占会比较容易 ...


个人认为一个cpu跑一个实时系统来控制飞行姿态和核心的算法是很重要的。保证了简单和可靠性。另外的cpu跑应用就好了。然后通讯就好了。应用模块因为其复杂度,比较容易出问题,崩溃的时候不至于影响到飞行控制模块。这也是3DR Solo的做法。
33
发表于 2015-4-29 19:42 | 只看该作者
硬件跟你上一个的接法好像有些区别,是stm32f103做pwm输出吗
34
发表于 2015-4-29 20:00 | 只看该作者
Smartype 发表于 2015-4-29 18:31
个人认为一个cpu跑一个实时系统来控制飞行姿态和核心的算法是很重要的。保证了简单和可靠性。另外的cpu ...

猜你不是学计算机的,或者不是程序员。。。除非自己从底层开发(即嵌入开发领域的“祼跑”,不过可以不用汇编,现在一般用c),否则不能实现独占cpu。
但系统级的问题随之而来:
1)自己写祼跑,代码量非常大。而且纯c并不适合开发大型系统,或者需要一个比较大型的团队来维护。最终更新周期长,bug也不好查。
2)把东西整合到一个系统下处理的优势是可以把cpu等资源利用率提高,即高低级的算法可以共用同一套资源,但这里的资源调度是非常非常复杂的事。也就是需要更多人来维护,而且专业性很高。
3)很多高级的算法库都需要一些基础库来支持,祼跑的环境基本上都是不全的,移植需要大量人力。这些算法库包括但不限于图形领域的opencv(比如基本的OSD叠加,图像翻转,高级的如人脸识别,特征识别等),视频领域的ffmpeg(H264半硬件加速压缩),
4)各种特定厂家的传感器与硬件,祼跑环境下要正常驱动也不是那么简单,需要极多寄存器操作,调试非常麻烦。

一个所谓的linux环境/rtos环境帮助程序员解决了多少问题,是你所想像不到的,但其他人写了这么多程序去解决问题,也导致速度不够快,最少不能满足飞控的性能要求。


说这么多,简单的几个人是很难在一个多核环境下开发可以独占cpu运行飞控,同时能运行复杂的图像处理的无人机系统。除非以后有运行在多核环境下的RTOS,我相信会有人解决这个问题的。




35
发表于 2015-4-29 20:19 | 只看该作者
补充一下:
我说负面的话其实不是反对楼主,只是想提供一些其它方面的思路。

现在航模方向就2种,dji的集成化 或 cc3d这种模块化。

集成程度越高维修成本越高,一块板集成飞控+云台+osd+图传+遥控接收+数传 其实很多公司可以做,但都担心市场不好推。

个人觉得集成化门槛高了些,无论从技术还是市场角度
36
发表于 2015-4-29 22:08 | 只看该作者
borneol 发表于 2015-4-29 17:13
零度也出高清图传了???啥型号?几米啊??

零度HIGHTONE PRO配备的就是高清图传,北 京展会上说的。但是好像没出单卖品

37
发表于 2015-4-29 22:13 | 只看该作者
专业
38
发表于 2015-4-29 22:23 | 只看该作者
Depyuka 发表于 2015-4-29 20:19
补充一下:
我说负面的话其实不是反对楼主,只是想提供一些其它方面的思路。

似懂非懂,可以通俗解释一下3DR的解决方案嘛?

毕竟人家走在前面了....

39
发表于 2015-4-29 23:06 | 只看该作者
Depyuka 发表于 2015-4-29 20:00
猜你不是学计算机的,或者不是程序员。。。除非自己从底层开发(即嵌入开发领域的“祼跑”,不过可以不用 ...


1. 你的假设是错误的。
2. 你应该没有理解我说的。 那么我这么形容给你听,负责飞行控制的是一个单片机,这里假设是pixhawk。负责实现多样化的功能(图传,目标跟踪等)的是另外一台机器,比如说Raspberry Pi. 两者通过I2C/UART/SPI协调。我们暂且把这两个系统称为飞控模块和应用模块。


3. 鉴于你没有理解我的意思,说了半天裸跑也没有什么意义。


1)自己写祼跑,代码量非常大。而且纯c并不适合开发大型系统,或者需要一个比较大型的团队来维护。最终更新周期长,bug也不好查。
-> 飞控模块,用c写,没有什么了不起的。现在也是这么干的。

2)把东西整合到一个系统下处理的优势是可以把cpu等资源利用率提高,即高低级的算法可以共用同一套资源,但这里的资源调度是非常非常复杂的事。也就是需要更多人来维护,而且专业性很高。

-> 给你一个非得在应用层跑姿态逻辑的理由?事实上应用模块和飞控模块的交换是很有限的,没有很大的理由揉合到一起。你也说了,这是那复杂度换取cpu利用率。

3)很多高级的算法库都需要一些基础库来支持,祼跑的环境基本上都是不全的,移植需要大量人力。这些算法库包括但不限于图形领域的opencv(比如基本的OSD叠加,图像翻转,高级的如人脸识别,特征识别等),视频领域的ffmpeg(H264半硬件加速压缩),

-> 这个是在应用模块跑的。(这里就看出来了,你误解我了,我说的是cpu,不是core。RPi有几个cpu啊?

4)各种特定厂家的传感器与硬件,祼跑环境下要正常驱动也不是那么简单,需要极多寄存器操作,调试非常麻烦。
-> 呵呵




40
发表于 2015-4-29 23:13 | 只看该作者
楼主想要在RPi上跑实时的飞控模块,同时还要兼顾耗cpu的应用模块(图像处理),是很有挑战性的,不妨考虑我的说法,呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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