The invention discloses a method, a device, a robot and a storage medium for the dynamic asynchronous process call of a robot. The method includes: creating virtual server for virtual client and remote invocation structure of the robot is the request queue, creating programming interface to support asynchronous remote call Internet communication engine based on ICE; through the virtual client programming interface and launched call function will request a remote procedure call is sent to the virtual server; if the request is not the request queue, the received request is added to the request queue and the request queue of requests are sent to the machine according to the request queue in order. This method can continuously transmit the remote procedure call, without waiting for a remote procedure call callback results can request a remote procedure call, remote procedure call through the request queue management to avoid blocking the task, realize the asynchronous remote procedure calls to achieve.
【技术实现步骤摘要】
本专利技术涉及机器人领域,尤其涉及一种机器人动态异步远程过程调用的方法和装置。
技术介绍
ROS(RobotOperatingSystem)是开源的机器人操作系统,通过Service实现远程过程调用(RemoteProcedureCall,RPC)的功能。但是ROS的Service,仅支持同步调用的模式。因此,在应用过程中,发起调用时,必须等待回调结果,才能执行线程内后续任务,因此会发生阻塞,影响机器人控制系统的实时性能。
技术实现思路
本专利技术实施例提供一种机器人动态异步远程过程调用的方法、装置、机器人和存储介质,以解决现有技术中机器人控制过程中任务阻塞,实时性能较差的问题。第一方面采用一种机器人动态异步远程过程调用的方法,包括:创建用于远程调用机器人的虚拟客户端和构造有请求队列的虚拟服务端,创建基于互联网通信引擎ICE的支持异步远程调用的编程接口;通过所述虚拟客户端和编程接口发起调用函数将远程过程调用的请求发送到虚拟服务端;若所述请求队列中有未处理的请求,则将接收到的请求添加到所述请求队列,并将所述请求队列中的请求按请求队列中的排序依次发送到所述机器人。第二方 ...
【技术保护点】
一种机器人动态异步远程过程调用的方法,其特征在于,包括:创建用于远程调用机器人的虚拟客户端和构造有请求队列的虚拟服务端,创建基于互联网通信引擎ICE的支持异步远程调用的编程接口;通过所述虚拟客户端和编程接口发起调用函数将远程过程调用的请求发送到所述虚拟服务端;若所述请求队列中有未处理的请求,则将接收到的请求添加到所述请求队列,并将所述请求队列中的请求按请求队列中的排序依次发送到所述机器人。
【技术特征摘要】
1.一种机器人动态异步远程过程调用的方法,其特征在于,包括:创建用于远程调用机器人的虚拟客户端和构造有请求队列的虚拟服务端,创建基于互联网通信引擎ICE的支持异步远程调用的编程接口;通过所述虚拟客户端和编程接口发起调用函数将远程过程调用的请求发送到所述虚拟服务端;若所述请求队列中有未处理的请求,则将接收到的请求添加到所述请求队列,并将所述请求队列中的请求按请求队列中的排序依次发送到所述机器人。2.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟客户端和编程接口发起调用函数将远程过程调用的请求发送到虚拟服务端之后,还包括:若所述请求队列为空,则通过所述虚拟服务端将所述请求发送到所述机器人。3.根据权利要求1所述的方法,其特征在于,所述方法,还包括:向所述虚拟客户端返回用于查询所述请求的调用状态的查询对象,以通过所述查询对象查询调用是否完成和获取调用结果。4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:将状态查询指令通过所述编程接口从虚拟客户端发送到虚拟服务端以查询所述请求队列中请求的状态信息;将所述状态信息通过所述编程接口从虚拟服务端返回到虚拟客户端。5.根据权利要求4所述的方法,其特征在于,所述将所述状态信息通过所述编程接口从虚拟服务端返回到虚拟客户端之后,还包括:根据所述状态信息生成请求调整指令,并将所述请求调整指令通过所述编程接口从虚拟客户端发送到虚拟服务端对所述请求队列中的请求进行删除或顺序调整。6.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟客户端和编程接口发起调用函数将远程过程调用的请求发送到虚拟服务端,包括:将接收到的远程过程调用根据模板定义生成请求数据包,将所述请求数据包转换为序列化的二进制数据包;将所述二进制数据包通过所述虚拟客户端和编程接...
【专利技术属性】
技术研发人员:阳方平,
申请(专利权)人:广州视源电子科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。