我已经建造了一个自主航行机器人(https://github.com/kolosy/ArduSailor)。事实证明,试运行它的问题相当复杂,我解决它的程序方法效果不佳(或根本没有效果)。我认为基于 ML 的方法可能会更好,我正在尝试找出正确的算法来使用。
我将其视为某种优化问题 - 我有一组参数:
- 位置(纬度,经度)
- 方向(9 自由度)
- 速度
- 风速和风向
- 到航点的距离
- 前往航点
- 帆位置(基本上是绞盘方向,0 到 180 之间的单个值)
- 舵位(同上)
如果我正在考虑这个问题,我需要随着时间的推移改变我的方向舵和绞盘以响应我当前的位置、方向和风向,以尽量减少我的方向和航点航向之间的差异,并尽量减少到航路点的距离。航点。
我现在的方法是通过记录我的课程的手动运行来训练 ANN(使用此代码)。这是正确的方法和算法吗?有没有更好/更合适的思考方式?