机器人远程实时控制方法、系统、电子设备及存储介质与流程

文档序号:30336528发布日期:2022-06-08 06:58阅读:280来源:国知局
机器人远程实时控制方法、系统、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种机器人远程实时控制方法、系统、电子设备及存储介质。


背景技术:

2.随着社会人力的成本增加,机器人正广泛地应用于各个领域,通过代替人类从事一些危险繁重的劳动,从而改变了人类的生活方式。对于一些复杂的运动轨迹,对机器人远程控制的实时性要求很高。
3.现有技术中,上位机将执行的实时指令发送至下位机,并由下位机直接控制机器人运动,达到远程实时控制的效果,但由于网络波动以及上位机生成实时指令的速度影响,容易造成实时指令的发送和执行不同步,影响机器人的远程实时控制效果。


技术实现要素:

4.本技术实施例的目的在于提供一种机器人远程实时控制方法、系统、电子设备及存储介质,用以实现对机器人远程实时的精确控制。
5.第一方面,本技术实施例提供一种机器人远程实时控制方法,应用于下位机,所述方法包括:接收上位机发送的指令远程调用请求,所述指令远程调用请求包括参数配置和实时位置指令,所述参数配置中包括倍分参数n,所述实时位置指令为所述上位机在一个指令调用周期nt内执行的位置指令,所述t为下位机的指令处理周期,所述n为正整数,所述t为正数;根据所述倍分参数n对所述实时位置指令进行拆分,获得n个运动控制指令,并生成反馈信息;向待控制机器人按所述指令处理周期t依次发送n个所述运动控制指令,以使所述待控制机器人分别执行n个所述运动控制指令;向所述上位机返回所述反馈信息,以使所述上位机向所述下位机发送下一个所述指令远程调用请求。
6.本技术实施例中,下位机通过接收发送的指令远程调用请求,然后根据指令远程调用请求中的倍分参数n对实时指令进行拆分,得到满足下位机处理周期t的n个运动控制指令,并按照指令处理周期t依次将运动控制指令向待控制机器人分别发送,实现对待控制机器人的控制,并生成反馈信息以使上位机继续发送下一个指令远程调用请求。通过下位机实现对实时位置指令的拆分处理,并利用反馈信息实现对上位机发送的阻塞控制,从而实现了对待控制机器人远程实时的精确控制。
7.进一步地,所述根据所述倍分参数n对所述实时位置指令进行拆分,获得运动控制指令,并生成反馈信息,包括:在所述指令调用周期nt内,从所述下位机中预设的标志位时间处理点开始计时;在接收到所述指令远程调用请求后,将所述下位机中预设的指令标志位进行置位;根据所述倍分参数n将所述实时位置指令拆分,获得n个符合所述指令处理周期t的子运动指令;对n个所述子运动指令分别进行运动学计算,生成n个所述运动控制指令;在计时到达nt时,对所述指令标志位进行复位,并生成反馈信息。
8.本技术实施例中,在指令周期nt内,从下位机中预设的标志位时间处理点开始进
行计时,下位机在接收到指令远程调用请求后,将下位机中预设的指令标志位进行置位,在计时过程中指令远程调用请求并未结束,保持阻塞,在计时的过程中,下位机还可根据倍分参数n对实时位置指令进行拆分,得到n个运动控制指令,由于下位机的指令处理周期为t,因此每个t周期内分别对生成的子运动指令进行处理,并向待控制机器人分别发送n个运动控制指令,在计时达到nt之后,对指令标志位进行复位,并生成反馈信息。利用下位机对实时位置指令进行拆分并计算,获得运动控制指令,并利用指令标志位的修改和复位完成反馈信息的阻塞发送,以实现上位机的指令调用周期与下位机的总的指令处理周期一致。
9.进一步地,所述参数配置还包括滤波配置,在根据所述倍分参数n将所述实时位置指令拆分,获得n个符合所述指令处理周期t的子运动指令之后,所述方法还包括:根据所述滤波配置判断是否启动滤波处理;若是,则根据所述滤波配置获取所述下位机中预设的滤波或滤波算法;根据所述滤波或所述滤波算法分别对n个所述子运动指令进行平滑处理,获得与所述子运动指令对应的子平滑运动指令;相应地,所述对n个所述子运动指令分别进行运动学计算,包括:对n个所述子平滑运动指令分别进行运动学计算。
10.本技术实施例中,参数配置中还包括滤波配置,在根据倍分参数n将实时位置指令进行拆分,获得符合指令处理周期t的子运动指令之后,根据滤波配置首先判断是否启动滤波处理,若是则获取下位机中预设的滤波或滤波算法,然后根据滤波或滤波算法分别对各个子运动指令进行平滑处理,然后继续对生成的子平滑运动指令进行运动学计算,从而实现对运动控制指令的平滑处理,实现机器人运动轨迹和预设轨迹的拟合,保证各个实时位置坐标点的平滑过渡。
11.第二方面,本技术实施例提供一种机器人远程实时控制方法,应用于上位机,所述方法包括:获取待执行位置指令和参数配置,所述待执行位置指令为控制待控制机器人到达预设位置的指令,所述参数配置包括倍分参数n,所述n为正整数;根据所述待执行位置指令和倍分参数n生成符合所述上位机的指令调用周期nt的多个实时位置指令,所述t为下位机的指令处理周期,所述t为正数;根据多个所述实时位置指令和所述参数配置生成多个指令远程调用请求;将所述指令远程调用请求向下位机发送,并在接收到所述下位机发送的反馈信息后发送下一个所述指令远程调用请求,以实现所述下位机对待控制机器人的实时控制。
12.本技术实施例中,上位机通过获取待执行位置指令和参数配置,并根据待执行位置指令和倍分参数n来生成符合上位机的指令调用周期nt的多个实时位置指令,然后根据实时位置指令和倍分参数n生成指令调用请求,上位机的指令调用周期为下位机指令处理周期的n倍,并将该指令远程调用发送给下位机,最后在接收到下位机发送反馈消息后发送下一个指令远程调用请求。通过上位机根据待执行位置指令和倍分参数n处理得到指令调用请求,完成上位机对下位机的指令发送,从而实现了倍分参数n的配置和指令调用请求的发送,通过指令调用周期和指令处理周期的同步,进而实现由上位机利用下位机实现对待控制机器人的精确控制。
13.进一步地,所述根据所述待执行位置指令和倍分参数n生成符合所述上位机的指令调用周期nt的多个实时位置指令,包括:根据所述待执行位置指令和倍分参数n,对所述待控制机器人进行运动轨迹规划,生成符合所述上位机的指令调用周期nt内的多个实时位置指令。
14.本技术实施例中,上位机根据获取的待执行位置指令和倍分参数进行运动轨迹规划,确定每个指令调用周期nt下的多个实时位置指令,从而将待执行位置指令按照指令调用周期进行插补,实现上位机对待控制机器人的运动轨迹规划,实现了对待控制机器人的精确控制。
15.进一步地,所述参数配置还包括控制模式、滤波参数以及实时位置参数的一种或多种。
16.本技术实施例中,上位机的参数配置中还包括控制模式、滤波参数以及实时位置参数的一种或多种,下位机可以根据上位机的参数配置对实时位置指令进行处理,实现了下位机中实时位置指令的灵活处理。
17.进一步地,所述方法还包括:获取待控制机器人的位姿信息;对所述位姿信息进行3d实时显示。
18.本技术实施例中,通过获取机器人的位姿信息,并对位姿信息进行3d实时显示,从而实现了实时信息的反馈,有利于工作人员实时查看机器人的当前状态,对机器人工作中的异常情况进行快速处理。
19.第三方面,本技术实施例提供一种下位机,所述下位机包括:指令接收模块和实时指令处理模;所述指令接收模块用于接收上位机发送的指令远程调用请求,并将所述指令远程调用请求向所述实时指令处理模块发送,所述指令远程调用请求包括参数配置和实时位置指令,所述参数配置中包括倍分参数n,所述实时位置指令为所述上位机在一个指令调用周期nt内执行的位置指令,所述t为下位机的指令处理周期,所述n为正整数,所述t为正数;所述实时指令处理模块用于根据所述倍分参数n对所述实时位置指令进行拆分,获得运动控制指令,并生成反馈信息;用于向待控制机器人分别发送n个所述运动控制指令,以使所述待控制机器人分别执行n个所述运动控制指令;所述指令接收模块还用于向所述上位机返回所述反馈信息,以使所述上位机向所述下位机发送下一个所述指令远程调用请求。
20.第四方面,本技术实施例提供一种上位机,所述上位机包括:实时控制模块、虚拟仿真模块和远程控制驱动模块;所述实时控制模块用于接收参数配置,并将所述参数配置发送给远程控制驱动模块;所述虚拟仿真模块用于获取待执行位置指令,根据所述待执行位置指令和倍分参数n生成符合所述上位机的指令调用周期nt的多个实时位置指令,并将所述实时位置指令向所述远程控制驱动模块发送,所述待执行位置指令为控制待控制机器人到达预设位置的指令,所述参数配置包括倍分参数n,所述n为正整数;所述远程控制驱动模块用于根据多个所述实时位置指令和所述参数配置生成多个指令远程调用请求;还用于将所述指令远程调用请求向下位机发送,并在接收到所述下位机发送的反馈信息后,向所述下位机发送下一个所述指令远程调用请求,以实现所述下位机对待控制机器人的实时控制。
21.第五方面,本技术实施例提供一种机器人远程实时控制系统,所述系统包括外部指令输入源、下位机、上位机和待控制机器人;其中,所述上位机分别和所述外部指令输入源和所述下位机通信连接,所述下位机和所述待控制机器人通信连接;所述外部指令输入源用于向所述上位机输入待执行指令;所述待控制机器人用于接收所述下位机发送的运动控制指令,并执行所述运动控制指令。
22.第六方面,本技术实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的交互;
23.所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或第二方面的方法。
24.第七方面,本技术实施例提供一种计算机可读存储介质,包括:
25.所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面或第二方面的方法。
26.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
27.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
28.图1为本技术实施例提供的一种机器人远程控制方法流程示意图;
29.图2为本技术实施例提供的一种下位机指令处理的方法流程示意图;
30.图3为本技术实施例提供的一种机器人远程控制模式的切换方法流程示意图;
31.图4为本技术实施例提供的一种另一种机器人远程控制方法流程示意图;
32.图5为本技术实施例提供的一种上位机实时控制的方法流程示意图;
33.图6为本技术实施例提供的一种下位机结构示意图;
34.图7为本技术实施例提供的一种上位机结构示意图;
35.图8为本技术实施例提供的一种机器人远程实时控制系统结构示意图;
36.图9为本技术实施例提供的一种机器人远程控制系统工作的流程示意图;
37.图10为本技术实施例提供的一种实时位置指令调用周期流程示意图;
38.图11为本技术实施例提供的电子设备的结构示意图。
具体实施方式
39.在介绍本技术实施例提供的一种机器人远程实时控制方法之前,先介绍本技术实施例中所涉及的一些概念:
40.上位机:可以直接发送操作指令的计算机,例如pc机。在本技术的一些实施例中,用户可以操作上位机发送实时位置指令,并且还可以根据运动轨迹对机器人进行路径规划。
41.下位机:可以直接控制机器人获取机器人状况的计算机,一般是plc(programmable logic controller可编程控制器)/单片机之类。上位机发出的命令会给下位机,下位机根据此命令解释成相应时序信号直接控制相应机器人。下位机会时不时的读取机器人状态数据,然后在转换成数字信号反馈给上位机。
42.机器人控制系统:包括上位机和下位机,上位机接收用户的指令调用,并根据用户的指令进行运动轨迹规划,获得多个离散位置点,并根据每个离散位置点得到对应的实时
位置指令,再根据指令调用周期将各个实时位置指令发送给下位机处理,下位机再对实时位置指令处理后得到机器人能够识别的指令,并下发给机器人进行执行,完成整个远程控制过程。
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
44.图1为本技术实施例提供的一种机器人远程实时控制方法流程示意图,如图1所示,该方法可以应用于下位机,通过接收上位机的指令请求并下发给机器人,由机器人执行指令。该方法包括:
45.步骤101:接收上位机发送的指令远程调用请求,指令远程调用请求包括参数配置和实时位置指令,参数配置中包括倍分参数n,实时位置指令为上位机在一个指令调用周期nt内执行的位置指令t为下位机的指令处理周期,n为正整数,t为正数。
46.其中,上位机可以通过多种通信方式向下位机发送指令远程调用请求,例如通过tcp/ip(transmission control protocol/internet protocol,传输控制协议/网际协议)套接字的方式进行发送。而上位机与下位机之间的数据传输可以采用灵活的应用层通讯协议进行通讯,包括但不限于json、xml等格式。
47.指令远程调用请求中包括参数配置和实时位置指令,参数配置中包括倍分参数n,n是一个正整数,用于表示上位机的指令调用周期和下位机的指令处理周期之间的倍数关系。指令调用周期可以是上位机每次发送指令远程调用请求的时间间隔,而指令处理周期可以是下位机每次处理上位机发送的实时位置指令的周期,在上位机提供了倍分参数的配置方式,避免网络波动或者实时位置指令读取速度的影响,例如下位机指令处理周期t可以为小数,与周期的单位有关,例如0.008s,也可以为8ms,而上位机的指令调用周期可以为8ms、16ms、24ms等等,分别对应的倍分参数为1、2、3,通过设置上位机的指令调用周期,可以在上位机实现对复杂运动轨迹的粗插补,一次性传输多个符合下位机指令处理周期的指令,避免上位机读取实时位置指令的速度无法跟上传输速度造成机器人的远程控制不同步,本技术不对倍分参数的大小进行限制。
48.步骤102:根据倍分参数n对实时位置指令进行拆分,获得n个运动控制指令,并生成反馈信息。
49.其中,由于上位机的指令调用周期与下位机的指令处理周期存在倍数关系,因此在下位机中需要对接收的实时位置指令进行拆分,是更为精确的机器人插补位置指令,以符合下位机的指令处理周期,获得了n个运动控制指令,反馈信息可以是下位机为保持周期同步向上位机发送的用于结束当前指令的信息,以便上位机发送下一指令远程调用请求,例如:下位机在接收到上位机通过tcp socket套接字发送的指令远程调用时,上位机未接收到下位机发送的反馈信息前不会立即结束这一指令远程调用请求,而是会等待接收到反馈信息之后才会结束这一指令远程调用请求,发送下一指令远程调用请求。
50.步骤103:向待控制机器人按指令处理周期t依次发送n个运动控制指令,以使待控制机器人分别执行n个运动控制指令。
51.其中,运动控制指令可以是待控制机器人能够识别的实际指令,由下位机按照指令执行的顺序分别向待控制机器人发送,待控制机器人根据运动控制指令依次执行上述运动控制指令,以到达预设的位置或执行预设的动作。
52.步骤104:向上位机返回反馈信息,以使上位机向下位机发送下一个指令远程调用
请求。
53.其中,下位机向上位机返回反馈信息,上位机在接收到该反馈信息后结束该指令远程调用请求,并向下位机发送下一个指令远程调用请求。通过指令调用请求中倍分参数n的配置以及反馈信息的发送,从而实现了上位机和下位机的指令保持同步,实现了待控制机器人的精确控制。
54.在上述实施例的基础上,在所述指令调用周期nt内,从所述下位机中预设的标志位时间处理点开始计时,下位机在接收到上位机发送的指令的远程调用请求后,首先修改下位机中预设的指令标志位;在计时的过程中,还需要根据倍分参数n对实时位置指令进行拆分以及运动学计算,以生成能够被机器人所识别的运动控制指令;在计时达到nt后,对该指令标志位进行复位,并生成反馈信息。
55.其中,下位机中预先设置有固定周期的标志位时间处理点,每次从固定的标志位时间处理点开始计时,计时周期与指令调用周期nt一致,指令标志位可以为预设在下位机内存中的状态标识,例如可以用0和1来进行标识,0用于标识指令标志位未被修改或者复位后的初始状态,1用于标识指令标志位被修改的修改状态,下位机通过检测该指令标志位的状态来确认是否生成反馈信息向上位机发送,当计时达到nt后,检测到指令标志位被复位后生成反馈信息并向上位机发送,使得下位机检测指令标志位并复位的周期也达到nt,与上位机的指令调用周期保持同步,从而实现了上位机请求的延时阻塞。
56.在下位机对指令标志位的修改中,下位机同时根据倍分参数n对实时位置指令进行拆分,得到n个子运动指令,这些子运动指令还需要进行运动学计算才能够转换为待控制机器人能够识别的运动控制指令。运动学计算可以为将机器人运动轨迹所在绝对坐标系转换位机器人使用的自身坐标系,实现对笛卡尔空间位置、关节空间位置等有效位置的计算。
57.在上述实施例的基础上,参数配置中还包括滤波配置,在根据倍分参数n将实时位置指令拆分,获得n个符合指令处理周期t的子运动指令之后,上位机还可以根据滤波配置获取下位机中预设的滤波算法,然后继续根据滤波算法分别对n个子运动指令分别进行平滑处理,获得对应的子平滑运动指令,最后对平滑处理后的子运动指令分别进行运动学计算,获得对应的运动控制指令。
58.图2为本技术实施例提供的一种下位机指令处理的方法流程示意图,如图2所示,其中包括了实时位置指令拆分、滤波处理以及运动学计算过程,滤波配置中可以包括是否启动滤波以及启动的滤波种类或滤波算法,滤波种类包括但不限于笛卡尔位姿滤波、关节空间滤波等等,滤波算法包括但不限于一阶低通滤波,速度前瞻滤波以及非线性滤波等,这些滤波算法可对外部输入位置指令进行平滑处理,尤其适用于在一些远程控制的通讯周期波动的场景。滤波处理可以为对拆分后的子运动指令的滤波平滑处理,从而对一些待控制机器人难以完成的指令进行平滑过渡,使得待控制机器人的真实运动轨迹或动作,与预设运动轨迹或预设动作更为接近。
59.其中,该参数配置还包括对控制模式的切换和远程实时位置控制,图3为本技术实施例提供的一种机器人远程控制模式的切换方法流程示意图,如图3所示,机器人的控制模式包括实时指令处理模式和内部运动控制模式。实时指令处理模式可以为当前上位机向下位机发送指令远程调用请求实现控制的方式,而内部运动控制模式可以为当前下位机根据内部预设的运动控制指令实现对待控制机器人的控制模式。在下位机切换至实时指令处理
模式,从而实现待控制机器人根据远程发送的实时位置指令进而完成运动的控制。
60.远程实时位置控制包括实时位置指令的种类,实时位置指令的种类可以包括笛卡尔空间位置、关节空间位置、绝对位置、增量位置等,从而实现对待控制机器人的灵活控制。在远程实时控制模式下,机器人的内部控制模式将被关闭,此模式下用户下发的位置指令在根据参数配置进行倍分或平滑处理后,将直接下发到机器人,而待控制机器人在远程实时控制模式下,如果机器人伺服通讯主站未接收到用户的运动控制指令,将保持上一次的位置指令输入,直至接收到输入下一运动指令。
61.图4为本技术实施例提供的另一种机器人远程实时控制方法流程示意图,如图4所示,该方法可以应用于上位机,通过获取待执行指令生成指令调用请求,然后下发给下位机,由下位机直接控制机器人,从而实现对机器人的远程控制。该方法包括:
62.步骤401:获取待执行位置指令和参数配置,待执行位置指令为控制待控制机器人到达预设位置的指令,参数配置包括倍分参数n,n为正整数。
63.其中,待执行指令可以由实时位置指令输入源输入,例如可以为用户设置的待控制机器人到达的位置点或者需要完成的预设动作,实时位置指令源包括但不限于自定义轨迹规划器或其他在线的主动设备如主从机器人、操纵手柄等;通过自定义轨迹规划器时,用户只需按照周期性的调用请求发送对应运动轨迹的插补的离散位置即可;通过外部主动设备时,则需进行实时采样获取位置指令并下发至下位机即可。参数配置包括倍分参数n的配置,在上位机配置好倍分参数之后下发给下位机,下位机即可根据该倍分参数n实现对实时位置指令的拆分处理。
64.步骤402:根据待执行位置指令和倍分参数n生成符合上位机的指令调用周期nt的多个实时位置指令,t为下位机的指令处理周期,t为正数。
65.其中,上位机根据获取到的待执行位置指令以及倍分参数n可以生成多个实时位置指令,每个实时位置指令用于标识待控制机器人在该指令调用周期nt内需要执行的指令,通过一次性发送该指令调用周期nt内的位置指令,避免受上位机读取实时位置指令的速度以及网络传输的速度影响下位机中指令的处理,一般下位机的指令处理周期可以为极短的时间,例如8ms,如果上位机指令调用的周期与下位机指令处理的周期一致,很容易因为上位机的指令远程调用请求传输不稳定从而导致下位机需要等待下一指令的到达才能继续处理,出现下位机和上位机的控制误差。
66.步骤403:根据多个实时位置指令和参数配置生成多个指令远程调用请求。
67.步骤404:将所述指令远程调用请求向下位机发送,并在接收到所述下位机发送的反馈信息后发送下一个所述指令远程调用请求,以实现所述下位机对待控制机器人的实时控制。
68.其中,每个指令远程调用请求中包括对应的实时位置指令和参数配置,上位机可以采用tcp/ip socket阻塞式套接字的形式将指令远程调用请求发送至下位机,从而实现对该指令远程调用请求的延时阻塞,上位机无法主动结束该请求,只有当接收到下位机发送的反馈信息后才能发送下一个指令远程调用请求,从而实现对上位机的请求发送周期的控制,保持上位机和下位机的控制周期的同步,完成对待控制机器人的精确控制。
69.例如,上位机可以根据待执行位置指令和倍分参数n,对待控制机器人进行运动轨迹规划,例如行走路线或者动作规划。例如,待执行位置指令为从位置a至位置b,上位机首
先根据a和b的位置进行路径规划,按照每个指令调用周期内的位置变化,生成各个离散位置点,然后上位机将待控制机器人到达各个离散位置点的实时位置指令向下位机发送,实现对待控制机器人的远程控制。
70.在上述实施例的基础上,参数配置中可以包括控制模式、滤波参数以及实时位置参数的一种或多种,上述有关参数配置的种类可以参考图1对应实施例中的有关内容。上位机可以根据用户设置的参数进行调整下位机中的配置信息,例如将下位机中的控制模式由内部控制模式切换至远程实时控制模式,在实时位置处理中加入滤波处理等等,下位机可随时根据上位机中的参数配置调整自身配置,从而打破了工作环境的限制,实现对待控制机器人的远程灵活控制。
71.在上述实施例的基础上,上位机还可以获取机器人的位姿信息并进行3d实时显示,位姿信息的来源可以为外部指令输入源,也可以为下位机对上位机的实时反馈消息。通过获取位姿信息进行3d实时显示,从而实现了对位姿信息的直观展示,并能够根据位姿信息随时调整机器人的在线状态,完成对机器人的实时控制。
72.图5为本技术实施例提供的一种上位机实时控制的方法流程示意图,如图5所示,提供了上位机与下位机建立实时控制的具体实施方式,具体实时方式可以为:
73.步骤501:上位机通过远程控制驱动与下位机远程控制接收端建立通讯连接。其中,该通讯连接可以为tcp/ip通讯连接方式。
74.步骤502:上位机调用接口切换至远程控制模式。其中上位机切换控制模式的方式可以参考与图1对应实施例提供的控制模式切换的过程。
75.步骤503:上位机调用接口设置远程控制的相关参数,其中,这些参数可以参考图1对应实施例中的倍分参数n、滤波配置和远程实时位置控制。
76.步骤504:上位机从实时位置指令输入源获取规划的机器人位置指令。其中,该机器人位置指令可以为用户输入的待执行指令。
77.步骤505:上位机调用接口设置机器人实时位置指令。其中,该实时位置指令可以为根据待执行指令进行运动轨迹规划获得实时位置指令,具体的规划过程可以参考与图4对应实施例提供的运动轨迹规划过程。
78.在获得实时位置指令之后,上位机根据实时位置指令和参数配置生成指令远程调用请求,并将该指令远程调用请求向下位机发送;下位机在接收到该指令远程调用请求后,根据参数配置中的倍分参数n对实时位置指令进行实时指令处理,得到运动控制指令以及反馈信息;然后下位机接着向待控制机器人发送该运动控制指令,并在计时达到指令调用周期后向上位机发送反馈信息,以实现上位机发送下一个指令远程调用过程,完成上位机和下位机的交互,从而实现对机器人的远程实时控制。
79.图6为本技术实施例提供的一种下位机的结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。本技术实施例提供了一种下位机,该下位机包括:
80.指令接收模块601,用于接收上位机发送的指令远程调用请求,并将所述指令远程调用请求向所述实时指令处理模块发送,所述指令远程调用请求包括参数配置和实时位置指令,所述参数配置中包括倍分参数n,所述实时位置指令为所述上位机在一个指令调用周
期nt内执行的位置指令,所述t为下位机的指令处理周期,所述n为正整数,所述t为正数;
81.实时指令处理模块602,用于根据所述倍分参数n对所述实时位置指令进行拆分,获得运动控制指令,并生成反馈信息;用于向待控制机器人按所述指令处理周期t依次发送n个所述运动控制指令,以使所述待控制机器人分别执行n个所述运动控制指令;
82.指令接收模块601,还用于向所述上位机返回所述反馈信息,以使所述上位机向所述下位机发送下一个所述指令远程调用请求。
83.在上述实施例的基础上,实时指令处理模块602具体用于:
84.在所述指令调用周期nt内,从所述下位机中预设的标志位时间处理点开始计时;
85.在接收到所述指令远程调用请求后,将所述下位机中预设的指令标志位进行置位;
86.根据所述倍分参数n将所述实时位置指令拆分,获得n个符合所述指令处理周期t的子运动指令;
87.对n个所述子运动指令分别进行运动学计算,生成n个所述运动控制指令;
88.在计时到达nt时,对所述指令标志位进行复位,并生成反馈信息。
89.在上述实施例的基础上,该装置还包括滤波处理模块,用于:
90.根据所述滤波配置判断是否启动滤波处理;
91.若是,则根据所述滤波配置获取所述下位机中预设的滤波或滤波算法;
92.根据所述滤波或所述滤波算法分别对n个所述子运动指令进行平滑处理,获得与所述子运动指令对应的子平滑运动指令;
93.相应地,所述对n个所述子运动指令分别进行运动学计算,包括:
94.对n个所述子平滑运动指令分别进行运动学计算。
95.图7为本技术实施例提供的一种上位机的结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1方法实施例对应,能够执行图4方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。本技术实施例提供了一种上位机,该上位机包括:
96.实时控制模块701,用于接收参数配置,并将所述参数配置发送给远程控制驱动模块;还用于获取待执行位置指令,根据所述待执行位置指令和倍分参数n生成符合所述上位机的指令调用周期nt的多个实时位置指令,并将所述实时位置指令向所述远程控制驱动模块发送,所述待执行位置指令为控制待控制机器人到达预设位置的指令,所述参数配置包括倍分参数n,所述n为正整数;
97.远程控制驱动模块702,用于根据多个所述实时位置指令和所述参数配置生成多个指令远程调用请求;还用于将所述指令远程调用请求向下位机发送,并在接收到所述下位机发送的反馈信息后,向所述下位机发送下一个所述指令远程调用请求,以实现所述下位机对待控制机器人的实时控制。
98.在上述实施例的基础上,实时控制模块701具体用于:
99.根据所述待执行位置指令和倍分参数n,对所述待控制机器人进行运动轨迹规划,生成符合所述上位机的指令调用周期nt内的多个实时位置指令。
100.在上述实施例的基础上,所述参数配置还包括控制模式、滤波参数以及实时位置参数的一种或多种。
101.在上述实施例的基础上,所述装置还包括虚拟仿真模块,具体用于:
102.获取待控制机器人的位姿信息;
103.对所述位姿信息进行3d实时显示。
104.图8为本技术实施例提供的一种机器人远程实时控制系统的结构示意图。本技术实施例提供了一种机器人远程实时控制系统,该系统包括:外部指令输入源、下位机、上位机和待控制机器人;上述上位机的具体模块介绍可以参考如图5对应实施例提供的详细模块功能,上述下位机的具体模块介绍可以参考如图6对应实施例提供的详细模块功能,这里不再赘述。
105.其中,所述上位机分别和所述外部指令输入源和所述下位机通信连接,所述下位机和所述待控制机器人通信连接;
106.所述外部指令输入源用于向所述上位机输入待执行指令;
107.所述待控制机器人用于接收所述下位机发送的运动控制指令,并执行所述运动控制指令。
108.图9为本技术实施例提供的一种机器人远程控制系统工作的流程示意图,如图9所示,图9具体表示了机器人远程控制系统中实时位置指令调用和返回的过程示意图,具体实施过程可以为:上位机首先通过远程控制驱动服务开启实时位置指令调用过程,并向下位机发送tcp socket指令。其中,远程驱动服务安装在上述上位机上,建立上位机和下位机的socket通讯请求。然后下位机进行实时指令标志位的设置与查询,并对实时指令标志位进行处理。其中上述设置可以参考与图1对应实施例的指令标志位修改过程,上述查询可以参考与图1对应实施例的指令标志位复位过程。最后下位机在检测到指令标志位复位后,生成反馈信息向上位机发送,上位机通过tcp socket阻塞接收该反馈信息,从而完成上位机和下位机的周期同步,上述过程可以参考图1和图4对应实施例中的下位机和上位机的远程实时控制的具体实施方式。
109.图10为本技术实施例提供的一种实时位置指令调用周期流程示意图,如图10所示,从图中可以看出,由于上位机中倍分参数n的参数配置,指令调用以及指令返回的时间周期均为nt,在任一周期nt内,均会完成一次指令返回以及一次指令调用,从而保持上位机中指令调用周期的一致,而指令返回的时间间隔则是通过在下位机中设置实时指令标志位来实现的,具体的实现方法可以参考与图1对应实施例中通过计时达到nt后返回反馈信息,从而使得上位机开启下一指令调用的过程。
110.图11为本技术实施例提供的电子设备的结构示意图,如图11所示,所述电子设备,包括:处理器(processor)1101、存储器(memory)1102和总线1103;其中,
111.所述处理器1101和存储器1102通过所述总线1103完成相互间的交互;
112.所述处理器1101用于调用所述存储器1102中的程序指令,以执行上述各方法实施例所提供的机器人远程实时控制方法。
113.处理器1101可以是一种集成电路芯片,具有信号处理能力。上述处理器1101可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本技术实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理
器或者该处理器也可以是任何常规的处理器等。
114.存储器1102可以包括但不限于随机存取存储器(random acc
·
ess memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electrically erasable programmable read-only memory,eeprom)等。
115.本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的机器人远程实时控制方法。
116.本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的机器人远程实时控制方法。
117.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或交互连接可以是通过一些交互接口,装置或单元的间接耦合或交互连接,可以是电性,机械或其它的形式。
118.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
119.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
120.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
121.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1