Self-loading autonomous vehicle
By using a self-loading sequence system that utilizes vehicle computer control of lighting systems and camera image processing, the system autonomously determines the loading sequence of autonomous vehicles, solving the coordination problem of autonomous vehicle loading and achieving efficient vehicle loading.
Patent Information
- Application Number
- CN201810706489.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-07-12
- Filing Date
- 2018-07-02
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2038-07-02
AI Technical Summary
In existing technologies, autonomous vehicles require human coordination when loading themselves onto trucks or train carriages, and the loading process is interrupted when they cannot load themselves, causing inconvenience and trouble.
The system employs a self-loading sequence system, which uses the vehicle's computer to control the lighting system to flash taillights, detects the responses of following vehicles, and determines vehicle positions and faults based on camera image processing, thereby autonomously deciding on the loading sequence.
It enables autonomous vehicles to load themselves on trucks or train carriages, reducing the need for human coordination, avoiding interruptions in the loading process, and improving loading efficiency.
Smart Images

Figure CN109249935B_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to the field of autonomous vehicles, and more particularly to self-loading autonomous vehicles. Background Technology
[0002] The Society of Automotive Engineers (SAE) has defined several levels of autonomous vehicle operation. At levels 0-2, the human driver typically monitors or controls most driving tasks without assistance from the vehicle. For example, at level 0 (“No Automation”), the human driver is responsible for all vehicle operation. At level 1 (“Driver Assistance”), the vehicle sometimes assists with steering, acceleration, or braking, but the driver remains responsible for the vast majority of vehicle control. At level 2 (“Partial Automation”), the vehicle can control steering, acceleration, and braking in certain situations without human-machine interaction. At levels 3-5, the vehicle undertakes more driving-related tasks. At level 3 (“Conditional Automation”), the vehicle not only handles monitoring of the driving environment but can also handle steering, acceleration, and braking in certain situations. However, level 3 requires occasional driver intervention. At level 4 (“High Automation”), the vehicle can handle the same tasks as at level 3, but does not rely on driver intervention in certain driving modes. At level 5 (“Full Automation”), the vehicle can handle almost all tasks without any driver intervention. Summary of the Invention
[0003] According to the present invention, a vehicle computer is provided, comprising:
[0004] Memory; and
[0005] A processor, programmed to execute instructions stored in memory, including:
[0006] Command the lighting system controller to flash the taillights of the main vehicle;
[0007] Determine whether a response was received from the first following vehicle located behind the main vehicle; and
[0008] The master vehicle is commanded to autonomously drive to the loading area upon receiving a response from the first following vehicle.
[0009] According to one embodiment of the invention, the instruction further includes: detecting a mark having a code or symbol and determining, once the mark is detected, that the master vehicle is the lead vehicle in a convoy of vehicles.
[0010] According to one embodiment of the present invention, the instruction includes: after detecting a sign, commanding the lighting system controller to flash the taillights of the main vehicle toward the first following vehicle.
[0011] According to one embodiment of the present invention, receiving a response from a first following vehicle includes: receiving an image captured by a camera of the master vehicle and processing the image.
[0012] According to one embodiment of the invention, the instruction further includes: determining, as a result of processing the image, that the first following vehicle responded by flashing its headlights in a predetermined pattern.
[0013] According to one embodiment of the present invention, the instruction further includes: waiting for a response from the first following vehicle for a predetermined period of time and determining whether the first following vehicle has not responded within the predetermined period of time.
[0014] According to one embodiment of the present invention, the instruction further includes: sending a notification to the maintenance center indicating that the following vehicle cannot proceed to the loading area because it is determined that the first following vehicle has not responded within a predetermined period of time.
[0015] According to one embodiment of the present invention, the instruction further includes: commanding the master vehicle to autonomously drive to the loading area after sending the notification.
[0016] According to one embodiment of the present invention, the instruction further includes: confirming whether the first following vehicle is located behind the main vehicle.
[0017] According to one embodiment of the present invention, determining whether a first following vehicle is located behind a main vehicle includes: determining whether the first following vehicle is located behind the main vehicle based on an image captured by a camera of the main vehicle that has a view of the area behind the main vehicle.
[0018] According to one embodiment of the invention, the instruction further includes: if the first following vehicle is not located behind the main vehicle, then determining that the main vehicle is the last vehicle in a convoy.
[0019] According to one embodiment of the invention, the instruction further includes: if the first following vehicle is not located behind the main vehicle, detecting whether a neighboring convoy of vehicles is near the main vehicle.
[0020] According to one embodiment of the invention, the instruction further includes: after detecting a neighboring convoy of vehicles, commanding the master vehicle to autonomously move in front of the neighboring convoy of vehicles.
[0021] According to one embodiment of the invention, the instruction further includes: after reaching the front of an adjacent convoy of vehicles, commanding the lighting system controller of the main vehicle to flash the taillights of the main vehicle toward a second following vehicle in the adjacent convoy.
[0022] According to one embodiment of the invention, the instruction further includes: waiting for a response from a second following vehicle in a neighboring convoy.
[0023] According to one embodiment of the present invention, the instruction further includes: detecting a response from a second following vehicle within a predetermined time period.
[0024] According to one embodiment of the present invention, the instruction further includes: upon receiving a response from the second following vehicle, commanding the main vehicle to autonomously drive to the loading area. Attached Figure Description
[0025] Figure 1 An example autonomous vehicle is shown with a self-loading sequence system for self-loading onto a truck or train in a specific order relative to other autonomous vehicles.
[0026] Figure 2 A block diagram showing example components of an autonomous vehicle with a self-loading sequence system;
[0027] Figures 3A to 3F The image shows a parking lot where autonomous vehicles equipped with a self-loading sequence system move sequentially toward trucks or trains.
[0028] Figure 4 A flowchart illustrating an example process that can be executed by a self-loading sequence system of a lead autonomous vehicle;
[0029] Figure 5 A flowchart illustrating an example process that can be performed by a self-loading sequence system following autonomous vehicles;
[0030] Figure 6 This is a flowchart of an example process that can be performed by a self-loading sequence system that follows autonomous vehicles at the rear of the convoy. Detailed Implementation
[0031] Transferring vehicles in a convoy typically involves loading them onto trucks or trains. For non-autonomous vehicles, someone must drive each vehicle onto the loading ramp and then onto the truck or train car. This takes a considerable amount of time and requires significant coordination among the drivers.
[0032] Autonomous vehicles can drive themselves onto trucks or train carriages. This still requires considerable coordination with other autonomous vehicles. Furthermore, autonomous vehicles that cannot load themselves onto trucks or train carriages will interrupt the loading process until a human can investigate the problem and remove the troublesome autonomous vehicle from the roadway, etc.
[0033] One method for a fleet of autonomous vehicles to drive themselves onto trucks or train cars involves incorporating a self-loading sequence system into each autonomous vehicle. This system can be implemented via a vehicle computer having memory and a processor programmed to execute instructions stored in that memory. These instructions include commanding the lighting system controller to flash the taillights of the lead vehicle, determining whether a response has been received from a first following vehicle located behind the lead vehicle, and, upon receiving a response from the first following vehicle, commanding the lead vehicle to autonomously drive to the loading area.
[0034] The instruction may further include detecting a sign with a code or symbol and, once the sign is detected, determining that the lead vehicle is the lead vehicle in a convoy. In this case, the instruction may further include, after detecting the sign, commanding the lighting system controller to flash the lead vehicle's taillights toward the first following vehicle.
[0035] Receiving the response from the first following vehicle includes receiving an image captured by the main vehicle's camera and processing the image. In this embodiment, the instruction may further include determining, as a result of processing the image, that the first following vehicle responded by flashing its headlights in a predetermined pattern.
[0036] The instruction may further include waiting for a predetermined time for a response from the first following vehicle and determining whether the first following vehicle has not responded within that predetermined time. In this possible method, the instruction may further include sending a notification to the maintenance center instructing the following vehicle not to proceed to the loading area if it is determined that the first following vehicle has not responded within the predetermined time. The instruction may further include, after sending the notification, commanding the main vehicle to autonomously proceed to the loading area.
[0037] The instruction may further include confirming whether the first following vehicle is behind the main vehicle. Confirming whether the first following vehicle is behind the main vehicle may include determining whether the first following vehicle is behind the main vehicle based on an image captured by a camera on the main vehicle showing a view of the area behind the main vehicle. Further, the instruction may include determining that the main vehicle is the last vehicle in a convoy if the first following vehicle is not behind the main vehicle. The instruction may further include detecting whether a neighboring convoy of vehicles is near the main vehicle if the first following vehicle is not behind the main vehicle. Furthermore, the instruction may further include commanding the main vehicle to autonomously move in front of the neighboring convoy after detecting it. Additionally, the instruction may further include commanding the main vehicle's lighting system controller to flash the main vehicle's taillights towards a second following vehicle in the neighboring convoy after reaching the front of the neighboring convoy. The instruction may further include waiting for a response from the second following vehicle in the neighboring convoy. This may include an instruction to detect a response from the second following vehicle within a predetermined time period. This may also include an instruction to command the main vehicle to autonomously move to the loading area upon receiving a response from the second following vehicle.
[0038] The elements shown may take many different forms and include multiple and / or alternative components and devices. The example components shown are not intended to be limiting. In fact, additional or alternative components and / or implementations may be utilized. Furthermore, unless explicitly stated otherwise, the elements shown are not necessarily drawn to scale.
[0039] like Figure 1 As shown, an autonomous master vehicle 100 with a self-loading sequence system 105 allows the master vehicle 100 to self-load into trucks, train cars, shipping containers, etc., in a specific order relative to other autonomous vehicles. Although shown as a passenger car, the master vehicle 100 can be any passenger car or commercial vehicle (e.g., car, truck, SUV, crossover, van, minivan, taxi, bus, etc.). As discussed in more detail below, the master vehicle 100 is an autonomous vehicle capable of operating in autonomous (e.g., driverless) mode, partially autonomous mode, and / or non-autonomous mode. Further, depending on the position of the master vehicle 100 in a parking queue, such as waiting to drive to a loading area (where it can self-load into trucks, train cars, shipping containers, etc.), the master vehicle 100 can be a "lead vehicle" as the first vehicle in a queue, a "following vehicle" as a vehicle other than the lead vehicle, or a "last vehicle" as the last following vehicle in the queue.
[0040] The self-loading sequence system 105 helps the master vehicle 100 determine when it should proceed to the loading area. As discussed in more detail below, the self-loading sequence system 105 determines whether the master vehicle 100 is the lead vehicle, following vehicle, or last vehicle in the convoy. If the self-loading sequence system 105 determines that the master vehicle 100 is the first vehicle, it flashes the taillights of the master vehicle 100 to the following vehicles. The self-loading sequence system 105 waits for a response from the following vehicles. Upon receiving such a response, the self-loading sequence system 105 instructs the master vehicle 100 to proceed to the loading area. If no response is received within a certain time period, the self-loading sequence system 105 determines whether a following vehicle exists. If no following vehicle exists, the self-loading sequence system 105 can determine that the master vehicle 100 is the last vehicle in the convoy and therefore continues, as discussed in more detail below. If a following vehicle exists, the self-loading sequence system 105 can determine that the following vehicle may have malfunctioned and cannot load itself. Therefore, the self-loading sequence system 105 notifies the maintenance center 110 that the following vehicle needs maintenance before it can reach the loading area and complete its self-loading. In some cases, even if the position of the following vehicle obstructs other vehicles in the convoy from reaching the loading area, the lead vehicle 100 can continue to drive as if it were the last vehicle in the convoy.
[0041] If the self-loading sequence system 105 determines that the main vehicle 100 is a following vehicle, the self-loading sequence system 105 can wait for a signal from the vehicle immediately following in front of the main vehicle 100. That is, the self-loading sequence system 105 can wait for the vehicle immediately following in front of the main vehicle 100 to flash its taillights. The self-loading sequence system 105 can respond by having the main vehicle 100 flash its headlights. Then, the self-loading sequence system 105 can flash the taillights of the main vehicle 100 as a signal to the vehicle directly behind the main vehicle 100. Once the vehicle directly behind the main vehicle 100 responds, the self-loading sequence system 105 can allow the main vehicle 100 to proceed into the loading area. Furthermore, the self-loading sequence system 105 can determine whether the vehicle immediately following the main vehicle 100 has responded to the flashing taillights. If it has not responded, the self-loading sequence system 105 can determine whether there is another following vehicle. If no other following vehicle is present, the self-loading sequence system 105 can determine that the main vehicle 100 is the last vehicle in the platoon and therefore continues driving, as discussed in more detail below. If another following vehicle is present, the self-loading sequence system 105 can determine that the following vehicle may have a malfunction and cannot load itself. Therefore, the self-loading sequence system 105 can notify the maintenance center 110 that the other following vehicle needs maintenance before it can reach the loading area and complete self-loading. In some cases, even if the position of the other following vehicle obstructs other vehicles in the platoon from reaching the loading area, the main vehicle 100 can continue driving as if it were the last vehicle in the platoon.
[0042] When the master vehicle 100 operates as the last vehicle in the convoy, this can occur after the master vehicle 100 receives a signal from the following vehicle immediately in front of it and after the self-loading sequence system 105 determines that there are no other following vehicles behind the master vehicle 100 in the convoy. Additionally, as mentioned above, if a vehicle immediately behind the master vehicle 100 has broken down and is blocking the path of other vehicles, the master vehicle 100 can operate as the last vehicle in the convoy. The self-loading sequence system 105 can determine whether there is an adjacent convoy of vehicles so that the master vehicle 100 can operate as the last vehicle in the convoy. If there is an adjacent convoy of vehicles, the self-loading sequence system 105 can cause the master vehicle 100 to move ahead of the adjacent convoy instead of moving into the loading area. From this position, the self-loading sequence system 105 can operate as the lead vehicle for the adjacent convoy. If there is no adjacent convoy of vehicles, the self-loading sequence system 105 can cause the master vehicle 100 to move into the loading area.
[0043] Now for reference Figure 2The components of the self-loading sequence system 105 can communicate with components of the host vehicle 100 (e.g., vehicle communication system 115, camera 120 or other vision sensors, external lighting system 125, and autonomous mode controller 130). The self-loading sequence system 105 can be implemented via a vehicle computer 135 having a memory 140 and a processor 145. A communication network 150 including hardware (e.g., a communication bus) can facilitate... Figure 2 Communication between at least some of the components shown. The communication network 150 can facilitate wired or wireless communication between vehicle components according to a variety of communication protocols (e.g., controller area network (CAN), Ethernet, WiFi (wireless fidelity), local interconnect network (LIN), and / or other wired or wireless mechanisms).
[0044] The communication system 115 is implemented via antennas, circuits, chips, or other electronic components that facilitate wireless communication between the main vehicle 100 and the maintenance center 110. The communication system 115 can be programmed to communicate according to any number of wired or wireless communication protocols. For example, the communication system 115 can be programmed to communicate according to satellite communication protocols, cellular communication protocols (LTE (Long Term Evolution), 3G (The 3rd Generation Telecommunication), etc.), etc. Bluetooth Low Energy (BLE) Communication systems 115 can communicate via protocols such as Low Energy, Ethernet, Controller Area Network (CAN), WiFi, Local Area Network (LIN), and Dedicated Short Range Communication (DSRC). In some cases, the communication system 115 is integrated into the vehicle's telematics unit. The communication system 115 can be programmed to send messages to the service center 110 based on instructions from, for example, a processor 145. These messages can indicate that vehicles behind the main vehicle 100 may not be able to reach the loading area.
[0045] Camera 120 is a vision sensor. Camera 120 can capture images of an area in front of, behind, or adjacent to the main vehicle 100, depending on its location. Camera 120 may include lenses that project light toward, for example, a CCD (Charge Coupled Device) image sensor or a CMOS (Complementary Metal-Oxide-Semiconductor) image sensor to capture such images. Camera 120 processes the light and generates an image, which may be a still image or a video stream. This image can be output to processor 145 and, as discussed in more detail below, can be used to determine whether there is a vehicle behind the main vehicle 100 or whether there is a group of adjacent vehicles relative to the main vehicle 100. Camera 120 may further capture images indicating that vehicles in front of or behind the main vehicle 100 are flashing various headlights as a signal to the main vehicle 100. In one possible implementation, camera 120 may capture images of signs or other objects used to indicate that the main vehicle 100 is a “lead vehicle.” The mark may have a specific symbol appearing in the image (such as the number "1") or a code similar to a barcode or QR code (Quick Response Code). The mark may be visible to the naked eye or invisible. Examples of invisible marks may include, for instance, marks visible to infrared camera 120 but not to humans. In some cases, a lidar sensor may be used instead of camera 120.
[0046] The external lighting system 125 may include any light source located outside the main vehicle 100. The external lighting system 125 may include "headlights 155" (e.g., headlights or auxiliary lights, such as fog lights). The external lighting system 125 may include "side lights 160" (e.g., turn signals or puddle lamps). The external lighting system 125 may include "taillights 165" (e.g., brake lights or reversing lights). In addition to the light sources, the external lighting system 125 may further include a lighting system controller 170 programmed to control the light sources based on signals received from, for example, a processor 145. For example, the lighting system controller 170 may output a signal to illuminate some or all of the taillights 165 in a predetermined pattern as a signal to vehicles behind the main vehicle 100. The lighting system controller 170 may output a signal to illuminate some or all of the headlights 155 as a signal to vehicles in front of the main vehicle 100.
[0047] The autonomous mode controller 130 is a microprocessor-based controller implemented via circuits, chips, or other electronic components. Controller 130 may include a processor, memory, etc. The memory of controller 130 may include memory for storing instructions executable by the processor of autonomous mode controller 130, and memory for electronically storing data and / or a database. Autonomous mode controller 130 is programmed to autonomously control master vehicle 100. Autonomous control of master vehicle 100 may include autonomous mode controller 130 receiving signals from various sensors (such as camera 120 or lidar sensors discussed above), processing these signals, and outputting control signals to actuators that can control the steering, braking, and acceleration of master vehicle 100. Autonomous mode controller 130 may further output control signals based on signals output from the vehicle navigation system.
[0048] The vehicle computer 135 includes a memory 140 and a processor 145 that may be the same as or different from the memory and processor of the autonomous mode controller 130. The memory 140 is implemented via circuitry, chips, or other electronic components and may include one or more of the following: read-only memory (ROM), random access memory (RAM), flash memory, electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), embedded MultiMediaCard (eMMC), hard disk drive, or any volatile or non-volatile media. The memory 140 may store instructions executable by the processor 145, as well as other data. The instructions and data stored in the memory 140 can be accessed by the processor 145 of the self-loading sequence system 105 and possibly other components, the main vehicle 100, or both.
[0049] Processor 145 is implemented via circuitry, chips, or other electronic components, and may include one or more microcontrollers, one or more field-programmable gate arrays (FPGAs), one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more client-specific integrated circuits, etc. Processor 145 may receive images or other outputs from camera 120, and may facilitate self-loading based on the images or other outputs according to the position of the master vehicle 100 relative to other autonomous vehicles.
[0050] In other words, processor 145 can be programmed to determine whether master vehicle 100 is the first vehicle in a vehicle sequence. To do this, processor 145 can process the image output by camera 120 and determine whether the image contains a specific symbol or code. The image may contain a symbol or code. Processor 145 can be programmed to determine that master vehicle 100 is the lead vehicle if the image contains the specific symbol or code. In some cases, processor 145 can be programmed to command camera 120 to capture an image. Processor 145 can command camera 120 to capture an image in response to user input, for example, received at master vehicle 100 via a user interface located in the passenger compartment of master vehicle 100, or wirelessly transmitted to master vehicle 100 via a user-carried mobile device and received at master vehicle 100 via communication system 115. Processor 145 can determine that master vehicle 100 is the lead vehicle based on this user input rather than relying on the image.
[0051] Processor 145 can be programmed to command taillights 165 to flash in a predetermined pattern to allow the lead vehicle 100 to operate as a guide vehicle. Commanding taillights 165 to flash may include processor 145 outputting a signal to lighting system controller 170. The signal output by processor 145 may cause lighting system controller 170 to output a control signal to taillights 165 to flash according to the predetermined pattern. Processor 145 can be further programmed to wait for a response from a vehicle immediately following the lead vehicle 100. That is, processor 145 can be programmed to receive and process images captured by camera 120 located behind the lead vehicle 100. Processor 145 can be programmed to identify whether a vehicle immediately following the lead vehicle 100 has responded by flashing its headlights or other headlights 155.
[0052] Processor 145 can be programmed to wait for the response for a predetermined time. This predetermined time can be, for example, on the order of 5 to 30 seconds. Processor 145 can be programmed to allow the master vehicle 100 to proceed to the loading area once the response is received within this predetermined time. Processor 145 can do this by commanding the autonomous mode controller 130 to drive the master vehicle 100 to the loading area. Processor 145 can be programmed to determine if there is a vehicle immediately following the master vehicle 100 if no response is received within this predetermined time. Processor 145 can do this by processing images captured by camera 120. Processor 145 can be programmed to operate the master vehicle 100 as the last vehicle in the convoy if no following vehicle is found.
[0053] Processor 145 can be programmed to report a problem with the vehicle immediately following the main vehicle 100 if no response is received within a predetermined time period and if processor 145 confirms the presence of a vehicle immediately following the main vehicle 100. Reporting a problem may include processor 145 being programmed to instruct communication system 115 to send a notification to service center 110. This notification may instruct the vehicle immediately following the main vehicle 100 not to proceed to the loading area. Processor 145 can be programmed to attempt to communicate with the vehicle immediately following the main vehicle 100 via, for example, a vehicle-to-vehicle communication protocol (e.g., DSRC) before sending the notification to service center 110. Communication with other vehicles may allow processor 145 to determine what problems have occurred in the other vehicles. Processor 145 may instruct communication system 115 to include this information in the notification to service center 110.
[0054] Furthermore, the processor 145 can determine that a faulty vehicle immediately following the master vehicle 100 is obstructing other vehicles from reaching the loading area. In this case, the processor 145 can be programmed to operate the master vehicle 100 as the last vehicle in the convoy.
[0055] Processor 145 can be programmed to determine whether a lead vehicle 100 is a following vehicle by processing images captured by camera 120, thereby allowing lead vehicle 100 to operate as a following vehicle. That is, processor 145 can be programmed to determine that lead vehicle 100 is a following vehicle because processor 145 determines that a vehicle exists before lead vehicle 100. Processor 145 can be programmed to receive and process images captured by camera 120 showing a frontal view of lead vehicle 100. Processor 145 can be programmed to process this image to determine whether a vehicle immediately in front of lead vehicle 100 is flashing its taillights 165 toward lead vehicle 100 in a predetermined pattern. Processor 145 can be programmed to respond by commanding lighting system controller 170 to flash the headlights 155 of lead vehicle 100 in a predetermined pattern, which may be the same as or different from the flashing sequence of the vehicle immediately in front of lead vehicle 100.
[0056] Processor 145 can be further programmed to flash the taillights 165 of the main vehicle 100 to vehicles immediately following the main vehicle 100. That is, processor 145 can be programmed to command the taillights 165 to flash in a predetermined pattern. Commanding the taillights 165 to flash may include processor 145 outputting a signal to lighting system controller 170. The signal output by processor 145 may cause lighting system controller 170 to output a control signal to the taillights 165 to flash in a predetermined pattern. Processor 145 can be further programmed to wait for a response from vehicles immediately following the main vehicle 100. That is, processor 145 can be programmed to receive and process images captured by camera 120 located behind the main vehicle 100. Processor 145 can be programmed to identify whether a vehicle immediately following the main vehicle 100 has responded by flashing its headlights or other headlights 155.
[0057] Processor 145 can be programmed to wait for the response for a predetermined time. This predetermined time can be, for example, on the order of 5 to 30 seconds. Processor 145 can be programmed to allow the master vehicle 100 to proceed to the loading area once the response is received within this predetermined time. Processor 145 can do this by commanding the autonomous mode controller 130 to drive the master vehicle 100 to the loading area. Processor 145 can be programmed to determine if there is a vehicle immediately following the master vehicle 100 if no response is received within this predetermined time. Processor 145 can do this by processing images captured by camera 120. Processor 145 can be programmed to operate the master vehicle 100 as the last vehicle in the convoy if no following vehicle is found.
[0058] Processor 145 can be programmed to report a problem with the vehicle immediately following the main vehicle 100 if no response is received within a predetermined time period and if processor 145 confirms the presence of a vehicle immediately following the main vehicle 100. Reporting a problem may include processor 145 being programmed to command communication system 115 to send a notification to service center 110. This notification may include the location of the main vehicle 100, the faulty vehicle, or both, and may indicate that the vehicle immediately following the main vehicle 100 cannot proceed to the loading area. Processor 145 can be programmed to attempt to communicate with the vehicle immediately following the main vehicle 100 via, for example, a vehicle-to-vehicle communication protocol (e.g., DSRC) before sending the notification to service center 110. Communication with other vehicles may allow processor 145 to determine what is wrong with the other vehicles. Processor 145 may command communication system 115 to include this information in the notification to service center 110.
[0059] Furthermore, the processor 145 can determine that a faulty vehicle immediately following the master vehicle 100 is obstructing other vehicles from reaching the loading area. In this case, the processor 145 can be programmed to operate the master vehicle 100 as the last vehicle in the convoy.
[0060] As discussed above, processor 145 can be programmed to operate as a following or leading vehicle, allowing master vehicle 100 to operate as the last vehicle in a convoy. Further, processor 145 can be programmed to determine whether another vehicle is behind master vehicle 100 in the convoy. Processor 145 can be further programmed to determine whether a vehicle behind master vehicle 100 has experienced a malfunction. In these cases, processor 145 can be programmed to begin operating as a leading vehicle.
[0061] Operating as a lead vehicle may include a processor 145 programmed to determine whether a convoy of neighboring vehicles exists relative to the master vehicle 100. Determining the presence of a convoy of neighboring vehicles may include the processor 145 being programmed to receive and process images captured by the camera 120 of a view of an area adjacent to the master vehicle 100. The processor 145 may be programmed to, for example, detect the convoy of neighboring vehicles if it determines that other vehicles are present in the image of the area adjacent to the master vehicle 100. The processor 145 may be programmed to command the autonomous mode controller 130 to drive the master vehicle 100 ahead of the convoy of neighboring vehicles. The processor 145 may then cause the master vehicle 100 to operate as the lead vehicle for the convoy before proceeding to the loading area. The processor 145 may be further programmed to command the autonomous mode controller 130 to drive the master vehicle 100 to the loading area if no convoy of neighboring vehicles is detected.
[0062] Figures 3A to 3FThe illustration depicts a parking lot scenario where autonomous vehicles equipped with a self-loading sequence system 105 proceed to the loading area in a specific order. For clarity and simplicity, the illustration is simplified. Figures 3A to 3F The example shown. Further, Figures 3A to 3F The numbers in the circles represent the order of the events.
[0063] Figure 3A Two convoys of vehicles are shown (referred to as convoy 305A and convoy 305B). Convoy 305A includes a lead vehicle 310, two following vehicles 315A and 315B, and a final vehicle 320. Sign 325 is presented to the lead vehicle 310 of convoy 305A. The lead vehicle 310 flashes its taillights 165 at the first following vehicle 315A immediately behind it. The first following vehicle 315A responds by flashing its headlights 155 at the lead vehicle 310.
[0064] like Figure 3B As shown, the lead vehicle 310 proceeds to the loading area after receiving a response from the first following vehicle 315A. Additionally, as... Figure 3B As shown, the first following vehicle 315A flashes its taillights 165 toward the second following vehicle 315B and receives a response from the second following vehicle 315B.
[0065] like Figure 3C As shown, the first following vehicle 315A proceeds to the loading area after receiving a response from the second following vehicle 315B. As discussed above, this response includes the second following vehicle 315B flashing its headlights 155 at the first following vehicle 315A. Further, the second following vehicle 315B flashes its taillights 165 at the last vehicle 320 in the first platoon of vehicles 305A. The second following vehicle 315B waits for a response from the last vehicle 320.
[0066] Now for reference Figure 3D Upon receiving a response from the last vehicle 320, the second following vehicle 315B proceeds to the loading area. The last vehicle 320 confirms that it is the last vehicle 320 in the first convoy of vehicles 305A.
[0067] Now for reference Figure 3EThe last vehicle 320 then moves in front of the second convoy of vehicles 305B, acting as the lead vehicle 320 for the second convoy. The lead vehicle 320 of the second convoy (formerly the last vehicle 320 in the first convoy 305A) flashes its taillights 165 towards the third following vehicle 315C, which is immediately behind the lead vehicle 320 in the second convoy. After the third following vehicle 315C responds by flashing its headlights 155 towards the lead vehicle 320, the lead vehicle 320 of the second convoy 305B proceeds to the loading area.
[0068] like Figure 3F As shown, the third following vehicle 315C flashes its taillights 165 towards the fourth following vehicle 315D, which is immediately behind it. However, the fourth following vehicle 315D does not respond within the predetermined time. Therefore, the third following vehicle 315C sends a notification to the maintenance center 110 requesting that the fourth following vehicle 315D investigate a potential malfunction. The third following vehicle 315C confirms that the fourth following vehicle 315D is obstructing other vehicles in the second convoy 305B from reaching the loading area. Therefore, the third following vehicle 315C searches for a neighboring convoy. After concluding that there is no neighboring convoy, the third following vehicle 315C proceeds to the loading area. If a neighboring convoy already exists, the third following vehicle 315C will drive in front of that convoy to act as its lead vehicle.
[0069] Figure 4 A flowchart of an example process 400 that can be performed by a self-loading sequence system 105 of a master vehicle 100 acting as a lead vehicle in a convoy of vehicles.
[0070] In decision box 405, the self-loading sequence system 105 determines whether a sign with a specific symbol or code appears in front of the master vehicle 100. As discussed above, the processor 145 can process the image captured by the camera 120 to determine whether the sign with the code or symbol is located in front of the master vehicle 100. If yes, process 400 can proceed to box 410. If no, process 400 can continue to box 405 until the sign is located in front of the master vehicle 100.
[0071] In box 410, the self-loading sequence system 105 causes the taillights 165 of the main vehicle 100 to flash. The processor 145 can command the lighting system controller 170 to output a signal to one or more taillights 165 of the main vehicle 100 to cause the taillights 165 to flash. This signal can cause the taillights 165 to flash according to a predetermined pattern. This predetermined pattern can signal following vehicles immediately behind the main vehicle 100 to be the next in line to arrive at the loading area.
[0072] In block 415, the self-loading sequence system 105 determines whether a response has been received from a following vehicle immediately behind the main vehicle 100. As discussed above, this response may take the form of the following vehicle flashing its headlights 155 toward the main vehicle 100 in a predetermined pattern. Therefore, processor 145 can process the image captured by camera 120 to determine whether the following vehicle has flashed its headlights 155 in that pattern. In some cases, processor 145 may determine whether a response has been received within a predetermined time period. This predetermined time period may be, for example, on the order of 5 to 30 seconds. Processor 145 may wait for this predetermined time period to allow the following vehicle time to respond to the signal sent in block 410. If the response is received within this predetermined time period, process 400 may proceed to block 420. If the response is not received within this predetermined time period, process 400 may proceed to block 425.
[0073] In block 420, the autonomous loading sequence system 105 allows the master vehicle 100 to drive to the loading area. For example, processor 145 can command autonomous mode controller 130 to drive the master vehicle 100 to the loading area. Process 400 can end after block 420.
[0074] In decision box 425, the autoloading sequence system 105 determines whether the following vehicle is located behind the main vehicle 100. Processor 145 can determine whether a following vehicle exists behind the main vehicle 100 based on an image captured by camera 120 showing a view of the area behind the main vehicle 100. If processor 145 determines that a vehicle exists behind the main vehicle 100, process 400 can proceed to box 430. If no vehicle exists behind the main vehicle 100, process 400 can proceed to box 435.
[0075] In block 430, the self-loading sequence system 105 notifies the service center 110 of a possible vehicle malfunction. The processor 145 can do this by sending a notification to the service center 110 via the command communication system 115. This notification may include the location of the primary vehicle 100, the malfunctioning vehicle, or both, and may instruct vehicles immediately following the primary vehicle 100 not to proceed to the loading area. Before sending this notification to the service center 110, the processor 145 commands the communication system 115 to attempt to communicate with the vehicles immediately following the primary vehicle 100 via, for example, a vehicle-to-vehicle communication protocol (e.g., DSRC). Communication with other vehicles allows the processor 145 to determine what is wrong with the other vehicles. The processor 145 may command the communication system 115 to include this information (if received) in the notification to the service center 110. Process 400 can then proceed to block 420, allowing the primary vehicle 100 to proceed to the loading area. In an alternative approach, for example, if processor 145 determines that the faulty vehicle is preventing other vehicles in the convoy from reaching the loading area, process 400 can proceed to block 435.
[0076] In box 435, the self-loading sequence system 105 operates as the last vehicle in the platoon. That is, processor 145 controls master vehicle 100, for example, by executing process 600, as if it were the last vehicle in the platoon, as described below. Figure 6 Let's have a discussion.
[0077] Figure 5 A flowchart of an example process 500 that can be performed by a self-loading sequence system 105, which is a master vehicle 100 acting as a follower vehicle in a fleet of autonomous vehicles.
[0078] In decision box 505, the self-loading sequence system 105 determines whether a signal has been received from a vehicle immediately in front of the main vehicle 100. This signal could be in the form of the vehicle immediately in front of the main vehicle 100 flashing its taillights 165 towards the main vehicle 100. Therefore, determining whether this signal has been received may include the processor 145 processing an image captured by the camera 120 showing a view of the main vehicle 100 from the front. If the processor 145 determines that the vehicle immediately in front of the main vehicle 100 is flashing its taillights 165 in a predetermined pattern, process 500 can proceed to box 510. Otherwise, box 505 can be repeated.
[0079] In block 510, the self-loading sequence system 105 causes the headlights 155 of the master vehicle 100 to flash in a predetermined pattern. The processor 145 can command the lighting system controller 170 to cause the headlights 155 of the master vehicle 100 to flash in a predetermined pattern to send a signal to the vehicle immediately in front of the master vehicle 100 to notify it that the master vehicle 100 has received the signal from block 505.
[0080] In box 515, the self-loading sequence system 105 causes the taillights 165 of the main vehicle 100 to flash. The processor 145 can command the lighting system controller 170 to output a signal to one or more taillights 165 of the main vehicle 100 to cause the taillights 165 to flash. This signal can cause the taillights 165 to flash according to a predetermined pattern. This predetermined pattern can signal following vehicles immediately behind the main vehicle 100 to be the next in line to arrive at the loading area.
[0081] In block 520, the self-loading sequence system 105 determines whether a response has been received from a following vehicle immediately behind the main vehicle 100. As discussed above, this response may take the form of the following vehicle flashing its headlights 155 toward the main vehicle 100 in a predetermined pattern. Therefore, processor 145 can process the image captured by camera 120 to determine whether the following vehicle has flashed its headlights 155 in that pattern. In some cases, processor 145 may determine whether a response has been received within a predetermined time period. This predetermined time period may be, for example, on the order of 5 to 30 seconds. Processor 145 may wait for this predetermined time period to allow the following vehicle time to respond to the signal sent in block 515. If the response is received within this predetermined time period, process 500 may proceed to block 525. If no response is received within this predetermined time period, process 500 may proceed to block 530.
[0082] In block 525, the autonomous loading sequence system 105 allows the master vehicle 100 to drive to the loading area. For example, processor 145 can command autonomous mode controller 130 to drive the master vehicle 100 to the loading area. Process 500 can end after block 525.
[0083] In decision box 530, the autoloading sequence system 105 determines whether the following vehicle is located behind the main vehicle 100. Processor 145 can determine whether a following vehicle exists behind the main vehicle 100 based on an image captured by camera 120 showing a view of the area behind the main vehicle 100. If processor 145 determines that a vehicle exists behind the main vehicle 100, process 500 can proceed to box 535. If no vehicle exists behind the main vehicle 100, process 500 can proceed to box 540.
[0084] In block 535, the self-loading sequence system 105 notifies the service center 110 of a possible vehicle malfunction. The processor 145 can do this by sending a notification to the service center 110 via the command communication system 115. This notification may include the location of the primary vehicle 100, the malfunctioning vehicle, or both, and may instruct vehicles immediately following the primary vehicle 100 not to proceed to the loading area. Before sending this notification to the service center 110, the processor 145 commands the communication system 115 to attempt to communicate with the vehicles immediately following the primary vehicle 100 via, for example, a vehicle-to-vehicle communication protocol (e.g., DSRC). Communication with other vehicles allows the processor 145 to determine what is wrong with the other vehicles. The processor 145 may command the communication system 115 to include this information (if received) in the notification to the service center 110. Process 500 can then proceed to block 525, allowing the primary vehicle 100 to proceed to the loading area. In an alternative approach, for example, if processor 145 determines that the faulty vehicle is preventing other vehicles in the convoy from reaching the loading area, process 500 can proceed to block 540.
[0085] In box 540, the self-loading sequence system 105 operates as the last vehicle in the platoon. That is, processor 145 controls master vehicle 100, for example, by executing process 600, as if it were the last vehicle in the platoon, as described below. Figure 6 Let's have a discussion.
[0086] Figure 6 A flowchart of an example process 600 that can be performed by a self-loading sequence system 105 of a master vehicle 100 that runs as the last vehicle in a convoy.
[0087] In decision box 605, the self-loading sequence system 105 determines whether a platoon of neighboring vehicles exists relative to the master vehicle 100. Processor 145 can detect the platoon of neighboring vehicles based on an image captured by camera 120 of a view of the area adjacent to the master vehicle 100. For example, if processor 145 determines that other vehicles exist in the image of the area adjacent to the master vehicle 100 captured by camera 120, then processor 145 can determine that the platoon of neighboring vehicles contains a vehicle. If the platoon of neighboring vehicles contains a vehicle, process 600 can proceed to box 610. If not, process 600 can proceed to box 620.
[0088] In block 610, the autonomous loading sequence system 105 allows the master vehicle 100 to drive in front of a neighboring vehicle in the platoon identified in block 605. For example, processor 145 may command autonomous mode controller 130 to drive the master vehicle 100 in front of a neighboring vehicle in the platoon.
[0089] In box 615, the self-loading sequence system 105 operates the master vehicle 100 as the first vehicle in the platoon. That is, the processor 145 can execute the above-mentioned reference, for example, after reaching the front of the platoon's adjacent vehicles. Figure 4 The process 400 discussed controls the master vehicle 100 as if it were the lead vehicle among the neighboring vehicles in the platoon. In some cases, the processor 145 may skip box 450 when continuing from box 610 to process 400, and instead continue directly to box 410.
[0090] In block 620, the autonomous loading sequence system 105 allows the master vehicle 100 to drive to the loading area. For example, processor 145 can command autonomous mode controller 130 to drive the master vehicle 100 to the loading area. Process 600 can end after block 620.
[0091] Typically, the computing system and / or device may employ any number of computer operating systems, including, but not limited to, various versions and / or variations of Ford Synchronous. Applications, AppLink / Smart Device Link middleware, Microsoft Automotive Operating system, Microsoft (Microsoft Operating systems, such as Unix operating systems (e.g., Oracle Corporation, Redwood Coast, California). Operating systems include: AIX UNIX (published by IBM in Armonk, New York), Linux, Mac OSX and iOS (published by Apple Inc. in Cupertino, California), BlackBerry OS (published by BlackBerry Inc. in Waterloo, Canada), and Android (developed by Google and the Open Handset Alliance), or those provided by QNX Software Systems. CAR infotainment platform. Examples of computing devices include, but are not limited to, in-vehicle computers, computer workstations, servers, desktops, laptops, portable computers or handheld computers, or some other computing systems and / or devices.
[0092] Computing devices typically include computer-executable instructions, which can be executed by one or more computing devices (such as those listed above). Computer-executable instructions can be compiled or interpreted by computer programs created using various programming languages and / or technologies, including, but not limited to, single or combined Java languages and / or technologies. TMC, C++, Visual Basic, JavaScript, Perl, etc. Some of these applications can be compiled and executed on virtual machines (such as the Java Virtual Machine, Dalvik Virtual Machine, etc.). Typically, a processor (e.g., a microprocessor) receives instructions from memory, computer-readable media, etc., and executes those instructions to complete one or more processes, including one or more processes described herein. Such instructions and other data can be stored and transferred using various computer-readable media.
[0093] Computer-readable media (also known as processor-readable media) include any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by the computer's processor). Such media can take many forms, including but not limited to non-volatile and volatile media. Non-volatile media can include, for example, optical discs or magnetic disks and other permanent storage devices. Volatile media can include, for example, dynamic random access memory (DRAM), which generally constitutes main memory. Such instructions can be transmitted via one or more transmission media, including coaxial cables, copper wires, and optical fibers, including cables that internally contain a system bus coupled to the computer processor. Conventional forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, compact disc read-only memory (CD-ROM), digital video discs (DVDs), any other optical media, punched cards, paper tapes, any other physical media with a perforated pattern, random-access memory (RAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), flash electrically erasable programmable read-only memory (FLASH-EEPROM), any other memory chip or cartridge, or any other computer-readable medium.
[0094] Databases, data repositories, or other data stores described herein can include various institutions for storing, accessing, and retrieving various types of data, including hierarchical databases, filegroups in file systems, application databases with proprietary formats, relational database management systems (RDBMS), etc. Each such data store is typically contained within a computing device employing a computer operating system, such as one of the aforementioned, and is accessed via a network in any one or more ways. File systems can be accessed from the computer operating system and can include files stored in various formats. In addition to the languages used to create, store, edit, and execute stored programs, RDBMS typically employs a Structured Query Language (SQL), such as the procedural SQL (PL / SQL) language described above.
[0095] In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.) stored on an associated computer-readable medium (e.g., disks, memory, etc.). A computer program product may include these instructions stored on a computer-readable medium for performing the functions described herein.
[0096] Regarding the processes, systems, methods, and inspirations described herein, it should be understood that although the steps of such processes, etc., are described as occurring in a certain order, such processes can be implemented using steps performed in an order other than that described herein. It should further be understood that some steps may be performed simultaneously, other steps may be added, or some steps described herein may be omitted. In other words, the process descriptions provided herein are for illustrative purposes and should in no way be construed as limiting the claims.
[0097] Therefore, it should be understood that the above description is intended to be illustrative and not limiting. Many embodiments and applications will be apparent from the above description in addition to the examples provided. The scope of the invention should be determined by reference to the appended claims together with the full scope of their equivalents, and not by reference to the above description. It is anticipated and planned that further developments will occur in the technology discussed herein, and that the disclosed systems and methods can be incorporated into such further embodiments. In conclusion, it should be understood that modifications and variations are possible with respect to this application.
[0098] All terms used in the claims are intended to be understood by one of ordinary skill in the art in their usual meaning, unless expressly indicated otherwise herein. In particular, the use of singular articles (e.g., “a,” “the,” “the,” etc.) should be understood to refer to one or more of the illustrated elements, unless the claims expressly limit this to the contrary.
[0099] An abstract is provided to allow readers to quickly determine the nature of the technical disclosure. The abstract should be understood as not being used to interpret or limit the scope or meaning of the claims. Furthermore, in the foregoing detailed description, it can be seen that the various features are combined in different embodiments to make the invention more fluid. However, the method of the invention should not be construed as reflecting an intention to require more features than expressly recited in each claim. Rather, as reflected in the following claims, the inventive subject matter lies in fewer than all the features of a single disclosed embodiment. Therefore, the following claims are incorporated herein by reference to the detailed description, and each claim is based on its own independently claimed subject matter.
Claims
1. A vehicle computer, comprising: Memory; as well as A processor, the processor being programmed to execute instructions stored in the memory, the instructions including: Command the lighting system controller to flash the taillights of the main vehicle; Determine whether a response has been received from the first following vehicle located behind the main vehicle; and The master vehicle is commanded to autonomously drive to the loading area upon receiving the response from the first following vehicle.
2. The vehicle computer according to claim 1, wherein the instructions further include: The system detects signs with codes or symbols, and once the signs are detected, determines that the master vehicle is the lead vehicle in a convoy.
3. The vehicle computer according to claim 2, wherein the instructions include: After detecting the sign, the lighting system controller is instructed to flash the taillights of the main vehicle toward the first following vehicle.
4. The vehicle computer of claim 1, wherein receiving the response from the first following vehicle comprises: Receive and process images captured by the camera of the main vehicle.
5. The vehicle computer according to claim 4, wherein the instructions further include: As a result of processing the image, it was determined that the first following vehicle responded by flashing its headlights in a predetermined pattern.
6. The vehicle computer of claim 1, wherein the instructions further include: Waiting for a predetermined time for the response from the first following vehicle and determining whether the first following vehicle has not responded within the predetermined time.
7. The vehicle computer of claim 6, wherein the instructions further include: Because it was determined that the first following vehicle had not responded within a predetermined period of time, a notification was sent to the maintenance center instructing the following vehicle not to proceed to the loading area.
8. The vehicle computer of claim 7, wherein the instructions further include: After sending the notification, the master vehicle is commanded to autonomously drive to the loading area.
9. The vehicle computer of claim 1, wherein the instructions further comprise: Confirm whether the first following vehicle is located behind the main vehicle.
10. The vehicle computer of claim 9, wherein confirming whether the first following vehicle is located behind the main vehicle includes: The location of the first following vehicle is determined based on an image captured by the camera of the main vehicle, which shows a view of the area behind the main vehicle.
11. The vehicle computer of claim 9, wherein the instructions further comprise: If the first following vehicle is not located behind the main vehicle, then the main vehicle is determined to be the last vehicle in a convoy.
12. The vehicle computer of claim 11, wherein the instructions further comprise: If the first following vehicle is not behind the main vehicle, then detect whether a nearby convoy of vehicles is near the main vehicle.
13. The vehicle computer of claim 12, wherein the instructions further comprise: After detecting the adjacent convoy of vehicles, the master vehicle is commanded to autonomously move in front of the adjacent convoy of vehicles.
14. The vehicle computer of claim 13, wherein the instructions further comprise: Upon reaching the front of the adjacent convoy of vehicles, the lighting system controller of the main vehicle is commanded to flash the taillights of the main vehicle toward the second following vehicle in the adjacent convoy.
15. The vehicle computer of claim 14, wherein the instructions further comprise: Waiting for a response from the second following vehicle in the adjacent convoy; Detect the response from the second following vehicle within a predetermined time period; as well as Upon receiving the response from the second following vehicle, the master vehicle is commanded to autonomously drive to the loading area.
Citation Information
Patent Citations
Automobile driving data interaction system based on LiFi (Light Fidelity) and vehicle signal lighting device thereof
CN106059666A
Method for loading a vehicle
WO2016083033A1