发明内容
本发明的目的是针对现有技术所存在的缺陷,提供一种基于自动驾驶的牵引方法和装置,本发明通过控制器计算拉线编码器的绳索移动距离以及电位器对应的电阻数据,然后分别将绳索移动距离和电阻数据与预设的数据进行比较,根据比较结果,生成相应的控制信号,实现对自动驾驶车辆的横向、纵向控制。
为实现上述目的,本发明第一方面提供了一种基于自动驾驶的牵引方法,所述牵引方法应用在自动驾驶车辆中,所述自动驾驶车辆中安装有牵引装置,所述牵引装置包括:控制器、拉线编码器、电位器和L型支架,所述牵引方法包括:
所述控制器接收所述拉线编码器采集的绳索被拉动时对应的第一电信号,根据所述第一电信号计算所述拉线编码器的绳索移动距离;
所述控制器接收所述电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号,根据所述第二电信号计算所述电位器对应的电阻数据;
将所述绳索移动距离与预设的长度范围集进行比较,得到第一比较结果;
将所述电阻数据分别与预设的第一电阻阈值和预设的第二电阻阈值进行比较,得到第二比较结果;
根据所述第一比较结果和所述第二比较结果,生成纵向控制信号和/或横向控制信号;
根据所述纵向控制信号和/或横向控制信号进行纵向和/或横向控制。
优选的,所述控制器接收所述拉线编码器采集的绳索被拉动时对应的第一电信号之前,所述方法还包括:
所述控制器接收第一控制信号,并根据所述第一控制信号控制所述拉线编码器启动;
当所述拉线编码器启动后,检测所述绳索的机械运动信息,根据所述机械运动信息生成第一电信号。
进一步优选的,所述控制器包括电源管理模块和信号处理模块,所述方法还包括:
所述电源管理模块接收第一控制信号,并根据所述第一控制信号控制所述拉线编码器启动;
当所述拉线编码器启动后,检测所述绳索的机械运动信息,根据所述机械运动信息生成第一电信号,并发送给所述信号处理模块。
优选的,所述L型支架通过转轴与所述电位器连接,所述绳索带动所述L型支架运动时,所述L型支架带动所述转轴运动,所述转轴与所述电位器的接触点发生变化,当所述控制器接收所述电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号之前,所述方法还包括:
所述控制器接收第二控制信号,并根据所述第二控制信号控制所述电位器启动;
当所述电位器启动后,检测所述转轴与所述电位器的接触点的位置变化对应的电阻变化,生成第二电信号。
优选的,所述预设的长度范围集包括第一预设的长度范围、第二预设的长度范围和第三预设的长度范围,所述根据所述纵向控制信号和/或横向控制信号进行纵向和/或横向控制具体包括:
当所述第一比较结果为所述绳索移动距离处于所述第一预设的长度范围,且所述第二比较结果为所述电阻数据不大于所述预设的第一电阻阈值时,所述横向控制信号为左转,所述纵向控制信号为前进,控制所述车辆前进且左转;或者,
当所述第一比较结果为所述绳索移动距离处于所述第二预设的长度范围,且所述第二比较结果为所述电阻数据不大于所述预设的第一电阻阈值时,所述横向控制信号为左转,所述纵向控制信号为后退,控制所述车辆后退且左转;或者,
当所述第一比较结果为所述绳索移动距离处于所述第一预设的长度范围,且所述第二比较结果为所述电阻数据不小于所述预设的第二电阻阈值时,所述横向控制信号为右转,所述纵向控制信号为前进,控制所述车辆前进且右转;或者,
当所述第一比较结果为所述绳索移动距离处于所述第二预设的长度范围,且所述第二比较结果为所述电阻数据不小于所述预设的第二电阻阈值时,所述横向控制信号为右转,所述纵向控制信号为后退,控制所述车辆后退且右转。
进一步优选的,所述方法还包括:
当所述第一比较结果为所述绳索移动距离处于所述第三预设的长度范围时,根据所述横向控制信号进行控制。
优选的,所述方法还包括:
当第二比较结果处于所述预设的第一电阻阈值和预设的第二电阻阈值之间时,根据所述纵向控制信号进行控制。
优选的,所述预设的第一电阻阈值为25Ω;所述预设的第二电阻阈值为15Ω。
本发明第二方面提供了一种基于自动驾驶的牵引系统,所述牵引系统包括:
处理模块,用于接收所述拉线编码器采集的绳索被拉动时对应的第一电信号,根据所述第一电信号计算所述拉线编码器的绳索移动距离;以及,
接收所述电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号,根据所述第二电信号计算所述电位器对应的电阻数据;
将所述绳索移动距离与预设的长度范围进行比较,得到第一比较结果;
将所述电阻数据分别与预设的第一电阻阈值和预设的第二电阻阈值进行比较,得到第二比较结果;
根据所述第一比较结果和所述第二比较结果,生成纵向控制信号和/或横向控制信号;
根据所述纵向控制信号和/或横向控制信号进行纵向和/或横向控制。
本发明第三方面提供了一种电子设备,包括:存储器、处理器和收发器;
所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现上述第一方面所述的方法步骤;
所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
本发明实施例提供的一种基于自动驾驶的牵引方法,该方法通过控制器计算拉线编码器的绳索移动距离以及电位器对应的电阻数据,然后分别将绳索移动距离和电阻数据与预设的数据进行比较,根据比较结果,生成相应的控制信号,实现对自动驾驶车辆的横向、纵向控制。该方法解决了自动驾驶车辆在恶劣天气和复杂环境中车辆无法行驶的问题,其计算过程简单,从一定程度上节省了为车载传感器配套复杂算法的成本,并且在匹配不同的车辆时,无需重新标定适配,适用性和匹配性很高。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明实施例提供的一种基于自动驾驶的牵引方法,应用在自动驾驶车辆中,实现自动驾驶车辆在车载传感器或遥控器损坏情况下或者在恶劣天气和复杂环境中,车辆无法正常行驶的应急控制功能。
图1为本发明实施例一提供的一种基于自动驾驶的牵引方法流程图,下面结合图1,对该方法进行说明。本发明实施例提供的一种基于自动驾驶的牵引方法,主要包括以下步骤:
步骤101,控制器接收拉线编码器采集的绳索被拉动时对应的第一电信号,根据第一电信号计算拉线编码器的绳索移动距离;
具体的,在自动驾驶车辆的前部安装牵引装置。牵引装置包括壳体、控制器、拉线编码器、电位器和L型支架。
下面介绍牵引装置中各个部件的连接关系及其功能。壳体与自动驾驶车辆固定连接。控制器、拉线编码器、电位器和L型支架均容置于壳体内。L型支架与电位器的转轴固定连接。拉线编码器的绳索可以穿过L型支架穿出壳体外,因此当绳索被左右拉动时,会带动L型支架旋转,从而带动转轴旋转,使得转轴与电位器的接触点发生变化。控制器分别与拉线编码器和电位器电连接。
拉线编码器可以检测绳索出绳长度,并且将伸缩的机械位移量转换成可计量的呈线性比例的电信号。需要说明的是,绳索被拉出或收回的过程中,张力保持不变。
电位器可以检测绳索旋转的角度,其实质是一个滑动变阻器,当转轴转动时,转轴与电位器的接触点发生变化时,电位器的电阻会发生变化,从而引起电位器输出电压的变化。在一个具体的例子中,电位器可以为空心轴电位器。
控制器包括电源管理模块和信号处理模块。其中,电源管理模块能够为拉线编码器和电位器提供稳定的电压以及上下电时序控制,在一个具体的例子中,电压为12V。信号处理模块可以接收拉线编码器和电位器发送的电信号,并且对电信号进行逻辑判断和处理,转换成能够被自动驾驶车辆识别的信号,从而实现对车辆的控制。在一个实例中,控制器可以是由XP100芯片构成的单片机处理系统。
在步骤101之前,拉线编码器要判断绳索是否被拉动及绳索被拉动的长度。具体过程如下:
首先,控制器接收第一控制信号,并根据第一控制信号控制拉线编码器启动。其中,第一控制信号可以理解为开启或关闭拉线编码器工作的控制指令信号。当第一控制信号为开启拉线编码器工作的控制指令信号时,控制器控制拉线编码器启动。进一步具体的,控制器的电源管理模块接收第一控制信号,根据第一控制信号为拉线编码器供电,从而实现控制拉线编码器启动的功能。
其次,当拉线编码器启动后,检测绳索的机械运动信息,根据机械运动信息生成第一电信号。绳索的机械运动信息可以理解为绳索是否被拉动或者拉动的长度。第一电信号可以理解为绳索被拉动时,产生的电压信号。拉线编码器将第一电信号发送给控制器的信号处理模块,信号处理模块对第一电信号进行解析处理,确定绳索移动距离。
步骤102,控制器接收电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号,根据第二电信号计算电位器对应的电阻数据;
具体的,第二电信号可以理解为转轴转动改变了转轴和电位器之间的接触点产生的电阻变化引起的电压变化的信号。
在步骤102之前,电位器要进行绳索旋转角度的检测,具体过程如下:
控制器接收第二控制信号,并根据第二控制信号控制电位器启动;第二控制信号可以理解为开启或关闭电位器工作的控制指令信号。当第二控制信号为开启电位器工作的控制指令信号时,控制器控制电位器启动。更具体的是,控制器的电源管理模块接收第二控制信号,根据第二控制信号为电位器供电,从而使得电位器的开始工作。
当电位器启动后,检测转轴与电位器的接触点的位置变化对应的电阻变化,生成第二电信号。具体的,电位器启动后,也就是电位器在电路中获得输入电压后,当绳索被左右拉动时,带动L型支架进行旋转,从而带动转轴旋转,转轴与电位器的接触点的位置发生变化,引起电位器的电阻值的变化,进而改变电位器的输出电压。之后,电位器将第二电信号发送给控制器的信号处理模块,方便信号处理模块对第二电信号进行解析处理,确定绳索移动的方向信息。当然这个步骤也可以执行在步骤101之前。
步骤103,将绳索移动距离与预设的长度范围集进行比较,得到第一比较结果;
具体的,预设的长度范围集指的是绳索被拉出拉线编码器的长度的范围的集合。通过预设的长度范围集的设置,控制器的信号处理模块可以判断车辆绳索移动距离处于哪个区间,进而根据绳索移动距离进行后续的处理。预设的长度范围集包括第一预设的长度范围、第二预设的长度范围和第三预设的长度范围。
在一个具体的例子中,为了更加清楚说明本申请的技术方案,绳索移动距离用L表示,假设绳索的总长度为4m,第一预设的长度范围为1.5m≦L<4m。第二预设的长度范围为:0.5m≦L<1m。第三预设的长度范围为:1m≦L<1.5m。
在一个可选的方案中,预设的长度范围集还包括第四预设的长度范围,比如第四预设的长度范围为:0m≦L<0.5m。
步骤104,将电阻数据分别与预设的第一电阻阈值和预设的第二电阻阈值进行比较,得到第二比较结果;
具体的,电位器具有其工作电阻范围。预设的第一电阻阈值和预设的第二电阻阈值是根据电位器的工作电阻范围确定的。即预设的第一电阻阈值和预设的第二电阻阈值均在该电位器的工作电阻范围内。
在一个具体的例子中,电位器的工作电阻范围为:10Ω~30Ω。预设的第一电阻阈值为25Ω;预设的第二电阻阈值为15Ω。需要说明的是,控制器默认电位器工作电阻范围的中间值为零点,在本例中零点即为20Ω。
步骤105,根据第一比较结果和第二比较结果,生成纵向控制信号和/或横向控制信号;
具体的,控制器中的信号处理模块根据第一比较结果和第二比较结果,生成相应的控制信号。第一比较结果是根据绳索移动距离是处于哪个预设的长度范围内,信号处理模块根据不同的预设长度范围生成不同的纵向控制信号。纵向控制信号可以理解为档位选择的控制信号。第二比较结果是根据电阻值与预设的第一电阻值和预设的第二电阻值的比较,信号处理模块根据不同的比较结果对应生成不同的横向控制信号。横向控制信号可以理解为车辆转向选择的控制信号。纵向控制信号和横向控制信号均是经控制器的信号处理模块进行生成并处理之后能被自动驾驶车辆进行识别接收的信号,例如RS232信号和CAN信号。
步骤106,根据纵向控制信号和/或横向控制信号进行纵向和/或横向控制。
具体的,纵向控制指的是对车辆前进、后退或原地不动的控制。横向控制指的是对车辆左转、右转或不进行转向的控制。此处要解释的是,并非控制器直接实现对车辆的纵向或横向控制,而是控制器将纵向控制信号和/或横向控制信号通过CAN总线等发送给自动驾驶车辆的底层控制器,从而实现对车辆的间接控制功能。由于本申请的牵引方法不依赖于传感器,因此,能实现自动驾驶车辆在恶劣天气和复杂环境中正常行驶的功能,并且,也可以实现车载传感器或遥控器损坏情况下的应急控制。
进一步具体的,当第一比较结果为绳索移动距离处于第一预设的长度范围,且第二比较结果为电阻数据不大于预设的第一电阻阈值时,横向控制信号为左转,纵向控制信号为前进,控制车辆前进且左转;或者,
当第一比较结果为绳索移动距离处于第二预设的长度范围,且第二比较结果为电阻数据不大于预设的第一电阻阈值时,横向控制信号为左转,纵向控制信号为后退,控制车辆后退且左转;或者,
当第一比较结果为绳索移动距离处于第一预设的长度范围,且第二比较结果为电阻数据不小于预设的第二电阻阈值时,横向控制信号为右转,纵向控制信号为前进,控制车辆前进且右转;或者,
当第一比较结果为绳索移动距离处于第二预设的长度范围,且第二比较结果为电阻数据不小于预设的第二电阻阈值时,横向控制信号为右转,纵向控制信号为后退,控制车辆后退且右转。由此,控制器的信号处理模块只需要进行数据的简单比较,根据比较结果,生成相应的控制信号即可,无需大量复杂算法的植入,因此,节省了在车载传感器中植入大量复杂算法的成本,并且在匹配不同的车辆时,无需重新标定适配,适用性和匹配性很高。
在一个具体的例子中,电阻用S表示。如果L=3m,S=12Ω,那么绳索的移动距离L处于第一预设的长度范围即1.5m≦L<4m,且电阻数据S≦15Ω即电阻数据不大于预设的第一电阻阈值时,控制器的信号处理模块生成车辆前进且左转的控制信号,并将此控制信号发送给自动驾驶车辆的底层控制器,从而实现对车辆前进且左转的控制。
在另一个具体的例子中,电阻用S表示。如果L=0.8m,S=28Ω,那么绳索的移动距离L处于第二预设的长度范围即0.5m≦L<1m,且电阻数据S≧25Ω即电阻数据不小于预设的第二电阻阈值时,控制器的信号处理模块生成车辆后退且右转的控制信号,并将此控制信号发送给自动驾驶车辆的底层控制器,从而实现对车辆后退且右转的控制。
需要说明的是,为保证引导物的安全性,当绳索的移动距离L处于第二预设的长度范围时,作为优选方案,控制器需要等待一定的时间,比如3S,再将纵向控制信号为后退的控制信号发送给自动驾驶车辆的底层控制器。
在一个可选的方案中,当第一比较结果为绳索移动距离处于第三预设的长度范围时,根据横向控制信号进行控制。
示例而非限定,当第一比较结果处于1m≦L<1.5m时,控制器生成的是空挡控制信号,此时,只需要根据横向控制信号进行车辆的控制即可,比如对于能够进行原地转向的车辆来说实现原地左右转向。
在另一个可选的方案中,当第二比较结果处于预设的第一电阻阈值和预设的第二电阻阈值之间时,根据纵向控制信号进行控制。
例如,当15Ω<S<25Ω时,横向控制信号为不进行转向的信号,此时,只需要根据纵向控制信号进行车辆的控制即可,比如控制车辆前进或后退。
进一步地,当第一比较结果处于第四预设的长度范围时,即0m≦L<0.5m时,控制器不生成任何控制信号,这样可以保证引导物与车辆之间的安全距离。
本发明实施例提供的一种基于自动驾驶的牵引方法和装置,通过控制器计算拉线编码器的绳索移动距离以及电位器对应的电阻数据,然后分别将绳索移动距离和电阻数据与预设的数据进行比较,根据比较结果,生成相应的控制信号,实现对自动驾驶车辆的横向、纵向控制。该方法解决了自动驾驶车辆在恶劣天气和复杂环境中车辆无法行驶的问题,其计算过程简单,从一定程度上节省了为车载传感器配套复杂算法的成本,并且在匹配不同的车辆时,无需重新标定适配,适用性和匹配性很高。
图2为本发明实施例二提供的一种基于自动驾驶的牵引系统的模块结构图,用以执行图1所示的方法,如图2所示,该牵引系统200包括:
处理模块201,用于接收拉线编码器采集的绳索被拉动时对应的第一电信号,根据第一电信号计算拉线编码器的绳索移动距离;
处理模块201,还用于接收电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号,根据第二电信号计算电位器对应的电阻数据;
将绳索移动距离与预设的长度范围进行比较,得到第一比较结果;
将电阻数据分别与预设的第一电阻阈值和预设的第二电阻阈值进行比较,得到第二比较结果;
根据第一比较结果和第二比较结果,生成纵向控制信号和/或横向控制信号;
根据纵向控制信号和/或横向控制信号进行纵向和/或横向控制。
在本实施例提供的一个具体实现方式中,处理模块201还用于:
接收第一控制信号,并根据第一控制信号控制拉线编码器启动;
当拉线编码器启动后,检测绳索的机械运动信息,根据机械运动信息生成第一电信号。
在本实施例提供的另一个具体实现方式中,处理模块201还用于:
接收第一控制信号,并根据第一控制信号控制拉线编码器启动;
当拉线编码器启动后,检测绳索的机械运动信息,根据机械运动信息生成第一电信号,并发送给信号处理模块。
在本实施例提供的另一个具体实现方式中,当控制器接收电位器采集的绳索被拉动时带动L型支架运动对应的第二电信号之前,处理模块201具体用于:
接收第二控制信号,并根据第二控制信号控制电位器启动;
当电位器启动后,检测转轴与电位器的接触点的位置变化对应的电阻变化,生成第二电信号。
在本实施例提供的另一个具体实现方式中,预设的长度范围集包括第一预设的长度范围、第二预设的长度范围和第三预设的长度范围,处理模块201具体用于:
当第一比较结果为绳索移动距离处于第一预设的长度范围,且第二比较结果为电阻数据不大于预设的第一电阻阈值时,横向控制信号为左转,纵向控制信号为前进,控制车辆前进且左转;或者,
当第一比较结果为绳索移动距离处于第二预设的长度范围,且第二比较结果为电阻数据不大于预设的第一电阻阈值时,横向控制信号为左转,纵向控制信号为后退,控制车辆后退且左转;或者,
当第一比较结果为绳索移动距离处于第一预设的长度范围,且第二比较结果为电阻数据不小于预设的第二电阻阈值时,横向控制信号为右转,纵向控制信号为前进,控制车辆前进且右转;或者,
当第一比较结果为绳索移动距离处于第二预设的长度范围,且第二比较结果为电阻数据不小于预设的第二电阻阈值时,横向控制信号为右转,纵向控制信号为后退,控制车辆后退且右转。
在本实施例提供的另一个具体实现方式中,当第一比较结果为绳索移动距离处于第三预设的长度范围时,处理模块201具体用于:
根据横向控制信号进行控制。
在本实施例提供的另一个具体实现方式中,当第二比较结果处于预设的第一电阻阈值和预设的第二电阻阈值之间时,处理模块201具体用于:
根据纵向控制信号进行控制。
在本实施例提供的另一个具体实现方式中,预设的第一电阻阈值为25Ω;预设的第二电阻阈值为15Ω。
本发明实施例二提供的一种基于自动驾驶的牵引系统,可以执行上述方法实施例中的方法步骤,其实现原理和技术效果类似,在此不再赘述。
图3为本发明实施例三提供的一种电子设备的结构示意图。如图3所示,该电子设备300可以包括:处理器31(例如CPU)、存储器32、收发器33;收发器33耦合至处理器31,处理器31控制收发器33的收发动作。存储器32中可以存储各种指令,以用于完成各种处理功能以及实现本发明实施例电子设备执行的方法步骤。优选的,本发明实施例涉及的电子设备还可以包括:电源34、系统总线35以及通信端口36。系统总线35用于实现元件之间的通信连接。上述通信端口36用于电子设备与其他外设之间进行连接通信。
该图3中提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-Volatile Memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器CPU、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM动力系统控制方法、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。