工业机器人中的点动和直线运动非常之重要,接下来说一下他们的实现过程。
点动:
点动包括两个部分,第一个点动是每一个关节电机的点动,第二个是机器末端向xyz的三个方向进行点动处理。
第一个点动是非常简单的,即把对控制关节的电机进行给入一步的运行即可。
第二个点动是需要对新的末端坐标(已知的)与初始位置的坐标进行求解总距离,之后利用末端新的位姿的xyz三个方向 减去 初始位姿xyz的坐标 并除以空间中的总距离,得到单位方向的矢量,之后利用T型的速度轨迹规划进行对机器末端点动进行规划。
具体的方法是:在得到机器末端的位姿时,通过机器逆解进行求解出相对应的关节移动状态和所需的时间,并且得到单位方向的矢量,比如x方向上的单位向量,后面只需要求出x方向上的行程,行程和相对性的单位方向矢量即可,之后利用每2ms进行不断给电机进行输入位置,速度,加速度等控制信息,此时运用了T形的速度轨迹规划,有加速运行和匀速运行和减速运行,注意一点是在加速运行的过程中要时刻观察两个节点:1,剩余距离是否满足减速运行的距离,2,加速度的速度是否到达最大速度。利用以上几个条件进行判断T形速度规划的加速,匀速和减速过程。直到2ms累加到所需要的时间时,结束运行。
同时还有Last_ms进行记录0-当前时间的所计算出的位移之和,这样做的目的是保证这次2ms的位移是在当前时间之前的总位移下在进行累加的。
直线运行:
直线运行的本质是 y = y + ms,但是单单的直线运行的位置,速度和加速度并不平滑,需要使用5次多项式等轨迹规划进行对位置,速度和加速度平滑处理,增大机器的性能,和稳定性。
首先知道了机器末端的目标端位姿,求出单位矢量,完后根据总时间(自己给定)和2ms的时间(系统设置)知道了总的步长,步数,完后根据五次多项式知道了每2ms(每步数)的运行位移,速度和加速度,之后利用 y = y + ms 等知道了,每一个差补点下的位姿等信息,进行利用机器逆解进行不断的计算让电机运行。从而实现了直线运行。
而最后加载到电机上的,是第一段算出的距离 + 第二段算出的距离,所相交的点,就是会运行到位的点。
多点的平滑处理:是利用不同时间段让电机进行运行所实现的功能。