1.一种基于B样条的六轴机械臂轨迹规划方法,其特征在于,包括以下步骤:S1、首先拟合末端运动轨迹,自定义控制点参数及拟合方式,并根据控制点参数拟合出对应B样条方程;
S2、通过对上一步求得的B样条参数方程进行Simpson数值积分,得出各分段函数曲线的长度以及B样条曲线的总长,同时通过给定的采样间隔,对B样条参数方程进行曲率的采样,从而获取轨迹运动参数,为给后续速度前瞻规划及插补参数计算提供内容;
S3、对运动速度前瞻进行规划,先根据采样速度计算最小运行时间,然后通过最小插值周期分割求最小整数,之后通过最小整数插值时间反求各分段最大限制速度,最后根据加加速度与加速度限制两次卷积,获得平滑速度规划;
S4、根据已知B样条曲线方程以及速度规划,并求出插补参数与插补点,完成规划轨迹插补;
S5、最后对规划出来的插值点进行后处理,获得笛卡尔空间插补位姿,并从插值点集中取点下发执行器。
2.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述控制点参数包括位置、姿态以及权因子。
3.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述B样条参数方程为:其中wi为n+1个与控制顶点对应的权因子,对于准均匀规划因子为1;di为n+1个控制顶点;Ni,p(u)为节点矢量U=[u0,u1,u2,…,un+p+1]上的第i个p次基函数,其表达式为:最终输出曲线参数方程C(u)。
4.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述B样条参数方程结果包括位置部分的曲率半径与姿态部分的曲率半径,其中位置曲率半径单位为米、姿态曲率半径单位为弧度。
5.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述Simpson自适应数值积分公式为:其中a、b为Simpson采样间隔参数上下限,C(u)为曲线参数方程。
6.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述卷积公式为:其中,第一次卷积中f(τ)为第二部分流程得到的速度限制,经过插值间隔规范后得出的最终速度限制;g(x‑τ)为加速度信号:g(x‑τ)=1/(Vmax/Acc/Ts)*ones(1,(Vmax/Acc/Ts))上式Vmax为给定的整个速度规划中的最大速度,Acc为给定加速度,Ts为插值间隔时间;
第二次卷积中f(τ)为第一次卷积后得到的规划速度;
g(x‑τ)为加加速度信号:
g(x‑τ)=1/(Acc/Jerk/Ts)*ones(1,(Acc/Jerk/Ts))上式Acc为给定加速度,Jerk为给定的加加速度,Ts为插值间隔时间。
7.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述S4中,所述规划轨迹插补包括以下步骤:(1)当插值周期间隔较小,采用一阶泰勒展开式求参数,参数代入方程求出插值点、插值点一阶导及二阶导,再根据弓高误差式求出其速度误差补入插值点速度得出实际速度,之后将插值点规划速度与实际速度做差,当速度差<规定误差ε时进行下一步,否则参数u通过规划速度/实际速度的比值进行补偿迭代,直至最终全部规划完成;
(2)当插值周期间隔较长时,将一阶泰勒展开替换为n阶泰勒展开,其中n>1,并在计算了n+1个值后使用Adams显隐式法或龙格库塔法计算后续插值点;
(3)当速度与曲率半径的比值较大时,采用二分法迭代,牺牲迭代次数来提高稳定性;
(4)根据所述S3中规划出来的速度V,建立其与参数u关于参数方程C(u)的关系,以求出插补参数u,进而带入参数方程C(u)得出插补位姿,并采用一阶泰勒展开式的方式迭代;
(5)基于上一时刻的插补参数ui及其关于速度V(ui),求出下一个插补参数ui+1:其中u为插补参数,i为插补计数,t为时间一般而言ti+1‑ti也就是固定插补周期Ts,引入速度V与曲线参数方程C(u)的关系:其中,V(ui)为第i个插补时的规划速度,除以参数方程C(u)在ui处的二范数变化率,即求出i插补时刻关于此时规划速度V(ui)的插补参数u的变化率;
(6)通过提高泰勒展开式阶数减小展开式截断误差,并通过当前插补点曲率半径r和实际速度v计算出补偿ER,补偿到实际速度上来减小弓高误差;
(7)计算C(ui)处的曲率 曲率半径 弓高误差
加入误差补偿后的修正实际速度
(8)在插值间隔时间Ts较小时,使插值参数ui直接修正为 其中V(ui)为当前插值点规划速度,最终将规划的参数u代入参数方程C(u)得到规划插补位姿。
8.根据权利要求1所述的一种基于B样条的六轴机械臂轨迹规划方法,其特征在于:所述S5中,后处理流程包括当已获取到一段B样条规划的笛卡尔空间位姿插补点集之后,开始从插值点集中取点下发执行器,并选择是否进入力控调整模块,对插补点进行二次修改,之后把插值点笛卡尔位姿根据机器人DH参数逆解为关节角θ,最终下发到各关节执行。