抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 工业机器人控制器系统测试方法

工业机器人控制器系统测试方法

时间:2020-10-16 23:57:32

相关推荐

工业机器人的测试环节非常重要,是衡量机器人稳定性的重要环节。诚然,在工业机器人的软件架构以及算法编写时,存在各种因素而影响系统的性能,如:1)算法的特殊情况考虑,如:重点、绕点旋转、奇异点附件、关节限位点等等。2)程序代码的编写的防御性不够,如:运行速度为0、加速度为0、寸动距离设置为0等等。3)甚至还有各种其他情况,如:手动示教在笛卡尔空间到达限位,此时延反方向是否可以运动?此时对于经验较少的算法工程师来说,可能处理得较为粗糙。

总体来说:有限的测试不足以方方面面测试完毕,但在编写测试用例时,必须要考虑各种异常的情况的测试,往往出现问题的是在这些情况发生。当然,编写测试用例的人,必须是对现场经验非常丰富,同时也要对代码编写和机器人算法深有体会。鉴于此,以此记录一下测试方法:

1、功能函数的单元测试,明确函数的输入和输出,做到遍历测试。如switch的几种情况都要遍历测试。

2、模块之间的测试,如通讯模块、指令解释模块、正逆解建模模块、速度规划模块、轨迹规划模块、动力学模块等等,做到拆分成独立的模块测试。

3、功能性测试,即在实际机器人测试,要区分好两种情况,一种是常规性测试,另外一种是特殊极限情景测试。

随机数自动生成关节点位的方法,该方法可以随机产生点位让机器人关节运动到相应的点位。

#include <QCoreApplication>#include <stdlib.h>#include <iostream>#include <Windows.h>#define MAX_RAND 32767/2double jointAngle[4];void randTest(){for(int axis=0;axis<4;axis++){jointAngle[axis]=rand()/double(MAX_RAND);jointAngle[axis]=jointAngle[axis]-1;switch (axis) {case 0:jointAngle[axis]=jointAngle[axis]*120;break;case 1:jointAngle[axis]=jointAngle[axis]*130;break;case 2:jointAngle[axis]=rand()/double(MAX_RAND*2);jointAngle[axis]=jointAngle[axis]*200;break;case 3:jointAngle[axis]=jointAngle[axis]*360;break;default:break;}}}int main(int argc, char *argv[]){QCoreApplication a(argc, argv);while (true) {randTest();std::cout<<jointAngle[0]<<" "<<jointAngle[1]<<" "<<jointAngle[2]<<" "<<jointAngle[3]<<std::endl;Sleep(1000);}return a.exec();}

如果觉得《工业机器人控制器系统测试方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。