前进发表回复 17天17时前
这一句是啥呀
虎哥发表评论 18天0时前
未能复现,考虑其它原因。目前1.5.11已经修复了死机的问题。
KCWZH1
某倒吊的亚雷斯塔发表回复 18天2时前
emm……至于组合导航,这个我也正在学,所以我就只说下我的程序里的思路吧。就是用惯性导航作为预测,卫星导航和气压定高作为修正,也就是说只需要惯导系统提供速度增量,积分,当卫星数据和气压数据更新后会有标志位,检测到更新则直接对速度和位置的每一个分量进行修正。修正系数基本是估的,也不可变,相当于kalman滤波那里给K蒙了个不可变的对角阵。只能说看上去还是勉强可以用的,但是以后肯定要搞正经的kalma
某倒吊的亚雷斯塔发表回复 18天3时前
接下来就是位置了,由于之前的近似,完全不用考虑地球的形状等等,非常简单,再加上速度不会突变,用简单的梯形积分即可。(E1)要注意的是由于选用的n系是东北天坐标系,这里默认的三轴分别是东北天方向上相对初始点的位移。
某倒吊的亚雷斯塔发表回复 18天3时前
接下来是速度更新,需要加速度传感器和角速度传感器的数据。由于之前的近似,可以简化掉很多东西,比如位置对科里奥利力的影响等等……甚至需要考虑的只有重力。同样,需要在第m-1次更新到第m次采样N次角速度和加速度数据,更新周期为T,t从上一次更新开始计时。由于实际上测得的不是真实加速度,几乎所有文献都用的是比力为名,用f代指,这里就不搞特殊了。有以下几条:(D1) (D2) (D3) (D4)则,速
某倒吊的亚雷斯塔发表回复 18天5时前
接下来就是把存储了姿态信息的四元数转化为矩阵和欧拉角了。由于四元数直接转欧拉角较为麻烦,一般都是把四元数先转为姿态矩阵,再把它转为欧拉角。四元数转姿态矩阵的公式为:(C1)记:(C2)为了书写简便,接下来使用的不是数学上的反三角函数,而是c语言<math.h>库中的函数,主要使用asin()和atan2(),前者即反正弦,后者有两个参数,直接能给出以这两个参数为直角坐标系的xy坐标的点对应的极坐标
某倒吊的亚雷斯塔发表回复 18天6时前
接下来是四元数的更新。这里必须介绍各种坐标系,但是嘛……毕竟简化了,所以就说两个,b代指固连在机体上的坐标系,n代指导航使用的参考坐标系,一般选取方向固定东北天的坐标系。然后这里近似认为n系是不运动的,因为之前说了速度不太快,位移不太大的假设,探空火箭又是向上发射的水平位移就更小了。(就算考虑了也顶不住低成本MEMS的爆炸一样的误差)因此,我们可以按照上述的顺序继续进行,更新四元数,从其能输出四元
某倒吊的亚雷斯塔发表回复 18天6时前
首先是上一次更新到这一次更新的旋转矢量。这里存在圆锥误差,可以理解为有限大角增量不是矢量导致的转动不可交换误差。使用N子样误差补偿,即在第m-1次更新到第m次更新种,陀螺仪等时间读取了N个值。这里一般不使用角速度,而是角增量,因为光纤陀螺等直接输出的是角增量,而MEMS这些均值平滑后输出角增量和角速度差别不大。设更新周期是T,t从上一次更新开始计时,则理论上是:(A1)实际上不可能做到连续的积分,
虎哥发表回复 18天8时前
买了一本集大成的书。为了降低失真,也是做到了相当离谱的程度。
某倒吊的亚雷斯塔发表回复 18天8时前
定义说完了,接下来直接开始算法的流程。这里为了编号的方便用大写英文字母表示顺序。该算法基于以下理想条件:传感器无误差,速度,位移不太大(不用考虑惯性离心力与科里奥利力,也不用考虑地球的形状)一切之前要读取加速度(比力)与角速度数据,而且实际情况要考虑数据融合。不过部分我还在学……这里使用旋转矢量法更新姿态,兼顾精度与计算速度,这也是工程上最常见的结算方法。A求解从上次更新到现在的旋转矢量B更新四元
KCWZH1发表评论 18天9时前
嗯,1.5.10 改进似乎不太明显,甚至默认201、301这样的点数也有bug了,例如,通过RF线连接两端口,端口1 射频信号源2112.4MHz 关调制输出-20.5dBm,端口2频谱,中心2112.4MHz,SPAN 1G时,默认点数甚至3001了,还是捕捉不到信号,而SPAN 100M时,点数401及以下(301、201、101),基本捕捉不到信号了,501以上才能显示
虎哥
某倒吊的亚雷斯塔发表回复 18天10时前
现在写一下捷联惯导的算法。再次强调是简化后的,且只给出结论。这些均来自《捷联惯导算法与组合导航原理》。先从定义开始。首先是欧拉角。欧拉角是一种直观地描述旋转的方式。欧拉角的定义有很多种,这里只介绍两种。第一种是工程上最常用的,几乎所有开源工程,惯导文献都使用这种定义的欧拉角。JY901b也是如此。定义方式如下:初始时机体xyz轴对准东北天先绕机体此时的z轴旋转,也称YAW,Y,航向角,角度范围-1
三水合番发表回复 18天14时前
现在再看,这事挺滑稽的:一方面在办“国际低空经济展”,另一方面,一个多月后就“史上最严”地严打无人机。祂们究竟是想要无人机呢?还是不想要无人机呢?用马克思主义的理论讲,这就叫做“生产关系限制了生产力的发展”。结果有两种:第一种是,在新生产力带来的压力下,旧的生产关系逐渐修正,或者突然被颠覆,最终变成新的生产关系,变得能适应生产力。第二种是,旧的生产关系顶住了压力,全面压制了生产力。最终由于生产力无
虎哥发表回复 18天23时前
感谢指正,此问题已在V1.5.10版本固件中修复,不过1.5.10又有新的问题,频谱功能设为偶数点时频繁死机。
KCWZH1
绛蓝铜氨发表回复 19天2时前
? 文中所说的是1000ml的螺口玻璃瓶,至于你所说的造假嫌疑就比较猎奇了。请问我如果造假的话,ap又是哪里来的呢?
星舟航天工程局
电气霜降发表回复 19天9时前
原来是消防啊,不知道的还以为是ATGM呢
咸鱼喝猹_SaltoFish发表回复 19天9时前
反正还是关系户在搞,固定翼低空现在对民间管的太严了
咸鱼喝猹_SaltoFish发表评论 19天9时前
我记得美帝那里很多溶剂和浓硫酸也是不让买的,你得给供应商申请或者搞平替
在下松田诚一
少年强国发表回复 19天10时前
1300N,祝你成功(一打开科创网就看到了这篇文章)
小猫多鱼发表回复 19天12时前
感觉咋有点像反坦克
某倒吊的亚雷斯塔发表回复 20天2时前
接下来是最重要的imu。emm……其实100多的jy901b甚至更贵到两三百的imu和十块不到的mpu6050没有精度上的区别,它们的区别主要还是内置算法。我对imu的误差这块还不是很了解,还在学习,至少下一代我不打算更换imu,再加上论坛里主要也是使用mpu6xxx或mpu9xxx系列的,所以我决定略去这块。但是,imu内置的算法是很有必要讲的。从我查到的来看,很多市面上的imu、arduino
某倒吊的亚雷斯塔发表回复 20天2时前
emm……我想也没啥了……总之就这些,毕竟这不是教程向的……希望对大家有帮助。我们会继续搞下一代飞控的,希望下一代飞控能克服这一代飞控的问题。如果没有意外的话……此文完结(总之还是讲下算法等等吧,毕竟科创上好像没找到,这方面还是有些空白的。但是在此之前我想先讨论下探空火箭飞控的特点,主控和传感器选择等等杂项。在开始前要说明的是,由于我也没什么经验,不像可以从书上抄的算法,这些都只是我个人的看法,我
某倒吊的亚雷斯塔发表回复 20天3时前
void controller_check_event(void) { switch(state) { case WAIT_FOR_MISSION: if(NRF24L01P_receive() == 0) { if(rx_packet[0] == 0xFF) {
某倒吊的亚雷斯塔发表回复 20天3时前
void controller_data_integrated(void) { if(ins_e_refreshed == 1) { //姿态直接用惯性导航数据 memcpy(ind.eular_angle, ins.eular_angle, 12); ins_e_refreshed = 0; } if(ins_v_r
某倒吊的亚雷斯塔发表回复 20天3时前
void controller_init(void) { inss_start_read(); gps_start_read(); NRF24L01P_init(); LED_OFF(); memset(ind.velocity, 0, 12); memset(ind.position, 0, 12); memset(esd.dh, 0, 8
某倒吊的亚雷斯塔发表回复 20天3时前
/*接收 0xFF ...开始任务 */ /*发送状态 0xFF 0x00 ...系统启动 0xFF 0x01 ...自检通过 0xFF 0x02 ...任务开始 0xFF 0x03 ...发射 0xFF 0x04 ...开伞 0xFF 0x05 ...着陆 */ /*发送数据 0x00 ...欧拉角 0x01 ...加速度
某倒吊的亚雷斯塔发表回复 20天3时前
void sculm_err_count(float dv_sculm[3], float dv_m[SAMPLE_COUNT][3], float dtheta[SAMPLE_COUNT][3], ...) { va_list valist; va_start(valist, dtheta); float result_buff[5][3] = {0}; for(uin
某倒吊的亚雷斯塔发表回复 20天3时前
然后现在发几段我认为有移植意义的代码。#include "main.h" #include <math.h> #include <stdarg.h> #include <stdlib.h> #include <string.h> float* vector_add(float result[3], int num, ...) { //多个向量加 va_list valist; va_sta
某倒吊的亚雷斯塔发表文章 20天3时前
开源一块飞控SS0
这块飞控是辰星引力的第一块飞控,也是我开发过的第一块飞控,由于两天前的发射出现了意外(具体报告见辰星梦人随后发的文),未收集到数据,再加上现在看它也有相当大的局限性(后续会讲明),所以我认为没有写成教程的必要(正在开发第二代飞控,如果顺利以后会做成教程)。但是我看了开源在论坛的飞控,我觉得本飞控在导航算法、开伞判断、和整体的工作流程上还是有一些优势的,所以我把它开源了,并讲解我认为有意义的部分。这
沃尔玛购物袋发表评论 20天9时前
吃个陶陶~
z不知道z
电气霜降发表评论 20天14时前
呱,好劲口牙!
MARK_GYC
FalconHSH发表回复 20天15时前
LZ,你的方式是热对流吧?其实还可以在助推器处加一对小储罐或者也可以看一下千亿航天的回收方式(反正我没看懂)其实还是要看哪个部位接触大气层,我感觉先平躺后鲤鱼打挺是个好办法,接触面积大减速快,方便贴隔热瓦贴一面就行
MARK_GYC发表回复 20天15时前
人类为了追求极致的快感,为了刺激大脑中多巴胺和内啡肽猛烈释放所带来的兴奋感和激情感,因此痴迷于高能、高压、高温、高速的剧烈反应(包括物理和化学,例子:高爆炸药、战争炸弹、铝热剂、火箭推进剂、核武器、枪炮、火箭发射、天体撞击、超新星爆发、类星体、中子星、黑洞、伽马射线暴、电磁炮、EMP、高能激光、微波武器、高超音速动能侵彻实验),这和冒着极大生命危险进行的极限运动(如蹦极、高空跳伞、深海无护具潜水、
Tangshm