
FOXTracker:模拟飞行到我的开源模飞行头瞄小记

为往圣继绝学,为万世开太平。
浅谈直驱航模直升机和一架航模直升机的尾直驱改装小记
最近在写文章,试着配置了一下VSCode,把配置放在这里,备忘
继续阅读“Latex Config for VSCode”微小型电动直升机无人机初探
之前在笔记本里写的一个脑洞极大的小说的开头。大约是川总vs蛤蛤的剧情,当时川总还没有当上大统领来着。干脆放blog吧
——————–
1985年的上海,暴雨倾盆,将整个世界只剩下哗啦的声音。一辆黑色的红旗穿过泥泞的道路,溅起无数的水花,停在了某高校一座不起眼的办公楼下。
“首长,必须做决定了,太平洋对岸已经动起来了。他们将以几代总统的声誉为代价,激起万众一心。我们这边也必须要开始了。”
首长微微抬了抬自己的眼睛,站在窗前,看着淹没视线的大雨,锐利的眼神仿佛穿通迷雾,看到了天际线的另一套。他们到底在做什么。
“我是一个唯物主义者,一个严格的共产党员。而你们最近的研究,和现在的这个计划,让我感觉到些许的。。”
“些许的不真实是吗”,门吱哟的一声开了,随后出现的一个高瘦的身影,”是的,当我刚刚开始进行这项研究的时候,我感觉这一切就像亩产万斤一样可笑。可是越到后来我越是心惊,无论是民间涌现的无数样品,还是在那位同志身上所展现的力量,都不是我们所能够想象的”,高瘦的身影顿了顿,”现代文明的傲慢使的我们忽视了太多的东西。我们自以为无所不能,却对自己的认知才刚刚开始。孙子云,不知彼不知己,每战必殆。我们已经陷入了盲目的骄傲中,以为靠那些群星的灰烬就能战胜一切。可是这样微弱的力量又怎样应对那些即将到来的真正的威胁?”
“真正的威胁?”首长转过身来”有新的结果了么?”
“是的,红岸计划第382次实验最新的结果。已经可以确认了,就在我们最近的比邻星上,存在真正意义上的二级文明。我们和他们对比,就像神农时代的农民,为刚刚获得的火源沾沾自喜,殊不知对方已经掌握了机枪和核武器。”高瘦的身影语气越来越沉重。
“中央的意见呢?”
“中央有些领导同志对这个计划感到无法理解,但是邓公已经拍板了。交由执行工作的同志自主决定是否开始项目,中央也深知项目载体所需要承受心理压力和危险性。但中央提供一切必要的人力物力支持”
“新的时代就要来了。苟利国家生死以,岂因福祸避趋之。宗庙社稷,中华民族的未来在此一战”,首长提了提裤腰,清清嗓子,”必须开始了,为了在接下来半个世纪的斗争中取得主动权。我代表调研小组决定,843工程完成调研阶段,向中央汇报。我们开始了。黄天保佑中华”
“祖宗保佑中华”
1985年,当全世界的目光都投向在阿富汗举步维艰的苏联红军的时候,在世界的黑暗角落。新的时代开始了。
Eval[cmd_] := (
If[Length[cmd] > 1,
car[cmd] @@ cdr[cmd]
, cmd]
);
car[lis_] := lis[[1]];
cdr[lis_] := (If[Length[lis] <= 1, {},
lis[[2 ;; Length[lis]]]]);
resetcar[lis_] := Clear[Evaluate[car[lis]]];
lambda[params_, expr_] :=
(
Module
[params, params = List[##];
Eval[expr]] &
);
setfunc[name_, expr_, params_] := (
DownValues[Evaluate[name]] = HoldPattern[
Evaluate[name @@ params]] ->
Eval[expr];
);
define[funclis_, expr_] :=
(
resetcar[funclis];
Module[
{params, body},
setfunc[car[funclis], expr, cdr[funclis]];
];
);
defwithrule[rule_] := (
DownValues[Evaluate[car[rule]]] = HoldPattern[
Evaluate[car[rule] @@ rule[[2]]]
] -> Eval[rule[[3]]];
);
defsyntax[rules_] := (
resetcar[rules];
defwithrule /@ cdr[rules];
);
eval[cmds_] := Eval /@ cmds;
以上包含了lambda算子,宏声明和展开等。
上面是代码,下面是一个例程
eval[
{
{Set, haohao, 2},
{define, {plus, c_, d_}, {Plus, c, d}},
{plus, 3, 2},
{defsyntax,
{prefix,
{prefix,
{a_, plus, b_},
{plus, a, b}}
}
},
{Integrate, x^2, {x, 0, haohao}},
{prefix, 2, plus, 10},
{Plot, Sin[x/2], {x, 1, 100} },
{Sin, \[Pi]}
}
]
明天再写说明好了
其实,mathematica所用的wolfram语言的本质就是LISP了啦。
使用OpenGL + PhysX写了一个简单的无人机模拟器,现在仅仅是简单的版本,内置了一个高度PID控制器(用Mathematica设计的)和对于姿态率的简单控制。在考虑做一些比较前沿的自动控制方面的工作上去。
性能应该很不错,debug版本都能达到每秒$$10^4$$的模拟速度,够用了。
https://github.com/xuhao1/dSim
还有很多漏洞和要改的地方,不过也勉强堪用了。
下载包在
http://wsn.xuhao1.me/dSim.zip
未来开发方向是和ROS的底层融合,加上我们的RTLinux系统,和Mathematica的control system融合来设计飞控程序
使用方法见注释。。。这是我第一个好好写注释的项目。
下一步是进行无人机通用配置文件的设计和开发。
BTW,项目还需要一个好名字
摘要
The utilization of the 搜查机 would reach maximization if we can establish a rational 搜查方案。我们的思路是将这个问题分为四个步骤,1、建立飞机坠毁地点的概率模型。2、建立搜索模型。3、用计算机模拟规划路线进行飞行器搜素。4.将飞行器搜索的反馈结果作为依据,更新我们的概率模型
继续阅读“数学建模”