本发明涉及机器人运动,特别涉及一种机器人运动轨迹控制方法。
背景技术:
1、机器人运动轨迹控制是指对机器人执行器(例如关节或轮子)的运动进行精确控制,以使机器人能够按照预定的轨迹或路径执行任务。这种控制通常需要考虑机器人的动力学、运动规划、传感器反馈等多个因素,以确保机器人能够安全、高效地完成任务。机器人运动轨迹控制领域目前面临一些比较前沿的技术问题和挑战,这些挑战涉及到提高控制的精确性、适应性和鲁棒性,以应对复杂和多样的应用场景,例如:在工业生产中,多轴机器人协同工作的需求越来越普遍,解决多轴机器人之间的碰撞和协调问题,以实现高效的协同控制,是一个重要挑战。
技术实现思路
1、为了解决以上问题,本发明提供了一种机器人运动轨迹控制方法。
2、为实现上述目的,本发明所采用的技术方案如下:
3、一种机器人运动轨迹控制方法,包括如下步骤:
4、步骤1:对工作环境进行三维建模,包括所有参与协同工作的多轴机器人、工件、障碍物和工作空间的边界;
5、步骤2:为每个机器人生成可行的轨迹,以确保可以协同工作而不发生碰撞;
6、步骤3:将每个机器人的路径转化为轨迹,以便实际控制机器人的运动;
7、步骤4:控制机器人按照生成的轨迹移动;
8、步骤5:在每个时刻,需要进行碰撞检测,以确保多轴机器人之间不会发生碰撞;
9、步骤6:实时环境中执行轨迹控制,不断监测机器人的状态和环境变化,并根据需要对机器人的轨迹和控制进行调整,以应对不断变化的工作环境。
10、进一步的:所述步骤1包括:
11、使用传感器获取环境的三维数据点;
12、对从传感器获取的数据进行预处理,以确保数据的准确性和一致性;
13、将预处理后的数据表示为一个三维点云,其中每个点包含三维坐标(x,y,z);
14、根据点云数据,定义工作空间w的边界和限制,以确保多轴机器人在这个环境中能够协同工作,工作空间w的边界和限制,使用以下公式表示:
15、w=((x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax)
16、其中:(x,y,z)表示三维坐标点,xmin、xmax、ymin、ymax、zmin、zmax分别表示工作空间的最小和最大边界坐标。
17、进一步的:所述步骤2包括:
18、随机选择一个初始位置qinit在工作空间w内,并将其作为rrt树的根节点,初始化一个空的rrt树,将qinit添加为树的唯一节点。
19、在每次迭代中,随机选择一个目标点qrand在工作空间ww内,然后,从rrt树中找到最近的节点qnearest,即使得qnearest到qrand的距离最小;
20、计算从qnearest到qrand的连接,并确保这条连接是可行的;
21、如果连接是可行的,将qrand添加到rrt树中,作为新的节点,并以qnearest为父节点,从而扩展树;
22、连接表示为以下公式:
23、qnew=steer(qnearest,qrand)
24、其中steer是函数,用于计算从qnearest到qrand的有效路径;
25、重复上述步骤,直到达到终止条件;
26、一旦rrt树达到终止条件,从初始位置qinit到目标位置qgoal提取路径;
27、通过回溯rrt树,qgoal向树根qinit倒退,并收集连接节点的路径。
28、进一步的:所述步骤3包括:
29、将从得到的路径分为若干个线性段,线性段为两个节点之间的直线路径;
30、对于每个线性路径段,使用三次样条插值来生成平滑的轨迹;
31、三次样条插值表示为三次多项式函数,每个线性段有一个对应的三次多项式,三次多项式的一般形式如下:
32、p(t)=a+bt+ct2+dt3
33、其中,p(t)是路径上的位置,t是时间或参数,而a,b,c,和d是待定系数;
34、使用计算出的插值系数,在每个线性段上生成轨迹点,从而得到平滑的轨迹。
35、进一步的:所述步骤4包括:
36、在每个时刻,根据当前轨迹的时间参数,确定机器人在路径上的目标位置qtarget;
37、计算当前位置qcurrent与目标位置qtarget之间的误差,表示为e(t):
38、e(t)=qcurrent-qtarget
39、使用pid控制算法来计算控制输入u(t),pid控制器的公式如下:
40、
41、其中:u(t)是控制输入,kp是比例增益,用于根据当前误差来调整控制输入;ki是积分增益,用于根据误差的积分来消除系统的稳态误差;kd是微分增益,用于根据误差变化率来改善系统的响应速度;
42、将计算出的控制输入u(t)应用于机器人的执行器,以调整机器人的位置或速度,使其接近目标位置;
43、重复上述步骤,直到机器人到达路径的终点。
44、进一步的:所述步骤5包括:
45、在每个时刻,对机器人之间的碰撞进行检测;
46、对于两个机器人i和j之间的碰撞检测,使用距离阈值来检测是否存在碰撞,如果机器人之间的距离小于阈值dthreshold,则认为存在碰撞:
47、dij(t)=||qi(t)-qj(t)||
48、其中:dij(t)是机器人ii和jj之间的距离,qi(t)和qj(t)分别是机器人i和j在时刻t的位置。
49、进一步的:所述步骤6包括:
50、持续监测机器人的状态和环境的变化;
51、根据监测到的数据,不断更新机器人的状态信息,包括位置、速度、姿态和周围环境的信息;
52、持续进行碰撞检测,以确保机器人之间不会发生碰撞;
53、根据实时环境变化和机器人状态的更新;
54、根据环境和机器人状态的变化,对控制输入进行调整,以适应新的情况;
55、循环执行上述步骤,以确保机器人能够适应不断变化的工作环境。
56、本发明与现有技术相比,所取得的技术进步在于:
57、本方法充分考虑多轴机器人之间的碰撞和协调问题,通过实时的碰撞检测和避免机制,确保机器人在协同工作时不会发生碰撞,从而提高了工作效率和安全性。
58、本方法中包括实时控制与调整步骤,允许机器人根据实时环境变化动态调整轨迹和控制输入,这增加了系统的适应性和鲁棒性,使机器人能够应对不断变化的工作环境,通过三维空间建模,方法考虑了工作空间内的多轴机器人、工件和障碍物的准确表示,从而更准确地规划轨迹,避免碰撞,并确保高效的协同控制。
59、本方法采用三次样条插值来生成平滑的轨迹,以确保机器人在关节空间上的运动是可行的,有助于提高轨迹的可执行性和机器人的运动质量,使用pid控制器来实现轨迹跟踪,使机器人能够准确地遵循生成的轨迹,pid控制器具有广泛的应用和成熟的理论基础。
60、本方法综合考虑了路径规划、轨迹生成、控制、碰撞检测和避免以及实时调整等多个关键步骤,提供了一个全面的解决方案,以应对多轴机器人协同控制的各种挑战,在解决多轴机器人协同控制问题方面具有高度的综合性和适应性,可以提高生产效率,降低碰撞风险,适应复杂和动态的工作环境,是一个有前景的解决方案。