The described embodiments relate to communication systems for self-driving vehicles, and in particular, systems and methods of providing inter-vehicle communication for self-driving vehicles.
An automated guided vehicle (“AGV”) operates along pre-determined paths that are defined by specific infrastructure, such as a magnetic strip. AGVs cannot deviate from the pre-determined path. Self-driving vehicles, such as a self-driving transport vehicle, are not limited to a specific infrastructure and are not limited to a pre-determined path. Some self-driving vehicles can sense its environment and navigate its environment with minimal, or even possibly with no, human input.
A self-driving vehicle typically stores an electronic map of its environment and identifies its position within the environment by referring to the stored electronic map and what it has sensed from its environment. However, the stored electronic map can become outdated as the environment changes and will unlikely show traffic caused by self-driving vehicles, human-operated vehicles, and pedestrians.
Management of self-driving vehicles can, therefore, be difficult. Even with a central authority, the central authority may not always have the most updated information on the self-driving vehicles since at least some of the operating decisions are made by the self-driving vehicles. Ideally, each self-driving vehicle should constantly transfer its data to the other self-driving vehicles and the central authority without any restrictions. Unfortunately, data communication in most environments is constrained by various factors, such as infrastructure limitations, communication-related overhead (e.g., memory, bandwidth, or other resources), and data transfer latency. Effective communication between the self-driving vehicles (inter-vehicle communication) and communication between the self-driving vehicles and the central authority, can be critical.
The various embodiments described herein generally relate to methods (and associated systems configured to implement the methods) for providing inter-vehicle communication. The method includes receiving, at a fleet management system, operating data from one or more self-driving vehicles via a communication network; operating the fleet management system to determine a characteristic of a set of vehicles of one or more self-driving vehicles satisfies at least one communication condition; in response to determining the set of vehicles satisfies the at least one communication condition, operating the fleet management system to select a stored data portion from a manager storage unit based at least on the characteristic of the set of vehicles; and transmitting the data portion to the set of vehicles via the communication network.
In some embodiments, the set of vehicles can include one or more vehicles.
In some embodiments, the method can further include receiving, by a vehicle of the set of vehicles, the stored data portion from the fleet management system; and determining, by the vehicle, a response based on the received stored data portion.
In some embodiments, the method can further include transmitting, by a vehicle of the set of vehicles, at least one operating data portion to the fleet management system.
In some embodiments, the method can involve operating the vehicle to determine a critical transmission period for the at least one operating data portion; and transmitting the at least one operating data portion before or during the critical transmission period.
In some embodiments, the vehicle can be operated to transmit the at least one operating data portion when the vehicle is within a proximity threshold of the fleet management system.
In some embodiments, the characteristic of the set of vehicles can include a position of each vehicle. The at least one communication condition can include a vehicular proximity threshold between any two vehicles; and the manager processor can be operable to select the stored data portion associated with a position of each vehicle and a velocity of each vehicle.
In some embodiments, the position of each vehicle can include an initial position. The initial position can be a position of that vehicle during a last data communication session between that vehicle and the fleet management system.
In some embodiments, the position of each vehicle can include an estimated position at a subsequent time. The estimated position can be determined from the initial position of that vehicle and a velocity to that vehicle at the initial position.
In some embodiments, the characteristic of the set of vehicles can include a position of each vehicle. The at least one communication condition can include an environment proximity threshold between that vehicle and one or more features of an environment of the one or more self-driving vehicles. The fleet management system can be operable to select the stored data portion associated with a position of each one or more self-driving vehicles, a velocity of each vehicle and a current mission of each self-driving vehicle.
In some embodiments, the characteristic of the set of vehicles can include a functionality of each vehicle. The at least one communication condition can include a functionality requirement. The fleet management system can be operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
In some embodiments, the functionality requirement can include at least one of a manipulator type and an application installed in the vehicle memory of the first vehicle.
In some embodiments, the manipulator type can include a sensor type and an end effector type.
In some embodiments, the characteristic of the set of vehicles can include a team member identifier. The at least one communication condition can include a team identifier. The fleet management system can be operable to select the stored data portion associated with a position of each vehicle and a current mission of each vehicle.
In some embodiments, the method can involve assigning, by the fleet management system, one or more vehicles of the one or more self-driving vehicles to at least one team. Each team can be identifiable by the team identifier. Each member of the team can be identifiable by the team member identifier.
In some embodiments, the method can involve the fleet management system identifying the one or more vehicles suitable for a mission.
In some embodiments, the method can involve the fleet management system assigning the one or more vehicles to the at least one team according to a user selection.
In some embodiments, the method can involve the fleet management system assigning the one or more vehicles to the at least one team based at least on a functionality of each vehicle of the one or more vehicles.
In another broad aspect, a communication system for self-driving vehicles is described. The communication system can include a communication network; one or more self-driving vehicles; and a fleet management system. Each self-driving vehicle can include a vehicle processor and a vehicle memory. The one or more self-driving vehicles are operable to communicate with each other via the communication network. The fleet management system can include a manager storage unit, a manager processor, and a manager communication interface. The manager storage unit can store operating data received from the one or more self-driving vehicles. The manager processor is operable to determine a characteristic of a set of vehicles of the one or more self-driving vehicles satisfies at least one communication condition; and in response to determining the set of vehicles satisfies the at least one communication condition, select a stored data portion from the manager storage unit based at least on the characteristic of the set of vehicles. The manager communication can interface to transmit the stored data portion to the set of vehicles via the communication network.
In another broad aspect, a method (and associated systems configured to implement the methods) of providing inter-vehicle communication between one or more self-driving vehicles is described. Each self-driving vehicle can include a vehicle processor and a vehicle memory. The method can involve: receiving, at a first vehicle of the one or more self-driving vehicles, an operating data portion related to at least one other vehicle of the one or more self-driving vehicles; determining from the received operating data portion, by the first vehicle, that a characteristic of the at least one other vehicle satisfies at least one communication condition; selecting a stored data portion from the vehicle memory of the first vehicle based on the characteristic of the at least one other vehicle; and initiating, by the first vehicle, a transmission of the stored data portion to the at least one other vehicle.
Several embodiments will now be described in detail with reference to the drawings, in which:
The drawings, described below, are provided for purposes of illustration, and not of limitation, of the embodiments and features of various examples of embodiments described herein. For simplicity and clarity of illustration, elements shown in the drawings have not necessarily been drawn to scale. The dimensions of some of the elements may be exaggerated relative to other elements for clarity. It will be appreciated that for simplicity and clarity of illustration, where considered appropriate, reference numerals may be repeated among the drawings to indicate corresponding or analogous elements or steps.
A self-driving vehicle can plan its path to a destination location based at least on its current location and by referring to an electronic map of its environment. The self-driving vehicle can plan its path for conducting a mission or for collecting data from the environment, such as for the purpose of updating an electronic map of its environment. The self-driving vehicle can modify its planned path during its operation. The self-driving vehicle can, in some embodiments, modify its planned path based on data collected from its environment. For example, the self-driving vehicle can modify its planned path when it detects a collision will take place if it does not vary its planned path.
The self-driving vehicle can collect information in respect of its environment during its operation, such as while it is carrying out a mission. For example, a first self-driving vehicle can receive information from a second self-driving vehicle. The received information can include information collected by the second self-driving vehicle while it was carrying out a mission
As data can be communicated between the self-driving vehicles as they are in motion, the information transmitted from the self-driving vehicles will likely be old by the time the information is received by another self-driving vehicle and/or the fleet management system. For example, at an initial time, a self-driving vehicle that is in motion can transmit its position and velocity data to another self-driving vehicle. Since the transmitting self-driving vehicle is in motion, the received position data is unlikely current and it is possible that the velocity data is no longer accurate. The self-driving vehicle that received the data can generate an estimated position of the transmitting self-driving vehicle at a subsequent time based at least on the received velocity data. The estimated position can, in some embodiments, take into account communication latency associated with the data transmission.
The type of information shared between the self-driving vehicles can vary. For example, a self-driving vehicle that is restricted to an area of a facility will be unlikely to require information about another self-driving vehicle operating outside that area. Some of the embodiments describe identifying characteristics of the self-driving vehicles to determine whether to share information between certain self-driving vehicles, and the type of information to be shared. As a result, data communication within the described systems can be, to an extent, minimized and/or delayed to avoid excessive strain on the communication resources.
Referring to
The fleet management system 120 can delegate missions to the self-driving vehicle 110. The missions can be determined by the fleet management system 120, or received at the fleet management system 120 as input data. As shown in
The manager storage unit 122 can store data in respect of the operation of the communication system 100, such as data in respect of the self-driving vehicles 110 and the missions being carried out by the self-driving vehicles 110. For example, the manager storage unit 122 can store data received from the self-driving vehicles 110, data in respect of the missions delegated by the fleet management system 120, profile data in respect of each of the self-driving vehicles 110, an electronic map representing the environment in which the self-driving vehicles 110 are operating, etc. The manager storage unit 122 can also store computer programs that are executable by the manager processor 124 to facilitate communication between the fleet management system 120 and the self-driving vehicles 110.
In some embodiments, the manager storage unit 122 can store data that is more current based on the operation of the fleet management system 120, and the system storage component 140 can store data that is considered by the fleet management system 120 to unlikely be used in the immediate future. For example, the manager storage unit 122 can store operating data and vehicle profile data only for the self-driving vehicles 110 operating during a certain day, whereas the system storage component 140 can store the data for all self-driving vehicles 110 and the electronic map of the environment, which is typically infrequently changed.
In some embodiments, the manager storage unit 122 can instead be the system storage component 140, which is accessible via the communication network 130.
The manager processor 124 can control the operation of the fleet management system 120. The manager processor 124 may be any suitable processors, controllers or digital signal processors that can provide sufficient processing power depending on the configuration, purposes and requirements of the fleet management system 120. In some embodiments, the manager processor 124 can include more than one processor with each processor being configured to perform different dedicated tasks. The manager processor 124 together with the processor at the self-driving vehicles 110 contribute to the control of the communication system 100.
The manager communication interface 126 facilitates communication between the fleet management system 120 and the other components of the communication system 100, such as the self-driving vehicles 110 and the system storage component 140 via the communication network 130.
The self-driving vehicles 110 and the fleet management system 120 may communicate via the communication network 130.
The communication network 130 may be any network capable of carrying data, including the Internet, Ethernet, plain old telephone service (POTS) line, public switch telephone network (PSTN), integrated services digital network (ISDN), digital subscriber line (DSL), coaxial cable, fiber optics, satellite, mobile, wireless (e.g. Wi-Fi, WiMAX), SS7 signaling network, fixed line, local area network, wide area network, and others, including any combination of these, capable of interfacing with, and enabling communication between the fleet management system 120, the self-driving vehicles 110 and the system storage component 140.
For example, each self-driving vehicle 110 and the fleet management system 120 may be equipped with a wireless communication interface to enable wireless communications according to a Wi-Fi protocol (e.g. IEEE 802.11 protocol or similar). According to some embodiments, the communication network 130 may be a LAN, WWAN, and/or cellular network, for example, using a 3G/4G protocol.
Similar to the manager storage unit 122, the system storage component 140 can store information about the self-driving vehicles 110, including operating data, and electronic maps of the environment within which the self-driving vehicles 110 operate. Electronic maps can be stored in the system storage component 140 for subsequent retrieval by the self-driving vehicles 110. The self-driving vehicles 110 can download electronic maps from the system storage component 140 via the communication network 130, for example.
Electronic maps can be generated for the environment of the self-driving vehicles 110. For example, a CAD file representing the environment of the self-driving vehicles 110 can be imported and form the basis for an electronic map. In another example, the fleet management system 120 can generate the electronic map based on data collected by the self-driving vehicle 110.
In some embodiments, operating data can be stored in the system storage component 140, and the operating data can be retrieved by the fleet management system 120 when needed. The fleet management system 120 can download the operating data from the system storage component 140 via the communication network 130. Example operating data can include, but not limited to, a current position of the self-driving vehicle 110, a current velocity of the self-driving vehicle 110, an estimated position for the self-driving vehicle 110 at a subsequent time, an estimated completion time of a current mission of the self-driving vehicle 110, and an estimated remaining battery lifetime of the self-driving vehicle 110. In some embodiments, the operating data, or at least some of the operating data, can be stored in the manager storage unit 122. In some embodiments, the fleet-management system 120 and/or any or all of the individual the manager storage unit 122, the manager processor 124, the manager communication unit 126, can reside on one or more of the self-driving vehicles 110.
Referring now to
The sensor system 220 can include one or more sensors for collecting data from the environment of the self-driving vehicle 110. For example, the sensor system 220 can include a LiDAR device (or other optical, sonar, or radar-based range-finding devices operating on known principles such as time-of-flight). The sensor system 220 can include optical sensors, such as video cameras and systems (e.g., stereo vision, structured light).
The control system 240 can include a processor 242, a memory (or storage unit) 244, and a communication interface 246. The control system 240 facilitates the operation of the self-driving vehicle 110. The control system 240 can store an electronic map that represents the environment of the self-driving vehicle 110, such as a facility, in the memory 244.
The processor 242 can include any suitable processors, controllers or digital signal processors that can provide sufficient processing power depending on the configuration, purposes and requirements of the self-driving vehicle 110. In some embodiments, the processor 242 can include more than one processor with each processor being configured to perform different dedicated tasks.
The memory 244 can store data to be used during the operation of the self-driving vehicle 110 and/or to facilitate the operation of the self-driving vehicle 110. Example data can include operating data in respect of its operation, the electronic map representing its environment, data in respect of one or more other self-driving vehicles 110, data in respect of its mission, etc.
In some embodiments, the memory 244 can store software applications executable by the processor 242. For example, the software application includes image processing applications that facilitate image data collection by the self-driving vehicle 110.
The communication interface 246 can include any component for facilitating communication with the other components of the communication system 100 via the communication network 130. For example, the communication interface 246 can include a wireless transceiver for communicating within a wireless communications network.
The self-driving vehicle 110 can receive a mission from the fleet management system 120 or an external system. The mission received from the fleet management system 120 can include one or more waypoints or destination locations. Based on the received mission, the control system 240 can determine a path for the self-driving vehicle 110 to navigate to the waypoint or destination location with minimal, if any, instructions from another system or the users. The control system 240 and the sensor system 220 can navigate the self-driving vehicle 110 without any additional navigational aids (e.g., navigational targets, magnetic strips, or paint/tape traces) installed in the environment.
For example, the control system 240 can generate a path for the self-driving vehicle 110 to a destination location based on the location of the self-driving vehicle 110. The control system 240 can then operate the drive system 230 to direct the self-driving vehicle 110 along the planned path. As the self-driving vehicle 110 travels along the planned path, the sensor system 220 can collect data from the environment. The collected data can assist the control system 240 to track the progress of the self-driving vehicle 110 along the planned path and also to update a location of the self-driving vehicle 110 within the environment. Example data collected by the sensor system 220 can include images of the environment.
At least with the data collected by the sensor system 220, the control system 240 can determine when an unexpected obstacle is in the planned path, and modify the planned path to navigate around the obstacle.
In some embodiments, the self-driving vehicle 110 can be equipped with one or more end effectors for facilitating interaction with objects within the environment. Example end effectors can include a gripper, a clamp, a shovel, a broom, a vacuum, a rotating spindle, or any other tools. The operation of the end effectors can be controlled by the control system 240 and, in some embodiments, with consideration of the data collected by the sensor system 220.
The self-driving vehicle 110 can operate in environments with varied terrains and/or regulated zones that require environmental qualifications. Example regulated zones can include sterile environments, and temperature-controlled environments (e.g., high or low temperature environments). The self-driving vehicle 110 can be configured to comply with the requirements of the various terrains and/or zones within its environment. For example, a self-driving vehicle 110 can be sterilized to operate in a sterile environment and subsequently only operate within the boundaries of the sterile environment in order to maintain its qualification. Self-driving vehicles 110 may undergo environmental testing or include higher rated components to meet other environmental qualifications.
The self-driving vehicle 310 shown in
Similar to the self-driving vehicle 210 of
The drive system 330 includes a motor and/or brakes connected to drive wheels 332a and 332b for driving the self-driving transport vehicle 310. The motor can be, but is not limited to, an electric motor, a combustion engine, or a combination/hybrid thereof. Depending on the application of the self-driving vehicle 310, the drive system 330 may also include control interfaces that can be used for controlling the drive system 330. For example, the drive system 330 may be controlled to drive the drive wheel 332a at a different speed than the drive wheel 332b in order to turn the self-driving transport vehicle 310. Different embodiments may use different numbers of drive wheels, such as two, three, four, etc.
A number of wheels 334 may be included. The self-driving vehicle 310 includes wheels 334a, 334b, 334c, and 334d. The wheels 234 may be wheels that are capable of allowing the self-driving transport vehicle 310 to turn, such as castors, omni-directional wheels, and mecanum wheels. In some embodiments, the self-driving transport vehicle 310 can be equipped with special tires for rugged surfaces or particular floor surfaces unique to its environment.
The sensor system 320 in
The positions of the components 334, 320, 340, 330, 332 of the self-driving transport vehicle 310 are shown for illustrative purposes and are not limited to the illustrated positions. Other configurations of the components 334, 320, 340, 330, 332 can be used depending on the application of the self-driving transport vehicle 310 and/or the environment in which the self-driving transport vehicle 310 will be used.
For illustrating some embodiments of the described methods and systems, reference will now be made to
In general, the self-driving vehicle 110 may travel between various points within the facility. The self-driving vehicle 110 can act as a transport vehicle for delivering and retrieving items, can act as a monitoring vehicle for the facility, and/or can act as a data collecting vehicle. In a manufacturing plant facility, the self-driving vehicle 110 can retrieve components from the storage shelves and deliver those components to the appropriate point within an assembly line or staging station.
As shown in
In
If the self-driving vehicle 110 is in motion at the initial position 502, the self-driving vehicle 110 can be travelling at an initial velocity. Velocity can be represented by a speed of the self-driving vehicle 110 and a heading with respect to the coordinate system of the electronic map, similar to the position of the self-driving vehicle 110. As shown in
It should be noted that the heading associated with the position 502, 502′ of the self-driving vehicle 110 can be different from the heading associated with the velocity of the self-driving vehicle. In some embodiments, a speed of the self-driving vehicle 110 can be limited to a range appropriate for its environment.
At 610, the fleet management system 120 can receive operating data from one or more self-driving vehicles 110, via the communication network 130.
When the operating data is received by the fleet management system 120, the self-driving vehicle 110 can be carrying out a mission, or awaiting a mission to be delegated from the fleet management system 120.
In the communication system 100 disclosed herein, the self-driving vehicles 110 can determine when to transmit its operating data to the fleet management system 120, as well as the type of operating data to be transmitted. By controlling the data transmission, use of the communication resources within the environment can be minimized. For example, the self-driving vehicle 110 can be scheduled to transmit its operating data to the fleet management system 120 during known off-peak periods.
In at some embodiments, the self-driving vehicle 110 can transmit its operating data to the fleet management system 120 in response to a triggering event. For example, the triggering event can be pre-determined time intervals, completion of a mission and/or a position of the self-driving vehicle 110.
For example, the self-driving vehicle 110 can determine whether it is at a position within the facility that is within a proximity threshold of the fleet management system 120.
When the self-driving vehicle 110 is within the proximity threshold 704 of the fleet management system 120, as shown in
In some embodiments, one or more different levels of proximity thresholds can trigger the self-driving vehicle 110 to transmit operating data to the fleet management system 120. For example, a first proximity threshold can be at 300 meters away from the fleet management system 120 and a second proximity threshold can be at 100 meters away from the fleet management system 120. The operating data transmitted at the different proximity thresholds can vary in priority as determined by the self-driving vehicle 110. For example, higher priority data can be transmitted at the first proximity threshold (e.g., when the self-driving is farther away from the fleet management system 120) and lower priority data can be transmitted at the second proximity threshold.
In some embodiments, the triggering event can be the type of operating data collected at the self-driving vehicle 110. For example, the self-driving vehicle 110 can analyze the operating data to determine a critical transmission period for transmission. The self-driving vehicle 110 can then transmit the operating data to before or during the critical transmission period.
A critical transmission period can be more imminent for operating data that is necessary for the operation of other self-driving vehicles 110 and/or the operations at the fleet management system 120. For example, a substantial change to the layout 500 of the environment can be associated with a critical transmission period with a high priority.
Other high priority operating data can include data indicating a failure or a potential failure by the self-driving vehicle 110 to completing its mission. For example, the operating data can include an estimated battery lifetime that indicates the self-driving vehicle 110 will not be able to complete the mission due to an unforeseen use of its battery, such as maneuvering around an unexpected obstacle within the environment. The estimated battery lifetime of the self-driving vehicle 110 can relate to on-board energy storage of the self-driving vehicle 110, such as batteries, ultra-capacitors, fuel cells, propane, or gasoline. When the self-driving vehicle 110 detects that the estimated battery lifetime will be insufficient, the self-driving vehicle 110 can assign a critical transmission period that is more imminent so that the self-driving vehicle 110 can transmit the estimated battery lifetime to the fleet management system 120 as soon as possible so that the fleet management system 120 can assign another self-driving vehicle 110 to complete the mission.
Lower priority operating data can include a progress of the self-driving vehicle 110, such as an estimated mission completion time.
The various triggers for the self-driving vehicle 110 are not mutually exclusive. For example, the self-driving vehicle 110 can transmit operating data to the fleet management system 120 at pre-determined time intervals and also at the completion of a mission.
At 620, the fleet management system 120 can determine that a characteristic of a set of self-driving vehicles 110 satisfies at least one communication condition. The set of self-driving vehicles 110 can include one or more self-driving vehicles 110.
The fleet management system 120 can evaluate one or more communication conditions for determining whether to transmit a data portion to the identified set of self-driving vehicles 110. For example, a communication condition can relate to a vehicular proximity threshold, an environment proximity threshold, a functionality requirement, and a team identifier.
A vehicular proximity threshold relates to a distance between two self-driving vehicles 110. Reference will now be made to
An example vehicular proximity threshold 804 for the self-driving vehicle 110a is shown. The illustrated vehicular proximity threshold 804 is a radius defined from a substantially central position of the self-driving vehicle 110a. The vehicular proximity threshold 804 generally corresponds to a distance between two points (e.g., two self-driving vehicles 110) and can be represented by a radius defined from a point at the relevant self-driving vehicle 110.
Each self-driving vehicle 110a, 110b, 110c can be assigned a different vehicular proximity threshold 804. The vehicular proximity threshold 804 assigned to each self-driving vehicle 110a, 110b, 110c can vary with various parameters, such as a profile of the self-driving vehicle 110 (e.g., dimensions) and peripherals available at the self-driving vehicle 110 (e.g., range of sensors and end effectors, etc.).
In some embodiments, the vehicular proximity threshold 804 can have a dynamic value. For example, the vehicular proximity threshold 804 can vary with a speed of the self-driving vehicle 110. The vehicular proximity threshold 804 can be a smaller value when the self-driving vehicle 110 is travelling at a lower speed and a larger value when the self-driving vehicle 110 is travelling at a higher speed. The vehicular proximity threshold 804 can also vary if the fleet management system 120 determines that a self-driving vehicle 110 is in a crowded area. The fleet management system 120 can then adjust the vehicular proximity threshold 804 accordingly.
In some embodiments, the vehicular proximity threshold 804 can be defined based on time. For example, a vehicle proximity threshold 804 can be a maximum of five minutes. The fleet management system 120 can determine that the self-driving vehicle 110a is travelling at a first velocity and the self-driving vehicle 110b is travelling at a second velocity. Based on their first and second velocities of the respective self-driving vehicles 110a, 110b, the self-driving vehicles 110a, 110b are four minutes away from each other. The fleet management system 120, therefore, can determine that the self-driving vehicles 110a and 110b satisfy the vehicle proximity threshold 804.
As shown in
At 630, the fleet management system 120, in response to determining the set of self-driving vehicles 110 satisfies the at least one communication condition, the fleet management system 120 can select a stored data portion based at least on the characteristic of the set of self-driving vehicles 110. The fleet management system 120 can select the data portion from the manager storage unit 122 and/or the system storage component 140, depending on the type of data being requested and the type of data being stored in the respective storage elements.
Returning to the example shown in
At 640, the fleet management system 120 can transmit the data portion to the set of self-driving vehicles 110a, 110b via the communication network 130.
Continuing with the example shown in
Referring now to
Based at least on the estimated position for the self-driving vehicle 110c at the subsequent time, the fleet management system 120 can determine that the self-driving vehicle 110c will satisfy the vehicular proximity threshold 904 of the self-driving vehicle 110b and select a stored data portion based on the estimated positions of the self-driving vehicles 110b and 110c. The selected data portion can relate to the estimated positions of the self-driving vehicles 110b and 110c and the velocity of the self-driving vehicles 110b, 110c at the initial time, for example.
Another communication condition can include an environment proximity threshold. The environment proximity threshold can be defined between a self-driving vehicle 110 and one or more features of the environment of the self-driving vehicle 110. The features of the environment can include the permanent and temporary objects, a charging station, the fleet management system 120, and area with a reduced or enhanced network access.
An aisle 1006 is formed between the shelves 1010a and 1010b. The machine 1040 is currently operating in the aisle 1006. The machine 1040 is a temporary object and so, it is possible that its presence in the aisle 1006 was not registered into the electronic map stored at the self-driving vehicle 110b. The self-driving vehicle 110b's mission requires the self-driving vehicle 110b to travel to the region 1008 of the shelf 1010a. However, the self-driving vehicle 110b cannot reach the region 1008 due to the unexpected obstacle (the machine 1040).
The fleet management system 120 can then determine whether another self-driving vehicle 110 is near the opposite end of the aisle 1006 to assist with completing the mission of the self-driving vehicle 110b. As shown in
In the example shown in
Another example environment proximity threshold 1004 can be in respect of a charging station located within an environment of the self-driving vehicles 110 and the fleet management system 120.
For example, when the fleet management system 120 determines that the self-driving vehicle 110 is within the environment proximity threshold 1004 defined with respect to the fleet management system 120, the fleet management system 120 trigger the self-driving vehicle 110 to transmit operating data to the fleet management system 120.
Another feature of the environment relates to an area with a reduced or enhanced network access. Depending on the strength of the network access at the position of the self-driving vehicle 110, the fleet management system 120 can trigger a transmission of data to the self-driving vehicle 110. It is common for there to be varied signal strength throughout a facility, or for certain areas to be more likely to cause signal interference due to the presence of certain equipment.
For each region associated with a varied network access, an environment proximity threshold can be defined. For example, for a region with a reduced network access, the fleet management system 120 can define an environment proximity threshold that requires the self-driving vehicle 110 to be farther away from that region before a communication session is established between the self-driving vehicle 110 and the fleet management system 120. For this region, the fleet management system 120 can limit the data being transmitted to that self-driving vehicle 110 to high priority information.
In contrast, for a region with enhanced network access, the fleet management system 120 can define an environment proximity threshold that can trigger a communication session between the self-driving vehicle 110 and the fleet management system 120 even when the self-driving vehicle 110 is located at a significant distance from that region. The data being transmitted while the self-driving vehicle 110 is within the environment proximity threshold of the enhanced network region can be extensive and may not be restricted.
Continuing with
An example physical functional attribute can include a manipulator that can be mounted to the self-driving vehicle 110. Example manipulators can include a conveyor, an end effector or other tool, etc. An example software application can include an advanced image processing application.
Another example communication condition can be in respect of a team identifier. The fleet management system 120 can assign one or more self-driving vehicles 110 to at least one team. Each team can be identified by a team identifier and each member of the team can be identifiable by the team member identifier. Each team can be composed of self-driving vehicles 110 with similar functionalities (e.g., all self-driving vehicles 110 with the gripper end effector are assigned to one team), or can be composed of self-driving vehicles 110 with distinct functionalities so that, together, they can operate to complement each other for completing certain types of missions. For example, a team could be designated for responding to high priority missions and so, that team can be composed of self-driving vehicles 110 with advanced physical attributes and/or software applications. Another example team can be a team assigned for navigating the environment for collecting data for updating the electronic map of the environment. The self-driving vehicles 110 assigned to this team can have advanced imaging applications, for example. Another example team can include self-driving vehicles 110 assigned to service a specific region of the environment.
In some embodiments, the team members can be assigned to the teams based on user inputs.
The fleet management system 120 can compare the team member identifier of a self-driving vehicle 110 with the team identifier of the team being requested to determine whether that self-driving vehicle 110 satisfy the team requirement. If satisfied, the fleet management system 120 can select the data portion associated with a position of each self-driving vehicle 110 and a current mission of each self-driving vehicle to be transmitted to the team members.
At 640, the fleet management system 120 transmits the selected data portion to the identified set of self-driving vehicles via the communication network 130. In response to the selected data portion, the self-driving vehicles 110 can determine a response based on the received data.
Reference will now be made to
At 1110, a first self-driving vehicle 110a can receive an operating data portion related to at least one other self-driving vehicle, such as 110b or 110c, via the communication network 130. The first self-driving vehicle 110a can receive the operating data portion from the fleet management system 120 or another self-driving vehicle, such as 110b or 110c.
At 1020, the first self-driving vehicle 110a can determine from the received operating data portion that a characteristic of the other self-driving vehicle, such as 110b or 110c, satisfies at least one communication condition discussed herein.
For example, the characteristic can be a position of the other self-driving vehicle 110b and the communication condition can be the vehicular proximity threshold 704 between a position of the first self-driving vehicle 110a and the position of the other self-driving vehicle 110b. Another example communication condition can be the environment proximity threshold between the other self-driving vehicle 110b and one or more features of its environment.
Another example characteristic of the other self-driving vehicle 110b can be an available functionality and the communication conditions can be a functionality requirement. In another example, the characteristic can be a team member identifier and the communication condition can be a team identifier.
Another characteristic can be related to the mission assigned to the other self-driving vehicle 110c. The mission assigned to the self-driving vehicles 110 can have different priority levels—higher priority missions can be prioritized over lower priority missions. The communication condition can be a priority threshold that defines a minimum priority required for triggering the data communication, or a comparison of the priority of the missions assigned to the two self-driving vehicles 110. When the first self-driving vehicle 110a determines that the priority of the mission assigned to the other self-driving vehicle 110b exceeds the priority threshold or is higher than the priority of the mission assigned to the first self-driving vehicle 110a, the first self-driving vehicle 110a can determine that the communication condition is satisfied and select the relevant data portion to transmit to the other self-driving vehicle 110b. For example, the first self-driving vehicle 110a can determine that it should yield to the other self-driving vehicle 110b and transmit data related to its yield decision.
At 1130, the first self-driving vehicle 110a can select a data portion from its memory 244 based on the identified characteristic of the other self-driving vehicle 110b. The data portion selected can vary with the characteristic that satisfied the communication condition as different data may be relevant to the resulting communication session. It is possible for multiple communication conditions to be satisfied.
For example, when the vehicular proximity threshold is satisfied, the first self-driving vehicle 110a can transmit data related to its position and velocity to the other self-driving vehicle 110b. As the self-driving vehicles 110a, 110b are close in proximity, it can be useful for the other self-driving vehicle 110b to be aware of the presence of the first self-driving vehicle 110a as the other self-driving vehicle 110b can adjust its planned path to avoid any collision with the first self-driving vehicle 110a. Other data that can be transmitted by the first self-driving vehicle 110a to the other self-driving vehicle 110b can include the mission of the first self-driving vehicle 110a, for example.
When the environment proximity threshold is satisfied, the first self-driving vehicle 110a can transmit data related to its position, its velocity and its mission, for example. It is possible that the other self-driving vehicle 110b may require the first self-driving vehicle 110a to complete its mission, as described with reference to
When the functionality requirement is satisfied, the first self-driving vehicle 110a can transmit data related to its position and its current mission. The other self-driving vehicle 110b may only require the position of the first self-driving vehicle 110a and its mission to determine whether the first self-driving vehicle 110b can assist with another mission, for example. The velocity of the first self-driving vehicle 110a may not be as relevant.
When the team identifier is satisfied, the first self-driving vehicle 110a can transmit data related to its current mission.
At 1140, the first self-driving vehicle 110a can initiate a transmission of the selected data portion to the other self-driving vehicle 110b via the communication network 130.
The other self-driving vehicle 110b can receive the data portion from the first self-driving vehicle 110a and determine a response based on the received data portion.
It will be appreciated that numerous specific details are set forth in order to provide a thorough understanding of the example embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description and the drawings are not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing the implementation of the various embodiments described herein.
It should be noted that terms of degree such as “substantially”, “about” and “approximately” when used herein mean a reasonable amount of deviation of the modified term such that the end result is not significantly changed. These terms of degree should be construed as including a deviation of the modified term if this deviation would not negate the meaning of the term it modifies.
In addition, as used herein, the wording “and/or” is intended to represent an inclusive-or. That is, “X and/or Y” is intended to mean X or Y or both, for example. As a further example, “X, Y, and/or Z” is intended to mean X or Y or Z or any combination thereof.
It should be noted that the term “coupled” used herein indicates that two elements can be directly coupled to one another or coupled to one another through one or more intermediate elements.
The embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. These embodiments may be implemented in computer programs executing on programmable computers, each computer including at least one processor, a data storage system (including volatile memory or non-volatile memory or other data storage elements or a combination thereof), and at least one communication interface. For example and without limitation, the programmable computers may be a server, network appliance, embedded device, computer expansion module, a personal computer, laptop, a wireless device or any other computing device capable of being configured to carry out the methods described herein.
Each program may be implemented in a high level procedural or object oriented programming and/or scripting language, or both, to communicate with a computer system. However, the programs may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program may be stored on a storage media or a device (e.g. ROM, magnetic disk, optical disc) readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. Embodiments of the system may also be considered to be implemented as a non-transitory computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.
Furthermore, the system, processes and methods of the described embodiments are capable of being distributed in a computer program product comprising a computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, wireline transmissions, satellite transmissions, internet transmission or downloadings, magnetic and electronic storage media, digital and analog signals, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.
Various embodiments have been described herein by way of example only. Various modification and variations may be made to these example embodiments without departing from the spirit and scope of the invention, which is limited only by the appended claims.
This application is a Continuation of U.S. patent application Ser. No. 16/268,555, filed 6 Feb. 2019, which claims the benefit of U.S. Provisional Patent Application No. 62/627,301, filed 7 Feb. 2018, and titled “COMMUNICATION SYSTEMS FOR SELF-DRIVING VEHICLES, AND METHODS OF PROVIDING THEREOF”, the complete disclosure of each of U.S. patent application Ser. No. 16/268,555 and U.S. Provisional Patent Application No. 62/627,301 is incorporated herein by reference for all purposes.
Number | Name | Date | Kind |
---|---|---|---|
5199524 | Ivancic | Apr 1993 | A |
6668318 | Jenkins et al. | Dec 2003 | B1 |
7409356 | Geddes et al. | Aug 2008 | B1 |
7532962 | Lowrey et al. | May 2009 | B1 |
7565581 | Halligan et al. | Jul 2009 | B1 |
7650210 | Breed | Jan 2010 | B2 |
7734389 | Shin | Jun 2010 | B2 |
7826919 | D'Andrea et al. | Nov 2010 | B2 |
7894932 | Mountz et al. | Feb 2011 | B2 |
7894933 | Mountz et al. | Feb 2011 | B2 |
7912574 | Wurman et al. | Mar 2011 | B2 |
8190322 | Lin et al. | May 2012 | B2 |
8220710 | Hoffman et al. | Jul 2012 | B2 |
8457808 | Michnik et al. | Jun 2013 | B2 |
8502498 | Fecher | Aug 2013 | B2 |
8660740 | Koniditsiotis et al. | Feb 2014 | B2 |
8761989 | Murphy | Jun 2014 | B1 |
8914182 | Casado et al. | Dec 2014 | B2 |
9315178 | Ferguson et al. | Apr 2016 | B1 |
9606544 | Gariepy et al. | Mar 2017 | B2 |
9740212 | D'Andrea | Aug 2017 | B2 |
9766671 | Dorn et al. | Sep 2017 | B2 |
10055903 | Koons et al. | Aug 2018 | B2 |
10089873 | Yamasaki et al. | Oct 2018 | B2 |
10109120 | Boss et al. | Oct 2018 | B2 |
10138101 | Svensson et al. | Nov 2018 | B2 |
10155646 | Lee | Dec 2018 | B2 |
10179591 | Todasco | Jan 2019 | B2 |
10209711 | Brazeau | Feb 2019 | B1 |
10241509 | Fields et al. | Mar 2019 | B1 |
10262475 | Smith | Apr 2019 | B2 |
10423934 | Zanghi et al. | May 2019 | B1 |
10346797 | Jacobus et al. | Jul 2019 | B2 |
10565807 | Boss et al. | Feb 2020 | B2 |
10671087 | Collett et al. | Jun 2020 | B2 |
10717448 | Seo | Jul 2020 | B1 |
10726644 | Abari et al. | Jul 2020 | B2 |
10747234 | Konrardy | Aug 2020 | B1 |
10802493 | Ogihara et al. | Oct 2020 | B2 |
10824145 | Konrardy | Nov 2020 | B1 |
10846947 | Pakki et al. | Nov 2020 | B2 |
10867455 | Segal et al. | Dec 2020 | B2 |
10948927 | Harris | Mar 2021 | B1 |
11100731 | Smith | Aug 2021 | B2 |
11235778 | Tod | Feb 2022 | B2 |
11256270 | Chopra | Feb 2022 | B2 |
11493586 | Pipher et al. | Nov 2022 | B2 |
11531352 | Thode et al. | Dec 2022 | B2 |
11638133 | O'Grady | Apr 2023 | B1 |
11648953 | Tod | May 2023 | B2 |
20010044697 | Kageyama | Nov 2001 | A1 |
20040039504 | Coffee | Feb 2004 | A1 |
20040158355 | Holmqvist et al. | Aug 2004 | A1 |
20070005202 | Breed | Jan 2007 | A1 |
20070129847 | Ulmer et al. | Jun 2007 | A1 |
20080009965 | Bruemmer et al. | Jan 2008 | A1 |
20080009966 | Bruemmer et al. | Jan 2008 | A1 |
20080028237 | Knight | Jan 2008 | A1 |
20080262669 | Smid et al. | Oct 2008 | A1 |
20080284575 | Breed | Nov 2008 | A1 |
20080291879 | Duff et al. | Nov 2008 | A1 |
20090043441 | Breed | Feb 2009 | A1 |
20090074545 | Lert, Jr. et al. | Mar 2009 | A1 |
20090077808 | Malm | Mar 2009 | A1 |
20090160255 | Grady | Jun 2009 | A1 |
20090304101 | Loporto et al. | Dec 2009 | A1 |
20100060604 | Zwart et al. | Mar 2010 | A1 |
20100100315 | Davidson et al. | Apr 2010 | A1 |
20110031929 | Asada et al. | Feb 2011 | A1 |
20110144823 | Muller et al. | Jun 2011 | A1 |
20110202305 | Willis | Aug 2011 | A1 |
20120019205 | Kressner et al. | Jan 2012 | A1 |
20120101627 | Lert | Apr 2012 | A1 |
20120123614 | Laws et al. | May 2012 | A1 |
20120179337 | Doan | Jul 2012 | A1 |
20120239224 | Mccabe et al. | Sep 2012 | A1 |
20130000438 | Ouellet | Jan 2013 | A1 |
20130006677 | Anglin et al. | Jan 2013 | A1 |
20130035823 | Yoshida | Feb 2013 | A1 |
20130039357 | Akita | Feb 2013 | A1 |
20130179057 | Fisher et al. | Jul 2013 | A1 |
20130248547 | Braun et al. | Sep 2013 | A1 |
20130329651 | Lee | Dec 2013 | A1 |
20140074345 | Gabay et al. | Mar 2014 | A1 |
20140139354 | Miyazaki | May 2014 | A1 |
20140142785 | Fuentes et al. | May 2014 | A1 |
20140244097 | Colwell | Aug 2014 | A1 |
20140303768 | Klumpp et al. | Oct 2014 | A1 |
20140303814 | Burema et al. | Oct 2014 | A1 |
20140308098 | Lert et al. | Oct 2014 | A1 |
20140344118 | Parpia et al. | Nov 2014 | A1 |
20140350725 | Lafary et al. | Nov 2014 | A1 |
20140360832 | Aldrich | Dec 2014 | A1 |
20140365258 | Vestal et al. | Dec 2014 | A1 |
20140379205 | Muetzel et al. | Dec 2014 | A1 |
20150006005 | Yu et al. | Jan 2015 | A1 |
20150091507 | Hyde et al. | Apr 2015 | A1 |
20150100504 | Binion et al. | Apr 2015 | A1 |
20150141043 | Abramson | May 2015 | A1 |
20150148951 | Jeon et al. | May 2015 | A1 |
20150161830 | Lenhardt et al. | Jun 2015 | A1 |
20150224891 | Petrosian et al. | Aug 2015 | A1 |
20150260535 | Yoshida | Sep 2015 | A1 |
20150339928 | Ramanujam | Nov 2015 | A1 |
20150360865 | Massey | Dec 2015 | A1 |
20150379704 | Chandrasekar et al. | Dec 2015 | A1 |
20160061935 | McCloskey | Mar 2016 | A1 |
20160063435 | Shah et al. | Mar 2016 | A1 |
20160071418 | Oshida | Mar 2016 | A1 |
20160093119 | Ahn et al. | Mar 2016 | A1 |
20160116587 | Miller et al. | Apr 2016 | A1 |
20160121487 | Mohan et al. | May 2016 | A1 |
20160236867 | Brazeau et al. | Aug 2016 | A1 |
20160247106 | Dalloro et al. | Aug 2016 | A1 |
20160342915 | Humphrey | Nov 2016 | A1 |
20170092131 | Fairfield et al. | Mar 2017 | A1 |
20170120906 | Penilla | May 2017 | A1 |
20170123421 | Kentley et al. | May 2017 | A1 |
20170123428 | Levinson | May 2017 | A1 |
20170124781 | Douillard | May 2017 | A1 |
20170192438 | Morimoto | Jul 2017 | A1 |
20170205833 | Gariepy et al. | Jul 2017 | A1 |
20170212526 | Vanderpool | Jul 2017 | A1 |
20170242095 | Schuh | Aug 2017 | A1 |
20170262709 | Wellington | Sep 2017 | A1 |
20170263120 | Durie, Jr. et al. | Sep 2017 | A1 |
20170300054 | Hanson et al. | Oct 2017 | A1 |
20170357270 | Russell | Dec 2017 | A1 |
20180005181 | Gaussin | Jan 2018 | A1 |
20180013211 | Ricci | Jan 2018 | A1 |
20180053141 | Shydo, Jr. | Feb 2018 | A1 |
20180059687 | Hayes et al. | Mar 2018 | A1 |
20180113468 | Russell | Apr 2018 | A1 |
20180115898 | Han | Apr 2018 | A1 |
20180143649 | Miao et al. | May 2018 | A1 |
20180151066 | Oba | May 2018 | A1 |
20180164825 | Matus et al. | Jun 2018 | A1 |
20180188725 | Cremona | Jul 2018 | A1 |
20180204398 | Smith | Jul 2018 | A1 |
20180204458 | Fairfield et al. | Jul 2018 | A1 |
20180227729 | Bai | Aug 2018 | A1 |
20180232961 | Wang | Aug 2018 | A1 |
20180247207 | Ristovski et al. | Aug 2018 | A1 |
20180276604 | Gariepy | Sep 2018 | A1 |
20180313282 | Pati et al. | Nov 2018 | A1 |
20180342113 | Kislovskiy | Nov 2018 | A1 |
20180356821 | Kentley-Klay et al. | Dec 2018 | A1 |
20180362032 | Yang | Dec 2018 | A1 |
20180373238 | Bergan | Dec 2018 | A1 |
20190005748 | Boss et al. | Jan 2019 | A1 |
20190025818 | Mattingly | Jan 2019 | A1 |
20190025819 | Ferguson | Jan 2019 | A1 |
20190028862 | Futaki | Jan 2019 | A1 |
20190033882 | Collett | Jan 2019 | A1 |
20190047564 | Brady | Feb 2019 | A1 |
20190061619 | Reymann | Feb 2019 | A1 |
20190064810 | Jiang et al. | Feb 2019 | A1 |
20190107840 | Green | Apr 2019 | A1 |
20190171225 | Switkes | Jun 2019 | A1 |
20190196480 | Taylor | Jun 2019 | A1 |
20190220011 | Della Penna | Jul 2019 | A1 |
20190225233 | Tod et al. | Jul 2019 | A1 |
20190235506 | Bardapurkar | Aug 2019 | A1 |
20190243384 | Chopra | Aug 2019 | A1 |
20190248013 | Deyle | Aug 2019 | A1 |
20190272760 | McQuillen | Sep 2019 | A1 |
20190276055 | Cooper | Sep 2019 | A1 |
20190279513 | Schuh | Sep 2019 | A1 |
20200077241 | Bae | Mar 2020 | A1 |
20200143610 | Boss et al. | May 2020 | A1 |
20200143675 | Chopra | May 2020 | A1 |
20200153494 | Park | May 2020 | A1 |
20200167722 | Goldberg | May 2020 | A1 |
20200174493 | Lin et al. | Jun 2020 | A1 |
20200183371 | Park | Jun 2020 | A1 |
20200187086 | Vandikas | Jun 2020 | A1 |
20200201336 | Myers | Jun 2020 | A1 |
20200207360 | Dougherty | Jul 2020 | A1 |
20200207371 | Dougherty | Jul 2020 | A1 |
20200262453 | Mimura | Aug 2020 | A1 |
20200286369 | Ferrin | Sep 2020 | A1 |
20200294401 | Kerecsen | Sep 2020 | A1 |
20200342768 | Zhao | Oct 2020 | A1 |
20200348662 | Cella | Nov 2020 | A1 |
20200361480 | Rodriguez Bravo et al. | Nov 2020 | A1 |
20200393849 | Ishikawa | Dec 2020 | A1 |
20210005080 | Ogawa | Jan 2021 | A1 |
20210012592 | Abari et al. | Jan 2021 | A1 |
20210037361 | Zhang | Feb 2021 | A1 |
20210064057 | Eldar et al. | Mar 2021 | A1 |
20210112368 | Whelen | Apr 2021 | A1 |
20210116582 | Krause | Apr 2021 | A1 |
20210157312 | Cella | May 2021 | A1 |
20220021597 | Cui | Jan 2022 | A1 |
20220139209 | Biala | May 2022 | A1 |
20220214698 | Chopra | Jul 2022 | A1 |
20220297700 | Dougherty | Sep 2022 | A1 |
20230161623 | Orbay | May 2023 | A1 |
20230251342 | Zhu | Aug 2023 | A1 |
20230260395 | Ishiwatari | Aug 2023 | A1 |
20230276210 | Cui | Aug 2023 | A1 |
20230294031 | Kolczyk | Sep 2023 | A1 |
20240028391 | Alezzani | Jan 2024 | A1 |
20240102817 | Bales | Mar 2024 | A1 |
20240106888 | Bales | Mar 2024 | A1 |
Number | Date | Country |
---|---|---|
WO-2010089299 | Aug 2010 | WO |
2013096651 | Jun 2013 | WO |
2017072771 | May 2017 | WO |
Entry |
---|
WO-2010089299-A1 English translation (Year: 2010). |
International Preliminary Report on Patentability of the ISA,Aug. 20, 2020 re PCT International Application No. PCT/CA2019/050156. (7 pages). |
Eric Park, Linda Kobayashi and Susan Lee: “Extensible Hardware Architecture for Mobile Robots” Intelligent Robotics Group Apr. 18, 2005.(6 pages). |
Number | Date | Country | |
---|---|---|---|
20220214698 A1 | Jul 2022 | US |
Number | Date | Country | |
---|---|---|---|
62627301 | Feb 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16268555 | Feb 2019 | US |
Child | 17574981 | US |