主管QQ:站内信联系

机械臂基本原理概览(从上层轨迹规划到底层驱动器控制)2023-08-24 22:18

  这里简单的讲一下自己对机械臂整个系统的理解,从结构到控制。都是很浅的东西,但是可以更好的去理解分层次的思想在机械臂整个复杂的系统中起到的作用。主要参考资料

  很简单的2个转动关节,每个关节由电机驱动控制。结构方面的就不说很多,重要的如何用数学的形式去唯一的表示这个结构,这里用到的DH参数表示法,这里主要目的不是追究每一个细节,而是整体的理解机械臂系统,所以简单的理解就是我现在要4个参数来表示上面的结构的位置两根连杆的长度l_1 , l_2以及连杆的旋转角度\theta_1, \theta_2,这个很好理解。但是要注意的是,会发生变化的只有角度\theta,所以可以把长度l当成结构的固有属性。

  正题来了,现在结构的方面已经介绍清楚了,那整个机械臂系统是要做什么,完成什么任务,我们能够控制的量是什么?这里简单的描述一下任务,真实的任务远远复杂的多,但是千里之行,基于跬步。

  任务就是简单的让机械臂的末端完成这样一个动作,我们能够控制的是电机的力矩(电流与之成正比)。下面开始从最底层(角度控制)开始分析到(轨迹生成)

  首先我们现在能够控制的是电机的力矩,而电机的力矩会改变关节角,但是是个什么样子的关系,我们如何控制力矩从而到达实现关节角度的控制?这里首先介绍机器臂动力学。

  其实动力学讲的东西很简单,但是深究公式还是有点东西,这里先放出来,具体可以参考我之前放的文献。

  其中\tau代表电机的力矩,\Theta代表关节角向量。就是说,力矩会影响关节角,但是如果想用这个方程来控制,不是很现实,首先要知道动力学方程里面精确的参数,而且要能够准确的知道电机的输出力矩,这些都不现实。所以这里被PID控制器替代了。

  正向运动学就是给定关节角\Theta,然后算出末端执行器的笛卡尔坐标系位置P,简单的表示就是P = T(\Theta)。其实也很直接,就是告诉你关节的角度,计算出末端执行器(因为关注的都是末端,让末端画圆之类)在笛卡尔坐标系中的位置(x, y, zand so on)。这里介绍下雅克比矩阵

  V = J_T( \Theta)\dot{\Theta}其实也很简单,就是反应关节速度与末端速度之间的关系,是直接对正向运动学求导得来。那么这里可以看到一个很有意思的事情,比如我想让末端按照某一速度在笛卡尔坐标系下运动,那么我相应控制的关节角应该是什么?\dot{\Theta} = J_T^{-1}(\Theta)V,前提是这个逆能够求出来。其实这一步应该放在逆向运动学里面介绍的,但是其实逆向运动学我只想放个概念,不放公式,有个感性的认知。

  逆向运动学,就是给定末端执行器的笛卡尔坐标系的位置,算出相应的关节角。这个就很重要了。因为逆向运动学直接告诉我们,比如我们想让末端到哪一个点,那么相应的控制量(关节角)是多少。但是逆向运动学的求解会存在多解性或者奇异性的问题。

  轨迹规划就是,画这样一个圆,机械臂应该走的每个点的位置(把圆离散化)以及该点的速度以及每个点之间的插值问题,就是这么简单的一个东西。

  当然这里考虑的是很简单的任务,没有考虑静力学以及力控制相关的任务。但是基本框架是相通的。