Patent Description:
Conveyance systems such as, for example, elevator systems, escalator systems, and moving walkways are typically only configured to carry human beings alone.

<CIT> describes an elevator system having an available area detection unit to detect an available area in a cage, and a riding possibility/impossibility determination unit to determine whether or not an autonomous mobile robot can get on the cage based on information on size and position of the available area detected by the available area detection unit. The autonomous mobile robot gets on the cage only when the riding possibility/impossibility determination unit determines that riding is possible.

<CIT> describes a method in which a target area is divided into a plurality of cells. A plurality of movement paths of mobile nodes are determined, each movement path comprising an origin cell and a target cell. The durations of the plurality of movement paths are determined for an elevator user. A route topology data structure is formed using the plurality of movement paths, the data structure comprising for a plurality of cells an estimated time to reach an elevator location. An elevator call in a request cell is determined by a requesting mobile node. The time to reach the elevator location is determined using the data structure and information on the request cell, and an elevator car is selected to serve the elevator call based on the time to reach the elevator location, current positions of at least two elevator cars, and current directions of the elevator cars.

According to a first aspect of the invention there is provided a method of controlling a first elevator system including a first elevator car as recited by claim <NUM>.

Further embodiments may include: determining that the first elevator system cannot accommodate the first elevator call; instructing the first robot to move to a second elevator system including a second elevator car; and transferring the first elevator call to the second elevator system.

Further embodiments may include: determining that the first elevator system cannot accommodate the first elevator call; instructing the first robot to move to a second elevator system including a second elevator car, the second elevator system serving the landing at a second elevator bank; and transferring the first elevator call to the second elevator system.

Further embodiments may include: determining that the first elevator system cannot accommodate the first elevator call; instructing the first robot to move to a second elevator system including a second elevator car, the second elevator system being located at a second elevator bank; instructing the first robot to move to the second elevator bank via stairs or an escalator; and transferring the first elevator call to the second elevator system.

Further embodiments may include: determining that the first elevator car can accommodate the first elevator call; and instructing the first elevator car to move to the landing.

Further embodiments may include: instructing the first robot to move to the first elevator bank; and instructing the first robot to enter the first elevator car.

Further embodiments may include: receiving a second elevator call from a second robot; determining that the first elevator car can accommodate the first elevator call and the second elevator call; and instructing the first elevator car to move to the landing.

Further embodiments may include: instructing the first robot to move to the first elevator bank; instructing the second robot to move to the first elevator bank; instructing the first robot to enter the first elevator car; and instructing the second robot to enter the first elevator car.

Further embodiments may include: receiving a second elevator call from an individual; obtaining a robot ride-share preference for the individual; and determining that the individual cannot ride with the first robot in response to the robot ride-share preference.

Further embodiments may include: instructing the first elevator car to move to the landing to pick up the individual; and instructing the first robot not to enter the first elevator car.

Further embodiments may include: instructing the first robot to wait at the first elevator bank.

Further embodiments may include: instructing the first robot to move to a second elevator system including a second elevator car, the second elevator system serving the landing at a second elevator bank; and transferring the first elevator call to the second elevator system.

Further embodiments may include: instructing the first robot to move to a second elevator system including a second elevator car, the second elevator system being located at a second elevator bank; instructing the first robot to move to the second elevator bank via stairs or an escalator; and transferring the first elevator call to the second elevator system.

Further embodiments may include: receiving a second elevator call from an individual; obtaining a robot ride-share preference for the individual; and determining that the individual can ride with the first robot in response to the robot ride-share preference.

Further embodiments may include: instructing the first elevator car to move to the landing to pick up the individual and the first robot; determining when the individual has entered the first elevator car; and instructing the first robot to enter the first elevator car after the individual has entered the first elevator car.

Further embodiments may include that the first elevator call includes a first call code and the method further includes: receiving a second elevator call from a second robot, the second elevator call including second call code; determining that the first call code is prioritized over the second call code; and instructing the first elevator car to move to the landing and pick up the first robot.

Further embodiments may include that the first elevator call includes a first call code and the method further includes: receiving a second elevator call from an individual, the second elevator call including second call code; determining that the first call code is prioritized over the second call code; and instructing the first elevator car to move to the landing and pick up the first robot.

Further embodiments may include that the first elevator call includes a first call code and the method further includes: receiving a second elevator call from an individual, the second elevator call including second call code; determining that the second call code is prioritized over the first call code; and instructing the first elevator car to move to the landing and pick up the individual.

Further embodiments may include: receiving a second elevator call from a second robot; grouping the first elevator call with the second elevator call so that the first robot and the second robot ride together; determining that the first elevator car can accommodate the first elevator call and the second elevator call; and instructing the first elevator car to move to the landing.

Further embodiments may include that the first elevator call comprises a first call code and the method further includes: determining that the first elevator car can accommodate the first elevator call; instructing the first elevator car to move to the landing; receiving a second elevator call, the second elevator call comprising second call code; determining that the second call code is prioritized over the first call code; reassigning the first elevator car to accommodate the second elevator call code; and instructing the first robot not to enter the first elevator car if the first robot has yet to enter the first elevator car or instructing the first elevator car to let the first robot exit the first elevator car if the first robot has already entered the first elevator car.

Further embodiments may include: determining that the first elevator system cannot accommodate the first elevator call due to a high demand for the first elevator system; determining that a second elevator system can accommodate the first elevator call due to a low demand for the second elevator system; instructing the first robot to move to the second elevator system; and transferring the first elevator call to the second elevator system.

Further embodiments may include that the first robot is delivering a package to an individual at the destination landing and the method further includes: delaying a journey of the first robot to the destination landing due to a higher need elsewhere; and notifying the individual of a delay in delivery of the package via at least one of a building system manager and an online ordering platform API.

Technical effects of embodiments of the present disclosure include using coordinating use of an elevator system between robots and individuals.

The claimed invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements.

In accordance with embodiments of the invention, the machine <NUM> is configured to include an electrically driven motor.

Although shown and described with a roping system including tension member <NUM>, elevator systems that employ other methods and mechanisms of moving an elevator car within an elevator shaft may employ embodiments of the claimed invention.

The elevator system <NUM> also includes one or more elevator doors <NUM>. The elevator door <NUM> may be integrally attached to the elevator car <NUM> and/or the elevator door <NUM> may be located on a landing <NUM> of the elevator system <NUM>. Embodiments disclosed herein may be applicable to both an elevator door <NUM> integrally attached to the elevator car <NUM> and/or an elevator door <NUM> located on a landing <NUM> of the elevator system <NUM>. The elevator door <NUM> opens to allow passengers to enter and exit the elevator car <NUM>.

Referring now to <FIG>, with continued reference to <FIG>, a robot coordination system <NUM> is illustrated, in accordance with an embodiment of the claimed invention. It should be appreciated that, although particular systems are separately defined in the schematic block diagrams, each or any of the systems may be otherwise combined or separated via hardware and/or software. The robot coordination system <NUM> comprises and/or is in wireless communication with a robot <NUM>. It is understood that one robot <NUM> is illustrated, the embodiments disclosed herein may be applicable to a robot coordination system <NUM> having one or more robots <NUM>. The robot <NUM> may desire to utilize an elevator system <NUM> and the robot coordination system <NUM> may coordinate use of the elevator system <NUM> by the robot <NUM> and individuals <NUM>.

It is understood that while elevator systems <NUM> are utilized for exemplary illustration, embodiments disclosed herein may be applied to other conveyance systems utilizing conveyance apparatuses for transportation such as, for example, escalators, moving walkways, etc..

As illustrated in <FIG>, a building elevator system <NUM> within a building <NUM> may include multiple different individual elevator systems <NUM> organized in an elevator bank <NUM>. The elevator systems <NUM> each include an elevator car <NUM> (not shown in <FIG> for simplicity). It is understood that while two elevator systems <NUM> are utilized for exemplary illustration, embodiments disclosed herein may be applied to building elevator systems <NUM> having one or more elevator systems <NUM>. Further, the elevator systems <NUM> illustrated in <FIG> are organized into an elevator bank <NUM> for ease of explanation but it is understood that the elevator systems <NUM> may be organized into one or more elevator banks <NUM>. Each of the elevator banks <NUM> may contain one or more elevator systems <NUM>. Each of the elevator banks <NUM> may also be located on different landings <NUM>.

The landing <NUM> in the building <NUM> of <FIG> may have an elevator call device <NUM> located proximate the elevator systems <NUM>. The elevator call device <NUM> transmits an elevator call <NUM> to a dispatcher <NUM> of the building elevator system <NUM>. It should be appreciated that, although the dispatcher <NUM> is separately defined in the schematic block diagrams, the dispatcher <NUM> may be combined via hardware and/or software in any controller <NUM> or other device. The elevator call <NUM> may include the source of the elevator call <NUM>. The elevator call device <NUM> may include a destination entry option that includes the destination of the elevator call <NUM>. The elevator call device <NUM> may be a push button and/or a touch screen and may be activated manually or automatically. For example, the elevator call <NUM> may be sent by an individual <NUM> or a robot <NUM> entering the elevator call <NUM> via the elevator call device <NUM>. As illustrated in <FIG>, the robot <NUM> may utilize a communication module <NUM> to communicate either directly to the building elevator system <NUM> and indirectly with the building elevator system <NUM> through a computing network <NUM>.

A mobile device <NUM> may also be configured to transmit an elevator call <NUM>. The robot <NUM> or the individual <NUM> may be in possession of the mobile device <NUM> to transmit the elevator call <NUM>. The mobile device <NUM> may be a smart phone, smart watch, laptop, beacon, or any other mobile device known to one of skill in the art. The mobile device <NUM> be configured to transmit the elevator call <NUM> through computing network <NUM> to the dispatcher <NUM>. The mobile device <NUM> may communicate to the computer network <NUM> through a wireless access protocol device (WAP) <NUM> using short-range wireless protocols, including, but not limited to, Bluetooth, Bluetooth Low Energy (BLE), Wi-Fi, HaLow (<NUM>. 11ah), zWave, ZigBee, or Wireless M-Bus. Alternatively, the mobile device <NUM> may communicate directly with the computer network <NUM> using long-range wireless protocols, including, but not limited to, cellular, LTE (NB-IoT, CAT M1), LoRa, satellite, Ingenu, or SigFox.

The controllers <NUM> can be combined, local, remote, cloud, etc. The dispatcher <NUM> may be local, remote, cloud, etc. The dispatcher <NUM> is in communication with the controller <NUM> of each elevator system <NUM>. Alternatively, there may be a single controller that is common to all of the elevator systems <NUM> and controls all of the elevator system <NUM>, rather than two separate controllers <NUM>, as illustrated in <FIG>. The dispatcher <NUM> may be a 'group' software that is configured to select the best elevator car <NUM> to be assigned to the elevator call <NUM>. The dispatcher <NUM> manages the elevator call devices <NUM> related to the elevator bank <NUM>.

The dispatcher <NUM> is configured to control and coordinate operation of multiple elevator systems <NUM>. The dispatcher <NUM> may be an electronic controller including a processor <NUM> and an associated memory <NUM> comprising computer-executable instructions that, when executed by the processor <NUM>, cause the processor <NUM> to perform various operations. The processor <NUM> may be, but is not limited to, a single-processor or multi-processor system of any of a wide array of possible architectures, including field programmable gate array (FPGA), central processing unit (CPU), application specific integrated circuits (ASIC), digital signal processor (DSP) or graphics processing unit (GPU) hardware arranged homogenously or heterogeneously. The memory <NUM> may be but is not limited to a random access memory (RAM), read only memory (ROM), FLASH, or other electronic, optical, magnetic or any other computer readable medium.

The dispatcher <NUM> is in communication with the elevator call devices <NUM> of the building elevator system <NUM>. The dispatcher <NUM> is configured to receive the elevator call <NUM> transmitted from the elevator call device <NUM>, the mobile device <NUM>, and/or the robot <NUM>. The dispatcher <NUM> is configured to manage the elevators calls <NUM> coming in from the elevator call device <NUM>, mobile devices <NUM>, and/or the robot <NUM> then command one or more elevator systems <NUM> to respond to elevator call <NUM>.

The robot <NUM> may be configured to operate fully autonomously using a controller <NUM> to control operation of the robot <NUM>. The controller <NUM> may be an electronic controller that includes a processor <NUM> and an associated memory <NUM> including computer-executable instructions that, when executed by the processor <NUM>, cause the processor <NUM> to perform various operations. The processor <NUM> may be but is not limited to a single-processor or multi-processor system of any of a wide array of possible architectures, including field programmable gate array (FPGA), central processing unit (CPU), application specific integrated circuits (ASIC), digital signal processor (DSP) or graphics processing unit (GPU) hardware arranged homogenously or heterogeneously. The memory <NUM> may be a storage device such as, for example, a random access memory (RAM), read only memory (ROM), or other electronic, optical, magnetic or any other computer readable medium.

The robot <NUM> includes a power source <NUM> configured to power the robot <NUM>. The power source <NUM> may include an energy harvesting device and/or an energy storage device. In an embodiment, the energy storage device may be an onboard battery system. The battery system may include but is not limited to a lithium ion battery system. The robot <NUM> may be configured to move to an external power source (e.g., electrical outlet) to recharge the power source <NUM>.

The robot <NUM> includes a speaker <NUM> configured to communicate audible words, music, and/or sounds to individuals <NUM> located proximate the robot <NUM>. The robot <NUM> also includes a display device <NUM> configured to display information visually to individuals <NUM> located proximate the robot <NUM>. For example, the display device <NUM> may be a flat screen monitor, a computer tablet, or smart phone device. In an embodiment, the display device <NUM> may be located on the head of the robot <NUM> or may replace the head of the robot <NUM>. In an embodiment, the display device <NUM> a computer tablet or similar display device that is carried by the robot <NUM>.

The robot <NUM> may be stationed (i.e., located) permanently or temporarily within an elevator lobby <NUM> that is located on the landing <NUM> proximate the elevator system <NUM>. The robot <NUM> may include a propulsion system <NUM> to move the robot <NUM>. The robot <NUM> may move throughout the elevator lobby <NUM>, move away from the elevator lobby <NUM> throughout the landing <NUM>, and/or may move to other landings via the elevator system <NUM> and/or a stair case (not shown). The propulsion system <NUM> may be a leg system, as illustrated in <FIG>, that simulates human legs. As illustrated in <FIG>, the propulsion system <NUM> may include two or more legs <NUM>, which are used to move the robot <NUM>. It is understood that while the leg system is utilized for exemplary illustration, embodiments disclosed herein may be applied to robots having other propulsion systems for transportation such as, for example, a wheel system, a rotorcraft system, a hovercraft system, a tread system, or any propulsion system may be known of skill in the art may be utilized. It is also understood that a robot <NUM> having a humanoid appearance is utilized for exemplary illustration, embodiments disclosed herein may be applied to robots that do not have a humanoid appearance.

The robot <NUM> includes a sensor system <NUM> to collect sensor data. The sensor system <NUM> may include, but is not limited, to an inertial measurement unit (IMU) sensor <NUM>, a camera <NUM>, a microphone <NUM>, a location sensor system <NUM>, a load detection system <NUM>, and a people counter system <NUM>. The IMU sensor <NUM> is configured to detect accelerations of the robot <NUM>. The IMU sensor <NUM> may be a sensor such as, for example, an accelerometer, a gyroscope, or a similar sensor known to one of skill in the art. The IMU sensor <NUM> may detect accelerations as well as derivatives or integrals of accelerations, such as, for example, velocity, jerk, jounce, snap.

The camera <NUM> may be configured to capture images of areas surrounding the robot <NUM>. The camera <NUM> may be a still image camera, a video camera, depth sensor, thermal camera, and/or any other type of imaging device known to one of skill in the art. In one embodiment, the controller <NUM> may be configured to analyze the images captured by the camera <NUM> using image recognition to identify an individual <NUM>. In another embodiment, the controller <NUM> may be configured to transmit the images as raw data for processing by the building system manager <NUM>. The image recognition may identify the individual <NUM> using facial recognition. When an individual <NUM> is identified as a specific person, then the robot <NUM> may transmit an elevator call <NUM> to the dispatcher <NUM>. For example, the image recognition may identify the individual <NUM> as the CEO of the company that works on the seventh floor and then the robot <NUM> may transmit an elevator call <NUM> so that an elevator car <NUM> and ready to pick up the CEO when the CEO arrives at the elevator bank <NUM>.

The microphone <NUM> is configured to detect sound. The microphone <NUM> is configured to detect audible sound proximate the robot <NUM>, such as, for example, language spoken an individual <NUM> proximate the robot <NUM>. In one embodiment, the controller <NUM> may be configured to analyze the sound captured by the microphone <NUM> using language recognition software and respond accordingly. In another embodiment, the controller <NUM> may be configured to transmit the sound as raw data for processing by the building system manager <NUM>. The sound (i.e., voice) from an individual <NUM> may be analyzed to identify the individual <NUM> using voice recognition.

In one embodiment, the controller <NUM> may be configured to analyze the sound captured by the microphone <NUM> using voice recognition to identify an individual <NUM>. In another embodiment, the controller <NUM> may be configured to transmit the sound as raw data for processing by the building system manager <NUM>. When an individual <NUM> is identified as a specific person, then the robot <NUM> may transmit an elevator call <NUM> to the dispatcher <NUM>. For example, the voice recognition may identify the individual <NUM> as the CEO of the company that works on the seventh floor and then the robot <NUM> may transmit an elevator call <NUM> so that an elevator car <NUM> and ready to pick up the CEO when the CEO arrives at the elevator bank <NUM>.

Each individual <NUM> may have their own robot ride-share preference. For example, some individuals <NUM> may not like to ride in an elevator car <NUM> with a robot <NUM>, whereas other individuals <NUM> may not mind. The individual <NUM> may include a robot ride-share preference when they send the elevator call <NUM> from the mobile device <NUM> or the elevator call device <NUM>. Additionally, the individual <NUM> may identify their ride share preference in advance and these robot ride-share preferences may be stored in at least one of the building system manager <NUM> and the dispatcher <NUM> in a robot ride-share preference list. The dispatcher <NUM> may consult the robot ride-share preference list prior to calling an elevator car <NUM> to answer an elevator call <NUM> received from an individual <NUM> and an elevator call <NUM> received from a robot <NUM>. For example, a robot <NUM> may not be assigned to an elevator car <NUM> with an individual <NUM> who prefers not to ride in the elevator car <NUM> with robots <NUM>. The individuals may be identified through visual recognition, voice recognition, and/or user identification data enclosed with the elevator call <NUM> and their robot ride-share preference looked up by the dispatcher <NUM>.

Alternatively, the dispatcher <NUM> may coordinate one or more robots <NUM> to all ride together in a single elevator car <NUM> to avoid interaction with individuals <NUM> (e.g., all robot cars). For example a first elevator call <NUM> may be received from a first robot <NUM> and a second elevator call <NUM> may be received from a second robot <NUM>, then the dispatcher <NUM> may group the first elevator call <NUM> with the second elevator call <NUM> so that the first robot <NUM> and the second robot <NUM> ride together. The dispatcher <NUM> may cancel elevator calls <NUM> received from robots <NUM> and/or instruct the robot <NUM> to wait if the traffic from individuals <NUM> is high at a given time. The dispatcher <NUM> may instruct the robot <NUM> to take the stairs or an escalator if the robot is capable of doing so. The dispatcher <NUM> may instruct the robot <NUM> to move to another elevator bank if one particular elevator bank is busy.

The robot <NUM> may utilize a load carrying mechanism <NUM> to delivery items. In <FIG>, the load carrying mechanism are arms of the robot <NUM>. It is understood that load the arms of the robot <NUM> are an example and the robot <NUM> may utilize other load carrying mechanism, such as, for example, a pallet, a crane, a flat bed, compartment, or other load carrying mechanism known to one of skill in the art. Additionally, the robot may be utilized to pull or tow an item, such as, for example, a hospital bed or a wheel chair. In other embodiment, the robot <NUM> may be an autonomous hospital bed or an autonomous wheel chair. Additionally two or more robots <NUM> may be coordinated to work together to car a load. For example, two robots <NUM> may be used to carry a stretcher with an individual <NUM> on the stretcher.

The load detection system <NUM> may be configured to detect a weight of the load being carried or pushed by the load carrying mechanism <NUM>. A robot <NUM> may be directed to certain elevator cars <NUM> based on the weight detected by the load detection system <NUM>. For example, a robot <NUM> carrying an excessively heavy load may be directed to ride a freight elevator that is configured to handle excess load. Additionally, if the load being carried by two robots <NUM> exceeds the weight limits of an elevator car <NUM>, the robots <NUM> may be instructed to ride separately. Additionally the operations of two robots <NUM> may be coordinated to accommodate a load of a specific weight. For example, a weight of a load may be detected by a first robot <NUM> and if that weight is greater than a selected weight (e.g., maximum weight) then a second robot <NUM> may be called to help carry the load.

Each elevator call <NUM> transmitted by a robot <NUM> may include a call code that may indicate the type of elevator call <NUM> including the item being transported by the robot <NUM> and/or the urgency of the elevator call <NUM>. In one example, the call code may indicate that the robot <NUM> is transporting laundry, which may not be considered urgent. In another example, the call code may indicate that the robot <NUM> is transporting transplant organs, hot food, medical supplies, food, cleaning supplies, packages, mail, or any other package that may be considered urgent. When the dispatcher <NUM> receives the elevator call <NUM> the dispatcher <NUM> will analyze the code and determine its urgency in comparison to other elevator calls <NUM> received. Elevator calls <NUM> that are most urgent will be assigned first, while those that are not urgent may be relegated to wait. Call codes may also be included and/or applied to elevator calls <NUM> received from individuals. In one example, each elevator call <NUM> transmitted may receive the same call code, meaning that the every elevator call <NUM> from an individual <NUM> would be treated with the same priority and a robot <NUM> that has an urgent call code may take higher priority than the call code of the individuals <NUM> whereas a robot <NUM> with a non-urgent call code may take a lower priority than the call code of the individuals <NUM>. In another example, different individuals <NUM> may be assigned a different call codes based on either a VIP status or based on job roles. Further, an emergency room physicians may have a call code that gives them the highest priorities over other call codes. In one example, residents of a building <NUM> may pay an extra fee to increase their call codes to a higher urgency. If a delivery is delayed due to prioritization call codes or for any other reason, the individual <NUM> expecting the delivery may be immediately notified of the delay via the building system manager <NUM> or an online ordering platform API, where the individual <NUM> ordered the delivery.

Based on priority of call codes or just as a general rule robots <NUM> could take trips that require multiple stops. For example: if the robot <NUM> is going to twentieth floor and there is an elevator car <NUM> carrying individuals going from a first floor to a tenth floor, then the robot <NUM> could ride that and then wait for another elevator car <NUM> that is available to take the robot <NUM> from the tenth floor to the twentieth floor. Advantageously, this maximizes dispatching efficiency for individuals <NUM>, while not worrying about robot <NUM> since the robots <NUM> are of lower priority and do not worry about a number of stops or delays. In another embodiment, the robot <NUM> may only piggy back in elevator cars <NUM> serving elevator calls <NUM> for individuals so as not to waste energy of the elevator system <NUM> on moving an elevator car <NUM> with only a robot <NUM> within the elevator car <NUM>.

The robot <NUM> also includes a location sensor system <NUM> configured to detect a location <NUM> of the robot <NUM>. The location <NUM> of the robot <NUM> may also include the location <NUM> of the robot <NUM> relative to other objects in order allow the robot <NUM> to navigate through hallways of a building <NUM> and prevent the robot <NUM> from bumping into objects or individuals <NUM>. The location sensing system <NUM> may use one or a combination or sensing devices including but not limited to GPS, wireless signal triangulation, SONAR, RADAR, LIDAR, image recognition, or any other location detection or collision avoidance system known to one of skill in the art. The location sensor system <NUM> may utilize GPS in order to detect a location <NUM> of the robot <NUM>. The location sensor system <NUM> may utilize triangulation of wireless signals within the building <NUM> in order to determine a location <NUM> of the robot <NUM> within a building <NUM>. For example, the location sensor system <NUM> may triangulate the position of the robot <NUM> within a building <NUM> utilizing received signal strength (e.g., RSSI) of wireless signals from WAPs <NUM> in known locations throughout the building <NUM>. In order to avoid colliding with objects, the location sensor system <NUM> may additionally use SONAR, RADAR, LIDAR, or image recognition (Convolutional Neural Networks). Upon initial deployment or a location reset, the robot <NUM> may perform a learn mode, such that the robot <NUM> may become familiar with the environment.

The location <NUM> of the robot <NUM> may also be communicated to the dispatcher <NUM> when the robot <NUM> desires to use the elevator system <NUM>. By knowing the location <NUM> of the robot <NUM>, the distance away from the elevator bank <NUM> (e.g., elevator system <NUM>) along a probable path <NUM>, and the movement speed of the robot <NUM>, then the dispatcher <NUM> may call an elevator car <NUM> to arrive at the elevator bank <NUM> at or before when the robot <NUM> arrives at the elevator bank <NUM>. Use of the elevator systems <NUM> may be limited to learnt periods of low traffic of individuals <NUM>. The traffic patterns of individuals <NUM> may be learnt using the people counter system <NUM> or a people counter device <NUM> that may detect movement of individuals over a period of time to learn traffic patterns.

The robot <NUM> includes a communication module <NUM> configured to allow the controller <NUM> of the robot <NUM> to communicate with the building system manager <NUM> and the dispatcher <NUM>. The communication module <NUM> is capable of transmitting and receiving data to and from the dispatcher <NUM> through a computer network <NUM>. The computer network <NUM> may be a cloud computing network. The communication module <NUM> is capable of transmitting and receiving data to and from the building system manager <NUM> through the computer network <NUM>. In another embodiment, the communication module <NUM> is capable of transmitting and receiving data to and from the dispatcher <NUM> by communicating directly with the dispatcher <NUM>.

The communication module <NUM> may communicate to the computer network <NUM> through a wireless access protocol device (WAP) <NUM> using short-range wireless protocols. Alternatively, the communication module <NUM> may communicate directly with the computer network <NUM> using long-range wireless protocols.

The communication module <NUM> may communicate to the dispatcher <NUM> through a WAP <NUM> using short-range wireless protocols. Alternatively, the communication module <NUM> may communicate directly with the dispatcher <NUM> using short-range wireless protocols.

The building system manager <NUM> may communicate to the computer network <NUM> through a WAP <NUM> using short-range wireless protocols. the building system manager <NUM> may communicate directly with the computer network <NUM> using long-range wireless protocols.

The building system manager <NUM> is an electronic controller that includes a processor <NUM> and an associated memory <NUM> including computer-executable instructions that, when executed by the processor <NUM>, cause the processor <NUM> to perform various operations. The processor <NUM> may be but is not limited to a single-processor or multi-processor system of any of a wide array of possible architectures, including field programmable gate array (FPGA), central processing unit (CPU), application specific integrated circuits (ASIC), digital signal processor (DSP) or graphics processing unit (GPU) hardware arranged homogenously or heterogeneously. The memory <NUM> may be a storage device such as, for example, a random access memory (RAM), read only memory (ROM), or other electronic, optical, magnetic or any other computer readable medium.

The building system manager <NUM> may be configured to obtain, store, and provide to the robot <NUM> information that may be useful to the robot <NUM>. The information may include a directory of the building <NUM> processor including images of individuals <NUM> that may be used for facial recognition or voice signatures of individuals <NUM> that may be used for voice recognition of individuals <NUM> to call an elevator cars <NUM> for the individuals <NUM>, as described above. The information may also include directory information of people or locations within the building <NUM> and/or in the area surrounding the building <NUM>. The building system manager <NUM> may also perform climate control within the building <NUM> and/or building access control for the building <NUM>.

The people counter system <NUM> is configured to detect or determine a people count. The people count may be a number of individuals <NUM> located on a landing <NUM> or more specifically a number of individuals <NUM> located in an elevator lobby <NUM> on a landing <NUM>. The people count may be an exact number of individuals <NUM> or an approximate number of individuals <NUM>.

The people counter system <NUM> may utilize the camera <NUM> for people counting. The people counter system <NUM> may be used to determine a number of individuals <NUM> proximate the elevator systems <NUM>, a number of individuals <NUM> within an elevator lobby <NUM> proximate the elevator systems <NUM>, and/or a number of individuals <NUM> on their way to the elevator system <NUM>. Individuals <NUM> being located proximate the elevator system <NUM> and/or within the elevator lobby <NUM> is indicative that the individuals <NUM> would like to board an elevator car <NUM> of the elevator system <NUM>.

The people counter system <NUM> may utilize one or more detection mechanisms of the robot <NUM>, such as, for example the camera <NUM>, a depth sensing device, a radar device, a laser detection device, a mobile device (e.g., cell phone) tracker using the communication device <NUM>, and/or any other desired device capable of sensing the presence of individuals <NUM>. The people counter system <NUM> utilizes the camera <NUM> for visual recognition to identify individual individuals <NUM> and objects in elevator lobby <NUM>. The laser detection device may detect how many passengers walk through a laser beam to determine the number of individuals <NUM>. The thermal detection device may be an infrared or other heat sensing camera that utilizes detected temperature to identify individual individuals <NUM> and objects and then determine the number of individuals <NUM>. The depth detection device may be a <NUM>-D, <NUM>-D or other depth/distance detecting camera that utilizes detected distance to an object and/or individuals <NUM> to determine the number of individuals <NUM>. The communication device <NUM> may act as a mobile device tracker may determine a number of individuals <NUM> on a landing <NUM> or in elevator lobby <NUM> by detecting mobile device wireless signals and/or detecting how many mobile devices are utilizing a specific application on the mobile device within the building <NUM> on the landing <NUM>. As may be appreciated by one of skill in the art, in addition to the stated methods, additional methods may exist to sense the number of individuals <NUM> and one or any combination of these methods may be used to determine the number of individuals <NUM> in the elevator lobby <NUM>, on the landing <NUM>, or on their way to the elevator system <NUM>.

In one embodiment, the people counter system <NUM> is able to detect the people count through image pixel counting. The people count may compare a current image of the elevator lobby <NUM> to a stock image of the elevator lobby <NUM>. For example, the people counter system <NUM> may utilize pixel counting by capturing a current image of the elevator lobby <NUM> and comparing the current image of the elevator lobby <NUM> to a stock image of the elevator lobby <NUM> that illustrates the elevator lobby <NUM> with zero individuals <NUM> present or a known number of individuals <NUM> present. The number of pixels that are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM> may correlate with the people count within the elevator lobby <NUM>. It is understood that the embodiments disclosed herein are not limited to pixel counting to determine a people count and thus a people count may be determined utilizing other method including but not limited to video analytics software. Video analytics may identify individuals <NUM> from stationary objections and count each person separately to determine a total number of individuals <NUM>.

The people count may be determined using a machine learning, deep learning, and/or artificial intelligence module. The artificial intelligence module can be located in the robot <NUM>, within the building system manager <NUM> or dispatcher <NUM>. The people count may alternatively be expressed as a percentage from zero-to-one-hundred percent indicating what percentage of pixels are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>. The people count of the elevator lobby <NUM> may be expressed as a scale of one-to-ten (e.g., one being empty and ten being full) indicating what percentage of pixels are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>. The people count may be expressed as an actual or estimated number of individuals <NUM>, which may be determined in response to the number of pixels that are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>.

The landing <NUM> in the building <NUM> of <FIG> may also include a people counter device <NUM> that works in collaboration with the people counter system <NUM> of the robot <NUM> to determine the people count. The people counter device <NUM> may include one or more detection mechanisms in the elevator lobby <NUM>, such as, for example a weight sensing device, a visual recognition device, depth sensing device, radar device, a laser detection device, mobile device (e.g., cell phone) tracking, and/or any other desired device capable of sensing the presence of individuals <NUM>. The visual recognition device may be a camera that utilizes visual recognition to identify individual individuals <NUM> and objects in elevator lobby <NUM>. The weight detection device may be a scale to sense the amount of weight in an elevator lobby <NUM> and then determine the number of individuals <NUM>. The laser detection device may detect how many passengers walk through a laser beam to determine the number of individuals <NUM> in the elevator lobby <NUM>. The thermal detection device may be an infrared or other heat sensing camera that utilizes detected temperature to identify individual individuals <NUM> and objects in the elevator lobby <NUM> and then determine the number of individuals <NUM>. The depth detection device may be a <NUM>-D, <NUM>-D or other depth/distance detecting camera that utilizes detected distance to an object and/or individuals <NUM> to determine the number of passengers. The mobile device tracking may determine a number of individuals <NUM> on a landing <NUM> or in elevator lobby <NUM> by detecting mobile device wireless signals and/or detecting how many mobile devices are utilizing a specific application on the mobile device within the building <NUM> on the landing <NUM> or in the elevator lobby <NUM>. As may be appreciated by one of skill in the art, in addition to the stated methods, additional methods may exist to sense the number of individuals <NUM> and one or any combination of these methods may be used to determine the number of individuals <NUM> in the elevator lobby <NUM> or on the landing <NUM>.

In one embodiment, the people counter device <NUM> is able to detect the people count through image pixel counting. The people count may compare a current image of the elevator lobby <NUM> to a stock image of the elevator lobby <NUM>. For example, the people counter device <NUM> may utilize pixel counting by capturing a current image of the elevator lobby <NUM> and comparing the current image of the elevator lobby <NUM> to a stock image of the elevator lobby <NUM> that illustrates the elevator lobby <NUM> with zero individuals <NUM> present or a known number of individuals <NUM> present. The number of pixels that are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM> may correlate with the people count within the elevator lobby <NUM>. It is understood that the embodiments disclosed herein are not limited to pixel counting to determine a people count and thus a people count may be determined utilizing other method including but not limited to video analytics software. Video analytics may identify individuals <NUM> from stationary objections and count each person separately to determine a total number of individuals <NUM>.

The people count may be determined using a machine learning, deep learning, and/or artificial intelligence module. The artificial intelligence module can be located in the people counter device <NUM> or in a separate module in the dispatcher <NUM>. The separate module may be able to communicate with the people counter device <NUM>. The people count may alternatively be expressed as a percentage from zero-to-one-hundred percent indicating what percentage of pixels are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>. The people count of the elevator lobby <NUM> may be expressed as a scale of one-to-ten (e.g., one being empty and ten being full) indicating what percentage of pixels are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>. The people count may be expressed as an actual or estimated number of individuals <NUM>, which may be determined in response to the number of pixels that are different between the stock image of the elevator lobby <NUM> and the current image of the elevator lobby <NUM>.

The people count determined by at least one of people counter system <NUM> of the robot <NUM> and the people counter device <NUM> may be transmitted to the dispatcher <NUM> to adjust operation of the elevator systems <NUM>. For example, if the people count is high meaning that there are a large number of individuals <NUM> then the dispatcher <NUM> will send more elevator cars <NUM> to the elevator lobby <NUM>.

Advantageously, the robot <NUM> is able to move away from the elevator lobby <NUM> and thus may be able to detect crowds of individuals <NUM> in advance of the crowd of individuals <NUM> reaching the elevator lobby <NUM>. The crowd of individuals <NUM> the dispatcher <NUM> may then be reported to the dispatcher <NUM> and the dispatcher <NUM> may call elevators cars <NUM> in advance of the crowd of individuals <NUM> reaching the elevator lobby <NUM>, which advantageously saves time by helping to clear out the crowd of individuals <NUM> from the elevator lobby <NUM> faster.

The robot coordination system <NUM> may also include a passenger flow monitor module <NUM> that is in communication with at least one of the people counter device <NUM> and the people counter system <NUM>. It should be appreciated that, although passenger flow monitor module <NUM> is separately defined in the schematic block diagrams, the dispatcher <NUM> may be combined via hardware and/or software in any of the controller <NUM>, the building system manager <NUM>, or any other device.

The passenger flow monitor module <NUM> is configured to monitor real-time passenger flow for each elevator system <NUM> using at least one of the people counter device <NUM> and the people counter system <NUM>. The real-time passenger flow may be bidirectional (i.e., up and down). The passenger flow monitor module <NUM> may also be able to predict a future passenger flow for each elevator system based upon the real-time passenger flow. The real-time passenger or future passenger flow may depict the passenger flow as busy, moderate, or low in three non-limiting examples. The real-time passenger flow and the predicted passenger flow may be stored in the passenger flow monitor module <NUM> or the building system manager <NUM>. The passenger flow monitor module <NUM> is configured to transmit the real-time passenger flow and the predicted passenger flow to the robot <NUM> and the robot is configured to adjust its use of the elevator system <NUM> in response to at least one of the real-time passenger flow and the predicted passenger flow. In a first example, the robot <NUM> may adjust its operation by taking the high-first-lower-last elevator taking policy in response to at least one of the real-time passenger flow and the predicted passenger flow. Further, usually when the passenger flow is from top to bottom, an elevator car <NUM> that is going up will have space to allow the robot <NUM> to take the elevator upward but a robot <NUM> desiring to go downward may have to wait. In a second example, the robot <NUM> may adjust its operation by taking the lower-first-higher-last elevator taking policy in response to at least one of the real-time passenger flow and the predicted passenger flow. Further, usually when the passenger flow is from bottom-to-top, an elevator car <NUM> that is going down will have space to allow the robot <NUM> to take the elevator downward but a robot <NUM> desiring to go upward may have to wait. Additionally, the robot <NUM> may also serve as a security guard for the building <NUM> by utilizing the people counter system <NUM> and/or the camera <NUM> to detect individuals <NUM> that should not be located in the building <NUM>. In one example, the camera <NUM> may be utilized to identify each individual <NUM> within the building <NUM> through facial recognition and if the individual <NUM> is not authorized to be in the building <NUM> or a specific section/room of the building <NUM> (i.e., determined to be an intruder) then the robot <NUM> may activate an intruder alert and/or contact the building system manager <NUM>. The intruder alert may be a visual light display or an audible alarm of the building system manager <NUM>. The facial recognition determination may be compared to a database images of individuals <NUM> authorized to be within the building <NUM> and/or database images of individuals <NUM> not authorized to be within the building <NUM>. If the building <NUM> has multiple different sections or landings <NUM> with different security requirements then robot <NUM> may be configured to travel throughout the building <NUM> to ensure that individuals <NUM> are authorized to be in the section or room of the building <NUM>. Further, if individuals <NUM> are detected within the building <NUM> at unusual times or unauthorized times, then the robot <NUM> may activate an intruder alert and/or contact the building system manager <NUM>. For example, if an individual <NUM> is detected after the building <NUM> has closed then the robot <NUM> may activate an intruder alert and/or contact the building system manager <NUM>.

Referring now to <FIG>, with continued reference to <FIG>, a flow chart of method <NUM> of controlling a first elevator system <NUM> comprising a first elevator car <NUM> is illustrated, in accordance with an embodiment of the claimed invention. In an embodiment, the method <NUM> is performed by the robot coordination system <NUM> of <FIG>.

At block <NUM>, a first elevator call <NUM> is received from a first robot <NUM> for the first elevator system <NUM> to transport the first robot <NUM> from firs elevator bank <NUM> on a landing <NUM> to a destination landing. At block <NUM>, operation of at least one of the first robot <NUM> and the first elevator system <NUM> is adjusted. The operation of at least one of the first robot <NUM> and the first elevator system <NUM> may be adjusted in accordance with various embodiments.

In an embodiment, it may be determined that the first elevator system <NUM> cannot accommodate the first elevator call <NUM> due to a high demand (e.g., a large number of individuals <NUM> are using) for the first elevator system and it may be determined that a second elevator system <NUM> can accommodate the first elevator call <NUM> due to a low demand (e.g., a small number of individuals <NUM> are using) for the second elevator system <NUM>. Then the first robot <NUM> may be instructed to move to the second elevator system <NUM> and the first elevator call <NUM> may be transferred to the second elevator system <NUM>.

In an embodiment, it may be determined that the first elevator system <NUM> cannot accommodate the first elevator call <NUM>. Then the first robot <NUM> is instructed to move to a second elevator system <NUM> comprising a second elevator car <NUM> and the first elevator call <NUM> is transferred to the second elevator system <NUM>.

In an embodiment, it may be determined that the first elevator system <NUM> cannot accommodate the first elevator call <NUM>. Then the first robot <NUM> is instructed to move to a second elevator system <NUM> comprising a second elevator car <NUM>. The second elevator system <NUM> serves the landing <NUM> at a second elevator bank <NUM>. The first elevator call <NUM> is then transferred to the second elevator system <NUM>.

In an embodiment, it may be determined that the first elevator system <NUM> cannot accommodate the first elevator call <NUM>. Then the first robot <NUM> is instructed to move to a second elevator system <NUM> comprising a second elevator car <NUM>. The second elevator system <NUM> being located at a second elevator bank <NUM>. The first robot <NUM> may then be instructed to move to the second elevator bank <NUM> via stairs or an escalator and the first elevator call <NUM> is transferred to the second elevator system <NUM>.

In an embodiment, it may be determined that the first elevator car <NUM> can accommodate the first elevator call <NUM> and then the first elevator car <NUM> is instructed to move to the landing <NUM>. The first robot <NUM> may then be instructed to move to the first elevator bank <NUM> and to enter the first elevator car <NUM>.

In an embodiment, the method <NUM> may further comprise that a second elevator call <NUM> is received from a second robot <NUM> and it may be determined that the first elevator car <NUM> can accommodate the first elevator call <NUM> and the second elevator call <NUM>. Then the first elevator car <NUM> is instructed to move to the landing <NUM>. The first robot <NUM> and the second robot <NUM> may be instructed to move to the first elevator bank <NUM> and then enter the first elevator car <NUM>.

In an embodiment, the method <NUM> may further comprise that a second elevator call <NUM> is received from a second robot <NUM> and it may be determined that that the first elevator car <NUM> can accommodate the first elevator call <NUM> and the second elevator call <NUM>. Then the first elevator car <NUM> is instructed to move to the landing <NUM>.

In an embodiment, the method <NUM> may further comprise that a second elevator call <NUM> is received from an individual <NUM> and a robot ride-share preference is obtained for the individual <NUM>. Then it may be determined that the individual <NUM> cannot ride with the first robot <NUM> in response to the robot ride-share preference. The first elevator car <NUM> may then be instructed to move to the landing <NUM> to pick up the individual <NUM> and the first robot <NUM> is instructed not to enter the first elevator car <NUM>. The first robot <NUM> may be instructed to wait at the first elevator bank <NUM> or move to a second elevator system <NUM> comprising a second elevator car <NUM>. The second elevator system <NUM> serves the landing <NUM> at a second elevator bank <NUM>. Alternatively, the first robot <NUM> may be instructed to move to the second elevator bank <NUM> via stairs or an escalator, if the second elevator bank <NUM> is not on the landing <NUM>. The first elevator call <NUM> is then transferred to the second elevator system <NUM>.

In an embodiment, the method <NUM> may further comprise that a second elevator call <NUM> is received from an individual <NUM> and a robot ride-share preference is obtained for the individual <NUM>. Then it may be determined that the individual <NUM> can ride with the first robot <NUM> in response to the robot ride-share preference. The first elevator car <NUM> may then be instructed to move to the landing <NUM> to pick up the individual <NUM> and the first robot <NUM>. The first robot <NUM> may be instructed to enter the first elevator car <NUM> after the individual <NUM> has entered the first elevator car <NUM>.

In an embodiment, the first elevator call <NUM> comprises a first call code and the method <NUM> may further comprise that a second elevator call <NUM> from is received from a second robot <NUM>. The second elevator call <NUM> comprising second call code. Then is may be determined that the first call code is prioritized over the second call code and the first elevator car <NUM> is instructed to move to the landing <NUM> and pick up the first robot <NUM>.

In an embodiment, the first elevator call <NUM> comprises a first call code and the method <NUM> may further comprise that a second elevator call <NUM> from is received from an individual <NUM>. The second elevator call <NUM> comprising second call code. Then is may be determined that the first call code is prioritized over the second call code and the first elevator car <NUM> is instructed to move to the landing <NUM> and pick up the first robot <NUM>.

In an embodiment, the first elevator call <NUM> comprises a first call code and the method <NUM> may further comprise that a second elevator call <NUM> from is received from an individual <NUM>. The second elevator call <NUM> comprising second call code. Then is may be determined that the second call code is prioritized over the first call code and the first elevator car <NUM> is instructed to move to the landing <NUM> and pick up the individual <NUM>.

In an embodiment, the first robot <NUM> may be delivering a package to an individual <NUM> at the destination landing <NUM>. The method <NUM> may further comprise that a journey of the first robot <NUM> to the destination landing <NUM> is delayed due to a higher need elsewhere, which may mean that the first robot <NUM> may be needed to perform another task of higher priority than delivering the package or a second elevator call <NUM> may take priority over the first elevator call <NUM>. Once the journey is delay then the individual <NUM> may be notified of a delay in delivery of the package via at least one of a building system manager <NUM> and an online ordering platform API.

In an embodiment, the first elevator call <NUM> may comprise a first call code. The method <NUM> may further comprise that it is determined that the first elevator car <NUM> can accommodate the first elevator call <NUM>, the first elevator car <NUM> is instructed to move to the landing <NUM> and then a second elevator call <NUM> is received. The second elevator call <NUM> comprises second call code. It may be determined that the second call code is prioritized over the first call code and the first elevator car <NUM> may be reassigned to accommodate the second elevator call code. Next, the first robot <NUM> may be instructed not to enter the first elevator car <NUM> if the first robot <NUM> has yet to enter the first elevator car <NUM> or the first elevator car <NUM> may be instructed to let the first robot <NUM> exit the first elevator car <NUM> if the first robot <NUM> has already entered the first elevator car <NUM>.

Referring now to <FIG>, with continued reference to <FIG>, a flow chart of method <NUM> of controlling use of an elevator system <NUM> by a robot <NUM> is disclosed. In an example, the method <NUM> is performed by the passenger flow monitor module <NUM> of <FIG>.

At block <NUM>, a real-time passenger flow of an elevator system <NUM> is detected using at least one of a people counter system <NUM> of the robot <NUM> and a people counter device <NUM>. The people counter device <NUM> is installed in at least one of an elevator lobby <NUM> of the elevator system <NUM> and an elevator car <NUM> of the elevator system <NUM>.

At block <NUM>, a future passenger flow is determined in response to the real-time passenger flow.

At block <NUM>, use of the elevator system <NUM> by the robot <NUM> is adjusted in response to at least one of the real-time passenger flow and the future passenger flow. In a first example, the robot <NUM> may adjust its operation by taking the high-first-lower-last elevator taking policy in response to at least one of the real-time passenger flow and the predicted passenger flow. Further, usually when the passenger flow is from top to bottom, an elevator car <NUM> that is going up will have space to allow the robot <NUM> to take the elevator upward but a robot <NUM> desiring to go downward may have to wait. In a second example, the robot <NUM> may adjust its operation by taking the lower-first-higher-las elevator taking policy in response to at least one of the real-time passenger flow and the predicted passenger flow. Further, usually when the passenger flow is from bottom-to-top, an elevator car <NUM> that is going down will have space to allow the robot <NUM> to take the elevator downward but a robot <NUM> desiring to go upward may have to wait.

As described above, embodiments can be in the form of processor-implemented processes and devices for practicing those processes, such as processor. Embodiments can also be in the form of computer program code (e.g., computer program product) containing instructions embodied in tangible media (e.g., non-transitory computer readable medium), such as floppy diskettes, CD ROMs, hard drives, or any other non-transitory computer readable medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes a device for practicing the embodiments. Embodiments can also be in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an device for practicing the exemplary embodiments.

Claim 1:
A method (<NUM>) of controlling a first elevator system (<NUM>) comprising a first elevator car (<NUM>), the method (<NUM>) comprising:
receiving (<NUM>) a first elevator call (<NUM>) from a first robot (<NUM>) for the first elevator system (<NUM>) to transport the first robot (<NUM>) from a first elevator bank (<NUM>) on a landing (<NUM>) to a destination landing; and
adjusting (<NUM>) operation of at least one of the first robot (<NUM>) and the first elevator system (<NUM>),
characterized in that
the first elevator call (<NUM>) comprises a first call code and the method (<NUM>) further comprises:
receiving a second elevator call from an individual, the second elevator call comprising second call code;
determining that the second call code is prioritized over the first call code; and
instructing the first elevator car (<NUM>) to move to the landing (<NUM>) and pick up the individual.