基于区块链的毕业设计Quadcopter Control – 四旋翼机控制

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Quadcopter Control – 四旋翼机控制 是一篇很好的国外资料

Quadcopter Control

Testing out different control laws for quadcopter control, currently have the following features:

  • infinite horizon discrete linear quadratic regulator
  • infinite horizon discrete linear quadratic regulator with integral action
  • PD controller
  • MPC with linear quadratic programming (yaw authority basically nonexistent, needs tuning)
  • minimum jerk trajectory generator
  • EKF subscribed to rotorS sensors

Using rotorS from ETH-Zurich as the simulation environment which can be accessed here: https://github.com/ethz-asl/rotors_simulator.

Not really sure how to get catkin_make working with the catkin build from rotors_simulator, so the control code is separated.

NOTE: The infinite horizon discrete LQR methods are linearized about a single equilibrium point, so large yaw angles will cause instability due to small angle assumptions causing “unmodeled dynamics” to arise. LQR methods will probably need a camera gimbal deal with the yaw pointing.

Steps to Run Simulation

Open up waypoint_generation_library.py and check whether the waypoints hardcoded in are what you want (eventually this will be part of a launch or YAML file).

Launch the simulation environment (wherever you keep rotorS)

  • $ roslaunch rotors_gazebo mav.launch mav_name:=hummingbird world_name:=basic

NOTE: The following launch files include the EKF.

Infinite Horizon DLQR

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_inf_lqr.launch

Infinite Horizon DLQR With Integral Action

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_inf_lqr_with_integral.launch

PD Control

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_pd_control.launch

MPC

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_mpc.launch

Infinite Horizon Discrete LQR Performance

Sluggish yaw response, but reasonably quick position convergence. Can probably use more time for tuning gains to get rid of the overshoot and get more of a critically damped response. The plot is with live data with a one second interval represented by symbols (not sure why two of each appear in the legends).

Quadcopter Control - 四旋翼机控制

PD Control Performance

Roll/Pitch PD gains based off assumption that the quadcopter can be approximated as a second-order system. Small yaw torque authority results in the addition of a multiplier for the yaw PD gains. Position control gains are hand-tuned. Roll/Pitch damping ratio is overdamped while yaw is critically damped.

Quadcopter Control - 四旋翼机控制

MPC – Quadratic Program

Linear quadratic program with gains from the infinite horizon discrete LQR controller. XYZ-position control is available but the yaw control needs a lot of work. It is very sensitive to the MPC horizon, high computation speed is a must when using the MPC.

Optimal Minimum Jerk Trajectory

To get intermediate velocity and acceleration targets between the desired waypoints, a pseudo-inverse solution gets computed. Afterwards, a minimum jerk trajectory between each desired waypoint is generated.

Quadcopter Control - 四旋翼机控制

Quadcopter Control - 四旋翼机控制


四旋翼机控制

测试四旋翼机控制的不同控制律,目前有以下特点:

  • 无限时域离散线性二次调节器,需要调整)
  • 最小冲动轨迹发生器小艇发射mav_name:=hummingbird world_name:=basic
  • /Quadcopter Control(master)$source devel/安装程序.bash
  • /Quadcopter Control(master)$roslaunch控制仿真_启动lqr
  • /Quadcopter Control(master)$source devel/安装程序.bash
  • /Quadcopter Control(master)$roslaunch控制仿真_积分发射

使用苏黎世ETH的转子作为仿真环境,可以在这里访问:https://github.com/ethz-asl/rotors_模拟器。

不太清楚如何让catkin U make与rotors_simulator的catkin构建一起工作,因此控制代码被分离。

注:无限时域离散LQR方法是围绕单个平衡点线性化的,因此大偏航角会由于小角度假设而导致不稳定,从而产生“未建模动力学”。LQR方法可能需要一个摄像机框架来处理偏航指向。

运行仿真的步骤

打开航路点生成_库.py并检查硬编码的航路点是否是您想要的(最终这将成为发射或YAML文件的一部分)。

启动模拟环境(无论您将转子放在何处)

  • /Quadcopter Control(master)$source devel/安装程序.bash

注意:以下启动文件包括EKF。

无限时域DLQR

  • /Quadcopter Control(master)$roslaunch控制仿真_控制发射
  • /Quadcopter控件(主)$source devel/安装程序.bash

具有积分作用的无限时域DLQR

  • /Quadcopter Control(master)$roslaunch控制仿真_mpc.启动在
  • /Quadcopter-Control (master) $ roslaunch control simulation_inf_lqr_with_integral.launch

局部放电控制

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_pd_control.launch

MPC

  • /Quadcopter-Control (master) $ source devel/setup.bash
  • /Quadcopter-Control (master) $ roslaunch control simulation_mpc.launch

无限时域离散LQR性能

偏航响应缓慢,但位置收敛相当快。可能需要更多的时间来调整增益,以消除超调并获得更多的临界阻尼响应。图中有实时数据,间隔为1秒,用符号表示(不确定为什么图例中会出现两个)。

Quadcopter Control - 四旋翼机控制

局部放电控制性能MPC-二次规划

Quadcopter Control - 四旋翼机控制

基于四旋翼机可以近似为二阶系统的假设的横滚/俯仰PD增益。较小的偏航力矩授权会导致偏航PD增益增加一个乘数。位置控制增益是手动调节的。横摇/纵摇阻尼比过阻尼,而偏航阻尼严重。具有无穷时域离散LQR控制器增益的线性二次规划。XYZ位置控制可用,但偏航控制需要大量工作。它对MPC视界非常敏感,使用MPC时必须有较高的计算速度。

最优最小冲动轨迹

为了获得所需航路点之间的中间速度和加速度目标,需要计算伪逆解。然后,在每个期望的航路点之间生成一个最小的颠簸轨迹。

Optimal Minimum Jerk Trajectory

Quadcopter Control - 四旋翼机控制

<Quadcopter Control>

Quadcopter Control - 四旋翼机控制

部分转自网络,侵权联系删除区块链源码网

www.interchains.cc

https://www.interchains.cc/16551.html

区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Quadcopter Control – 四旋翼机控制

提供最优质的资源集合

立即查看 了解详情