1.本发明属于养殖自动化机械设备领域。具体地,本发明涉及一种用于对小车进行定位的方法、装置和可读存储介质。
背景技术:2.目前在规模化养殖模式下,工作人员需要实时对圈舍中养殖的动物进行监测,以便于及时发现圈舍中存在的异常情况并进行处理。随着养殖规模的扩大,需要监测的圈舍的面积和数量也大幅增加。如果采用人工巡逻的方式对圈舍中的情况进行监测,不仅增加了劳动成本,而且工作人员频繁进入圈舍中,也增加了生物安全风险。因此目前通常在圈舍中设置用于巡检的小车或机器人对圈舍中的情况进行监测。通过在圈舍单元中设置单元轨道,巡检小车放置在轨道上并沿着轨道经过圈舍中的若干个栏位,从而对若干个栏位中的养殖的动物的情况进行监测。在实际应用中,巡检小车需要在每个栏位中间进行巡检,才能实现对栏位处信息的有效采集,因此需要对巡检小车进行定位,以实现巡检小车监测信息的真实性和有效性。
3.目前现有技术中对巡检小车进行定位的方式通常采用rfid或干簧管进行辅助定位。如图1所示,采用rfid进行定位时,需要在巡检小车上配置rfid芯片,同时需要在轨道上提前贴设好rfid卡片,以便于和巡检小车上的rfid芯片通信,例如图1中轨道上的a、b、...、f处等,但是前述rfid卡片有脱落的风险。巡检小车上的主控板和rfid模块连接,当巡检小车靠近轨道上的rfid卡片时,主控板接收到信号,从而判断巡检小车是否到达预定位置。但是该方案中需要工作人员进入圈舍单元内,将事先准备好的rfid卡片按照一定的规则贴设于巡检小车的轨道上,从而实现巡检小车的定位。这种需要工作人员进行贴片的方式不仅费时费力,也增加了人员进入圈舍单元时带入病毒的风险,并且rfid相关设备的价格昂贵也会增加设备成本。还有一种定位方式是通过在轨道上粘贴磁铁,并在巡检小车上设置机械式的闭合开关,利用磁铁吸合开关的行驶实现巡检小车的定位。
4.以上两种方式都需要人力部署,并且进入圈舍单元中安装相应的设备,不仅增加了设备安装成本,也增加了生物安全风险,不利于规模化养殖效率的提升。
5.因此,如何避免工作人员频繁进入圈舍单元并降低巡检设备的安装成本,对提升规模化养殖成效具有重要意义。
技术实现要素:6.本发明解决了利用rfid等进行小车定位时安装成本较高,以及维护成本较高,生物安全风险较大的问题,通过获取电机反馈的脉冲信号的数量确定电机转动的圈数从而计算出小车行驶的距离,根据小车初始位置和行驶的距离识别所述小车到达的位置,从而实现了利用小车上的电机设备即可实现定位,从而避免了工作人员频繁进入圈舍单元的情况,同时定位方式简单,有效降低了巡检小车的配置成本。
7.为至少解决上述技术问题,在本发明的第一方面中,本发明涉及一种用于对电机
驱动的小车进行定位的方法,包括:获取所述电机转动时反馈的脉冲信号的数量,其中所述电机转动一圈对应第一数目的脉冲信号;根据所述脉冲信号的数量与所述第一数目的比值确定所述电机转动的圈数;根据所述电机转动的圈数确定小车的行驶距离;根据所述小车的初始位置和所述行驶距离确定所述小车到达的位置,以实现定位。
8.在一个实施例中,所述获取所述电机转动时反馈的脉冲信号的数量包括:接收同一时间段内小车上若干个电机分别反馈的脉冲信号的数量;对每个电机反馈的脉冲信号的数量进行排序;去除脉冲数量最多和最少的电机反馈的脉冲信号,并保留其余电机反馈的脉冲信号。
9.在一个实施例中,选取所述其余电机反馈的脉冲信号中数量最多的脉冲信号用于确定所述电机转动的圈数。
10.在一个实施例中,所述获取所述电机转动时反馈的脉冲信号的数量包括:在设定时间段内接收所述脉冲信号;响应于接收到所述脉冲信号,将在设定时间段内接收到的脉冲信号的数量与阈值进行比较,若大于阈值,则确定电机出现异常并输出告警。
11.在一个实施例中,响应于未接收到所述脉冲信号,则确定所述电机出现异常并输出告警。
12.在一个实施例中,还包括:接收小车到达指定位置的指示信号;响应于接收到所述指示信号,确定所述小车到达初始位置或终止位置。
13.在一个实施例中,在所述小车到达初始位置或终止位置时,对接收到的电机反馈的脉冲信号进行清零。
14.在一个实施例中,所述根据所述电机转动的圈数确定小车的行驶距离包括:根据所述电机减速比和所述电机转动的圈数确定所述小车驱动轮转动的第一圈数信息;根据所述小车驱动轮半径和所述第一圈数信息计算所述小车驱动轮行驶的距离即为小车的行驶距离。
15.在本发明的第二方面中,本发明还提供了一种用于对电机驱动的小车进行定位的装置,包括处理器和存储器;所述存储器存储有计算机指令,当所述计算机指令由所述处理器运行时,使得设备执行前述第一方面及多个实施例中所述的方法。
16.在本发明的第三方面中,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有用于对电机驱动的小车进行定位的方法的计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现前述第一方面及多个实施例中所述的方法。
17.本发明的方案中通过利用电机反馈的脉冲信号的数量,根据电机转动圈数与对应的脉冲信号的数量的关系,确定电机实际转动的圈数,从而利用脉冲信号数量实现小车移动距离的计算,并根据小车在轨道上的初始位置,计算出小车当前的实际位置。通过将小车上反映电机运行状态的脉冲信号用于小车的定位过程,从而有效减小了小车定位装置的配置复杂度,使得小车安装设置更加灵活、方便。同时这种定位方式不需要对圈舍单元中的轨道等进行特殊设置,不仅减小了设置成本,而且避免了工作人员频繁进入圈舍单元中的情况,有利于提升规模化养殖效率。
附图说明
18.通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目
的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
19.图1是示意性示出的现有采用rfid实现小车定位的方案示意图;
20.图2是示意性示出其中应用本发明的用于对电机驱动的小车进行定位方案的示例性场景的示意图;
21.图3是示意性示出根据本发明实施例的小车在场区中各个圈舍单元中进行巡检的示例性场景示意图;
22.图4是示意性示出根据本发明实施例的用于对电机驱动的小车进行定位的方法的流程图;
23.图5是示意性示出根据本发明实施例的获取电机转动时反馈的脉冲信号的数量的方法示意图;
24.图6是示意性示出根据本发明实施例的对电机反馈的脉冲信号进行异常判定的方法示意图;
25.图7是示意性示出根据本发明实施例的确定小车初始位置或终止位置的方法示意图;
26.图8是示意性示出根据本发明实施例的计算小车的行驶距离的示例性方法示意图;
27.图9是示意性示出根据本发明实施例的用于对电机驱动的小车进行定位的装置的示意图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
30.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本发明。如在本发明说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
31.下面结合附图来详细描述本发明的具体实施方式。
32.图2是示意性示出其中应用本发明的用于对电机驱动的小车进行定位方案的示例性场景100的示意图。图3是示意性示出根据本发明实施例的小车在场区中各个圈舍单元中进行巡检的示例性场景示意图。在本发明的上下文中,前述的场景可以包括用于规模化养殖业的各类环境中,例如牲畜饲牧类的圈舍区(例如养猪场、养牛场等)、各类家禽饲养场(例如养鸡场)、经济兽类驯养场等。基于此,可以理解的是图2和图3仅为了示例性的目的而
将该场景示出为各圈舍单元组成的养猪场。
33.如图2所示,在圈舍单元中存在多个用于养猪的栏位,每个栏位中可以饲养若干猪只,在圈舍单元中的走道上可以布置相应的轨道,并在轨道上设置电机驱动的小车,可以通过小车在轨道上缓慢移动的过程中,对每个栏位中的情况进行监测,并将监测结果上送,从而实现工作人员对每个栏位中的情况进行了解,有效提升圈舍单元中的巡检效率。
34.如图3所示,一个场区200中可以布置多个圈舍单元100(图2中虚线框中可以表示一个圈舍单元),例如设置的圈舍单元
①
至猪舍单元
⑧
。在每个圈舍单元中可以布置有多个栏位,用于饲养设定数量的猪群。例如每个圈舍单元中可以布置12个栏位,为了便于小车对每个栏位中的情况进行监测,可以通过每个圈舍单元中布置的七级走道上设置相应的轨道102,小车可以通过在轨道102上行进(图2中没有完全封闭的方框结构可以表示一个栏位,开口处可以表示该栏位的入口)。每个圈舍单元中可以将栏位分两排对称设置,并在两排圈舍的中间设置七级走道,以便于进入每个圈舍中。可以理解的是,前述圈舍单元的结构仅是示例性的而非限制性的,本领域技术人员还可以根据场区的分布方式、环境等因素采用其他形式的圈舍单元结构,例如全部圈舍单元都并列为一排。
35.在一个实施场景中,前述小车可以通过电机进行驱动,从而实现在每个圈舍单元中行进,以便于对每个栏位进行监测。因此,前述小车上可以配置用于驱动小车的驱动轮的电机,以及用于分析处理电机等部件反馈的信号的主控制器。前述电机例如可以采用无刷电机。小车在行进过程中,电机进行运转时,可以向主控制器发送其脉冲信号,从而便于主控制器对电机状态进行监测。在本发明的方案中,通过将电机运转过程中反馈的脉冲信号(心跳信号),可以实现对小车的定位过程。用于驱动小车的电机转动的越快,电机反馈的脉冲信号发出的频率越高。因此,本发明的方案中通过利用电机反馈的脉冲信号的数量,建立脉冲信号的数量与小车行驶距离的对应关系,从而实现对小车行驶距离的确定,采用这种方式实现了快速、准确地定位过程,并且不需要专门设置定位装置,提升了小车设置的灵活性,减少了小车配置成本。
36.以上结合图2和图3对本发明的方案进行了描述,可以理解的是上面的描述仅仅是示例性的而非限制性的,本领域技术人员根据本发明的教导可以对图2和图3中的场景进行改变而不脱离本发明的精神和实质。例如,可以采用数据处理中心接收电机的脉冲信号,并根据脉冲信号的数量确定小车行驶的距离。前述处理中心例如可以通过一个控制器实现,并将该控制器布置于小车上。进一步地,前述数据处理中心还可以布置于远端,并通过远端对小车的控制实现前述巡检操作。
37.图4是示意性示出根据本发明实施例的用于对电机驱动的小车进行定位的方法300的流程图。可以理解的是图4中所示出的方法流程可以在图1中所示出的示例性场景中实施,因此关于图1所描述内容(例如关于小车)也同样适用于图4。
38.如图4所示,在步骤s301处,获取前述电机转动时反馈的脉冲信号的数量,其中前述电机转动一圈对应第一数目的脉冲信号。在一个应用场景中,前述小车可以采用一个电机进行驱动,主控制器通过获取前述一个电机反馈的脉冲信号的数量,从而实现电机转动情况的计算。前述脉冲信号例如可以采用电机反馈的fg信号(frequency generator,速度反馈信号)。在另一个应用场景中,前述小车上可以对每个驱动轮都设置对应的电机以进行驱动,主控制器在进行数据处理时,可以根据相应的算法对接收到的每个电机的脉冲信号
的数量进行处理,从而选取合适的信号进行计算。在步骤s302处,根据前述脉冲信号的数量与前述第一数目的比值确定前述电机转动的圈数。
39.接下来,在步骤s303处,根据前述电机转动的圈数确定小车的行驶距离。电机转动的圈数和小车驱动轮转动的圈数存在对应的比例关系,从而可以计算小车的行驶距离。最后,在步骤s304处,根据前述小车的初始位置和前述计算得到的小车的行驶距离确定前述小车到达的位置,以实现定位。在一个应用场景中,前述小车的初始位置例如可以选择轨道的一端,此时小车行驶的距离即可对应小车在轨道上的位置。进一步地,小车上的主控制器还可以对小车当前的位置进行存储,以便于在下次进行定位时,以最近一次的定位信息作为初始位置重新进行定位。
40.以上结合图4对本方案中用于对电机驱动的小车进行定位的方法进行了简要的说明,接下来将结合具体步骤的实现方式对本方案中所提供的方法进行详细阐述。
41.图5是示意性示出根据本发明实施例的获取电机转动时反馈的脉冲信号的数量的方法示意图。可以理解的是图5中所示出的方法流程可以在图1中所示出的示例性场景中实施,因此关于图1所描述内容(例如关于小车)也同样适用于图5。
42.如图5所示,当小车上用于驱动的电机有多个时,需要对多个电机反馈的脉冲信号进行处理,从而选取合适的脉冲信号进行定位操作。具体地,获取前述电机转动时反馈的脉冲信号的数量时,在步骤s401处,接收同一时间段内小车上若干个电机分别反馈的脉冲信号的数量。在步骤s402处,对每个电机反馈的脉冲信号的数量进行排序。在步骤s403处,去除脉冲数量最多和最少的电机反馈的脉冲信号,并保留其余电机反馈的脉冲信号。进一步地,在获取前述电机转动时反馈的脉冲信号的数量时,还可以选取其余电机反馈的脉冲信号中数量较多的脉冲信号用于确定所述电机转动的圈数。
43.以上对小车采用多个电机驱动时的脉冲信号的获取方式进行了简要说明,接下来将进一步阐述在获取脉冲信号时可能存在的异常情况以及对前述异常情况的处理方法。
44.图6是示意性示出根据本发明实施例的利用电机反馈的脉冲信号进行异常判定的方法的示意图。可以理解的是图6中所示出的方法流程可以在图1中所示出的示例性场景中实施,因此关于图1所描述内容(例如关于小车)也同样适用于图6。
45.前述小车在巡检过程中还可能出现异常情况,因此本发明的方案中,还设计了相应的保护策略。在一个应用场景中,如图6所示,在步骤s501处,在设定时间段内接收所述脉冲信号,通过对接收到的脉冲信号的情况进行判定,从而确定电机是否发生异常。在步骤502处,若未接收到所述脉冲信号,则确定前述电机出现异常并输出告警。在步骤s503处,若接收到脉冲信号,将在设定时间段内接收到的脉冲信号的数量与阈值进行比较,若大于阈值,则确定电机出现异常并输出告警。
46.以上结合图6对本方案中电机反馈的脉冲信号存在异常的情况进行了说明,接下来将对小车到达临界位置时的处理方式进行说明。
47.图7是示意性示出根据本发明实施例的确定小车初始位置或终止位置的方法600的示意图。可以理解的是图7中所示出的方法流程可以在图1中所示出的示例性场景中实施,因此关于图1所描述内容(例如关于小车)也同样适用于图7。
48.如图7所示,在步骤s601处,接收小车到达指定位置的指示信号。指示信号就是受控制的部件或物体,当它运动到某一特定的位置,由检测元器件发出的信号,该指示信号可
以是模拟量信号、数字量信号或开关量信号。在步骤s602处,若接收到前述指示信号,确定前述小车到达初始位置或终止位置。在一个应用场景中,可以在前述圈舍单元的轨道的初始位置或终止位置(例如圈舍单元的入口或终点)处,设置相应的传感器或开关,当小车移动到轨道的初始位置或终止位置时,可以通过接收对应位置处的传感器或开关发出的到位或离位信号,从而确定小车是否到达指定位置。例如可以在轨道的指定位置处布置接近开关、行程开关、光电开关、位移传感器或其他传感器,如长度,角度,压力等传感器。小车接收到前述位置信号后,则可以通过主控制器再决定出下一个动作。
49.进一步地,在前述小车到达初始位置或终止位置时,对接收到的电机反馈的脉冲信号进行清零,从而保证小车定位过程中的准确性。
50.以上对小车到达初始位置或终止位置时对脉冲信号的处理方式进行了详细的阐述,接下来将以实际举例的方式说明本方案中具体计算小车的行驶距离的方法。
51.图8是示意性示出根据本发明实施例的计算小车的行驶距离的示例性方法示意图。可以理解的是图8中所示出的方法流程可以在图1中所示出的示例性场景中实施,因此关于图1所描述内容(例如关于小车)也同样适用于图8。
52.如图8所示,本方案中根据前述电机转动的圈数确定小车的行驶距离可以采用以下方法实现。在步骤s701处,根据前述电机减速比和前述电机转动的圈数确定所述小车驱动轮转动的第一圈数信息。在步骤s702处,根据前述小车驱动轮半径和前述第一圈数信息计算小车驱动轮行驶的距离即为小车的行驶距离。若小车驱动轮的直径为d,那么驱动轮周长为πd,电机转动一周反馈的fg信号有n个,若小车从a位置行驶到b位置的距离为h,那么小车行驶h的距离对应的脉冲数为h/πd*n,因此如果已知初始位置,那么小车在获取到一定数量的fg信号就到达了相应的位置,实现了定位的功能。
53.在一个应用场景中,主控制器控制电机转动过程中,电机反馈fg信号,电机停止时,电机停止反馈fg信号。假设小车上的电机的减速比为19:1,电机转动一圈,则输出18个脉冲信号,即18个fg信号。电机转动第19圈时,巡检小车驱动轮转动一周,此时电机对应输出342个脉冲信号,则可以根据小车驱动轮半径计算出小车周长,那么342个脉冲信号就走了小车车轮的一个周长的距离。根据上述关系,可以随时计算出小车的行驶距离,进而计算出小车的位置。
54.以上对本方案中的实现方法进行了详细介绍,本方案中所采用的定位方式,小车上的主控制器不需要与rfid通信,直接与电机通信获取电机脉冲信号(fg信号)以进行定位。也省去了rfid、干簧管的敷设过程及测试过程,有效提高了巡检设备的安装和测试效率。小车可以将预先计算好的轨道将参数保留,根据固定的参数并结合电机反馈的脉冲信号找到对应的位置。通过电机反馈的脉冲信号进行定位的方式,如果存在问题,可以通过软件修改优化解决问题,同时也可得知电机功能是否正常。有效避免的维护人员进入单元安装rfid卡片及后期维护,提高了生物安全风险管控。
55.在本发明的另一个方面,本发明还提供了一种用于对电机驱动的小车进行定位的装置10,如图9所示,所述装置10包括处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信,处理器执行前述用于赶猪车的自主导航方法的步骤。进一步地,该装置还可以包括显示器,该显示器与前述的处理器连接,以对前述小车的定位信息进行显示。更进一步地,前述装置还可以设置用于与外部终端设备进行通信
的传输接口,其与前述处理器连接,用于使得处理器以无线方式或有线方式与外部终端设备连接,以便将所述单片机获取的脑电波信号上送。前述传输接口可以包括蓝牙、wifi、红外、短波、以太网和485网络接口中的一种或多种。关于前述装置10所实现的方法,由于在前文中已经进行了详细的说明,故而在此也不再赘述。
56.在本发明的又一个方面,本发明还提供了一种计算机可读存储介质,前述计算机可读存储介质上存储有用于对电机驱动的小车进行定位的方法的计算机可读指令,该计算机可读指令被一个或多个处理器执行时实现前述的方法。
57.在本发明中,前述的可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,计算机可读存储介质可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器rram(resistive random access memory)、动态随机存取存储器dram(dynamic random access memory)、静态随机存取存储器sram(static random-access memory)、增强动态随机存取存储器edram(enhanced dynamic random access memory)、高带宽内存hbm(high-bandwidth memory)、混合存储立方hmc(hybrid memory cube)等等,或者可以用于存储所需信息并且可以由应用程序、模块或两者访问的任何其他介质。任何这样的计算机存储介质可以是设备的一部分或可访问或可连接到设备。本发明描述的任何应用或模块可以使用可以由这样的计算机可读介质存储或以其他方式保持的计算机可读/可执行指令来实现。
58.如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0059]
虽然本发明的实施方式如上,但所述内容只是为便于理解本发明而采用的实施例,并非用以限定本发明的范围和应用场景。任何本发明所述技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。