2022-4-4上午更新:
1、仿真计算程序更新。修正了一处小错误,加入了计算最大出口速度和最大射程对应的β角的功能。
2、为了提升投石机精度,或许可以在弹丸固定装置上加一套测速的东西,实时解算以当时初速度抛出的弹道,当弹道满足要求时解锁释放弹丸。
看了@三水合番 的帖子有感,写点东西。这篇文章可能是这个系列的独苗,当然也有可能是十几几十个帖子的序章,至于是哪个那得看后续的发展了。这一系列文章将围绕用投石机验证火箭制导导航控制技术或为各类飞行器提供发射初速度涉及的有关问题展开。
本篇文章的研究目的:对一种相对简单的重力投石机进行建模求解,为其性能优化奠定基础。
建立一个简单的投石机模型如下图:投石机由AB臂(转动惯量I)、AC绳、铰链O、铰链A、铰链B、配重M和弹丸m组成,不考虑AB的形变,不考虑AB或AC可能垂到地面的情况
然后就是列出刚体动力学方程,然后一通化简就捣鼓出一个二阶微分方程组。
这个方程组不太可能有漂亮的解析解,所以用一阶Euler法求解。求解流程为:
1、输入初态各广义坐标及其一阶导数。
2、计算当前各广义坐标二阶导。
3、估算出一个很小的δt后广义坐标及其一阶导数(认为δt内广义坐标二阶导数不变)。
4、判断是否达到释放角度,若没达到重复2-3。
5、若达到释放角度则根据求解结果计算出发射速度。
下面是cpp文件与exe文件。exe文件可以直接输出保存有发射过程中的α和β(定义见演算稿)及其一二阶导数的csv,格式为时间,α的二阶导数,β的二阶导数,α的一阶导数,β的一阶导数,α,β。
放一个我写的程序与XXXXXXXXXXXXXXXXXXXXXXXXXXXX/的对比,误差在5%以下。
[修改于 2年8个月前 - 2022/04/02 19:06:08]
同志们别光看不说话啊,要不来个悬赏?实际制造投石机验证准确性的,时间前三名+随机抽两个奖励1KCB,截止到五四。
从仿真数据可以发现发射时加速度很大,杆子末端可能有成百上千个g,结构设计得用点心。
emmm我发现一个毛病……投石机最终的目的在于投射,而不仅仅是加速,所以我这个程序光把个末速度大小给干出来是不合适的,还应该给出末速度方向然后把射程给解出来。
2022-4-4上午更新:
1、仿真计算程序更新。修正了一处小错误,加入了计算最大出口速度和最大射程对应的β角的功能。
2、为了提升投石机精度,或许可以在弹丸固定装置上加一套测速的东西,实时解算以当时初速度抛出的弹道,当弹道满足要求时解锁释放弹丸。
传感器可以用加速度计,在抛臂末端和投石索上各绑一个,应该可以保证弹丸抛出角度的精准,而且不需要额外的...
或许可以用尾翼稳定弹药,内置高速转子,发射的瞬间让高速转子刹车停下来,从而起到消除自转的作用?即使残留一点自转角动量也不要紧,尾翼应该能很快给消掉。
攒了一口土砲出来,拉出去打了一砲,结果只带了一枚弹药,打到草坪里找不到了没测到有效数据。明儿早上再多带点弹药去个空旷地放两砲听个响。
攒了一口土砲出来,拉出去打了一砲,结果只带了一枚弹药,打到草坪里找不到了没测到有效数据。明儿早上再多...
好像不很管用的样子,一个是实在太简陋,发射的时候容易倒,再一个是弹丸的释放控制做的不好。
还没挂上重物时的样子
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。