一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于openvpn的远程仿真校准和在线编程的方法、系统、设备及介质与流程

2022-02-25 23:06:39 来源:中国专利 TAG:


1.本发明涉及机器人仿真和远程通信领域,具体涉及提供了一种基于openvpn的远程仿真校准和在线编程的方法、系统、设备及介质。


背景技术:

2.仿真技术已经成为目前工业自动化领域可行性分析,程序验证的重要工具手段。对于工业机器人,仿真技术尤其重要,不仅可以验证程序时序,观察机器人动作干涉,还能通过仿真环境下的离线编程将程序下载入工业机器人中,减少调试人员现场示教的工作量。
3.然而现实是,因为施工图和现场施工存在的施工差,以及在常年使用后存在的变形,仿真软件下的模型环境和工程现场机器人的工作环境往往存在一些差异,这些差异的存在会使仿真软件生成的离线程序无法直接下载到机器人使用,需要现场调试人员通过示教器,手动示教新的轨迹,效率低下浪费了大量的调试时间。有时现场调试人员并不是机器人动作的设计人员,需要设计师的远程协助,本发明就是在这样的实际需求中产生的。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于openvpn的远程仿真校准和在线编程的方法、系统、设备及介质,用于解决现有技术中的至少一个缺陷。
5.为实现上述目的及其他相关目的,本发明提供一种基于openvpn的远程仿真校准和在线编程的方法,包括:
6.现场机器人获取标定对象的现场标定信息,并发送给远程socket客户端;
7.通过所述远程socket客户端内的仿真软件,根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,并根据修改后的仿真模型生动新的动作轨迹;
8.将所述新的动作轨迹发送给所述现场机器人。
9.可选地,所述根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,包括:
10.获取所述标定对象的现场标定信息与所述标对象的仿真模型的差异;
11.根据所述差异对所述标定对象的仿真模型进行修改,以使所述仿真模型对应所述标定对象。
12.可选地,所述获取标定对象的现场标定信息,包括:
13.通过所述现场机器人的末端获取现场需要校准的至少一个关键点的位置信息;
14.所述至少一个关键点的位置信息组成标定对象的现场标定信息。
15.可选地,所述现场标定信息利用tcp/ip的socket服务器,通过openvpn网络通道传递给所述远程socket客户端。
16.可选地,还包括:通过碰撞检测对所述新的动作轨迹进行验证。
17.可选地,所述远程socket客户端位于第一局域网,所述现场机器人位于第二局域网,所述第一局域网与所述第二局域网之间建立openvpn网络通道。
18.可选地,所述现场标定信息包括机器人末端的工具坐标系、工件坐标系。
19.为实现上述目的及其他相关目的,本发明提供一种基于openvpn的远程仿真校准和在线编程的系统,包括:现场机器人和远程socket客户端,所述远程socket客户端具有仿真软件;
20.所述现场机器人用于获取标定对象的现场标定信息,并发送给远程socket客户端;
21.所述远程socket客户端通过所述仿真软件,根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,并根据修改后的仿真模型生动新的动作轨迹;
22.所述远程socket客户端将所述新的动作轨迹发送给所述现场机器人。
23.为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:
24.一个或多个处理器;和
25.其上存储有指令的一个或多个机器可读介质,当所述一个或多个处理器执行时,使得所述设备执行所述的方法。
26.为实现上述目的及其他相关目的,本发明提供一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行所述的方法。
27.如上所述,本发明的一种基于openvpn的远程仿真校准和在线编程的方法、系统、设备及介质,具有以下有益效果:
28.本发明的一种基于openvpn的远程仿真校准和在线编程的方法,包括:现场机器人获取标定对象的现场标定信息,并发送给远程socket客户端;通过所述远程socket客户端内的仿真软件,根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,并根据修改后的仿真模型生动新的动作轨迹;将所述新的动作轨迹发送给所述现场机器人。本发明实现了仿真软件和现场机器人的远程通信,可以实时从现场读取标定信息修正已有仿真环境模型,并且将修正后的动作在线编写入远程机器人,避免了现场调试人员把大量的时间用于机器人示教中。此外通过openvpn连接两个局域网,使得机器人动作设计者可以不用去现场,而是通过远程的方式协助现场,大大地提高了工程部署的效率。
附图说明
29.图1为本发明一实施例一种基于openvpn的远程仿真校准和在线编程的方法的流程图;
30.图2为本发明一实施例仿真软件中一控件的示意图;
31.图3为本发明一实施例一种基于openvpn的远程仿真校准和在线编程的系统的原理框图。
具体实施方式
32.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离
本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
33.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
34.如图1所示,本技术实施例提供一种基于openvpn的远程仿真校准和在线编程的方法,包括以下步骤:
35.s100现场机器人获取标定对象的现场标定信息,并发送给远程socket客户端;
36.s101通过所述远程socket客户端内的仿真软件,根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,并根据修改后的仿真模型生动新的动作轨迹;
37.s102将所述新的动作轨迹发送给所述现场机器人。
38.本发明实现了仿真软件和现场机器人的远程通信,可以实时从现场读取标定信息修正已有仿真环境模型,并且将修正后的动作在线编写入远程机器人,避免了现场调试人员把大量的时间用于机器人示教中。
39.在上述实施例中,仿真软件和现场机器人需配有tcp/ip socket软件接口,用于发送和接受机器人的现场标定信息以及生成的新的动作轨迹,即现场标定信息通过socket软件接口发送给远程socket客户端,经过远程socket客户端对仿真模型进行修改后,生成新的动作轨迹,新的动作轨迹通过socket软件接口发送给现场机器人。
40.在一实施例中,所述远程socket客户端位于第一局域网,所述现场机器人位于第二局域网,所述第一局域网与所述第二局域网之间建立openvpn网络通道。需要说明的是,构建第一局域网与第二局域网的openvpn网络通道时,需要利用动态dns配置私有域名用于openvpn网络通道载体。所述现场标定信息利用tcp/ip的socket服务器,通过openvpn网络通道传递给所述远程socket客户端,以保证信息的一致性。
41.openvpn是一个用于创建虚拟私人网络加密通道的软件包,其技术核心是虚拟网卡和ssl数据加密。在openvpn中,如果用户访问一个远程的虚拟地址(属于虚拟网卡配用的地址系列,区别于真实地址),则操作系统会通过路由机制将数据包发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,会通过socket从外网上发送出去。这完成了一个单向传输的过程,反之亦然。当远程服务程序通过socket从外网上接收到数据,并进行相应的处理后,又会发送回给虚拟网卡,则该应用软件就可以接收到。这就是openvpn可以远程跨局域网通信的原因,同时它还提供数据加密的服务,提高了远程通信的数据安全性。
42.在路由器中配置端口地址,加密方式。需注意openvpn客户端和openvpn服务器的配置参数需要完全一致。通过ddns申请一个私有域名作为openvpn的外网地址,用于连接两个不同的局域网。
43.所述远程socket客户端通过第一局域网连接openvpn客户端,所述现场机器人通过第二局域网连接openvpn服务器,openvpn客户端与openvpn服务器之间通过openvpn网络通道进行通信连接以及进行数据交互。现场机器人获取标定对象的现场标定信息,然后发送给openvpn服务器,openvpn服务器通过openvpn网络通道将现场标定信息以送给openvpn客户端,openvpn客户端将现场标定信息发送给远程socket客户端,由远程socket客户端中
的仿真软件根据现场标定信息对标定对象的仿真模型进行修改,使修改后的仿真模型与标定对象相对应;然后远程socket客户端根据修改后的仿真模型生成新的运动轨迹,然后将新的运动轨迹发送给openvpn客户端,openvpn客户端将新的运动轨迹通过openvpn网络通道又发送给openvpn服务器,openvpn服务器再将新的轨迹发送给现场机器人,使其可以在新环境中部署运行,实现动作的在线编写和快速部署。
44.在一实施例中,所述根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,包括:
45.获取所述标定对象的现场标定信息与所述标对象的仿真模型的差异;
46.根据所述差异对所述标定对象的仿真模型进行修改,以使所述仿真模型对应所述标定对象。
47.具体地,所述获取标定对象的现场标定信息,包括:
48.通过所述现场机器人的末端获取现场需要校准的至少一个关键点的位置信息;
49.所述至少一个关键点的位置信息组成标定对象的现场标定信息。
50.比如,利用现场机器人已知的工具末端接触现场需要校准的关键点的位置,例如需要机器人避开的障碍等,并将接触后的位置信息传递给仿真软件。若需要校准的关键点的位置包括多个,则将多个关键点的位置信息组合形成标定对象的现场标定信息。其中,所述的关键点的位置包括:需要机器人避开的障碍等。所述现场标定信息包括机器人末端的工具坐标系、工件坐标系。
51.在一实施例中,将工业机器人的现场标定信息状态利用tcp/ip的socket服务器,通过openvpn网络通道传递给仿真软件,例如机器人末端的工具坐标系,工件坐标系等,保证信息的一致性。
52.以lf炉测温取样机器人对本方法进行说明,如图2所示是仿真软件新增控件。该控件基于仿真软件自带的python api编写。点击connnet打通现场和仿真环境的通信链路,开始传递数据。
53.测温取样机器人是炼钢流程中的lf炉测温取样机器人,机器人末端是测温枪,测温枪插入液面完成测温。设定测温枪末端为工具坐标系,并用末端接触现场关键的避障点和工艺点。此时分别点击图2中getjoint和synchronize,读取现场机器人的6轴位置信息,并将仿真机器人运行到现场机器人的位置,对比仿真环境中机器人末端和工艺点、避障点的距离差,校准仿真模型。
54.根据校准后的仿真模型编写机器人新的运动轨迹,通过仿真软件自带的碰撞检测验证无误后,点击图2中的send将仿真中的点发送给现场工业机器人,再点击execute让现场机器人运行到仿真软件机器人当前所在姿态,从而实现远程的在线编程和示教。
55.本发明克服了工程现场环境和仿真建模环境误差导致的现场示教的麻烦,并通过虚拟网络通道让设计人员远程协助调试人员在线校准误差和编写机器人程序,大大提高了机器人项目现场部署的效率。
56.如图3所示,本技术实施例提供一种基于openvpn的远程仿真校准和在线编程的系统,包括:现场机器人和远程socket客户端,所述远程socket客户端具有仿真软件;
57.所述现场机器人用于获取标定对象的现场标定信息,并发送给远程socket客户端;
58.所述远程socket客户端通过所述仿真软件,根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,并根据修改后的仿真模型生动新的动作轨迹;
59.所述远程socket客户端将所述新的动作轨迹发送给所述现场机器人。
60.在一实施例中,所述根据所述标定对象的现场标定信息对所述标对象的仿真模型进行修改,包括:
61.获取所述标定对象的现场标定信息与所述标对象的仿真模型的差异;
62.根据所述差异对所述标定对象的仿真模型进行修改,以使所述仿真模型对应所述标定对象。
63.在一实施例中,所述获取标定对象的现场标定信息,包括:
64.通过所述现场机器人的末端获取现场需要校准的至少一个关键点的位置信息;
65.所述至少一个关键点的位置信息组成标定对象的现场标定信息。
66.在一实施例中,所述现场标定信息利用tcp/ip的socket服务器,通过openvpn网络通道传递给所述远程socket客户端。
67.在一实施例中,还包括:通过碰撞检测对所述新的动作轨迹进行验证。
68.在一实施例中,所述远程socket客户端位于第一局域网,所述现场机器人位于第二局域网,所述第一局域网与所述第二局域网之间建立openvpn网络通道。
69.在一实施例中,所述现场标定信息包括机器人末端的工具坐标系、工件坐标系。
70.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
71.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
72.本技术实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1所述的方法。
73.本技术实施例还提供了一种机器可读介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例的图1中方法所包含步骤的指令(instructions)。
74.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
75.在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以
通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
76.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
77.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
78.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器((ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
79.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献