CN114670865A - 自动驾驶车辆的行驶路径生成方法、装置及计算机程序 - Google Patents
自动驾驶车辆的行驶路径生成方法、装置及计算机程序 Download PDFInfo
- Publication number
- CN114670865A CN114670865A CN202111412373.6A CN202111412373A CN114670865A CN 114670865 A CN114670865 A CN 114670865A CN 202111412373 A CN202111412373 A CN 202111412373A CN 114670865 A CN114670865 A CN 114670865A
- Authority
- CN
- China
- Prior art keywords
- point
- polynomial function
- travel route
- travel
- autonomous vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004590 computer program Methods 0.000 title claims abstract description 21
- 230000006870 function Effects 0.000 claims description 166
- 230000008859 change Effects 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 4
- 238000010191 image analysis Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/10—Input arrangements, i.e. from user to vehicle, associated with vehicle functions or specially adapted therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K35/00—Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
- B60K35/20—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor
- B60K35/21—Output arrangements, i.e. from vehicle to user, associated with vehicle functions or specially adapted therefor using visual output, e.g. blinking lights or matrix displays
- B60K35/22—Display screens
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/18—Propelling the vehicle
- B60W30/18009—Propelling the vehicle related to particular drive situations
- B60W30/18163—Lane change; Overtaking manoeuvres
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/06—Road conditions
- B60W40/072—Curvature of the road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0013—Planning or execution of driving tasks specially adapted for occupant comfort
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D15/00—Steering not otherwise provided for
- B62D15/02—Steering position indicators ; Steering position determination; Steering aids
- B62D15/025—Active steering aids, e.g. helping the driver by actively influencing the steering system after environment evaluation
- B62D15/0255—Automatic changing of lane, e.g. for passing another vehicle
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
- B60W2050/146—Display means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2540/00—Input parameters relating to occupants
- B60W2540/18—Steering angle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2552/00—Input parameters relating to infrastructure
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4041—Position
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2720/00—Output or target parameters relating to overall vehicle dynamics
- B60W2720/24—Direction of travel
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2300/00—Purposes or special features of road vehicle drive control systems
- B60Y2300/10—Path keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Y—INDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
- B60Y2300/00—Purposes or special features of road vehicle drive control systems
- B60Y2300/18—Propelling the vehicle
- B60Y2300/18008—Propelling the vehicle related to particular drive situations
- B60Y2300/18166—Overtaking, changing lanes
Landscapes
- Engineering & Computer Science (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
Abstract
本发明提供自动驾驶车辆的行驶路径生成方法、装置及计算机程序。本发明各种实施例的自动驾驶车辆的行驶路径生成方法通过计算装置执行,其包括:获取与起点及终点有关的信息的步骤;设置上述起点与上述终点之间的中间点的步骤;以及生成连接上述起点、设置的上述中间点及上述终点的行驶路径的步骤,生成的上述行驶路径可以为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,可由关于自动驾驶车辆的行驶角度的多项式函数表达,可满足关于曲率的一个以上的连续性条件。
Description
技术领域
本发明的各种实施例涉及自动驾驶车辆的行驶路径生成方法、装置及计算机程序。
背景技术
为了方便驾驶车辆的用户,呈现出安装各种传感器和电子装置等(例:高级驾驶员辅助系统(Advanced Driver Assistance System,ADAS))的趋势,尤其,正在积极研发一种车辆的自动驾驶系统(Autonomous driving System)技术。
其中,自动驾驶系统是指在无需驾驶人员干预的情况下识别周围环境并根据所识别的周围环境自动行驶至指定目的地的车辆。
在现有的自动驾驶系统中,当自动驾驶车辆要从起点行驶至终点时,基于地图数据生成起点至终点为止的行驶路径,控制自动驾驶车辆使其沿着生成的行驶路径行驶。
但是,在现有的自动驾驶系统中生成的行驶路径只是简单地连接起点和终点来生成行驶路径,因此具有如下的问题:未考虑沿着相应行驶路径行驶的自动驾驶车辆的机械特性,使得自动驾驶车辆强行改变方向或者行驶时的驾驶体验不佳。
发明内容
本发明所要解决的问题涉及如下的自动驾驶车辆的行驶路径生成方法、装置及计算机程序:在起点与终点之间设置一个以上的中间点,生成连接起点、一个以上的中间点及终点的行驶路径,考虑行驶相应行驶路径的自动驾驶车辆的行驶角度和转向角度(车辆的方向盘角度)来连接起点、一个以上的中间点及终点,从而可使自动驾驶车辆沿着行驶路径平稳顺畅地行驶。
本发明所要解决的问题并不局限于以上所提及的问题,本技术领域的普通技术人员可通过下述记载明确理解未提及的其他问题。
用于解决如上所述的问题的本发明一实施例的自动驾驶车辆的行驶路径生成方法通过计算装置执行,其可包括:获取与起点及终点有关的信息的步骤;设置上述起点与上述终点之间的中间点的步骤;以及生成连接上述起点、设置的上述中间点及上述终点的行驶路径的步骤,生成的上述行驶路径可以为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,可以由关于自动驾驶车辆的行驶角度的多项式函数表达,可满足关于曲率的一个以上的连续性条件。
在各种实施例中,设置的上述中间点可包括第一中间点及第二中间点,生成上述行驶路径的步骤可包括:推定与连接上述起点和上述第一中间点的第一单位行驶路径相对应的第一多项式函数的步骤;推定与连接上述第一中间点和上述第二中间点的第二单位行驶路径相对应的第二多项式函数的步骤;推定与连接上述第二中间点和上述终点的第三单位行驶路径相对应的第三多项式函数的步骤;利用与上述起点、设置的上述中间点及上述终点有关的信息和关于上述曲率的一个以上的连续性条件来确定推定的上述第一多项式函数、推定的上述第二多项式函数及推定的上述第三多项式函数的步骤;以及通过连接确定的上述第一多项式函数、确定的上述第二多项式函数及确定的上述第三多项式函数来生成上述自动驾驶车辆的最终行驶路径的步骤。
在各种实施例中,推定与上述第一单位行驶路径相对应的第一多项式函数的步骤可包括:设置关于上述起点及上述终点的边界条件(Boundary condition)的步骤;以及推定连接上述起点与上述第一中间点的上述第一多项式函数的步骤,基于设置的上述边界条件的数量来确定推定的上述第一多项式函数的阶数。
在各种实施例中,推定与上述第一单位行驶路径相对应的第一多项式函数的步骤可包括:推定连接上述起点与上述第一中间点的上述第一多项式函数的步骤;基于推定的上述第一多项式函数的阶数来确定所要设置的关于上述起点及上述终点的边界条件的种类及数量的步骤;以及基于确定的上述边界条件的种类及数量设置上述边界条件的步骤。
在各种实施例中,推定与上述第二单位行驶路径相对应的第二多项式函数的步骤可包括:接收关于上述自动驾驶车辆的行驶路径的平滑度(Smoothness)的步骤;基于接收的上述行驶路径的平滑度设置关于上述曲率的一个以上的连续性条件的步骤;以及推定连接上述第一中间点与上述第二中间点的上述第二多项式函数的步骤,基于设置的关于上述曲率的一个以上的连续性条件来确定推定的上述第二多项式函数的阶数。
在各种实施例中,推定与上述第三单位行驶路径相对应的第三多项式函数的步骤可包括:设置关于上述起点及上述终点的边界条件的步骤;以及推定连接上述第二中间点与上述终点的上述第三多项式函数的步骤,基于设置的上述边界条件的数量来确定推定的上述第三多项式函数的阶数。
在各种实施例中,推定与上述第三单位行驶路径相对应的第三多项式函数的步骤可包括:推定连接上述第二中间点与上述终点的上述第三多项式函数的步骤;基于推定的上述第三多项式函数的阶数来确定所要设置的关于上述起点及上述终点的边界条件的种类及数量的步骤;以及基于确定的上述边界条件的种类及数量设置上述边界条件的步骤。
在各种实施例中,生成上述行驶路径的步骤可包括如下的步骤,即,当关于上述曲率的一个以上的连续性条件为上述曲率的二阶导数连续时,将关于生成的上述行驶路径的多项式函数的阶数确定为4。
在各种实施例中,本发明还可包括:当沿着第一行驶路径行驶中的上述自动驾驶车辆需要变更行驶路径时,重新设置需要变更上述行驶路径时的上述自动驾驶车辆的位置与上述终点之间的一个以上的中间点的步骤;从关于上述第一行驶路径的多项式函数提取请求变更上述行驶路径时的关于上述自动驾驶车辆的位置的数据的步骤;以及利用提取的上述数据与重新设置的上述一个以上的中间点的位置坐标生成连接请求变更上述行驶路径时的上述自动驾驶车辆的位置、重新设置的上述一个以上的中间点及上述终点的第二行驶路径的步骤。
在各种实施例中,本发明还可包括:对于沿着生成的上述行驶路径行驶中的上述自动驾驶车辆,当随着在生成的上述行驶路径上发生事件而需要生成对于上述事件的回避路径时,重新设置位于生成的上述行驶路径上的回避路径的起点与上述回避路径的终点之间的一个以上的中间点的步骤;从关于生成的上述行驶路径的多项式函数提取与上述回避路径的起点及上述回避路径的终点有关的数据的步骤;以及利用提取的上述数据和重新设置的上述一个以上的中间点的位置坐标生成连接上述回避路径的起点、重新设置的上述一个以上的中间点及上述回避路径的终点的回避路径的步骤。
在各种实施例中,本发明还可包括提供用于输出与规定区域有关的地图数据的用户界面(User Interface,UI)的步骤,获取与上述起点及终点有关的信息的步骤可包括通过上述用户界面接收关于上述起点及上述终点的二维位置坐标和上述起点及上述终点中的上述自动驾驶车辆的行驶角度的步骤,设置上述中间点的步骤可包括通过上述用户界面接收关于位于上述起点与上述终点之间的一个以上的中间点的二维位置坐标的步骤,生成上述行驶路径的步骤可包括:生成连接通过上述用户界面接收的上述起点、上述一个以上的中间点及上述终点的行驶路径,当通过上述用户界面追加输入新的中间点时,以使上述行驶路径经由上述新的中间点的方式自动更新生成的上述行驶路径的步骤;以及在通过上述用户界面输出的地图数据上显示生成的上述行驶路径的步骤。
在各种实施例中,本发明还可包括获取与包括上述起点及上述终点的规定区域有关的地图数据的步骤,设置上述中间点的步骤可包括:分析与上述规定区域有关的地图数据来识别连接上述起点与上述终点的道路的车道线的步骤;以及基于上述道路的车道线的识别结果选择上述起点与上述终点之间的一个以上的中间点的步骤。
用于解决如上所述的问题的本发明再一实施例的自动驾驶车辆的行驶路径生成装置可包括:处理器;网络接口;内存;以及计算机程序,加载(load)至上述内存,通过上述处理器运行,上述计算机程序可包括如下的指令(instruction):获取与起点及终点有关的信息的指令;设置上述起点与上述终点之间的中间点的指令;以及生成连接上述起点、设置的上述中间点及上述终点的行驶路径的指令,生成的上述行驶路径为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,由关于自动驾驶车辆的行驶角度的多项式函数表达,满足关于曲率的一个以上的连续性条件。
用于解决如上所述的问题的本发明另一实施例的存储在计算机可读存储介质的计算机程序结合在计算装置,可存储在计算机可读存储介质来执行下述步骤:获取与起点及终点有关的信息的步骤;设置上述起点与上述终点之间的中间点的步骤;以及生成连接上述起点、设置的上述中间点及上述终点的行驶路径的步骤,生成的上述行驶路径为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,由关于自动驾驶车辆的行驶角度的多项式函数表达,满足关于曲率的一个以上的连续性条件。
本发明的其他具体事项包含在详细的说明及附图中。
根据本发明的各种实施例,具有如下的优点:在起点与终点之间设置一个以上的中间点,生成连接起点、一个以上的中间点及终点的行驶路径,考虑在相应行驶路径行驶的自动驾驶车辆的行驶角度和转向角度(车辆的方向盘角度)来连接起点、一个以上的中间点及终点,从而可使自动驾驶车辆沿着行驶路径平稳顺畅地行驶。
本发明的效果并不局限于以上所提及的效果,本技术领域的普通技术人员可通过下述记载明确理解未提及的其他效果。
附图说明
图1为示出本发明一实施例的自动驾驶车辆的行驶路径生成系统的图。
图2为本发明再一实施例的自动驾驶车辆的行驶路径生成装置的硬件结构图。
图3为本发明另一实施例的自动驾驶车辆的行驶路径生成方法的流程图。
图4为各种实施例的通过连接多个单位行驶路径来生成最终行驶路径的方法的流程图。
图5为示出可应用于各种实施例的按照起点及终点的类型的边界条件的数量及种类以及根据其的多项式函数的阶数的表。
图6为各种实施例的多项式函数为了计算参数而需满足的条件的列表。
图7为示出各种实施例的变更自动驾驶车辆的行驶路径的过程的图。
图8为示出各种实施例的自动驾驶车辆回避在行驶路径上发生的事件的过程的图。
图9至图11为示出各种实施例的在地图数据上显示连接起点、一个以上的中间点及终点的行驶路径的形态的图。
图12至图16为对通过现有的行驶路径生成方法生成的行驶路径与通过本发明各种实施例的自动驾驶车辆的行驶路径生成方法生成的行驶路径进行比较的曲线图。
具体实施方式
参照详细后述的实施例及附图,就能明确本发明的优点、特征及实现这些优点及特征的方法。但是,本发明并不局限于以下所公开的实施例,而是能够以互不相同的多种实施方式实现,本实施例仅用于使本发明的公开更加完整,并为了向本发明所属技术领域的普通技术人员完整地告知本发明的范畴而提供,本发明仅由发明要求保护范围来定义。
在本说明书中使用的术语仅用于说明实施例,并不限制本发明。在本说明书中,除非在语句中特别提及,否则单数型包括复数型。在说明书中使用的“包括(comprises)”和/或“包括……的(comprisi ng)”并不排除所提及的组件之外的一个以上的其他组件的存在或追加。在说明书全文中,相同的附图标记表示相同的组件,“和/或”包括所提及的组件的各个及一个以上的所有组合。即使为了叙述多种组件而使用“第一”、“第二”等,但这些组件并不局限于这些术语。这些术语仅用于区别一组件与另一组件。因此,以下所提及的第一组件还可在本发明的技术思想内成为第二组件。
除非另行定义,否则在本说明书中使用的所有术语(包括技术术语及科学术语)能够以本发明所属技术领域的普通技术人员通常理解的含义使用。并且,除非明确定义,否则不应对被通常使用的词典定义的术语进行理想或过度的解释。
在说明书中使用的术语“部”或“模块”是指软件、如现场可编程逻辑门阵列(FPGA)或专用集成电路(ASIC)的硬件组件,“部”或“模块”执行一些作用。但是,“部”或“模块”的含义并不限定于软件或硬件。“部”或“模块”能够以位于可寻址的存储介质的方式构成,还能够以操作一个或一个以上的处理器的方式构成。因此,作为一例,“部”或“模块”包括如软件组件、面向对象的软件组件、类组件及任务组件的组件、进程、函数、属性、过程(procedure)、子例程、程序代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、数组及变量。在组件和“部”或“模块”范围内提供的功能可结合为更少数量的组件及“部”或“模块”,或者还可分离为追加的组件及“部”或“模块”。
空间相对术语“下方(below)”、“下方(beneath)”、“下部(lower)”、“上方(above)”、“上部(upper)”等为了容易记述如图所示的一个组件与另一组件的相关关系而使用。应理解的是,除了附图中所示的方向之外,空间相对术语包括使用时或操作时的组件的互不相同的方向。例如,当翻转附图所示的组件时,记述为位于另一组件的“下方(below)”或“下方(beneath)”的组件还可位于另一组件的“上方(above)”。因此,例示性术语“下方”包括下方和上方两个方向。组件还能够以其他方向定向,由此,空间上的相对术语可根据定向解释。
在本说明书中,计算机是指包括至少一个处理器的所有类型的硬件装置,根据实施例,可解释为还包括在相应硬件装置中操作的软件组件的含义。例如,计算机可解释为包括智能手机、平板电脑、台式机、笔记本电脑及在各装置中驱动的用户客户端及应用程序的含义,且并不局限于此。
以下,参照附图详细说明本发明的实施例。
以通过计算机执行在本说明书中说明的各步骤的情况为例进行说明,但各步骤的主体并不局限于此,还可根据实施例在互不相同的装置中执行各步骤的至少一部分。
图1为示出本发明一实施例的自动驾驶车辆的行驶路径生成系统的图。
参照图1,本发明一实施例的自动驾驶车辆的行驶路径生成系统可包括行驶路径生成装置100、用户终端200以及外部服务器300。
其中,图1所示的自动驾驶车辆的行驶路径生成系统是根据一实施例的,其组件并不限定于图1所示的实施例,可根据需求附加、变更或删除。
在一实施例中,行驶路径生成装置100可生成用于控制自动驾驶车辆10的行驶的行驶路径。例如,行驶路径生成装置100可通过网络400连接到用户终端200,生成连接从用户终端200输入的起点和终点的行驶路径,并可提供生成的行驶路径。
在各种实施例中,行驶路径生成装置100可提供用于生成及提供自动驾驶车辆10的行驶路径的应用程序,可提供随着运行所提供的应用程序来生成行驶路径的用户界面,可通过用户界面生成行驶路径或提供显示有生成的行驶路径的地图数据(例:图9至图11)。
在各种实施例中,行驶路径生成装置100可连接到用于控制自动驾驶车辆10的操作的控制模块(未图示)或控制系统,当控制模块或控制系统控制自动驾驶车辆10来使其沿着预设的行驶路径行驶时,生成连接起点与终点的行驶路径并可向控制模块或控制系统提供。
其中,以控制自动驾驶车辆10的操作的控制模块(未图示)或控制系统单独设置在行驶路径生成装置100的外部的情况为例进行说明,但这仅为一个例示,并不限定于此,行驶路径生成装置100可以为控制自动驾驶车辆10的操作的控制系统,生成行驶路径的操作可以为控制自动驾驶车辆来使其沿着预设的行驶路径行驶的功能中的一部分。
在一实施例中,用户终端200可通过网络400连接到行驶路径生成装置100,可向行驶路径生成装置100提供用于生成行驶路径的与起点有关的信息、与终点有关的信息以及与起点与终点之间的中间点有关的信息,作为对于其的响应,可接收连接起点、中间点及终点的行驶路径。
在各种实施例中,用户终端200可输入关于自己偏好的行驶路径的平滑度,即,行驶路径的柔和水平(缓慢程度),由此,可接收反映柔和水平的行驶路径。
在各种实施例中,用户终端200包括可驱动应用程序的操作系统,可包括在至少一部分包括显示器的智能手机及车辆的信息娱乐系统,随着下载、安装及运行行驶路径生成装置100提供的应用程序,可输出用于生成及接收行驶路径的用户界面。
在一实施例中,外部服务器300可通过网络400连接到行驶路径生成装置100,可存储及管理行驶路径生成装置100为了提供自动驾驶车辆的行驶路径生成方法而需要的各种数据、信息及软件(例:地图数据、行驶路径生成算法等)。
并且,外部服务器300可接收并存储随着行驶路径生成装置100提供自动驾驶车辆的行驶路径生成方法而生成的各种数据及信息(例:行驶路径数据、图像分析结果数据等)。例如,外部服务器300可以为单独设置在行驶路径生成装置100的外部的存储服务器,但并不限定于此。以下,参照图2说明行驶路径生成装置100的硬件结构。
图2为本发明再一实施例的自动驾驶车辆的行驶路径生成装置的硬件结构图。
参照图2,本发明再一实施例的行驶路径生成装置100(以下,称为“计算装置100”)可包括:一个以上的处理器110;内存120,用于加载通过处理器110运行的计算机程序151;总线130;通信接口140;以及存储器150,用于存储计算机程序151。其中,在图2中仅图示与本发明的实施例相关的组件。因此,只要是本发明所属技术领域的普通技术人员可知除在图2中示出的组件之外还可包括其他通用组件。
处理器110控制计算装置100的各结构的整体操作。处理器110可包括中央处理器(CPU,Central Processing Unit)、微处理器(MP U,Micro Processor Unit)、微控制单元(MCU,Micro Controller Unit)、图形处理器(GPU,Graphic Processing Unit)或本发明的技术领域周知的任意形式的处理器来构成。
并且,处理器110可执行对于用于执行本发明实施例的方法的至少一个应用程序或程序的运算,计算装置100可设置有一个以上的处理器。
在各种实施例中,处理器110还可包括暂时和/或永久存储在处理器110内部处理的信号(或数据)的随机存取存储器(RAM,Random Access Memory;未图示)和只读存储器(ROM,Read-Only Memory;未图示)。并且,处理器110能够以包括图形处理部、随机存取存储器及只读存储器中的至少一个的系统级芯片(SoC,system on chip)形式实现。
内存120存储各种数据、指令和/或信息。为了执行本发明各种实施例的方法/操作,内存120可从存储器150加载计算机程序151。当在内存120加载计算机程序151时,处理器110执行构成计算机程序151的一个以上的指令,由此可执行上述方法/操作。内存120可由如随机存取存储器的易失性存储器实现,但本公开的技术范围并不限定于此。
总线130提供计算装置100的组件之间的通信功能。总线130可由地址总线(address Bus)、数据总线(Data Bus)及控制总线(Co ntrol Bus)等各种形式的总线实现。
通信接口140可支持计算装置100的有线/无线互联网通信。并且,通信接口140还可支持除互联网通信之外的各种通信方式。为此,通信接口140可包括本发明的技术领域周知的通信模块来构成。在一些实施例中,还可省略通信接口140。
存储器150可非临时地存储计算机程序151。当通过计算装置100执行自动驾驶车辆的行驶路径生成进程时,存储器150可存储为了提供自动驾驶车辆的行驶路径生成进程所需的各种信息。
存储器150可包括如只读存储器(ROM,Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable ROM)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable ROM)、闪存等的非易失性存储器、硬盘、可移动磁盘或本发明所属技术领域周知的任意形式的计算机可读存储介质来构成。
当将计算机程序151加载至内存120时,可包括使处理器110执行本发明各种实施例的方法/操作的一个以上的指令。即,处理器110可通过执行上述一个以上的指令来执行本发明各种实施例的上述方法/操作。
在一实施例中,计算机程序151可包括执行自动驾驶车辆的行驶路径生成方法的一个以上的指令,上述自动驾驶车辆的行驶路径生成方法包括:获取与起点及终点有关的信息的步骤;设置起点与终点之间的中间点的步骤;以及生成连接起点、设置的中间点及终点的行驶路径的步骤。
与本发明的实施例关联来说明的方法或算法的步骤可由硬件直接实现,还可由通过硬件运行的软件模块实现,或者可由它们的结合实现。软件模块可包括在随机存取存储器、只读存储器、可擦除可编程只读存储器、带电可擦可编程只读存储器、闪存(FlashMemory)、硬盘、可移动磁盘、CD-ROM或本发明所属技术领域周知的任意形式的计算机可读存储介质中。
为了与作为硬件的计算机结合来执行,本发明的组件可由程序(或应用程序)实现来存储在介质中。本发明的组件可由软件编程或软件组件执行,与之相似地,实施例可通过包括数据结构、进程、例程或其他编程组件的组合实现的各种算法来由如C、C++、Java、汇编器(assembler)等的编程或脚本语言实现。功能方面可由在一个以上的处理器中运行的算法实现。以下,参照图3至图11说明通过计算装置100执行的自动驾驶车辆的行驶路径生成方法。
图3为本发明另一实施例的自动驾驶车辆的行驶路径生成方法的流程图。
其中,以图3所示的自动驾驶车辆的行驶路径生成方法通过计算装置100执行的情况为例进行说明,但并不限定于此,可在计算装置100中执行,或者,用户终端200或自动驾驶车辆10的控制系统从计算装置100接收执行自动驾驶车辆的行驶路径生成方法的软件来使得用户终端200或自动驾驶车辆10的控制系统自主执行自动驾驶车辆的行驶路径生成方法。
参照图3,在步骤S110中,计算装置100可获取用于生成行驶路径的与起点和终点有关的信息。
其中,自动驾驶车辆10的行驶路径可由基于自动驾驶车辆10的行驶距离的多项式函数表达。
其中,由自动驾驶车辆10的行驶路径表达的多项式函数可以为自动驾驶车辆10的行驶角度(θ,Theta)的函数,即,根据自动驾驶车辆10的位置表示该位置中的行驶角度(例:如东、西、南、北的自动驾驶车辆10的前进(heading)方向)的函数。例如,行驶角度的函数可由表示根据车辆的行驶距离的行驶角度,即,以车辆的行驶距离为变量的多项式表达,但并不局限于此。
在各种实施例中,通过计算装置100生成的多项式函数(行驶路径)可满足关于曲率的连续性条件。如上所述,计算装置100生成的行驶路径是指自动驾驶车辆10的行驶角度,对行驶路径进行一阶微分的曲率(κ,Kappa)是指自动驾驶车辆10的方向盘的移动,即,转向角度。因此,表示行驶路径的多项式函数的一阶导数并不连续,即,曲率并不连续(无法微分)是指在短时间内以不可能的程度或者在没有中间变化的状态下大大改变自动驾驶车辆10的方向盘的角度。
由此,通过计算装置100生成的行驶路径生成通过反映这种事项来显示行驶路径的多项式函数,在所有区间内生成连续的(可微分)的多项式函数,从而可生成不使自动驾驶车辆10的方向盘移动突然变化的行驶路径。
其中,与起点有关的信息可包括起点的位置坐标(例:(X,Y)形式的二维坐标值)及起点中的自动驾驶车辆10的行驶角度。但并不限定于此,与起点有关的信息还可包括关于行驶路径多项式函数曲率的一个以上的连续性条件,上述行驶路径包括起点。
并且,其中,与终点有关的信息可包括终点的位置坐标(例:(X,Y)形式的二维坐标值)及终点中的自动驾驶车辆10的行驶角度。但并不限定于此,与起点相同地,与终点有关的信息还可包括关于行驶路径多项式函数曲率的一个以上的连续性条件,上述行驶路径包括终点。
在各种实施例中,计算装置100可将包括在与起点有关的信息和与终点有关的信息的关于曲率的一个以上的连续性条件和表示行驶路径的多项式函数需要满足的关于曲率的连续性条件设置得互不相同。
如上述中所记载,在行驶路径的多项式函数中,曲率(一阶导数)表示自动驾驶车辆10的方向盘的方向或角度,因此,为了防止方向盘的角度以现实中不可能的程度大大改变,行驶路径的多项式函数中需满足曲率的规定连续性条件。在公开的实施例中,公开满足这种连续性条件的生成行驶路径的方法。
另外,在表示行驶路径的多项式函数中,每当连续的(可微分的)导数的阶数增加时,表示行驶路径的多项式函数具有更柔和的曲线,即,高平滑度的曲线,因此,为了获取柔和的曲线形式的行驶路径,需要增加多项式函数的可微分的次数。例如,当转动方向盘时,可从头到尾匀速转动,但是,更现实地,转速从0开始逐渐增加是自然的,进而,当停止转动时,转速逐渐减少而成为0亦是自然的。如上所述,当车辆的行驶角度和对行驶角度进行微分的曲率以高阶函数表达时,可视为具有更柔和且自然的移动。
因此,在起点和终点中的关于曲率的一个以上的连续性条件不仅为简单的防止方向盘的角度突变的条件,还是用于设置包括起点和终点的区间的行驶路径具有何种程度的柔和的曲线的条件。即,独立于对于整个行驶路径的连续性条件,计算装置100可从用户接收关于行驶路径的起点附近的行驶路径的平滑度的连续性条件。但并不限定于此。
在各种实施例中,计算装置100可接收关于起点及终点的边界条件(例:5)作为与起点及终点有关的信息。在此情况下,可根据边界条件的种类和数量确定包括起点及终点的多项式函数的阶数,但并不限定于此,反之,可先确定包括起点及终点的多项式的阶数,由此可确定边界条件的种类和数量。
在各种实施例中,计算装置100可收集与规定区域有关的地图数据并可向用户终端200提供用于输出收集的地图数据的用户界面,通过借助用户终端200的显示器输出的用户界面获取指代起点及终点的一个以上的用户输入(例:选择地图数据上的起点和终点的用户输入或者通过搜索栏输入与起点和终点有关的搜索词等),由此可选择起点和终点,并可收集从地图数据选择的与起点和终点有关的信息。但并不限定于此。
在步骤S120中,计算装置100可设置起点与终点之间的一个以上的中间点。
在各种实施例中,计算装置100收集与包括起点和终点的规定区域有关的地图数据,可向用户终端200提供用于输出收集的地图数据的用户界面,从在用户终端200的显示器上输出的地图数据上获取指代中间点的一个以上的用户输入,由此可选择一个以上的中间点,并可收集与从地图数据选择的一个以上的中间点有关的信息。
其中,与一个以上的中间点有关的信息可包括一个以上的中间点各自的位置坐标(例:(X,Y)形式的二维坐标值),但并不限定于此,可包括其他通用信息。
在各种实施例中,计算装置100对关于包括起点和终点的规定区域的地图数据执行图像分析,由此可设置起点与终点之间的一个以上的中间点。例如,计算装置100利用图像分析模型(例:卷积神经网络(CNN)模型、循环神经网络(RNN)模型或者结合卷积神经网络和循环神经网络的模型)对关于规定区域的地图数据进行图像分析,识别连接起点和终点的道路的车道线,可基于识别道路的车道线的结果选择起点与终点之间的一个以上的中间点。
例如,计算装置100可通过识别道路的车道线的结果获取如车道的数量、车道的宽幅、道路的形态等的与道路有关的属性信息,由此,可设置起点与终点之间的一个以上的中间点(例:弯道区间等)。但并不限定于此。
在各种实施例中,计算装置100可从所要生成行驶路径的用户接收关于行驶路径的平滑度,可基于所接收的行驶路径的平滑度选择一个以上的中间点。
其中,关于行驶路径的平滑度为表示行驶路径的多项式函数的曲线具有何种程度的顺畅且柔和形态的标准。如上所述,多项式函数的曲线随着多项式函数的可微分的次数增加而具有更加缓慢且顺畅的曲线,因此,计算装置100可考虑其来以所要生成的多项式函数的可微分的次数(例:关于曲率的连续性条件)形式接收关于行驶路径的平滑度。
在各种实施例中,计算装置100从所要生成行驶路径的用户接收关于行驶路径的平滑度,当连接用户设置的一个以上的中间点的行驶路径的多项式函数无法满足用户输入的关于行驶路径的平滑度时,可调整用户设置的一个以上的中间点的位置,使得用户设置的连接一个以上的中间点的行驶路径的多项式函数满足用户输入的关于行驶路径的平滑度。
在各种实施例中,计算装置100从所要生成行驶路径的用户接收关于行驶路径的平滑度,当连接用户设置的一个以上的中间点的行驶路径的多项式函数无法满足用户输入的关于行驶路径的平滑度时,可追加选择一个以上的中间点,其满足用户输入的关于行驶路径的平滑度。例如,在计算装置100中,用户选择了起点与终点之间的第一中间点及第二中间点,但当连接第一中间点与第二中间点的多项式函数无法满足用户输入的平滑度(例:三阶导数是连续的)时,可在第一中间点与第二中间点之间选择作为新的中间点的第三中间点来满足三阶导数是连续的。但并不限定于此。
在此情况下,在计算装置100中,当为了满足关于行驶路径的平滑度而追加设置中间点时,最初仅追加一个中间点来判断是否能够计算出满足关于行驶路径的平滑度的行驶路径,当追加一个中间点而无法满足关于行驶路径的平滑度时,可使其数量每次增加一个。由此,可防止通过一次追加多个中间点来使数据处理量增多而导致在生成行驶路径时消耗的时间长。
在步骤S130中,计算装置100可生成连接起点、一个以上的中间点及终点的行驶路径。
在各种实施例中,计算装置100分别生成连接起点与一个以上的中间点的曲线、连接一个以上的中间点的曲线(例:当一个以上的中间点为两个以上时,连接两个中间点之间的曲线)及连接一个以上的中间点与终点的曲线,可通过连接生成的多个曲线来生成曲线的集合形式的行驶路径。
在此情况下,计算装置100可根据通过步骤S120设置的中间点的数量来确定所要包括在行驶路径的多个曲线的数量。例如,当所设置的中间点的数量为两个时,计算装置100可生成连接起点与第一中间点的第一曲线、连接第一中间点与第二中间点的第二曲线以及连接第二中间点与终点的第三曲线,即,三个曲线(N+1个,其中,N为中间点的数量)。以下,参照图4进行说明。
图4为各种实施例的通过连接多个单位行驶路径来生成最终行驶路径的方法的流程图。
首先,在执行图4所示的连接多个单位行驶路径来生成最终行驶路径的方法之前,计算装置100可根据在起点与终点之间设置的中间点的数量设置所要生成的单位行驶路径的数量。
其中,通过图4说明的连接多个单位行驶路径来生成最终行驶路径的方法以一个以上的中间点为两个(例:第一中间点和第二中间点)的情况为基准,但这仅为更容易说明本发明的技术特征的一个例示,并不限定于此。
并且,其中,以图4所示的连接多个单位行驶路径来生成最终行驶路径的方法通过计算装置100执行的情况为例进行说明,但并不限定于此,在计算装置100中执行,或者,用户终端200或自动驾驶车辆10的控制系统从计算装置100接收用于执行通过连接多个单位行驶路径来生成最终行驶路径的方法的软件,由此,用户终端200或自动驾驶车辆10的控制系统可自行执行通过连接多个单位行驶路径来生成最终行驶路径的方法。
并且,其中,图4所示的连接多个单位行驶路径来生成最终行驶路径的方法以依次执行一系列操作的情况为例图示,但并不限定于此,可变更执行图4中所示的各个操作的顺序,或者,可同时执行图4中所示的各个操作。
参照图4,在步骤S210中,计算装置100可推定关于连接起点与第一中间点的第一单位行驶路径的第一多项式函数。
首先,计算装置100可设置关于起点及终点的边界条件。例如,计算装置100可通过用户界面从用户接收与起点及终点有关的数据(例:起点及终点的位置、自动驾驶车辆10的行驶角度、多项式函数的n阶微分值等),并可将接收的数据设置为关于起点和终点的边界条件。
之后,计算装置100可推定连接起点与第一中间点的第一多项式函数。在此情况下,可根据用户输入且设置的边界条件的数量来确定推定的第一多项式函数的阶数。例如,参照图5所示的表,当计算装置100从用户接收起点的位置X坐标(xi)、Y坐标(yi)、行驶角度(θi)及三阶微分值(κi″)(κi″=0)和终点的位置X坐标(xf)、Y坐标(yf)、行驶角度(θf)及三阶微分值(κf″)(κf″=0)数据而设置共六个边界条件时,可将第一多项式函数的阶数确定为四阶多项式函数。
参照图5,示出有自由端(free end)及固定端(fixed end)的概念。在一实施例中,自由端是指在没有特殊的先验信息的情况下仅通过与车辆的位置和方向有关的信息生成行驶路径的情况,可将起点和终点的车辆的位置、方向以及曲率的二阶微分值设置为0,由此可通过四个边界条件生成路径。
在一实施例中,当具有已生成的路径时、当在相应路径中行驶的过程中变更路径或者在特定路径中行驶后加入预设的另一路径时、当将变更路径的位置和加入路径的位置设置为起点或终点时,可设置固定端。当起点或终点位于预设的路径时,若相应路径为到曲率的二阶微分为止连续的路径,则可从相应路径的函数获取车辆的位置、角度以及曲率、曲率的一阶微分、曲率的二阶微分。由此可获取六个边界条件,在此情况下,相应位置成为固定端。对于利用固定端的实施例,参照图7及图8进行后述。
并且,当计算装置100从用户接收起点的位置X坐标(xi)、Y坐标(yi)、行驶角度(θi)、一阶微分值(κi)、二阶微分值(κi')及三阶微分值(κi″)以及终点的位置X坐标(xf)、Y坐标(yf)、行驶角度(θf)、一阶微分值(κf)、二阶微分值(κf')及三阶微分值(κf″)数据来设置共12个边界条件时,可将第一多项式函数的阶数确定为八阶多项式函数。但并不限定于此。
例如,假设预设上述的共12个边界条件且生成在起点与终点之间没有中间点的行驶路径的曲线。在此情况下,行驶路径可由根据行驶距离s的车辆的行驶角度θ表达。即,可生成如下的数学式。
θ(s)=As8+Bs7+Cs6+Ds5+Es4+Fs3+Gs2+Hs+I
其中,可利用上述的12个边界条件(xi、yi、θi、κi、κi'、κi″、xf、yf、θf、κf、κf'、κf″)获取能够特定上述九个变量和sf的联立方程。即,θi、κi、κi'、κi″分别与θ(si)、θ'(si)、θ″(si)、θ″′(si)相对应,θf、κf、κf'、κf″分别与θ(sf)、θ'(sf)、θ″(sf)、θ″′(sf)相对应。其中,si为行驶路径起点中的行驶距离值,根据实施例,可以为0。并且,其中,sf为行驶路径终点中的行驶距离值。
如上所述,计算装置100可确定能够根据预设的边界条件的数量特定的多项式的阶数,并且,可根据情况确定所需的多项式的阶数,可自动设置或请求用户输入用于特定其所需的边界条件。例如,在计算装置100中,当需要四个边界条件时,可将曲率的二阶微分值设置为0,当需要五个边界条件时,可将曲率的一阶微分值追加设置为0,当需要六个边界条件时,可将曲率值追加设置为0,但并不局限于此。
在一实施例中,可生成在起点和终点分别设置四个边界条件且具有两个中间点的路径。在此情况下,当假设已选择的平滑度等级为C4时,连接起点与第一中间点的曲线、连接第一中间点与第二中间点的曲线、连接第二中间点与终点的曲线可均由四阶多项式函数设置。
即,三个曲线可由如下的多项式函数设置。
θ1(s)=As4+Bs3+Cs2+Ds+E
θ2(s)=Fs4+Gs3+Hs2+Is+J
θ3(s)=Ks4+Ls3+Ms2+Ns+O
在上述的多项式中,s是指行驶路径。在各个曲线(即,多项式)中,行驶路径的长度分别可由0开始,还可将整个行驶路径的起点设置为si、终点设置为sf、第一中间点设置为s1、第二中间点设置为s2。
在此情况下,如上所述的多项式的表达如下。
θ1(s)=A(s-si)4+B(s-si)3+C(s-si)2+D(s-si)+E
θ2(s)=F(s-s1)4+G(s-s1)3+H(s-s1)2+I(s-s1)+J
θ3(s)=K(s-s2)4+L(s-s2)3+M(s-s2)2+N(s-s2)+O
对于上述的三个曲线,当以满足图6中显示的边界条件的方式利用三个曲线的起点、终点的值和关于曲率的连续性条件(例:三个多项式各自的三阶导数与各个曲线相交的点(例:第一中间点和第二中间点)中的连续的点(θ1″′(s1)=θ2″′(s1),θ2″′(s2)=θ3″′(s2)))时,可获取共12个变量和能够特定s1、s2及sf的联立方程。
其中,x坐标和y坐标值可以通过如下方式分别获取:将cosθ(s)和sinθ(s)根据行驶距离积分的值相加参考偏移量(例:各曲线的始点中的x、y坐标值)。
由此,计算装置100可生成保持行驶路径上的各个曲线的平滑度且在相邻的多个曲线之间满足曲率的连续性条件的行驶路径。
在步骤S220中,计算装置100可推定与连接第一中间点和第二中间点的第二单位行驶路径相对应的第二多项式函数。
首先,计算装置100可接收关于自动驾驶车辆的行驶路径的平滑度,可基于关于所接收的行驶路径的平滑度设置关于连接第一中间点与第二中间点的多项式函数的曲率的一个以上的连续性条件。
例如,在计算装置100中,用户可选择关于预设的行驶路径的平滑度等级(例:C0、C1、C2、C3及C4)中的一个等级,可设置关于与所选择的平滑度等级相对应的曲率的一个以上的连续性条件。当用户选择的平滑度等级为C0时,计算装置100可设置第二多项式函数连续而不中断的连续性条件,当用户选择的平滑度等级为C1时,计算装置100可设置第二多项式函数为连续的。并且,当用户选择的平滑度等级为C2时,计算装置100可设置第二多项式函数的一阶导数(曲率函数)为连续的,当用户选择的平滑度等级为C3时,计算装置100可设置第二多项式函数的二阶导数(曲率的一阶导数)为连续的,当用户选择的平滑度等级为C4时,计算装置100可设置第二多项式函数的三阶导数(曲率的二阶导数)为连续的。但这仅为一个例示,并不限定于此。
在各种实施例中,当将中间点设置为3个以上来生成多个中间点之间的两个以上的曲线时(例:当通过设置第一中间点、第二中间点及第三中间点来生成连接第一中间点与第二中间点的曲线和连接第二中间点与第三中间点的曲线时),计算装置100可单独设置关于各个曲线的平滑度。由此,以对于多个中间点之间的曲线具有互不相同的平滑度的方式设置。
之后,计算装置100可推定连接第一中间点与上述第二中间点的第二多项式函数。在此情况下,可基于关于设置的曲率的一个以上的连续性条件确定推定的第二多项式函数的阶数。例如,当因用户选择的平滑度等级为C4而将关于曲率的连续性条件设置为第二多项式函数的三阶导数(曲率的二阶导数)连续时,可将推定的第二多项式函数的阶数确定为四阶多项式函数。但并不限定于此,当无法从用户单独接收关于行驶路径的平滑度时,可将第二多项式函数的阶数设置得与在步骤S210中生成的第一多项式函数的阶数相同,或者,可将第二多项式函数的阶数设置为预设的阶数(例:四阶)。
在步骤S230中,计算装置100可推定与连接第二中间点和终点的第三单位行驶路径相对应的第三多项式函数。
首先,计算装置100可推定连接第二中间点与终点的第三多项式函数。在此情况下,可基于在步骤S210中设置的边界条件的数量来确定推定的多项式函数的阶数。其中,基于边界条件的数量来确定第三多项式函数的阶数的方法能够以与在步骤S210中执行的确定第一多项式函数的阶数的方法相同的实施方式实现。
即,在步骤S210中,基于边界条件的数量来确定连接起点与第一中间点的第一多项式的阶数,计算装置100并不单独执行确定连接第二中间点与终点的第三多项式函数的阶数的操作,可通过与在步骤S210中确定的第一多项式函数的阶数相同的方式确定第三多项式函数的阶数。
并且,在生成第三多项式函数的过程中,计算装置100可通过与生成第一多项式函数的方法相同的方式推定预设阶数的第三多项式函数,可根据推定的第三多项式函数的阶数确定作为边界条件所要接收的数据的种类及数量,可根据确定的种类及数量从用户接收数据。但并不限定于此。
在步骤S240中,计算装置100可确定在步骤S210中推定的第一多项式函数、在步骤S220中推定的第二多项式函数及在步骤S230中推定的第三多项式函数。
例如,计算装置100可利用起点和终点的位置坐标、起点和终点中的自动驾驶车辆10的行驶角度、设置的边界条件、第一中间点的位置坐标、第一多项式函数与第二多项式函数的连接点(第一中间点)中的连续性条件及第二多项式函数与第三多项式函数的连接点(第二中间点)中的连续性条件来计算推定的第一多项式函数、第二多项式函数及第三多项式函数的参数,可利用计算的参数确定推定的第一多项式函数、第二多项式函数及第三多项式函数。
在步骤S250中,计算装置100可通过连接与第一单位行驶路径相对应的第一多项式函数、与第二单位行驶路径相对应的第二多项式函数及与第三单位行驶路径相对应的第三多项式函数来生成自动驾驶车辆10的最终行驶路径。在此情况下,最终行驶路径能够以在第一中间点和第二中间点中满足关于曲率的一个以上的连续性条件的方式连接第一多项式函数、第二多项式函数及第三多项式函数。
即,随着连接三个多项式函数,当作为分别连接多项式函数的连接点的第一中间点和第二中间点无法满足关于曲率的连续性条件时,第一中间点和第二中间点中的自动驾驶车辆10的方向盘可能发生突变,因此,在第一中间点和第二中间点中以能够满足关于曲率的连续性条件的方式连接,从而可防止上述的问题。
在各种实施例中,当通过上述的最终行驶路径生成操作(步骤S210至步骤S240)生成自动驾驶车辆10的最终行驶路径时,计算装置100可通过用户界面(从用户终端200输出的用户界面)显示最终行驶路径。
参照图示的流程图说明了前述的自动驾驶车辆的行驶路径生成方法。为了简单说明,通过图示一系列框来说明了自动驾驶车辆的行驶路径生成方法,本发明并不限定于上述框的顺序,一些框能够以与在本说明书中图示并叙述的顺序不同的顺序执行或者同时执行。并且,能够以追加未在本说明书及附图中记载的新的框或者删除或变更一部分框的状态执行。以下,参照图7至图8说明在根据上述的方法生成的行驶路径行驶中的自动驾驶车辆10变更行驶路径的方法。
图7为示出各种实施例的变更自动驾驶车辆的行驶路径的过程的图。
参照图7,当沿着通过上述的方法(步骤S110至步骤S130或者步骤S210至步骤S240)生成的第一行驶路径行驶中的自动驾驶车辆10需要变更行驶路径时,计算装置100可重新设置需要变更行驶路径时的自动驾驶车辆的位置21与终点之间的一个以上的中间点31、32、33。
例如,当随着在第一行驶路径上发生交通拥堵或事件(例:事故、施工、障碍物等)而所要变更行驶路径或者因变更目的地(终点)而所要变更行驶路径时,计算装置100可重新设置所要变更行驶路径时的自动驾驶车辆的位置21与终点之间的一个以上的中间点31、32、33。其中,终点是指因发生事件而请求变更行驶路径时预设的终点,是指随着变更目的地而请求变更行驶路径时变更的目的地。例如,变更的路径的起点和终点均可位于以往的路径上,起点或终点可并不位于以往的路径上。例如,当脱离以往的路径时,若目的地不同,终点并不位于以往的路径上,并且,当脱离以往的路径时,若未预设所要返回以往的路径的终点,则首先可基于并不位于以往的路径上的终点生成路径,之后,当确定所要返回以往的路径的终点时,还可生成具有并不位于以往的路径上的起点和在以往的路径上存在的终点的行驶路径。由此,可生成起点和终点均为固定端的路径或者起点和终点中的仅一个为固定端的路径。在图5中示出根据起点和终点是否为自由端及固定端设置行驶路径上的多个曲线的阶数的方法的例示。
在此情况下,当因发生交通拥堵、行驶路径上的事件(例:事故、施工、障碍物等)而所要变更行驶路径时,计算装置100可重新设置能够回避交通拥堵或在行驶路径上发生的事件的一个以上的中间点31、32、33。其中,在生成行驶路径的过程中,一个以上的中间点31、32、33可基于用户输入的行驶路径的平滑度选择能够回避事件的中间点。但是,当无法选择均满足用户输入的关于行驶路径的平滑度和回避事件的中间点时,可优选考虑回避事件来选择中间点。
之后,计算装置100可从关于第一行驶路径的多项式函数提取请求变更行驶路径时的与自动驾驶车辆的位置21有关的数据。
请求变更行驶路径时的自动驾驶车辆的位置21为位于事先生成的第一行驶路径上的位置,因此,若向与事先生成的第一行驶路径相对应的多项式函数输入请求变更行驶路径时的自动驾驶车辆的位置21,则即使并不从用户直接接收与相应位置有关的信息,也可容易获取请求变更行驶路径(脱离以往生成的第一行驶路径的行驶路径)时的与自动驾驶车辆的位置21有关的数据(例:位置坐标、行驶角度、关于曲率的连续性信息等)。
这种技术特征还可在连接起点、中间点及终点的行驶路径无法满足特定条件而追加新的中间点的情况中应用。例如,当连接起点、一个中间点及终点的行驶路径无法满足用户设置的行驶路径的平滑度或者无法根据道路的形态或障碍物的位置等满足特定条件而一次性设置新的三个中间点来计算行驶路径时(即,设置共四个中间点时),需要执行生成关于共五个曲线的多项式函数的运算,因此,所要处理的数据量增多,根据情况生成行驶路径时可能消耗很长时间。
另外,当连接起点、一个中间点及终点的行驶路径无法满足用户设置的行驶路径的平滑度而先仅追加一个中间点来计算行驶路径时,需要仅运算关于三个曲线的多项式函数,因此,所消耗的时间较少,当仅通过追加一个中间点来无法满足用户设置的行驶路径的平滑度而再次追加新的中间点时,可利用关于之前生成的行驶路径的多项式更加容易地提取数据值,因此,重新生成包括追加中间点的行驶路径的消耗时间并不长,从而具有可更快地生成行驶路径的优点。
在各种实施例中,当关于第一行驶路径的多项式函数为四阶多项式函数时,计算装置100可通过向四阶多项式函数输入请求变更行驶路径时的自动驾驶车辆的位置21来获取六个数据值(请求变更行驶路径时的自动驾驶车辆的位置21的X坐标、Y坐标、行驶角度、曲率、曲率的一阶微分值及曲率的二阶微分值和终点的位置X坐标、Y坐标、行驶角度、曲率、曲率的一阶微分值及曲率的二阶微分值)。
之后,计算装置100可利用从关于第一行驶路径的多项式函数提取的数据和重新设置的一个以上的中间点31、32、33的位置坐标来生成连接请求变更行驶路径时的自动驾驶车辆的位置21、重新设置的一个以上的中间点31、32、33及终点的第二行驶路径30。其中,计算分别连接自动驾驶车辆的位置21、重新设置的一个以上的中间点31、32、33及终点的多个曲线(多项式函数)且连接计算的多项式函数来生成最终第二行驶路径30的构成能够以与上述的方法(步骤S110至步骤S130或步骤S210至步骤S240)相同的实施方式实现。
图8为示出各种实施例的自动驾驶车辆回避在行驶路径上发生的事件的过程的图。
参照图8,当沿着根据上述的方法(步骤S110至步骤S130或步骤S210至步骤S240)生成的行驶路径行驶中的自动驾驶车辆10需要变更回避路径40(脱离以往的行驶路径后再次返回以往的行驶路径的路径)时,计算装置100可重新设置位于生成的行驶路径上的回避路径的起点21与回避路径的终点22之间的一个以上的中间点41、42。
例如,当在已生成的行驶路径上发生事件(例:事故、施工、障碍物等)且判断为不可能为了回避事件而变更路径时,计算装置100可为了生成暂时脱离路径后再次返回的回避路径40而重新设置位于生成的行驶路径上的回避路径的起点21与回避路径的终点22之间的一个以上的中间点41、42。
在此情况下,如图8所示,计算装置100可重新设置能够回避交通拥堵或在行驶路径上发生的事件的一个以上的中间点41、42。其中,一个以上的中间点41、42可在生成行驶路径的过程中选择能够基于用户输入的行驶路径的平滑度回避事件的中间点。但是,当无法选择均满足用户输入的关于行驶路径的平滑度和回避事件的中间点时,可优选考虑回避事件来选择中间点。
之后,计算装置100可从关于已生成的行驶路径的多项式函数提取与回避路径的起点21和回避路径的终点22有关的数据。其中,与通过图7说明的内容相同地,回避路径的起点21和回避路径的终点22为位于已生成的行驶路径上的位置,因此,若向与已生成的行驶路径相对应的多项式函数输入回避路径的起点21和回避路径的终点22的位置,则即使用户并未直接输入或者单独设置与相应位置有关的信息,也可提取与回避路径的起点21和回避路径的终点22有关的数据。
接着,计算装置100可利用提取的数据和重新设置的一个以上的中间点41、42的位置坐标来生成连接回避路径的起点21、重新设置的一个以上的中间点41、42及回避路径的终点22的回避路径40。其中,计算连接回避路径的起点21、重新设置的一个以上的中间点41、42及回避路径的终点22的多个曲线(多项式函数)、通过连接计算的多项式函数来生成最终回避路径40的构成能够以与上述的方法(步骤S110至步骤S130或步骤S210至步骤S240)相同的实施方式实现。但并不限定于此。以下,参照图9至图11说明利用地图数据选择起点、中间点及终点且由此生成行驶路径来在地图数据上显示的构成。
图9至图11为示出各种实施例的在地图数据上显示连接起点、一个以上的中间点及终点的行驶路径的形式的图。
参照图9至图11,计算装置100可收集与规定区域有关的地图数据并可向用户终端200提供用于输出收集的地图数据的用户界面。
并且,计算装置100可通过用户终端200的用户界面获取指代起点21、一个以上的中间点22及终点23的一个以上的用户输入(例:选择地图数据上的起点21、一个以上的中间点22及终点23),并可生成连接与用户输入相对应的起点21、一个以上的中间点22及终点23的最终行驶路径(例:步骤S210至步骤S240)。之后,计算装置100可在通过用户界面输出的地图数据上显示生成的最终行驶路径。
其中,计算装置100可基于用户设置的行驶路径的平滑度调整用户设置的一个以上的中间点的位置或者除用户设置的一个以上的中间点之外追加设置中间点并在地图数据上显示。在此情况下,计算装置100能够以与用户设置的中间点不同的形式(例:其他颜色或其他图形)显示调整位置的中间点和追加设置的中间点。
在此情况下,当最初从用户接收起点21和终点23时,计算装置100可生成连接起点21与终点22的最终行驶路径并在地图数据上显示。
之后,每当追加输入中间点时,计算装置100可重新生成最终行驶路径,在地图数据上输出重新生成的最终行驶路径,由此可更新在地图数据上显示的最终行驶路径。
即,计算装置100随着用户通过用户界面执行选择特定点的操作而实时反映其来生成最终行驶路径,并向用户提供其,从而具有用户仅通过简单的操作容易获取自动驾驶车辆10的路径、可直观地确认如何根据自己选择的点的位置确定行驶路径的优点。
图12至图16为对通过现有的行驶路径生成方法生成的行驶路径与通过本发明各种实施例的自动驾驶车辆的行驶路径生成方法生成的行驶路径进行比较的曲线图。
首先,参照图12及图13中所示的曲线图,当设置位于(0,0)、自动驾驶车辆10的行驶角度为0度、曲率(行驶角度的微分值)定义为0的起点、位于(100,100)、行驶角度为0度、曲率定义为0的终点以及起点与终点之间的三个中间点而生成共五个曲线时,虚线图为通过现有的方式(例:生成连接两个点的三维曲线方程式的三次多项式曲率路径(CPCP,CubicPolynomial Curvature Path)方式)生成的曲线(Baseline,Origin(现有的)),实线图为根据本发明的各种实施例生成的曲线(Proposed,Improved(改善的))。
在现有的方式中,在三个中间点中,难以设置明确的(explicit)行驶角度(theta)、行驶角度的微分(曲率(kappa))值,因此,通过相邻的多个中间点之间的差值法(interpolation)推定行驶角度和行驶角度的微分值。
即,难以准确地设置行驶角度和微分值且需使用推定的值,因此,当将其应用为连接三次多项式曲率路径曲线的制约(hard constraint)来推定曲线的多项式函数时,如图12及图13,整个曲线中的行驶角度和曲率变化不稳定,由此,具有自动驾驶车辆10的路径轨迹也无法形成干净的S曲线的缺点。
相反,在根据本发明的各种实施例生成的曲线的情况下,以使行驶角度和曲率变化尽可能柔和的方式进行优化来求得曲线的多项式函数,由此不仅具有计算的轨迹路径干净的S,还可使行驶角度和曲率的不必要的变化最小化,并可生成能够路过所要的位置的路径。
并且,参照图14所示的曲线图,当生成具有许多曲线的曲线形态的行驶路径时,也可知能够生成与现有的方式相比使自动驾驶车辆10的方向盘的移动(曲率的变化)并不突变的路径。
而且,参照图15及图16所示的曲线图,可知在自动驾驶车辆10的从预设的行驶路径变更为其他行驶路径的情况(例:如图7所示,变更多个车道线的情况)或者生成回避路径的情况(例:如图8所示,由于发生事件等突发情况的发生,需脱离预设的行驶路径后再次返回的情况)下,也可生成与现有的方式相比方向盘的移动(曲率的变化)并不突变的路径。
即,与简单连接点与点来生成行驶路径的现有的方式不同地,本发明各种实施例的自动驾驶车辆的行驶路径生成方法具有如下的优点:生成在连接点与点的同时满足如自动驾驶车辆10的行驶角度和自动驾驶车辆10的方向盘的角度的自动驾驶车辆10的机械特性的行驶路径,由此,当自动驾驶车辆10沿着生成的行驶路径行驶时,可生成使方向盘的移动柔和且顺畅的行驶路径。
如上所述,说明了生成自动驾驶车辆的行驶路径的方法,通过根据公开的实施例生成的行驶路径控制自动驾驶车辆的行驶的方法也属于本发明的范围内,这是显而易见的。
以上,参照附图说明了本发明的实施例,应当理解的是,本发明所属技术领域的普通技术人员可在不变更本发明的技术思想或必要特征的情况下以不同的具体实施方式实施本发明。因此,需要理解的是,以上所记述的实施例在所有方面仅为例示,并不限制本发明。
Claims (14)
1.一种自动驾驶车辆的行驶路径生成方法,通过计算装置执行,其特征在于,
包括:
获取与起点及终点有关的信息的步骤;
设置上述起点与上述终点之间的中间点的步骤;以及
生成连接上述起点、设置的上述中间点及上述终点的行驶路径的步骤,
生成的上述行驶路径为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,由关于自动驾驶车辆的行驶角度的多项式函数表达,满足关于曲率的一个以上的连续性条件。
2.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,
设置的上述中间点包括第一中间点及第二中间点,
生成上述行驶路径的步骤包括:
推定与连接上述起点和上述第一中间点的第一单位行驶路径相对应的第一多项式函数的步骤;
推定与连接上述第一中间点和上述第二中间点的第二单位行驶路径相对应的第二多项式函数的步骤;
推定与连接上述第二中间点和上述终点的第三单位行驶路径相对应的第三多项式函数的步骤;
利用与上述起点、设置的上述中间点及上述终点有关的信息和关于上述曲率的一个以上的连续性条件来确定推定的上述第一多项式函数、推定的上述第二多项式函数及推定的上述第三多项式函数的步骤;以及
通过连接确定的上述第一多项式函数、确定的上述第二多项式函数及确定的上述第三多项式函数来生成上述自动驾驶车辆的最终行驶路径的步骤。
3.根据权利要求2所述的自动驾驶车辆的行驶路径生成方法,其特征在于,推定与上述第一单位行驶路径相对应的第一多项式函数的步骤包括:
设置关于上述起点及上述终点的边界条件的步骤;以及
推定连接上述起点与上述第一中间点的上述第一多项式函数的步骤,基于设置的上述边界条件的数量来确定推定的上述第一多项式函数的阶数。
4.根据权利要求2所述的自动驾驶车辆的行驶路径生成方法,其特征在于,推定与上述第一单位行驶路径相对应的第一多项式函数的步骤包括:
推定连接上述起点与上述第一中间点的上述第一多项式函数的步骤;
基于推定的上述第一多项式函数的阶数来确定所要设置的关于上述起点及上述终点的边界条件的种类及数量的步骤;以及
基于确定的上述边界条件的种类及数量设置上述边界条件的步骤。
5.根据权利要求2所述的自动驾驶车辆的行驶路径生成方法,其特征在于,推定与上述第二单位行驶路径相对应的第二多项式函数的步骤包括:
接收关于上述自动驾驶车辆的行驶路径的平滑度的步骤;
基于接收的上述行驶路径的平滑度设置关于上述曲率的一个以上的连续性条件的步骤;以及
推定连接上述第一中间点与上述第二中间点的上述第二多项式函数的步骤,基于设置的关于上述曲率的一个以上的连续性条件来确定推定的上述第二多项式函数的阶数。
6.根据权利要求2所述的自动驾驶车辆的行驶路径生成方法,其特征在于,推定与上述第三单位行驶路径相对应的第三多项式函数的步骤包括:
设置关于上述起点及上述终点的边界条件的步骤;以及
推定连接上述第二中间点与上述终点的上述第三多项式函数的步骤,基于设置的上述边界条件的数量来确定推定的上述第三多项式函数的阶数。
7.根据权利要求2所述的自动驾驶车辆的行驶路径生成方法,其特征在于,推定与上述第三单位行驶路径相对应的第三多项式函数的步骤包括:
推定连接上述第二中间点与上述终点的上述第三多项式函数的步骤;
基于推定的上述第三多项式函数的阶数来确定所要设置的关于上述起点及上述终点的边界条件的种类及数量的步骤;以及
基于确定的上述边界条件的种类及数量设置上述边界条件的步骤。
8.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,生成上述行驶路径的步骤包括如下的步骤,即,当关于上述曲率的一个以上的连续性条件为上述曲率的二阶导数连续时,将关于生成的上述行驶路径的多项式函数的阶数确定为4。
9.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,还包括:
当沿着第一行驶路径行驶中的上述自动驾驶车辆需要变更行驶路径时,重新设置需要变更上述行驶路径时的上述自动驾驶车辆的位置与上述终点之间的一个以上的中间点的步骤;
从关于上述第一行驶路径的多项式函数提取请求变更上述行驶路径时的关于上述自动驾驶车辆的位置的数据的步骤;以及
利用提取的上述数据与重新设置的上述一个以上的中间点的位置坐标生成连接请求变更上述行驶路径时的上述自动驾驶车辆的位置、重新设置的上述一个以上的中间点及上述终点的第二行驶路径的步骤。
10.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,还包括:
对于沿着生成的上述行驶路径行驶中的上述自动驾驶车辆,当随着在生成的上述行驶路径上发生事件而需要生成对于上述事件的回避路径时,重新设置位于生成的上述行驶路径上的回避路径的起点与上述回避路径的终点之间的一个以上的中间点的步骤;
从关于生成的上述行驶路径的多项式函数提取与上述回避路径的起点及上述回避路径的终点有关的数据的步骤;以及
利用提取的上述数据和重新设置的上述一个以上的中间点的位置坐标生成连接上述回避路径的起点、重新设置的上述一个以上的中间点及上述回避路径的终点的回避路径的步骤。
11.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,
还包括提供用于输出与规定区域有关的地图数据的用户界面的步骤,
获取与上述起点及终点有关的信息的步骤包括通过上述用户界面接收关于上述起点及上述终点的二维位置坐标和上述起点及上述终点中的上述自动驾驶车辆的行驶角度的步骤,
设置上述中间点的步骤包括通过上述用户界面接收关于位于上述起点与上述终点之间的一个以上的中间点的二维位置坐标的步骤,
生成上述行驶路径的步骤包括:
生成连接通过上述用户界面接收的上述起点、上述一个以上的中间点及上述终点的行驶路径,当通过上述用户界面追加输入新的中间点时,以使上述行驶路径经由上述新的中间点的方式自动更新生成的上述行驶路径的步骤;以及
在通过上述用户界面输出的地图数据上显示生成的上述行驶路径的步骤。
12.根据权利要求1所述的自动驾驶车辆的行驶路径生成方法,其特征在于,
还包括获取与包括上述起点及上述终点的规定区域有关的地图数据的步骤,
设置上述中间点的步骤包括:
分析与上述规定区域有关的地图数据来识别连接上述起点与上述终点的道路的车道线的步骤;以及
基于上述道路的车道线的识别结果选择上述起点与上述终点之间的一个以上的中间点的步骤。
13.一种自动驾驶车辆的行驶路径生成装置,其特征在于,
包括:
处理器;
网络接口;
内存;以及
计算机程序,加载至上述内存,通过上述处理器运行,
上述计算机程序包括如下的指令:
获取与起点及终点有关的信息的指令;
设置上述起点与上述终点之间的中间点的指令;以及
生成连接上述起点、设置的上述中间点及上述终点的行驶路径的指令,生成的上述行驶路径为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,由关于自动驾驶车辆的行驶角度的多项式函数表达,满足关于曲率的一个以上的连续性条件。
14.一种存储在计算机可读存储介质的计算机程序,其特征在于,
结合在计算装置,
存储在计算机可读存储介质来执行下述步骤:
获取与起点及终点有关的信息的步骤;
设置上述起点与上述终点之间的中间点的步骤;以及
生成连接上述起点、设置的上述中间点及上述终点的行驶路径的步骤,生成的上述行驶路径为连接上述起点与设置的上述中间点的曲线、连接设置的上述中间点与上述终点的曲线的集合,由关于自动驾驶车辆的行驶角度的多项式函数表达,满足关于曲率的一个以上的连续性条件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0182744 | 2020-12-24 | ||
KR1020200182744A KR102507804B1 (ko) | 2020-12-24 | 2020-12-24 | 자율주행 차량의 주행 경로 생성 방법, 장치 및 컴퓨터프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114670865A true CN114670865A (zh) | 2022-06-28 |
Family
ID=78789680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111412373.6A Pending CN114670865A (zh) | 2020-12-24 | 2021-11-25 | 自动驾驶车辆的行驶路径生成方法、装置及计算机程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11780467B2 (zh) |
EP (1) | EP4019899B1 (zh) |
KR (1) | KR102507804B1 (zh) |
CN (1) | CN114670865A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102642266B1 (ko) * | 2022-07-26 | 2024-02-29 | (주)텔레컨스 | 자율이동체의 정보 공유 방법 및 그 서버 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009047476A1 (de) * | 2009-12-04 | 2011-06-09 | Robert Bosch Gmbh | Verfahren und Steuergerät zur Bestimmung einer Schnitttrajektorie eines Kurvenabschnitts einer Fahrbahn |
US20120283911A1 (en) * | 2011-05-05 | 2012-11-08 | GM Global Technology Operations LLC | System and method for adjusting smoothness for lane centering steering control |
KR101704634B1 (ko) * | 2015-12-14 | 2017-02-08 | 현대오트론 주식회사 | 자율 주행 차량의 주행경로 생성 장치 및 그 방법과, 자율 주행 차량의 주행 제어 방법 |
DE102015016544A1 (de) * | 2015-12-18 | 2017-06-22 | Adam Opel Ag | Verfahren zum Finden einer Ausweichtrajektorie für ein Fahrzeug |
US10816977B2 (en) * | 2018-01-26 | 2020-10-27 | Baidu Usa Llc | Path and speed optimization fallback mechanism for autonomous vehicles |
US10823575B2 (en) * | 2018-06-27 | 2020-11-03 | Baidu Usa Llc | Reference line smoothing method using piecewise spiral curves with weighted geometry costs |
US11199847B2 (en) * | 2018-09-26 | 2021-12-14 | Baidu Usa Llc | Curvature corrected path sampling system for autonomous driving vehicles |
WO2020139377A1 (en) * | 2018-12-28 | 2020-07-02 | Didi Research America, Llc | Interface for improved high definition map generation |
IT201900004795A1 (it) * | 2019-03-29 | 2020-09-29 | Fiat Ricerche | Regolazione automatica della velocita' di un autoveicolo sulla base del comportamento di guida del conducente |
US11493921B2 (en) * | 2019-09-05 | 2022-11-08 | Baidu Usa Llc | Dynamic parameter architecture for QP smoother |
EP3861291B1 (en) * | 2019-12-20 | 2023-01-25 | Baidu.com Times Technology (Beijing) Co., Ltd. | Spline curve and spiral curve based reference line smoothing method |
US20230159025A1 (en) * | 2021-11-19 | 2023-05-25 | Qualcomm Incorporated | Managing Vehicle Behavior Based On Predicted Behavior Of Other Vehicles |
-
2020
- 2020-12-24 KR KR1020200182744A patent/KR102507804B1/ko active IP Right Grant
-
2021
- 2021-11-24 US US17/534,811 patent/US11780467B2/en active Active
- 2021-11-24 EP EP21210139.8A patent/EP4019899B1/en active Active
- 2021-11-25 CN CN202111412373.6A patent/CN114670865A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11780467B2 (en) | 2023-10-10 |
KR20220092660A (ko) | 2022-07-04 |
EP4019899B1 (en) | 2023-11-01 |
US20220204037A1 (en) | 2022-06-30 |
EP4019899A1 (en) | 2022-06-29 |
KR102507804B1 (ko) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6845874B2 (ja) | 自動運転車のための経路及び速度の最適化フォールバックメカニズム | |
EP3436781B1 (en) | Road geometry matching with componentized junction models | |
US10012984B2 (en) | System and method for controlling autonomous vehicles | |
JP7108583B2 (ja) | 自動運転車両のための曲率補正経路サンプリングシステム | |
JP2023175055A (ja) | 自律型車両の計画 | |
US9821801B2 (en) | System and method for controlling semi-autonomous vehicles | |
JP2013513149A (ja) | 車道のカーブ区間のカット軌跡を求める方法および制御装置 | |
KR102606629B1 (ko) | 자율주행 차량을 위한 로드 네트워크 데이터 생성 방법, 장치 및 컴퓨터프로그램 | |
KR20220054755A (ko) | 운전 행위 습관 결정, 차량 주행 제어 방법, 장치 및 기기 | |
US11858531B2 (en) | Method, device, and computer program for controlling stop of autonomous vehicle using speed profile | |
CN111177934B (zh) | 参考路径规划的方法、设备和存储介质 | |
CN114670865A (zh) | 自动驾驶车辆的行驶路径生成方法、装置及计算机程序 | |
CN114502445A (zh) | 适应用户驾驶偏好控制自主车辆 | |
US11531355B2 (en) | Method, apparatus, and computer program for controlling autonomous vehicle using preset area information | |
CN111126598A (zh) | 自动泊车方法、装置、计算机设备和存储介质 | |
WO2022001708A1 (zh) | 车辆控制方法、装置、车辆及存储介质 | |
CN114407898A (zh) | 换道路径规划方法、装置、智能驾驶汽车及存储介质 | |
CN114620071A (zh) | 绕行轨迹规划方法、装置、设备及存储介质 | |
CN111830949A (zh) | 自动驾驶车辆控制方法、装置、计算机设备和存储介质 | |
CN112406869B (zh) | 一种车辆换道控制方法及装置 | |
CN115406455A (zh) | 用于自动驾驶车辆的驾驶计划的道路网图生成方法 | |
CN114103938A (zh) | 控制车辆纵向运动的方法、装置及存储介质 | |
CN113327456A (zh) | 一种车道结构检测方法及装置 | |
KR102523146B1 (ko) | 차량의 자율주행을 위한 주행 경로 모델링 방법, 장치 및 컴퓨터프로그램 | |
KR102364616B1 (ko) | 기 설정된 영역정보를 이용한 자율 주행 차량의 제어 방법, 장치 및 컴퓨터프로그램 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |