【发布时间】:2015-09-02 06:31:30
【问题描述】:
我正在制造一个自动四轴飞行器:没有无线电发射器-接收器,四轴飞行器按照预先编程的命令自行飞行。
几乎所有四轴飞行器都在油门/偏航/俯仰/滚动上实现 PID,因为这 4 个轴直接在遥控器上。然而,这对于没有控制器的自动化系统来说有点不方便。作为无需用户输入的自动四轴飞行器,沿 x/y/z 轴的速度更受关注,因为:
保持平衡(yaw/pitch/roll=0)并不意味着保持静止,首先,制造过程中会有一些错误,所以它可能仍然有一些加速度。其次,即使没有加速度,它也可以有速度,导致它在太空中漂移。而且由于没有用户输入,它无法自行修复漂移。而且,如果有风,它可能会被吹走,即使它认为它是平衡的。
命令主要在“到达位置(x,y)”或“保持速度x,飞越位置(x,y) 并开始摄像头视频捕捉”中给出。或者。这些命令不能直接翻译成yaw/pitch/roll。
所以基本上我有两个想法:
在偏航/俯仰/滚动/高度上实施 PID,并使用第二个 PID 回路来控制速度。第二个 PID 回路将所需速度和当前速度作为输入,并为第一个回路输出所需的偏航/俯仰/滚动。
直接在速度上实现 PID。 pid 循环将所需速度和当前速度(通过加速度计的加速度积分)作为 4 个电机的输入和输出 PWM 宽度。
有人试过想法2吗?这行得通吗?
【问题讨论】:
标签: pid