我想通过机器学习改进我的小机器人.
到目前为止,它使用简单的,如果然后在其主要功能的决定充当草坪割草机器人.
我的想法是将SKLearn用于此目的.
请帮我找到正确的第一步.
我有几个传感器告诉世界:
World = {yaw,pan,tilt,distance_to_front_obstacle,ground_color}
我有一个状态向量
State = {left_motor,right_motor,cutter_motor}
控制机器人的3个演员.
我想构建一个输入和输出值的数据集来教导sklearn所希望的行为,之后输入值应该为actor提供正确的输出值.
一个例子:如果电机开启且机器人应向前移动但距离计指示恒定值,则机器人似乎被阻挡.现在应该决定退回并转向另一个方向.
首先,你认为这是可能的sklearn和第二我应该如何开始?
我的(简单)机器人控制代码在这里:http://github.com/bgewehr/RPiMower
请帮我完成第一步!
解决方法:
我建议使用Reinforcement Learning.这里有一个Q-Learning的教程,非常适合你的问题.
如果你想在python中使用代码,那么我认为scikit-learn中没有实现Q-learning.但是,我可以给你一些python中可以使用的代码示例:1,2和3.
另外请注意,强化学习的目的是最大化所有未来奖励的总和.你必须专注于一般观点.
祝好运 :-)