论文部分内容阅读
当下,研究者们对机器人的平衡控制研究主要集中在下肢,然而对于机器人的手部动作则较少关注。显然,机器人的手臂摆动过程中所产生的惯量会对机器人的平衡有相当的影响,而假若采用传统的数学分析建模的方法,首先需要大量的运动物理学知识,其次建立的模型未必准确而且不具有普适性。而用强化学习的方式让机器人自动学会平衡控制则既是机器人平衡算法的发展趋势又对硬件有良好的适应性。因此本文尝试用机器学习的方式学习生成机器人手臂控制算法以实现用机器人手臂摆动所产生的惯量对机器人的平衡进行调节的任务。为了简化问题,本文不考虑机器人其他关节,只考虑机器人肩部关节,即让机器人在发生前后方向上的倾斜时,让机器人通过摆动手臂来实现平衡调节。首先,用Q-learning学习算法学习生成了一个单极倒立摆的控制算法,这有助于对强化学习算法原理的理解和掌握,对于该模型所采用的是查表式的设计方法对倒立摆的状态进行划分,并用Simulink进行仿真。其次,用sarsa学习算法学习生成了另一个单极倒立摆的控制算法,并用Simulink进行仿真,并将其与Q-learning学习算法进行比较,得出Q-learning学习算法更易收敛的结论。再次,以Q-learning学习算法进行机器学习,在simrobot仿真环境下学习生成了控制机器人在直立情况下通过手臂前后摆动以保持平衡的控制算法,此问题和前面的倒立摆模型相似,不同的是它是通过摆动手臂来达到平衡调节的,并且具有更加复杂的状态空间和动作集,虽然本文已经将机器人简化到只有2个关节,但是其状态空间仍然是非常庞大的,学习最终获得了相对满意的结果。最后,以Q-learning学习算法学习,构建了一个手臂控制算法,用以在机器人行进过程中对机器人进行平衡调节,虽然没有得到优良的结果,但通过仿真及实验,展现了控制算法的有效性与及时性,同时也反映出当状态空间与动作集膨胀之后,Q-learning的学习效果也会随之下降。