【E2267】无人机力学仿真工具

2021-11-16 18:58:42      索炜达电子      823     

项目编号:E2267

文件大小:186K

源码说明:带中文注释

开发环境:Python

简要概述:

无人机力学仿真工具,主要用于仿真飞行器上的重力及各种力矩对飞行器控制的影响。

完成刚体的力学建模。

TODO:

Chinook 重构,参数设置统一

代码示例

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控制效果: 

【E2267】无人机力学仿真工具

俯仰控制的3D动画效果: 

【E2267】无人机力学仿真工具

仿真环境执行流程

-仿真环境执行sim_step

  遍历调用所有控制器的run函数

  遍历调用所有仿真对象的sim_step函数

      计算合力,计算合力矩

       调用每个力的sim_step函数(默认函数为空,有些力可能需要不断变化,如空气阻力等,此时可以在该力的类中重写此函数)

       更新位置、速度、加速度 角度、角速度、角加速度

-仿真环境定时器运行(用于在某个时刻触发扰动等)

-调用仿真环境的callback,用户可自己指定回调函数

目录│文件列表:

 └ UAV_Sim

    │ chinook.py

    │ display.py

    │ example.gif

    │ physics.py

    │ pid_control.png

    │ rotate.m

    │ test_physics.py

    └ __pycache__

       └ physics.cpython-37.pyc

TAG无人机力学仿真工具
  • 4 次
  • 1 分