Unpaved and/or remote roads may be narrow and may include portions where it is difficult or not possible for one vehicle to pass another. Data for such unpaved and/or remote roads may be insufficient or missing in maps. Further, such roads can change due to usage, weather, etc.
To maneuver a first vehicle past a second vehicle on a road, e.g., where a width of the road makes passing difficult or impossible, a computer in the first vehicle may collect topographical data from its sensors and upon detecting an approaching second vehicle, the computer may determine a first passing width of the first vehicle based on (1) a first vehicle angle to a horizontal plane defined with respect to a roadway and (2) a first vehicle lateral width. Upon determining that a sum of the first passing width and a second passing width of the second vehicle exceeds a first available passing width at a first location on the road, the computer may determine a second location on the road having a second available passing width greater than or equal to the first and second passing widths.
In one or more implementations, a system includes a computer having a processor and a memory. The memory may store instructions executable by the processor to: determine a first passing width of a first vehicle based on (1) a first vehicle angle to a horizontal plane defined with respect to a road and (2) a first vehicle lateral width; and upon determining that a sum of the first passing width and a second passing width of a second vehicle exceeds a first available passing width at a first location, determine a second location having a second available passing width greater than or equal to the first and second passing widths.
In an implementation, the instructions may further include instructions to transmit to the first vehicle and/or the second vehicle the second location and/or routing guidance based on the second location.
In another implementation, the second passing width of the second vehicle may determined based upon first vehicle sensor data, vehicle-to-vehicle (V2V) communication, and/or Bluetooth Low Energy (BLE) communication.
In a further implementation, the first vehicle angle to the horizontal plane may be determined from topography data, wherein the topography data includes road width, road slope, and a condition of a road surface.
In an implementation of the system, the topography data may further include one or more of a guardrail position, a drop-off, a bridge, a crossroad, a pull-off, a kick-out, or a driveway.
In another implementation of the system, the instructions to determine the second location may further include instructions to determine the first and second passing widths at the second location based on the first vehicle angle at the second location and a second vehicle angle to the horizontal plane defined with respect to the roadway at the second location as determined based on the topography data.
In a further implementation, the routing guidance may be transmitted to the first vehicle and include guidance to the first vehicle for a dig maneuver at the second location, the guidance for the dig maneuver including to actuate a braking force on at least one inner wheel and to actuate a torque force to at least one outer wheel to dig the at least one outer wheel into to a surface of the road to achieve the first vehicle angle.
In an implementation, the routing guidance may include guidance to the second vehicle to proceed over a portion of a tire of the first vehicle.
In another implementation, the routing guidance may include guidance for a dig maneuver where one of the first vehicle or the second vehicle actuate a braking force on inner wheels and actuate opposing torque forces on respective outer wheels to dig the outer wheels into to the surface conditions to achieve the first vehicle angle or a second vehicle angle.
In a further implementation of the system, the instructions may further include instructions to: actuate a propulsion subsystem, a steering subsystem, and/or a braking subsystem of the first vehicle to proceed to the second location; and upon reaching the second location, actuate the braking subsystem to apply a braking force on first vehicle inner wheels and actuate the propulsion subsystem to apply opposing torque forces on respective first vehicle outer wheels to dig outer wheels into to a surface of the road to achieve the first vehicle angle at the second location.
On or more implementations of a method performed by a first vehicle may include: determining a first passing width of a first vehicle based on (1) a first vehicle angle to a horizontal plane defined with respect to a road and (2) a first vehicle lateral width; and upon determining that a sum of the first passing width and a second passing width of a second vehicle exceeds a first available passing width at a first location, determining a second location having a second available passing width greater than or equal to the first and second passing widths.
In an implementation, the method may further include transmitting to the first vehicle and/or the second vehicle the second location and/or routing guidance based on the second location.
In another implementation of the method, the second passing width of the second vehicle may be determined based on first vehicle sensor data, vehicle-to-vehicle (V2V) communication, and/or Bluetooth Low Energy (BLE) communication.
In a further implementation of the method, the first vehicle angle to the horizontal plane may be determined from topography data, wherein the topography data includes road width, road slope, and a condition of a road surface.
In another implementation of the method, the topography data may further include one or more of a guardrail position, a drop-off, a bridge, a crossroad, a pull-off, a kick-out, or a driveway.
In an implementation of the method, determining the second location may further include determining the first and second passing widths at the second location based on the first vehicle angle at the second location and a second vehicle angle to the horizontal plane defined with respect to the roadway at the second location as determined based on the topography data.
In another implementation of the method, the routing guidance may be transmitted to the first vehicle and includes guidance to the first vehicle for a dig maneuver at the second location, the guidance for the dig maneuver including actuating a braking force on at least one inner wheel and actuating a torque force to at least one outer wheel to dig the at least one outer wheel into to a surface of the road to achieve the first vehicle angle.
In a further implementation of the method, the routing guidance may include guidance to the second vehicle to proceed over a portion of a tire of the first vehicle.
In an implementation of the method, the routing guidance may include guidance for a dig maneuver for one of the first vehicle or the second vehicle to actuate a braking force on inner wheels and actuate opposing torque forces on respective outer wheels to dig the outer wheels into to the surface conditions to achieve the first vehicle angle or a second vehicle angle.
In another implementation, the method may include: actuating a propulsion subsystem, a steering subsystem, and/or a braking subsystem of the first vehicle to proceed to the second location; and upon reaching the second location, actuating the braking subsystem to apply a braking force on first vehicle inner wheels and actuating the propulsion subsystem to apply opposing torque forces on respective first vehicle outer wheels to dig outer wheels into a surface of the road to achieve the first vehicle angle at the second location.
With reference to
Vehicle 102 is a set of components or parts, including hardware components and typically also software and/or programming, to perform a function or set of operations in vehicle 102. Other vehicles 103 may be similar to vehicle 102. Vehicle components 110 typically include a braking system, a propulsion system, and a steering system as well as other subsystems including but not limited to an advanced driver assist system (ADAS) including various driver assist technology (DAT) such as a Global Navigation Satellite System (GNSS) based routing system, a body control system, a climate control system, and a lighting system. The propulsion subsystem converts energy to rotation of vehicle 102 wheels to propel the vehicle 102 forward and/or backward. The braking subsystem can slow and/or stop vehicle 102 movement. The steering subsystem can control a yaw, e.g., turning left and right, maintaining a straight path, of the vehicle 102 as it moves.
Vehicle 102 may also include a human-machine interface (HMI) 112, which may include a microphone, a heads-up display (HUD), an instrument panel, an interface to control one or more components 110, and infotainment system. HMI 112 may include one or more display screens, and one or more of the display screens may receive input via touchscreen control, voice control, and/or physical knobs and switches. For example, map data, route information, and routing instructions for the GNSS-based routing system may be displayed on HMI 112 and receive input by voice or touch.
Computers, including the herein-discussed one or more vehicle computers 104 (e.g., one or more electronic control units (ECUs)) and infrastructure node 120 include respective processors and memories. A computer memory can include one or more forms of computer readable media, and stores instructions executable by a processor for performing various operations, including as disclosed herein. For example, the computer can be a generic computer with a processor and memory as described above and/or an ECU, controller, or the like for a specific function or set of functions, and/or a dedicated electronic circuit including an ASIC that is manufactured for a particular operation, e.g., an ASIC for processing sensor data and/or communicating the sensor data. In another example, computer may include an FPGA (Field-Programmable Gate Array) which is an integrated circuit manufactured to be configurable by a user. Typically, a hardware description language such as VHDL (Very High-Speed Integrated Circuit Hardware Description Language) is used in electronic design automation to describe digital and mixed-signal systems such as FPGA and ASIC. For example, an ASIC is manufactured based on VHDL programming provided pre-manufacturing, whereas logical components inside an FPGA may be configured based on VHDL programming, e.g., stored in a memory electrically connected to the FPGA circuit. In some examples, a combination of processor(s), ASIC(s), and/or FPGA circuits may be included in a computer.
A computer memory can be of any suitable type, e.g., EEPROM, EPROM, ROM, Flash, hard disk drives, solid state drives, servers, or any volatile or non-volatile media. The memory can store data, e.g., a memory of an ECU. The memory can be a separate device from the computer, and the computer can retrieve information stored in the memory, e.g., one or more computers 104 can obtain data to be stored via a vehicle network 106 in the vehicle 102, e.g., over an Ethernet bus, a CAN bus, a wireless network, etc. Alternatively, or additionally, the memory can be part of computer 104, i.e., as a memory of the computer 104 or firmware of a programmable chip.
The one or more vehicle computers 104 (e.g., one or more ECUs) can be included in a vehicle 102 that may be any suitable type of ground vehicle 102, e.g., a passenger or commercial automobile such as a sedan, a coupe, a truck, a sport utility, a crossover, a van, a minivan, etc. As part of a driver assist system or an advanced driver assist system (ADAS), a vehicle computer 104 may include programming to operate one or more of vehicle 102 brakes, propulsion (e.g., control of acceleration in the vehicle 102 by controlling one or more of an internal combustion engine (ICE), electric motor, hybrid ICE/electric propulsion, etc. and control power delivery therefrom), steering, climate control, interior and/or exterior lights, etc., as well as to determine whether and when the computer, as opposed to a human operator, is to control such operations, such as by sending vehicle data over the vehicle network 106. Additionally, a vehicle computer 104 may be programmed to determine whether and when a human operator is to control such operations.
Vehicle computer 104 may include or be communicatively coupled to, e.g., via a vehicle network 106 such as a communications bus as described further below, more than one processor, e.g., included in sensors 108, electronic controller units (ECUs) or the like included in the vehicle 102 for monitoring and/or controlling various vehicle components, e.g., a powertrain controller, a brake controller, a steering controller, etc. The computer is generally arranged for communications on a vehicle 102 communication network that can include a bus in the vehicle 102 such as a controller area network (CAN) or the like, and/or other wired and/or wireless mechanisms. Alternatively, or additionally, in cases where the computer actually includes a plurality of devices, the vehicle network 106 may be used for communications between devices represented as the computer in this disclosure.
Vehicle network 106 is a network via which messages can be exchanged between various devices in vehicle 102. The vehicle computer 104 can be generally programmed to send and/or receive, via vehicle network 106, messages to and/or from other devices in vehicle 102 e.g., any or all of ECUs, sensors 108, actuators, components 110, communications module 114, HMI 112, etc. Additionally, or alternatively, messages can be exchanged among various such other devices in vehicle 102 via a vehicle network 106. In cases in which the vehicle computer 104 includes a plurality of devices, vehicle network 106 may be used for communications between devices represented as a computer in this disclosure. In some implementations, vehicle network 106 can be a network in which messages are conveyed via a vehicle 102 communications bus. For example, vehicle network 106 can include a controller area network (CAN) in which messages are conveyed via a CAN bus, or a local interconnect network (LIN) in which messages are conveyed via a LIN bus. In some implementations, vehicle network 106 can include a network in which messages are conveyed using other wired communication technologies and/or wireless communication technologies e.g., Ethernet, Wi-Fi, Bluetooth, Ultra-Wide Band (UWB), etc. Additional examples of protocols that may be used for communications over vehicle network 106 in some implementations include, without limitation, Media Oriented System Transport (MOST), Time-Triggered Protocol TTP, and FlexRay. In some implementations, vehicle network 106 can represent a combination of multiple networks, possibly of different types, that support communications among devices in vehicle 102. For example, vehicle network 106 can include a CAN in which some devices in vehicle 102 communicate via a CAN bus, and a wired or wireless local area network in which some device in vehicle 102 communicate according to Ethernet or WI-FI communication protocols.
Vehicle computer 104, other vehicles 103, and/or infrastructure node 120 can communicate with each other directly, e.g., via direct radio frequency communications according to protocols such as Bluetooth or the like. For example, vehicle 102 (as well as other vehicles 103) can include a communication module 114 to provide communications with devices and/or networks not included as part of the vehicle 102, such as a Global Navigation Satellite System (GNSS, not shown), for example. Communication module 114 can provide various communications, e.g., vehicle to vehicle (V2V), vehicle-to-infrastructure or everything (V2X) or vehicle-to-everything including cellular communications (CV2X) wireless communications cellular, dedicated short range communications (DSRC), etc., to another vehicle 103 or infrastructure node 120 typically via direct radio frequency communications. The communication module 114 could include one or more mechanisms by which a vehicle computer 104 may communicate, including any desired combination of wireless e.g., cellular, wireless, satellite, microwave and radio frequency communication mechanisms and any desired network topology or topologies when a plurality of communication mechanisms are utilized. Exemplary communications provided via the module can include cellular, Bluetooth, IEEE 802.11 (Wi-Fi), DSRC, cellular V2X, CV2X, and the like.
A vehicle 102 in accordance with the present disclosure includes a plurality of sensors 108 that may support the driver assist or ADAS functions. For example, sensors 108 may include, but are not limited to, a LiDAR sensor, one or more wheel speed sensor, steering angle sensor, Global Navigation Satellite System (GNSS) sensor, forward-facing camera, side-facing cameras, rear-facing camera, ultrasonic parking assist sensor, short range RADAR, medium range RADAR, light sensor, rain sensor, accelerometer, wheel torque sensors, inertial sensor, yaw rate sensor, etc.
In addition to supporting ADAS functions, the sensors such as the RADAR, LiDAR, and/or exterior cameras (e.g., forward, rearward, side, B-pillar cameras) may be used together with GNSS/GPS data to collect topographical data and create a topographical map of a road, e.g., when the road has narrow sections and/or lacks data in a vehicle's stored maps. As used herein, topographic or topographical data is data about one or more physical features of a surface of the earth, and can include data about an elevation and/or change in elevation over a distance or an area, and can also include, without limitation, an arrangement, identification, and/or representation of physical features of a surface area such as a road width, a road slope, trees, signs, guardrails, drop-offs, bridges, crossroads, driveways, kick-outs, pull-offs, shoulders, and one or more surface conditions (sand, dirt, gravel, mud, grass, pavement, rocks, etc.), e.g., road surface conditions. A topographical map includes topographic data for an area, i.e., identifies a location or locations of respective topographic features, i.e., physical features of a surface at locations in the area. A topographical map may be combined or stored with a map including other data, e.g., a street or road map or the like.
An infrastructure node 120, sometimes referred to as an edge unit, roadside infrastructure unit, or RSU, includes a physical structure such as a tower or other support structure (e.g., a pole, a box mountable to a bridge support, cell phone tower, road sign support, etc.) on or in which sensors, a communications module, and computer can be housed, mounted, stored, and/or contained, and powered, etc. An infrastructure node 120 is typically stationary, i.e., fixed to and not able to move from a specific physical location. The infrastructure node 120 also includes a power source such as a battery, solar power cells, and/or a connection to a power grid. One infrastructure node 120 is shown in
The infrastructure node 120 may include one or more sensors having a field of view such as described above for the vehicle 102 sensors 108, e.g., LiDAR, radar, cameras, ultrasonic sensors, etc. The sensors are fixed or stationary. That is, each sensor is mounted to the infrastructure element so as to have a substantially unmoving and unchanging field of view. Because sensors of infrastructure node 120 have a substantially constant field of view, determinations of locations, sizes, and speeds of vehicles (102, 103) can be accomplished with fewer and simpler processing resources than if movement of the sensors also had to be accounted for.
The communications module of infrastructure node 120 may include one or more mechanisms, i.e., conventional radio frequency transmitter and receiver components, by which the computer of infrastructure node 120 may communicate, including any desired combination of wireless (e.g., cellular, wireless, satellite, microwave and radio frequency) communication mechanisms and any desired network arrangement (or arrangements when a plurality of communication mechanisms are utilized). Exemplary communications provided via the communications module can include cellular, Bluetooth, IEEE 802.11, dedicated short range communications (DSRC), cellular V2X (CV2X), and the like.
The computer of infrastructure node 120 includes a processor and a memory such as described above with respect to vehicle computer 104.
A vehicle 102 (or 103) that has collected sensor data to create a topographical map of a portion of road may share the data with an infrastructure node 120 using V2X communication, and infrastructure node 120 may then share the topographical map of the portion of road with another vehicle 103 (or 102) using V2X communication.
With reference to
In a first scenario illustrated in
In a second scenario illustrated in
With reference to
In a first scenario illustrated in
In a second scenario illustrated in
In the scenarios of
The scenarios discussed in
Topographic data for road 202 may be obtained from pre-existing or stored map data, such as stored in a memory of a vehicle computer 104, obtained by other vehicles and shared using V2V/V2X communications, and/or may be obtained using the sensors 108 of vehicle 102. For example, computer 104 may be programmed to receive sensor data from the sensors 108 indicating the topography around the vehicle 102 while the vehicle 102 is traveling forward along the road 202. The computer 104 may further be programmed to identify topographical features or obstacles such as bumps, holes, dips, trees, signs, guardrails, etc. in the environment, e.g., on or proximate to a road 202, based on the sensor data. The sensor data may include image data such as point clouds from RADAR and/or LiDAR, image data from optical cameras, etc. Suitable techniques can be used to determine topographical features such as the foregoing and/or a width of the surface of road 202 as well as any objects in the environment from sensor data such as the afore-mentioned image data.
The computer 104 may be programmed to identify topography such as any sloped portions 220 or drop-off portions 230 on road 202 based on the sensor data. As used herein, a sloped portion 220 is a portion of road having a surface slope at an angle to horizontal which vehicle 102 is capable of traversing, even if only at low speed, and will typically be the same as tilt angle θ of vehicle 102 with all tires traversing the sloped portion 220. A drop-off portion 230 is a portion of road 202 having an angle to horizontal with a surface slope that cannot be traversed by vehicle 102, and will typically not be the same as the tilt angle θ of vehicle 102 since traversal on road 202 may no longer be possible with only one or two tires of vehicle 102 on the drop-off portion 230. The computer identification of sloped portions 220 or drop-off portions 230 on road 202 may depend on the surface slope relative to a predetermined threshold angle that may take vehicle ground clearance, tire grip on the road surface (e.g., coefficient of dynamic friction between a tire and the road surface), and/or other factors such as vehicle center of gravity into consideration, e.g., to determine a moment of the vehicle 102 and/or an angle at which the vehicle 102 may not remain securely on all four tires, which may be used to determine an angle of transition between a sloped portion 220 and a drop-off portion 230. The computer 104 may identify a location as a sloped portion 220 or a drop-off portion 230 in response to detecting changes in a ground and/or road 202 surface level measured with respect to a horizontal plane. The surface slope may be represented in units of angles, e.g., degrees or radians, or as a unitless slope that is a ratio of rise (in units of distance) over run (in units of distance). The surface slope may be determined by a vertical difference between two points of the point cloud (i.e., “rise”) over a horizontal distance between the two points (i.e., “run”). Sloped portions 220 and drop-off portions 230 may be determined relative to respective predetermined threshold angles, which may be adjusted based on surface conditions of road 202.
For example, a threshold angle for a transition between a sloped portion 220 and a drop-off portion 230 for a vehicle 102 may be determined as 30 degrees by empirical testing in a test or real-world environment and/or by simulation based on ground clearance, tire type, and/or other factors. Based on the threshold angle of 30 degrees, a surface slope between 3 and 30 degrees may be determined as a sloped portion 220 and a surface slope of greater than 30 degrees may be determined as a drop-off portion 230 in dry conditions. However, the threshold angle of 30 degrees, which marks the transition from a sloped portion 220 to a drop-off portion 230, may be reduced to 20 degrees when surface conditions of road 202 are wet and tire grip on the road surface may be insufficient to permit traversal by the vehicle 102 based upon the wet conditions reducing the coefficient of dynamic friction between the tires and the surface of road 202. The threshold angle of 30 degrees may also be reduced to, for example, 25 degrees when a protrusion in the surface of road 202 between tires of vehicle 102 (i.e., the geometry of road 202 under vehicle 102) would interfere with an underbody of vehicle 102 based upon insufficient ground clearance relative to the protrusion.
Other factors such as the center of gravity of vehicle 102 and/or the suspension travel of vehicle 102 may also affect the predetermined threshold angle based upon vehicle stability considerations and/or the effect of weight transfer on tire grip, and the effect of these factors on the threshold angle may also be determined by empirical testing in a test or real-world environment and/or by simulation. The threshold angle can be selected to limit the tilt angle θ of a vehicle during the path of any autonomous maneuvering or autonomous dig procedure based upon routing guidance from computer 104 to avoid a risk of rollover. When an operator uses routing guidance to manually perform a pass maneuver, computer 104 may monitor for a possible rollover risk and output an alert to the operator if a predicted path or maneuver may result in a risk of rollover by approaching the threshold angle.
Additionally, the predetermined threshold angles may vary from vehicle to vehicle based on tire type, ground clearance, center of gravity, suspension travel, and drive type (2-wheel drive, 4-wheel drive, etc.) and may be determined with empirical testing, e.g., of a type of vehicle 102 in a test or real-world environment, and/or simulation, for example, and may stored by the computer 104. For example, the computer 104 could store the predetermined threshold angle to be used to determine a location at which a road 202 transitions from a sloped portion 222 a drop-off portion 230. Further, in some of limitations, the computer 104 may store a lookup table or the like that specifies various threshold angles for respective surface conditions. For example, sensors 108 could determine one of a wet road surface condition for a dry road surface condition as a current road surface condition, and a lookup table could store a first threshold angle to be used for the wet road surface condition and a second threshold angle to be used for the dry road surface condition. Alternatively or additionally, user input or a factory setting could specify a type or classification of vehicle 102 tires, and the lookup table or the like could store respective threshold angles based on various types or classifications of vehicle tires.
The computer 104 may be programmed to identify features and/or generate a topographic map of the road 202 from the sensor data. The topographic map includes any topographical features of road 202, such as width changes, surface slopes, drop-off, and/or obstacles identified. For example, the computer 104 may add the locations of the road width, slopes, drop-offs, and obstacles to preexisting map data of road 202. The preexisting map data may be stored in the memory of the computer 104 or received via the communication module 114. An absolute location of the topographical features of road 202 may be determined by adding a relative location of the features relative to the vehicle 102, known from the sensor data, to an absolute location of the vehicle 102, which may be known from, e.g., data from a GNSS sensor of the sensors 108. The preexisting map data may include positions and/or approximate boundaries for the road 202.
With respect to
As illustrated in
In an example implementation, vehicle computer 104 may determine a first passing width of vehicle 102 based on (1) vehicle tilt angle θ of the vehicle 102 defined with respect to horizontal and (2) the vehicle lateral width of vehicle 102, e.g., according to a trigonometric calculation such as described above. Computer 104 may use sensor data and/or data received by V2V and/or V2X communication to determine a second passing width of an approaching vehicle 103 and, upon determining that a sum of the first passing width of the vehicle 102, and a second passing width of vehicle 103, exceeds a first available passing width at a first location 203 where the vehicles 102 and 103 will arrive and be unable to pass one another, determine a second location 205 having a second available passing width greater than or equal to the first and second passing widths. For example, the computer 104 may select a second location 205 that utilizes an available tilt angle θ to reduce a first or second passing width of vehicles 102 and/or 103, respectively.
In an implementation, computer 104 may access topographic data from a stored map and/or data from vehicle sensors 108 such as LiDAR, RADAR, cameras, ultrasonic sensors, and roll angle sensors to determine the edges, slope, and drop-offs of road 202 in order to determine an available width of road 202 along portions of road 202 before and/or after the first location 203. For example, image processing techniques can be used to determine a location of road edges, slope and drop off angles, etc. Based on the first and second passing widths of vehicles 102 and 103, the computer 104 may determine the second location 205 having an available width greater than a sum of the first and second passing widths of vehicle 102 and 103 within a portion of road 202 before or after the first location 203. In an implementation, computer 104 may begin determining the available width of road 202 for a predetermined distance of road 202 before or after the first location 203 upon determining that the vehicles 102 and 103 will be unable to pass at the first location, and may terminate the determination process upon identifying a second location 205 having an available width greater than a sum of the first and second passing widths of vehicle 102 and 103 for portion long enough to permit a passing maneuver. In a further implementation, computer 104 may perform the determination process for the predetermined distance before the first location 203 before performing any determination process for the predetermined distance after the first location 203, which may permit vehicle 102 to move to the second location 205 without requiring vehicle 103 to move in reverse for the passing maneuver.
With respect to
As illustrated in
In an implementation, a determination by computer 104 of a passing width specified or warranted for a passing maneuver may also include permitting one vehicle to drive over a portion of a tire of another vehicle that is stationary and positioned at a tilt angle θ, as illustrated in
The process 600 may begin when a vehicle 102 begins operating and begins operating sensors 108 and/or communication module 114.
In a first block 605, vehicle computer 104 may obtain road topography data based on input of sensor data from operation of sensors 108 and/or from V2V and/or V2X data received by communication module from another vehicle 103 and/or an infrastructure node 120.
In a decision block 620, computer 104 may determine whether portions of the road 202 being traveled on have a width below a minimum threshold width specified to permit vehicles 102, 103 to pass one another, e.g., based on road topography data in a stored map, and/or sensor data, specifying a road width at a location. The minimum threshold width typically can vary based on respective widths of vehicles 102, 103, and/or road conditions, and one or more threshold widths could be stored in a memory of a computer 104, e.g., in a lookup table or the like. A width could be specified for a vehicle 102 manufacturer, and then could be used to determine the threshold width, e.g., based on empirical testing and/or simulation of a desired minimum with for a vehicle 102 to pass a vehicle 103. Further, e.g., based on empirical testing and/or simulation, a minimum threshold width for a vehicle 102 could be varied based on road conditions, e.g., a scaling factor could be provided to increase the minimum threshold with for conditions such as loose gravel or water or mud. Accordingly, examples are possible in which a threshold width may be set at twice the lateral width of vehicle 102 when vehicle 102 is driving on a hard-packed dirt or gravel surface, and two-and-a-half times the lateral width of vehicle 102 when vehicle 102 is on a loose-packed gravel surface. If computer 104 determines the width is not below the threshold width (“NO” at block 620), the computer 104 continues obtaining road topography data at block 605.
If computer 104 determines the width is below the threshold width (“YES” at block 620), the computer 104 continues to block 625, and may at least temporarily store the topographic data in a topographic road map. This topographic road map may be shared with other vehicles 103 and infrastructure node 120 over V2V or V2X communication using communication module 114. The topographic road map may include road width, road slope, road surface condition, guardrail positions, drop-offs, bridges, crossroads, pull-offs, kick-outs, and driveways. For unpaved or off-road tracks, these topographic elements may change over time due to erosion, weather conditions, prior users, etc., making a topographic map based on recently-acquired data more accurate for current conditions.
In a next block 630, computer 104 may detect an approaching vehicle 102 that is expected to cross or intersect with vehicle 102 at a first location 203 on road 202. Computer 104 may detect the approaching vehicle 103 based on input of sensor data or V2V/V2X data. The V2V data may include data sent over BLE or Wi-Fi. For example, forward or rearward-facing sensors 108 may detect a vehicle 103 and that a distance between vehicle 102 and vehicle 103 is decreasing and determine that a crossing or an intersection of vehicle 102 and vehicle 103 is expected to occur at the first location 203 based on, for example, calculations using basic physics equations of motion. Alternatively or additionally, communication module 114 may receive a V2V, V2X, BLE, or Wi-Fi transmission broadcasting a position and speed of vehicle 103 that indicates vehicle 103 is on road 202 and has a relative velocity that indicates that a crossing or an intersection of vehicle 102 and vehicle 103 is expected to occur at the first location 203 based on, for example, calculations using the basic physics equations of motion.
In a decision block 635, computer 104 determines whether the road 202 is wide enough at the first location 203 to permit the vehicle 102 and vehicle 103 to pass one another, as described in further detail in
If computer determines that the road 202 is not wide enough for a pass to occur at the first location 203 (“NO” at block 635), the process 600 moves to block 640, wherein computer 104 determines a second location 205 to perform a pass maneuver, as described in further detail in
In a next block 645, computer 104 may transmit routing guidance to vehicle 102 and/or vehicle 103 for the pass maneuver. The routing guidance includes a position of the second location 205 and/or routing to the second location 205 as well as any maneuvers to coordinate a pass such as reversing, waiting, etc. as disclosed with respect to
The process 600 may then proceed to block 650, wherein computer 104 may actuate subsystems to perform the pass maneuver based on the routing guidance, or an operator of vehicle 102 may use the routing guidance to perform the pass maneuver.
In a next block 655, the computer determines whether to continue process 600. If the vehicle 102 has ceased operating sensors 108 and communication module 114, the computer may determine no to continue (“NO” at block 655), and end process 600. If computer 104 determines that vehicle 102 is still operating sensors 108 and communication module 114 (“YES” at block 655), the process may continue and return to block 605.
Upon computer 104 detecting an approaching vehicle 102 that is expected to cross or intersect with vehicle 102 at a first location 203 on road 202 at block 630, process 700 proceeds to a block 705, wherein computer 104 determines a first passing width of (first) vehicle 102 based on a first vehicle angle of vehicle 102 at the first location 203 and a first lateral width of the vehicle 102, as described with respect to
In a next block 710, computer 104 determines a second passing width of (second) vehicle 103 based on a second vehicle angle of vehicle 103 at the first location 203 and a second lateral width of the vehicle 103 using the same procedure described with respect to vehicle 102 in
In block 715, computer 104 determines a first sum of the first passing width of vehicle 102 and the second passing width of vehicle 103.
In a decision block 720, computer 104 determines whether the first sum is greater than the available passing width of road 202 at the first location 203. If the first sum is not greater than the available passing width (“NO” at block 720), a pass is determined to be possible (“YES” at block 635) and the processes 700 and 600 proceed to block 650 of
If the first sum is greater than the available passing width (“YES” at block 720), a pass is determined to not be possible (“NO” at block 635) and the processes 700 and 600 proceed to block 640 of
Upon computer 104 determining that a pass is not possible at a first location 203 at block 635 (“NO” at block 635), process 800 proceeds to a first block 805, wherein computer 104 determines a second sum of the first vehicle lateral width of vehicle 102 and the second vehicle lateral width of vehicle 103.
In a next decision block 810, computer 104 determines whether a portion of road 202 within a predetermined distance, for example 50 meters or the distance to nearest driveway 204 or crossroad, has a width greater than the second sum, e.g., based on stored map data or a stored topographical map. If computer 104 determines that a portion of road 202 within the predetermined distance has a width greater than the second sum (“YES” at block 810), the process 800 proceeds to block 815, wherein computer 104 selects the portion of road 202 having a width greater than the second sum as a second location 205 to perform a pass maneuver and proceeds to block 645 of
If computer 104 determines that a portion of road 202 within the predetermined distance does not have a width greater than the second sum (“NO” at block 810), the process 800 proceeds to a decision block 820, wherein computer 104 determines whether a second portion of roadway within the predetermined distance has one or more attributes permitting an available passing width greater than the first sum. For example, the road topography data for road 202 at the second location 205 may include an attribute such as a road slope permitting a tilt angle θ that sufficiently expands the available passing width or a soft surface condition permitting a dig maneuver to achieve a tilt angle θ that sufficiently expand the available passing width.
If computer 104 determines that a second portion of roadway within the predetermined distance does not include one or more attributes to provide an available passing width greater than the first sum (“NO” at block 820), process 800 proceeds to a block 825, wherein computer 104 selects the nearest crossroad or driveway 204 as the second location 205 to perform the pass maneuver and proceeds to block 645 of
If computer 104 determines that a second portion of roadway within the predetermined distance has a one or more attributes to provide an available passing width greater than the first sum (“YES” at block 820), process 800 proceeds to a next block 830, wherein computer 104 determines whether a dig maneuver using a soft surface condition to achieve a tilt angle θ is warranted. If computer 104 determines that a dig maneuver is not warranted (“NO” at block 830), process 800 moves to block 835, wherein computer 104 selects the second portion of road 202 as the second location 205 and proceeds to block 645 of
If computer 104 determines that a dig maneuver is warranted (“YES” at block 830), process 800 moves to block 840, wherein computer 104 selects the second portion of road 202 as the second location 205.
In a next block 845, computer 104 includes dig maneuver instructions in the routing guidance and proceeds to block 645 of
Process 900 may start upon receiving routing guidance with guidance for a dig maneuver.
In a first block 905, computer 104 actuates a braking subsystem to apply a braking force to at least one wheel on a first side of vehicle 102. The first side of the vehicle will typically be an inside wheel relative to the road 202.
In a next block 910, computer 104 actuates a propulsion subsystem to apply a torque to at least one wheel on a second side of vehicle 102. The second side of the vehicle will typically be an outside wheel relative to the road 202.
In a decision block 915, computer 104 receives data from sensors 108 and determines whether a desired tilt angle of vehicle 102 has been achieved. If computer 104 determines that the desired tilt angle of vehicle 102 has not been achieved (“NO” at block 915), process 900 returns to block 905. If computer 104 determines that the desired tilt angle of vehicle 102 has been achieved (“YES” at block 915), process 900 ends.
Process 901 may start upon receiving routing guidance with guidance for a dig maneuver.
In a first block 925, computer 104 actuates a braking subsystem to apply a braking force to both wheels on a first side of vehicle 102. The first side of the vehicle will typically be an inside wheel relative to the road 202.
In a next block 930, computer 104 actuates a propulsion subsystem to apply a torque in opposing directions to the wheels on a second side of vehicle 102. The second side of the vehicle will typically be an outside wheel relative to the road 202.
In a decision block 935, computer 104 receives data from sensors 108 and determines whether a desired tilt angle of vehicle 102 has been achieved. If computer 104 determines that the desired tilt angle of vehicle 102 has not been achieved (“NO” at block 935), process 901 returns to block 925. If computer 104 determines that the desired tilt angle of vehicle 102 has been achieved (“YES” at block 935), process 901 ends.
While disclosed above with respect to certain implementations, various other implementations are possible without departing from the current disclosure.
Use of in response to, based on, and upon determining herein indicates a causal relationship, not merely a temporal relationship. Further, all terms used in the claims are intended to be given their plain and ordinary meanings as understood by those skilled in the art unless an explicit indication to the contrary is made herein. Use of the singular articles “a,” “the,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.
In the drawings, the same or like reference numbers indicate the same or like elements. Further, some or all of these elements could be changed. With regard to the media, processes, systems, methods, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, unless indicated otherwise or clear from context, such processes could be practiced with the described steps performed in an order other than the order described herein. Likewise, it further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain implementations and should in no way be construed so as to limit the present disclosure.
Operations, systems, and methods described herein should always be implemented and/or performed in accordance with an applicable owner's/user's manual and/or safety guidelines.
The disclosure has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than of limitation. Many modifications and variations of the present disclosure are possible in light of the above teachings, and the disclosure may be practiced otherwise than as specifically described.