5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 【新人贴】【已经更新】树莓派飞控、无人机物联网节点,已经能飞了,有视频 [打印本页]

作者: crossa    时间: 2017-2-2 20:34
标题: 【新人贴】【已经更新】树莓派飞控、无人机物联网节点,已经能飞了,有视频
本帖最后由 crossa 于 2017-8-30 12:42 编辑

QQ群:174913329,欢迎加入,共同学习
========================================================================================================

如题。没图,先放出程序吧,然后贴一个地面站的图凑个数,陆续更新
飞控程序,基于px4firmware,重写了PPM  Decode程序,树莓派7号针脚输入,最多支持8通道。
输出采用 pca9685模块,使用12BIT遥控器的筒子们有福了。

顺便说一句,关于实时性的问题,只要你的在树莓派上构建好px4firmware的本地编译环境,实时性就不是问题,
只要使用root身份或者sudo 启动飞控程序,就是实时模式运行了,并且是抢占式的。飞控内的任务变成了任务队列。
硬件模块

mpu9250 模块(spi模式)
ms5611   模块(i2c模式)
pca9685 模块(i2c)
12V转5V  电源模块

关于px4的介绍,看这儿
https://dev.px4.io
https://www.gitbook.com/book/px4/devguide/details

打算基于ARM和Linux系统上用开源程序构建飞行器的,可以放弃APM了。
顺便说一句,px4用起来比APM好用不少,比较轻,更新发布起来也比APM快,最重要的是,这玩意飞行稳定性好,故障率低。
====================================================================================================================

目前,我已经放弃Pi0,专用Pi3.  pi0的话接口太少,外接设备太麻烦,性能也低了pi3太多,虽然比stm32不会差,但是有更好的硬件
为啥还要死守着pi0。pi3的性能应该不成问题。飞控占不满一个核。pxh控台全部启动完毕后再没有出现恼人的FIFO OVERFLOW。
(, 下载次数: 1048)

(, 下载次数: 1134)
(, 下载次数: 1231)


==========================================================================================================

串口供电改为USB供电了,不再需要任何辅助器件了!

==========================================================================================================
之前胃出血住院了,麻烦,最近才刚缓过来,这周上海天天下雨,暂时懒得出去飞了,今天放出动力输出视频,至此,所有基本模块都以调试完毕,因为没有电流计,所以没有电量提示,后续会开发的
现在放出解锁视频




==========================================================================================================
今天天公作美,出太阳了,赶紧抓紧时间去飞。GPS好想忘记编译了,算了就飞稳定模式吧,等调整完试飞POSITION。pixhawk的position模式已经可以稳的一动不动了,我不担心树莓派表现会比pixhawk差,毕竟性能高出了数倍。
众所周知,对于会飞的人来说,其实多旋翼比6通道直升机难飞的多,不过,树莓派的飞控真心不错,因为稳定模式下,手感优于pixhawk,毕竟1000hz刷新不是盖的。
下面放出视频。Linux是不是不如rtos这种争论已经没意义了,因为这货经历了快20年的互联网环境的考验,从高并发到承受各种攻击,起码证明这货相对来说是稳定的,
但是很多rtos并没有在这样的环境里经受过考验,而且跑Linux的同时代硬件,大部分性能都很强悍,所以只要搞成抢占模式,实时性从来不是问题,
何况飞控还是异步的orb系统,计算速度快才是关键!

此次飞行配置 花牌3S2200 40C + 9045桨,飞行时间约总3~4分钟,Wi-Fi数传,没有装摄像头。降落后,电压表量了一下,还剩11.6V (充满是12.6)


=============================================================================================================

更新下GPS和PWM参数设定。GPS 采用M8N,通过USB接口与树莓派直接连接。
PWM设定需要修正,使用PPM输出的,futaba的遥控器,请根据下面的图修正参数,修正原则为 disarmd pwm 必须大于0,且小于油门最低值,PWM 最大值要小于油门最大值(推荐用油门最大值-100)


(, 下载次数: 1073)
====================================================================================================

最近太忙,所以耽搁了,离我长久以来的梦想又近了一步,我不指望一个能有10公里远的图传,因为我的飞机如果飞出10公里,怎么飞回来还是个麻烦问题。
所以先解决百米吧,wifi中继我还没有测试过,不过已经入手了一个室内能保证两百平方米信号的中继,估计室外距离也短不了,后续可以开发无线串口图传。
不过这样的手机端地面站也要配合修改才行了,先不管那么多,普通娱乐性质的飞行,也很少飞出十公里,大家买的很多图传有些也只有3,500米,甚至买的
飞机都飞不了太远。云台先不开发了,买成品,因为我想做9g舵机的云台,我的摄像头很轻,用市面上的云台只能配点金属条来配重了。
不说了,上图,手机充当地面站图像接收

(, 下载次数: 1111)

(, 下载次数: 1104)
(, 下载次数: 1117)

(, 下载次数: 1140)

(, 下载次数: 1103)

=======================================================================================

今天更新下最新的状况,S550脚架已经升级为龙门脚架,我买的这个机架因为底板孔位的问题,无法使用SK500的碳纤维脚架。
逛遍淘宝就找到一家任意S500的通用脚架, 感谢淘宝商家 “乐趣智玩”,在他那儿我找到能用于10MM挂杆的脚架。

目前已经更新的配置如下

1. 飞行电池4200mah,25C,3S
2. 电机2216 950kv
3. 1147桨
4. 云台电池 2S 850MAH

整机重量1700g,接近1800g,但还没有到。预算充裕的推荐使用2810电机。考虑到各种因素,不再考虑升级成可长时间飞行的机器了。

(, 下载次数: 1164)


接下来释放出图传使用方法

1. 安装gstreamer
$ sudo apt-get install "^gstreamer-1.0*"

2. 树莓派下使用普通摄像头当图传的方法

对于不使用h264直接编码的摄像头:
$ gst-launch-1.0 v4l2src ! video/x-raw,width=1280,height=720 ! omxh264enc ! h264parse ! rtph264pay ! udpsink host=$1 port=5600
请将 $1 替换为 你的地面站IP地址,目前支持Android手机,Linux系统,苹果电脑不支持。

============================================================================================================
今天放出早晨试飞的视频,有条件的建议使用60fps摄像头,定点模式飞行,风力3到4,手机充当监视器,推荐使用懒人支架,这样就能轻松看监视了
目前使用的摄像头速度不是很理想,据测试, 1280x720p分辨率下,有时只有9fps,640x480时,才有30fps,不过无视了,因为需要更好的效果买更好的工业摄像头就行了。
山狗毕竟需要额外的图传模块。 目前已经验证,可以通过mavlink相关的px4stream中间件,将图传和数传合二为一,使用数传来传输,目前暂不试验


关于Linux实时补丁的问题,我在这儿重申一遍。
经实践得出结论:
1.只需要有抢占式任务管理,无需实时补丁
2.对于px4来说,任何实时补丁,都会导致不稳定因为需要手工指定irq和权重,相当于把树莓派变成了一个大号单片机,这是个愚蠢的行为。因为高性能硬件下,即使异步的,只要保证时间片抢占的够多,就能保证所谓实时性。即时,因为线程队列的巡检也是一个固定的周期,内核里可以设定的。所以,高速硬件上打了实时补丁,不光不会增加稳定性,反而还会带来调试的麻烦,甚至会可能会出现一个进程卡住,其他任务阻塞的情况(很多不懂系统的家伙,经常把这条说反了)如果要玩大号单片机,也没关系,不过如果是这样,我当初直接就不用做了。在任何一个Linux系统里,内核里的模块默认就是实践不严格的,异步与无阻塞,是稳定和性能妥协的产物。

3. 不打实时补丁时,Linux的进程切换,并不会因为一个进程卡住而切不回来,只要不是互斥锁,本身就是非阻塞的,同样的,px4的所有内部程序模块,都在同一个进程里,orb通信方式本来就是异步通信,没有考虑时序的必要,只要保证采样到数据不太旧就可以(事实上是能保证的)

4. 任何一个应对高并发的系统,都不会去屁颠屁颠的打上一个实时补丁(参考服务器端,这一领域对于硬件工程师来说,大部分都没接触过,甚至完全都没概念,飞控这点负载,除了视觉、深度这类以外,目前就没有能让系统跑的气喘吁吁的),实际上强行加个时序进去,一旦某个进程卡住了,发生死锁,可能整个系统就有崩溃的可能。

6.不要去拿ucos这类做对比,这就好比用DOS和UNIX类系统比

以上,就是对于为什么这个飞控什么实时补丁都没打的原因,不要去看手动模式飞的如何,手动模式下,就算用pixhawk,飞起来也不能可能比没有飞控的6通直升机舒服。

祝大家周末飞行愉快

=======================================================================================================================================
今天公布下最新进展
1. 目前的nanopi的项目暂时搁置,编写的程序,移树莓派继续使用。nanopi不够稳定,在修改i2c通信速率重新编译内核后并升级后,spi设备莫名消失了。暂时放一
2. 已完成的驱动程序移回树莓派
3. 狗SJ4000摄像头,Linux系统下有驱动,支持720p 60fps
4. 以完成的版本,已转让给相关单位,用于研发安防用无人机。
5. 电池监控已经找到了除ADS1115之外的最便捷解决方案

(, 下载次数: 955)

(, 下载次数: 953)

=====================新版编译教程,以后基本是这样弄了,因为官方也这么来了=======================================
编译安装方法:
推荐编译环境 Debian (如果使用Debian9,因为需要复制交叉工具链的libstdc++.so.6.3到目标机,这个对于搞不清Unix类系统的同学如同天书,所以乖乖用Debian 8)

编译前准备步骤如下
1.  安装编译环境
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get install g++-arm-linux-gnueabihf
sudo apt-get install python-catkin-pkg
sudo apt-get install python-pip
sudo apt-get install python-empy
sudo apt-get install ninja-build
sudo apt-get install cmake
sudo apt-get install python-argparse
sudo apt-get install git

2. 下载源代码
mkdir src
cd src
git clone https://github.com/crossa/Firmware.git # 不怕麻烦的你可以下官方版,因为所有的东西都已经合并到官方版本,这版支持很多东西,甚至GPS RTK
cd Firmware
git checkout v1.6.5-rpi  #注意,版本号会随着更新而变化,不会使用开发工具的请绕道,乖乖买成品
git submodule update --init --recursive
make posix_rpi_cross
export AUTOPILOT=<Ip of your raspberry pi> # ip自己填
make posix_rpi_cross upload

3. 启动
以pi用户身份登录到树莓派后  sudo ./px4 px4_no_shield.config
注意: linux_pwm_out 我可能能正常用,上周给他们的修的bug,星期天他们才进行合并。
关于S.Bus接收机的使用,我已经向官方提交了文档,下礼拜我抽空提交下原理图。
遥控输入文档看这儿
https://dev.px4.io/en/tutorials/linux_sbus.html
看不大明白的,看这儿 https://dev.px4.io/zh/tutorials/linux_sbus.html
(, 下载次数: 771)

==============================================================================================================================================
之前使用过v1.5.5-rpi版本,我提供一个升级的程序,用来支持sbus遥控输入
https://github.com/crossa/raspx4-sbus-rc-in
自行下载编译和安装,现有的v1.6.5-rpi中,包含rpi_rc_in驱动,可从通过外部程序共享遥控信号数据,比px4中内嵌遥控数据读取更可靠。







作者: xiying12571    时间: 2017-2-2 20:46
支持关注

作者: kkl918    时间: 2017-2-6 17:38
不容易阿,楼主加油!

作者: kkl918    时间: 2017-2-13 17:09
楼主有进度吗

作者: crossa    时间: 2017-2-14 14:10
kkl918 发表于 2017-2-13 17:09
楼主有进度吗

有,组装阶段,正在等零件。还缺点小铜柱



作者: crossa    时间: 2017-2-14 22:14
本帖最后由 crossa 于 2017-2-15 15:38 编辑

此楼更新一下三轴加速计调试视频,真正的spi模式。MPU9250包含地磁计,所以无需罗盘了

http://player.youku.com/player.php/sid/XMjUxMjA5ODg4MA==/v.swf








作者: crossa    时间: 2017-2-15 22:33
本帖最后由 crossa 于 2017-4-7 23:11 编辑

今天更新一下遥控器输入程序的相关资料。
我写的驱动程序,需要配合PPMEncode使用,必须使用8通道的接收机,8个通道插满,如果使用6通道接收机插在8通道编码器上,有两个通道的的数据帧会被错开,导致通道错位。
目前,不支持S.BUS,主要原因是我没有S.BUS的设备,所以没法编写驱动程序。

不说了,上视频。下一次的话,我会更新飞行器组装以及动力输出的相关资料,全部工程完工后,我会更新出相应的系统镜像,直接下载回去就能用了
http://player.youku.com/player.php/sid/XMjUxMzczNTEzMg==/v.swf


再秀一下整体的CPU占用率,别嫌高,其实不高,pi zero依然是一代pi的bcm2708,不能和A53比,但是比stm32已经绰绰有余,而且已经使用了实时内核的Linux,px4固件内部都是按照nuttx一样的任务队列来运行的


(, 下载次数: 1108)




=====================================================================================================

之前胃出血住院了,麻烦,最近才刚缓过来,这周上海天天下雨,暂时懒得出去飞了,今天放出动力输出视频,至此,所有基本模块都以调试完毕,因为没有电流计,所以没有电量提示,后续会开发的
现在放出解锁视频



作者: magong    时间: 2017-2-16 10:59
这个是何必呢? Linux 不适合干实时特别强的东西。
飞控实时部分裸奔给个 STM32 的 CPU 就完全够用了。
那个 zero 来做图像处理还差不多。


作者: crossa    时间: 2017-2-16 11:57
magong 发表于 2017-2-16 10:59
这个是何必呢? Linux 不适合干实时特别强的东西。
飞控实时部分裸奔给个 STM32 的 CPU 就完全够用了。
...

实时性问题,不用担心。因为这玩意也可以实时的,当初很人多没搞清楚里面猫腻。
我前面帖子已经说过,即使打了实时补丁,内核也必须调整为抢占式,且必须以root身份运行,才是实时的。
我现在用的已然是跑实时内核了,所有任何和nuttx一样,是队列。这个很容易搞。
之前有个树莓派的跑ArduPilot的方案,并没有用实时内核。

顺便说居,很多人对这个东西不熟悉。层进过好几个飞控群,大部分做飞控,就是拖模块,不懂系统的居多

stm32方案的缺点也很明显,就是只能做飞控,要沟通,还要靠arm。
用树莓派的好处,显而易见,可以跑更多的程序



作者: magong    时间: 2017-2-16 12:42
crossa 发表于 2017-2-16 11:57
实时性问题,不用担心。因为这玩意也可以实时的,当初很人多没搞清楚里面猫腻。
我前面帖子已经说过,即 ...

Linux 就算用了实时 patch,也不能和裸奔的 stm32 比。这个还是差挺多的。关键是 PX4 在 Linux 是以用户空间来跑的
不是核心驱动。这种

Linux 实时那个 project 已经停止开发了,关键还是没有人真正
关心 Linux 下面类似单片机那种实时性,比较鸡肋。
https://lwn.net/Articles/604695/
这个还是几年前的旧消息了。

PX4 拿 stm32 跑就够了,也跑很好,你还有什么和飞控相关
的额外程序要跑?拿Linux 能跑起来和能有比较好性能还是
有不少区别的。




作者: crossa    时间: 2017-2-16 15:05
本帖最后由 crossa 于 2017-2-16 15:27 编辑
magong 发表于 2017-2-16 12:42
Linux 就算用了实时 patch,也不能和裸奔的 stm32 比。这个还是差挺多的。关键是 PX4 在 Linux 是以用户 ...

问题的关键,其实不在于LINUX,而在于任务怎么调度,给多少时间片给高优先级程序。
仔细看一下px4firmware的nuttx驱动部分,一样是任务队列。那么问题来了
nuttx也是多任务系统,肯定也不同于单任务跑,那么任务按队列顺序来执行的时候,操作系统自身不可能一直是挂起的状态。

pixhawk只要刷了px4firmware的固件,一定是有nuttx,不可能是单独一个程序在板子上直接跑

所以,问题的关键就来了,就是Linux 的下,如何确保px4固件抢占式运行。
如果按照内核的默认配置,这一点你就别想了,因为默认运行模式是为服务设计的,为的就是长时间不重启,不崩溃而设计的,所以基本上这几年服务器领域里,基本上没有windows什么事,嵌入式领域里,也慢慢清一色linux了,要么就是nuttx。
那么必然是要把打完实时补丁,然后变成抢占任务模式,增加程序的运行时间分配来增加实时性。

之前坛子上的案例我看了,我可以确定的是,那俩都没打实时补丁。而且我说过打了实时补丁未必真的是按抢占式来运行了,也就是说未必确保实时,道理很简单,默认的飞控程序,只需要读写i2c和spi设备,这个用默认的那个pi用户就能读写,普通用户也可以
但是用普通用户身份启动的话,是不开启抢占的模式的,要增确保实时性,必须用root身份运行飞控程序,就像我之前发的帖子里的东西,几乎飞控占用了大部分系统资源,这才是正常的。所以我可以这么说,之前坛子里的例子,没有太大参考价值。

等我弄玩了看。如果我弄出来,发觉和以前人家弄的不一样,那么事情就很明白了。

至于Linux的实时补丁,说实话,从来没停过 https://www.kernel.org/pub/linux/kernel/projects/rt/
你给我看那个帖子的时候,是Linux3.17的内核,现在同样的,内核实时补丁都出到4.9了


还是那句话,同样是树莓派+Linux 方案的 pxfmini,skyjack,以及navio能在天上飞得不错,而且都是跑得px4firmware,单个树莓派反而跑不好,我就比较怀疑了。

反过来说

stm32的方案,其实好处也是有的,不是实时性,而是价格(stm32f4除外,那个和树莓派一个价,而且程序调通,能用,也不会比树莓派简单多少,不然不会有人买pixhawk了)。
如果以后的板子,cortex a和conrtex m 核心能放在一个板上,问题就简单了,解决通信问题就行了。因为简单动作 stm32单片机绝对够用了,复杂功能交给arm来处理。

之前帖子一直在审核,在这儿我说一说树莓派能额外做的事。

我上面几个视频里,演示过,我没有数传,我是靠wifi充当通信的。
在有tcp/ip 网络的情况下,图传很容易解决,因为Linux系统下有gstreamer,可以直接把视频流以UDP方式广播到地面站,地面站里就能显示,wifi虽然距离近,但是不表示没有远距离的解决办法。
而且这个streaming,延时非常小,对于树莓派这样的玩意来说,也不占用多少系统资源,但是对于stm32来说,不依赖外部的设备是很吃力的。但是对于树莓派来说,这是小菜一叠的事

目前来看廉价方案,不超过百米的,2.4G凑合凑合,等5G开放了,估计这类方案不是问题了。我当年刚开始上网的时候,就一根电话线,高速网络无异于畅想,无线网络压根国内见不着设备呢,这些肯定都能解决的,时间问题而已。

关于图传:http://diydrones.com/profiles/blogs/fpv-setup-with-raspberry-pi
老外的这个方案其实很顶用。

以未来趋势来看,无人机,应该是飞在天上的网络节点,是个会飞的服务器。




作者: crossa    时间: 2017-2-16 15:39
本帖最后由 crossa 于 2017-2-16 15:47 编辑
magong 发表于 2017-2-16 12:42
Linux 就算用了实时 patch,也不能和裸奔的 stm32 比。这个还是差挺多的。关键是 PX4 在 Linux 是以用户 ...

唉,回复你的帖子又被审核了。。等放出来把。

关于实时性,简单地说,就是给多少时间片给前台程序。
Linux的实时补丁没停过,一直在更新。

用户模式最大的好处,就是不用担心升级内核后,驱动程序没了。因为Linux类系统的更新,时不时会伴随内核更新的,发行版的厂商,更新内核,修补内核bug也是常事,内核更新,驱动就要跟着内核版本号更新,重新编译。用了用户模式,就不考虑这个问题了

顺便说句,打了实时补丁,未必是表示运行程序就是实时模式,道理很简单,普通用户身份也能启动飞控程序的,但是不是实时的,这一点我已经验证过了

px4firmware在pixhawk上跑得时候,依赖nuttx的,问题是nuttx也是操作系统,任务调度的时候,自身不可能一直挂起。
所以这个Linux的实时性,到底怎么回事已经很清楚了,不光要有实时补丁,还要修改运行模式,重新编译内核。
所以之前坛子里的树莓派飞控案例,都不具备典型性,这些事他们都没去做,所以不用参考他们。默认的内核不是按抢占是任务来的,要弄成抢占的式的,必须重新编译内核。对于每个稍微熟悉点Linux的人来说,这个很easy。而且在去年之后的raspbian系统,已经把发行版自带内核优化成实时、抢占式任务了,不放心的话,自己重新编译下内核而已,10多分钟的事

关于额外的程序,就是我说的图像传输,我现在wifi当数传,距离虽近,但是不表示未来无法突破,5G的网络开放的话,这些估计都不是问题了。当年用电话线上网的时候,无线网都是天方夜谭呢。
wifi的话,Linux自带的gstreamer可以用借助UDP,把图像广播给地面站,而且这个图像延时少,速度快,还不占什么资源,如果stm32要干这个事,难,再买额外的模块吧,单个主机就算无需模块算力也不够

关于图传:http://diydrones.com/profiles/blogs/fpv-setup-with-raspberry-pi
Erle Robotics 的 pxfmini,navio,erbrain,三个商业飞控,都是基于树莓派+Linux的方案,而且都是用了px4firmware,没道理同样的树莓派,用了近似的环境,单个机器却跑不好别说这个小众哈,主要是国内难买到,只能跨境







作者: magong    时间: 2017-2-16 17:05
crossa 发表于 2017-2-16 15:39
唉,回复你的帖子又被审核了。。等放出来把。

关于实时性,简单地说,就是给多少时间片给前台程序。

我的也被审核了。
瞎讨论哈,你说的内核升级驱动没了这个对 STM32 来说不是优势。
STM32 裸奔不会有单单升级内核一说。要刷就firmeare 一起刷。
另外用户进程也还是会碰到升级内核驱动没有了的问题。例如
你的 spi 如果是 module 的话,升级内核没有装 spi module,你
用户程序就打不开 spi 设备。

另外nuttx 那个也是比较 PX4 飞控比较弱的部分,你现在还
要换成更加复杂和不能保证时间的 Linux。Linux 不弱但是
不是特别适合做严格实时的东西。

你用RPi 做飞控比较大的问题是 RPi 没有 4 个硬件 PWM 输出。
你要用软件模拟 PWM 那就比较痛苦,不是很有保证。比较

慢的 LED 可以,马达 pwm 就不好搞。

图传没有必要放到和飞控一起一个核啊。wifi 图传还普遍比
模拟的慢。




作者: crossa    时间: 2017-2-16 19:12
magong 发表于 2017-2-16 17:05
我的也被审核了。
瞎讨论哈,你说的内核升级驱动没了这个对 STM32 来说不是优势。
STM32 裸奔不会有单 ...

继续讨论这个问题。
关于PWM输出,其实很简单,俩现成方案

1. 利用树莓派8个空余的引脚,实现内核级PWM,这个方案网上有个现成内核模块,但是就是像我跟你说的,那玩意只能支持到4.1 ,现在的系统普遍已经是4.4内核了,加上考虑到隔离,所以我没用这个方案
2.利用PCA9685 16路舵机模块,这个方案最快捷,而且我现在也是用这个方案,程序已经写完了。只是需要测试而已,如果纯粹驱动PCA9685的花,其实我早就搞定了,还搞了个副产品出来。

3.关于SPI  和I2c的内核模块,专门为树莓派定制的raspbian系统一定会有这俩模块,否则就称不上嵌入式专用系统,自己编译的内核的话,更不可能少了这俩模块。

4.关于严格时间复杂性,现在的Linux下,经可以做到了。

是这样的,你在前台用用户身份启动飞控程序后,再用ssh再连接一个终端,打开top观察,你会发觉,px4的飞空程序和我的ppmdecode始终在顶端,
如果用的是传统的服务器上用的内核的話,这个东西就不是这样的,这俩进程的排序就会发生变化,top这玩意默认按资源消耗排序的。其实我现在这么一弄,这个Linux基本上跑成nuttx了,只是有些nuttx没有的特性而已
而且飞控的数据,也不是完全严格的时间复杂性,即用单片机,这个东西因为用了orb系统,相当于也是异步处理了。

5. stm32倒是有个明显的优势,就是长时间小计算量的工作,放在stm32上正好,然后再用i2c通信方式提交给飞控主机,你那个超声波其实这么弄就很好的,我那个虽然少一个单片机,但是额外会占用一些后台资源。

6.其实你别觉得这东西没搞头,这东西其实有很大的想象空间。目前,我用的只是 pi zero,这货和老pi一样,一个处理器的。但是新的pi3 b+  是4核处理器,而且还是64位的,这就意味着浮点数小数点后长度又可以增加了
直接跑64位系统的话,对系统绝对有帮助,而且现在,按照我这个东西的环境设置,4个核里面,1个核跑飞控已经戳戳有余,剩下的3个核,基本可以跑其他东西了,比如视觉处理,ADBS之类。这个可比你那个APM想像空间大多了。

你要是有兴趣,咱们可以合作一把,我弄完了后,出个四核版本的飞行器。要知道,单片机单机模式跑程序,可不支持多CPU啊。不然为啥我要拼命拽着操作系统呢



作者: crossa    时间: 2017-2-16 19:24
magong 发表于 2017-2-16 17:05
我的也被审核了。
瞎讨论哈,你说的内核升级驱动没了这个对 STM32 来说不是优势。
STM32 裸奔不会有单 ...

关于wifi图传,我补充一点 ,他们用单片机加模块肯定慢,我见过老外和我用以一样的方式,0.5秒内的延迟,而且是隔了老远的。我估计5G网络一旦开放,这个领域要井喷的
因为这个玩意在一个有系统的机器上,传输一个图像,假设是720p,每秒30帧,单片机编码速度首先就没有树莓派来的快,在加上还要控制wifi。这玩意在树莓派上小菜一叠的事

顺便说句,我上贴提过,新的pi3可是64位的4核处理器,飞控撑死都占不满一个核





作者: magong    时间: 2017-2-16 20:27
crossa 发表于 2017-2-16 19:12
继续讨论这个问题。
关于PWM输出,其实很简单,俩现成方案

我一开始就说了,RPi 做图像处理可以,用来做飞控不合适。你反正要拉上一个单片机,还不如把飞控放单片机上来到可
靠。



作者: crossa    时间: 2017-2-16 21:00
本帖最后由 crossa 于 2017-2-16 21:10 编辑
magong 发表于 2017-2-16 20:22
你没有意识到现在 FPV 那种视频是模拟信号,不走 wifi 的。
所以完全不费单片机 CPU。就算要做光流这些 ...

如果你做了光流之类的,我反而更建议你放到arm上来。把一些数据处理,交给arm核来做,现在随便一个99的开发板,都是至少双核甚至四核的处理器。跑这些应该是轻松的


没错,我那个图里面,IDLE 是没剩下多少。但是你也注意一点:
我用的是pi zero,不是pi3,pi3的话,我现在受制于机架体积,不愿意用而已
pi3 是四核的,按照top的显示方式,这伙cpu usage最大能跑到多少?我可以告诉你,是400%

也就是说完全无所谓,如果我这个移到pi3上,根本跑不满,因为pi3是4个核。

关于图传的问题你说到要害了,我就是因为不想再额外搭载收发设备上天了。

你给我看得测试其实意义不大的,关键最终结果是看px4 在posix类系统下的表现。因为我说过,我用pi zero纯粹是因为他体积小,但是pi3和pi zero就完全不是一回事了,核数不一样不说,也完全不是同一代处理器。

至于px4,我知道你肯定没去跑过,我也是fan qiang出去看了老外的视频,才知道原来不用单片机搞也能出来。

关于cpu完全跑满,我这么说,不用担心的,15年前我刚开始用的时候,这些东西先开始席卷的服务器领域,15年后今天,互联网世界里,快看不到windows的服务器了。而且眼看着,手机平板除了水果家的,都跑着这些玩意。以前嵌入式领域还能看到win ce,现在呢。。。基本除了消费类产品快看不到windows了。这货能受欢迎的原因就是跑满了一样不担心

再进一步说,如果用大一点的机架,Pi3完全可以用,性能比我贴出来的那个好了不知道多少倍。说不定后面还会pi3 zero呢。
关于控制循环的事,我这么说,不会慢的。你给我看得测试意义不大的。

因为我这个pi zero虽然是上面两代的处理器,但是跑100万次循环,每个循环带一次标准输出的话,4秒内就完成了。。。。 10万次这样的循环都花不了一秒,这玩意我自己都测试过。虽然你那个是带循环里带上其他的东西,但是我这么说啊,同一代产品的花,大家就算同样跑空循环带个标准输出,这东注定也是把单片机甩在后面的

都说了stm32问题就在于算力,还有就是stm32的飞控也没法多处理器协同啊

Linux不一定是终点,但是带上系统多半是是趋势









作者: magong    时间: 2017-2-16 21:26
crossa 发表于 2017-2-16 21:00
如果你做了光流之类的,我反而更建议你放到arm上来。把一些数据处理,交给arm核来做,现在随便一个99的开 ...

说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?



作者: crossa    时间: 2017-2-16 21:37
magong 发表于 2017-2-16 21:26
说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?

唉,真是贴给你看,先贴pi0

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 345036  10696  57760    0    0    26     1 4273  199  1  1 97  0  0
1  0      0 345036  10696  57760    0    0     0     0 5615 8734 44 24 32  0  0
1  0      0 345036  10696  57760    0    0     0     0 9906 8596 37 33 30  0  0
1  0      0 345036  10696  57760    0    0     0     0 5846 8703 22 29 49  0  0
1  0      0 345036  10696  57760    0    0     0     0 9610 8571 35 32 33  0  0
1  0      0 345036  10696  57760    0    0     0     0 6143 8679 33 34 34  0  0
2  0      0 345036  10696  57760    0    0     0     0 9324 8579 35 34 31  0  0
1  0      0 345036  10696  57760    0    0     0     0 6416 8642 36 29 35  0  0
1  0      0 345036  10696  57760    0    0     0     0 9030 8622 31 26 43  0  0
0  0      0 345036  10696  57760    0    0     0     0 6712 8651 21 23 55  0  0
1  0      0 345036  10696  57760    0    0     0     0 8773 8649 23 33 44  0  0
1  0      0 345036  10696  57760    0    0     0     0 6942 8581 35 31 34  0  0
1  0      0 345036  10696  57760    0    0     0     0 8404 8597 36 31 33  0  0
0  0      0 345036  10696  57760    0    0     0     0 7301 8633 33 30 38  0  0
1  0      0 345036  10696  57760    0    0     0     0 8108 8640 25 28 48  0  0
2  0      0 345036  10696  57760    0    0     0     0 7659 8638 20 35 45  0  0
1  0      0 345036  10696  57760    0    0     0     0 7840 8639 29 29 43  0  0
1  0      0 345036  10696  57760    0    0     0     0 7953 8619 35 31 34  0  0
1  0      0 345036  10696  57760    0    0     0     0 7460 8667 25 21 55  0  0
1  0      0 345036  10696  57760    0    0     0     0 8256 8629 25 38 38  0  0
1  0      0 345036  10696  57760    0    0     0     0 7148 8619 33 34 34  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0 345036  10696  57760    0    0     0     0 8595 8661 24 34 42  0  0
1  0      0 345036  10696  57760    0    0     0     0 6861 8636 41 25 34  0  0
1  0      0 345036  10696  57760    0    0     0    16 8882 8692 37 30 33  0  0
1  0      0 345036  10696  57760    0    0     0     0 6565 8636 36 28 35  0  0
1  0      0 345036  10696  57760    0    0     0     0 9161 8555 35 34 31  0  0
1  0      0 345036  10696  57760    0    0     0     0 6233 8698 39 18 43  0  0
1  0      0 345036  10696  57760    0    0     0     0 9438 8546 20 36 44  0  0
1  0      0 345036  10696  57760    0    0     0     0 5899 8689 29 23 48  0  0
1  0      0 345036  10700  57760    0    0     0     4 9817 8567 36 34 30  0  0
1  0      0 345044  10700  57760    0    0     0     0 5569 8737 36 22 42  0  0
1  0      0 345044  10700  57760    0    0     0     0 10151 8536 32 36 32  0  0
1  0      0 345044  10700  57760    0    0     0     0 5265 8683 27 21 52  0  0
1  0      0 345044  10700  57760    0    0     0     0 10456 8530 33 34 33  0  0
1  0      0 345044  10700  57760    0    0     0     0 4991 8693 32 32 36  0  0
1  0      0 345044  10700  57760    0    0     0     0 10722 8573 28 30 43  0  0
1  0      0 345044  10700  57760    0    0     0     0 4719 8744 17 26 57  0  0
1  0      0 345044  10700  57760    0    0     0     0 10966 8476 29 30 41  0  0
1  0      0 345044  10700  57760    0    0     0     0 4395 8732 29 34 37  0  0
1  0      0 345044  10700  57760    0    0     0     0 11328 8519 31 38 31  0  0
1  0      0 345044  10700  57760    0    0     0     0 4110 8749 42 23 35  0  0
1  0      0 345044  10700  57760    0    0     0     0 11657 8542 29 40 30  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0 345044  10700  57760    0    0     0     0 3865 8778 32 31 37  0  0
1  0      0 345044  10700  57760    0    0     0     0 11826 8509 39 32 29  0  0
1  0      0 345036  10700  57760    0    0     0     0 3864 8834 33 30 37  0  0
1  0      0 345036  10700  57760    0    0     0     0 11623 8487 29 34 37  0  0
1  0      0 345036  10700  57760    0    0     0     0 4086 8835 21 22 57  0  0
1  0      0 345036  10700  57760    0    0     0     0 11377 8526 27 29 44  0  0
1  0      0 345036  10700  57760    0    0     0     0 4353 8755 29 20 51  0  0
1  0      0 345036  10700  57760    0    0     0     0 11075 8516 39 29 33  0  0
1  0      0 345036  10700  57760    0    0     0     0 4631 8742 24 28 49  0  0
1  0      0 345036  10700  57760    0    0     0     0 10739 8517 40 28 32  0  0
1  0      0 345036  10700  57760    0    0     0     0 4980 8770 45 21 34  0  0
1  0      0 345036  10700  57760    0    0     0     0 10540 8525 37 34 29  0  0
0  0      0 345036  10700  57760    0    0     0     0 5221 8707 40 27 33  0  0
1  0      0 345036  10700  57760    0    0     0     0 10157 8540 36 32 32  0  0
1  0      0 345036  10700  57760    0    0     0     0 5513 8683 31 27 42  0  0
1  0      0 345036  10700  57760    0    0     0     0 9871 8539 31 32 38  0  0
1  0      0 345036  10700  57760    0    0     0     0 5818 8605 34 24 42  0  0
1  0      0 345036  10700  57760    0    0     0     0 9538 8602 29 35 36  0  0
1  0      0 345036  10700  57760    0    0     0     0 6181 8693 37 26 38  0  0
1  0      0 345036  10700  57760    0    0     0     0 9183 8552 20 38 42  0  0
1  0      0 345036  10700  57760    0    0     0     0 6507 8636 33 33 35  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
====================================================================================================================================================



作者: crossa    时间: 2017-2-16 21:38
magong 发表于 2017-2-16 21:26
说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?

再给你贴个pi3的

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 790156   7188  48860    0    0    43    10  190  157  1  1 98  1  0
0  0      0 790188   7188  48860    0    0     0     0 1762 2864  0  0 100  0  0
0  0      0 790188   7188  48860    0    0     0     0 1752 2855  0  0 99  0  0
0  0      0 790156   7188  48860    0    0     0     0 1760 2836  0  1 98  0  0
0  0      0 790188   7188  48860    0    0     0     0 1765 2844  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1769 2849  1  1 99  0  0
0  0      0 790156   7188  48860    0    0     0     0 1764 2836  1  0 99  0  0
0  0      0 790156   7188  48860    0    0     0     0 1772 2859  0  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1788 2852  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1767 2842  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1775 2842  0  0 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1788 2867  1  0 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1773 2860  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1789 2863  1  1 99  0  0
0  0      0 790156   7188  48860    0    0     0     0 1781 2866  1  1 98  0  0
1  0      0 790188   7188  48860    0    0     0     0 1779 2840  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0    12 1777 2862  1  1 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1779 2843  0  1 99  0  0
0  0      0 790156   7188  48860    0    0     0     0 1763 2854  0  1 98  0  0
0  0      0 790188   7188  48860    0    0     0     0 1779 2851  1  0 99  0  0
0  0      0 790188   7188  48860    0    0     0     0 1784 2858  1  1 99  0  0
0  0      0 790188   7196  48852    0    0     0    56 1792 2903  1  1 97  1  0
0  0      0 790156   7196  48860    0    0     0     0 1780 2883  1  0 99  0  0
1  0      0 790188   7196  48860    0    0     0     0 1731 2856  1  0 99  0  0
0  0      0 790188   7196  48860    0    0     0     0 1756 2860  1  1 98  0  0
0  0      0 790188   7196  48860    0    0     0     0 1770 2857  1  0 99  0  0
0  0      0 790156   7196  48860    0    0     0     8 1758 2850  0  1 99  0  0
0  0      0 790188   7196  48860    0    0     0     0 1749 2850  1  0 99  0  0
0  0      0 790188   7196  48860    0    0     0     0 1777 2854  1  1 99  0  0
0  0      0 790188   7196  48860    0    0     0     0 1771 2858  1  0 99  0  0
1  0      0 790156   7196  48860    0    0     0     0 1779 2860  0  1 99  0  0
0  0      0 790188   7196  48860    0    0     0     0 1772 2865  1  0 99  0  0
0  0      0 790188   7204  48852    0    0     0    20 1776 2869  1  0 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1781 2876  1  0 99  0  0
0  0      0 790156   7204  48860    0    0     0     0 1774 2867  1  1 99  0  0
0  0      0 790156   7204  48860    0    0     0     0 1758 2847  1  1 98  0  0
0  0      0 790188   7204  48860    0    0     0     0 1772 2851  0  0 100  0  0
0  0      0 790188   7204  48860    0    0     0     0 1760 2843  1  0 99  0  0
0  0      0 790156   7204  48860    0    0     0     0 1787 2870  1  1 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1754 2853  0  0 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1748 2860  1  1 98  0  0
0  0      0 790156   7204  48860    0    0     0     0 1776 2863  1  1 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1784 2865  1  0 99  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 790188   7204  48860    0    0     0     0 1752 2868  0  0 100  0  0
0  0      0 790156   7204  48860    0    0     0     0 1770 2859  1  1 99  0  0
1  0      0 790156   7204  48860    0    0     0     0 1766 2849  1  0 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1765 2860  1  0 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1737 2847  0  1 99  0  0
0  0      0 790156   7204  48860    0    0     0     0 1766 2857  1  0 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1763 2873  1  1 99  0  0
0  0      0 790196   7204  48860    0    0     0     0 1789 2871  1  0 99  0  0
0  0      0 790204   7204  48860    0    0     0    24 1800 2903  1  1 99  0  0
0  0      0 790188   7204  48860    0    0     0     0 1794 2880  1  0 99  0  0
0  0      0 790236   7204  48860    0    0     0     0 1783 2880  1  1 99  0  0
0  0      0 790236   7204  48860    0    0     0     0 1779 2854  1  1 99  0  0
0  0      0 790236   7204  48860    0    0     0     0 1743 2839  1  0 99  0  0
0  0      0 790204   7204  48860    0    0     0     0 1766 2845  1  0 99  0  0
0  0      0 790236   7204  48860    0    0     0     0 1775 2854  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1796 2871  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1772 2866  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1775 2860  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1774 2873  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1764 2868  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1778 2849  0  0 100  0  0
0  0      0 790212   7204  48860    0    0     0     0 1751 2856  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1732 2852  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1766 2854  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1770 2848  0  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1779 2871  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1771 2856  0  0 100  0  0
0  0      0 790244   7204  48860    0    0     0     0 1764 2849  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1792 2868  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1768 2874  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1755 2864  0  0 100  0  0
0  0      0 790244   7204  48860    0    0     0     0 1766 2867  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1771 2852  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1778 2851  0  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1769 2845  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1781 2883  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1776 2870  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1750 2848  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1740 2857  1  0 99  0  0
1  0      0 790244   7204  48860    0    0     0     0 1768 2861  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1751 2849  1  1 99  0  0
1  0      0 790244   7204  48860    0    0     0     0 1763 2846  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1738 2841  1  0 99  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 790244   7204  48860    0    0     0     0 1835 2857  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1738 2846  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1730 2853  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1760 2837  0  0 99  0  0
1  0      0 790212   7204  48860    0    0     0     0 1732 2830  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1747 2834  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1749 2858  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1735 2845  0  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1747 2852  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1750 2851  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1749 2855  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1741 2841  0  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1723 2847  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1758 2855  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1735 2846  0  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1780 2862  0  0 100  0  0
0  0      0 790212   7204  48860    0    0     0     0 1778 2857  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1785 2865  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1780 2862  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1753 2848  1  1 98  0  0
0  0      0 790212   7204  48860    0    0     0     0 1768 2854  0  0 100  0  0
0  0      0 790244   7204  48860    0    0     0     0 1755 2839  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1762 2845  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1770 2851  1  1 98  0  0
0  0      0 790212   7204  48860    0    0     0     0 1771 2849  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1789 2869  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1753 2855  0  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1747 2857  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1783 2857  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1751 2846  1  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1781 2871  0  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1773 2864  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1780 2880  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1781 2873  0  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1770 2852  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1779 2860  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1767 2869  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1823 2871  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1766 2867  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1767 2880  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1731 2837  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1767 2856  0  0 100  0  0
1  0      0 790212   7204  48860    0    0     0     0 1764 2854  1  0 99  0  0
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
0  0      0 790244   7204  48860    0    0     0     0 1764 2881  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1736 2861  1  1 98  0  0
0  0      0 790212   7204  48860    0    0     0     0 1750 2861  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1785 2853  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1763 2864  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1790 2872  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1747 2848  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1768 2839  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1770 2838  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1792 2874  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1781 2878  0  0 100  0  0
0  0      0 790244   7204  48860    0    0     0     0 1763 2851  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1781 2867  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1738 2848  0  0 100  0  0
0  0      0 790212   7204  48860    0    0     0     0 1776 2853  0  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1757 2869  0  1 99  0  0
1  0      0 790244   7204  48860    0    0     0     0 1764 2859  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1745 2867  1  1 98  0  0
0  0      0 790212   7204  48860    0    0     0     0 1726 2854  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1762 2859  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1768 2861  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1764 2863  1  1 98  0  0
0  0      0 790212   7204  48860    0    0     0     0 1730 2851  0  0 100  0  0
0  0      0 790244   7204  48860    0    0     0     0 1786 2885  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1765 2866  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1731 2837  0  1 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1737 2859  1  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1789 2871  0  1 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1770 2829  1  1 98  0  0
0  0      0 790244   7204  48860    0    0     0     0 1772 2852  1  0 99  0  0
0  0      0 790212   7204  48860    0    0     0     0 1772 2863  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1777 2862  1  0 99  0  0
0  0      0 790244   7204  48860    0    0     0     0 1777 2859  1  1 99  0  0




作者: crossa    时间: 2017-2-16 21:43
magong 发表于 2017-2-16 21:26
说了那么多,贴个 vmstat 1 结果上来看看不就知道了吗?
你也真是,你知道我就没有 PX4 的板子?

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

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

(, 下载次数: 219)


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

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

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

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




作者: magong    时间: 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 来跑飞控好了。


作者: crossa    时间: 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电池,重量大部分是电池。这招我学会了












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

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


作者: crossa    时间: 2017-2-17 10:54
magong 发表于 2017-2-17 10:51
那你好好干,祝你的 RPi 飞控飞机早日飞起来。

。。。。。

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




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

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

先上图
(, 下载次数: 237)

(, 下载次数: 235)

(, 下载次数: 234)

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

(, 下载次数: 243)

(, 下载次数: 220)




作者: crossa    时间: 2017-2-21 00:42
更新下最新进度!

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

(, 下载次数: 235)

(, 下载次数: 223)

(, 下载次数: 208)




(, 下载次数: 247)







作者: crossa    时间: 2017-2-22 09:34



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

(, 下载次数: 222)

(, 下载次数: 203)

(, 下载次数: 218)


作者: crossa    时间: 2017-2-22 13:23



放出草图

(, 下载次数: 232)


作者: crossa    时间: 2017-2-24 16:35
更新下草图。

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

(, 下载次数: 224)




作者: crossa    时间: 2017-3-6 18:41
(, 下载次数: 216)


作者: caosix2    时间: 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 】。


作者: magong    时间: 2017-3-7 23:59
这部飞机后来飞起来了吗?加油。



作者: crossa    时间: 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要比纯粹的单片机好用上不少,飞行只是副产品















作者: crossa    时间: 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。做图形累应用轻松。
说白了,飞行只是副产品


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

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


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


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

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

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

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



作者: AeroCAM    时间: 2017-3-10 23:56
牛b呀!

作者: lslsyqyq    时间: 2017-3-31 22:15
也买了块派3 家里原来有个apm2.8的自组四轴,2560的芯片。

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

另外 github上是所用的代码?

作者: crossa    时间: 2017-4-1 13:14
lslsyqyq 发表于 2017-3-31 22:15
也买了块派3 家里原来有个apm2.8的自组四轴,2560的芯片。

不知道楼主是怎么把派3用来做控制的,是linux ...

新的raspbian的自带内核都是打过实时补丁,且编译成抢占式进程管理的。
飞控实时性,主要取决于抢占式进程管理,不取决于实时补丁,因为核心从姿态控制到卡尔曼滤波,都是不依赖内核的

我在github上的代码就是直接能用的。编译后,就能运行,自己买模块插在树莓派上,启动飞控程序就行了。

我的代码不是APM的,是px4。

px4比ArduPilot更好些,而且本身,APM上也跑不了px4,现在我这么一弄,你不用去买pixhawk也能享受px4了。
px4官方推荐用骁龙的板,其实树莓派也可以的,3的话更好些。



作者: lslsyqyq    时间: 2017-4-1 14:58
多谢及时回复
那在派上刷新一次姿态的周期是多久啊
实时补丁不是要自己安装么(rtai之类的)
ps 我是做上位机的, 业余玩航模  底层控制不大懂 -_-!

作者: crossa    时间: 2017-4-2 13:44
lslsyqyq 发表于 2017-4-1 14:58
多谢及时回复
那在派上刷新一次姿态的周期是多久啊
实时补丁不是要自己安装么(rtai之类的)

姿态刷新1000hz
电调刷新400hz,最大的话受制于PCA9685的精度,只要你的电调能受得了,10BIT下,不用外接时钟,最高500HZ,用外接50MHZ时钟,最高800HZ,12bit精度下,低于400hz,甚至只有100,200。这个基本上是PWM的极限了。再要更好,就要其他双向通信协议的电调了。
实时补丁不再需要打了,raspbian的发行版内核已经附带了,因为打实时补丁的主要目的是为了开启抢占式进程管理,和飞行器实时性无关。

还有,抛弃上位机和底层控制的概念,树莓派的飞行系统是一体化的,本身飞控和地面站可以一起运行的。不是之前的概念了



作者: crossa    时间: 2017-4-7 23:12
之前胃出血住院了,麻烦,最近才刚缓过来,这周上海天天下雨,暂时懒得出去飞了,今天放出动力输出视频,至此,所有基本模块都以调试完毕,因为没有电流计,所以没有电量提示,后续会开发的
现在放出解锁视频



作者: skyfile    时间: 2017-4-18 00:07
强贴留名,看来也要搞个pi3 ,现在Pi 1正用在kcptun上

作者: crossa    时间: 2017-4-18 09:39
skyfile 发表于 2017-4-18 00:07
强贴留名,看来也要搞个pi3 ,现在Pi 1正用在kcptun上

用吧,目前我的GPS问题已经修复好了,定位效果非常好

M8N,38400速率,5HZ,都不漂



作者: 阳光自由    时间: 2017-4-18 16:25
crossa 发表于 2017-4-18 09:39
用吧,目前我的GPS问题已经修复好了,定位效果非常好

M8N,38400速率,5HZ,都不漂

大神,如果想学树莓派,去哪个网站论坛比较好,我知道虽然多平台都可以编译,是否在 Linux 下是最优选择?如果在 MacOS 下呢?是否也可以?


作者: crossa    时间: 2017-4-18 16:30
阳光自由 发表于 2017-4-18 16:25
大神,如果想学树莓派,去哪个网站论坛比较好,我知道虽然多平台都可以编译,是否在 Linux 下是最优选择?如果 ...

1.树莓派别问我咋学的,自己捣鼓的,撑死看看官方,Linux我从2.2时代就开始用的,关键学会怎么折腾Linux就行
2.交叉编译最好是在Linux下,mac下的话,我都用虚拟机。因为mac自身环境下交叉工具链做起来很麻烦,只有不带ABI的工具链,那个优化效果差些。
3.还有,我不是大神。感谢劳伦斯梅耶






作者: 阳光自由    时间: 2017-4-18 16:36
crossa 发表于 2017-4-18 16:30
1.树莓派别问我咋学的,自己捣鼓的,撑死看看官方,Linux我从2.2时代就开始用的,关键学会怎么折腾Linux ...

哈哈,我想多找下关于树莓派的实例,可以更好学习,因为我发现好像没什么很好的论坛,就贴吧比较多例子,之前放弃了玩飞机了,最近在想弄智能家居,才无意看到你的帖子
感觉下觉得树莓派真的不错
运算能力都很好,可以处理各种事情
做服务器,做智能家居控制器,做飞控,比买个 pix 好多了,哈哈
对了,目前来说,是不是3代的 b 是性能最好的?


作者: crossa    时间: 2017-4-18 16:39
阳光自由 发表于 2017-4-18 16:36
哈哈,我想多找下关于树莓派的实例,可以更好学习,因为我发现好像没什么很好的论坛,就贴吧比较多例子,之前 ...

贴吧没办法,小朋友多。
目前来说3代B型最好。
我做这个东西的时候,你也看到无数回贴了,主要是意思是:树莓派不适合做飞控,肯定不行的。但是事实是能做,而且更容易扩展。

国产的也可以考虑,但是号称用国货做的,我目前没见过有飞起来的。主要是不知道国产货的稳定性如何,会不会飞着飞着它烧了之类的。



作者: 阳光自由    时间: 2017-4-18 16:45
crossa 发表于 2017-4-18 16:39
贴吧没办法,小朋友多。
目前来说3代B型最好。
我做这个东西的时候,你也看到无数回贴了,主要是意思是 ...

目前不清楚哪里可以找到一些更好的实例,我是做 iOS 开发,所以之前是关注用 iOS 的 homekit 做的智能家居
对于国产也其实也区分在于芯片的选择上吧
你用的是国产还是直接国外海淘的?
就像 pix 一样,国产的有些质量不行导致不稳定被喷 pix 也没好过 apm 多少,但事实上国外的 pix 固件的芯片都要好很多
毕竟价格摆在那里
树莓派我没去了解外面的价格,我只知道国内买2,3百就可以
但是有什么区别就不清楚了,毕竟目前还没深入了解


作者: crossa    时间: 2017-4-18 21:49
阳光自由 发表于 2017-4-18 16:45
目前不清楚哪里可以找到一些更好的实例,我是做 iOS 开发,所以之前是关注用 iOS 的 homekit 做的智能家居
...

国产树莓派也可以用,一样的,国内买无所谓。
国产的友善之臂香橙派香蕉派之类就要慎重了


作者: crossa    时间: 2017-4-19 09:11
阳光自由 发表于 2017-4-18 23:34
我也是对比了国内外的价格,感觉除去邮费相差真的几乎可以忽略
先买个 PRi3b 玩玩,练练手,熟悉整套系统
...

树莓派只是硬件,你搞个虚拟机,搞会Linux,就大部分都会了


作者: l308152569    时间: 2017-4-20 10:14



楼主你好我想请教下你1楼这句话:顺便说一句,关于实时性的问题,只要你的在树莓派上构建好px4firmware的本地编译环境,实时性就不是问题

这句话的意思是我需要在树莓派上在搭建个px4firmware的本地编译环境,就是实时模式了么?是如下两个步骤么?
2.下载交叉工具链接
http://pan.baidu.com/s/1dFvaPl3
此工具链接使用gcc-4.9 linaro版本,目前我的交叉编译配置文件依此工具链制作
5.设置交叉工具链接环境变量
export RPI_TOOLCHAIN_DIR=<此处填写你的地址>   # 注意,默认的交叉编译器须存放在 $RPI_TOOLCHAIN_DIR/bin 目录下


作者: crossa    时间: 2017-4-20 12:09
本帖最后由 crossa 于 2017-4-20 12:11 编辑
l308152569 发表于 2017-4-20 10:14
楼主你好我想请教下你1楼这句话:顺便说一句,关于实时性的问题,只要你的在树莓派上构建 ...

确切说,根本不要在乎实时性,使用raspbian的话,默认是抢占式进程管理。因为飞控的内部通信用了orb机制,即使你用单片机,姿态采样到控制输出也不是实时的
px4固件内包含ros的相应模块,运行的时候,不使用pthread而是工作队列为主,只要保证发布的数据能被快速的读取到并进行实际输出,就能保证稳定性。
所谓“实时性”的说法,其实是有点误导的




作者: crossa    时间: 2017-5-1 22:16
今天更下关于GPS的选用和PWM的设定
GPS建议选用M8N,买有USB口的,因为树莓派别的没啥就是USB口多,这样就用不到树莓派的串口了,px4的gps默认采用38400速率,5HZ更新速度,pixhawk上,这个组参数已经能保证稳定的原地悬停了。
(, 下载次数: 299)

(, 下载次数: 292)

(, 下载次数: 293)

=====================================================================================

PWM 输出需要注意,PWM是根据混合文件输出的,如果地面站设定的参数的PWM最大值大于你的遥控器的油门行程,当油门推到顶时,电调会得不到输出信号
锁定用的PWM值,必须大于0,且小于你的遥控器的油门行程的最小值

(, 下载次数: 302)


作者: wisology    时间: 2017-5-6 15:41
飞行很稳定啊

作者: crossa    时间: 2017-5-8 13:15
wisology 发表于 2017-5-6 15:41
飞行很稳定啊


手动模式下,操作感优于Pixhawk,毕竟1000hz,刷新速度快了很多,我最近在选择最新最合适的动力


作者: 橘醬男孩    时间: 2017-5-11 05:21
您好,我按照您的編譯方法編譯PX4 for RPI 不過一直顯示"Cmake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage"等錯誤,不過因為我是用RPI3編譯的所以我沒有用toolchain,,謝謝

作者: kappak    时间: 2017-5-12 07:51
crossa 发表于 2017-2-16 15:05
问题的关键,其实不在于LINUX,而在于任务怎么调度,给多少时间片给高优先级程序。
仔细看一下px4firmwar ...

动手能力很强。。。。楼主辛苦了!!!!!!


作者: 橘醬男孩    时间: 2017-5-13 15:58
crossa 发表于 2017-5-12 10:41
考虑到编译的速度,所以我只制作了交叉编译的cmake文件。推荐用交叉编译,因为外部还需要一些宏定义。
...

您好,在跟您請教一下,關於toolchain的環境變數設定是否可以提供較為詳細的解說,因為一直顯示"RPI_TOOLCHAIN_DIR not set"而我用echo是可以顯示環境變數,謝謝


作者: 橘醬男孩    时间: 2017-5-15 19:59
感謝你的回覆,我想我找到原因了,RPI使用推薦的映像檔時在~/pi底下編譯會有權限問題,須用sudo執行,此時環境變數好像會帶不出來,現在環境變數是解決了,不過現在卡在BCM2708的Toolchain上面,這好像是官方的toolchain,還沒搞懂他的code邏輯,這部分您有甚麼好建議?


作者: crossa    时间: 2017-5-16 10:01
使用我帖子里提供的toolchain

因为很多人实际不用官方的toolchain,因为官方toolchain没有对应的sysroot


作者: 橘醬男孩    时间: 2017-5-17 21:47
嗯,似乎是個好主意,官方的toolchain似乎只能在linux下運作,在我的RPI下面會出現語法錯誤@@如果在不行,我會考慮用PX4發行的RPI image,可那時就不知道樓主code能不能編譯嚕

作者: crossa    时间: 2017-5-18 11:54
橘醬男孩 发表于 2017-5-17 21:47
嗯,似乎是個好主意,官方的toolchain似乎只能在linux下運作,在我的RPI下面會出現語法錯誤@@如果在不行, ...

一样是可以的。因为用的是公共组件,我那个特定针对了自制工具链的情况。你只要修改相应的配置cmake文件,把工具链引用,改为引用官方工具链的配置文件,就可以用官方工具链编译

直接修改 posix_rpi_cross_single.cmake
把里头引用的工具链文件,改成官方的就行了


作者: 橘醬男孩    时间: 2017-5-22 02:02
您好,我嘗試安裝'raspberry-pi-ppm-rc-in'時,發生找不到@install-sh'的錯誤(configure內2236¬2254行)我有注意到Github的''install-sh''被導向為''/usr/local/Cellar/automake/1.15/share/automake-1.15/install-sh''這代表是否還需要安裝其的東西

作者: crossa    时间: 2017-5-23 09:22
橘醬男孩 发表于 2017-5-22 02:02
您好,我嘗試安裝'raspberry-pi-ppm-rc-in'時,發生找不到@install-sh'的錯誤(configure內2236¬2254行) ...

不好意思,那个事我本机的链接,忘了复制实体文件过来了。你要在编译环境里装上autoconf,automake,然后可能要重新生成编译配置脚本

$ aclocal
$ autoheader
$ autoconf
$ automake --add-missing




作者: crossa    时间: 2017-5-24 17:43
@lv333ming 按四旋翼输出的,所以没法固定翼

作者: crossa    时间: 2017-5-25 22:53
树莓派飞控图传功能展示

(, 下载次数: 528)

(, 下载次数: 541)

(, 下载次数: 550)

(, 下载次数: 537)

(, 下载次数: 498)


作者: crossa    时间: 2017-5-30 10:49
本帖最后由 crossa 于 2017-5-30 10:51 编辑

更新首次fpv视频





作者: crossa    时间: 2017-6-10 09:07
本帖最后由 crossa 于 2017-6-21 01:45 编辑

(, 下载次数: 406)

(, 下载次数: 468)

(, 下载次数: 408)

(, 下载次数: 396)
===================================================================================================================
今日进度更新
1. nano pi的系统,使用的是主线的UBUNTU,很奇怪,速度居然不满,一改我对Ubuntu的印象,因为Ubuntu曾经很快。64位的处理器,64位的系统,这个绝对是碾压树莓派的
2. 直观的对比下体积。
(, 下载次数: 469)

(, 下载次数: 435)

(, 下载次数: 439)

(, 下载次数: 458)

目前,px4已经在nano pi上跑起来了,气压计和加速计工作正常,这版我不打算使用摄像头,因为是做成有休闲用的小飞行器的,甚至不打算用地面站。

(, 下载次数: 469)


这个版本的改动较大,首先要控要改为sbus了,用sbus的有福了。PPM在NANO pi上个坑,SBUS在树莓派上是个坑,这下好了平衡了。

接下来放上调试的视频





作者: 伯努利    时间: 2017-6-11 06:58
我最近也在做这种嵌入式开发的东西,感觉无从下手,想问下lz要做到你的水平应该学习哪些东西呀
O(∩_∩)O谢谢~

作者: crossa    时间: 2017-6-11 09:25
伯努利 发表于 2017-6-11 06:58
我最近也在做这种嵌入式开发的东西,感觉无从下手,想问下lz要做到你的水平应该学习哪些东西呀
O(∩_∩)O ...

我以前飞直升机的,所以会飞是第一要求
Linux我从服务端开始学的,大概15年前开始的
计算机我是科班,不是行外人


作者: 伯努利    时间: 2017-6-11 10:23
crossa 发表于 2017-6-11 09:25
我以前飞直升机的,所以会飞是第一要求
Linux我从服务端开始学的,大概15年前开始的
计算机我是科班, ...

怪不得,我科班是电子信息工程,现在狂补计算机课程中


作者: z1075128558    时间: 2017-6-17 22:43
请问下楼主如果要搞飞控程序移植,要会些什么呢,如何进行飞控程序移植,我想移植ppz飞控到neo2中

作者: crossa    时间: 2017-6-18 00:51
z1075128558 发表于 2017-6-17 22:43
请问下楼主如果要搞飞控程序移植,要会些什么呢,如何进行飞控程序移植,我想移植ppz飞控到neo2中

可以的。如果你的ppz飞控,核心姿态控制和驱动是分离的,就很容易移植。
如果不是,是裸机跑单片机的,很难。因为我用的平台基本很不用裸机,都是有系统的

别的不用会,懂点系统,懂点C++就行



作者: z1075128558    时间: 2017-6-20 11:49
请问下楼主,新版飞控能用在固定翼上和固定翼垂直起降上吗?

作者: EK9    时间: 2017-6-20 12:11
赞一个 不错哦

作者: crossa    时间: 2017-6-20 16:13
z1075128558 发表于 2017-6-20 11:49
请问下楼主,新版飞控能用在固定翼上和固定翼垂直起降上吗?

飞控按固定翼飞控配置即可,px4本来就支持固定翼
VTOL我没有试过,所以不清楚。





作者: z1075128558    时间: 2017-6-20 17:20
crossa 发表于 2017-6-20 16:13
飞控按固定翼飞控配置即可,px4本来就支持固定翼
VTOL我没有试过,所以不清楚。

那vtol也应该可以用


作者: SalimTerryLi    时间: 2017-6-25 00:02
本帖最后由 SalimTerryLi 于 2017-6-25 00:05 编辑

我的树莓派+PX4也起飞成功了~~~
飞控程序是本机编译的,好像前面有同学遇到问题了?


作者: imba    时间: 2017-6-25 08:14
哇,看得我春心荡漾,过几天我要复刻一个你这样的四旋翼

作者: zhangdongxu    时间: 2017-6-27 11:07
楼主,能发一个清单看一下吗?我想复制一个

作者: crossa    时间: 2017-6-27 22:25
zhangdongxu 发表于 2017-6-27 11:07
楼主,能发一个清单看一下吗?我想复制一个

清单见一楼

其实只需要9250,5611,pca96985
就能完成基本的飞行控制。

剩下的都是航模的电装


作者: crossa    时间: 2017-7-2 08:40
Linux非实时模式下,跑飞控的设定

(, 下载次数: 253)

(, 下载次数: 257)

(, 下载次数: 268)

1. 将内核改为低延迟桌面模式(抢占式任务管理),相当于软实时
2. 下面那个250HZ相当于是线程队列的巡检周期,可以调到300HZ,甚至更高,只要你的硬件可以承受

有以上两点保证,就可以完美跑px4了。4核A9,70%的运行速度,用这种模式,已经能保证1000hz刷新了


作者: caylen    时间: 2017-7-4 18:16
hello,亲,认识一下。我们公司打算做无人机商用的项目。需要相关人才。不知道有没有兴趣聊一下。有兴趣的话可以邮件我:caylen@vip.qq.com

作者: jst124    时间: 2017-7-5 11:46
楼主住的地方好高端啊

作者: crossa    时间: 2017-7-12 12:30
山狗sj4000摄像头使用
万幸! linux下能用,fpv,图像识别又多了个新的硬件选择
(, 下载次数: 265)


作者: snowmangz    时间: 2017-7-19 11:10
很好,parrot的飞控就是跑linux系统的


作者: crossa    时间: 2017-7-26 22:18
今日更新,自己顶起

作者: crossa    时间: 2017-8-23 01:53
一楼末尾更新了最新教程,有需要的自己看

作者: 驭风者    时间: 2017-8-27 19:35
楼主辛苦了,先留个爪印,回头慢慢看

作者: ranqingfa    时间: 2017-9-19 09:32
漂亮。楼主大牛

作者: ranqingfa    时间: 2017-9-19 09:38
貌似无法打赏啊

作者: tjcdq    时间: 2017-9-20 12:35
技术贴,不愧是精华帖,大赞一个!

作者: flycrshish    时间: 2017-9-26 12:08
淘了个双目摄像头 规格是2560*720 / 60fps 台式机上测感觉性能良好
放上pi3测试wifi回传 wifi网速测试 20MB~30MB
pi3 RTC SERVER
 gst-launch-1.0 v4l2src ! video/x-raw,width=1280,height=480 ! omxh264enc target-bitrate=11534320 control-rate=variable ! h264parse ! rtph264pay ! udpsink host=192.168.0.224 port=5600
 
接收端台式机命令 (APU ubuntu 64)
gst-launch-1.0 udpsrc port=5600 ! application/x-rtp, encoding-name=H264,payload=96 ! rtph264depay ! avdec_h264 ! xvimagesink

就感觉速度上不去
2560無法執行
1280*480感觉 15fps
640*240有比较像30~60fps 但就不太清晰了
延时都在500ms内

先回报以上情况 继续折疼...


作者: crossa    时间: 2017-9-26 14:53
flycrshish 发表于 2017-9-26 12:08
淘了个双目摄像头 规格是2560*720 / 60fps 台式机上测感觉性能良好
放上pi3测试wifi回传 wifi网速测试 20M ...

直接用山狗,性能有优化,如果作为图像回传,720p足够



作者: flycrshish    时间: 2017-9-26 15:32
(, 下载次数: 161) (, 下载次数: 159)
就是蛋疼想玩看看 "真.VR數傳" 會是什麼感覺
不過速度不知道卡在哪? 可能pi3壓不動60FPS?
gst-launch這命令感覺水很深, 跳下去研究還不知道浮不浮得起 orz


作者: crossa    时间: 2017-9-28 12:59
flycrshish 发表于 2017-9-26 15:32
就是蛋疼想玩看看 "真.VR數傳" 會是什麼感覺
不過速度不知道卡在哪? 可能pi3壓不動60FPS?
gst-launch ...

fps和摄像头驱动支持有关,不是什么摄像头都能60fps下用,我之前就发觉了,而且你把分辨率调到4K的话,几个问题影响FPS
1.编码速度,分辨率高了编码肯定慢,因为像素点数量多了
2.带宽也会上去,而且54M wifi撑不了4K的带宽,里头还要跑个数传
3. USB接口也没那么大传输速率

树莓派不用外接网络设备的情况下,推荐用720p,反应会比较迅速



作者: payne_pan    时间: 2017-10-2 10:10
丢了树莓派 1年多了,落后了
多谢楼主分享,回头参照楼主指引,做一个。





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3