Automation relies on machines to perform tasks such as transporting items between locations in a warehouse, assembling or manufacturing products, sorting items, packaging items, removing items from packaging, and the like. The machines may be controlled using wireless signals from a controller. Bandwidth becomes limited as more and more machines which rely on wireless control are spaced closer together. For example, to reduce the amount of occupied floor space (e.g., the footprint), a manufacturer or distributor may space the wirelessly controlled machines such that the wireless signals transmitted for controlling one machine can interfere with the wireless signals transmitted to another, neighboring machine.
To mitigate interference, the wireless signals transmitted to one machine may use a different wavelength (or range of wavelengths) than the wireless signals transmitted to another machine. In this manner, the machines can be allocated different portions of the bandwidth using non-interfering wireless signals. However, as the density of machines increases, the amount of bandwidth (e.g., the available wavelengths) becomes limited. Because of bandwidth constraints, the same wavelengths may be used to transmit controls to two different machines. If the signals transmitted to one of the machines reach the other machine, the signals can cause interference which prevents that machine from reliable receiving the wireless signals intended for it.
Various embodiments in accordance with the present disclosure will be described with reference to the drawings, where like designations denote like elements.
Embodiments herein describe wireless transmission techniques for mitigating interference between wirelessly controlled machines in a shared space—e.g., a warehouse or plant. As the density of the machines increases, the demand for bandwidth may also increase. For example, many wireless communication standards—e.g., IEEE 802.11a/b/g/n/ac/ad—provide different channels for allocating bandwidth within their defined frequency band (e.g., 2.4 GHz, 5 GHz, or 60 GHz). That is, the different channels may correspond to a different wavelength or range of wavelengths in the frequency band. For example, each channel in the 2.4 GHz frequency band is 20 MHz wide. Machines that use different channels in the frequency band can generally communicate without interfering with each other (although some portions of the channels may be overlapping). However, wireless signals in the 2.4 GHz and 5 GHz frequency bands can travel up to 100 feet. Moreover, different machines may require multiple channels to operate. If the channels have to be re-used (e.g., different machines use the same channels to communicate) and the machines are not spread far enough apart, then the wireless signals can interfere with each other and prevent the corresponding machines from reliably receiving the signals. However, spreading out the machines to prevent interference means that more floor space (e.g., a bigger footprint) is required to operate the machines which may increase costs. The wireless techniques described herein permit the machine density to be increased while mitigating the likelihood the wireless signals intended for one machine interfere with another machine.
Many machines use a heartbeat signal (e.g., a continuous signal) as an emergency stop (E-stop) signal to stop the machines in case of an emergency. The heartbeat signal also requires bandwidth in the frequency band (although the bandwidth may be smaller than the bandwidth use to transmit operational commands to the machines). In one embodiment, the heartbeat signal is assigned to a first frequency band while the operational commands are assigned to a second frequency band. For example, the heartbeat signal may be assigned to the 2.4 GHz band while the operational commands are transmitted on the 5 GHz band (or vice versa). To mitigate interference between neighboring machines, the machines may be assigned different channels within the same frequency band. For example, Machine A is assigned Channel 1, Machine B is assigned Channel 2, and so forth. However, there are a limited number of channels in each frequency band and some machines may require multiple channels further restricting the bandwidth. Thus, the channels may have to be reused which can result in interference if the machines are within wireless range of each other. For example, wireless signals for IEEE 802.11a/b/g/n/ac have a range up to approximately 100 feet. If machines using the same channel in one of these IEEE frequency bands are within 100 feet of each other, the wireless signals can interfere.
In one embodiment, time multiplexing is used to mitigate interference. The machines can all use the same channel (or channels) but at different times. For example, Machine A may use the channel during a first time slot, Machine B uses the channel during a second time slot, Machine C during a third time slot, and so forth. Because only one machine is using the channel at a time, the signals cannot interfere. However, this reduces the amount of data that can be transmitted to the machines since they receive/transmit signal only during their time slot. However, multiple channels in the 2.4 of 5 GHz bands could be used to send data which can increase the bandwidth, or the machines may use a higher bandwidth frequency band such as IEEE 802.11ad which has a 60 GHz frequency band.
In one embodiment, a directional antenna can be used to mitigate interference between machines. The directional antenna can be positioned to focus the wireless signals (i.e., the antenna's radiation pattern) into an area that includes only one machine which may mitigate the amount of wireless signals that propagate in a direction away from the machine. As such, the machines can be spaced closer or permit the machines to use the same channels to transmit data with little or no interference. In another example, antenna diversity and multiple-input-multiple output (MIMO) can be used to further focus the radiation pattern onto the desired machine while not transmitting wireless signals to neighboring machines.
In one embodiment, the machines may use dual-channels to transmit and receive data. That is, a controller may transmit the same data using two channels in the same frequency band to the machine. Even if a neighboring machine is using the same channels at the same time, the likelihood the wireless signals for a neighboring machine will interfere with both channels is low. To further decrease the risk of interference, antenna diversity and MIMO can be used to reduce the likelihood the wireless signals propagate between neighboring machines.
The sortation machine 100 includes a master control system 105, a feeder 130, a robot area 135, and a distribution system 170. The master control system 105 provides the wireless control signals using a master controller 110 and antenna 120 (e.g., a transmit antenna) which control the actions of the robots 140 in the robot area 135. For example, the master control system 105 may wirelessly send move commands, pick-up commands, drop commands, stop commands, and the like which control how the robots 140 move themselves, and the item 125, in the robot area 135. The master control system 105 also includes a heartbeat controller 115 which uses the antennas 120 to transmit a wireless heartbeat (or E-stop) signal to the robots 140. In one embodiment, the robots 140 perform the commands received from the master controller 110 only as long as the heartbeat signal is received. That is, if the heartbeat controller 115 stops sending the heartbeat signal, the robots immediately stop (e.g., within a few millisecond) their current task. In one embodiment, the heartbeat signal is used to stop the robots 140 in the case of an emergency or a malfunction. Because the robots 140 could hurt a human near the machine 100 or damage the machine 100 during a malfunction, once an emergency is detected, the heartbeat controller 115 can deactivate the heartbeat signal which immediately stops the robots 140 to prevent harm to a human operator or the machine 100 itself. The heartbeat controller 115 may deactivate the heartbeat signal in response to a human operator pressing an emergency button, detecting a malfunctioning robot 140, sensor information (e.g., a vibration sensor), and the like. Once the emergency is handled, the heartbeat controller 115 can resume transmitting the heartbeat signal which indicates to the robots 140 they can begin to perform the commands received from the master controller 110.
In one embodiment, the master controller 110 and the heartbeat controller 115 include processors or micro-controllers. The master controller 110 and the heartbeat controller 115 can include solely hardware and firmware or can include combinations of hardware and software elements. Although not shown, the control system 105 can include master controllers 110 for multiple different machines 100. For example, the control system 105 can refer to multiple independently operating master controllers 110 for controlling respective machines 100, synchronized master controllers 110, or a single master controller 110 which controls multiple different machines 100.
The feeder 130 is a structure that moves the item 125 into the robot area 135. For example, the robot area 135 may be an enclosure that establishes an area where the robots 140 move. The feeder 130 may be a chute which slides the item 125 into a receiving area in the robot area 135, a conveyor belt which moves the packages into the area 135, or a container in which a human places the items 125. In any case, the robots 140 can retrieve the item 125 once the item 125 arrives in the robot area 135 and use the commands received from the master control system 105 to move the item to the distribution system 170 where the item is stored in one of the containers 180.
The machine 100 can include any number of robots 140, e.g., one, two, three, four, etc. As shown, each robot 140 includes a transport device 145, a movement system 150, a power source 155, a controller 160, and at least one antenna 165. The transport device 145 permits the robot 140 to carry the item 125 to different locations in the robot area 135. For example, the robot area 135 may be a fenced off enclosure on the warehouse floor or a frame which includes tracks which the robots 140 can follow. The robots 140 can move along the floor and/or vertically using the frame. In another example, a portion of the robots 140 (or the entire robot) may remain stationary in the robot area 135. For instance, the base of the robot 140 may be anchored while an extension of the robot (e.g., a robotic arm) can move to pick up the items 125 and move them to different locations. The transport device 145 may include a claw or suction cup for lifting or picking the item 125. In another example, the transport device 145 may be a conveyor that receives the item 125 from a conveyor belt in the feeder 130. In another embodiment, the transport device 145 may be a bin in which the feeder 130 places the item 125.
The movement system 150 may move the entire robot 140 or a portion of the robot 140 within the robot area 135. For example, the movement system 150 may include wheels or bearings which permit the robot 140 to move along the floor or along tracks. In another example, the movement system 150 includes an arm attached to the transport device 145 to move the item 125. For example, the robot area 135 may include a central conveyor belt that moves received items 125 past the robots 140. The master controller 110 can instruct a selected one of the robots 140 to pick up the item 125 as it passes using the movement system 150 and the transport device 145 to place the item 125 into the distribution system 170.
The power source 155 in the robots 140 can be a battery or a capacitor. For example, the robots 140 may move relative short distances (e.g., less than 50 feet) before they return to recharge. In that case, the charge on a large capacitor (or capacitors) can be sufficient to move the robot 140 before the robot 140 returns to a charging station or rail to recharge the capacitor. The advantage of using a capacitor as the power source 155 is that it can provide high currents and recharge in a shorter time than a battery, although either is acceptable. In another example, if the entire robot 140 does not move within the robot area 135, then the robot can be connected to a power grid (e.g., plugged into a power outlet) where the power source 155 can be a power converter.
The controller 160 can be a processor or a micro-controller which receives commands from the master controller 110 using the antenna 165 and issues corresponding commands to the transport device 145 and movement system 150. For example, if the master controller 110 instructs the robot 140 to move the item 125 to a particular location in the robot area 135, the controller 160 in turn issues one or more commands to the movement system 150 to move the robot to the desired location. In one embodiment, in addition to receiving information from the master controller 110, the controller 160 can transmit information to the master controller 110. For example, the controller 160 may use the antenna 165 to inform the master controller 110 when a command has been completed successfully. The controller 160 may send other information wirelessly to the master controller 110 such as the charge on the power source 155, status of the transport device 145 or movement system 150 (if there is a malfunction or needs repair), if the item 125 was dropped, and the like. In one embodiment, the controller 110 may be entirely hardware, but in other embodiments may include a combination of hardware/firmware and software.
In one embodiment, the distribution system 170 receives the item 125 from the robot 140 and places the item 125 in one of the containers 180. The distribution system 170 may be multiple access apertures (e.g., a filing system) with corresponding chutes that lead to the containers 180. Using the transport devices 145, the robots 140 can move the items 125 through the apertures in the distribution system 170 and into the containers 180. In another example, the distribution system 170 may include fasteners or platforms for coupling the containers 180 to the distribution system 170. For instance, distribution system may form a rack on which the containers 180 are mounted. The robots 140 can travel to the portion of the rack that stores the corresponding container 180 for the package and place the item 125 into the container 180.
In one embodiment, the containers 180 are assigned different destinations either within the warehouse or to an external location (e.g., a different warehouse or mailing code). Moreover, the containers 180 may correspond to different shipping companies. In one embodiment, the master controller 110 knows the desired destination of the items 125, which may be determined by scanning a bar code or reading an RFID tag on the item 125 when in the feeder 130. The master controller 110 can then provide instructions to the robots 140 to move the item 125 to the appropriate location in distribution system 170 such that the item 125 is stowed in the container 180 corresponding to its destination. In this manner, the item-sortation machine 100 can provide wireless commands to the robots 140 for sorting received items 125 into the containers 180.
At block 205, the master controller determines instructions for a robot to move an item to a desired location. For example, the master controller may instruct the robot to pick up an item, move the item (or itself) to a different location, drop of the item, transfer the item to another robot, and the like. As used herein, the wireless command can include any command sent from the master controller to the robot to control the actions of the robot.
At block 210, the master controller wirelessly transmits the instruction to the robot. The master controller may transmit the instruction to a transmitter in the control system which uses on or more antennas to transmit commands to receivers in the robots. The transmitter in the control system can use various wireless transmission algorithms such as antenna diversity and MIMO to mitigate interference between neighboring machines.
At block 215, the heartbeat controller determines whether an E-stop has been triggered. For example, the machine (or the surrounding area) may include emergency stop buttons that can be pressed by a human operator in case of an emergency or malfunction. For example, if the operator needs to retrieve a dropped package or notices a malfunctioning robot, the operation can press the emergency button which triggers the E-stop. In another embodiment, the heartbeat controller triggers the E-stop without human input. The heartbeat controller may monitor sensors in the machine or receive periodic or emergency status updates for the robots. Using this information, the heartbeat controller can determine to trigger the E-stop.
If the E-stop is triggered, the method 200 proceeds to block 220 where the heartbeat controller ceases transmitting the heartbeat signal. In one embodiment, the heartbeat signal is a continuous signal with a predictable pattern such as a sine wave, a square wave, or a periodic pulse. In one example, the robots 140 may not receive commands using the heartbeat signal but rather monitor the signal to make sure they can continue to operate. Stated differently, the heartbeat signal may not transmit digital data to the robots but instead provides a deactivation signal for stopping the robots. As such, when the heartbeat controller stops transmitting the heartbeat signal at block 220, the controller in the robot may immediately stop the robot from moving (if currently moving) and prevent the robot from carrying out any commands that may be received from the master controller. In one embodiment, the controller in the robot may put the robots in a passive state so that the robots can be easily moved by the operator (in case the robot has malfunctioned or needs to be moved to address a safety concern or to retrieve a fallen item).
To improve safety, it may be desired that robots stop immediately when the heartbeat signal stops (e.g., less than a second and preferably less than a few milliseconds). As such, the embodiments herein describe techniques for mitigate interference that may occur from wireless signals transmitted by neighboring machines in a shared area. For example, separate heartbeat signals may be transmitted to neighboring machines. If those heartbeat signals reach both machines, then they can interfere with each other such that the robots may incorrectly determine that the heartbeat signal has ceased and stop its current action. Alternatively, if the E-stop is triggered for one of the machines, the robots in that machine may still receive the heartbeat signal intended for a neighboring machine and continue to operate which can lead to an unsafe situation.
If at block 225 the heartbeat controller determines the problem which triggered the E-stop is resolved, the method proceeds to block 230 where the heartbeat controller resumes transmitting the heartbeat signal and the master controller can resume normal control and operation of the robots in the machine. However, if the problem has not been resolved, the absence of the heartbeat signal keeps the machine in a shutdown state.
Returning to block 215, if the E-stop has not been triggered, the robot performs the command so long as the heartbeat signal is received. That is, in addition to checking that the heartbeat signal is active when a new command is received at the robot, the controller in the robot may continue to perform the action or actions indicated in the command only as long as the heartbeat signal remains active. For example, the controller may have a separate detection system which continually monitors the heartbeat signal to detect when the signal stops. In response, the detection system transmits an interrupt or override signal which stops the other functions in the controller. So long as the heartbeat signal remains active, the method 200 can repeat with the robots in the machine receiving new instructions or commands from the master controller and performing those commands.
Each of the antennas 120 have a corresponding radiation pattern 305 which graphically represent the distance the wireless signals travel within the shared space 300. For the 2.4 GHz frequency band which is defined by IEEE 802.11b/g/n standards and the 5 GHz frequency band which is defined by IEEE 802.11a/h/j/n/ac standards, the signals may propagate up to 100 feet. Thus, given the circular radiation pattern shown in
To prevent or mitigate interference between the machines, in this embodiment, the heartbeat signals are assigned to a different frequency band than the command signals. For example, the heartbeat signal may be transmitted on the 2.4 GHz frequency band while the command signals used to control the machines 100 are transmitted on the 5 GHz frequency band (or vice versa). In this manner, interference between the heartbeat signal and the command signals are mitigated. However, as shown by the radiation pattern 305A, the heartbeat or commands signals transmitted by the antenna 120A can reach the machine 100B which means the wireless signals for controlling the machine 100A can cause interference at the machine 100B. To mitigate this intra-band interference, the wireless signals can be assigned to different channels within the frequency band. For example, the command signals transmitted to machine 100A use Channel 1 in Frequency Band 1, the command signals transmitted to machine 100B use Channel 2 in Frequency Band 1, the command signals transmitted to machine 100C use Channel 3 in Frequency Band 1, and so forth. Similarly, the heartbeat signals transmitted to machine 100A can use Channel 1 in Frequency Band 2, the heartbeat signals transmitted to machine 100B use Channel 2 in Frequency Band 2, the heartbeat signals transmitted to machine 100C use Channel 3 in Frequency Band 2, and so forth. In this manner the command signals are allocated different portions of the bandwidth in Frequency Band 1 while the heartbeat signals are allocated different portions of the bandwidth in Frequency Band 2. The antennas 120 assigned to transmit the command and heartbeat signals for the machines 100A-D can transmit these signals in parallel with little or no interference despite the overlapping radiation patterns 305.
In one embodiment, the heartbeat signal is assigned to use the frequency band that has the least amount of bandwidth between the two frequency bands (e.g., the fewest number of channels). That is, because the heartbeat signal may not transmit data but rather a continuous signal, it may have more flexible bandwidth requirements than the command signals, and use less bandwidth. Moreover, instead of assigning a separate channel for each machine 100 for the heartbeat signal, multiple machines 100 may use the same heartbeat signal. For example, if there are not enough channels in the frequency band for each machine 100 to have its own channel for transmitting the heartbeat signal, multiple machines may use the same channel to receive the heartbeat. Thus, if any one of the machines in the group trigger an E-stop, all of the machines 100 in the group stop. Stopping all the machines in the group may be acceptable so that a machine does not continue to operate even though an E-stop was triggered because a neighboring machine 100 within wireless range uses the same channel to transmit its heartbeat signal. By grouping the machines to use the same heartbeat signal so that the channels are not reused by different heartbeat controllers, the operator can ensure that a machine (which triggered an E-stop) does not inadvertently receive a heartbeat signal on the same channel intended for a different machine.
If the distances (d) between the machines 100 shrinks and additional machines 100 are added to the shared space, there may not be enough pre-defined channels in the frequency bands to assign unique channels to each of the machines as shown in
In
In one embodiment, the heartbeat signal is time multiplexed in the same manner as shown in
In
In one embodiment, multiple antennas may transmit command signals simultaneously in the shared space 300. For example, each machine 100 may not use all the channels to transmit data during its timeslot. As such, a neighboring machine may use the remaining channel to transmit data during the same timeslot. For example, the machine 100A may use Channels 1-5 during Timeslot 1 to transmit command signals in parallel with the machine 100D using Channels 6-10 to transmit command signals. Because the machines 100 use different channels, there is little or no interference. Of course, if two machines are sufficient far away in the shared space 300 such that the signals transmitted by one machine cannot interfere with the signals received by the other machine, then both machines can transmit command signals using the same channel or channels. The operator may identify which machines 100 in the shared space 300 are sufficiently far away from a selected machine (e.g., machine 100A or 100B) such that there is no interference, and then determine which machines can use the same timeslot to transmit wireless signals using the same channel as the selected machine.
In one embodiment, the master controllers for each of the machines 100 are synchronized so that each controller knows when to transmit the command signals. For example, the master controllers for the machines 100A-D may share the same clock signal or periodically transmit synchronization signals to each other to ensure that two of the antennas 120 are not transmitting on the same channel in parallel. For example, once the machine 100A determines its timeslot has expired, it can notify the master controller for the machine 100B to begin its timeslot. In another embodiment, instead of having separate master controllers for each machine 100, there is one master controller for all the machines 100 which can manage the timeslots for the machines 100.
In
Of course, if the distances d1 and d2 are shrunk further, the radiation pattern 505A may also overlap with the machine 100C which can cause interference. As such, the machine 100C may be assigned to communicate using Channel 3 to mitigate interference. Moreover, the machine 100D could use Channel 1 since it may be outside the radiation pattern 505A used by the machine 100A. In another example, as the distance d2 increases (or the directional antenna 510A has a sufficiently narrow radiation pattern 505A), all of the machines 100 can use the same channel (or group of channels) so long as the radiation patterns 505 do not overlap with the directly neighboring machines 100.
In
In one embodiment, the antenna groups 610 use antenna diversity and MIMO. Doing so provides the master controllers for the machines 100 with more control of the radiation patterns 605 corresponding to the antenna groups 610. In one embodiment, in addition to having multiple antennas for transmitting the command signals, each robot in the machines 100 includes multiple receive antennas for receiving the command signals. For example, MIMO uses multiple transmit and receive antennas to exploit multipath propagation in the shared space 600. Using precoding (or beamforming), the master controller uses the antenna group 610 to cause constructive interference of the signals emitted by the antennas at a particular location within the machines 100. That is, the master controller can increase the received signal at a robot by making signals emitted from the different antennas to add up constructively and to reduce the effect of multipath fading. Thus, MIMO permits the master controller to further control the radiation pattern 605 to reduce interference between the neighboring machines 100. In
Using MIMO and antenna diversity can permit the machines 100 to be spaced closer together than, for example, using the omnidirectional antennas 120 shown in
Further, the antennas in the antenna groups 610 may be directional antennas. That is, the use of directional antennas can be combined with antenna diversity and MIMO in order to further reduce the radiation patterns 605 and mitigate or prevent interference between the machines 100.
The heartbeat signal 615 may be assigned to the same frequency band used by the command signals (e.g., Frequency Band 1) or a different frequency band (e.g., Frequency Band 2). If the heartbeat signal 615 is also transmitted using an antenna group implementing antenna diversity and MIMO, then the heartbeat signals 615 can be assigned using a similar scheme as the command signals shown in
Instead of using directional antennas, antenna diversity, or MIMO, the radiation patterns 705 can be limited or controlled by the transmission power of the repeaters 710 or by using a frequency band with a limited transmission range (or a combination of both). For example, depending on the distance between the machines 100, the operator can reduce the transmission power of the repeaters 710 to ensure the radiation patterns 705 do not overlap a neighboring machine 100. As the distance between the machines 100 shrink, the operator may also reduce the transmission power to prevent interference. However, the operator may have to install additional repeaters 710 to cover the layout of the machines 100. For example, after reducing the radiation patterns 705, there may be dead spots (e.g., portions of the machine 100 that are not within any radiation pattern 705 of a repeater 710). As a result, the operator may need to space the repeaters 710 closer together along the length of the machines 100 and add another repeater 710 to remove the dead spot.
In another example, the repeaters 710 may operate in a frequency band with a smaller range than the 2.4 GHz and 5 GHz frequency bands. For example, the 60 GHz frequency band has a much smaller transmission distance than the 2.4 GHz and 5 GHz frequency bands. Thus, the repeaters 710 may transmit command signals using the 60 GHz frequency band which enables the machines 100 to be spaced closer together relative to using slower frequency bands. Moreover, in addition to transmitting in a faster frequency band (which has a shorter transmission distance), the operator can also reduce the transmission power of the repeaters 710 to further control the radiation patterns 705. In one embodiment, the repeaters 710 are directional antennas rather than omnidirectional antennas as shown in
The heartbeat signal 715 may be assigned to the same frequency band used by the command signals (e.g., Frequency Band 1) or a different frequency band (e.g., Frequency Band 2). In one embodiment, each machine 100 includes a second set of repeaters 710 for transmitting an individually controllable heartbeat signal 715 for each machine which generates little or no interference with neighboring machines 100. In other embodiments, the heartbeat signal 715 is transmitted using a single antenna (e.g., without MIMO) in which case heartbeat signal 715 may be assigned different channels for the machines 100 to mitigate interference, or the signal 615 may be transmitted on the same channel and shared by multiple machines 100.
Although the antenna pairs do not interfere with each other, the transmitted signals can interfere with neighboring machines as shown by the overlapping radiation patterns 805. That is, the command signals transmitted by the antennas 810A and 810C on the machines 100A and 100B may interfere since both antennas use Channel 1 to communicate and have radiation patterns 805 that extend to neighboring machines 100. Stated differently, the wireless signals emitted by the antenna 810A can be received by the robots in the machine 100B at the same time those robots are receiving command signals transmitted by the antenna 810C. The interference from the antenna 810A can prevent the robots in the machine 100B from receiving the commands emitted by the antenna 810C. However, because the master controller can send identical data (e.g., the same command signals) on both of the antennas 810C and 810D in the machine 100B using two different channels, the controller can reduce the likelihood that interference from a neighboring antennas prevent the robots from receiving the commands. In one embodiment, the distance between the machines 100 is controlled that it is unlikely that interference emitted by neighboring antennas prevent the robots from receiving the commands emitted by the pair of antennas for that machine 100. For example, the IEEE 802.11ad standard permits a receiver to select the best beam forming link from a two-channel receiver (with two antennas) depending on which channel signal path link has better performance. Thus, if Channel 1 is currently receiving a lot of interference, the receiver on the robots can receive the command signals using Channel 2. In this manner, the operator can re-use channels in neighboring machines 100 thereby freeing up available bandwidth while mitigating the likelihood that interference from neighboring antennas using the same channels prevents the robots from receiving command signals from at least one of the antennas assigned to the machine 100.
The heartbeat signal 815 may be assigned to the same frequency band used by the command signals (e.g., Frequency Band 1) or a different frequency band (e.g., Frequency Band 2). In one embodiment, each machine 100 includes a second set of antenna pairs for transmitting an individually controllable heartbeat signal 815 for each machine which generates little or no interference with neighboring machines 100. For example, each machine 100 may include two antennas for transmitting the heartbeat signal 815 on Frequency Band 2 using two different channels. The receivers in the robots can then select which of the channels provides the best version of the heartbeat signal. Thus, when a neighboring machine (which uses the same two channels to transmit its heartbeat signal 815) introduces interference on one of the channels, the receivers can receive the heartbeat signal using the other channel. While
Moreover, because each antenna group 910 includes multiple antennas, the groups 910 can use antenna diversity and MIMO to reduce inter-machine interference. As shown, the radiation patterns 905 corresponding to each of the antenna groups 910 are not omnidirectional like the radiation patterns 805 in
The heartbeat signal 915 may be assigned to the same frequency band used by the command signals (e.g., Frequency Band 1) or a different frequency band (e.g., Frequency Band 2). In one embodiment, each machine 100 includes a second set or pair of antenna groups 910 for transmitting an individually controllable heartbeat signal 915 for each machine which generates little or no interference with neighboring machines 100. For example, each machine 100 may include four antennas arranged in two new antenna groups 910 for transmitting the heartbeat signal 915 on Frequency Band 2 using two different channels. The receivers in the robots can then select which of the channels provides the best version of the heartbeat signal. Thus, when a neighboring machine (which uses the same two channels to transmit its heartbeat signal 915) introduces interference on one of the channels, the receivers can receive the heartbeat signal using the other channel. While
Except as otherwise stated, the frequency bands discussed above can be interchanged. For example, the frequency bands can be the 2.4 GHz, 5 Ghz, 60 GHz, or other frequency bands. Moreover, the selection of the frequency bands for the embodiments described above can depend on the desired spacing or distance between the machines. For example, as distance between the machines 100 is reduced or available bandwidth on the 2.4 GHz or 5 GHz frequency bands is reduced, the command signals may be transmitted using the 60 GHz frequency band while the heartbeat signal is transmitted on a different frequency band.
At block 1015, the wirelessly controlled machine operates in response to the received command so long as the heartbeat signal is received. Put differently, if the heartbeat control stops transmitting the heartbeat signal, the wireless controlled machine stops performing the received commands. Once the heartbeat signals resumes, the wireless controlled machine can again resume performing the commands received from the master controller.
At block 1115, the wirelessly controlled machine selects the commands received on the channel with the best signal characteristic. For example, the machine may select the data from the channel that has the most gain or the best signal to noise ratio. In one embodiment, when using the 60 GHz frequency band, the technique for selecting which of the channels to use is described in IEEE 802.11ad for selecting the best beam forming link from a two-channel receiver depending on which channel signal path link has better performance or signal characteristics.
Referring now to
The cars 1305 travel along a track 1230 to the sort locations. The track has a horizontal upper rail 1235 and a horizontal lower rail 1250, which operates as a return leg. A number of parallel vertical track legs extend between the upper rail 1235 and the lower return rail 1250. In the present instance, the bins 1245 are arranged in columns between the vertical track legs.
After a piece is loaded onto a car, the car travels upwardly along two pairs of vertical tracks legs and then horizontally along two upper tracks 1235. The car 1305 travels along the upper rail until it reaches the appropriate column containing the bin for the piece that the car is carrying. The track 1230 may include gates to direct the car 1305 down the vertical legs where the car stops at the appropriate bin. The car 1305 then discharges the piece into the bin using a transport device or system.
After discharging the piece, the car 1305 continues down the vertical legs of the column until it reaches the lower rail 1250 which the car follows until returning to the loading station 1255 to receive another item.
The cars 1305 are semi-autonomous vehicles that each have an onboard power source (e.g., power source 155) and an onboard motor (e.g., a movement system 150) to drive the cars along the track 1230. The cars also include a loading/unloading mechanism (e.g., the transport device 145), such as a conveyor, for loading pieces onto the cars and discharging the pieces from the cars.
Since the system 1200 includes a number of cars 1305, the positioning of the cars is controlled to ensure that the different cars do not crash into each other. In one embodiment, the system 1200 uses a master controller (e.g., the master controller 110 in control system 105) that tracks the position of each car 1305 and provides wireless commands to each car to control the progress of the cars along the track. The master controller may also control operation of the various elements along the track, such as the gates. Further, the control system may output a heartbeat signal, e.g., using a heartbeat controller 115. The cars 1305 perform the commands to move the pieces throughout the apparatus 1200 so long as the heartbeat signal is active as described above.
At the input station 1205, the mail pieces are separated from one another so that the pieces can be conveyed serially to the loading station 1255 to be loaded onto the cars 1305. Additionally, at the input station information is determined for each piece using, for example, a bar code scanner or a mailing address so that the piece can be sorted to the appropriate bin.
A variety of configurations may be used for the input station, including manual or automatic configurations or a combination of manual and automated features. In a manual system, the operator enters information for each piece and the system sorts the mail piece accordingly. In an automatic system, the input system includes elements that scan each mail piece and detect information regarding each piece. The system then sorts the mail piece according to the scanned information.
In an exemplary manual configuration, the input system includes a work station having a conveyor, an input device, and a monitor. The operator reads information from a mail piece and then drops the piece onto a conveyor that conveys the piece to the loading station 1255.
In an exemplary automatic configuration, the system includes an imaging station, having an imaging device such as a high speed line scanning camera. In one example, the imaging station scans a bar code on each mail piece to detect information regarding the destination for each piece. The system analyzes the image data to determine the destination information and then controls the cars to move the piece into a bin corresponding to the destination.
The conveyor 1215 conveys the mail piece to the loading station 1255 where it is loaded onto a car 1305.
The input station 1205 may be configured in a wide range of options. The options are not limited to those configurations described above, and may include additional features, such as an automated scale for weighing each piece, a labeler for selectively applying labels to the mail pieces and a printer for printing information on the mail pieces or on the labels.
In one embodiment, the system 1200 includes a plurality of input stations which may increase the feed rate of pieces. In addition, the input stations may be configured to process different types of items. In this way, each input station could be configured to efficiently process a particular category of items. For instance, if the system is configured to process documents, such as mail, one input station may be configured to process standard envelopes, while another input station may be configured to process larger mails, such as flats. Similarly, one input station may be configured to automatically process mail by scanning it and automatically determining the recipient. The second input station may be configured to process rejects, such as by manually keying in information regarding the recipient.
The system includes a sorting station 1240 which includes an array of bins 1245 for receiving the pieces. Additionally, the sorting station 1240 includes the track 1230 for guiding the cars 1305 to the bins 1245.
In one embodiment, during transport, the cars travel up a pair of vertical legs from the loading station 1255 to the upper rail 1235 (in one example, the cars actually travel up two pairs of rails because the track includes a forward track and a parallel opposing track). The car then travels along the upper rail until reaching the column having the appropriate bin. The car then travels downwardly along two front vertical posts and two parallel rear posts until reaching the appropriate bin, and then discharges the mail piece into the bin. The car then continues down the vertical legs until reaching the lower horizontal leg 1250. The car then follows the lower rail back toward the loading station.
As can be seen in
The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
In the preceding, reference is made to embodiments presented in this disclosure. However, the scope of the present disclosure is not limited to specific described embodiments. Instead, any combination of the described features and elements, whether related to different embodiments or not, is contemplated to implement and practice contemplated embodiments. Furthermore, although embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the preceding aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s).
As will be appreciated by one skilled in the art, the embodiments disclosed herein may be embodied as a system, method or computer program product. Accordingly, aspects may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be used to implement embodiments of the invention. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium is any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Aspects of the present disclosure are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments presented in this disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.