Gear-based vehicle load inference system

文档序号:930795 发布日期:2021-03-05 浏览:5次 中文

阅读说明:本技术 基于齿轮的车辆载荷推断系统 (Gear-based vehicle load inference system ) 是由 朱帆 于 2020-03-05 设计创作,主要内容包括:根据各种实施方式,本文描述的是收集用于训练在ADV中使用的载荷推断回归模型的数据的方法和系统。根据一个示例性方法,ADV在一段道路上手动驾驶多个时间段。在每个时间段期间,记录ADV的一组特征,包括在从第一档位换档至第二档位之前的第一时间时的一个或多个特征,以及在换档之后的第二时间时的一个或多个特征。对于多个时间段中的每个,ADV的重量也使用重量传感器进行记录。然后使用这些时间段中的每个的ADV的记录特征和总重量训练神经网络回归模型,以实时推断ADV的载荷。(According to various embodiments, described herein are methods and systems of collecting data for training a load inference regression model for use in ADV. According to one exemplary method, an ADV is manually driven over a segment of road for a plurality of time periods. During each time period, a set of characteristics of the ADV is recorded, including one or more characteristics at a first time prior to shifting from the first gear to the second gear and one or more characteristics at a second time after the shift. The weight of the ADV is also recorded using the weight sensor for each of the plurality of time periods. The recorded features and gross weight of the ADV for each of these time periods are then used to train a neural network regression model to infer the load of the ADV in real time.)

1. A computer-implemented method of collecting data for training a load inference model for use in an autonomous vehicle, the method comprising:

recording driving statistics of the autonomous vehicle manually driven over a segment of road for a plurality of time periods;

recording a total weight of the autonomous vehicle during each of the plurality of time periods using an external sensor located on the autonomous vehicle; and

extracting a plurality of features of the autonomous vehicle from the driving statistics, including one or more features at a first time prior to a shift from a first gear to a second gear and one or more features at a second time after the shift, wherein the plurality of features are used to train the load inference model.

2. The method of claim 1, further comprising:

calculating a weight of a load on the autonomous vehicle by subtracting a net weight of the autonomous vehicle from the recorded total weight of the autonomous vehicle.

3. The method of claim 1, further comprising:

training the load inference model using the recorded features and a total weight of the autonomous vehicle for each of the plurality of time periods.

4. The method of claim 1, wherein the one or more characteristics at the second time after the shift comprise the second gear.

5. The method of claim 1, wherein an interval between the first time and the second time corresponds to a time taken to complete the shift.

6. The method of claim 1, wherein the total weight of the autonomous vehicle is increased by a fixed load weight in each of the plurality of time periods.

7. The method of claim 1, wherein the load inference model is a neural network model.

8. A non-transitory machine-readable medium having instructions stored thereon for collecting data for training a load inference model for use in an autonomous vehicle, the instructions, when executed by a processor, cause the processor to perform operations comprising:

recording driving statistics of the autonomous vehicle manually driven over a segment of road for a plurality of time periods;

recording a total weight of the autonomous vehicle during each of the plurality of time periods using an external sensor located on the autonomous vehicle; and

extracting a plurality of features of the autonomous vehicle from the driving statistics, including one or more features at a first time prior to a shift from a first gear to a second gear and one or more features at a second time after the shift, wherein the plurality of features are used to train the load inference model.

9. The non-transitory machine-readable medium of claim 8, wherein the operations further comprise:

calculating a weight of a load on the autonomous vehicle by subtracting a net weight of the autonomous vehicle from the recorded total weight of the autonomous vehicle.

10. The non-transitory machine-readable medium of claim 8, wherein the operations further comprise:

training the load inference model using the recorded features and a total weight of the autonomous vehicle for each of the plurality of time periods.

11. The non-transitory machine-readable medium of claim 8, wherein the one or more characteristics at the first time prior to the shift include a speed of the autonomous vehicle at the first time, a driving command issued at the first time, and an acceleration or deceleration at the first time.

12. The non-transitory machine-readable medium of claim 8, wherein the one or more characteristics at the second time after the shift comprise a second gear.

13. The non-transitory machine-readable medium of claim 8, wherein an interval between the first time and the second time corresponds to a time taken to complete the shift.

14. The non-transitory machine-readable medium of claim 8, wherein the total weight of the autonomous vehicle is increased by a fixed load weight in each of the plurality of time periods.

15. The non-transitory machine-readable medium of claim 8, wherein the load inference model is a neural network model.

16. A method for inferring a load of an autonomous vehicle, comprising:

receiving, at a trained load inference model running on the autonomous vehicle, a plurality of features of the autonomous vehicle, including one or more features at a first time before shifting from a first gear to a second gear and one or more features at a second time after the shifting; and

generating, by the trained load inference model, a weight of a load on the autonomous vehicle based on the plurality of features.

17. The method of claim 16, wherein the one or more characteristics at the first time prior to the shift include a speed of the autonomous vehicle at the first time, a driving command issued at the first time, and an acceleration or deceleration at the first time.

18. The method of claim 16, wherein the one or more characteristics at the second time after the shift comprise the second gear.

19. The method of claim 16, wherein an interval between the first time and the second time corresponds to a time taken to complete the shift.

20. The method of claim 16, wherein the load inference model is a neural network model trained using the recorded features and one or more combinations thereof.

Technical Field

Embodiments of the present disclosure generally relate to operating an autonomous vehicle. More specifically, embodiments of the present disclosure relate to load inference systems for autonomous vehicles.

Background

Vehicles operating in an autonomous driving mode (e.g., unmanned) may relieve occupants, particularly the driver, from some driving-related duties. When operating in an autonomous driving mode, the vehicle may be navigated to various locations using onboard sensors, allowing the vehicle to travel with minimal human-machine interaction or in some cases without any passengers.

Autonomous vehicles (ADVs) rely on various actuator commands (e.g., throttle/brake) in real-time driving to control the ADV. Sometimes, these actuator commands require dynamic adjustment based on the load in the ADV. At some other time, the ADV needs to know when the load on the ADV has reached the maximum capacity of the ADV. However, weight sensors may not always be available on ADVs.

Disclosure of Invention

In a first aspect, the present disclosure provides a computer-implemented method of collecting data for training a load inference model for use in an autonomous vehicle, the method comprising:

recording driving statistics of the autonomous vehicle manually driven on a segment of road for a plurality of time periods;

recording a total weight of the autonomous vehicle during each of the plurality of time periods using an external sensor located on the autonomous vehicle; and

extracting a plurality of features of the autonomous vehicle from the driving statistics, including one or more features at a first time prior to a shift from a first gear to a second gear and one or more features at a second time after the shift, wherein the plurality of features are used to train the load inference model.

In certain embodiments, the method further comprises:

calculating a weight of a load on the autonomous vehicle by subtracting a net weight of the autonomous vehicle from the recorded total weight of the autonomous vehicle.

In certain embodiments, the method further comprises:

training the load inference model using the recorded features and a total weight of the autonomous vehicle for each of the plurality of time periods.

In some embodiments, the one or more characteristics at the second time after the shift include the second gear.

In some embodiments, the interval between the first time and the second time corresponds to the time taken to complete the shift.

In certain embodiments, the total weight of the autonomous vehicle is increased by a fixed load weight in each of the plurality of time periods.

In some embodiments, the load inference model is a neural network model.

In a second aspect, the present disclosure provides a non-transitory machine-readable medium having instructions stored thereon for collecting data for training a load inference model for use in an autonomous vehicle, the instructions, when executed by a processor, cause the processor to perform operations comprising:

recording driving statistics of the autonomous vehicle manually driven on a segment of road for a plurality of time periods;

recording a total weight of the autonomous vehicle during each of the plurality of time periods using an external sensor located on the autonomous vehicle; and

extracting a plurality of features of the autonomous vehicle from the driving statistics, including one or more features at a first time prior to a shift from a first gear to a second gear and one or more features at a second time after the shift, wherein the plurality of features are used to train the load inference model.

In a third aspect, the present disclosure provides a method for inferring a load of an autonomous vehicle, comprising:

receiving, at a trained load inference model running on the autonomous vehicle, a plurality of features of the autonomous vehicle, including one or more features at a first time before a shift from a first gear to a second gear and one or more features at a second time after the shift; and

generating, by the trained load inference model, a weight of a load on the autonomous vehicle based on the plurality of features.

In certain embodiments, the one or more characteristics at the first time prior to the shift include a speed of the autonomous vehicle at the first time, a driving command issued at the first time, and a degree of acceleration or deceleration at the first time.

In some embodiments, the one or more characteristics at the second time after the shift include the second gear.

In some embodiments, the interval between the first time and the second time corresponds to the time taken to complete the shift.

In some embodiments, the load inference model is a neural network model that is trained using the recorded features and one or more combinations thereof.

Drawings

Embodiments of the present disclosure are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.

FIG. 1 is a block diagram illustrating a networked system according to one embodiment.

FIG. 2 is a block diagram illustrating an example of an autonomous vehicle according to one embodiment.

Fig. 3A-3B are block diagrams illustrating an example of a perception and planning system for use with an autonomous vehicle, according to one embodiment.

FIG. 4 illustrates an example diagram showing a load inference system, according to one embodiment.

FIG. 5 illustrates a collection of data for training a load inference model, according to one embodiment.

FIG. 6 illustrates an example of a load inference model, according to one embodiment.

FIG. 7 illustrates an exemplary process of collecting data for training a load inference model, according to one embodiment.

Fig. 8 illustrates an exemplary process of inferring load weight on an ADV according to one embodiment.

Detailed Description

Various embodiments and aspects of the disclosure will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the disclosure and are not to be construed as limiting the disclosure. Numerous specific details are described to provide a thorough understanding of various embodiments of the present disclosure. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present disclosure.

Reference in the specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the disclosure. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.

According to various embodiments, described herein are methods and systems of collecting data for training a load inference regression model for use in ADV. According to one exemplary method, an ADV is manually driven over a segment of road for a plurality of time periods. During each time period, a set of characteristics of the ADV is recorded, including one or more characteristics at a first time prior to shifting from the first gear to the second gear and one or more characteristics at a second time after the shift. The weight of the ADV is also recorded using the weight sensor for each of the plurality of time periods. The recorded characteristics of the ADV and the gross weight for each of these time periods are then used to train a neural network regression model to infer the load of the ADV in real time.

The weight of the load on the ADV can be calculated by subtracting the net weight of the ADV from the total weight of the ADV recorded. The one or more characteristics at the first time prior to the shift may include a speed of the ADV, an issued driving command, an acceleration or deceleration, and an initial gear. The one or more characteristics at the second time after the shift include a second gear, i.e., a post-shift gear.

In one embodiment, the first time and the second time are two adjacent points in time and the interval between them is the time required to change the gear from the first position to the second position. The first position is an initial position of the gear and the second position is a target position of the gear.

In one embodiment, training data and test data for the regression model are collected only at first and second times associated with the gear change. The ADV may be manually driven for a number of time periods while training data is being collected. During each time period, the load on the ADV increases by a fixed amount, e.g., 50 kilograms, and the ADV accelerates or decelerates such that a shift is necessary.

In one embodiment, a method of inferring a load on an ADV may include an operation of receiving, at a trained load inference model running on the ADV, characteristics of the ADV, the characteristics including one or more characteristics at a first time prior to a shift from a first gear to a second gear and one or more characteristics at a second time after the shift; and generating, based on the features, a weight of the load on the ADV through the trained load inference model.

Autonomous vehicle

Fig. 1 is a block diagram illustrating an autonomous vehicle network configuration according to one embodiment of the present disclosure. Referring to fig. 1, a network configuration 100 includes an autonomous vehicle 101 that may be communicatively coupled to one or more servers 103-104 via a network 102. Although one autonomous vehicle is shown, multiple autonomous vehicles may be coupled to each other and/or to servers 103-104 via network 102. Network 102 may be any type of network, such as a wired or wireless Local Area Network (LAN), a Wide Area Network (WAN) such as the Internet, a cellular network, a satellite network, or a combination thereof. Servers 103-104 may be any type of server or cluster of servers, such as a network or cloud server, an application server, a backend server, or a combination thereof. The servers 103 to 104 may be data analysis servers, content servers, messaging servers, map and point of interest (MPOI) servers or location servers, etc.

An autonomous vehicle refers to a vehicle that may be configured to be in an autonomous driving mode in which the vehicle navigates through the environment with little or no input from the driver. Such autonomous vehicles may include a sensor system having one or more sensors configured to detect information related to the operating environment of the vehicle. The vehicle and its associated controller use the detected information to navigate through the environment. Autonomous vehicle 101 may operate in a manual mode, in a fully autonomous mode, or in a partially autonomous mode.

In one embodiment, autonomous vehicle 101 includes, but is not limited to, a perception and planning system 110, a vehicle control system 111, a wireless communication system 112, a user interface system 113, and a sensor system 115. Autonomous vehicle 101 may also include certain common components included in a common vehicle, such as: engines, wheels, steering wheels, transmissions, etc., which may be controlled by the vehicle control system 111 and/or the sensory and programming system 110 using a variety of communication signals and/or commands, such as, for example, acceleration signals or commands, deceleration signals or commands, steering signals or commands, braking signals or commands, etc.

The components 110-115 may be communicatively coupled to each other via an interconnect, bus, network, or combination thereof. For example, the components 110-115 may be communicatively coupled to each other via a Controller Area Network (CAN) bus. The CAN bus is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host. It is a message-based protocol originally designed for multiplexed electrical wiring within automobiles, but is also used in many other environments.

Referring now to FIG. 2, in one embodiment, the sensor system 115 includes, but is not limited to, one or more cameras 211, a Global Positioning System (GPS) unit 212, an Inertial Measurement Unit (IMU)213, a radar unit 214, and a light detection and ranging (LIDAR) unit 215. The GPS unit 212 may include a transceiver operable to provide information regarding the location of the autonomous vehicle. The IMU unit 213 may sense position and orientation changes of the autonomous vehicle based on inertial acceleration. Radar unit 214 may represent a system that utilizes radio signals to sense objects within the local environment of an autonomous vehicle. In some embodiments, in addition to sensing an object, radar unit 214 may additionally sense a speed and/or heading of the object. The LIDAR unit 215 may use a laser to sense objects in the environment in which the autonomous vehicle is located. The LIDAR unit 215 may include one or more laser sources, laser scanners, and one or more detectors, among other system components. The camera 211 may include one or more devices used to capture images of the environment surrounding the autonomous vehicle. The camera 211 may be a still camera and/or a video camera. The camera may be mechanically movable, for example, by mounting the camera on a rotating and/or tilting platform.

The sensor system 115 may also include other sensors, such as: sonar sensors, infrared sensors, steering sensors, throttle sensors, brake sensors, and audio sensors (e.g., microphones). The audio sensor may be configured to collect sound from the environment surrounding the autonomous vehicle. The steering sensor may be configured to sense a steering angle of a steering wheel, wheels of a vehicle, or a combination thereof. The throttle sensor and the brake sensor sense a throttle position and a brake position of the vehicle, respectively. In some cases, the throttle sensor and the brake sensor may be integrated into an integrated throttle/brake sensor.

In one embodiment, the vehicle control system 111 includes, but is not limited to, a steering unit 201, a throttle unit 202 (also referred to as an acceleration unit), and a brake unit 203. The steering unit 201 is used to adjust the direction or forward direction of the vehicle. The throttle unit 202 is used to control the speed of the motor or engine, which in turn controls the speed and acceleration of the vehicle. The brake unit 203 decelerates the vehicle by providing friction to decelerate the wheels or tires of the vehicle. It should be noted that the components shown in fig. 2 may be implemented in hardware, software, or a combination thereof.

Referring back to fig. 1, wireless communication system 112 allows communication between autonomous vehicle 101 and external systems such as devices, sensors, other vehicles, and the like. For example, the wireless communication system 112 may be in direct wireless communication with one or more devices, or in wireless communication via a communication network, such as with the servers 103-104 over the network 102. The wireless communication system 112 may use any cellular communication network or Wireless Local Area Network (WLAN), for example, using WiFi, to communicate with another component or system. The wireless communication system 112 may communicate directly with devices (e.g., passenger's mobile device, display device, speakers within the vehicle 101), for example, using an infrared link, bluetooth, or the like. The user interface system 113 may be part of a peripheral device implemented within the vehicle 101, including, for example, a keypad, a touch screen display, a microphone, and speakers.

Some or all of the functions of the autonomous vehicle 101 may be controlled or managed by the perception and planning system 110, particularly when operating in an autonomous mode. The awareness and planning system 110 includes the necessary hardware (e.g., processors, memory, storage devices) and software (e.g., operating systems, planning and routing programs) to receive information from the sensor system 115, the control system 111, the wireless communication system 112, and/or the user interface system 113, process the received information, plan a route or path from an origin point to a destination point, and then drive the vehicle 101 based on the planning and control information. Alternatively, the sensing and planning system 110 may be integrated with the vehicle control system 111.

For example, a user who is a passenger may specify a start location and a destination for a trip, e.g., via a user interface. The perception and planning system 110 obtains trip related data. For example, the sensing and planning system 110 may obtain location and route information from an MPOI server, which may be part of the servers 103-104. The location server provides location services and the MPOI server provides map services and POIs for certain locations. Alternatively, such location and MPOI information may be cached locally in a persistent storage of the sensing and planning system 110.

The perception and planning system 110 may also obtain real-time traffic information from a traffic information system or server (TIS) as the autonomous vehicle 101 moves along the route. It should be noted that the servers 103 to 104 may be operated by third party entities. Alternatively, the functionality of the servers 103-104 may be integrated with the perception and planning system 110. Based on the real-time traffic information, MPOI information, and location information, as well as real-time local environmental data (e.g., obstacles, objects, nearby vehicles) detected or sensed by sensor system 115, perception and planning system 110 may plan an optimal route and drive vehicle 101, e.g., via control system 111, according to the planned route to safely and efficiently reach the designated destination.

Server 103 may be a data analysis system to perform data analysis services for various customers. In one embodiment, data analysis system 103 includes a data collector 121 and a machine learning engine 122. The data collector 121 collects driving statistics 123 from various vehicles (autonomous vehicles or regular vehicles driven by human drivers). The driving statistics 123 include information indicative of driving commands issued (e.g., throttle, brake, steering commands) and responses of the vehicle captured by sensors of the vehicle at different points in time (e.g., speed, acceleration, deceleration, direction). The driving statistics 123 may also include information describing the driving environment at different points in time, such as a route (including a start location and a destination location), MPOI, road conditions, weather conditions, and so forth. Based on the driving statistics 123, the machine learning engine 122 generates or trains a set of rules, algorithms, and/or predictive models 124 for various purposes. The algorithm 124 may then be uploaded to the ADV for real-time use during autonomous driving.

Fig. 3A and 3B are block diagrams illustrating an example of a perception and planning system for use with an autonomous vehicle, according to one embodiment. System 300 may be implemented as part of the auto-driving vehicle 101 of fig. 1, including but not limited to, sensing and planning system 110, control system 111, and sensor system 115. Referring to fig. 3A-3B, the awareness and planning system 110 includes, but is not limited to, a positioning module 301, an awareness module 302, a prediction module 303, a decision module 304, a planning module 305, a control module 306, a routing module 307, and a load reference module 308.

Some or all of the modules 301 to 308 may be implemented in software, hardware, or a combination thereof. For example, the modules may be installed in persistent storage 352, loaded into memory 351, and executed by one or more processors (not shown). It should be noted that some or all of these modules may be communicatively coupled to or integrated with some or all of the modules of the vehicle control system 111 of fig. 2. Some of the modules 301 to 308 may be integrated together into an integrated module.

The location module 301 determines the current location of the autonomous vehicle 300 (e.g., using the GPS unit 212) and manages any data related to the user's trip or route. The positioning module 301 (also known as a map and route module) manages any data related to the user's journey or route. The user may, for example, log in via a user interface and specify the starting location and destination of the trip. The positioning module 301 communicates with other components of the autonomous vehicle 300, such as map and route information 311, to obtain trip related data. For example, the location module 301 may obtain location and route information from a location server and a map and poi (mpoi) server. The location server provides location services and the MPOI server provides map services and POIs for certain locations and may thus be cached as part of the map and route information 311. The location module 301 may also obtain real-time traffic information from a traffic information system or server as the autonomous vehicle 300 moves along the route.

Based on the sensor data provided by sensor system 115 and the positioning information obtained by positioning module 301, perception module 302 determines a perception of the surrounding environment. The perception information may represent what an average driver would perceive around the vehicle the driver is driving. Perception may include, for example, lane configuration in the form of an object, a traffic light signal, a relative position of another vehicle, a pedestrian, a building, a crosswalk, or other traffic-related indicia (e.g., a stop sign, a yield sign), and so forth. The lane configuration includes information describing one or more lanes, such as, for example, the shape of the lane (e.g., straight or curved), the width of the lane, the number of lanes in the road, one-way or two-way lanes, merge or split lanes, exit lanes, and so forth.

The perception module 302 may include a computer vision system or functionality of a computer vision system to process and analyze images captured by one or more cameras to identify objects and/or features in an autonomous vehicle environment. The objects may include traffic signals, road boundaries, other vehicles, pedestrians, and/or obstacles, etc. Computer vision systems may use object recognition algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system may map the environment, track objects, and estimate the speed of objects, among other things. The perception module 302 may also detect objects based on other sensor data provided by other sensors, such as radar and/or LIDAR.

For each object, the prediction module 303 predicts how the object will behave in this case. The prediction is performed based on perception data that perceives the driving environment at a point in time that takes into account a set of map/route information 311 and traffic rules 312. For example, if the object is a vehicle in the opposite direction and the current driving environment includes an intersection, the prediction module 303 will predict whether the vehicle is likely to move straight ahead or turn. If the perception data indicates that the intersection has no traffic lights, the prediction module 303 may predict that the vehicle may need to be completely parked before entering the intersection. If the perception data indicates that the vehicle is currently in a left-turn only lane or a right-turn only lane, the prediction module 303 may predict that the vehicle will be more likely to turn left or right, respectively.

For each subject, the decision module 304 makes a decision on how to treat the subject. For example, for a particular object (e.g., another vehicle in a crossing route) and metadata describing the object (e.g., speed, direction, turn angle), the decision module 304 decides how to encounter the object (e.g., cut, yield, stop, exceed). The decision module 304 may make such a decision according to a rule set, such as traffic rules or driving rules 312, which may be stored in persistent storage 352.

The routing module 307 is configured to provide one or more routes or paths from a starting point to a destination point. For a given trip from a start location to a destination location, such as a given trip received from a user, the routing module 307 obtains route and map information 311 and determines all possible routes or paths from the start location to the destination location. The routing module 307 may generate a reference line in the form of a topographical map that defines each route from the starting location to the destination location. A reference line refers to an ideal route or path that is not disturbed by anything else, such as other vehicles, obstacles, or traffic conditions. That is, if there are no other vehicles, pedestrians, or obstacles on the road, the ADV should accurately or closely follow the reference line. The terrain map is then provided to the decision module 304 and/or the planning module 305. The decision module 304 and/or the planning module 305 examines all possible routes to select and modify one of the best routes based on other data provided by other modules, such as traffic conditions from the location module 301, driving environment sensed by the sensing module 302, and traffic conditions predicted by the prediction module 303. Depending on the particular driving environment at the point in time, the actual path or route used to control the ADV may be close to or different from the reference line provided by the routing module 307.

Based on the decisions for each of the perceived objects, the planning module 305 plans a path or route and driving parameters (e.g., distance, speed, and/or turn angle) for the autonomous vehicle using the reference lines provided by the routing module 307 as a basis. In other words, for a given object, the decision module 304 decides what to do with the object, and the planning module 305 determines how to do. For example, for a given object, decision module 304 may decide to exceed the object, while planning module 305 may determine whether to exceed to the left or right of the object. Planning and control data is generated by the planning module 305, including information describing how the vehicle 300 will move in the next movement cycle (e.g., the next route/path segment). For example, the planning and control data may instruct the vehicle 300 to move 10 meters at a speed of 30 miles per hour (mph), and then change to the right lane at a speed of 25 mph.

Based on the planning and control data, the control module 306 controls and drives the autonomous vehicle by sending appropriate commands or signals to the vehicle control system 111 according to the route or path defined by the planning and control data. The planning and control data includes sufficient information to drive the vehicle from a first point to a second point of the route or path at different points in time along the route or route using appropriate vehicle settings or driving parameters (e.g., throttle, brake, steering commands).

In one embodiment, the planning phase is performed in a plurality of planning cycles (also referred to as driving cycles), for example, in cycles of 100 milliseconds (ms) each time interval. For each of the planning or driving cycles, one or more control commands will be issued based on the planning and control data. That is, for every 100ms, the planning module 305 plans the next route segment or path segment, e.g., including the target location and the time required for the ADV to reach the target location. Alternatively, the planning module 305 may also specify a particular speed, direction, and/or steering angle, etc. In one embodiment, the planning module 305 plans a route segment or a path segment for the next predetermined period of time (such as 5 seconds). For each planning cycle, the planning module 305 plans a target location for the current cycle (e.g., the next 5 seconds) based on the target locations planned in the previous cycle. The control module 306 then generates one or more control commands (e.g., throttle, brake, steering control commands) based on the current cycle of planning and control data.

In one embodiment, the load reference module 308 is a trained recurrent neural network that can infer the load of the ADV based on a plurality of gear-based features collected in real-time. The gear-based features may include features at a first time prior to the shift, such as speed of the ADV, driving commands of the ADV, acceleration/deceleration of the ADV, and initial gear; and include one or more features at a second time after the shift, e.g., the target gear after the shift. The inferred load of the ADV may be used to dynamically adjust the driving commands in real time. For example, if the load of the ADV is large, the throttle percentage or the brake percentage needs to be increased to maintain the same acceleration or deceleration.

It should be noted that the decision module 304 and the planning module 305 may be integrated as an integrated module. The decision module 304/planning module 305 may include a navigation system or functionality of a navigation system to determine a driving path of an autonomous vehicle. For example, the navigation system may determine a series of speeds and heading directions for affecting movement of an autonomous vehicle along the following paths: the path substantially avoids perceived obstacles while advancing the autonomous-driving vehicle along a roadway-based path to a final destination. The destination may be set based on user input via the user interface system 113. The navigation system may dynamically update the driving path while the autonomous vehicle is running. The navigation system may merge data from the GPS system and one or more maps to determine a driving path for the autonomous vehicle.

Load inference system

FIG. 4 illustrates an example diagram showing a load inference system, according to one embodiment. As shown in fig. 4, the load inference model 308 may take as input real-time characteristics 401 of the ADV and infer a real-time load 410 of the ADV. The real-time characteristics may include a speed 404 of the ADV at a first time, a driving command 405 issued at the first time, an acceleration or deceleration 406 at the first time, and an original (i.e., initial) gear 407. The one or more characteristics at the second time after the shift include a second gear 408.

In one embodiment, the first time is when the ADV is about to shift to accelerate or decelerate and the second time is when the shift is complete. The driving command may include a throttle percentage or a brake percentage.

In one embodiment, the inputs to the load inference model 308 may include each individual feature, as well as combinations of features. For example, the inputs to the load inference model 308 may include a speed of the ADV at a first time, a driving command issued at the first time, an acceleration or deceleration at the first time, an initial gear, and a second gear at a second time, as well as a combination of any two of the above features.

In one embodiment, real-time features may be collected from the control system 111 and real-time loads 410 inferred from the load inference model 308 may be provided to the control system for dynamically adjusting one or more actuator commands, i.e., driving commands, such as throttle percentage or brake percentage.

FIG. 5 illustrates collecting data for training a load inference model, according to one embodiment. In one embodiment, training and testing data for the load reference model may only be collected at the time the shift occurs. Those time points at which no gear change occurs are discarded. The data collected from these time points may lead to bias in the regression model because the number of time points without a shift is much greater than the time points with a shift.

The vehicle 501 may be manually driven on a particular road segment for a period of time (e.g., 20 minutes) during which the vehicle accelerates or decelerates to produce more gear shifts.

The above process may be repeated multiple times. Each time the above process is repeated, the vehicle will be reloaded with a fixed weight difference. For example, the load in the vehicle increases by 50 kg each time the above process is repeated. One or more external sensors (e.g., weight sensor 505) may be mounted on the ADV to measure the total weight of the vehicle 501 to obtain the marking data. Since the net weight of the ADV is known, the weight of the load on the ADV can be calculated based on the net weight of the ADV and the total measured weight of the ADV.

The signature data and data collected at the time of the shift are used to train and test the load inference model for subsequent use in the vehicle 501 or a different vehicle to determine the load on the vehicle 501 or another vehicle in real time.

Because training and test data is collected at the time of gear shifting, the embodiments described in this disclosure may not be suitable for electric vehicles or continuously variable vehicles.

As shown in fig. 5, training data is collected from a first time point (T1)507 and a second time point (T2) 509.

In one embodiment, the first and second points in time are two adjacent points in time and the interval between them is the time it takes to complete the shift/gear change. The characteristics of each entry may include vehicle speed at T1, command at T1 (throttle percentage/brake percentage), acceleration/deceleration at T1, original gear at T1, and target gear at T2.

In one embodiment, a combination of features may also be included in each feature entry in the training data. For example, a combination of any two of the above listed features may be included in each feature entry. In addition, each entry of a characteristic also includes a total weight of the vehicle or a difference between the total weight of the ADV and the net weight of the ADV.

FIG. 6 illustrates an example of a load inference model 600, according to one embodiment.

In this example, the load inference model 600 may be a multi-layer perceptron (MLP) neural network regression model that is trained using data collected in the manner described in fig. 5. The load inference model 600 includes a set of connected neurons designed to model the human brain. The neurons in the load inference model may be fully connected, with each node in each layer being connected to each node in the next layer with a weight. During training of the load inference model, the load inference model changes the connection weights after processing each piece of data based on the amount of error output compared to the expected results.

In one embodiment, the load inference model 600 may include: an input layer 603 for receiving input data 601; an output layer 609 that makes decisions or predictions on the input data 601; and any number of hidden layers (e.g., hidden layer 605 and hidden layer 607) between the input layer 603 and the output layer 609.

Hidden layer 605 and hidden layer 607 are the computational engines of load inference model 600. The hidden layer 605 and the neurons in the hidden layer 607 may comprise activation functions for transforming the input data 601. A rectifying linear unit (ReLU) is an exemplary activation function used in load inference models. If ReLu receives any negative value input, it will return 0; and for any positive value it will return that value. Although fig. 6 shows two hidden layers 605 and 607 and one output layer 609, the load inference model may include additional hidden layers and additional output layers.

In an embodiment, the input data 601 for the load inference model 600 includes characteristics of the ADV at a first time and a second time. The first time and the second time may be two adjacent time points before and after the shift. The characteristics at the first time may include the state of the ADV (e.g., speed, acceleration, and angular velocity), control commands (e.g., throttle command, brake command, and steering command), and the first gear before the shift. The characteristic at the second time may include a target gear. Input data 601 may also include a combination of these above-described features. For example, input data 601 may include a combination of any two of the features described above. Additionally, the input data may also include the measured weight of the ADV, or the weight of the load 621 on the ADV during different time periods for collecting training and testing data.

The input data 601 may be processed by the hidden layer 605 and the hidden layer 607 and may be converted into data in the output layer 609. The data may be the expected total weight of the ADV, or the expected weight of the load 621 on the ADV.

FIG. 7 illustrates an exemplary process 700 of collecting data for training a load inference model, according to one embodiment. Process 700 may be performed by processing logic that may comprise software, hardware, or a combination thereof.

Referring to fig. 7, in operation 701, processing logic records driving statistics of ADVs manually driven over a segment of road for a plurality of time periods. In operation 702, processing logic records a total weight of the ADV during each of a plurality of time periods using an external sensor on the ADV. In operation 703, the processing logic extracts a plurality of features of the ADV from the driving statistics, including one or more features at a first time before shifting from the first gear to the second gear and one or more features at a second time after the shifting.

Fig. 8 illustrates an exemplary process 800 of inferring the weight of a load on an ADV, according to one embodiment. Process 800 may be performed by processing logic that may comprise software, hardware, or a combination thereof. For example, processing logic may be performed by load inference model 308 as described in fig. 4.

Referring to fig. 8, in operation 801, processing logic receives a plurality of characteristics of an ADV at a trained load inference model running on the ADV, including one or more characteristics at a first time before a shift from a first gear to a second gear and one or more characteristics at a second time after the shift. In operation 802, processing logic generates a weight of the load on the ADV through a trained load inference model based on the plurality of features.

It should be noted that some or all of the components as shown and described above may be implemented in software, hardware, or a combination thereof. For example, such components may be implemented as software installed and stored in a persistent storage device, which may be loaded into and executed by a processor (not shown) in order to perform the processes or operations described throughout this application. Alternatively, such components may be implemented as executable code programmed or embedded into dedicated hardware, such as an integrated circuit (e.g., an application specific integrated circuit or ASIC), a Digital Signal Processor (DSP), or a Field Programmable Gate Array (FPGA), that is accessible via a corresponding driver and/or operating system from an application. Further, such components may be implemented as specific hardware logic within a processor or processor core as part of an instruction set accessible by software components via one or more specific instructions.

Some portions of the foregoing detailed description have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, considered to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as those set forth in the appended claims, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Embodiments of the present disclosure also relate to apparatuses for performing the operations herein. Such a computer program is stored in a non-transitory computer readable medium. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium (e.g., read only memory ("ROM"), random access memory ("RAM"), magnetic disk storage media, optical storage media, flash memory devices).

The processes or methods depicted in the foregoing figures may be performed by processing logic that comprises hardware (e.g., circuitry, dedicated logic, etc.), software (e.g., embodied on a non-transitory computer readable medium), or a combination of both. Although the processes or methods are described above in terms of some sequential operations, it should be appreciated that some of the operations may be performed in a different order. Further, some operations may be performed in parallel rather than sequentially.

Embodiments of the present disclosure are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of embodiments of the disclosure as described herein.

In the foregoing specification, embodiments of the disclosure have been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the disclosure as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:操作系统、控制装置以及控制方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!