CN112894822B - 机器人运动轨迹规划方法、机器人及计算机存储介质 - Google Patents
机器人运动轨迹规划方法、机器人及计算机存储介质 Download PDFInfo
- Publication number
- CN112894822B CN112894822B CN202110137099.XA CN202110137099A CN112894822B CN 112894822 B CN112894822 B CN 112894822B CN 202110137099 A CN202110137099 A CN 202110137099A CN 112894822 B CN112894822 B CN 112894822B
- Authority
- CN
- China
- Prior art keywords
- duration
- movement
- limz
- robot
- linear shaft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 title abstract description 14
- 230000001133 acceleration Effects 0.000 claims description 15
- 238000010845 search algorithm Methods 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/0081—Programme-controlled manipulators with master teach-in means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本申请实施例公开了一种机器人运动轨迹规划方法、机器人及计算机存储介质,用于使机器人的运行过程的节拍最优且尽可能地减少运动轨迹的时长。用户只需预设直线轴的最大抬起高度LimZ、第一移动距离a以及第二移动距离b,机器人确定由该最大抬起高度LimZ计算得到的时长T3a与时长T3b之和小于或等于时长T1,即可按照LimZ数值、a的数值以及b的数值来规划运动轨迹,无需用户对机器人的运动轨迹进行示教,降低示教的复杂性,而且优化了运行过程的节拍,大大减少运动轨迹的时长。
Description
技术领域
本申请实施例涉及机器人控制领域,具体涉及一种机器人运动轨迹规划方法、机器人及计算机存储介质。
背景技术
SCARA机器人即一种应用于装配作业的机器人手臂,其具有3个旋转关节,适用于平面定位。在SCARA机器人的应用场景中,抓取工件-放置工件的应用场景有着轨迹简单(大多数都是走门型轨迹)、要求高节拍的特点。SCARA机器人的语言包括line、circle、ptp等语言,使用上述几种语言的机器人能分别走出笛卡尔空间或者轴空间的指定轨迹。
现有技术中会使用到ptp语言来控制SCARA机器人这一方式,但是,由于抓取工件有避障的需要,需要指定上升和下降的高度,还有横向的搬运轨迹,这形成了三条轨迹,因此在示教的时候需要示教3个点,这增加了示教的复杂性,而且这一运行过程的节拍也不是最优的。
因此,亟需一种能够规划机器人的运动轨迹以使得机器人的运行过程的节拍最优且尽可能地减少运动轨迹的时长。
发明内容
本申请实施例提供了一种机器人运动轨迹规划方法、机器人及计算机存储介质,用于使机器人的运行过程的节拍最优且尽可能地减少运动轨迹的时长。
本申请实施例第一方面提供了一种机器人运动轨迹规划方法,机器人包括旋转轴及直线轴,所述直线轴用于抬起目标物体以及在抬起所述目标物体之后放下所述目标物体,所述旋转轴用于在所述直线轴抬起所述目标物体之后移动所述目标物体;所述方法包括:
获取所述旋转轴的运动起点和运动终点以及所述直线轴的运动起点和运动终点;
获取预设的所述直线轴的最大抬起高度LimZ、到达所述旋转轴的启动时间点时所述直线轴的第一移动距离a以及到达所述旋转轴的停止运动时间点时所述直线轴所在位置至所述直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
根据加减速控制算法计算所述旋转轴从运动起点至运动终点的运动时长T1、计算所述直线轴运动至所述最大抬起高度LimZ的时长T2a、计算所述直线轴从所述最大抬起高度LimZ运动至所述直线轴的运动终点的时长T2b、计算所述直线轴在所述第一移动距离a的运动时长Ta、所述直线轴在所述第二移动距离b的运动时长Tb;
计算所述时长T2a减去所述时长Ta的差值,得到时长T3a;计算所述时长T2b减去所述时长Tb的差值,得到时长T3b;
判断所述时长T3a与所述时长T3b之和是否小于或等于所述时长T1;
若是,则确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动;
若否,则修改所述最大抬起高度LimZ的数值,以使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
本申请实施例第二方面提供了一种机器人,所述机器人包括旋转轴及直线轴,所述直线轴用于抬起目标物体以及在抬起所述目标物体之后放下所述目标物体,所述旋转轴用于在所述直线轴抬起所述目标物体之后移动所述目标物体;
所述机器人包括:
第一获取单元,用于获取所述旋转轴的运动起点和运动终点以及所述直线轴的运动起点和运动终点;
第二获取单元,用于获取预设的所述直线轴的最大抬起高度LimZ、到达所述旋转轴的启动时间点时所述直线轴的第一移动距离a以及到达所述旋转轴的停止运动时间点时所述直线轴所在位置至所述直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
计算单元,用于根据加减速控制算法计算所述旋转轴从运动起点至运动终点的运动时长T1、计算所述直线轴运动至所述最大抬起高度LimZ的时长T2a、计算所述直线轴从所述最大抬起高度LimZ运动至所述直线轴的运动终点的时长T2b、计算所述直线轴在所述第一移动距离a的运动时长Ta、所述直线轴在所述第二移动距离b的运动时长Tb;
所述计算单元还用于计算所述时长T2a减去所述时长Ta的差值,得到时长T3a;计算所述时长T2b减去所述时长Tb的差值,得到时长T3b;
判断单元,用于判断所述时长T3a与所述时长T3b之和是否小于或等于所述时长T1;
确定单元,用于当所述时长T3a与所述时长T3b之和小于或等于所述时长T1时,确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动;
修改单元,用于当所述时长T3a与所述时长T3b之和大于所述时长T1时,修改所述最大抬起高度LimZ的数值,以使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
本申请实施例第三方面提供了一种机器人,所述机器人包括旋转轴及直线轴,所述直线轴用于抬起目标物体以及在抬起所述目标物体之后放下所述目标物体,所述旋转轴用于在所述直线轴抬起所述目标物体之后移动所述目标物体;
所述机器人包括:
处理器、存储器、总线、输入输出设备;
所述处理器与所述存储器、输入输出设备相连;
所述总线分别连接所述处理器、存储器以及输入输出设备;
所述输入输出设备用于获取所述旋转轴的运动起点和运动终点以及所述直线轴的运动起点和运动终点;获取预设的所述直线轴的最大抬起高度LimZ、到达所述旋转轴的启动时间点时所述直线轴的第一移动距离a以及到达所述旋转轴的停止运动时间点时所述直线轴所在位置至所述直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
所述处理器用于根据加减速控制算法计算所述旋转轴从运动起点至运动终点的运动时长T1、计算所述直线轴运动至所述最大抬起高度LimZ的时长T2a、计算所述直线轴从所述最大抬起高度LimZ运动至所述直线轴的运动终点的时长T2b、计算所述直线轴在所述第一移动距离a的运动时长Ta、所述直线轴在所述第二移动距离b的运动时长Tb;计算所述时长T2a减去所述时长Ta的差值,得到时长T3a;计算所述时长T2b减去所述时长Tb的差值,得到时长T3b;判断所述时长T3a与所述时长T3b之和是否小于或等于所述时长T1;当所述时长T3a与所述时长T3b之和小于或等于所述时长T1时,确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动;当所述时长T3a与所述时长T3b之和大于所述时长T1时,修改所述最大抬起高度LimZ的数值,以使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
本申请实施例第四方面提供了一种计算机存储介质,计算机存储介质中存储有指令,该指令在计算机上执行时,使得计算机执行前述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,用户只需预设直线轴的最大抬起高度LimZ、第一移动距离a以及第二移动距离b,机器人确定由该最大抬起高度LimZ计算得到的时长T3a与时长T3b之和小于或等于时长T1,即可按照LimZ数值、a的数值以及b的数值来规划运动轨迹,无需用户对机器人的运动轨迹进行示教,降低示教的复杂性,而且优化了运行过程的节拍,大大减少运动轨迹的时长。
附图说明
图1为本申请实施例中机器人运动轨迹规划方法的应用场景示意图;
图2为本申请实施例中机器人运动轨迹规划方法一个流程示意图;
图3为本申请实施例中直线轴和旋转轴的运动轨迹示意图;
图4为本申请实施例中机器人运动轨迹规划方法另一流程示意图;
图5为本申请实施例中直线轴和旋转轴的实际运动轨迹示意图;
图6为本申请实施例中机器人一个结构示意图;
图7为本申请实施例中机器人另一结构示意图。
具体实施方式
本申请实施例提供了一种机器人运动轨迹规划方法、机器人及计算机存储介质,用于使机器人的运行过程的节拍最优且尽可能地减少运动轨迹的时长。
请参阅图1,本申请实施例中机器人运动轨迹规划方法的应用场景包括:
本申请实施例中,机器人10包括旋转轴102及直线轴101,直线轴101用于抬起目标物体以及在抬起目标物体之后放下目标物体,旋转轴102用于在直线轴101抬起目标物体之后移动目标物体。其中,旋转轴102可由多个旋转关节构成,以实现在各个水平方向上的横移,如图所示的机器人中旋转轴102具有3个旋转关节。
如图所示,机器人10执行的任务是将A区域中的目标物体搬运至B区域,具体执行过程是,机器人10控制直线轴101将A区域中的目标物体抬起,上升至一定高度之后,控制旋转轴102横移,期间直线轴101抬升至最大高度之后停止运动,不再抬升;在旋转轴102横移至B区域上方时,控制直线轴101放下目标物体,期间旋转轴102不断减速,直至停止运动;在目标物体即将被下放至B区域的指定位置时,直线轴101开始减速,直至目标物体到达该指定位置时终止运动,至此即完成目标物体的整个搬运过程。
其中,该机器人10具体可以是SCARA机器人,即选择顺应性装配机器手臂。SCARA机器人具有3个旋转关节,适用于平面定位,可实现零件搬取和零件装配等职能,可广泛应用于工业生产流程中。
下面将结合图1所示的应用场景,以该机器人为例,对本申请实施例中的机器人运动轨迹规划方法进行描述:
请参阅图2,本申请实施例中机器人运动轨迹规划方法一个实施例包括:
201、获取旋转轴的运动起点和运动终点以及直线轴的运动起点和运动终点;
本实施例的方法可应用于机器人,该机器人具体可以是SCARA机器人。该机器人所执行的任务是对目标物体进行搬运,即完成抓取目标物体、放置目标物体这一过程。因此,用户可以根据实际情况,设置机器人抓取目标物体的运动起点和放置目标物体的运动终点。而由于机器人具有直线轴和旋转轴,两种运动轴协同配合才能完成目标物体的搬运,因此,用户具体设置的是旋转轴的运动起点和运动终点以及直线轴的运动起点和运动终点。
其中,旋转轴和直线轴均可以设置零点,如旋转轴以某个水平方向为零点,以旋转轴相对于该零点的移动角度来表示旋转轴的位置,该旋转角度可以是±180°,旋转轴相对于该零点进行移动,假设相对于该零点的移动角度为+90°,则表明旋转轴当前的位置为相对于零点+90°的位置;同样的,直线轴以运动方向上的某个点为零点,以相对于该零点的位移来表示直线轴的位置。在确定位置的表示方法之后,用户在设置直线轴或旋转轴的运动起点和运动终点时,便可以依据位置的表示方法来向机器人输入运动起点和运动终点的位置表示信息,则机器人根据该位置表示信息确定直线轴和旋转轴的运动起点和运动终点。
此外,也可以通过建立坐标系的方式来表示旋转轴和直线轴的运动起点和运动终点,此时运动起点和运动终点将以坐标的形式表示。本实施例对运动起点和运动终点的位置表示方式不作限定。
202、获取预设的直线轴的最大抬起高度LimZ、到达旋转轴的启动时间点时直线轴的第一移动距离a以及到达旋转轴的停止运动时间点时直线轴所在位置至直线轴的运动终点的第二移动距离b;
在机器人执行目标物体的搬运任务时,机器人需要考虑对周围干扰物体的避障,以防止在搬运过程中与周围干扰物体发生碰撞,影响目标物体的搬运。因此,用户在规划机器人的运动轨迹时,需要考虑机器人的避障问题,用户可以预先设置直线轴的最大抬起高度LimZ、到达旋转轴的启动时间点时直线轴的第一移动距离a以及到达旋转轴的停止运动时间点时直线轴所在位置至直线轴的运动终点的第二移动距离b。其中,a≤LimZ,b≤LimZ。
图3为直线轴和旋转轴的运动轨迹示意图。如图所示,直线轴和旋转轴的运动过程为,直线轴在start点启动,在运动至A点时旋转轴启动;直线轴在即将到达C点之前不断减速,并在到达C点时速度降为0;旋转轴在启动之后运动至B点,在到达B点时停止运动,因此在到达B点之前不断减速,并在到达B点时速度降为0;而直线轴在旋转轴运动至D点时重新启动,向下运动以放下目标物体,并在到达end点时速度降为0,终止运动。因此,用户可以基于以上的运动过程,设置第一移动距离a,该第一移动距离a即直线轴从start点至A点的移动距离,由于直线轴运动至A点时的时间点也是旋转轴的启动时间点,因此,第一移动距离a是用户基于避障的考虑所设置的一个距离,即直线轴需要至少抬升至第一移动距离a的高度,才能避免旋转轴在横移的时候与干扰物体碰撞。
同时,用户还可以预设第二移动距离b,该第二移动距离b表示直线轴从B点至end点所移动的距离,以及直线轴的最大抬起高度LimZ,即直线轴从start点至C点的移动高度。设置第二移动距离b和最大抬起高度LimZ可以规划整个运动轨迹的运动时长,以尽可能地缩短运动时长,优化运行过程的节拍。
203、根据加减速控制算法计算旋转轴从运动起点至运动终点的运动时长T1、计算直线轴运动至最大抬起高度LimZ的时长T2a、计算直线轴从最大抬起高度LimZ运动至直线轴的运动终点的时长T2b、计算直线轴在第一移动距离a的运动时长Ta、直线轴在第二移动距离b的运动时长Tb;
本实施例中,可以采用加减速控制算法规划运动轨迹的各个阶段的速度。其中,加减速控制算法可以是T形速度曲线规划算法、S形速度规划算法、正弦加减速控制算法或者其他速度规划算法。S形速度规划相对于T形速度规划S形速度曲线会更加平滑,电机运行会更加平稳。常见的S形速度曲线包括7段式加速度曲线。用户可以根据实际情况选择一种加减速控制算法。
因此,在本步骤中可以根据用户所确定的加减速控制算法来计算运动轨迹的各个阶段的时长。如图3所示,可根据加减速控制算法计算旋转轴从运动起点至运动终点的运动时长T1,即旋转轴从A点至B点的运动时长;计算直线轴运动至最大抬起高度LimZ的时长T2a,即直线轴从start点至C点的运动时长;计算直线轴从最大抬起高度LimZ运动至直线轴的运动终点的时长T2b,即直线轴从D点至end点的运动时长;以及,计算直线轴在第一移动距离a的运动时长Ta,即直线轴从start点至A点的运动时长;直线轴在第二移动距离b的运动时长Tb,即直线轴从B点至end点的运动时长。
204、计算时长T2a减去时长Ta的差值,得到时长T3a;计算时长T2b减去时长Tb的差值,得到时长T3b;
由于时长T2a是直线轴从start点至C点的运动时长、时长Ta是直线轴从start点至A点的运动时长,因此,时长T2a减去时长Ta得到的差值,也就是直线轴从A点至C点的运动时长,记为时长T3a。同样的,T2b是直线轴从D点至end点的运动时长、Tb是直线轴从B点至end点的运动时长,因此,时长T2b减去时长Tb得到的差值,也就是直线轴从D点至B点的运动时长,记为时长T3b。
205、判断时长T3a与时长T3b之和是否小于或等于时长T1,若是,则执行步骤206;若否,则执行步骤207;
旋转轴从A点运动至B点的过程中,存在直线轴的两个运动阶段,分别是直线轴从A点运动至C点、直线轴从D点运动至B点,这两个运动阶段分别对应的时长为时长T3a和时长T3b。由于用户预设了直线轴的最大抬起高度LimZ,这要求直线轴在到达该最大抬起高度LimZ之前就要停止抬升,即直线轴的抬起高度不能超过该最大抬起高度LimZ,因此,直线轴从A点运动至C点的时长T3a与D点运动至B点的时长T3b之和应当不能大于旋转轴从A点运动至B点的时长T1,因为如果时长T3a与时长T3b之和大于时长T1,则表明直线轴的抬升高度已经远远超过用户设定的最大抬起高度LimZ,这明显违背用户的设计初衷。
因此,由于用户设定了直线轴的最大抬起高度LimZ,在依据用户设定来准确规划运动轨迹时,需要判断时长T3a与时长T3b之和是否小于或等于时长T1,若时长T3a与时长T3b之和小于或等于时长T1,则执行步骤206;若时长T3a与时长T3b之和大于时长T1,则执行步骤207。
206、确定机器人按照最大抬起高度LimZ、第一移动距离a以及第二移动距离b形成的运动轨迹进行运动;
若时长T3a与时长T3b之和小于或等于时长T1,表明用户当前预设的最大抬起高度LimZ的数值可以确保直线轴的抬起高度不会超过该最大抬起高度LimZ,符合用户的设计理念,因此,机器人将按照用户预设的最大抬起高度LimZ、第一移动距离a以及第二移动距离b,以及根据加减速控制算法来规划运动轨迹,并依照规划好的运动轨迹进行运动。
207、修改最大抬起高度LimZ的数值,以使得时长T3a与时长T3b之和小于或等于时长T1;
若时长T3a与时长T3b之和大于时长T1,如前述分析,这违背用户的设计理念,因此,需要对最大抬起高度LimZ的数值进行修改。由于时长T3a、时长T3b及时长T1分别根据最大抬起高度LimZ的数值计算得到,因此,LimZ数值修改之后,根据修改后的数值重新计算时长T3a、时长T3b及时长T1,直至修改后的数值能够使得T3a与T3b之和小于或等于T1。之后,机器人将按照该修改后的LimZ数值所确定的运动轨迹执行搬运任务。
本实施例中,用户只需预设直线轴的最大抬起高度LimZ、第一移动距离a以及第二移动距离b,机器人确定由该最大抬起高度LimZ计算得到的时长T3a与时长T3b之和小于或等于时长T1,即可按照LimZ数值、a的数值以及b的数值来规划运动轨迹,无需用户对机器人的运动轨迹进行示教,降低示教的复杂性,而且优化了运行过程的节拍,大大减少运动轨迹的时长。
下面将在前述图2所示实施例的基础上,进一步详细地描述本申请实施例。请参阅图4,本申请实施例中机器人运动轨迹规划方法另一实施例包括:
401、获取旋转轴的运动起点和运动终点以及直线轴的运动起点和运动终点;
402、获取预设的直线轴的最大抬起高度LimZ、到达旋转轴的启动时间点时直线轴的第一移动距离a以及到达旋转轴的停止运动时间点时直线轴所在位置至直线轴的运动终点的第二移动距离b;
403、根据加减速控制算法计算旋转轴从运动起点至运动终点的运动时长T1、计算直线轴运动至最大抬起高度LimZ的时长T2a、计算直线轴从最大抬起高度LimZ运动至直线轴的运动终点的时长T2b、计算直线轴在第一移动距离a的运动时长Ta、直线轴在第二移动距离b的运动时长Tb;
404、计算时长T2a减去时长Ta的差值,得到时长T3a;计算时长T2b减去时长Tb的差值,得到时长T3b;
405、判断时长T3a与时长T3b之和是否小于或等于时长T1,若是,则执行步骤406;若否,则执行步骤408;
406、确定机器人按照最大抬起高度LimZ、第一移动距离a以及第二移动距离b形成的运动轨迹进行运动;
步骤401至406所执行的操作与前述图2所示实施例中的步骤201至206所执行的操作类似,此处不再赘述。
407、在搬运目标物体时,控制直线轴抬起目标物体至目标高度;
在确定了最大抬起高度LimZ的数值之后,可以根据该LimZ的数值规划运动轨迹。虽然限定了直线轴的最大抬起高度LimZ,但是在实际运行过程中,为提高目标物体搬运的速度、减少直线轴的运动时长,机器人控制直线轴抬起目标物体至目标高度,该目标高度可以低于最大抬起高度LimZ,或者与最大抬起高度LimZ等高,只要该目标高度不低于直线轴的第一移动距离a所表示的高度即可。
例如,图5为直线轴和旋转轴的实际运动轨迹示意图。如图所示,在前述图3所确定好的运动轨迹的基础上,在实际运行中,图5所示的实际运动轨迹中直线轴抬起目标物体的目标高度并未达到所预设的最大抬起高度LimZ。
408、修改最大抬起高度LimZ的数值,以使得时长T3a与时长T3b之和小于或等于时长T1;
本实施例中,修改最大抬起高度LimZ的数值有多种规则。在一种修改规则中,可以根据二分查找算法在最大抬起高度LimZ的备选数值范围中确定目标数值,并根据该目标数值重新计算时长T3a、时长T3b及时长T1,判断重新计算的时长T3a与时长T3b之和是否小于或等于时长T1,若T3a与T3b之和仍大于T1,则根据二分查找算法从该备选数值范围中再次确定目标数值,如此循环反复,直至所确定的目标数值能够使得时长T3a与时长T3b之和小于或等于时长T1为止。
此外,在另一种修改规则中,可以对最大抬起高度LimZ的备选数值范围进行n等分,得到n个备选数值,并在该n个备选数值中确定目标数值。根据该目标数值重新计算时长T3a、时长T3b及时长T1,判断重新计算的时长T3a与时长T3b之和是否小于或等于时长T1,若T3a与T3b之和仍大于T1,则在该n个备选数值中再次确定新的目标数值,如此循环反复,直至所确定的目标数值能够使得时长T3a与时长T3b之和小于或等于时长T1为止。
其中,最大抬起高度LimZ的备选数值范围可以由用户设定,只要该备选数值范围中的数值大于或等于直线轴的第一移动距离a和第二移动距离b即可,即满足LimZ≥a,LimZ≥b。
本实施例中,机器人根据用户预设的最大抬起高度LimZ以及第一移动距离a和第二移动距离b来规划运动轨迹,在实际的运动轨迹中直线轴抬起目标物体的目标高度可以不用达到所预设的最大抬起高度LimZ,这样可以大大减少运动轨迹的运动时长,提高机器人搬运效率。
上面对本申请实施例中的机器人运动轨迹规划方法进行了描述,下面对本申请实施例中的机器人进行描述,请参阅图6,本申请实施例中机器人一个实施例包括:
机器人包括旋转轴及直线轴,直线轴用于抬起目标物体以及在抬起目标物体之后放下目标物体,旋转轴用于在直线轴抬起目标物体之后移动目标物体;
机器人包括:
第一获取单元601,用于获取旋转轴的运动起点和运动终点以及直线轴的运动起点和运动终点;
第二获取单元602,用于获取预设的直线轴的最大抬起高度LimZ、到达旋转轴的启动时间点时直线轴的第一移动距离a以及到达旋转轴的停止运动时间点时直线轴所在位置至直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
计算单元603,用于根据加减速控制算法计算旋转轴从运动起点至运动终点的运动时长T1、计算直线轴运动至最大抬起高度LimZ的时长T2a、计算直线轴从最大抬起高度LimZ运动至直线轴的运动终点的时长T2b、计算直线轴在第一移动距离a的运动时长Ta、直线轴在第二移动距离b的运动时长Tb;
计算单元603还用于计算时长T2a减去时长Ta的差值,得到时长T3a;计算时长T2b减去时长Tb的差值,得到时长T3b;
判断单元604,用于判断时长T3a与时长T3b之和是否小于或等于时长T1;
确定单元605,用于当时长T3a与时长T3b之和小于或等于时长T1时,确定机器人按照最大抬起高度LimZ、第一移动距离a以及第二移动距离b形成的运动轨迹进行运动;
修改单元606,用于当时长T3a与时长T3b之和大于时长T1时,修改最大抬起高度LimZ的数值,以使得时长T3a与时长T3b之和小于或等于时长T1。
本实施例一种优选的实施方式中,修改单元606具体用于根据二分查找算法在最大抬起高度LimZ的备选数值范围中确定目标数值,所确定的目标数值使得时长T3a与时长T3b之和小于或等于时长T1。
本实施例一种优选的实施方式中,修改单元606具体用于对最大抬起高度LimZ的备选数值范围进行n等分,得到n个备选数值,并在n个备选数值中确定目标数值,所确定的目标数值使得时长T3a与时长T3b之和小于或等于时长T1,其中n为大于1的正整数。
本实施例一种优选的实施方式中,机器人还包括:
控制单元607,用于在搬运目标物体时,控制直线轴抬起目标物体至目标高度,目标高度低于最大抬起高度LimZ或者与最大抬起高度LimZ等高。
本实施例一种优选的实施方式中,机器人为SCARA机器人,旋转轴包括3个旋转关节。
本实施例中,机器人中各单元所执行的操作与前述图2及图4所示实施例中描述的类似,此处不再赘述。
本实施例中,用户只需预设直线轴的最大抬起高度LimZ、第一移动距离a以及第二移动距离b,判断单元604确定由该最大抬起高度LimZ计算得到的时长T3a与时长T3b之和小于或等于时长T1,即可按照LimZ数值、a的数值以及b的数值来规划运动轨迹,无需用户对机器人的运动轨迹进行示教,降低示教的复杂性,而且优化了运行过程的节拍,大大减少运动轨迹的时长。
下面对本申请实施例中的机器人进行描述,请参阅图7,本申请实施例中机器人一个实施例包括:
该机器人700可以包括一个或一个以***处理器(central processing units,CPU)701和存储器705,该存储器705中存储有一个或一个以上的应用程序或数据。
其中,存储器705可以是易失性存储或持久存储。存储在存储器705的程序可以包括一个或一个以上模块,每个模块可以包括对机器人中的一系列指令操作。更进一步地,中央处理器701可以设置为与存储器705通信,在机器人700上执行存储器705中的一系列指令操作。
机器人700还可以包括一个或一个以上电源702,一个或一个以上有线或无线网络接口703,一个或一个以上输入输出接口704,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器701可以执行前述图2及图4所示实施例中机器人所执行的操作,具体此处不再赘述。
本申请实施例还提供了一种计算机存储介质,其中一个实施例包括:该计算机存储介质中存储有指令,该指令在计算机上执行时,使得该计算机执行前述图2及图4所示实施例中机器人所执行的操作。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种机器人运动轨迹规划方法,其特征在于,机器人包括旋转轴及直线轴,所述直线轴用于抬起目标物体以及在抬起所述目标物体之后放下所述目标物体,所述旋转轴用于在所述直线轴抬起所述目标物体之后移动所述目标物体;所述方法包括:
获取所述旋转轴的运动起点和运动终点以及所述直线轴的运动起点和运动终点;
获取预设的所述直线轴的最大抬起高度LimZ、到达所述旋转轴的启动时间点时所述直线轴的第一移动距离a以及到达所述旋转轴的停止运动时间点时所述直线轴所在位置至所述直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
根据加减速控制算法计算所述旋转轴从运动起点至运动终点的运动时长T1、计算所述直线轴运动至所述最大抬起高度LimZ的时长T2a、计算所述直线轴从所述最大抬起高度LimZ运动至所述直线轴的运动终点的时长T2b、计算所述直线轴在所述第一移动距离a的运动时长Ta、所述直线轴在所述第二移动距离b的运动时长Tb;
计算所述时长T2a减去所述时长Ta的差值,得到时长T3a;计算所述时长T2b减去所述时长Tb的差值,得到时长T3b;
判断所述时长T3a与所述时长T3b之和是否小于或等于所述时长T1;
若是,则确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动;
若否,则修改所述最大抬起高度LimZ的数值,以使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
2.根据权利要求1所述的机器人运动轨迹规划方法,其特征在于,所述修改所述最大抬起高度LimZ的数值,包括:
根据二分查找算法在所述最大抬起高度LimZ的备选数值范围中确定目标数值,所确定的目标数值使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
3.根据权利要求1所述的机器人运动轨迹规划方法,其特征在于,所述修改所述最大抬起高度LimZ的数值,包括:
对所述最大抬起高度LimZ的备选数值范围进行n等分,得到n个备选数值,并在所述n个备选数值中确定目标数值,所确定的目标数值使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1,其中n为大于1的正整数。
4.根据权利要求1所述的机器人运动轨迹规划方法,其特征在于,所述确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动之后,所述方法还包括:
在搬运目标物体时,控制所述直线轴抬起目标物体至目标高度,所述目标高度低于所述最大抬起高度LimZ或者与所述最大抬起高度LimZ等高。
5.根据权利要求1至4任一项所述的机器人运动轨迹规划方法,其特征在于,所述机器人为SCARA机器人,所述旋转轴包括3个旋转关节。
6.一种机器人,其特征在于,所述机器人包括旋转轴及直线轴,所述直线轴用于抬起目标物体以及在抬起所述目标物体之后放下所述目标物体,所述旋转轴用于在所述直线轴抬起所述目标物体之后移动所述目标物体;
所述机器人包括:
第一获取单元,用于获取所述旋转轴的运动起点和运动终点以及所述直线轴的运动起点和运动终点;
第二获取单元,用于获取预设的所述直线轴的最大抬起高度LimZ、到达所述旋转轴的启动时间点时所述直线轴的第一移动距离a以及到达所述旋转轴的停止运动时间点时所述直线轴所在位置至所述直线轴的运动终点的第二移动距离b,其中,a≤LimZ,b≤LimZ;
计算单元,用于根据加减速控制算法计算所述旋转轴从运动起点至运动终点的运动时长T1、计算所述直线轴运动至所述最大抬起高度LimZ的时长T2a、计算所述直线轴从所述最大抬起高度LimZ运动至所述直线轴的运动终点的时长T2b、计算所述直线轴在所述第一移动距离a的运动时长Ta、所述直线轴在所述第二移动距离b的运动时长Tb;
所述计算单元还用于计算所述时长T2a减去所述时长Ta的差值,得到时长T3a;计算所述时长T2b减去所述时长Tb的差值,得到时长T3b;
判断单元,用于判断所述时长T3a与所述时长T3b之和是否小于或等于所述时长T1;
确定单元,用于当所述时长T3a与所述时长T3b之和小于或等于所述时长T1时,确定所述机器人按照所述最大抬起高度LimZ、所述第一移动距离a以及所述第二移动距离b形成的运动轨迹进行运动;
修改单元,用于当所述时长T3a与所述时长T3b之和大于所述时长T1时,修改所述最大抬起高度LimZ的数值,以使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
7.根据权利要求6所述的机器人,其特征在于,所述修改单元具体用于根据二分查找算法在所述最大抬起高度LimZ的备选数值范围中确定目标数值,所确定的目标数值使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1。
8.根据权利要求6所述的机器人,其特征在于,所述修改单元具体用于对所述最大抬起高度LimZ的备选数值范围进行n等分,得到n个备选数值,并在所述n个备选数值中确定目标数值,所确定的目标数值使得所述时长T3a与所述时长T3b之和小于或等于所述时长T1,其中n为大于1的正整数。
9.根据权利要求6所述的机器人,其特征在于,所述机器人还包括:
控制单元,用于在搬运目标物体时,控制所述直线轴抬起目标物体至目标高度,所述目标高度低于所述最大抬起高度LimZ或者与所述最大抬起高度LimZ等高。
10.根据权利要求6至9任一项所述的机器人,其特征在于,所述机器人为SCARA机器人,所述旋转轴包括3个旋转关节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137099.XA CN112894822B (zh) | 2021-02-01 | 2021-02-01 | 机器人运动轨迹规划方法、机器人及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110137099.XA CN112894822B (zh) | 2021-02-01 | 2021-02-01 | 机器人运动轨迹规划方法、机器人及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112894822A CN112894822A (zh) | 2021-06-04 |
CN112894822B true CN112894822B (zh) | 2023-12-15 |
Family
ID=76120948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110137099.XA Active CN112894822B (zh) | 2021-02-01 | 2021-02-01 | 机器人运动轨迹规划方法、机器人及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112894822B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104191428A (zh) * | 2014-08-27 | 2014-12-10 | 深圳科瑞技术股份有限公司 | 一种基于scara机械手的运动轨迹规划方法及*** |
CN104827481A (zh) * | 2015-04-29 | 2015-08-12 | 东莞市智捷自动化设备有限公司 | 一种基于运动控制器的scara机械手控制方法 |
CN105700530A (zh) * | 2016-04-11 | 2016-06-22 | 南京埃斯顿自动化股份有限公司 | 一种机器人关节空间传送带跟随运动的轨迹规划方法 |
CN105922265A (zh) * | 2016-06-20 | 2016-09-07 | 广州视源电子科技股份有限公司 | 一种机械臂的运动轨迹规划方法、装置及机器人 |
WO2017134735A1 (ja) * | 2016-02-02 | 2017-08-10 | 株式会社日立製作所 | ロボットシステム、ロボットの最適化システム、およびロボットの動作計画学習方法 |
CN107263484A (zh) * | 2017-08-10 | 2017-10-20 | 南京埃斯顿机器人工程有限公司 | 机器人关节空间点到点运动的轨迹规划方法 |
CN108015772A (zh) * | 2017-12-11 | 2018-05-11 | 北京翰辰自动化***有限公司 | 一种基于时间节拍的时基跳跃运动指令***及算法 |
CN110209048A (zh) * | 2019-05-20 | 2019-09-06 | 华南理工大学 | 基于动力学模型的机器人时间最优轨迹规划方法、设备 |
CN110888422A (zh) * | 2018-08-21 | 2020-03-17 | 广东大冶摩托车技术有限公司 | 一种二维跟踪的机器人喷涂编程方法 |
CN111026036A (zh) * | 2019-12-26 | 2020-04-17 | 大族激光科技产业集团股份有限公司 | 一种激光头空移控制方法及控制*** |
-
2021
- 2021-02-01 CN CN202110137099.XA patent/CN112894822B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104191428A (zh) * | 2014-08-27 | 2014-12-10 | 深圳科瑞技术股份有限公司 | 一种基于scara机械手的运动轨迹规划方法及*** |
CN104827481A (zh) * | 2015-04-29 | 2015-08-12 | 东莞市智捷自动化设备有限公司 | 一种基于运动控制器的scara机械手控制方法 |
WO2017134735A1 (ja) * | 2016-02-02 | 2017-08-10 | 株式会社日立製作所 | ロボットシステム、ロボットの最適化システム、およびロボットの動作計画学習方法 |
CN105700530A (zh) * | 2016-04-11 | 2016-06-22 | 南京埃斯顿自动化股份有限公司 | 一种机器人关节空间传送带跟随运动的轨迹规划方法 |
CN105922265A (zh) * | 2016-06-20 | 2016-09-07 | 广州视源电子科技股份有限公司 | 一种机械臂的运动轨迹规划方法、装置及机器人 |
CN107263484A (zh) * | 2017-08-10 | 2017-10-20 | 南京埃斯顿机器人工程有限公司 | 机器人关节空间点到点运动的轨迹规划方法 |
CN108015772A (zh) * | 2017-12-11 | 2018-05-11 | 北京翰辰自动化***有限公司 | 一种基于时间节拍的时基跳跃运动指令***及算法 |
CN110888422A (zh) * | 2018-08-21 | 2020-03-17 | 广东大冶摩托车技术有限公司 | 一种二维跟踪的机器人喷涂编程方法 |
CN110209048A (zh) * | 2019-05-20 | 2019-09-06 | 华南理工大学 | 基于动力学模型的机器人时间最优轨迹规划方法、设备 |
CN111026036A (zh) * | 2019-12-26 | 2020-04-17 | 大族激光科技产业集团股份有限公司 | 一种激光头空移控制方法及控制*** |
Non-Patent Citations (1)
Title |
---|
SCARA机器人结构设计及轨迹规划算法;王健强;程汀;;合肥工业大学学报(自然科学版)(第07期);1026-1028, 1041 * |
Also Published As
Publication number | Publication date |
---|---|
CN112894822A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070046677A1 (en) | Method of tolerance-based trajectory planning | |
CN110488843B (zh) | 避障方法、移动机器人及计算机可读存储介质 | |
CN108549324B (zh) | 用于高速分拣***的工件跟随抓取轨迹规划方法及*** | |
CN108319228B (zh) | 一种数控***轨迹规划中加减速控制方法 | |
CN108393591B (zh) | 一种在激光切管机中实现高效空运行的控制方法 | |
CN106003023A (zh) | 机器人运动控制***和方法 | |
CN109910013A (zh) | 一种scara机器人加加速度连续有界的ptp轨迹规划方法 | |
US20240053752A1 (en) | Motion Control of a Motion Device | |
CN109901518B (zh) | 一种恒力约束条件下的数控机床加减速速度规划方法 | |
KR20170044987A (ko) | 저크가 제한된 궤적 생성 방법 | |
CN107031741B (zh) | 车***姿校正方法及装置 | |
CN113231735A (zh) | 切割头避障方法、装置、计算机设备和介质 | |
US10513034B2 (en) | Trajectory determination method for non-productive movements | |
CN105710880B (zh) | 安全的、具有轨迹前进变量的机器人 | |
CN112894822B (zh) | 机器人运动轨迹规划方法、机器人及计算机存储介质 | |
CN113189938A (zh) | 一种连续加工路径的速度曲线规划方法 | |
CN114274147B (zh) | 目标跟踪控制方法及装置、机械臂控制设备和存储介质 | |
CN111045428B (zh) | 避障方法、移动机器人及计算机可读存储介质 | |
Shuai et al. | Real-time obstacle avoidance using subtargets and cubic b-spline for mobile robots | |
US10946518B2 (en) | Spatiotemporal controller for controlling robot operation | |
CN115431276A (zh) | 桁架机器人及其轨迹规划方法和装置 | |
Liu et al. | AGV Variable Speed Control for Human Body Adaptability | |
JP2985138B2 (ja) | 速度制御装置および数値制御送り速度制御方法 | |
CN116061195B (zh) | 一种新的工业机械手臂运动轨迹控制方法 | |
Bui et al. | An algorithms for planning S-curve motion profile considering arbitrary short path length |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |