肥鲨高清眼镜用后感

Categories:FPV August 27, 2023

Categories:FPV August 27, 2023

补充一个肥鲨高清眼镜的体验。它和蜗牛版本应该是相同的。
首先拿在手里会感觉非常精致小巧对比HDZERO来说,肥鲨的做工还是可以的,看起来外形也很像一个鲨鱼头。只可惜有两个我看来比较严重的缺点:1.和早期的模拟肥鲨眼镜一样,面罩很窄,不能适合所有人的脸庞,只能通过更换海绵垫来解决,但效果不会特别好,因为距离也变了。2.机身前后距离太长,导致重心靠外,等你装上天线会有更严重的下坠,其实我认为蜗牛可以和DJI合作,用他们的一体版就很完美,我想多了~

我最期待的就是之前在HDZERO眼镜加VRX无法实现的1080P模式,等实际使用时才发现结果大失所望。也有比较明显的掉帧,眼睛感到强烈不适。。抱歉,我的是这样。
然后就是相比VRX的HDMI带来的延迟,它的延迟会更小一点。可能正是这个延迟让其更流畅,无论我尝试何种码率搭配,720P也会有比VRX更多的卡顿。。

再见。蜗牛眼镜。

我仍然相信这是个有潜力的系统,请优化一下眼镜,外形和延迟处理。哪怕是增加一点延迟~ 延迟的高低不是问题,问题在于卡顿。

先这样。

FPV

Categories:FPV May 31, 2023

Categories:FPV May 31, 2023

随着数字图传的性能越来越好,FPV的入门也变得更加容易起来。早期模拟的时代,设备性能都有限,一般眼镜的分辨率也低得可怜,还有各种“盒子眼镜”。即便是后期RF出现,很多人也未必能真的适应模拟的画质,从而过早放弃。糟糕的画面很大程度上影响空间的判断,穿越障碍物也非常困难。除了大量练习磨合装备外,我觉得在设备的选择上也是有一点点的技巧的,比如CMOS摄像头虽然像素更清晰一些,但是相比过时的CCD会更多地被光干扰(同Mr Steele)。而模拟本来就不见得是一定要看清楚才能飞~想象一下蝙蝠是怎么在黑夜里飞行的~

每个人都喜欢尝鲜,但变来变去,轴距也就那几个尺寸,电机也一样。如果想早日玩好一种机型,就要适当专一,如非必要不变更任何装备和配件。即便是练习的机器,也尽可能使用同一架,第二架可作为备用机,在主机没办法飞时不至于提前回家。

尽可能地使用高性能的产品。而高性能也不总是高价格,比如ELRS遥控系统,即好用又便宜。高刷对飞行起到很大作用,setpoint的高刷新率和稳定的无线链路,如果你是BF飞控建议完全关闭它的自动插值。这里我还是保守地使用成熟的opentx搭配“众矢之的”Frsky遥控器:D减少不必要的jitter等等。说到精度,RATE值肯定不是高了就“牛逼”,有得有失,高RATE低精度,低RATE高精度,自己在每个方面都要做到取舍,选择自己最需要的那个。每一方面都提高一点加起来就很多,你的飞机也会更好飞。这让人想起来整机减重,每个配件都尽可能选用最轻的,整机就会很轻。

要玩好就要完全投入,远离哗众取宠,告别设备测试员。做到这几点,相信会很有帮助。通往罗马的路有很多,或许你有更好的见解~

Ardupilot Copter 4.1.5 firmware for BetaflightF4 controller

Categories:FPV August 8, 2022

Visit here for the latest: https://github.com/hulandy/hulandy.github.io/releases

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

Updated on 2022.08.13

Today I've compiled another 4.1.5 copter firmware for this board. It contains 6 PWM output, PA0 pin (CAM or TM pin depends on varieties) is for the PWM5, LED pin is the PWM6, thus adding a super low cost sonar on it to incorporate with optic flow is possible now. The other functionality maintains the same. If you attach a MS5611 module on it, then you don't need to do anything in order to make it working. In theory, you can use a different barometer like BMP280 then you set it as an external module (In this case, set BARO_PROBE_EXT to 2, after reboot you'll be able to check the "press_abs" and "press_temp" in Status).

My setup : MS5611 module, GL9306 optic flow, GY-US42v2 Sonar works in PWM mode, 5883L compass. It works great~ Test flight footage and the firmware below :
Testflight

Firmware

=====================================================================================
I just compiled two firmware for the old target betaflightf4 controller (Initially created by BorisB and FpvModel), I believe that iFlight SucceX-E and LDARC-KKT30D are both using the same target. There has no Baro on the board.

One of the firmware is for external Baro -BMP280 bff428_with_bl.zip and another is for MS56XX bff456_with_bl.zip.

There is also a slightly different between these two firmware, that is MS56XX one has PA0 pin (TM or Cam control) for PWM 5 but hopefully it will work.

Common function: The default USART3 is I2C, you can set BRD_ALT_CONFIG=1 to use it as a normal USART (most unlikely, somehow if you don’t attach a baro on it, “speed” goes crazy, I’m an AP noob, tell me if you know what is going on in this case). By default, B08 is the RCin, on LDARC KK30D is PPM pin.

I haven't flight it yet, but it supposed to be fine. Just for test purposes only.

Use iNav configurator to flash it, newer Betaflight configurator doesn't work.
Since STM32 use rom for bootloader so you won't brick it.

编译Ardupilot会遇到的坑

Categories:FPV August 5, 2022

使用WINDOWS11,WSL2 - ubuntu22.04进行编译。

需要安装Virtual Machine Platform和Windows Subsystem for Linux两个模块。当然还要打开bios的cpu虚拟化。

编译需要在非root下执行,所以建立新的用户 adduser 然后再赋予sudo组: usermod -a -G 可能我的ubuntu安装步骤不完整,理论上应该提示创建不需要手动。

使用git克隆项目。

编译环境按手册搭建好之后默认在master分支下,趁机编译bootloader(其它的版本比如Copter4.1.5编译会出错)如果你已经切换至其它tag那么需要回来编译bootloader: git branch, git checkout master

更新submodule: git submodule update --init --recursive --force
有时候需要git submodule update --remote --merge
开始编译:
./waf distclean
./waf configure --board yourboard --bootloader
./waf clean
./waf bootloader

使用自动配置环境有时下载C编译器会失败,配置waf时提示没有编译器,重新执行自动配置并不能识别这个错误,需手动重新下载。

复制并改名Ap_bootloader.bin至Tools/bootloader 为 yourboard_bl.bin
切换至目标tag, 如:

git checkout tags/Copter-4.1.5

git submodule update --init --recursive

./waf distclean
./waf configure --board yourboard
./waf copter

如遇错误可能是网络的问题,需要确认你的文件完整,更新也没有报错。

如何用F4飞控玩ardupilot固件

Categories:FPV July 31, 2022

一直在飞5寸穿越机,也较浅层面地体验了固定翼,在一套5块钱的7寸桨的驱动下(滑稽),终于决定组个所谓的“长航时”7寸机。最初目的非常简单,就是能自动回家,用来测试我的接收机的性能。

omnibus F4不是专门的Ardupilot硬件,但代码是原汁原味的。相信很多人都已经体验过了。记录一下折腾的过程,算是方便自己和他人~ 由于只是粗略接触,细节会缓慢补充。大多设置和解释都以官方文档为参考。如果你不想看我的山寨文,可以直接参考官方文档或CUAV的中文文档:https://doc.cuav.net/tutorial/copter/

做了简单的研究,加上之前的一点印象,了解如下,可能有错误和偏见(本文涉及内容全部基于多旋翼Copter系列,因为Ardupilot是多才多艺的控制系统还可用来控制其它载具如固定翼、车、船等):
Ardupilot和PX4项目的选择和区别:前者似乎有着更好的飞行性能,操作系统为高效的实时系统(RTOS)--ChibiOS,算法从简易惯性导航inav到目前最新的扩展卡尔曼滤波3代的过度,有着非常成熟的飞行性能,每一版稳定版的发布都经历了飞行性能验证。PX4,前者的孪生兄弟,基于BSD创作协议,企业完全可以利用其代码开发自己的产品且不需要向公众开源。故其主要面向开发者和学习者。据说,其代码会在短短几天内更新发布版本,在Ardupilot用户看来,可能没有时间经历过足够多的飞行验证。简单说就是,你要是用来飞的就选Ardupilot,你要是用来学习和创作,就选PX4。

地面站的选择,选全功能的MissionPlanner(以下简称MP),而Apm Planner更像是一个轻量化的多平台版本。

然后来到Ardupilot的copter固件版本选择,最新版是4.2.2,固件下载网址:firmware.ardupilot.org 而由于我用的飞控是飞蝶F4,STM32 F405系列由于只有1M的ROM(最低要求),功能受限,建议的固件是4.1的最后一个版本,我个人测试4.2版本似乎去掉了对光流的支持,所以就让我们暂时留在4.1.5,Copter4.1的最后一个版本,固定翼是4.1.6。 而如果你还没有或打算买新的飞控,则可以选择更高规格的飞控。或者你不想要太多额外功能,也可以用最新版本固件(待核实)。注意,你的飞控最好在固件下载列表里。(更新:最新版固件目前也没有发现什么问题,而且加入了msp_display)

在飞碟F4上刷固件很顺利,因为它的目标明确-OMNIBUS F4相同固件(如果你的飞控不在这个固件下载列表里就只能自己编译了),设置和参考都按它(Omnibus F4)来就行。需要特别设置的也就是电流电压计的参数,串口的搭配参数(是否保留I2C端口或改为普通UART端口)。我见过论坛上的教程是用STM32的专用程序来刷,官方也有相应介绍。但是太麻烦了,懒人还是用最方便可靠的办法。首先下载xx_BL格式的固件(固件排序并没有严格按字母顺序,按ctrl+F查找下),(apj是MP地面站可以识别的格式,第一次刷AP固件需要带有BOOTLOADER的inav地面站可惜识别的hex格式)打开inav地面站的固件更新(BF地面站不行,大概修改了验证逻辑~)和刷BF本地固件一样,加载arducopter_with_bl.hex 开刷就好了。最后断开连接重插一次,这次就可以用MP地面站连接了。
第一件事儿你想做的应该是熟悉下MP的界面,它的菜单栏有六个项目,DATA,PLAN,SETUP,CONFIG,SIMULATION,HELP。我们要做设置的地方全部在SETUP和CONFIG这两项。接下来建议首先打开BLHELI PASSTHROUGH,这样才能连接电调的调参软件。点CONFIG菜单,再点开完整参数树FullParameterTree,飞控的所有参数应该都在这里了。最右侧菜单有刷新和保存参数等按钮,在搜索栏输入“ SERVO_BLH_AUTO” ,在出现的窗口把数值改成1,然后右侧写入参数。如果让它立刻生效需要重新连接一下飞控。这里的参数最好养成定时备份的习惯。

现在配置一下各个外设的端口及其参数,让它们先被识别,比如遥控接收机、GPS和罗盘,如果你有其它传感器也一并设置完成,就可以进行进一步的设置了。官方文档有针对OMNIBUSF4的端口说明https://ardupilot.org/copter/docs/common-omnibusf4pro.html,我使用SBUS接收机,先焊接到PPM-(原版标注的rcin)针脚上,飞碟f4无需短接跳线实际上我也没看见有,原版上需要短接ppm端。原先的sbus端和板子上uart6是直接连通的,在固件的原始参数里UART6(AP对应Serial3)已经被配置为反相器关闭,所以你可以用它连接GPS信号,然后修改Serial3的协议为5(比如GPS,protocol 改成5),这时没有意外GPS就被识别了;GPS带的罗盘连接板子上的Uart3(默认配置为I2C),罗盘也工作了。如果你是CRSF接收机可以连接到uart1,对应的AP固件配置也刚好是Serial1,配置协议protocol 23,就应该工作了。按文档BRD_ALT_CONFIG还可以进行其它特殊端口配置,开启额外的uart4等等.

外设全部工作后,点击SETUP选择机架类型,四旋翼,X4。然后进行传感器的校准,包括陀螺6面校准和简易找平校准。再依次向下走电调校准(我没有使用ESC_CALIBRATION参数),接收机通道校准。

电压电流计参数:BATT_VOLT_PIN 12

BATT_CURR_PIN 11

BATT_VOLT_MULT 11.0

BATT_AMP_PERVLT 38.0

设置飞行模式,如果常规遥控器的两位三位拨杆不够用,还可以用参数树进行其它通道的飞行模式增加。在对应的RC通道数内设置功能。

然后是Failsafe验证,按官方文档关控,油门值没有变化。但DATA页面的OSD已经显示触发了接收机失控保护。设置油门失控检测PWM值比你的遥控器油门值少10左右。

确定参数树里配置飞行器为X型四轴模式(Frame项目,class和type参数1)。一旦设置好上面的参数,Initial Parameter Setup就会出现,这是一个向导。接电池进行电机序号和方向校准,如果有反转可以连接BLHELI地面站进行更改。顺便检查发现电压电流检测正常。这时就可以走向导,进行第一次试飞前的最后自动参数配置。

现在可以修改OSD的显示内容和位置。

可以在起飞检查里去掉不需要的约束,比如不用等gps锁定解锁,方法是反向的,也就是需要去掉all,只开启几个你需要的硬件和参数检查。

参考DATA屏幕最后验证各个开关的功能,没有问题的话,开始第一次试飞吧。

如果是穿越机,pid一般过高,需要拉到低一半的位置。接下来的进阶调试就需要一点耐心了。改天再写。