Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 操纵帆船的控制算法或功能_Java_Android_Algorithm_Math_Physics - Fatal编程技术网

Java 操纵帆船的控制算法或功能

Java 操纵帆船的控制算法或功能,java,android,algorithm,math,physics,Java,Android,Algorithm,Math,Physics,有人知道控制帆船方向舵的算法吗。输入将是当前标题和所需标题 有很多事情需要考虑,比如波浪、帆、船的阻力、风的影响。。。。考虑到所有可能的变量,我想做的不是物理上的,而是把方向舵转到合适的方向,直到船到达它应该前进的地方,然后减少方向舵,使它在航线上。然而,由于上述因素,船可能会超调或旋转等,因此该方法将不得不应付一些尝试和观察 我的意图是建造一艘能横渡大西洋的自动帆船模型。如果有人想参与进来,请告诉我,因为我肯定需要帮助 adam(at)jeeni.co.uk 如果你给我发电子邮件,请将你的电子

有人知道控制帆船方向舵的算法吗。输入将是当前标题和所需标题

有很多事情需要考虑,比如波浪、帆、船的阻力、风的影响。。。。考虑到所有可能的变量,我想做的不是物理上的,而是把方向舵转到合适的方向,直到船到达它应该前进的地方,然后减少方向舵,使它在航线上。然而,由于上述因素,船可能会超调或旋转等,因此该方法将不得不应付一些尝试和观察

我的意图是建造一艘能横渡大西洋的自动帆船模型。如果有人想参与进来,请告诉我,因为我肯定需要帮助

adam(at)jeeni.co.uk

如果你给我发电子邮件,请将你的电子邮件命名为Microtransat,这样它就不会丢失或被忽略

谢谢,
Adam

您应该使用比例-积分-微分(PID)算法来控制方向舵调整的幅度、方向和持续时间

PID算法通常用于温度控制器、汽车巡航控制器、计算机风扇速度控制器、各种机器人应用以及其他需要平滑应用一个或多个可变资源的系统

无论何时实现任何PID算法,都必须考虑几个常量。根据这些常数,您可以调整超调与响应时间以及其他因素。如果调整不当,您的帆船将继续以正弦“s”模式行驶,过度校正和补偿。正确实现的算法将适应统一的过程

这是一个看起来可以转换为方向舵控制(即油门位置影响目标速度,类似于方向舵位置影响目标罗盘航向)


顺便说一句,最初的PID算法是通过观察人类方向舵控制在类似于您的应用程序中开发的

David Manpearl关于PID的建议可能是一个不错的选择。然而,请记住,帆的位置也对操舵有很大的影响,它甚至可以只用帆来驾驶帆船,但是你的敏捷性会降低。我不知道大西洋上的洋流有多强,但是我假设这些都是可以预测的,而不是在转向时考虑这些,我会据此规划你的路线。