首先感谢古月居的暑期课,我受益匪浅。我想给暑期学校反馈几个小问题。就是整个过程中出现的几个理论上的小错误。本来想窝着不说的,但是感觉还是应该回馈给暑期学校一些东西。

1. 有一天的作业出现了“RL能不能用来做机器人仿真”的问题。我当时在群里反应已经有点激动了。这个问题是直播的时候有同学的提问,然后题目设置是按照当时老师的回答给的。我先给结论:1)答案错了,应该是不能。2)题出的有问题。

首先,问这个问题的同学显然对仿真和RL的概念理解都还比较浅,所以才有此问。因为仿真和RL是两个不同的问题,仿真的本质是对微分方程的数值求解过程,而RL的本质是试错迭代求解最优策略。前一个是已经有u(t)在手了,后一个是没有u(t)在手,想找最优的那个。RL想实施的前提是先做仿真,用试行的u(t)逐步寻找最优的u_opt(t)。如果某个同学不会做仿真,试图用强化学习来做仿真,那他一定是做不下去的。如果说强化学习还可以用实物实验来代替仿真的话,那么实物在跑的过程中直接测量状态就可以得到仿真需要的数据了,不需要强化学习算法。

其次。为什么说题目有问题。从仿真和RL这两个不同的问题的解决方式来看,前一个一般只需要做做加法乘法就可以了,解的是微分方程问题;后一个其实是数值解变分问题。这是两个不同抽象层面的东西,后一个比前一个高级了一个层次。打个比方,前一个相当于加减乘除,后一个是微积分,如果你问微积分能不能解决加减乘除问题,你第一感觉是这个问题太搞笑了,虽然没这么想过,但是感觉好像是能吧?可能用某个比较麻烦的方法可以吧。 我告诉你,当时直播回答问题的老师也是这个感觉,这是他当时直播给出那个答案的原因。我当时第一感觉也是这个。但是你细想,当某同学不会加减乘除,希望借助微积分来解决,你的回答是能吗?最重要的是,作为一个老师,你真的可以出一道题:请问微积分可以解决加减乘除问题吗? 你真的好意思出这种题,而且给出答案是“能”?(我的这个类比,对比双方比原问题都降低了一个抽象层次,以便于理解)

2. 某次作业题目是最小二乘只能应用于误差分布为高斯过程。我在群里也说过了。最小二乘不需要这么强的假设,只需要误差零均值就足够了。请翻阅各种教材。

3. 某次作业判断pid控制器是基于模型的控制器还是不基于模型的。事实上选项里没有正确答案。很多工程师以为pid是不基于模型的控制器,事实上,至少2000年以后的文章,大部分pid的研究都是基于模型的。PID既可以在无模型信息的时候,用慢慢调参的方式确定参数,也可以在有模型信息下,根据specification 直接计算pid参数。其中流派众多,具体请自行搜索。

4. 关于一个概念“非完整约束系统”(nonholonomic system)理解产生的错误.。某天直播老师把四旋翼的运动完全等价于麦克纳轮的小车,这是不对的。四旋翼是非完整约束系统,麦克纳姆轮的小车是完全约束系统,两者从Kinematics上是完全不同的。具体的表现,就是麦克纳姆轮从静止态开始,0时刻可以电机直接产生任何SE(2)方向的速度,而四旋翼从悬停状态开始,并不能直接产生水平方向的速度,四旋翼的从悬停开始的水平速度是倾斜的pitch方向速度和向上方向的推力两个矢量的李括号产生的。(我好像这里之前的分析也出了一点问题,先删了,有空回来再看,sorry……)
    非完整约束是一个数学概念,一个系统是否完整系统是可以严格证明的。

另外一次是(删掉了。因为我自己用的ros是16.04的里面的小海龟是非完整约束,但是刚才古月老师告诉我,2020版的ros把小海龟改成完整约束系统了,也就是和麦克纳姆轮一样可以侧滑了,所以,当我没说~)

最后感谢暑期学校的举办,这一周超级累,也很充实。

此致

2021.08.15