基于强化学习(Reinforcement Learning)的机器人阻抗控制策略

       强化学习(Reinforcement Learning,RL)是机器学习的一个分支,主要研究智能体如何在与环境的交互中通过学习策略以达成回报最大化或实现特定目标的问题。它不是某一种特定的算法,而是一类算法的统称!!!

An Introduction to Reinforcement Learning | KNIME

      强化学习的目标是让软件智能体在特定环境中能够采取回报最大化的行为。这通常是通过试错的方式进行的,即智能体在环境中尝试不同的行为,并根据获得的奖励或惩罚来调整其行为策略。在机器人需要力反馈的操作任务中,利用强化学习可以帮助机器人学会如何在与环境交互时调整其动作以优化性能。强化学习允许机器人在与环境的交互中通过试错的方式自我学习和适应。在需要力反馈的任务中,环境的动态性、不确定性和复杂性可能会导致传统方法难以应对。而强化学习可以使机器人根据实时的环境反馈调整其行为策略,从而适应各种变化。强化学习的目标是最大化长期回报,因此它可以帮助机器人在需要力反馈的任务中找到最优的行为策略。通过不断地尝试和调整,机器人可以学会如何在不同的情境下采取最有效的动作,从而提高任务的完成效率和质量。例如:在辅助康复、家庭服务或协作作业等场景中,机器人需要与人类进行物理交互。强化学习使机器人能够学习如何根据人类的动作和力反馈做出适当的反应,以提供舒适、安全的交互体验。例如,在辅助康复训练中,机器人可以根据患者的力量和姿势调整其辅助力度,以帮助患者恢复功能。

image.png

      当机器人需要在复杂且动态变化的环境中进行操作时,如工厂生产线上的物料搬运或仓库中的自主导航,强化学习能够使机器人通过试错学习来适应这些变化。阻抗控制则确保机器人在与环境交互时能够保持柔顺性和稳定性,避免对物体或自身造成损伤。通过结合强化学习和阻抗控制,机器人可以更加灵活和准确地完成任务。基于强化学习的机器人控制策略是一种通过试错机制与环境进行交互,也就是通过最大化累积奖励来学习到最优策略的方法。这种方法结合了深度学习的特征提取能力与强化学习的决策能力,使得机器人能够在复杂的未知环境中稳定工作和自适应完成任务。在基于强化学习的机器人控制策略中,机器人通过与环境的不断交互,观察当前状态,并根据学习到的策略选择一个动作执行。环境会对这个动作给出反馈,即奖励信号,机器人根据这个奖励信号更新自己的策略,以便在未来能够获得更大的奖励。这个过程是迭代的,机器人通过不断地试错和学习,逐渐优化自己的控制策略。

      RL 的想法是调整控制器来优化给定的奖励函数。优化是对通过执行控制器本身获取的数据进行的,这会随着经验的增加而改进。强化学习已被用来简化运动控制器的设计,实现部分设计过程的自动化,并学习以前方法无法设计的行为。然而,基于强化学习的机器人控制策略也存在一些挑战,如收敛速度慢、训练时间长等问题。

对于state来说:定义机器人的状态空间,这些状态通常包括机器人的位置、速度、加速度等运动学信息,以及可能包括的力反馈信息。

那么action可以是:定义机器人的动作空间,即机器人可以采取的所有可能动作。这些动作可以是机器人的运动指令,也可以是调整阻抗控制参数的指令。

Reward:设计一个奖励函数,该函数根据机器人当前的状态和采取的动作给出奖励或惩罚。奖励函数应该能够反映任务目标,例如在需要精确力反馈的任务中,奖励函数可能基于力反馈的误差来设计

选择并应用一种强化学习算法:如基于价值的Q学习、基于策略的Policy Gradient等。算法将根据机器人的状态、动作和奖励来更新机器人的行为策略。

因此,机器人在环境中执行策略,收集数据,并根据强化学习算法更新策略。这个过程会不断迭代,直到机器人的性能达到满意的水平。

Reinforcement learning for robot research: A comprehensive review and ...

比较关心的是具体的输入输出,对于物理交互任务来说:

029555309c5071c91cc0a4a3aca9a502_yang2-3187276-large.gif

输入:

        状态:机器人的位置、速度、加速度等运动学信息,以及可能包括的力反馈信息。这些信息通过机器人的传感器(如编码器、力传感器等)获取。

        环境信息:机器人所处环境的信息,如障碍物的位置、形状等。这些信息也可以通过机器人的感知系统(如视觉系统、激光雷达等)获取。

输出:

        动作:机器人的运动指令,如速度、加速度、方向等。这些指令直接控制机器人的运动。

        控制参数调整:在阻抗控制中,输出可能还包括对阻抗参数的调整,如刚度、阻尼等。这些参数的调整会影响机器人在与环境交互时的力反馈行为。

a9b5162efd41281ea9d03f978ecd173b_kozlo1-3191070-small.gif

       强化学习在解决多自由度机械臂或柔性机械臂的问题上具有显著优势。这是因为传统控制方法往往无法有效应对复杂的操作或柔性机械臂的非线性控制问题。强化学习通过智能体与环境的交互和试错学习,可以逐渐优化机械臂的操作策略,实现更精准、更灵活的控制。特别是在具有力感知能力的机械臂操作任务中,强化学习可以根据实时的力反馈信息来调整操作策略,从而更好地适应不同环境和任务需求。

然而,强化学习在具有力感知的机械臂操作任务中也存在一些问题。

(1)数据收集与标注问题:强化学习需要大量的数据进行训练,而对于具有力感知的机械臂操作任务来说,获取高质量的标注数据是一个挑战。因为这不仅需要精确的力感知设备,还需要进行数据收集和标注。

(2)模型泛化能力:强化学习模型往往容易过拟合于特定的任务和环境,导致其泛化能力受限。当面对新的任务或环境时,模型可能需要重新进行训练和调整,这增加了应用的复杂性和成本。

(3)实时性与稳定性:在机械臂操作任务中,实时性和稳定性是非常重要的。然而,强化学习算法在训练过程中可能会受到噪声、延迟等因素的影响,导致实时性和稳定性下降。

参考文献:

【1】 张思宁.基于强化学习的协作机器人变阻抗控制方法研究[D].哈尔滨工业大学,2022.DOI:10.27061/d.cnki.ghgdu.2022.001862.

【2】An Introduction to Reinforcement Learning | KNIME

【3】https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg

【4】https://www.bilibili.com/video/BV17T4y1K7yK?p=10&vd_source=88d9ded2e03998ff69f3e6484d15057e

【5】https://ieeexplore.ieee.org/abstract/document/9830834

【6】https://ieeexplore.ieee.org/abstract/document/9812508

【7】https://journals.sagepub.com/doi/full/10.1177/17298814211007305