Vehicular navigation control interface

Systems and methods for providing a vehicular navigation control are disclosed herein. Some embodiments include a navigation system and a vehicle with a vehicle control module (VCM), a navigation control module (NCM), and a navigation control interface, where the VCM receives a manual command from an operator to implement a manual control function. In some embodiments the NCM receives an automatic command from the navigation system to implement an automatic control function via the VCM and the navigation control interface directly connects the VCM and the NCM to facilitate communication between the VCM and NCM for implementing automatic mode and for reporting implementation of a manual mode.

BACKGROUND

Embodiments provided herein generally relate to a navigation control interface, and particularly to a hardware interface between a vehicle control system and a navigation control system.

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, the operators represent a significant cost to moving goods through a warehouse.

SUMMARY

Included are systems and methods for providing a vehicular navigation control interface. Some embodiments include a navigation system and a vehicle with a vehicle control module (VCM), a navigation control module (NCM), and a navigation control interface, where the VCM receives a manual command from an operator to implement a manual control function. In some embodiments the NCM receives an automatic command from the navigation system to implement an automatic control function via the VCM and the navigation control interface directly connects the VCM and the NCM to facilitate communication between the VCM and NCM for implementing automatic mode and for reporting implementation of a manual mode.

Also included are embodiments of a vehicle. The vehicle may include a vehicle control module (VCM), a navigation control module (NCM), a hardware interface, a traction control module (TCM), and a steering control module (SCM). In some embodiments, the VCM receives a manual command from an operator to implement a manual control function, causes the vehicle to implement the manual command, and sends data related to the manual command to the NCM. Similarly, in some embodiments, the NCM receives an automatic command from a navigation system to implement an automatic control function, sends data related to the automatic command to the VCM for implementing the automatic command, and the hardware interface directly connects the VCM and the NCM to facilitate communication of data between the VCM and NCM.

DETAILED DESCRIPTION

FIG. 1depicts a computing environment for utilizing a navigation control interface116to facilitate the communication of data, 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 warehouse management system 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 path segments, which may include one or more lines and/or 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 facilitate system-initiated operation of the vehicle106through the use of an auto operation mode. Also illustrated is a navigation control interface116for facilitating communication and coordination between the VCM112and the NCM114.

FIG. 2depicts an environment map200for providing vehicle navigation, 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 not only be arranged along the floor (in the “x” and “y” directions), but may also be stacked vertically (in the “z” direction). As discussed briefly 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 vehicle106to 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 operate in automatic mode and thus may implement an automatic control function. Thus, the vehicle106may perform the desired tasks without the assistance of a human operator. As such, the vehicle106may receive one or more locations (or a predetermined route) from the navigation system102. With this information, the vehicle106may travel to a predetermined destination, 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.

FIG. 3depicts a circuit diagram for a vehicle computing architecture110, according to one or more embodiments shown and described herein. As illustrated, the vehicle computing architecture110includes the VCM112and the NCM114. Also included is the navigation control interface116. The navigation control interface116may be configured as a hardware interface between the components of the vehicle106(and VCM112) and the components of the NCM114. The navigation control interface116may also allow a single VCM that can be used across many different vehicles and/or NCMs with little initial configuration. Specifically, because the navigation control interface116provides a direct medium for communication between the VCM112and the NCM114, a specially configured VCM is unnecessary. As illustrated, the vehicle computing architecture110includes a can A line and a can B line. The can A line provides a communication medium among the display304, the VCM112, a traction control module (TCM)308for implementing traction control, and a steering control module (SCM)312that is configured to receive and implement a steering command. Similarly, the can B line is part of the navigation control interface116that couples the VCM112with the NCM114. As discussed in more detail below, the can B facilitates sending and receiving of messages between the VCM112and the NCM114.

Also included in the vehicle computing architecture110is a mode select switch (MSS)302. The MSS302may be configured with two bi-pole switches for selecting manual mode or automatic mode. Specifically, a display304may be provided on the vehicle106and may be configured as a user interface for providing the operator with an option to select manual mode or automatic mode. However, this is merely an example, as some embodiments may include a physical switch to implement this selection. Regardless, in response to selection of the manual mode, the MSS302switches the bi-poles to the upward position (as shown). With the bi-poles in this position, battery voltage is provided to a manual coil306, which enables the VCM112to have control of turning on the manual coil306by sinking the low side of the circuit to ground, which activates a manual contactor305so that bus power can be distributed to the motor controllers (TCM309, SCM312) for commanding motion on the truck. The SCTT308can receive operator commands in the form of a brake switch (BRS1), a reverse switch (RS), a forward switch (FS), a lower switch (LOS), a raise switch (RAS), a dead man switch (DMS), a high speed switch (HSS), a live man switch (LMS), and a battery restraint (BRES) switch. Also included is a level shifter for providing the commands to the VCM112, which may not be utilized, depending on the particular embodiment. From the VCM112, the manual operations commands may be processed and converted to a torque or speed command and be sent to the TCM309, which is coupled to a traction motor310. The TCM309may operate as a motor controller and is thus configured to provide a power signal, which includes a voltage and frequency, directly to a motor of the vehicle106. Similarly, the manual commands may be processed and converted to a speed or position command and be sent to the SCM312, which is coupled to a steering motor314. Through this mode of operation, the VCM112can facilitate manual operation of the vehicle106.

Similarly, when an automatic mode of operation is selected, such as through the MSS302, the MSS302switches position of the bi-poles. With the bi-poles switched into automatic mode, battery voltage is provided to an auto coil316, which enables the NCM114to have control of turning the auto coil316on by sinking the low side of the circuit to ground, which activates the automatic contactor318.

It should be understood that while the embodiment ofFIG. 3only depicts the TCM309and the SCM312, this is merely an example. Other components for controlling various functions of the vehicle106may also be included, depending on the particular embodiment.

FIG. 4depicts a computing environment for providing control logic in a vehicle control module (VCM)112, according to one or more embodiments shown and described herein. In the illustrated embodiment, the VCM112includes a processor430, input/output hardware432, a data storage component436(which stores path data438a, mapping data438b, and/or other data), and the memory component140. 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 logic442, traction logic444a, steering logic444b, hoist logic444c, and accessory logic444d. The operating logic442may include an operating system and/or other software for managing components of the VCM112. The traction logic444amay be configured with one or more algorithms and parameters for facilitating optimal traction control for the vehicle106. The steering logic444bmay be configured with one or more algorithms and parameters for facilitating optimal steering control of the vehicle106. The hoist logic444cmay include one or more algorithms and parameters for facilitating optimal hoist control of the vehicle106. Additionally, the accessory logic444dmay include one or more algorithms and parameters for providing control of accessories of the vehicle106. A local communication interface446is also included inFIG. 4and may be implemented as a bus or other communication interface to facilitate communication among the components of the VCM112.

The processor430may include any processing component operable to receive and execute instructions (such as from the data storage component436and/or the memory component140). The input/output hardware432may 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 hardware434may 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. 4are merely exemplary and are not intended to limit the scope of this disclosure. While the components inFIG. 4are 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. 4is illustrated as a single device, this is also merely an example. In some embodiments, the traction logic444a, the steering logic444b, the hoist logic444c, and/or the accessory logic444dmay reside on different devices. Additionally, while the VCM112is illustrated with the traction logic444a, the steering logic444b, the hoist logic444c, and the accessory logic444das 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, the NCM114, the navigation system102, and the remote computing device104may include similar components and logic as depicted for the VCM112inFIG. 4to perform the functionality described herein.

It also should be understood that the VCM112may communicate with the NCM114via the navigation control interface116to coordinate the various conditions of manual operation and automatic operation of the vehicle106. As such, Tables 1-8 below represent examples of data that may be sent from the VCM112to the NCM114.

As illustrated in Table 1, the VCM112may communicate vehicle data directly with NCM114via the navigation control interface116(FIG. 1). Accordingly, the VCM112may include a data packet or stream that includes a plurality of bytes of data (e.g., 4, 8, 16, 32 bytes, etc.). In the example of Table 1, the data is structured as an 8 byte communication, where the byte 0 and byte 1 provide a vehicle identifier. Byte 2 may be utilized for providing a vehicle state. As an example, initialization may be identified as a first vehicle state, with standby, manual, auto as additional vehicle states. If there is error in the vehicle state, a byte configuration may be allocated for such an occurrence.

Similarly, bytes 3 and 4 may be utilized for a vehicle status. As an example, bit0may be utilized for a state of the MSS302(manual/auto). Bit1may be utilized to identify a brake switch state of BRS1(on/off). Bit2may be utilized to identify the ED1contactor state (open/closed). Bit3may be utilized to identify a state of the manual contactor305. Similarly, byte 4 is utilized for identifying a functional mode, such as a traction mode, steering mode, hoist mode, and accessory mode. Bits4-7may be utilized for up to 15 different error codes. Byte 5 may be used as a freshness counter, while bytes 6 and 7 may be utilized to identify the load weight on the fork.

As illustrated, Table 2 identifies traction data that may be sent from the VCM112to the NCM114via the navigation control interface116. Specifically, the purpose of the message in Table 2 is traction speed feedback and vehicle limits. Again, while Table 2 indicates that the data is sent as an 8 byte message, this is merely an example. Regardless, Table 2 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 3 includes steering data that is sent from the VCM112to the NCM114via the navigation control interface116. Specifically, bytes 0 and 1 may be utilized to provide current wheel angle feedback of the vehicle. Bytes 2 and 3 may be utilized to identify a counterclockwise wheel angle limit. Bytes 4 and 5 may be utilized to identify a clockwise wheel angle limit. Bytes 6 and 7 may be utilized to identify a wheel angle rate limit of rotation.

Table 4 includes hoist data that may be communicated by the VCM112to the NCM114via the navigation control interface116. 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 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.

Table 5 includes vehicle accessory data that may be communicated by the VCM112to the NCM114via the navigation control interface116. Specifically, bytes 0 and 1 may be utilized to identify a position of an accessory of 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.

Table 6 includes vehicle accessory data that may be communicated by the VCM112to the NCM114via the navigation control interface116. Specifically, the date in table 6 is related to a second accessory on the vehicle106. Accordingly, bytes 0 and 1 may be utilized to identify a position of an accessory of the vehicle106. Bytes 2 and 3 may be utilized to identify an accessory upper limit of the accessory. 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.

Table 7 includes additional vehicle accessory data that may be communicated by the VCM112to the NCM114via the navigation control interface116. Specifically, bytes 0 and 1 may be utilized to identify a position of an accessory of the vehicle106. Bytes 2 and 3 may be utilized to identify an accessory upper limit of the accessory. 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.

Table 8 includes additional vehicle accessory data that may be communicated by the VCM112to the NCM114via the navigation control interface116. Specifically, bytes 0 and 1 may be utilized to identify a position of an accessory of the vehicle106. Bytes 2 and 3 may be utilized to identify an accessory upper limit of the accessory. 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.

Similarly Tables 9-16 represent data that may be sent from the NCM114to the VCM112. While the communications from the VCM112to the NCM114, depicted in Tables 1-8 may be utilized to report vehicle conditions and/or limits, the communications from the NCM114to the VCM112(in at least some embodiments) include control commands to control the vehicle in automatic mode. In such embodiments, the NCM114may determine an automatic control function, such as an acceleration, turn, fork extension, etc., and may communicate this command to the VCM112. The VCM112may then send a command to the appropriate power component, such as the TCM309, SCM312, etc., which may then send a power signal to a motor for implementing the desired automatic control function. Accordingly the data in Tables 9-16.

Table 9 includes system data that may be communicated by the NCM114to the VCM112via the navigation control interface116. Specifically, bytes 0 and 1 may be utilized to provide the system identifier data. Byte 2 may be utilized to identify a navigation system state, which is a vehicle state as understood by the navigation system102. Specifically, the vehicle106may be operating in a state, such as initialization, standby, manual, auto, etc. Additionally, the navigation system102and/or NCM114may also store the current state of the vehicle106. Thus, the NCM114may send the vehicle106state as stored by the navigation system102to the VCM112so that the data may be compared, updated, and/or correlated. Similarly, bytes 3 and 4 may be utilized to identify a navigation system status. Specifically, bytes 3 and 4 may be utilized to identify a state of the MSS302, a brake switch state of the BRS1, and/or an automatic contactor state of the automatic contactor318(FIG. 3). Byte 3 may be utilized for error codes. Byte 4 may be utilized to identify a functional mode for the vehicle106, such as traction mode, steer mode, hoist mode, and accessory mode. Byte 5 may be utilized to provide a freshness counter. Byte 6 may be utilized to indicate a current braking status for the vehicle106.

Table 10 identifies traction command data that may be sent from the NCM114to the VCM112via the navigation control interface116. Specifically, the purpose of the message in Table 10 is to provide traction commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send a traction command with bytes 0 and 1. The NCM114may send a traction P gain with bytes 2 and 3. The NCM114may send a traction I gain in bytes 4 and 5.

Similar to Table 10, Table 11 identifies commands that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle in operating in automatic mode. The purpose of the message in Table 11 is to provide wheel angle commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send a wheel angle command with bytes 0 and 1. The NCM114may send a wheel angle P gain with bytes 2 and 3. The NCM114may send a wheel angle I gain in bytes 4 and 5.

As illustrated, Table 12 identifies hoist command data that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle in operating in automatic mode. The purpose of the message in Table 12 is to provide hoist commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send a hoist command with bytes 0 and 1. The NCM114may send a hoist P gain with bytes 2 and 3. The NCM114may send a hoist I gain in bytes 4 and 5.

As illustrated, Table 13 identifies accessory command data that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle in operating in automatic mode. The purpose of the message in Table 13 is to provide accessory commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send an accessory command with bytes 0 and 1. The NCM114may send an accessory P gain with bytes 2 and 3. The NCM114may send an accessory I gain in bytes 4 and 5.

As illustrated, Table 14 identifies accessory command data for a second accessory on the vehicle106that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle in operating in automatic mode. The purpose of the message in Table 14 is to provide accessory commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send an accessory command with bytes 0 and 1. The NCM114may send an accessory P gain with bytes 2 and 3. The NCM114may send an accessory I gain in bytes 4 and 5.

As illustrated, Table 15 identifies accessory command data for a third accessory on the vehicle106that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle is operating in automatic mode. The purpose of the message in Table 15 is to provide accessory commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send an accessory command with bytes 0 and 1. The NCM114may send an accessory P gain with bytes 2 and 3. The NCM114may send an accessory I gain in bytes 4 and 5.

As illustrated, Table 16 identifies accessory command data for a fourth accessory on the vehicle106that may be sent from the NCM114to the VCM112via the navigation control interface116when the vehicle in operating in automatic mode. The purpose of the message in Table 16 is to provide accessory commands to the VCM112when the vehicle106is operating in automatic mode. Accordingly, the NCM114may send an accessory command with bytes 0 and 1. The NCM114may send an accessory P gain with bytes 2 and 3. The NCM114may send an accessory I gain in bytes 4 and 5.

As illustrated in Table 17, depending on the type of vehicle and thus the accessories on that vehicle, the functions may change. As an example, if the vehicle106is a first type, the accessory functions may include a reach, tilt, and side shift. If the vehicle106is a second type, the accessory functions may include traverse, pivot, extend/tilt/position, and auxiliary mast. If the vehicle106is a third type, the accessory functions may include tilt, side shift, clamp, and tip. Accessories on vehicles106of a fourth type may include other functions.