基于示教的方法
从示例中学习,即learn from demonstration(LFD),是为了能让机器人处理未知环境或任务而出现的一类方法。对于很多机器人尤其是服务机器人,在实际中根据周围环境的不同,可能需要完成很各种各样的任务,而要将这些任务一一进行提前编程是不太现实的,因此人们希望可以开发一些方法或算法,让机器人出厂之后可以从人类或其他机器人的示范中学习学习各种各样的技能,实现处理复杂问题的能力。
分类:
-
1.解决含动力学约束的控制问题
-
1.Apprenticeship learning
由Pieter Abbeel与Ng.Andrew提出,主要解决直升机,四组机器人的 控制问题。演示时由施教者通过遥控器操作机器人,使机器人在满足动力学限制的前提下,完成一些动作,然后机器人学习一条可行的理想轨迹,最后再实施控制,是机器人尽可能接近这条轨迹。
2.Inverse reinforcement learning
同样由由Pieter Abbeel与Ng.Andrew提出,主要解决RL中回报函数难以人为拟定的问题。IRL首先从专家示例中学得回报函数,然后根据学得的回报函数再使用正向RL得到最优策略。 2.解决含关节约束的机械臂问题
-
包括:
1.kinematic demonstration
施教者直接在物理上操纵机械臂,机器人记录不同时刻各个关节角的大小、速度,利用这些数据学习自己的轨迹;
2.与kinematic demonstration 相对的另一种施教方法是:人进行肢体演示,然后机器提取 人的动作特征,应用到自己的轨迹中。
技术细节见 这里
对于串联机械臂问题,LfD方法中往往会涉及到key-points\key-frame的概念。二者的motivation相同,即对于一条连续的轨迹,找到一些可以表征轨迹的特征点,这些特征点是综合考虑了执行器的位姿变化,速度变化与加速度的变化,通过一些分类算法得到的。当把这些点连接起来后,人们就可以认为机器人实现了整个操作任务。
在Lfd中经常会用到的几个模型\算法:
-
1.Hidden-Markov-Model(HMM)
- 一种生成模型。模型组成有:观测序列 o 1 , o