2021-11-16 18:58:42 索煒達(dá)電子 828
項(xiàng)目編號(hào):E2267
文件大小:186K
源碼說明:帶中文注釋
開發(fā)環(huán)境:Python
簡要概述:
無人機(jī)力學(xué)仿真工具,主要用于仿真飛行器上的重力及各種力矩對(duì)飛行器控制的影響。
完成剛體的力學(xué)建模。
TODO:
Chinook 重構(gòu),參數(shù)設(shè)置統(tǒng)一
代碼示例
chinook_parameters={
'mass':0.1,
'J':[0.125/1000]*3,
'length':0.2,
'height':0.1,
'init_attitude':[0,math.pi/4,math.pi/4]
}
a = ChinookSimEnv(chinook_parameters)
a.run(30000)
簡單的PID控制效果:
俯仰控制的3D動(dòng)畫效果:
仿真環(huán)境執(zhí)行流程
-仿真環(huán)境執(zhí)行sim_step
遍歷調(diào)用所有控制器的run函數(shù)
遍歷調(diào)用所有仿真對(duì)象的sim_step函數(shù)
計(jì)算合力,計(jì)算合力矩
調(diào)用每個(gè)力的sim_step函數(shù)(默認(rèn)函數(shù)為空,有些力可能需要不斷變化,如空氣阻力等,此時(shí)可以在該力的類中重寫此函數(shù))
更新位置、速度、加速度 角度、角速度、角加速度
-仿真環(huán)境定時(shí)器運(yùn)行(用于在某個(gè)時(shí)刻觸發(fā)擾動(dòng)等)
-調(diào)用仿真環(huán)境的callback,用戶可自己指定回調(diào)函數(shù)
目錄│文件列表:
└ UAV_Sim
│ chinook.py
│ display.py
│ example.gif
│ physics.py
│ pid_control.png
│ rotate.m
│ test_physics.py
└ __pycache__
└ physics.cpython-37.pyc