技术领域
[0001] 本发明涉及列车检测技术领域,具体涉及一种列车检测机器人的示教方法、装置及存储介质。
相关背景技术
[0002] 在轨道交通行业使用机器人替代人对列车进行缺陷检测是当前的智能化发展趋势。其中,机器人上安装有摄像或照相设备,通过机器人对检测部位进行拍照,然后通过图像处理软件对拍摄的图像进行分析处理,得到检测结果。机器人可以指无人机、无人车等。在这一过程中,首先需要对机器人进行示教工作。示教过程就是机器人学习的过程,操作者要手把手教会机器人做某些动作,在此过程中,控制系统以程序的形式将示教的动作记忆下来。示教完成后将程序输入给机器人,使其按照示教时记忆下来的程序展现这些动作。
[0003] 现有技术中在进行示教时,需要用到示教软件和图像查看软件。示教软件用于在机器人操控人员控制机器人摆好位姿,对列车的检测部位进行拍照时,记录机器人的位姿信息。图像查看软件用于查看机器人拍摄到的图像。图像处理软件用于对图像进行处理,得到检测结果。具体过程是:1、机器人操控人员对机器人进行位姿示教,也就是将机器人移动至检测位,调整好机器人的姿态,相机的拍摄角度,然后拍摄图像,示教软件记录下拍摄图像时及机器人的位置信息、姿态信息和相机的拍摄角度,然后机器人操控人员将机器人移动至下一个检测位,继续进行拍摄,直至完成所有检测位的拍摄。2、将拍摄好的图像打包图像算法处理人员,图像算法处理人员采用图像查看软件查看图像,判断该图像是否满足图像算法处理条件,将判断结果整理成文档发送给列车检测人员进行确认。3、列车检测人员通过观察图像中是否包含检测项点等来进一步确认图像是否满足要求。如果图像算法处理人员和列车检测人员认为图像全部符合要求,则示教软件记录的示教信息可用。如果有若干图像不满足要求,则需要机器人操控人员重新拍摄,重新记录机器人的位置信息、姿态信息和相机的拍摄角度。如此反复几次,才能完成示教。
[0004] 如此,一是,机器人操控人员需要熟知列车检测规程,才能知道最佳拍摄位置、拍摄角度等,对机器人操控人员的要求较高。二是,示教往往需要反复若干次才能完成,而且每次示教均需要先后完成示教拍摄、图像算法处理人员确认、列车检测人员确认三个环节,示教所需时间长、过程繁琐。
具体实施方式
[0057] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与本发明的一些方面相一致的装置或方法的例子。
[0058] 为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其他实施方式,都属于本发明所保护的范围。
[0059] 以下,参照附图对实施例进行说明。此外,下面所示的实施例不对权利要求所记载的发明内容起任何限定作用。另外,下面实施例所表示的构成的全部内容不限于作为权利要求所记载的发明的解决方案所必需的。
[0060] 参见图1,本发明提供了一种列车检测机器人的示教方法。从程序角度而言,该流程的执行主体可以为搭载于服务器或示教设备上的程序;从硬件角度而言,该流程的执行主体可以为示教设备,具体可以为计算机、控制中心等。如图1所示,该方法可以包括以下步骤:
[0061] 步骤101,获取用户用于输入检测项的第一操作信息,生成检测项信息。
[0062] 在示教设备上打开示教软件,与待示教的机器人建立起通信连接。用户在示教软件界面上输入要示教的检测项。检测项的输入方式不作限定,具体可以是手动打字输入、语音输入等。也可以是示教软件界面上预先生成有检测项库,参见图2,检测项库的一种展现形式可以为图2中右侧的两列选项列表。用户在选项列表中点选的需要进行示教的检测项,例如,检测项为转向架上的螺栓,则点选转向架和螺栓选项即可。在获取用户的第一操作信息后,示教软件响应该第一操作信息,生成该检测项对应的检测项信息,并记录保存下来。
[0063] 此处的用户指示教软件操作人员,具体可以为图像算法处理人员或列车检测人员,当然也可以为其他具有相关知识的人员。
[0064] 步骤102,获取机器人上的相机拍摄的第一图像,并将所述第一图像进行显示;以便用户判断所述第一图像是否符合第一预设条件,所述第一预设条件包括所述第一图像包含所述检测项对应的检测项点和所述第一图像满足图像算法处理条件。
[0065] 机器人操控人员将机器人移动至该检测项对应的拍摄区域,例如该检测项为车厢1左侧的转向架上的螺栓,则将机器人移动至能够拍摄到转向架上的螺栓的拍摄区域,然后继续较为精确地调整机器人的位置(可以用三维坐标表示)和姿态(可以用机器人的偏航角表示),以及相机的姿态(相机角度),以便相机对该检测项所对应的列车某一部位(此例可以指转向架)进行拍摄,得到第一图像,拍摄的第一图像传递给示教软件,示教软件获取该第一图像后,在示教软件界面的相应区域进行显示。参见图3,在图像显示区域显示有第一图像,具体可以为用户点击拍照点设置显示按钮后,将第一图像进行显示。当再次点击拍照点设置显示按钮后,将显示最新获取的第一图像。
[0066] 此时,用户通过观看第一图像,判断第一图像是否符合第一预设条件。第一预设条件包括第一图像包含检测项对应的检测项点和第一图像满足图像算法处理条件。具体可以是:图像算法处理人员根据经验判断第一图像是否能被图像处理软件处理,判断的依据可以为:第一图像是否太暗或者是否太亮,亦或是第一图像的拍摄角度是否便于图像处理软件处理等。列车检测人员通过观察第一图像上是否包含检测项对应的所有检测项点,例如检测项为转向架上的螺栓,则看第一图像是否包含转向架,以及是否包含转向架上的所有螺栓等,以及螺栓是否清晰可见等。
[0067] 此处的用户可以为图像算法处理人员和列车检测人员,当然也可以为其他具有相关知识的人员。
[0068] 其中,在进行拍照时,可以是操控人员操控相机进行拍摄。在拍摄第一图像后将其发送给示教软件,软件操作人员点击相应的获取第一图像的按钮后,示教软件获取该第一图像并进行显示。也可以是通过示教软件控制相机进行拍摄,例如,示教软件获取用户用于拍照的操作信息后,发出指令控制相机进行拍摄。
[0069] 步骤103,当所述第一图像不符合第一预设条件,所述机器人改变位姿和/或所述相机改变姿态后拍摄得到新的第一图像时,执行步骤102,直至所述第一图像符合第一预设条件;当所述第一图像符合第一预设条件时执行步骤104。
[0070] 当用户(此处可以指图像算法处理人员和列车检测人员)认为第一图像不符合第一预设条件时,会及时通知机器人操控人员改变机器人的位姿和/或相机的姿态,然后重新拍摄第一图像。重新拍摄的第一图像会传输给示教软件,示教软件获取新拍摄的第一图像后进行显示,图像算法处理人员和列车检测人员继续对新的第一图像进行判断。以此类推,直至机器人拍摄的第一图像符合第一预设条件为止。这就表明机器人为此位姿且相机为此姿态的拍摄的第一图像是符合第一预设条件的,在实际检验时,控制机器人到达相应位置、保持相应姿态,控制相机保持相应姿态,即可拍摄出符合要求的第一图像。机器人在拍摄合格的第一图像的位置点为合格的拍照点。通过本步骤,列车检测人员可以即时查看第一图像是否包含所需的检测项点,而图像算法处理人员同样可即时查看所拍第一图像是否满足图像算法处理条件,这样可以将每一个检测项的检测点在整个检测流程中即时确认和调整,而不是等到整个拍摄流程结束后,将拍摄的照片发送给图像算法处理人员,图像算法处理人员通过图像查看软件进行查看,进行判断之后发送给列车检测人员进行判断,然后需要重复几个完整的流程才能完成示教。这样就提高了工作效率。
[0071] 步骤104,获取用户用于确认保存拍照点的第二操作信息,获取所述机器人的拍照点信息,所述拍照点信息包括在所述相机拍摄符合所述第一预设条件的第一图像时所述机器人的位姿信息和所述相机的姿态信息;所述第三操作信息是用户在确定所述第一图像满足所述第一预设条件时进行的操作;将该项检测项信息、标注信息和拍照点信息进行对应保存,以得到检测项示教信息。
[0072] 机器人在拍摄图像时,示教软件会获取机器人的拍照点信息,拍照点信息包括机器人在拍摄图像时的位姿信息和相机的姿态信息,位姿信息是指位置信息和姿态信息,位置信息可以通过三维坐标来表示,姿态信息可以通过机器人的偏航角来表示;相机的姿态信息可以通过相机角度来表示。当图像算法处理人员和列车检测人员确认第一图像符合第一预设条件后,会点击确认保存拍照点选项,这一点击操作可以被称为第二操作,示教软件在获取到这一第二操作信息后,示教软件会对拍照点信息和检测项信息进行对应保存,从而得到该检测项的检测项示教信息。一种检测项示教信息可以通过EXCEL表格的形式表示,参见图5,表格中一行的信息可以表示一个检测项示教信息,检测项示教信息可以包括拍照点信息和检测项信息,其中拍照点信息可以包括机器人的X轴坐标、Y轴坐标、Z轴坐标,偏航角YAW,相机角度;检测项信息可以包括车厢号、位置、大部件、小部件、小部件任务。检测项示教信息还可以包括第一图像的名称、曝光时间、第一图像本身等。当前检测项示教完毕。随后进入下一检测项的示教。
[0073] 步骤105,当用户输入下一个检测项时,执行步骤101‑104。
[0074] 一个检测项示教完毕后,进入下一个检测项的示教。用户输入新的检测项,如果下一个检测项是检测列车的另一个检测部位,则机器人操控人员将机器人移动至可以拍摄到该检测部位的拍摄区域,调整好机器人的位姿以及相机的姿态,进行拍照,然后按照步骤101‑104执行,直至该检测项示教完毕。
[0075] 步骤106,获取用户用于输入生成示教文件的第三操作信息,生成示教文件,所述示教文件包含各个检测项所对应的检测项示教信息。
[0076] 然后,以此类推,直至所有检测项被示教完毕。检测项的数量根据实际情况确定,可以为一项,也可为多项。此处的多项指两个以上(包括两个)。当所有检测项被示教完毕时,用户会点击保存示教文件按钮,用户这一点击操作此处被称为第三操作,示教软件在获取到该第三操作信息后,生成示教文件,示教文件包括各个检测项对应的检测项示教信息。示教文件的具体格式不作限定。具体可以采用EXCEL表格的形式表示,可以采用.json文件的形式表示等。参见图5,示教文件包括多个检测项对应的检测项示教信息。
[0077] 示教完毕后,基于示教文件编写程序输入给机器人,则机器人会在各个检测项对应的拍照点进行拍照,拍摄完毕后,将照片及相关信息输入给图像处理软件进行处理分析,即可得到检测结果。
[0078] 本方法,在机器人拍摄到第一图像后,可以及时发送给示教软件进行显示,以供图像处理人员和列车检测人员进行确认,当第一图像不符合时,可以及时与机器人操控人员进行调整,以便得到符合第一要求的图像,得到符合要求的拍照点。这就使得机器人操控人员、图像处理人员和列车检测人员可以同时进行示教。在示教每一个检测项时,可以及时通知机器人操控人员进行调整,从而得到准确的、较佳的拍照点。不再像之前那样,先是机器人操控人员,拍摄完所有检测项的照片,通过示教软件记录相应的拍照点信息;再将照片发送给图像算法处理人员,图像算法处理人员打开图像查看软件进行查看,进行判断之后发送给列车检测人员进行判断,三个步骤不能同时进行,需要一个步骤完成之后,才能进行下一步骤。如此,每次需要修改时,均需重复一次这三个步骤。这样就使得在采用本方法示教时,耗费时间较短,效率较高,且准确率较高。
[0079] 可选地,所述步骤104之前还包括步骤107,获取用户用于在所述第一图像上进行标注的第四操作信息,生成标注信息;
[0080] 所述步骤104中所述将所述检测项信息和所述拍照点信息进行对应保存,以得到该检测项的检测项示教信息,具体包括:
[0081] 将所述检测项信息、所述拍照点信息和所述标注信息和进行对应保存,以得到该检测项的检测项示教信息。
[0082] 如果图像算法处理人员和列车检测人员均认为第一图像符合第一预设条件。用户可以在第一图像上进行标注,这一标注操作在此处可以被称为第四操作,示教软件在获取到第四操作信息后,对应生成标注信息。标注方式可以为在第一图像上标注标注框,参见图3,以螺栓为例,可以用长方形框在第一图像上进行标注,将第一图像上的螺栓框起来。该标注信息可以为后续图像处理软件在处理第一图像时提供参考,使得图像处理软件更有针对性地去进行识别和检测,进而得到更准确的检测结果。将标注信息、检测项信息和拍照点信息进行对应保存,共同构成该检测项的检测项示教信息。参见图6,标注信息(例如标注框)可以采用.json文件的形式进行保存。
[0083] 可选地,所述步骤106之前还包括:
[0084] 在用户将机器人从一个拍照点至下一个拍照点的过程中,获取所述机器人的航点信息,所述航点信息包括所述机器人的若干个位置点的位置信息;
[0085] 将所述航点信息与所述拍照点信息进行对应保存;
[0086] 所述步骤106中生成的示教文件包含所述航点信息。
[0087] 在对列车进行检测时,有些机器人可以具有预设的固定轨道,例如机器人无人车时,可以提前设置好固定轨道,使无人车沿固定轨道行驶,此时确定了拍照点,由于两个拍照点之间有固定轨道,也就确定了无人车的行驶路线。无人车可以沿预设轨道按照其自身的移动策略从一个拍照点移动至下一个拍照点。此种情况下可以不涉及航点信息。
[0088] 当机器人没有固定的轨道时,例如机器人为无人机时,其按照自身的移动策略从一个拍照点飞行至下一个拍照点时,可能会受到列车的阻碍,不能以最佳路线(距离最短或时间最短)行驶。其飞行路径的需要进行规划,在对无人机进行示教时,可以手持无人机从一个拍照点沿规划的路线移动至下一拍照点。在此过程,机器人移动至某一位置点时,可以机器人操控人员可以通知示教软件操作人员对该位置点的位置信息进行记录。示教软件操作人员可以点击航点按钮,点击航点按钮的操作此处可称为第八操作,示教软件在获取到第八操作信息后,可以获取该位置点的航点信息,航点信息包括位置点的位置信息,如此,可以在两个拍照点之间可以得到若干个航点信息。将航点信息拍照点信息进行对应保存,在生成示教文件时,也将航点信息保存在示教文件中。这若干个航点可以形成无人机从一个拍照点移动至另一个拍照点的行驶路线。如此可以预先规划好最佳路线,供机器人行驶。
[0089] 可选地,所述步骤101之前还包括步骤108,获取列车检测规程,基于所述检测规程生成并显示检测项库,所述检测项库包括用于供用户选择的检测项;
[0090] 所述步骤101具体包括:获取用户从所述检测项库中点选的检测项的第一操作信息,基于用户点选的检测项生成检测项信息。
[0091] 对于不同的列车出于某种原因可能会有不同的检测要求,检测规程也就会不同,需要的检测项也就不同。例如不同的列车可能会有不同的结构,所需检测的部位也就不同。如此,可以将该列车的检测规程导入示教软件,示教软件基于检测规程生成检测项库,用户在输入检测项时,进行点选即可。示教软件基于用户点选的检测项生成检测项信息。参见图
2,可以点选示教软件右侧的两列检测项库,参见图5,对应生成的检测项信息可以包括,车厢号、位置(车辆的左侧还是右侧)、大部件、小部件、小部件任务等。
[0092] 可选地,所述步骤102中获取机器人上的相机拍摄的第一图像,并将所述第一图像进行显示,具体包括:
[0093] 获取用户用于实时显示的第五操作信息,在所述机器人的相机取景的过程中,实时获取所述相机的取景图像,并实时显示所述取景图像;
[0094] 获取用户点选的拍摄按钮的第六操作信息,控制所述相机拍摄得到所述第一图像;
[0095] 获取所述第一图像,并将所述第一图像进行显示。
[0096] 在机器人操控人员控制机器人使相机进行拍摄的过程中,示教软件可以实时获取相机的取景图像(也就是相机打开但并未按下快门形成照片时的相机中拍摄到的图像)并进行显示。示教软件上可以有实时显示图像按钮,软件操控人员点击实时显示图像按钮后,该点击实时显示图像按钮的操作此处称为第五操作信息,获取该第五操作信息后,示教软件实时获取该取景图像,并在示教软件界面上在图像显示区域显示取景图像。如此,当机器人的位姿发生变化或者相机角度发生变化时,相机的取景图像可以实时传递给示教软件供示教软件操控人员查看,当相机拍摄的照片不符合第一预设条件时,可以根据取景图像指导机器人操控人员进行微调。在示教软件操控人员认为可以时,可以点击示教软件上的拍摄按钮(图中取名为拍照点),此点击操作称为第六操作,示教软件在获取到第六操作信息后,控制相机拍摄得到第一图像,此时示教软件的图像显示区域显示的不再是实时的取景图像,而是拍摄得到的第一图像。如此,可以更加便捷地确定拍照点信息。其中,实时显示图像按钮可以和拍摄按钮为两个按钮,也可以为一个按钮,当为一个按钮时,每次点击该按钮时切换一次显示状态。例如显示取景图像时,点击该按钮则显示拍摄的第一图像,当显示第一图像时,点击该按钮则实时显示取景图像。
[0097] 需要说明的是相机角度可以由机器人操控人员控制调节,也可以通过示教软件进行控制调节。
[0098] 可选地,所述步骤102中获取机器人上的相机拍摄的第一图像,并将所述第一图像进行显示,具体包括:
[0099] 获取用户点选的拍摄按钮的第六操作信息,控制所述相机拍摄得到所述第一图像;
[0100] 获取所述第一图像,并将所述第一图像进行显示。
[0101] 当然示教软件也可以不具备实时显示取景图像的功能。只是在用户点选拍摄按钮后,控制相机拍摄得到第一图像,然后获取该第一图像,并将第一图像进行显示。
[0102] 可选地,所述步骤104之前还包括:
[0103] 获取用户点选的预处理的第七操作信息,对所述第一图像进行预处理,并输出预处理图像;所述预处理图像用于辅助用户判断所述第一图像是否所述第一预设条件。
[0104] 在示教软件显示第一图像后,软件操控人员可以点击预处理按钮,此处的点击操作被称为第七操作信息,在获取第一操作信息后,示教软件可以对第一图像进行预处理,以得到预处理图像,并进行显示。参见图4,图4中的图像显示区域显示的为预处理图像,预处理图像可以用于反应第一图像被图像处理软件初步进行识别和检测的结果。在没有增加预处理功能之前,第一图像能否被图像处理软件处理,主要依靠图像算法人员的经验。增加图像预处理功能后,可以帮助图像算法处理人员更准确地判断图像处理软件是否可以处理该第一图像。
[0105] 示教软件界面还可以包括增加、删除航点和拍照点的按钮,航点计数、拍照点计数、相机角度的显示区域。
[0106] 本发明还提供了一种列车检测机器人的示教方法,包括:
[0107] 步骤201,示教软件操作人员在示教设备上打开示教软件,并与机器人进行通信连接。具体可以是基于机器人的IP等与机器人形成通信连接。
[0108] 步骤202,示教软件操作人员在示教软件上输入检测项。
[0109] 步骤203,机器人操控人员将机器人移动至检测位置,调整机器人的位置和相机的姿态;
[0110] 步骤204,机器人操控人员控制相机进行拍照,或者示教软件操控人员通过示教软件控制相机拍照,得到第一图像;
[0111] 步骤205,示教软件获取第一图像,并进行显示;
[0112] 步骤206,示教软件操控人员控制示教软件对第一图像进行预处理,得到预处理图像;
[0113] 步骤207,示教软件操控人员基于第一图像和预处理图像判断第一图像是否符合要求;
[0114] 步骤208,如果不满足要求,则通知机器人操控人员调整机器人的位姿和相机的姿态,然后循环执行步骤204‑206,直至第一图像符合要求,将机器人拍摄符合要求的第一图像的拍照位置确定为该检测项的拍照点;
[0115] 步骤209,如果满足要求,示教软件操控人员则在该第一图像进行标注,并生成标注信息;
[0116] 步骤210,示教软件操控人员控制示教软件获取该第一图像对应的拍照点信息,并将拍照点信息、检测项信息和标注信息对应保存,以得到该检测项的检测项示教信息;
[0117] 步骤211,示教软件操控人员输入下一检测项,然后循环执行步骤202‑210;
[0118] 步骤212,循环执行步骤211,直至所有检测项示教完毕;
[0119] 步骤213,机器人操控人员控制机器人在两个拍照点之间按照预设路线移动,并在预设路线中选取若干个位置点作为航点,通知示教人员进行获取和记录各个航点的航点信息,航点信息包括航点的位置信息;
[0120] 步骤214,软件操控人员控制示教软件将拍照点信息与航点信息进行对应记录。
[0121] 步骤215,软件操控人员控制示教软件生成示教文件,所述示教文件包括各个检测项对应的示教信息以及航点信息。
[0122] 本发明还提供了一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现以上所描述的任意一种方法的步骤。
[0123] 本发明还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现以上所描述的任意一种方法的步骤。