Vehicle control limits

Included are embodiments for providing vehicle control limits. One embodiment of a system includes a navigation system and a vehicle that includes a memory component that stores a program. Embodiments of the system are configured to receive an indication for automatic control of the vehicle, receive a route for the vehicle to reach a destination for completing a work order from the navigation system, and determine a vehicle limit, wherein the vehicle limit is based on a current state of the vehicle. Some embodiments are configured to communicate the vehicle limit from a vehicle control module (VCM) to a navigation control module (NCM), determine, via the NCM, an automatic command based on the destination and the vehicle limit and send the automatic command to a motor of the vehicle.

BACKGROUND

Embodiments provided herein generally relate to vehicular control limits, and particularly to systems and methods for providing a vehicle control limits for a vehicle under automatic operation mode.

Many warehouse environments utilize one or more forklifts and/or other vehicles for moving products into, out of, and within the warehouse. Accordingly, many current solutions utilize a vehicle operator to determine which products need to be moved and to where those products will be moved. While the vehicle operators may be capable of sufficiently navigating the vehicle to perform the desired tasks, oftentimes, vehicle operators make mistakes, take inefficient routes, and/or otherwise slow the process. As such, many current solutions provide semi-automated and/or fully automated operation of the vehicle. While semi-automated and fully automated operation may provide additional options, oftentimes, system failures arise due to miscommunication between a navigation system and a vehicle control system.

SUMMARY

Included are embodiments for providing vehicle control limits. One embodiment of a system includes a navigation system and a vehicle that includes a memory component that stores a program. Embodiments of the system are configured to receive an indication for automatic control of the vehicle, receive a route for the vehicle to reach a destination for completing a work order from the navigation system, and determine a vehicle limit, wherein the vehicle limit is based on a current state of the vehicle. Some embodiments are configured to communicate the vehicle limit from a vehicle control module (VCM) to a navigation control module (NCM), determine, via the NCM, an automatic command based on the destination and the vehicle limit and send the automatic command to a motor of the vehicle.

Also included are embodiments of a method. Some embodiments of the method include receiving a work order, the work order related to movement of load to a three-dimensional destination, determining a route for a vehicle to reach the three-dimensional destination for completing the work order, and determining a vehicle limit, wherein the vehicle limit is based on a current state of the vehicle. Some embodiments of the method include determining an automatic command based on the three-dimensional destination and the vehicle limit and sending the automatic command to the vehicle.

Also included are embodiments of a vehicle. Some embodiments of the vehicle include a memory component that stores a program that, when executed by a processor, causes the vehicle to receive an indication for automatic control of a vehicle, receive a route to reach a destination, and determine a vehicle limit of the vehicle, wherein the vehicle limit is based on a current state of the vehicle. In some embodiments, the program causes the vehicle to communicate the vehicle limit from a vehicle control module (VCM) to a navigation control module (NCM) and utilize the NCM to navigate the vehicle to the destination, while adhering to the vehicle limit.

DETAILED DESCRIPTION

FIG. 1depicts a computing environment for providing vehicle control limits, according to one or more embodiments shown and described herein. As illustrated, a network100may facilitate communication among a navigation system102, a remote computing device104, and a vehicle106. The network100may include a wired and/or wireless local area network, wide area network, and/or other type of network for communicating information. The navigation system102may be configured as a server or other computing device and may be located at a warehouse or other environment. The navigation system102may be configured for sending navigation to the vehicle106and/or receiving navigation data from the vehicle106. Additionally, the remote computing device104, which may be implemented as a management computing device or other system, may be configured for processing work orders. The work orders may identify the location of a product that needs to be moved and/or provide other similar information. With the work order information, the navigation system102and/or remote computing device104may be configured to determine a vehicle for performing the desired task. Additionally, the navigation system102may determine an order of priority that tasks are performed by a particular vehicle106. The navigation system102may communicate with the vehicle106to determine the location of the vehicle106. With the location of the vehicle106, the navigation system102may more efficiently assign tasks to the vehicle106. Additionally, the communication between the navigation system102and the vehicle106may include sending the predetermined destination and/or routing data to the vehicle106. The routing data may include a plurality of lines and arcs for reaching a predetermined destination from the current location of the vehicle106. In some embodiments, however, the vehicle106receives coordinates of the predetermined destination and determines its own routing to reach those coordinates.

Also included is the remote computing device104. The remote computing device104may also be configured as a server or other computing device and may be configured to provide the navigation system102with the work orders, and/or other information. In some embodiments, the remote computing device104may be located on the same premises as the navigation system102, while in some embodiments the remote computing device104may be located remotely from the navigation system102. Similarly, depending on the particular embodiment, the remote computing device104may be configured to service one or more different environments and communicate with one or more different navigation systems.

FIG. 1also includes the vehicle106. The vehicle106may be configured as a warehouse vehicle, such as a forklift, truck, etc. Additionally, the vehicle106may include one or more vehicle control systems, such as a steering system, a braking system, a traction system, etc. The vehicle106also includes a user interface, location tracking sensors (such as laser sensors, light sensors, etc.), and vehicle computing architecture110, which may include a vehicle control module (VCM)112and a navigation control module (NCM)114. As discussed in more detail below, the VCM112may facilitate operator initiated control of the vehicle106through the use of a manual mode. The NCM114may be configured to send a control command to facilitate system-initiated operation of the vehicle106through the use of an auto operation mode. Also illustrated is a navigation control interface for facilitating communication and coordination between the VCM112and the NCM114.

FIG. 2depicts an environment map200for providing vehicle control limits, according to embodiments shown and disclosed herein. As illustrated, the environment map200may simulate an environment, such as a warehouse and may include a plurality of products202. The products may be organized in a predetermined arrangement and may be not only arranged along the floor (in the “x” and “y” directions), but may also be stacked vertically (in the “z” direction). As discussed above, the vehicle106may be operated in manual mode by an operator, sending a manual command to the vehicle106. The operator may then implement a manual control function to manually navigate the vehicle to the predetermined destination, perform the desired task, and then proceed to the next task.

If an automatic command has been sent to the vehicle106, the vehicle106may determine a vehicle condition and operate in automatic mode. Thus, the vehicle106may implement automatic control from the NCM114, the navigation system102, navigation system operator, vehicle operator, and/or other external source by determining an efficient operation of the vehicle106to perform the task and sending a control command based on the efficient operation, vehicle condition and desired task. With this information, the vehicle106may travel to a desired location, perform the desired task, and then proceed to the next location.

As an example, if the vehicle106is currently operating in automatic mode, the vehicle106may receive a task, a predetermined destination (address D212), and/or a route for reaching the predetermined destination. Depending on the information received, the vehicle106may calculate a route to the predetermined location at the address D212and may then perform the task. In this particular example, the task requests the vehicle106to pick up the product located at the address D212. From the current location of the vehicle106, the vehicle106may then use sensors and mapping data to navigate according to the determined path. In some embodiments, the vehicle106may include a light sensor. The light sensor may determine the relative position of the vehicle106with regard to the overhead lighting fixtures. Based on this information, and/or other information (such as laser sensor information, odometer readings, etc.), the vehicle106(and/or the navigation system102) may ensure that the vehicle106is on the correct path.

As the vehicle106is operated in automatic mode, the vehicle may receive one or more control signals from the NCM114to the VCM112. To prevent the NCM114from sending a command to the VCM112that violates a predetermined vehicle limit, the VCM112and the NCM114may communicate vehicle limit data. Specifically, based on a determined weight of a load, height of the fork, and/or other parameters, the vehicle106may have an acceleration limit, by which the vehicle106may not accelerate beyond a predetermined rate. Similarly, the vehicle106may have a fork height limit, a hoist acceleration limit, a hoist speed limit, etc. a steering limit may also be imposed on the vehicle. If the vehicle106includes one or more accessories, the vehicle may impose an accessory lower limit, an accessory speed limit, an accessory upper limit, and/or other limits.

While these limits may be easily implemented when the vehicle106operates in manual mode, oftentimes automatic mode may send a command for an action that is not permitted. Accordingly, the VCM112may communicate limit data with the NCM114to prevent confusion within the vehicle106.

FIG. 3depicts a computing environment for providing control logic in the VCM112, according to one or more embodiments shown and described herein. In the illustrated embodiment, the VCM112includes a processor330, input/output hardware332, a data storage component336(which stores limits data338a, mapping data338b, and/or other data), and the memory component140. The limits data338amay include one or more limits that may be placed on the vehicle106when in use. Specifically, when the vehicle106is turning, the maximum speed may be limited. When the vehicle106has raised the vehicle lift, the maximum speed may be limited. Other limits may also be implemented.

The mapping data338bmay include information for the layout of the environment, as illustrated inFIG. 2, as well as the location of products, paths to the products, etc. The memory component140may be configured as volatile and/or nonvolatile memory and as such, may include random access memory (including SRAM, DRAM, and/or other types of RAM), flash memory, secure digital (SD) memory, registers, compact discs (CD), digital versatile discs (DVD), and/or other types of non-transitory computer-readable mediums. Depending on the particular embodiment, the non-transitory computer-readable medium may reside within the VCM112and/or external to the VCM112.

Additionally, the memory component140may store operating logic342, traction logic344a, steering logic344b, hoist logic344c, and accessory logic344d. The operating logic342may include an operating system and/or other software for managing components of the VCM112. The traction logic344amay be configured with one or more algorithms and parameters for facilitating optimal traction control for the vehicle106. The steering logic344bmay be configured with one or more algorithms and parameters for facilitating optimal steering control of the vehicle106. The hoist logic344cmay include one or more algorithms and parameters for facilitating optimal hoist control of the vehicle106. The accessory logic344dmay include one or more algorithms and parameters for facilitating operation of accessories of the vehicle106. A local communication interface346is also included inFIG. 3and may be implemented as a bus or other communication interface to facilitate communication among the components of the VCM112.

The processor330may include any processing component operable to receive and execute instructions (such as from the data storage component336and/or the memory component140). The input/output hardware332may include and/or be configured to interface with a monitor, positioning system, keyboard, touch screen, mouse, printer, image capture device, microphone, speaker, gyroscope, compass, and/or other device for receiving, sending, and/or presenting data. The network interface hardware334may include and/or be configured for communicating with any wired or wireless networking hardware, including an antenna, a modem, LAN port, wireless fidelity (Wi-Fi) card, WiMax card, mobile communications hardware, and/or other hardware for communicating with other networks and/or devices. From this connection, communication may be facilitated between the VCM112and other computing devices.

It should be understood that the components illustrated inFIG. 3are merely exemplary and are not intended to limit the scope of this disclosure. While the components inFIG. 3are illustrated as residing within the VCM112, this is merely an example. In some embodiments, one or more of the components may reside external to the VCM112. It should also be understood that while the VCM112inFIG. 3is illustrated as a single device, this is also merely an example. In some embodiments, the traction logic344a, steering logic344b, hoist logic344c, and/or accessory logic344dmay reside on different devices. Additionally, while the VCM112is illustrated with traction logic344a, steering logic344b, hoist logic344c, and accessory logic344das separate logical components, this is also an example. In some embodiments, a single piece of logic may cause the VCM112to provide the described functionality. Further, similar components may also be included in the NCM114, navigation system102, and remote computing device104to perform the functionality described herein.

FIG. 4depicts a graph400for providing limits on travel speed versus lift height, according to embodiments shown and described herein. As illustrated, the graph400indicates a lift height versus travel speed of the vehicle106, where the maximum travel speed is about 8.5 miles per hour when the lift is 0 to about 130 inches. From about 130 inches to about 250 inches, the maximum travel speed is about 3 miles per hour. From about 250 inches to about 500 inches, the maximum speed reduces at a rate of about 1 mph per 100 inches of lift.

FIG. 5depicts a graph500for providing limits on maximum vehicle speed, versus steer angle, according to embodiments shown and described herein. As illustrated, the graph500depicts a representation of steer angle versus maximum allowable vehicle speed with 100% of the maximum vehicle speed being allowed when the steer angle is 0 to about 8 degrees. From about 8 degrees to about 30 degrees of steer angle, the maximum allowable speed reduces from about 100% to about 70%. From about 30 degrees of steer angle to about 90 degrees of steer angle, the maximum allowable speed is flat at about 70%.

It should be understood that while the graphs400,500ofFIGS. 4 and 5depict embodiments of limits that may be placed on the vehicle106, these are merely examples. Additionally, other limits on the vehicle106may also be implemented, as depicted below in Tables 1-4. It should also be understood that the VCM112may communicate with the NCM114to coordinate the various conditions of manual operation and automatic operation of the vehicle106, such as vehicle limit data. As such, Tables 1-4 represent examples of data that may be sent from the VCM112to the NCM114, depending on the configuration.

As illustrated, Table 1 identifies traction data that may be sent from the VCM112to the NCM114via the navigation control interface. Specifically, the purpose of the message in Table 1 is traction feedback and vehicle traction limits. While Table 1 indicates that the data is sent as an 8 byte message, this is merely an example. Regardless, Table 1 illustrates that byte 0 and byte 1 are utilized for traction speed feedback. Bytes 2 and 3 may be utilized for identifying a traction speed limit. Bytes 4 and 5 may be utilized to identify a traction acceleration force limit. Bytes 6 and 7 may be utilized to identify a traction deceleration force limit.

Specifically, the traction speed feedback of bytes 0 and 1 may be communicated from the VCM112to the NCM114to identify a current speed and/or traction state that the vehicle106is experiencing. Additionally, the vehicle106may be subject to one or more vehicle limits that are imposed. The vehicle limits may include a speed limit, an acceleration limit, and/or a deceleration limit.

Table 2 includes steering data that is sent from the VCM112to the NCM114via the navigation control interface. Specifically, bytes 0 and 1 may be utilized to provide a wheel angle feedback (current wheel angle) of the vehicle. Bytes 2 and 3 may be utilized to identify a counterclockwise maximum wheel angle. Bytes 4 and 5 may be utilized to identify a clockwise maximum wheel angle. Bytes 6 and 7 may be utilized to identify a wheel angle rate limit of rotation.

Table 3 includes hoist data that may be communicated by the VCM112to the NCM114via the navigation control interface. Specifically, the data provided in this message reports information regarding the current state of the fork. Accordingly, bytes 0 and 1 may be utilized to identify the fork height feedback (current fork height) of the vehicle106. Bytes 2 and 3 may be utilized to identify a fork hoist speed limit of the vehicle106. Bytes 4 and 5 may be utilized to identify a hoist acceleration limit of the fork. Bytes 6 and 7 may be utilized to identify a hoist height limit of the fork. Additionally, other data may be provided to the NCM114, such as current load weight, current vehicle speed, etc. This other data may be provided within one of the data communications depicted in Tables 1-4 and/or via other data messages.

Table 4 includes vehicle accessory data that may be communicated by the VCM112to the NCM114via the navigation control interface. Specifically, bytes 0 and 1 may be utilized to identify an accessory position of an accessory on the vehicle106. Bytes 2 and 3 may be utilized to identify an accessory upper limit of the vehicle106. Bytes 4 and 5 may be utilized to identify an accessory lower limit. Bytes 6 and 7 may be utilized to identify an accessory speed limit.

It should be understood that while only one accessory is depicted in Table 4, similar data may be provided for other accessories on the vehicle106. Similarly, based on the functionality of the accessories, the data in Table 4 may change for each of accessory to which a limit applies.

In Tables 1-4 above, communication between the VCM112may indicate one or more limits that are placed on the vehicle106. Specifically, when operating in manual mode, the vehicle106may be subject to the limits stored in the data storage component336, discussed above. However, when the vehicle106is operating in automatic mode, the navigation system102and/or the NCM114may not be aware of the limits on the vehicle106. Thus, when the navigation system102and/or the NCM114provide a speed (or other) command to the VCM112, the vehicle106may not be able to provide the requested performance due to the limits. As such, the information in Tables 1-4 may include limit data on the vehicle106. The limit data may include a plurality of limits, such as depicted inFIGS. 4 and 5and/or may simply be a numerical limit, based on the current conditions of the vehicle106. By facilitating communication of this data, the navigation system102and/or NCM114will be aware of the limits and only request performance that is within the acceptable ranges.

FIG. 6depicts a flowchart for implementing vehicle limits, according to embodiments shown and described herein. As illustrated in block630, a determination may be made regarding the operation mode of the vehicle106. Specifically, the VCM112, NCM114, and/or navigation system102may determine whether the vehicle106is currently operating in manual mode or automatic mode. If, in block632, the vehicle106is not operating in automatic mode, the process returns to block630. If the vehicle106is operating in automatic mode, in block634the VCM112may send the vehicle limits to the navigation system102and/or to the NCM114. In block636, the navigation system102and/or NCM114sends vehicle commands that are within the vehicle limits.

FIG. 7depicts yet another flowchart for implementing vehicle limits, according to embodiments shown and described herein. As illustrated in block730, a work order may be received, where the work order is related to movement of a load to a three-dimensional destination. In block732a route for the vehicle106may be determined to reach the three-dimensional destination for completing the work order. In block734, a vehicle limit may be determined, where the vehicle limit is based on a current state of the vehicle106. In block736, an automatic command is determined based on the there-dimensional destination and the vehicle limit. In block738, the automatic command is sent to the vehicle106.