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

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

【新人贴】【已经更新】树莓派飞控、无人机物联网节点,已经能飞了,有视频

  [复制链接]
21
 楼主| 发表于 2017-2-16 21:43 | 只看该作者
点击查看详情
magong 发表于 2017-2-16 21:26
说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?

这我就不关心了,我当初买pixhawk也是为了参考才买的,否则用APM了。

不过pi3跑那个更不可能跑满了,我估计撑死了30%。因为处理器先进了至少1一代,核树还多了好几个。




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

22
 楼主| 发表于 2017-2-16 21:47 | 只看该作者
本帖最后由 crossa 于 2017-2-16 21:48 编辑
magong 发表于 2017-2-16 21:26
说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?

反正,你有兴趣能一快来搞。我知道你搞这玩意有一手。其实我之前一直想用pi3的,找不到合适的机架才干脆pi zero了

我估计用pi3的话,同一个板子上飞控、视觉处理、图传,都是松松滴,毕竟性能在那儿了。

其实我觉得这玩意的趋势,应该是一个会飞的或者会跑的或者会潜水的服务器。



23
发表于 2017-2-17 00:37 | 只看该作者
crossa 发表于 2017-2-16 21:37
唉,真是贴给你看,先贴pi0

procs -----------memory---------- ---swap-- -----io---- -system-- --- ...

你这个和你前面贴的运行工作不一样。前面idle 为 0,这里有30%。所以没法看你前面那个到底 Linux 在干
什么。 就算这样你看 CS 就是切换一秒有 8K 个。这个就
比较多了。如果你单单做进程切换,什么用户代码都不做,
这个切换速率是有限制的。普通飞控用的嵌入的系统没有
这种进程切换,就是函数回调,代价小很多。

你看 RPi 3 CS 就少很多,但是我不知道你跑的是什么。
RPi2/3 我都有,但是我不会用来做飞控,做些其他例如
图像处理什么的挺好的。

而且 RPi 3 比一般的飞控板子重多了。
我自己就用简单点的stm32 来跑飞控好了。

24
 楼主| 发表于 2017-2-17 06:49 | 只看该作者
本帖最后由 crossa 于 2017-2-17 07:07 编辑
magong 发表于 2017-2-17 00:37
你这个和你前面贴的运行工作不一样。前面idle 为 0,这里有30%。所以没法看你前面那个到底 Linux 在干
...

我不是 跟你说了pi3的话,处理器先进一代至少,所以空闲资源多一点都不奇怪,pi3的话,单个核的实际性能至少是pi0的4倍以上,再说贴出来部分有多少时间空闲为0的?这玩意我都说了,一个pi 0的核占满已经顶了天了,而且不可能占的满的。我这个pi0还不是按1Ghz运行的。pi3我都说了,usage 最大允许400%,比你用stm32速度快那是铁定,pi0速度也不可能比普通stm32的慢,处理架构,工作频率摆在那儿了,就算用国产货,最便宜的基本也都是A53或者兼容的核心为主了,速度只会更快,不会更慢。

就算pi0就算空闲计算资源为零,也正常,但是不会死的。这玩意特性如此。我用了至少15年的Linux,从服务器到小设备,这玩意彻底崩掉,基本就两种情况,要么程序出问题了,要么硬件出问题了,跑这玩意的设备都极少维护的。

你有兴趣youtube上参考一下pxfmini的留待模式和自动模式,人家玩家自己飞的就知道了,核心程序还是px4firmware,都是pi zero+pxfmini上,也有pi3+pxfmini的,
不是一般的稳,都脱控或者不用遥控器飞。大多数都跑在小穿越机上,就因为能附加图传和录像视觉识别之类,比APM强了不少。核心程序还是px4firmware。
有些跑在pi3上的也不在少数,我现在这个做的方案,在老外的玩家圈子里,估计根本也不稀奇

就因为我发觉px4的原生固件比较好飞,我现在pixhawk里刷的也是这个,之前跟你说过的,参数几乎不用调什么。


就因为我想用小一些的机架,左后才pi0,如果用650的机架,我也找不到合适的,pi3的话这东西绝对比pi0又是质的飞跃。老外的小穿越机,都叠得跟小楼房似的。
而且说到重量,就算pi3也别嫌弃重,大疆的方案也很重量也不小的,我在大疆店里看过,主要是因为,大疆的飞行器主打用4S电池,重量大部分是电池。这招我学会了











25
发表于 2017-2-17 10:51 | 只看该作者
crossa 发表于 2017-2-17 06:49
我不是 跟你说了pi3的话,处理器先进一代至少,所以空闲资源多一点都不奇怪,pi3的话,单个核的实际性能 ...

那你好好干,祝你的 RPi 飞控飞机早日飞起来。

26
 楼主| 发表于 2017-2-17 10:54 | 只看该作者
magong 发表于 2017-2-17 10:51
那你好好干,祝你的 RPi 飞控飞机早日飞起来。

。。。。。

唉。飞起来不是悬念,youtube上现成的例子好多的,而且不少还是pi2,pi3的。如果不是pxfmini买起来麻烦,我也不自己动手了



27
 楼主| 发表于 2017-2-17 23:09 | 只看该作者
今天正好有空,更新下制作进度,今天开始焊接辅助板了,总线结构的东西,如果不依赖铜柱、洞洞板,手工焊接是很难制作出体积小的东西的。
比不了pxfmini,老外用pxfmini+pizero,搭出了强劲的无人机,pxfmini,淘宝也只有一家人家有,价格还死贵,走官方买?算了不想多折腾。以前经常帮朋友写信去国外商家那儿买东西,沟通的时间成本太高了。

先放上今天的进度图,焊接了稳压供电模块,供电隔离模块,两个2.54的插座,一个电压显示器。我的这个机器很轻,预计起飞重量小于800g,使用4S 5200MAH电池,9寸桨,因为4s电池电压高了不少,动力其实很暴力,之前在450四轴上试过,要么减少桨的尺寸,要么使用低kv的马达。大疆的飞行器飞行时间久的原因我仔细看过,以精灵为例子,小飞行器把飞控、调速器,电子设备做在一块板上了,这样的话最大限度减轻了重量,然后,机身又是开模具制作,轻量化,动力都用了4S  4650MAH,这样想飞的时间短都很难,等于是一块电池加一个相机在天上飞。

先上图






发个图对比下pxfmini,我这个飞行器体积也够悲催的,看在我不玩穿越记的份上,忍了,
等这版本完工,我会去试试国产的nano pi,体积也差不多,但是是正方形的板,多一个串口,而且处理器也比Pi0先进至少一代,而且有4个运算核心







28
 楼主| 发表于 2017-2-21 00:42 | 只看该作者
更新下最新进度!

1. 供电部分已经已经组装完毕,9dof加速计直插。
2.接下来要检测i2c焊接点部分代检测。
3.四轴已经基本组装完毕,需要调试pca9685输出部分。
4.向px4官方提交了部分修改后的驱动代码,用来支持树莓派单机飞控的加速计驱动部分,已经被合并入官方固件

















29
 楼主| 发表于 2017-2-22 09:34 | 只看该作者



修改了面包板上的器件布局,修改了走线,某些功能使用漆包线引出来







30
 楼主| 发表于 2017-2-22 13:23 | 只看该作者



放出草图



31
 楼主| 发表于 2017-2-24 16:35 | 只看该作者
更新下草图。

1. i2c器件的隔离,不建议用光藕,原因是双向通信的器件,虽然用光藕也能实现,但是体积不占便宜,而且手工制作的话,相关的计算相当麻烦。直接用I2C隔离器件就行了,体积少制作简单
2. GPS的话,有的带I2C口,可以直接和HMC5883L相连接进行通信,这样就可以实现双罗盘了。
3. 如果不用I2C隔离器件,那么使用i2c总线的各个器件必须和pi共地。





32
 楼主| 发表于 2017-3-6 18:41 | 只看该作者


33
发表于 2017-3-6 21:45 | 只看该作者
crossa 发表于 2017-2-16 15:05
问题的关键,其实不在于LINUX,而在于任务怎么调度,给多少时间片给高优先级程序。
仔细看一下px4firmwar ...

两周前:俺还在 纠结俺的高级飞控CPU 选型
Raspberry Pi 3 Model B 树莓派3代 B型 Cortex-A53】当时差点就选这个。
3B 型 1.2G 主频 运算能力 已经很不错了,可惜
这个板子是依靠 TF卡 来启动、没有板载 NOR 。


若是 以后有 Cortex-A57 的 CPU 再配上板载NOR
把它 当 单片机 来编程,那就 完全 不担心实时性了。


可惜 俺后来 还是 选了  TI 的 【次顶级 DSP 】。

34
发表于 2017-3-7 23:59 | 只看该作者
这部飞机后来飞起来了吗?加油。


35
 楼主| 发表于 2017-3-8 09:46 | 只看该作者
本帖最后由 crossa 于 2017-3-8 10:14 编辑
magong 发表于 2017-3-7 23:59
这部飞机后来飞起来了吗?加油。

飞起来有干扰。感度上不去。问题在PWM输出上。
PWM输出模块产生的干扰,即使不实际输出PWM,mpu9250也会被干扰到,具体表现为,spi模块 fifo overflow。虽然不会让传感器乱窜,但是还是影响性能的。正在重新制作9250的模块用的滤波部分,后续会把i2c隔离部分加进去
实时性和运算速度完全不担心,因为是在用户空间启动的。千万不能把算法模块放进内核里,不然真不实时了。1000hz的刷新频率轻松到的。
已经跟你讲过即使stm32f4,单处理器的,M核心的东西也不可能比同一代A核心的跑得快,每Mhz的指令的吞吐量摆在那儿了。更何况后续的A7之后的,大部分是2~4核心,甚至8核心,这时候一个操作系统和裸机程序来比,优势大了去了,首先就是多CPU的调度,你可以考虑换平台了,毕竟想象空间更大,而且M核心只是套了些不完整ARM指令集的单片,如果你真要考虑最大的实时性的同时兼顾性能,应该考虑R核心,专门为时间严格要求的场景设计的,当然运行性能别指望太好。毕竟是替代原本的51和avr为主的。


关于图传的实时性,我也得说两句,不走VLC,直接streaming,高清的延迟在200ms左右,走4K肯定会吃力,带宽摆死在那儿了,要知道专业设备,走公网的,3秒种延迟都算快的了。猫腻还是在带宽和编码速度上,要再快,只能自建网络了。
顺便说句,针对图形类的应用,专用GPU要比纯粹的单片机好用上不少,飞行只是副产品














36
 楼主| 发表于 2017-3-8 09:48 | 只看该作者
本帖最后由 crossa 于 2017-3-8 10:09 编辑
caosix2 发表于 2017-3-6 21:45
两周前:俺还在 纠结俺的高级飞控CPU 选型
【Raspberry Pi 3 Model B 树莓派3代 B型 Cortex-A ...

用固态一次性写入的话,稳定性会好些,但是飞控的rootfs必须挂在可读写的存储设备上。因为校准用的数据和飞行日志,不可能写在norflash里面

norflash好处就是稳定。

tf卡的好处就是软硬件分离,至于其他么,也就这样。

目前高端平台,你可以看看BeagleBone,v8a的处理器
低端的可以看国产的 nanopi,香橙pi之类的,全志H2,H3,毕竟专用GPU。做图形累应用轻松。
说白了,飞行只是副产品

37
发表于 2017-3-9 22:45 | 只看该作者
crossa 发表于 2017-3-8 09:48
用固态一次性写入的话,稳定性会好些,但是飞控的rootfs必须挂在可读写的存储设备上。因为校准用的数据和 ...

楼主 专研 Linux 系统 ,很是 行家 了 。 现在这些 水果派 : 主题 都是 平板电脑 。
做成 飞控 确实 是一个小分支 ,不是它们的 主业 。


以后有软件规划方面的宏观问题 希望楼主多给建议。

38
 楼主| 发表于 2017-3-10 23:41 | 只看该作者
本帖最后由 crossa 于 2017-3-10 23:42 编辑
caosix2 发表于 2017-3-9 22:45
楼主 专研 Linux 系统 ,很是 行家 了 。 。现在这些 水果派 : 主题 都是 平板电脑 。 ...

我能有啥建议哟,还不是知识搬运工。今天才把最终的方案定下来了。而且终于完完全全弄到舒服了,不会有FIFO overflow了,也没有滤不掉的干扰。

指标已经完成了。
pi3做主控,1000hz的姿态刷新频率以及采样,供电完全走USB供电口了。不用再附加额外的电路了。
还拿程序跟人求了块已经做好的成品板,帮他测试,顺便帮他移植px4firmware。

下一步是国产山寨派,看看能不能搞个穿越机


39
发表于 2017-3-10 23:56 | 只看该作者
牛b呀!
40
发表于 2017-3-31 22:15 | 只看该作者
也买了块派3 家里原来有个apm2.8的自组四轴,2560的芯片。

不知道楼主是怎么把派3用来做控制的,是linux打的实时补丁吗?

另外 github上是所用的代码?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

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

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