问题标签 [control-theory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 使用 DIDO 为遵循轨迹的系统找到时间最优解
我在 MATLAB 中使用 DIDO,并且正在试验三重积分系统。我设法为稳定(独立于时间)的控制目标找到了一个时间最优的解决方案。我可以对时间相关的控制目标执行相同的操作吗?
matlab - 状态空间系统给出不同的波特图然后传递函数矩阵
我有一个带有矩阵 A、B、C 和 D 的状态空间系统。
我可以创建一个状态空间系统,sys1 = ss(A,B,C,D)
或者计算传递函数矩阵,sys2 = C*inv(z*I - A)*B + D
但是,当我绘制两个系统的波特图时,它们是不同的,但它们应该是相同的。
这里出了什么问题?有人有线索吗?我知道 btw 生成的 bodeplotsys1
是正确的。
系统可以在这里下载:https ://dl.dropboxusercontent.com/u/20782274/system.mat
编辑:我犯了一个小错误,传递函数矩阵是sys2 = C*inv(z*I - A)*B + D
,而不是sys2 = C*inv(z*I - A)*B - D
我之前写的。问题仍然存在。
编辑2:我注意到当我计算分母时,它是正确的。
java - 树莓派四轴飞行器高速颠簸
我正在尝试构建一个基于树莓派的四轴飞行器。到目前为止,我已经成功地连接了所有硬件,并且我编写了一个在低油门时相当稳定的 PID 控制器。问题是在更高的油门下,四轴飞行器开始颠簸和抽搐。我什至还没能把它弄好,我所有的测试都是在测试台上完成的。这是我的代码有问题,还是电机坏了?非常感谢任何建议。
到目前为止,这是我的代码:
QuadServer.java:
传感器.java:
android - 用 C++ 实现的控制理论
我正在 Windows 8.1 上使用 Java-Eclipse Luna 进行 Android 编程,此外,我正在使用本机环境 (C++)。作为我项目的下一步,我必须通过在 Android 中构建应用程序来控制移动机器人。
我的问题是,是否有任何已经在 C++ 中实现的控制理论库,我只是在我的 C++ 代码中导入和使用?我需要PID,LQR,LQG ...等。
stability - 什么是不稳定的物理系统的例子?
我在确定一个系统时遇到了一些问题,即它的某些物理特性值是稳定的,但对于其他物理特性值是不稳定的。
即使是一个基本的例子也会有很大帮助,维度 2 完全没问题。
我没有问题弄清楚数学上稳健的稳定性意味着什么,但我找不到任何物理例子。
实际上,我正在寻找的更可能是一个具有有限稳健稳定性裕度的系统。外部参考也很好,在此先感谢。
matlab - MATLAB minreal 用于稳定控制计划
拥有称重矩阵G
并Rin
使用lqry
我收到以下错误:
如果我想minreal
用于稳定计划,我应该如何修改G
和Rin
?
haskell - 设计混合系统离散侧的功能方法
我正在为 Haskell 中的混合系统开发控制器。
FRP 库(现在我正在使用netwire,但有几个很好的库和许多关于未来库的有趣研究)为问题的连续时间方面提供了一个很好的解决方案。用信号名称、尺寸、首选单位等对它们进行扩充,可以让您的系统具有模块化、自我描述性,并且有一条直截了当的途径来确保正确性。
我正在寻找为离散时间方面提供类似属性的信息、民间传说或论文。从某种意义上说,问题要容易得多,状态机经过充分研究且简单。在其他意义上它更困难,我将简要解释如何。
正确性显然是最重要的,幸运的是它也很简单。
自我描述更成问题。您希望控制器不仅处于正确状态,而且能够告诉您它处于什么状态。以及它是如何到达那里的。以及它下一步可能去哪里。所以你可以给所有东西加上名字,它可以工作,但它与模块化有些冲突。您还希望能够从更简单的行为构建复杂的离散时间行为。但是当你问系统它处于什么状态时,一般来说,高层次的答案比低层次的答案更有趣(或者至少一样有趣)。你如何干净地得到这个?我尝试了一些幼稚的方法,并以几种不同的方式将自己包裹在意大利面条中,但似乎必须有优雅的解决方案?
我在自我描述方面遇到的另一个问题是我想要一个自我描述条件的列表(通常比较:已经 10 秒了吗?我在下一个航路点的 3 英尺内吗?电池电量是否下降低于 15%?等)正在被监控,这可能会触发下一个状态转换。这里有一些棘手的问题是什么是理想的语义,因为似乎这些事件中的一些事件“自下而上”处理得更好(例如,您正在执行的任何低级步骤的预期终止条件)和一些“从顶部down”(例如设备故障检测、地理围栏……)。即使您放松自我描述的目标,这也可能导致自己的意大利面。
除了诊断之外,这里准确的自我描述信息对于抽象解释也非常有用,通过猜测哪些事件可能在何时发生,将系统的状态投射到未来。许多事件条件导致它们自己进行相当简单的猜测(例如,使用良好的速度、燃料消耗率、计时器)。其他的则更复杂,但可能仍然值得为某些应用开发预测(例如,来自运营商的预期订单、天气预报、移动感兴趣物体的预计轨迹)。找到一个不仅用名称来注释条件的设计,而且还用这种东西的功能来注释条件会很好。
有没有人愿意分享这方面的经验?
algorithm - MATLAB中基于图像的视觉服务算法
我试图自己在 MATLAB 中实现 IBVS 算法(此处介绍中解释的算法),但我面临以下问题:该算法似乎仅适用于相机不必改变其方向的情况到世界框架。例如,如果我只是尝试使初始(几乎)正方形的一个顶点更靠近其相反顶点,则该算法不起作用,如下图所示
红色 x 是所需的投影,蓝色圆圈是初始的,绿色的是我从算法中得到的。
此外,错误并没有像应有的那样呈指数下降。
我究竟做错了什么?我附上了完全可运行的 MATLAB 代码。如果有人可以看看,我将非常感激。我取出了执行绘图的代码。我希望它现在更具可读性。视觉伺服必须至少有 4 个目标点,否则问题没有唯一的解决方案。如果您愿意提供帮助,我建议您查看该calc_Rotation_matrix()
函数以检查是否正确计算了旋转矩阵,然后验证输入的行ds = vc;
是否euler_ode
正确。根据此约定,相机方向以欧拉角表示。最后,可以检查交互矩阵L
是否正确计算。
有效的案例:
不起作用的情况:旋转 90 度并缩小(单独缩小有效,但我在这里这样做是为了更好地可视化)
matlab - matlab中lti系统的输出看起来不像预期的那样
我设计了一个截止频率为 4.82 kHz 的低通滤波器。下面的脚本包含传递函数,创建一个周期性的三角脉冲并将其通过滤波器。
我的问题是:输出不应该也是三角脉冲吗,因为这是一个线性系统?如果不是,有人可以从理论上向我解释为什么这是一个可接受的输出吗?如果是,是否可以对代码进行一些调整以获得正确的输出?
python - scipy optimize 最小化实时优化
我想到了使用 scipy optimize 来优化实时运行的系统的一些参数。在每次迭代中,要优化的函数将更改系统参数稍等片刻,然后返回一些系统指标
scipy.optimize 是否适合这样的事情,或者更好地应用一些带有反馈循环等的系统控制器优化器......
谢谢
一个。