串联型机械臂直线轨迹规划Bresenham算法应用与改进

Application and improvement of bresenham algorithm for linear trajectory planning of series manipulators

  • 摘要: 针对机械臂末端的轨迹规划中,利用直线解析式作直线规划时在微控制器中计算存在的使用除法计算求解结果不精确、运算量大的问题,引入Bresenham算法。依托设计的机械臂模型,对机械臂建立Denavit-Hartenberg(D-H)参数数学模型,采用位姿矩阵和简化自由度的平面解析法求解正、逆运动学;对应用Bresenham算法的机械臂进行建模仿真,分析各个关节的运动情况和应用该算法产生的效果;对算法造成的不良影响做出步数补偿优化的改进和仿真。仿真结果中机械臂能够按照既定直线轨迹运行,算法中规避了除法运算,算法优化后起动时转速要求降低了近1/2;与直线解析式规划方法相比,提高了运算速度,避免了机械臂末端误差的产生。Bresenham算法在机械臂直线轨迹规划上具有规划精确、运算量小的特点;采用步数补偿优化后起到了改善算法中起动时转速突变的缺陷。

     

    Abstract: For the trajectory planning of the end of the manipulator, when using the straight-line formula for straight line planning, there is the problem of inaccurate calculation results and large calculation amount in the micro controller. The Bresenham algorithm commonly used in computer drawing is introduced. Relying on the designed mechanical arm model, the mathematical model of Denavit-Hartenberg(D-H)parameters is established for the mechanical arm, and the forward and inverse kinematics are solved by using the pose analysis matrix and plane analysis method with simplified degree of freedom(DOF); analyzing the motion of each joint and the effect of applying the algorithm from the simulation of the mechanical arm model using the Bresenham algorithm; make the improvement and simulation with the step compensation optimization for the adverse effects caused by the algorithm. In the simulation results, the manipulator can run according to the planed straight-line trajectory. The algorithm avoids the division operation. After the algorithm is optimized, the speed requirement when starting is reduced by nearly one-half; compared with the linear analytical planning method, it reduces the calculation time and avoids the error of the end of the mechanical arm. Bresenham algorithm has the characteristics of precise planning and small amount of calculation in the straight-line trajectory planning of the robotic arm. The step compensation optimization has improved the defects of sudden speed change at startup.

     

/

返回文章
返回