实时拖车联接器定位和跟踪

文档序号:862622 发布日期:2021-03-16 浏览:9次 >En<

阅读说明:本技术 实时拖车联接器定位和跟踪 (Real-time trailer coupling positioning and tracking ) 是由 E·J·拉米雷斯拉诺斯 于 2019-05-01 设计创作,主要内容包括:提供了一种用于检测和定位拖车(200)的拖车联接器(212)的方法。所述方法包括从位于牵引车辆(100)的后部部分上的相机(142)接收图像(143),并且确定所述图像(143)内的感兴趣区域(300)。所述感兴趣区域(300)包括拖车联接器(212)的表示。所述方法包括确定相机平面(310)和道路平面(320)。另外,所述方法包括确定表示所述感兴趣区域(300)内部以及相机平面(310)和道路平面(320)内的对象的三维点云。所述方法还包括从传感器系统(140)接收传感器数据,并且基于3D点云和传感器数据来确定拖车联接器的联接器位置。所述方法还包括向驾驶系统(110)发送指令,从而使牵引车辆(100)沿着后向方向上的路径朝向所述联接器位置自主地驾驶。(A method for detecting and locating a trailer coupling (212) of a trailer (200) is provided. The method includes receiving an image (143) from a camera (142) located on a rear portion of a towing vehicle (100) and determining a region of interest (300) within the image (143). The region of interest (300) includes a representation of a trailer coupling (212). The method comprises determining a camera plane (310) and a road plane (320). Additionally, the method includes determining a three-dimensional point cloud representing objects inside the region of interest (300) and within a camera plane (310) and a road plane (320). The method also includes receiving sensor data from a sensor system (140) and determining a coupler position of the trailer coupler based on the 3D point cloud and the sensor data. The method further includes sending instructions to a steering system (110) to autonomously steer the towing vehicle (100) toward the coupler position along a path in a rearward direction.)

实时拖车联接器定位和跟踪

技术领域

本公开涉及一种用于实时联接器定位和跟踪的方法和设备。

背景技术

拖车(trailer)通常是无动力车辆,它们由动力牵引车辆来拉动。拖车可以是除了其他之外的公用事业拖车、弹出式露营车、旅行拖车、牲畜拖车、平板拖车、封闭式汽车搬运车和船用拖车。牵引车辆可以是汽车、跨界车、卡车、货车、运动型多用途车辆(SUV)、休闲车辆(RV)、或被配置成附接到拖车并且拉动拖车的任何其他车辆。可以使用拖车挂接件(hitch)来将拖车附接到动力车辆。接收方的挂接件安装在牵引车辆上,并且连接到拖车挂接件以形成连接。拖车挂接件可以是球窝关节(ball and socket)、第五轮(fifth wheel)和鹅颈管(gooseneck)或拖车千斤顶。还可以使用其他附接机构。除了在拖车与动力车辆之间的机械连接之外,在一些示例中,拖车还电连接到牵引车辆。由此,该电连接允许拖车从动力车辆的后灯电路获取馈送,从而允许拖车具有与该动力车辆的灯同步的尾灯、转向信号和制动灯。

传感器技术方面的最新进展已经导致了用于车辆的改进的安全性系统。由此,期望提供一种系统,该系统能够实时标识位于牵引车辆后面的拖车的联接器并且定位该联接器,从而使牵引车辆朝向拖车自主地机动以用于自动挂接(hitching)。

发明内容

本公开的一个方面提供了一种用于检测和定位拖车的拖车联接器的方法。该方法包括:在数据处理硬件处、从位于牵引车辆的后部部分上并且与数据处理硬件通信的相机接收图像。该方法还包括:由数据处理硬件来确定图像内的感兴趣区域。所述感兴趣区域包括拖车联接器的表示。该方法还包括:由数据处理硬件基于接收到的图像来确定相机在其中移动的相机平面。另外,该方法包括:由数据处理硬件基于接收到的图像来确定道路平面。该方法还包括:由数据处理硬件来确定表示感兴趣区域内部以及相机平面和道路平面内的对象的三维(3D)点云。该方法包括:在数据处理硬件处、从与数据处理硬件通信的车轮编码器、加速度和车轮角度传感器、以及惯性测量单元中的至少一个来接收传感器数据。该方法包括:在数据处理硬件处、基于3d点云和传感器数据来确定拖车联接器的联接器位置。联接器位置在真实世界坐标中。附加地,该方法包括:从数据处理硬件向驾驶系统发送指令,从而使牵引车辆沿着后向方向上的路径朝向联接器位置自主地驾驶。

本公开的实现方式可以包括以下可选特征中的一个或多个。在一些实现方式中,确定图像内的感兴趣区域包括:从数据处理硬件向显示器发送指令以显示接收到的图像;以及在数据处理硬件处接收对感兴趣区域的用户选择。

在一些示例中,该方法进一步包括:由数据处理硬件将与3D点云相关联的点投影到相机平面或道路平面上。该方法可以包括:由数据处理硬件来确定每个点与相机之间的距离。当与3D点云相关联的点被投影到相机平面上时,该方法包括确定每个点与相机中心之间的距离。当与3D点云相关联的点被投影到道路平面上时,该方法包括确定每个点与相机中心在道路平面上的投影之间的距离。该方法还可以包括:由数据处理硬件基于所确定的距离来确定最短距离,其中与该最短距离相关联的3D点在接收到的图像上的投影表示图像内的联接器像素位置。联接器位置基于联接器像素位置。

在一些示例中,该方法进一步包括:由数据处理硬件基于与该最短距离相关联的3D点与道路平面之间的距离来确定联接器高度。联接器位置包括联接器高度。

该方法可以进一步包括:由数据处理硬件基于3D点云来确定拖车联接器与相机之间的第一距离;以及由数据处理硬件基于第一距离减去相机与车辆挂接球之间的纵向距离来确定拖车联接器与车辆牵引球之间的第二距离。该路径基于第二距离。

在一些实现方式中,确定感兴趣区域的点云包括:执行视觉里程计(VO)算法、同时定位和地图创建(SLAM)算法、以及运动恢复结构(structure from motion)(SfM)算法之一。

确定相机平面可以包括:由数据处理硬件从接收到的图像中确定后置相机的至少三个三维位置;以及由数据处理硬件基于该至少三个三维位置来确定相机平面。在一些示例中,确定道路平面包括:确定相机距支撑牵引车辆的道路的高度;以及使相机平面以相机的高度来移位。

在一些实现方式中,确定道路平面包括:由数据处理硬件从图像中提取包括道路的至少三个特征点;以及由数据处理硬件将3D点云中的点与每一个特征点相关联。附加地,确定道路平面可以包括:由数据处理硬件基于与该至少三个特征点相关联的3D点云中的至少三个点来确定道路平面。在一些示例中,确定相机平面包括:由数据处理硬件来确定相机距该道路的高度;以及由数据处理硬件使道路平面以相机的高度来移位。

本公开的另一方面提供了一种用于检测和定位拖车的拖车联接器的系统。该系统包括:数据处理硬件;以及与数据处理硬件通信的存储器硬件。存储器硬件存储指令,该指令当在数据处理硬件上执行时使数据处理硬件执行包括上面描述的方法的操作。

在附图和以下描述中阐述了本公开的一个或多个实现方式的细节。其他方面、特征和优点从本描述和附图以及从权利要求将是显而易见的。

附图说明

图1是位于拖车前面的示例性牵引车辆的示意性俯视图。

图2是图1中所示的示例性牵引车辆的示意图。

图3是图1的示例性牵引车辆和所选拖车的示意性侧视图。

图4A是牵引车辆和拖车的透视图,其示出了所捕获的图像和感兴趣区域。

图4B是针对所捕获的图像内的感兴趣区域的半密集或密集点云的透视图。

图5A是牵引车辆和拖车的透视图,其示出了所捕获的图像、感兴趣区域和最小感兴趣区域。

图5B是牵引车辆和拖车的透视图,其示出了所捕获的图像、感兴趣区域和最小感兴趣区域。

图6是用于检测和定位与牵引车辆后面的拖车相关联的拖车挂接件的联接器的操作的示例性布置的示意图。

在各种附图中,相似的参考符号指示相似的元件。

具体实施方式

参考图1和2,牵引车辆100(诸如但不限于汽车、跨界车、卡车、货车、运动型多用途车辆(SUV)和休闲车辆(RV))可以被配置成挂接到拖车200并且牵引拖车200。牵引车辆100通过牵引车辆挂接件120连接到拖车200,牵引车辆挂接件120具有连接到拖车挂接件210的车辆挂接球122,拖车挂接件210具有拖车联接器212。期望具有一种能够自主地朝向拖车200倒车的牵引车辆100,该拖车200是根据在用户接口130(诸如,用户显示器132)上显示的拖车200、200a-c的一个或多个表示136、136a-c来标识的。另外,还期望具有由牵引车辆100支持的联接器位置估计和跟踪系统160,该系统能够执行实时跟踪和估计与拖车200相关联的联接器212的位置的算法。因此,联接器位置估计和跟踪系统160使牵引车辆100到拖车200的挂接过程自动化。联接器位置估计和跟踪系统160可以使用单个相机142a和以下传感器中的至少一个:车轮编码器144、加速度和车轮角度传感器146、以及惯性测量单元(IMU)148,用以确定联接器212在图像143内的像素坐标中的位置、以及在三维(3D)世界中的联接器位置。

参考图1-5,在一些实现方式中,牵引车辆100的驾驶员想要牵引位于牵引车辆100后面的拖车200。牵引车辆100可以被配置成:接收与所选拖车200、200a-c的表示相关联的驾驶员选择134的指示。在一些示例中,驾驶员使牵引车辆100朝向所选拖车200、200a-c来机动,而在其他示例中,牵引车辆100朝向所选拖车200、200a-c自主地驾驶。牵引车辆100可以包括驾驶系统110,该驾驶系统110基于例如具有x、y和z分量的驾驶命令而使牵引车辆100跨道路表面10来机动。如所示出的,驾驶系统110包括右前车轮112、112a、左前车轮112、112b、右后车轮112、112c和左后车轮112、112d。驾驶系统110也可以包括其他车轮配置。驾驶系统110还可以包括:制动系统114,其包括与每个车轮112、112a-d相关联的制动器;以及加速系统116,其被配置成调整牵引车辆100的速度和方向。另外,驾驶系统110可以包括悬架系统118,该悬架系统118包括与每个车轮112、112a-d相关联的轮胎、轮胎空气、弹簧、减震器、以及将牵引车辆100连接到其车轮112、112a-d的连杆,并且允许牵引车辆100与车轮112、112a-d之间的相对运动。悬架系统118可以被配置成调整牵引车辆100的高度,从而允许牵引车辆挂接件120(例如,车辆挂接球122)与拖车挂接件210(例如,拖车挂接联接器212)对准,这允许牵引车辆100与拖车200之间的自主连接。

牵引车辆100可以通过相对于牵引车辆100所定义的三个相互垂直的轴(横向轴X、前后轴Y和中央竖直轴Z)的移动的各种组合而跨道路表面移动。横向轴X在牵引车辆100的右侧与左侧之间延伸。沿着前后轴Y的前向驾驶方向被指定为F,也被称为前向运动。另外,沿着前后方向Y的后方或后向驾驶方向被指定为R,也被称为后向运动。当悬架系统118调整牵引车辆100的悬架时,牵引车辆100可以绕X轴和或Y轴倾斜,或者沿着中央竖直轴Z移动。

牵引车辆100可以包括用户接口130。用户接口130经由一个或多个输入机构或屏幕显示器132(例如,触摸屏显示器)从驾驶员接收一个或多个用户命令,和/或向驾驶员显示一个或多个通知。用户接口130与车辆控制器150通信,该车辆控制器150进而与传感器系统140通信。在一些示例中,用户接口130显示牵引车辆100的环境的图像,从而导致用户接口130(从驾驶员)接收到发起一个或多个行为的执行的一个或多个命令。在一些示例中,用户显示器132显示位于牵引车辆100后面的拖车200、200a-c的一个或多个表示136、136a-c。在这种情况下,驾驶员选择拖车200、200a-c的表示136、136a-c,从而使控制器150执行与所选表示136、136a-c的拖车200、200a-c相关联的联接器位置估计和跟踪系统160。在一些示例中,在用户显示器132显示位于牵引车辆100后面的拖车200、200a-c的一个表示136、136a-c的情况下,控制器150可以自动地、或在来自驾驶员的用以自主地附接到拖车200、200a-c的指示时执行与该一个表示136、136a-c的一个拖车200、200a-c相关联的联接器位置估计和跟踪系统160。车辆控制器150包括与非暂时性存储器154(例如,硬盘、闪速存储器、随机存取存储器、存储器硬件)通信的计算设备(或处理器或数据处理硬件)152(例如,具有一个或多个计算处理器的中央处理单元),该非暂时性存储器154能够存储在(一个或多个)计算处理器152上可执行的指令。

牵引车辆100可以包括传感器系统140以提供可靠且鲁棒的驾驶。传感器系统140可以包括不同类型的传感器,这些传感器可以单独地使用或者彼此一起使用以创建对牵引车辆100的环境的感知。对环境的感知用于帮助驾驶员基于传感器系统140检测到的对象和障碍物或者在牵引车辆100的自主驾驶期间做出明智的决策。传感器系统140可以包括一个或多个相机142。在一些实现方式中,牵引车辆100包括后置相机142a,后置相机142a被安装以提供图像143,该图像143具有牵引车辆100的后方驾驶路径的视图。后置相机142a可以包括鱼眼镜头,该鱼眼镜头包括产生强烈的视觉失真的超广角镜头,该视觉失真意图创建宽的全景或半球形图像143。鱼眼相机捕获具有极广角视图的图像143。此外,由鱼眼相机捕获的图像143具有特征性凸面非直线外观。其他类型的相机也可以用于捕获牵引车辆100的后方驾驶路径的图像143。

在一些示例中,传感器系统140还包括与牵引车辆100的一个或多个车轮112、112a-d相关联的一个或多个车轮编码器144。车轮编码器144是将车轮的角位置或运动转换成模拟或数字输出信号的机电设备。因此,车轮编码器144确定车轮112、112a-d已经行进的速度和距离。

传感器系统140还可以包括与牵引车辆100相关联的一个或多个加速度和车轮角度传感器146。加速度和车轮角度传感器146确定牵引车辆100在横向轴X和前后轴Y的方向上的加速度。

传感器系统140还可以包括IMU(惯性测量单元)148,IMU 148被配置成测量牵引车辆的线性加速度(使用一个或多个加速度计)和旋转速率(使用一个或多个陀螺仪)。在一些示例中,IMU 148还确定牵引车辆100的前进方向参考。因此,IMU 148确定牵引车辆100的俯仰(pitch)、侧倾(roll)和偏航(yaw)。

传感器系统140可以包括其他传感器,诸如但不限于雷达、声纳、LIDAR(光检测和测距,其可能需要测量散射光的性质的光学远程感测,以找到远处目标的距离和/或其他信息)、LADAR(激光检测和测距)、超声传感器、立体相机等。车轮编码器144、加速度和车轮角度传感器146、IMU 148、以及任何其他传感器将传感器数据145输出到控制器150,即联接器位置估计和跟踪系统160。

车辆控制器150执行联接器位置估计和跟踪系统160,该联接器位置估计和跟踪系统160从后置相机143a接收图像143并且从其他传感器144、146、148中的至少一个接收传感器数据145,并且基于接收到的数据,联接器位置估计和跟踪系统160确定拖车200的位置,具体地确定与拖车200相关联的联接器212的联接器位置LTC。例如,拖车200、200a-c由驾驶员经由用户接口130来标识。更具体地,联接器位置估计和跟踪系统160确定接收到的(一个或多个)图像143内的联接器212的像素位置。另外,联接器位置估计和跟踪系统160在三维(3D)坐标系或在全局坐标系中确定联接器212的3D位置LTC。在一些示例中,联接器位置估计和跟踪系统160还在3D坐标系和在全局坐标系中确定联接器212相对于道路平面10的联接器高度HTC。联接器位置估计和跟踪系统160包括迭代算法,该算法使针对牵引车辆100和拖车200的挂接和对准过程自动化。

联接器位置估计和跟踪系统160从后置相机142a接收图像143。例如,由于联接器位置估计和跟踪系统160分析从相机142a接收到的图像143的所有序列,而不是仅分析一个或两个图像143,因此联接器位置估计和跟踪系统160在做出其与联接器212的联接器位置LTC有关的确定时更加鲁棒。

在一些实现方式中,联接器位置估计和跟踪系统160指令用户接口130在显示器132上显示接收到的图像143,并且从用户征求对所显示的图像143内的感兴趣区域(ROI)300的选择(图4A和4B)。ROI 300是包括联接器212的边界框。在其他示例中,联接器位置估计和跟踪系统160可以包括联接器标识算法,该算法标识图像143内的联接器212,并且通过作为ROI 300的边界框来形成联接器212的边界。

联接器位置估计和跟踪系统160生成ROI 300内的对象(例如,联接器212)的半密集/密集点云(图4B)。点云是3D空间中的一组数据点,更具体地,点云包括对象外表面上的多个点。

联接器位置估计和跟踪系统160可以使用一种或多种技术来定位点云400中的联接器212。这些技术中的一些包括但不限于:视觉里程计(VO)、同时定位和地图创建(SLAM)、以及运动恢复结构(SfM)。VO、SLAM和SfM框架是公认的理论,并且允许牵引车辆100在自生成的3D点云地图中进行实时定位。VO是一种用于通过分析从相机142a接收到的图像143来确定拖车200、相机142a、联接器212或牵引杆214的位置和取向的方法。VO方法可以提取图像特征点并且在图像序列中对它们进行跟踪。特征点的示例可以包括但不限于:拖车200、联接器212或牵引杆214上的边缘、拐角或滴状体(blob)。VO方法还可以直接使用图像序列中的像素强度作为视觉输入。SLAM方法构造或更新未知环境的地图,而同时保持跟踪一个或多个目标。换句话说,SLAM方法使用接收到的图像143作为外部信息的唯一来源,以建立牵引车辆100和相机142a的位置和取向,而同时构造ROI 300中的对象的表示。SfM方法基于接收到的图像143(即,2D图像)来估计ROI 300中的对象的3D结构。SfM方法可以基于相机142所捕获的图像143的序列来估计相机142a和牵引车辆100的姿态。

在一些实现方式中,在执行VO方法、SLAM方法或SfM方法之前,初始化联接器位置估计和跟踪系统160。在初始化的第一方法期间,联接器位置估计和跟踪系统160向驾驶系统110发送指令或命令190,从而使驾驶系统110将牵引车辆110沿着前后轴Y在笔直方向上(例如,在前向驾驶方向F或后向驾驶方向R上)移动达预定距离。在一些示例中,该预定距离是几厘米。该预定距离可以在5厘米至50厘米之间。沿着前后轴Y的前向F和后向R驾驶移动会使得SLAM或SfM初始化。附加地,沿着前向F和后向R驾驶移动,联接器位置估计和跟踪系统160执行跟踪器算法,以更新由驾驶员所提供或由联接器位置估计和跟踪系统160所确定的图像143内的ROI 300。随着牵引车辆100在后向方向R上移动,拖车200、牵引杆214和联接器212的视角和尺寸在图像143中改变。因此,跟踪器算法基于在沿着前后轴Y的前向F和后向R驾驶移动期间从相机142a接收到的新图像143来更新ROI 300。ROI 300包括联接器212,由此,ROI 300中的特征点或像素强度由联接器位置估计和跟踪系统160来跟踪。由于联接器位置估计和跟踪系统160仅分析图像143的ROI 300部分,因此ROI 300用于过滤掉图像143中不是联接器212的对象。在一些示例中,联接器位置估计和跟踪系统160通过标识ROI300中的二维(2D)特征点来构造联接器212的视觉跟踪器。然后,联接器位置估计和跟踪系统160标识点云地图内的与所标识的2D特征点相对应的3D点。因此,在(由联接器位置估计和跟踪系统160执行的)跟踪算法的每次迭代时,联接器位置估计和跟踪系统160将所选的云点402投影到2D相机图像143上。然后,联接器位置估计和跟踪系统160构造包括所投影的2D点的最小ROI 340。在这种情况下,联接器位置估计和跟踪系统160在牵引车辆移动的同时更新ROI 300,并且生成包含先前选择的云点402的最小ROI 340。

在一些实现方式中,可以通过如下方式来初始化联接器位置估计和跟踪系统160:向驾驶系统110发送指令190,从而使驾驶系统110将牵引车辆100朝向ROI 300的中心移动达预定距离。在一些示例中,该预定距离是几厘米,例如5厘米至50厘米。在这种情况下,联接器位置估计和跟踪系统160在牵引车辆100的机动期间、在接收到的图像143或序列期间更新了ROI 300。

在一些实现方式中,联接器位置估计和跟踪系统160确定3D点云地图的尺度。当仅通过使用单目相机来生成3D点云地图时,它会遭受尺度模糊性的影响,即仅利用单目相机制成的地图仅可按尺度来恢复。然而,如果联接器位置估计和跟踪系统160不知道地图的尺度,则联接器位置估计和跟踪系统160可以通过将VO、SLAM或SfM算法与车辆传感器数据145进行融合来确定地图的尺度。在另一个示例中,联接器位置估计和跟踪系统160基于3D点云地图400中的道路平面320来确定地图的尺度。联接器位置估计和跟踪系统160在地图400中确定从相机位置到道路平面320的距离。地图400的尺度由相机142a的高度(来自相机数据141)除以地图400中的相机位置与道路平面320的所计算的距离来给出。3D点云地图表示环境的结构,而没有提供与地图400内的结构的距离有关的详细信息。因此,联接器位置估计和跟踪系统160确定包括距离信息的地图400的尺度,并且这允许联接器位置估计和跟踪系统160确定联接器212在世界坐标中的位置。

联接器位置估计和跟踪系统160包括平面确定模块162,平面确定模块162被配置成确定相机平面310和道路平面320。在一些实现方式中,平面确定模块162确定相机142a沿着其移动的相机平面310以及道路平面320。为了确定相机平面310,平面确定模块162使用从相机142a接收到的相机142a的至少三个先前3D位置作为相机数据141。相机数据141可以包括内在(intrinsic)参数(例如,焦距、图像传感器格式和主要点)和外在(extrinsic)参数(例如,从3D世界坐标到3D相机坐标的坐标系变换,换句话说,外在参数定义了在世界坐标中的相机中心的位置和相机的前进方向)。另外,相机数据141可以包括相机142a相对于地面(例如,当车辆被装载和卸载时)的最小/最大/平均高度、以及相机142a与车辆挂接球122之间的纵向距离。平面确定模块162基于相机142a的至少三个先前3D位置中的三个点的3D位置来确定相机平面310。在一些示例中,联接器位置估计和跟踪系统160基于相机平面310来确定道路平面320。在一些实现方式中,由于道路平面320是相机平面310以相机142a距地面的高度(在相机信息141中提供)进行的移位,因此平面确定模块162基于相机平面310和相机数据141来确定道路平面320。当用于确定相机平面310的三个3D点共线时,该过程是有用的,在这种情况下,存在与这些3D点所给定的线共面的无限数量的相机平面310。

为了确定道路平面320,平面确定模块162从所捕获的2D图像143中提取与该道路相关联的至少三个特征点。随后,联接器位置估计和跟踪系统160确定该三个特征点在点云400内的3D位置,并且然后联接器位置估计和跟踪系统160基于该三个特征点来计算道路平面320。在一些示例中,联接器位置估计和跟踪系统160基于道路平面320来确定相机平面310。在一些实现方式中,由于相机平面310是道路平面320以相机142a距地面的高度(由相机信息141所提供)进行的移位,因此联接器位置估计和跟踪系统160基于道路平面320和相机信息141来确定相机平面310。

随着牵引车辆100在后向R方向上自主地移动,平面确定模块162可以实时确定和更新平面310、320,或者如果平面确定模块162确定该道路是平坦的,则联接器位置估计和跟踪系统160可以仅确定一次平面310、320。上述方法使用三个点来确定相机平面310或道路平面320。然而,在一些示例中,平面确定模块162可以依赖于多于三个点来确定平面310、320。在这种情况下,联接器位置估计和跟踪系统160使用最小二乘方法、随机抽样共识(RANSAC)方法、支持向量机(SVM)方法、或这些算法的任何变型来确定平面310、320。通过使用多于三个点来确定平面310、320,平面确定模块162增加了对离群值的鲁棒性。

联接器位置估计和跟踪系统160包括被配置成减小ROI 300的尺寸的点云模块减小模块164。在一些实现方式中,联接器位置估计和跟踪系统160在图像143中选择与ROI300中包含的2D点相对应的3D云点402。然后,联接器位置和估计系统160在两个平面(道路平面320和相机平面310)之间使用所选的3D云点402。在两个平面310、320之间的所选3D云点402表示为集合M。

在一些示例中,联接器位置估计和跟踪系统160将M(即,两个平面310、320之间的所选3D云点402)中的点集合投影到相机平面310或道路平面320上。所投影的被提取的点表示为集合J。随后,联接器位置估计和跟踪系统160确定从集合J内的每个点到相机142a的中心的距离。

在一些实现方式中,如果使用初始化的第一方法,则联接器位置估计和跟踪系统160通过将M中的点402投影到当前相机2D图像143上来更新最小ROI 340。然后,联接器位置估计和跟踪系统160确定包含相机帧143(2D图像)中的投影点的经更新的最小框340。联接器位置估计和跟踪系统160更新最小ROI 340,这是因为当时间改变或牵引车辆100移动时,那么3D点402相对于相机142a的视角也在位置上改变。由此,通过将集合M中的点402投影到图像143上,更新了最小ROI 340。

联接器位置估计和跟踪系统160包括联接器检测模块166,该联接器检测模块166被配置成检测联接器212并且确定联接器212的位置LTC。联接器位置估计和跟踪系统160从集合J(即,所投影的被提取的点)中选择点J'。点J'指示来自集合J的点,该点具有点J'与相机142a之间的最短距离。如先前所提及,集合J是集合M中的点402在相机平面310或道路平面320上的投影。因此,当集合J被投影在相机平面310上时,则点J′是最接近于相机中心的点(如图3中所示)。然而,如果集合J被投影在道路平面320上,则点J'是接近于相机中心在道路平面320上的投影的点。在一些示例中,如果J'包括多于一个的点,则联接器位置估计和跟踪系统160确定点J'的平均值或中值。联接器位置估计和跟踪系统160从集合M中确定与J'相关联的点,并且将所确定的点从集合M投影到2D图像143上,这指示联接器212在该图像中的像素位置。

在一些实现方式中,联接器检测模块166通过如下方式来确定联接器位置:在给定可配置整数参数N的情况下,联接器位置估计和跟踪系统160在集合J中选择最接近于相机中心(或相机中心在道路平面上的投影)的N个点。该点集合被表示为J*。联接器检测模块166确定点集合J*的平均值或中值。集合M中与被投影到图像143上的J*相关联的点表示拖车联接器在该图像上的位置的估计。

在一些实现方式中,联接器检测模块166通过执行标识算法以在点云400中找到联接器212来确定联接器位置。该标识算法不尝试在图像143中找到联接器。该标识算法在点云(3D世界)中寻找联接器形状。简化该步骤的另一个选项是:使用集合J中的点在相机移动平面(或道路平面)中运行该标识算法。

联接器位置估计和跟踪系统160包括距离估计模块168,该距离估计模块168被配置成确定拖车联接器212与车辆牵引球122之间的距离DCC(见图3)。距离估计模块168确定被投影到相机移动平面310的J'与相机中心(或被投影在道路平面320的J'与相机中心的投影)之间的第一距离DCJ(作为距相机142a的最小距离)。距离估计模块168基于第一距离DCJ减去相机142a与车辆挂接球122之间的纵向距离DVCC来确定联接器212与挂接球122之间的第二距离DCC。第二距离指示拖车联接器212与车辆牵引球122之间的距离DCC

联接器位置估计和跟踪系统160包括联接器高度模块169,该联接器高度模块169确定联接器212相对于道路平面10的高度HTC。例如,联接器高度模块169可以确定由联接器检测模块166确定的联接器位置LTC与道路平面320之间的距离。联接器高度模块168可以使用道路平面320与联接器之间的最短距离(如果联接器由点云中的多于一个点来表示,则使用平均点来表示该联接器),以确定联接器高度HTC

一旦联接器位置估计和跟踪系统160在全局坐标系中确定了联接器高度HTC以及拖车联接器212与车辆牵引球122之间的距离DCC,则联接器位置估计和跟踪系统160可以指令路径规划系统170发起对路径进行规划。控制器150执行路径规划系统170。路径规划系统170确定如下路径:该路径使牵引车辆100在后向方向R上朝向拖车200自主地驾驶并且与拖车200自主地连接。

当牵引车辆100沿着所规划的路径自主地机动时,路径规划系统170基于连续地从联接器位置估计和跟踪系统160和传感器系统140接收到更新的信息来连续地更新该路径。在一些示例中,对象检测系统沿着所规划的路径来标识一个或多个对象,并且向路径规划系统170发送与该一个或多个对象的位置有关的数据。在这种情况下,路径规划系统170重新计算所规划的路径以避开该一个或多个对象,同时还执行预定的机动以跟随该路径。在一些示例中,路径规划系统确定碰撞概率,并且如果碰撞概率超过预定阈值,则路径规划系统170调整该路径。

一旦路径规划系统170确定了所规划的路径,则车辆控制器150执行驾驶员辅助系统180,驾驶员辅助系统180进而包括路径跟随行为182。路径跟随行为182接收所规划的路径,并且执行向驾驶系统110发送命令190的一个或多个行为182a-b,从而使牵引车辆100沿着所规划的路径自主地驾驶,这使牵引车辆100自主地连接到拖车200。

路径跟随行为182包括:制动行为182a、速度行为182b和转向行为182c。在一些示例中,路径跟随行为182还包括挂接件连接行为和悬架调整行为。每个行为182a-182c会使牵引车辆100采取动作,诸如除了其他之外的后向驾驶、以特定角度转弯、制动、加速、减速。车辆控制器150可以通过控制驾驶系统110、更具体地通过向驾驶系统110发布命令190而使牵引车辆100跨道路表面在任何方向上机动。

可以执行制动行为182a以基于所规划的路径使牵引车辆100停止或使牵引车辆100减速。制动行为182a向驾驶系统110(例如,制动系统(未示出))发送信号或命令190,以使牵引车辆100停止或降低牵引车辆100的速度。

可以执行速度行为182b以基于所规划的路径通过加速或减速来改变牵引车辆100的速度。速度行为182b将信号或命令190发送到制动系统114以用于减速,或发送到加速系统116以用于加速。

可以执行转向行为182c以基于所规划的路径来改变牵引车辆100的方向。由此,转向行为182c向加速系统116发送指示转向角度的信号或命令190,从而使驾驶系统110改变方向。

如先前所讨论,联接器位置估计和跟踪系统160实时确定拖车联接器212的位置并且跟踪联接器212。另外,所确定的位置基于接收到的图像143内的像素并且在全局参考系中。联接器位置估计和跟踪系统160使用距离来找到联接器212,并且被配置成过滤掉不在相机移动平面310与地面平面320之间的云点402。由此,联接器位置估计和跟踪系统160对于实时实现方式是可行的。

联接器位置估计和跟踪系统160从后置相机142a接收图像143,因此,联接器位置估计和跟踪系统160不需要挂接球122或拖车联接器212的尺寸的先验知识。附加地,联接器位置估计和跟踪系统160不会确定图像内的联接器212的位置,而是取而代之,确定ROI 300并且然后确定3D点云400内的联接器位置212。联接器位置估计和跟踪系统160使用标准CPU,该标准CPU使用或不使用GPU或图形加速器。

图6提供了方法600的操作的示例性布置,该方法600用于使用图1-5中描述的系统来检测和定位与位于牵引车辆100后面的拖车200相关联的拖车挂接件210的联接器212。

在框602处,方法600包括:在数据处理硬件152处、从位于牵引车辆100的后部部分上并且与数据处理硬件152通信的相机142a接收一个或多个图像143。在框604处,方法600包括:由数据处理硬件152来确定一个或多个图像143内的感兴趣区域(ROI)300。ROI 300包括拖车联接器212的表示。在框606处,方法600包括:由数据处理硬件152基于接收到的图像143来确定相机在其中移动的相机平面310。在框608处,方法600包括:由数据处理硬件152基于接收到的图像143来确定道路平面320。在框610处,方法600包括:由数据处理硬件152来确定表示ROI 300内部以及相机平面310和道路平面320内的对象的三维(3D)点云400。在框612处,方法600包括:在数据处理硬件152处,从与数据处理硬件152通信的车轮编码器144、加速度和车轮角度传感器146、以及惯性测量单元148中的至少一个来接收传感器数据145。在框614处,方法600包括:在数据处理硬件152处、基于3D点云400和传感器数据145来确定拖车联接器212的联接器位置LTC。联接器位置LTC在真实世界坐标中。在框616处,方法600包括:从数据处理硬件152向驾驶系统110发送指令190,从而使牵引车辆100沿着后向方向R上的路径朝向联接器位置LTC自主地驾驶。

在一些实现方式中,确定图像143内的ROI 300包括:从数据处理硬件152向显示器132发送指令以显示接收到的图像143;以及在数据处理硬件152处接收对ROI 300的用户选择134。

方法600还可以包括:由数据处理硬件152将与3D点云400相关联的点402投影到相机平面310或道路平面320上。方法600还可以包括:由数据处理硬件152来确定每个点与相机142a之间的距离。当与3D点云400相关联的点被投影到相机平面310上时,方法600包括确定每个点与相机142a的中心之间的距离。当与3D点云400相关联的点402被投影到道路平面320上时,方法600包括确定每个点与相机的中心在道路平面上的投影之间的距离。方法600还可以包括:由数据处理硬件152基于所确定的距离来确定最短距离。与距相机中心的最短距离相关联的3D点在接收到的图像143上的投影表示图像143内的联接器像素位置。联接器位置LTC基于联接器像素位置。在一些示例中,方法600包括:由数据处理硬件152基于与该最短距离相关联的3D点与道路平面320之间的距离来确定联接器高度HTC。联接器位置LTC包括联接器高度HTC

在一些实现方式中,方法600包括:由数据处理硬件152基于3D点云400来确定拖车联接器212与相机142a之间的第一距离DCJ。方法600还包括:由数据处理硬件152基于第一距离DCJ减去相机142a与车辆挂接球122之间的纵向距离DVCC来确定拖车联接器212与车辆牵引球122之间的第二距离DCC。该路径基于第二距离DCC

在一些示例中,确定ROI 300的3D点云400包括:执行视觉里程计(VO)算法、同时定位和地图创建(SLAM)算法、以及运动恢复结构(SfM)算法之一。

在一些实现方式中,确定相机平面310包括:从接收到的图像143中确定后置相机142a的至少三个三维位置;以及基于该至少三个三维位置来确定相机平面310。确定道路平面320可以包括:确定相机距支撑牵引车辆的道路的高度;以及使相机平面310以相机142a的高度朝向道路10来移位。

在一些示例中,确定道路平面包括:从图像143中提取包括道路表面10的至少三个特征点;将3D点云400中的点与每一个特征点相关联;以及基于与该至少三个特征点相关联的3D点云中的至少三个点来确定道路平面。在一些示例中,确定相机平面包括:确定相机距该道路的高度;以及使道路平面以相机的高度来移位。

此处描述的系统和技术的各种实现方式可以以数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该程序可在可编程系统上执行和/或解释,该系统包括至少一个可编程处理器(其可以是专用或通用的),该处理器被耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令并且向其传输数据和指令。

这些计算机程序(也被称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性和/或面向对象的编程语言、和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指代用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。

在本说明书中描述的功能性操作和主题的实现方式可以以数字电子电路来实现,或者以计算机软件、固件或硬件(包括在本说明书中公开的结构及其结构等同物)来实现,或者以它们中的一个或多个的组合来实现。此外,本说明书中描述的主题可以被实现为一个或多个计算机程序产品,即在计算机存储介质上编码以供数据处理装置执行或用以控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组成、或它们中的一个或多个的组合。术语“数据处理装置”、“计算设备”和“计算处理器”涵盖了用于处理数据的所有装置、设备和机器,作为示例,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括针对所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如机器生成的电气、光学或电磁信号,该信号被生成以对信息进行编码以用于传输到合适的接收器装置。

类似地,虽然在附图中以特定次序描绘了操作,但是这不应当被理解为需要以所示出的特定次序或以顺序次序来执行这种操作、或者执行所有图示的操作以实现合期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上面描述的实施例中的各种系统组件的分离不应当被理解为在所有实施例中都需要这种分离,并且应当理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。

已经描述了多个实现方式。虽然如此,应当理解的是,可以在不偏离本公开的精神和范围的情况下做出各种修改。相应地,其他实现方式在以下权利要求的范围内。

23页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:轮毂电动机驱动装置用悬架结构

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!