顶楼里的实验数据为啥会有一个“平台”呢?
这种方案,如果要比较清楚的观察到比如100m,或者1km外的闪光,需要的灯功率大概会是多少呢?
之前也想过用这种办法来测电磁炮的外弹道。电磁炮弹丸上加速度计,GPS啥的估计完全没法用了,对这种频闪测速的需求比火箭还强烈(当然,并没有实际做过)
1.主动发光频闪摄影测量技术
当前论坛里面的探空火箭发射实验较多,但是测试数据往往很稀缺,造成了理论分析上的困境。尤其是火箭飞行过程中的速度、高度数据,测量往往很困难,当前的几种测量方案都不能得到可靠的数据:
(1)采用MENS测量加速度然后积分的方案。算法很复杂,在专业条件下尚且每秒钟偏差0.5 米(导航级惯导位置误差为每小时1海里),此外重力加速度的有效扣除也比较困难。因此,该方案在业余条件下不具备可行性。
(2)基于GPS的方案。由于数据帧率太低(每秒钟20帧以下),对于飞行时间短,速度快速变化的探空火箭也不能获得有效的飞行数据。
(3)基于气压计的方案。除非安装“空速管”,不然只靠气压计,得不到可用的飞行速度数据。
因此,在目前测量技术匮乏的情况下,我认为将主动发光频闪摄影测量技术(这个名字是我自己起的),应用于探空火箭的运动参数测量,应该是一种行之有效的办法。
这个方法的原理上类似于频闪摄影,但是还是有不少的区别。
频闪摄影:使用带有高速同步ttl功能的热靴闪光灯,外加一台单反相机,拍摄频闪照片。问题在于此类闪光灯价格太贵,另外受限于闪光灯功率,不能远距离工作。
主动发光技术的频闪摄影:被测量的物体自己发射闪光信号,相机只负责接受。理论上不受距离影响。不仅可以测量运动参数,而且可以传递数据。最远的测量案例曾应用在人造卫星上,卫星在轨道上运行,然后通过自身携带的LED灯发射闪光,向地面发射莫尔斯电码。地面用相机长曝光,可以观测到卫星的运动轨迹,读取到卫星下传的数据。
2.使用效果
每道闪光划过的距离正比于速度,废话不多说,上照片。
图1:主动频闪摄影技术-自由落体测试。
闪光频率50Hz,占空比50%,因此每道闪光的距离值(cm),就等于速度值(m/s)。根据照片可以直接得到速度、位置变化曲线。位置曲线就不用说了,下面是速度曲线。
图2:自由落体理论值与测量值的曲线
除了起始时间造成的常值误差,剩下的与理论值基本一致。
图3:主动频闪摄影技术-抛体测试。
3.基于STM32的解决方案
测试设备:一块最小系统板,一个LED,一节电池,20块钱搞定。
图4:频闪灯正面。
图4:频闪灯反面。
附录:频闪信号灯STM32代码
#include "main.h"
unsigned int mytime;
void SysTick_Handler(void)
{
mytime ++;
if(mytime>20)
{
mytime = 0;
}
if( (mytime > 0) && (mytime < 10) ) { gpio_setbits(gpiob,gpio_pin_7); } else if( (mytime > 10) && (mytime < 20) ) { gpio_resetbits(gpiob,gpio_pin_7); } } int main(void) { gpio_inittypedef gpio_a; rcc_apb2periphclockcmd(rcc_apb2periph_gpiob, enable); gpio_a.gpio_mode =" GPIO_Mode_Out_PP;" gpio_a.gpio_pin =" GPIO_Pin_7;" gpio_a.gpio_speed =" GPIO_Speed_50MHz;" gpio_init(gpiob, &gpio_a); systick_clksourceconfig(systick_clksource_hclk); systick_config(72000000 1000); while(1){;}; }< pre></ 20) )></ 10) )>
说明:硬件采用STM32F103C8T6 小开发板,LED 灯接在3.3V 和GPIOB-7Pin上,小锂电池供电。程序采用定时器中断,控制LED 灯亮10ms,然后熄灭10ms,不断闪烁。只需将此代码粘贴到 “mian.c” 函数中,然后删除掉 “stm32f10x\_it.c” 文件中的滴答定时器中断服务函数 “void SysTick\_Handler(void)” ,并配置相应的库函数,进行编译即可使用。有关STM32 的教程可以参考网上资料。
顶楼里的实验数据为啥会有一个“平台”呢?
这种方案,如果要比较清楚的观察到比如100m,或者1km外的闪光,需要的灯功率大概会是多少呢?
之前也想过用这种办法来测电磁炮的外弹道。电磁炮弹丸上加速度计,GPS啥的估计完全没法用了,对这种频闪测速的需求比火箭还强烈(当然,并没有实际做过)
顶楼里的实验数据为啥会有一个“平台”呢?这种方案,如果要比较清楚的观察到比如100m,或者1km外的...
第一个问题:“平台”如果指的是标尺的话。确实是需要在发射架旁边放置一排固定距离的LED灯作为测量基准的。
第二个问题:这个和天气、相机的iso有关,需要自己试。
如果你要关注过RoboMaster的决赛,那你应该会得到启发。大疆的子弹是荧光的,自发光的。即使在体育馆最远的地方也可以清晰看到。
第一个问题:“平台”如果指的是标尺的话。确实是需要在发射架旁边放置一排固定距离的LED灯作为测量基准...
哦,第一个问题我指的是大约0.3到0.45s的这一段速度数据,出现了一个“平台”
这个对无人机测速可能有用,火箭发射的时候,自身尾焰的辐射很强,特别是使用含铝燃料的话,可能会造成干扰
这个对无人机测速可能有用,火箭发射的时候,自身尾焰的辐射很强,特别是使用含铝燃料的话,可能会造成干扰
发动机的工作时间只有几秒,在那之后,火箭依靠惯性飞行到最高点,然后下落。
惯性飞行段到下落的部分,没有火焰的干扰,依然能获取不少数据。
我看论坛好多火箭发射,尾焰不是那么明显,主要是烟。
我认为如果LED灯足够亮,或者选择特殊的颜色,应该能提供足够的辨识度。
这个对无人机测速可能有用,火箭发射的时候,自身尾焰的辐射很强,特别是使用含铝燃料的话,可能会造成干扰
发动机的工作时间只有几秒,在那之后,火箭依靠惯性飞行到最高点,然后下落。
惯性飞行段到下落的部分,没有火焰的干扰,依然能获取不少数据。
我看论坛好多火箭发射,尾焰不是那么明显,主要是烟。
我认为如果LED灯足够亮,或者选择特殊的颜色,应该能提供足够的辨识度。
希望论坛能有爱好者,把这个方法实际测试一下。不管是火箭、无人机,还是炮弹、子弹都可以。
假设获得的图像无畸变,要用像素直接算距离,还得知道物体到相机的距离和相机参数。
楼主可以用尺子去标,但是火箭能用什么标呢?
后来重新考虑了一下
根据相机的小孔成像模型,已知焦距、物距CMOS尺寸,就可以根据几何关系,用照片上的像素计算火箭坐标。
也就是一个比例系数,提前用棋盘标定。
原来碰过一点图像的东西,测距用双目相机比较方便,有比较成熟的算法
火箭发射,近似在一个平面内运动,一个相机正好可以测出二维参数。要是这个假设偏离太大的话……干脆买一套...
大家的火箭不都是无控的吗,就算确实是一个平面也得先已知这个平面的参数啊。
200字以内,仅用于支线交流,主线讨论请采用回复功能。