我想通过机器学习改进我的小机器人。
到目前为止,它在其主要功能中使用简单的 while 和 if then 决策来充当割草机器人。
我的想法是为此目的使用 SKLearn。
请帮助我找到正确的第一步。
我有一些传感器可以了解外面的世界:
World ={yaw, pan, tilt, distance_to_front_obstacle, ground_color}
我有一个状态向量
状态 = {left_motor, right_motor, cutter_motor}
控制机器人的 3 个 Actor 。
我想建立一个输入和输出值的数据集来教 sklearn 期望的行为,之后输入值应该为 Actor 提供正确的输出值。
一个例子:如果电机开启并且机器人应该向前移动但距离计显示恒定值,则机器人似乎被阻挡了。现在它应该决定后退并转向另一个方向。
首先,您认为 sklearn 可以做到这一点吗?其次,我应该如何开始?
我的(简单的)机器人控制代码在这里:http://github.com/bgewehr/RPiMower
请帮助我完成第一步!
最佳答案
我建议使用 Reinforcement Learning .这里有Q-Learning的教程这很适合您的问题。
如果你想要 python 中的代码,现在我认为 scikit-learn 中没有 Q-learning 的实现。但是,我可以为您提供一些您可以使用的 Python 代码示例:1 , 2和 3 .
另请记住,强化学习旨在最大化所有 future 奖励的总和。你必须关注一般观点。
祝你好运:-)
关于python - 使用机器学习进行简单的机器人控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565916/