目前正在学习franka机械臂,已经做完理论验证了,马上就要进入实验阶段了。开学第一天,决定总结一些东西以及未来想要学习的方向。以后会按照下面的规划进行学习,学习到的相关的知识也会整理在CSDN上面。为了毕设,冲冲冲!!!
- 机械臂的相关基础知识:比如机械臂的工作空间,正运动学,逆运动学,几何雅克比矩阵(Geometrical Jacobian),分析雅克比矩阵(Analytical Jacobian),轨迹规划,动力学规划等。
- Franka代码的实现:读懂官网给出的FCI手册以及libfranka官网给出的代码示例。学会ros相关的知识,可以参考b站赵虚左老师【Autolabor初级教程】ROS机器人入门和ROS2理论与实践,讲解的很详细,可以给小白从零开始学习ros,在看视频的同时可以参考与之相关的课程文档。入门之后就可以看ros的官方手册,会更加全面。自己先简单跑一些demo尝试一下,然后在官方给出的代码上面逐渐修改最后形成自己的franka控制代码。
- 深度强化学习:因为franka是七自由度的机械臂,未来更多的是面向服务行业。而服务业的工作环境多变且复杂,这就需要机械臂更加智能。智能主要体现在动态避障,人机协同以及复杂多任务的执行等方面。深度强化学习(Deep Reinforcement Learning,DRL)结合了深度学习强大的感知能力和强化学习强大的决策能力,让DRL表现突出。学习DRL可以从最基本的多臂赌博机开始,然后到DQN,DDPG,SAC,TD3,PPO等,结合代码进行学习。
- 控制理论:因为我所在的学科是控制学科。我们导师说对于我们学控制出身的人,一定不能忘了控制,如果一味的去搞深度强化学习,就会跟计算机的差不多,就体现不出我们的学科优势了。所以,一些相关的控制理论也不能丢掉。从PID,到自适应控制,鲁棒控制,模糊控制,滑模控制等。考虑到DRL算法中的神经网络模型是一个黑箱子,控制原理未知,训练不可测,很大程度上依赖于随机种子,不适用于需要追求稳定的场景。可以把控制理论和深度学习结合起来。如PID作为主要的控制器,这样使控制器的行为是相对稳定且可预测的。然后使用DRL作为辅助弥补PID粗调的不足,去减小一些不可建模的参数产生的误差。
- 图像处理:作为一款智能的机器人,与环境的交互必不可少,这就需要机器人有足够的感知能力。机器视觉就是最重要的一个方面,需要相关的图像处理知识作为支撑。机器人要通过摄像头捕捉图像,分割场景,识别物体,提取特征等。
- 数学:最最最重要的就是数学知识了。如果研究偏向基础研究,理论做的比较深入,那就需要强大扎实的数学功底作为支撑。冗余机械臂的自运动流形,机构学中的旋量,奇异点的研究,李代数等可能以后都会遇到。如果有能力可以去看陈省身的《微分几何讲义》。