Patent Publication Number: US-2023150321-A1

Title: Autonomous Mobile Robot and System for Transportation and Delivery of Carts

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is related to and claims the benefit of and priority to U.S. Application No. 63/279,276, filed on Nov. 15, 2022, the entire contents of which are incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to the transportation of carts and other loads within, for example, an indoor commercial environment using an autonomous mobile robot. More specifically, the present invention provides for carts to be towed using a uniformly configured mobile robot and a standard cart-attachment mechanism. 
     BACKGROUND OF THE INVENTION 
     Transporting goods on wheeled carts is labor intensive, repetitive, exhausting and potentially hazardous work. This is particularly true in healthcare, hospitality, warehouse and industrial settings. Thus, the automatic movement of these carts would provide numerous benefits, financially and otherwise, to an organization and its employees. 
     However, the economics and complexity involved in designing and developing carts compatible with robotic automation is prohibitive. Current autonomous mobile robots require retro-fitting cart bases onto the existing carts so the robot can interface with them. Current autonomous mobile robots used for hauling purposes drive under the cart base to raise or connect the cart onto its platform in order to drive with it. The retrofit cart bases establish a known size so the robot can correctly calculate its navigation and localization envelope. However, these retrofit cart bases not only require labor for installation, but they are an unnecessary replacement of the made-for-purpose wheels that already exist on the cart. In addition, retrofitting a large volume of carts can incur large expenses due to costs associated with the retrofit cart bases and installation. 
     Mobile robots which pull carts are known in the art. These are typically designed with a specific gripper or attachment modality affixed to the robot. The gripper/attachment modality is designed to latch onto to a uniform and specific type of cart construction. This results in a robot that must be dedicated to a single type of cart or cart base, thereby limiting its utility in an environment in which many cart types are used contemporaneously. In addition, without a fixed and known size of the load, the robot&#39;s sensor coverage is typically obscured, and this potentially results in unsafe operation. 
     U.S. Pat. No. 7,100,725 discloses a robotic cart pulling vehicle, but does not disclose a mechanism of cart attachment. 
     U.S. Pat. No. 9,223,313 discloses a server communicating with robot(s) for the purposes of prioritization, managing navigational issues, failed equipment in the environment, and the relative state and position of other robots. 
     U.S. Pat. No. 10,668,617 discloses a hook mechanism on a pivoting arm to tow carts. The hook disclosed requires all carts to have a uniform construction in order to be attached. In addition, the robot does not self-adjust its physical configuration of sensors based on the type of cart being towed. 
     U.S. Publication No. 2020/0254607 discloses a base used to interface to a mobile robot for the purpose of moving the load. It describes pins on side edge of the robot which extend beyond the edges of the robot into the disclosed base design in order to lift the base in the vertical direction so it can be transported. 
     U.S. Pat. No. 10,168,711 discloses an autonomous mobile robot that latches onto a modified cart base for pickup. 
     The present disclosure is directed toward overcoming one or more of the above-mentioned problems, though not necessarily limited to embodiments that do. 
     SUMMARY OF THE INVENTION 
     Embodiments of the present invention relate to a mobile robot and attachment system to allow for autonomous attachment, towing, and delivery of material carts. 
     An exemplary embodiment of the present invention uses the physical features of a universal hitch, and not physical features of the cart itself, to determine positional data for the robot. Embodiments include a tow arm and end effector that work to center the tow arm with respect to the hitch, which then grips (e.g., via actuation of clamps that extend sideways) side posts of the universal hitch to secure the cart for towing. Motorized features are included to self-adjust the tow arm up and down on the robot to accommodate variations in the latching point on the hitch due to differences in the cart it is attached to. This allows the robot to pull a variety of different carts of varying physical sizes without requiring extensive and costly modifications. 
     Embodiments of the present invention provide a low-cost and uniform receiver hitch that can be mounted to a plurality of cart designs, sizes and form-factors in order to provide a standard attachment and tow point for an autonomous mobile robot. One advantage of the receiver hitch is that it provides a known and uniform point of attachment for the robot&#39;s electromechanically controlled tow arm. Another advantage is a single robot design can tow a wide variety of carts reliably and economically and eliminate the costs of a dedicated cart base or the costs of many types of robots or end effector designs dedicated to the robot. Another advantage to a uniform hitch design allows a site or facility to use robots to pull any of the carts in its facility resulting in an interchangeable fleet of robots. As such, robots can be dispatched as needed throughout the facility&#39;s operation, making the robots more useful and efficient. 
     Embodiments of the present invention also provide a tow arm on a mobile robot used to pull carts. In an exemplary embodiment, the tow arm on the robot is electromechanically actuated and receives its instructions from a computing unit in the robot in order to automatically detect, align to, and secure itself to the aforementioned receiver hitch. When the tow arm detects the hitch through a variety of sensors and logic, the robot automatically raises/lowers the tow arm to match the height of the receiver hitch mounted on the cart. Then, the robot backs up so the tow arm&#39;s self-centering end effector mates to the receiver hitch&#39;s side posts and secures the arm&#39;s end effector to the receiver hitch via two actuated clamps. At this point, the robot is connected to the cart and is able to drive away with the cart securely in tow. The design allows the robot with cart in tow to navigate turns, variations in surface heights, ramps, etc. An advantage to this mechanism is its ability to accommodate a variable mounting height of the receiver hitch due to different height carts. Another advantage is that it allows for reliable and repeatable automatic attachment of the arm to the hitch. A further advantage is that it provides sufficient degrees of freedom for travel throughout the facility. 
     Embodiments of the present invention also provide direct drive wheels attached to a rotating drive head of the robot which allows the robot to navigate more accurately and within closer confines. In an exemplary embodiment, two drive wheels are attached to independent electronic motors and fashioned to the rotating drive head. The drive head pivots based on the robot&#39;s navigation instructions. 
     Embodiments of the present invention also provides a means of detecting ledges in front of the robot to avoid hazardous conditions. In an exemplary embodiment, a sensor or sensors placed on the front and/or rear of the robot continuously scan the travel direction to detect differentials in surface height that indicate a ledge condition. If detected, the robot&#39;s safety mechanisms engage to prevent the robot from encountering or driving over the ledge. 
     Embodiments of the present invention also provide a means by which the receiver hitch is detected by the robot and how the robot aligns itself to attach to it. In an exemplary embodiment, a robot uses sensors to detect a variety of features designed into the receiver hitch that are unique to its design, allowing the robot to recognize it as a hitch it is looking for. In addition, the robot uses the orientation and distance of features to determine the overall pose of the robot relative to the hitch to allow the robot to self-adjust and align. 
     An exemplary embodiment relates to an autonomous mobile robot for towing wheeled carts. The robot includes a wheeled housing assembly and a drive system operatively connected to the wheeled housing assembly providing driving and steering control for the robot. The robot includes a tow arm mounted to the housing assembly, the tow arm pivotable between a stowed position and a deployed position for attachment to a cart, the tow arm including an end effector having self-centering side walls configured to align a clamp of the end effector on a side post of a hitch attached to the cart, wherein the tow arm is movable vertically to match a height of the hitch. The robot includes a first sensor mounted to the housing configured to determine the presence of the hitch attached to the cart. The robot includes a second sensor configured to capture a 3D image of the hitch. The robot includes a computing unit configured to determine an orientation of the hitch relative to the tow arm, actuate the drive system to maneuver the robot, based on the determined orientation of the hitch, to align the tow arm with the hitch, and actuate the end effector to cause mechanical engagement between the tow arm and the hitch. 
     An exemplary embodiment relates to a receiver hitch for a cart of an autonomous robot. The receiver hitch includes a member having a front face and a rear face. The member includes a rear plate, two side members, two side posts, and front opening forming a cavity configured to receive a tow arm of an autonomous robot. Each side member has an angled structure so as to form a broader cavity space at the front face and a narrower cavity space at the rear face. Each side post located at a position more proximal to the front face than the rear face, where each side post is configured to mechanically engage with the tow arm. 
     In some embodiments the receiver hitch includes an identifier attached to the member, the identifier including information related to the cart to which the receiver hitch is attached. 
     In some embodiments, the identifier is an RFID tag. 
     An exemplary embodiment relates to a tow arm. The tow arm is an elongate member having a head end and a pivot end. The pivot end is attached to a robot. The pivot end includes an actuator configured to cause the elongate member to pivot vertically, and an actuator configured to cause the elongate member to translate vertically. The head end is configured to temporary attach to a hitch. The head end includes an end effector including a clamp, the clamp configured to mechanically engage with the hitch. The head end includes a magnet configured to provide temporary securement via magnetic attraction between the tow arm and the hitch. 
     An exemplary embodiment relates to a mobile robot. The robot includes a computing unit. The robot includes a tow arm, the tow arm attached to a housing of the robot so as to allow the tow arm to pivot to and from a stowed and deployed position, and to allow the tow arm to translate vertically. The robot includes a sensor configured to receive information related to a receiver hitch attached to a cart. The computing unit is configured to receive receiver hitch data from the sensor, pivot the tow arm to a deployed position, and translate the tow arm vertically to align the tow arm with an opening of the receiver hitch. 
     In some embodiments, the robot includes a housing, wherein the housing includes a stow zone configured to receive the tow arm when in a stowed position. 
     In some embodiments, the computing unit is configured to translate the tow arm vertically to align the tow arm with the opening of the receiver hitch based only on the receiver hitch data. 
     In some embodiments, the robot includes a rotatable drive head including a drive wheel. The computing unit is configured to position the robot via actuation of the rotatable drive head to align the tow arm with the opening of the receiver hitch. 
     In some embodiments, the robot includes a repositionable arm having a sensor configured to generate navigation related data. The computing unit is configured to reposition the arm and receive the navigation related data. 
     In some embodiments, the robot unit includes an extendable and retractable arm having a sensor configured to generate navigation related data. The computing unit is configured to actuate the extendable and retractable arm and receive the navigation related data. 
     In some embodiments, the receiver hitch data includes dimension information about the cart. 
     In some embodiments, the sensor is configured to receive information related to the receiver hitch from an identifier attached to the receiver hitch. 
     In some embodiments, the identifier is an RFID tag. 
     In some embodiments, the robot includes a ledge detection sensor configured to generate information related to a ledge in proximity to the robot. 
     In some embodiments, the robot includes a rotatable drive head including a drive wheel, a ledge detection sensor configured to generate information related to a ledge in proximity to the robot, and an electrical breaker switch. The computing unit is configured to receive the ledge sensor data and active the electrical breaker switch to prevent electrical power from being transmitted to the rotatable drive head when a ledge is detected. 
     In some embodiments, the computing unit includes a processor and memory, the memory having a trained model stored thereon that allows the processor to use machine learning to predict type and/or dimension information about the receiver hitch. 
     In some embodiments, the robot includes a rotatable drive head including a drive wheel. The computing unit controls the rotatable drive head and the tow arm to position the robot and the tow arm for alignment of the tow arm with the opening of the receiver hitch. 
     In some embodiments, the tow arm includes an end effector having a clamp configured to engage the receiver hitch. 
     In some embodiments, the tow arm incudes a magnet. 
     Additional features, aspects, objects, advantages, and possible applications of the present disclosure will become apparent from a study of the exemplary embodiments and examples described below, in combination with the Figures and the appended claims. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is an isometric view of an exemplary embodiment of a receiver hitch in accordance with the present invention. 
         FIG.  2    is an isometric view of the rear of an exemplary autonomous mobile robot having an embodiment of a tow arm for hauling carts in accordance with the present invention. 
         FIG.  3    is a top isometric view of the rear of an exemplary robot showing an embodiment of a tow arm deployed. 
         FIG.  4    is a close up, perspective view of embodiments of a tow arm and an end effector. 
         FIG.  5    is a front view of an exemplary robot in accordance with the present invention. 
         FIG.  6    is a side view of an exemplary robot ready to tow an exemplary cart in accordance with the present invention. 
         FIG.  7    are side views showing an exemplary robot deploying an embodiment of a tow arm for connection to an embodiment of a receiver hitch in order to tow a cart. 
         FIG.  8    is a bottom view of an exemplary robot illustrating an embodiment of a pivoting and locking drive train. 
         FIG.  9    is an isometric view of the rear of an exemplary robot showing an embodiment of a tow arm stowed for travel. 
         FIG.  10    is a front view of an exemplary robot illustrating an embodiment of ledge detection sensors and placement. 
         FIG.  11    is a side view of an exemplary robot illustrating an embodiment of ledge detection sensors and placement. 
         FIG.  12    illustrates different exemplary perspective views of an embodiment of a receiver hitch and as viewable by an exemplary robot. 
         FIG.  13    is a view of an exemplary internal locking mechanism for an embodiment of a drive head. 
         FIG.  14    is a front view of an exemplary robot illustrating arms in an extended position. 
         FIG.  15    is a block diagram of an exemplary system architecture for an embodiment of the robot. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG.  1    illustrates a perspective view of an embodiment of a receiver hitch ( 1 ) designed for attachment to carts ( 22 ) of various types. The receiver hitch ( 1 ) includes a top mounting plate ( 2 ) generally configured for attachment to the bottom surface of a cart ( 22 ). Side posts ( 3 ) extend downward from the mounting plate ( 2 ) and between the mounting plate ( 2 ) and a cross member ( 30 ). Converging side members ( 4 ) allow the tow arm end effector ( 9 ) to approximately center itself on the rear plate ( 32 ). Once centered the end effector clamps ( 11 ) onto the side posts ( 3 ) to secure the receiver hitch ( 1 ) to the tow arm ( 6 ). An exemplary identifier ( 5 ), for example in the form of an RFID tag, is attached to a rear plate ( 32 ) of the hitch ( 1 ). 
     As can be appreciated from the exemplary embodiment shown in  FIG.  1   , embodiments relate to a receiver hitch ( 1 ). The receiver hitch ( 1 ) is a coupling device configured to facilitate mechanical engagement (e.g., attachment, securement, coupling, fastening, etc.) between it and another object (e.g., a tow arm ( 6 ) and/or an end effector ( 11 ) of a tow arm ( 6 )). It is contemplated for the tow arm ( 6 ) to be part of a robot ( 16 ). The receiver hitch ( 1 ) is configured to be attached (e.g., via a weld, fastener, etc.) to a portion (e.g., body, frame, chassis, etc.) of a cart ( 22 ). This attachment can be permanent or temporary. The receiving hitch ( 1 ) has a port ( 101 ) that is an opening providing ingress and egress of the object. The receiving hitch ( 1 ) is configured to facilitate attachment of the tow arm ( 6 ) to the cart ( 22 ). For instance, when the receiver hitch ( 1 ) is attached to the cart ( 22 ) and the tow arm ( 6 ) is mechanically engaged with the receiver hitch ( 1 ), the tow arm ( 6 ) is then mechanically engaged with the cart ( 22 ). With the tow arm ( 6 ) being part of a robot ( 16 ), the robot ( 16 ) is also mechanically engaged with the cart ( 22 ). It is contemplated for the mechanical engagement to be temporary and controlled via actuation of an end effector ( 11 ). Actuation of the end effector ( 11 ) will be discussed in more detail later. 
     The receiver hitch ( 1 ) is a member having a rear plate ( 32 ), a mounting plate ( 2 ), a cross member ( 30 ), and at least two side posts ( 3 ). Any of the rear plate ( 32 ), the mounting plate ( 2 ), and the cross member ( 30 ) can be a planar member having a rectangular, square, triangular, hexagonal, etc. profile. The rear plate ( 32 ) has a rear surface ( 32   a ) and a front surface ( 32   b ). The mounting plate ( 2 ) has a top surface ( 2   a ) and a bottom surface ( 2   b ). The cross member ( 30 ) has a top surface ( 30   a ) and a bottom surface ( 30   b ). The side posts ( 3 ) each have an outer surface ( 3   a ) and inner surface ( 3   b ). There can be one side post ( 3 ) positioned on one side of the receiver hitch ( 1 ) and another side post ( 3 ) positioned on an opposite side of the receiver hitch ( 1 ). Any one or combination of the side posts ( 3 ) can be located more at, or proximate to, the front face of the receiver hitch ( 1 ). 
     The rear plate ( 32 ) forms the rear surface of the receiver hitch ( 1 ), the mounting plate ( 2 ) forms the top of the receiver hitch ( 1 ), the cross member ( 30 ) forms the bottom of the receiver hitch ( 1 ), and the side posts ( 3 ) form the sides of the receiver hitch ( 1 ). The arrangement of the rear plate ( 32 ), the mounting plate ( 2 ), the cross member ( 30 ), and the side posts ( 3 ) form the port ( 101 ). For instance, the confines of the rear plate front surface ( 32   b ), the mounting plate bottom surface ( 2   b ), the cross member top surface ( 30   a ), and the side post inner surfaces ( 3   b ) define a cavity that is the port ( 101 ). 
     When attached to the cart ( 22 ), the rear surface ( 32   a ) faces the cart ( 22 ) and the front surface ( 32   b ) faces away from the cart ( 22 ). The front surface ( 32   b ) serves as a backing or mechanical stop for the tow arm ( 6 ) when the tow arm ( 6 ) is inserted through the port ( 101 ). Any one or combination of the rear plate ( 32 ), the mounting plate ( 2 ), or the cross member ( 30 ) can include features (e.g., flat surface for welding, fastener apertures, etc.) to facilitate attachment to a portion of the cart ( 22 ). In the exemplary embodiment shown in  FIG.  1   , the mounting plate ( 2 ) includes aperture(s) ( 102 ) to facilitate attachment of the receiver hitch ( 1 ) to the cart ( 22 ) via mechanical fasteners (e.g., bolts). 
     The receiver hitch ( 1 ) can further include at least two side members ( 4 ), each positioned between the rear plate ( 32 ) and a side post ( 3 )— e.g., there can be one side member ( 4 ) for one side of the receiver hitch ( 1 ) and one side member ( 4 ) for an opposing side of the receiver hitch ( 1 ). Each side member ( 4 ) can be a member having an axis ( 104 ) that extends from the rear plate ( 32 ) to a side post ( 3 ). This can include extending from the rear plate ( 32 ) to a side post ( 3 ), extending from the rear plate ( 32 ) to a location proximate the side post ( 3 ), extending from the side post ( 3 ) to a location proximate the rear plate ( 32 ), etc. With the side members ( 4 ), each side member ( 4 ) can, along with its respective side post ( 3 ), form the side of the receiver hitch ( 1 ). Each side member ( 4 ) can have an outer surface ( 4   a ) and an inner surface ( 4   b ). With the side members ( 4 ) in place, the inner surfaces ( 4   b ) can also be part of the structure that forms the cavity for the port ( 101 ). At least one side member ( 4 ) has at least a portion of its an inner surface ( 4   a ) that is angled, slanted, etc. such that surface of the inner surface ( 4   a ) is not parallel to the axis ( 104 ). For instance, the side member ( 4 ) can be wedge shaped. The angled portion can extend the entire length of the side member ( 4 ) or a portion thereof. The angled portion can be a sloped region, a step region, etc. of the inner surface ( 4   a ). It is contemplated for the angled portion of the side member ( 4 ) to be configured such that the side member ( 4 ) has a width at or near the front face of the receiver hitch ( 1 ) that is narrower than a width at or near the rear face of the receiver hitch ( 1 ). In other words, the side member ( 4 ) width becomes greater the further back towards the rear face of the receiver hitch ( 1 ). As noted above, there can be two side members ( 4 ), and it is contemplated for each to have an angled portion such that the narrower end is at or near the front face of the receiver hitch ( 1 ). With this configuration, the volume of the cavity of the port ( 101 ) is smaller at or near the rear face of the receiver hitch ( 1 ) than it is at or near the front face of the receiver hitch ( 1 ). The narrowing of the volume of the cavity serves as a guide to urge the tow arm ( 6 ) to the rear plate ( 32 ) and to further ensure that the tow arm ( 6 ) is in a proper orientation. 
     For instance, the inner surface ( 4   a ) of the side member(s) ( 4 ) can exhibit an angle at or near the front face but then extend straight back so as to be parallel with the axis ( 104 ). When the tow arm ( 6 ) is inserted into the port ( 101 ), the tow arm ( 6 ) is guided by the angled portions into the narrower cavity defined by the straight portions of the side member(s) ( 4 ) so as to ensure that the tow arm ( 6 ) is in position to make contact with the rear plate ( 32 ) front surface ( 32   b ) when the tow arm ( 6 ) is further inserted. The straight portions ensure that the head ( 106 ) of the tow arm ( 6 ) is perpendicular (or at least substantially perpendicular) to the rear plate front surface ( 32   b ). The mounting plate ( 2 ) bottom surface ( 2   b ) and cross member ( 30 ) top surface ( 30   a ) can also guide the tow arm ( 2 ) so that it maintains a proper orientation. A proper orientation is one in which the head  106  (the portion spearheading the insertion) of the tow arm ( 6 ) is perpendicular or substantially perpendicular to the rear plate front surface ( 32   b ). 
       FIG.  2    illustrates a rear, perspective view of an embodiment the autonomous mobile robot ( 16 ) used for hauling carts. The robot ( 16 ) includes a tow arm ( 6 ) configured to mate (e.g., form a mechanical engagement) with the receiver hitch ( 1 ).  FIG.  2    illustrates the tow arm ( 6 ) in the deployed state for mating with the receiver hitch ( 1 ). The tow arm ( 6 ) is movable in a vertical direction by means of a linear actuator ( 103 ). The vertical range of travel of the tow arm ( 6 ) is shown at ( 8 ). The robot ( 16 ) additionally includes a stowing zone ( 7 ) configured to stow the tow arm ( 6 ) when not in use. The tow arm ( 6 ) may be pivoted into the stowing zone ( 7 ) and secured therein when not in use. When deployed for use, the tow arm ( 6 ) is pivoted out of the stowing zone ( 7 ) to the position shown in  FIG.  2   , and then moved up/down to the desired position via the linear actuator ( 103 ). 
     The tow arm ( 6 ) is an elongate member having a pivot end ( 105 ) and a head end ( 106 ). The head ( 106 ) can have a rectangular-, square-, spear-, etc. shape. In an exemplary embodiment, the head has a spear shape. The spear shape can further assist with guiding the two arm ( 6 ) into the port ( 101 ). The pivot end ( 105 ) can include a pivot mechanism ( 12 ) that is a hinge, turret, gimbal, etc. with a motor, encoder, actuator, servo, etc. The pivot mechanism is attached to the robot ( 16 ). The pivot mechanism ( 12 ) can be configured to pivot the tow arm ( 6 ) to and from stowed and deployed positions. For instance, the pivot mechanism ( 12 ) can cause the tow arm ( 6 ) to pivot to an orientation that is defined by the tow arm ( 6 ) being parallel to the ground floor upon which the robot ( 16 ) is sitting. This can be the deployed position. The pivot mechanism ( 12 ) can cause the tow arm ( 6 ) to pivot to an orientation that is defined by the two arm ( 6 ) being perpendicular to the ground floor. This can be the stowed position. The pivoting motion can be a vertical motion (vertical with respect to the ground floor), a lateral/horizontal motion (lateral/horizontal with respect to the ground floor), etc. In some embodiments, the robot ( 16 ) includes a stowing zone ( 7 ) that is an indentation or cut-out formed in a surface of the robot ( 16 ). The stowing zone ( 7 ) is sized to accommodate the tow arm ( 6 ) when the tow arm ( 6 ) is pivoted to the stowed position—e.g., the tow arm ( 6 ) recesses into the indentation. 
     Referring to  FIG.  14   , the robot ( 16 ) includes a computing unit ( 108 ). The computing unit ( 108 ) can be a controller, a control module, etc. The computing unit includes a processor  109  and associated memory ( 110 ). Other components of the robot ( 16 ) or system controlling the robot may also have a processor. Any of the processors disclosed herein can be part of or in communication with a machine (e.g., a computer device, a logic device, a circuit, an operating module (hardware, software, and/or firmware), etc.). The processor can be hardware (e.g., processor, integrated circuit, central processing unit, microprocessor, core processor, computer device, etc.), firmware, software, etc. configured to perform operations by execution of instructions embodied in computer program code, algorithms, program logic, control, logic, data processing program logic, artificial intelligence programming, machine learning programming, artificial neural network programming, automated reasoning programming, etc. The processor can receive, process, and/or store data related to operations of the robot ( 16 ) or a component of the robot ( 16 ). 
     Any of the processors disclosed herein can be a scalable processor, a parallelizable processor, a multi-thread processing processor, etc. The processor can be a computer in which the processing power is selected as a function of anticipated network traffic (e.g., data flow). The processor can include any integrated circuit or other electronic device (or collection of devices) capable of performing an operation on at least one instruction, which can include a Reduced Instruction Set Core (RISC) processor, a CISC microprocessor, a Microcontroller Unit (MCU), a CISC-based Central Processing Unit (CPU), a Digital Signal Processor (DSP), a Graphics Processing Unit (GPU), a Field Programmable Gate Array (FPGA), etc. The hardware of such devices may be integrated onto a single substrate (e.g., silicon “die”), or distributed among two or more substrates. Various functional aspects of the processor may be implemented solely as software or firmware associated with the processor. 
     The processor can include one or more processing or operating modules. A processing or operating module can be a software or firmware operating module configured to implement any of the functions disclosed herein. The processing or operating module can be embodied as software and stored in a memory, the memory being operatively associated with the processor. A processing module can be embodied as a web application, a desktop application, a console application, etc. 
     The processor can include or be associated with a computer or machine readable medium. The computer or machine readable medium can include memory. Any of the memory discussed herein can be computer readable memory configured to store data. The memory can include a volatile or non-volatile, transitory or non-transitory memory, and be embodied as an in-memory, an active memory, a cloud memory, etc. Examples of memory can include flash memory, Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read only Memory (PROM), Erasable Programmable Read only Memory (EPROM), Electronically Erasable Programmable Read only Memory (EEPROM), FLASH-EPROM, Compact Disc (CD)-ROM, Digital Optical Disc DVD), optical storage, optical medium, a carrier wave, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the processor. 
     The memory can be a non-transitory computer-readable medium. The term “computer-readable medium” (or “machine-readable medium”) as used herein is an extensible term that refers to any medium or any memory, that participates in providing instructions to the processor for execution, or any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). Such a medium may store computer-executable instructions to be executed by a processing element and/or control logic, and data which is manipulated by a processing element and/or control logic, and may take many forms, including but not limited to, non-volatile medium, volatile medium, transmission media, etc. The computer or machine readable medium can be configured to store one or more instructions thereon. The instructions can be in the form of algorithms, program logic, etc. that cause the processor to execute any of the functions disclosed herein. 
     Embodiments of the memory can include a processor module and other circuitry to allow for the transfer of data to and from the memory, which can include to and from other components of a communication system. This transfer can be via hardwire or wireless transmission. The communication system can include transceivers, which can be used in combination with switches, receivers, transmitters, routers, gateways, wave-guides, etc. to facilitate communications via a communication approach or protocol for controlled and coordinated signal transmission and processing to any other component or combination of components of the communication system. The transmission can be via a communication link. The communication link can be electronic-based, optical-based, opto-electronic-based, quantum-based, etc. Communications can be via Bluetooth, near field communications, cellular communications, telemetry communications, Internet communications, etc. 
     Transmission of data and signals can be via transmission media. Transmission media can include coaxial cables, copper wire, fiber optics, etc. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infrared data communications, or other form of propagated signals (e.g., carrier waves, digital signals, etc.). 
     Any of the processors can be in communication with other processors of other devices (e.g., a computer device, a computer system, a laptop computer, a desktop computer, etc.). Any of the processors can have transceivers or other communication devices/circuitry to facilitate transmission and reception of wireless signals. Any of the processors can include an Application Programming Interface (API) as a software intermediary that allows two or more applications to talk to each other. Use of an API can allow software of the processor of one device/component to communicate with software of the processor of the other device(s)/component(s). 
     It is contemplated for the computing unit ( 108 ) to be in communication with other components of the robot ( 16 ) (e.g., tow arm ( 6 ), pivot mechanism ( 12 ), end effector ( 9 ), clamp(s) ( 11 ), clamp actuator ( 10 ), linear actuator ( 103 ), drive head ( 34 ), drive wheel(s) ( 35 ), side arm(s)  113 , sensor(s) ( 111 ), electrical breaker switch ( 114 ), magnet ( 100 ) etc.). Any one or combination of these components may or may not have a processor. The computing unit ( 108 ) can send command signals to the processor of these components or control electrical power transmission to these components to operate them directly. In addition, any of the components of the robot ( 16 ) can be in communication with another component. The communication can include the transmission of information data, operational data, command signals, etc. In other words, any component of the robot ( 16 ) can talk to other components of the system. This talking can be via direct communication between each component, or it can be via indirect communication via the computing unit ( 108 ). 
     As a non-limiting example, the computing unit ( 108 ) can control operation of the pivot mechanism ( 12 ) and other aspects of the tow arm ( 6 ). For instance, the computing unit ( 108 ) can send command signals to the pivot mechanism ( 12 ) to cause it to actuate. The pivot mechanism ( 12 ) may include a processor to receive command signals from the computing unit ( 108 ). The processor of the pivot mechanism ( 12 ) can also send data (e.g., operational data) and other communication signals to the computing unit ( 108 ). The processor(s) of the computing unit ( 108 ), the pivot mechanism ( 12 ), or other components of the robot ( 16 ) can be in communication with processor(s) of sensor(s) ( 111 ) of the robot ( 16 ). The sensor(s) ( 111 ) can measure, detect, or collect data. The data can be processed by the processor of the sensor ( 111 ) or transmitted to another component to have the processor of that component process the data. The processing can involve signal processing, data manipulation, logic analysis, probabilistic analysis, multivariant analysis, machine learning, data storage, etc. 
     The pivot mechanism ( 12 ) of the tow arm ( 6 ) can be connected to a linear actuator ( 103 ). The linear actuator ( 103 ) is configured to facilitate movement of the tow arm ( 6 ) in a vertical and/or horizontal direction—e.g., the pivot mechanism ( 12 ) along with the tow arm ( 6 ) is translated vertically and/or horizontally. The linear actuator ( 103 ) can include a worm gear, electric motor, and slide track for example. The linear actuator ( 103 ) may have an encoder to control or limit the amount and speed of vertical or horizontal translation. 
     As noted above, the tow arm ( 6 ) is an elongate member having a pivot end ( 105 ) and a head end ( 106 ). The tow arm ( 6 ) can include an end effector ( 9 ) located intermediate the pivot end ( 105 ) and head end ( 106 ). The end effector ( 9 ) is configured to interact with, interface with, mechanically engage with, electrically engage with, magnetically engage with etc. the receiver hitch ( 1 ) and/or the robot ( 16 ). In an exemplary embodiment, the end effector ( 9 ) includes at least one clamp ( 11 ). The clamp ( 11 ) includes a clamp actuating mechanism generally described and illustrated as a clamp actuator ( 10 ). The clamp actuator ( 10 ) includes mechanisms (e.g., linear actuator, solenoid, spring-loaded members, etc.) to facilitate actuation of clamp ( 11 ) so as to cause it to engage and disengage the side post(s) ( 3 ). As one example, the clamp ( 11 ) can be pivotally connected member that pivots inward (towards an axis ( 112 ) of the tow arm ( 6 )) and outward (away from the axis ( 112 ) of the arm ( 6 )). The clamp ( 11 ) can have a spring-loaded member as the clamp actuator ( 10 ) that is biased outward but can move inward. The clamp ( 11 ) can have barb or hook formations ( 11   a ) that engage the side post(s) ( 3 ), thereby mechanically engaging the tow arm ( 6 ) to the receiver hitch ( 1 ). As another example, the clamp ( 11 ) can include a linear actuator as the clamp actuator ( 10 ) to cause the clamp ( 11 ) to move inward and outward. With the linear actuator the clamp ( 11 ) can be pivotally connected or connected via a slide track. As another example, the clamp ( 11 ) can include a solenoid as the clamp actuator ( 10 ) to cause the clamp ( 11 ) to move inward or outward causing the clamp ( 11 ) to engage the side post(s) ( 3 ), thereby engaging the tow arm ( 6 ) to the receiver hitch ( 1 ). It is understood that the clamp actuator ( 10 ) can include any one or combination of these mechanisms. 
     In an exemplary embodiment, the end effector ( 9 ) has first clamp member ( 11 ) on one side of the tow arm ( 6 ) and a second clamp member ( 11 ) on another side of the tow arm ( 6 ). When the tow arm ( 6 ) is inserted in the port ( 101 ), the first clamp member ( 11 ) can be caused to selectively engage and disengage a first side post ( 3 ) and the second clamp member ( 11 ) can be caused to selectively engage and disengage a second side post ( 3 ). 
       FIG.  3    illustrates a top, perspective view of the rear of an embodiment of the robot ( 16 ) with the tow arm ( 6 ) in a deployed position. The tow arm ( 6 ) includes a self-centering spade type end effector ( 9 ) that mates with the side posts ( 3 ) of the receiver ( 1 ) (see  FIG.  1   ). The town arm ( 6 ) further includes end effector clamps ( 11 ) which grip the side posts ( 3 ) on the receiver hitch ( 1 ) to secure the cart for travel (see  FIG.  1   ). To align the robot and the receiver hitch, an electronically charged magnet ( 100 ) is activated if a sensor ( 111 ) detects the proximity of the rear plate of the receiver hitch ( 32 ) for the purposes of temporarily securing the end effector ( 9 ) to the receiver hitch ( 1 ). The robot ( 16 ) moves in a sideward direction in relation to the receiver hitch ( 1 ) to approximately square the robot ( 16 ) with the receiver hitch ( 1 ). Once approximately squared, the end effector clamps ( 11 ) grip the side posts ( 3 ) of the receiver hitch ( 1 ) and the robot ( 16 ) and the drive head ( 34 ) locks in place for travel. 
     The distal end of the head end ( 106 ) can include a magnet ( 100 ). The magnet ( 100 ) can be a permanent magnet or an electromagnet. In a preferred embodiment, the magnet ( 100 ) is an electromagnet. Electrical power is supplied to the electromagnet via the power supply ( 115 ) (e.g., battery) of the robot ( 16 ). Control of the electrical power to the electromagnet can be via a processor associated with the magnet ( 101 ) or via the computing unit ( 108 ). The tow arm ( 6 ), the receiver hitch ( 1 ), and/or the robot ( 16 ) can have a proximity sensor ( 111 ) (e.g., capacitive sensor, inductive sensor, magnetic sensor, optical sensor, sonic sensor, etc.) configured to detect proximity between the tow arm ( 6 ) and the receiver hitch ( 1 ). For instance, the sensor ( 111 ) can use the capacitive, inductive, etc. measurement to determine a distance between the tow arm ( 6 ) and the receiver hitch ( 1 ). The sensor ( 111 ) can include a process to compare the measurement to a threshold value, or the sensor ( 111 ) can transmit the measurement to the computing unit ( 108 ) or the processor of the magnet ( 100 ) which makes the comparison. If the distance is below the threshold value, then the determination can be that the tow arm ( 6 ) and the receiver hitch ( 1 ) are in proximity. If proximity is determined, the processor of the magnet ( 100 ) or the computing unit ( 108 ) causes electrical power to be transferred to the magnet ( 100 ). The magnet ( 100 ) is then activated to generate a magnetic attractive force between it and the receiver hitch ( 1 ). In this embodiment, the receiver hitch ( 1 ) rear plate ( 32 ) is made of ferromagnetic or paramagnetic material, a portion of the rear plate ( 32 ) is made of ferromagnetic or paramagnetic material, or a portion of the rear plate ( 32 ) includes a magnet so as to facilitate the magnetic attraction. 
     The magnetic attraction can be used to create a temporary engagement between the tow arm ( 6 ) and the receiver hitch ( 1 ). This can also be used to ensure that the tow arm ( 6 ) is in proper alignment (e.g., proper orientation as described herein and full seated within the port ( 101 )) before the clamp ( 11 ) is actuated. In addition, the magnetic attraction can assist with keeping the tow arm ( 6 ) within the port ( 101 ) should the robot ( 16 ) need to make adjustments in position. For instance, the sensor ( 111 ) can, based on the capacitive force, inductive force, etc., can determine whether the two arm ( 6 ) is properly aligned—e.g., the sensor ( 111 ) may three sensors and use a triangulation calculation to determine proper alignment. This triangulation can be performed by the computing unit ( 108 ), for example. The computing unit ( 108 ) can then send command signals to the motors, actuators, wheels ( 35 ,  36 ,  37 ), drive head ( 34 ), etc. of the robot ( 16 ) to cause it to adjust its position accordingly. It is understood that other methods for determining proper alignment can be used. 
     The robot ( 16 ) includes a drive system, which can comprise a drive head ( 34 ) and wheels ( 35 ,  36 ,  37 ) disposed on a bottom portion of the robot ( 16 ). The wheels ( 35 ,  36 ,  37 ) are configured to contact the ground floor and the drive head ( 34 ) is configured to provide mobility for the robot ( 16 ). Any of the wheels ( 35 ,  36 ,  37 ) can be drive wheels or passive wheels. A drive wheel is in electro-mechanical connection with a motor that causes to the wheel to spin. When in contact with the ground floor, the spinning wheel forces the robot ( 16 ) to move in a direction dictated by the spin direction of the wheel. A passive wheel is a wheel that spins freely and provides support for the robot&#39;s structure. In an exemplary embodiment, the robot ( 16 ) has four passive wheels ( 36 ,  37 ) located on a bottom portion of the robot ( 16 ) that is not part of the drive head ( 34 ) and two drive wheels ( 35 ) that are part of the drive head ( 34 ). The drive head ( 34 ) can be a rotatable mount, rotatable platform, a turret, etc. structure that causes the drive wheels ( 35 ) to rotate in unison when the drive head is rotated so as to facilitate steering the robot ( 16 ). There is an electrical motor connected to the rotatable mount and one or more electrical motors connected to the drive wheels ( 35 ). These electric motors are in communication with the computing unit ( 108 ), wherein the computing unit ( 108 ) controls electrical power transfer to the motors to control operation of the motors. Alternatively, any of the motors can have their own processors that control their operation, wherein the computing unit ( 108 ) transmits command signals to the processors to control operation of the motors. 
       FIG.  4    is a close-up perspective view of an embodiment of the tow arm ( 6 ) and spade type end effector ( 9 ).  FIG.  4    shows the clamp actuator ( 10 ) and end effector clamps ( 11 ). The tow arm ( 6 ) includes a hinging mechanism ( 12 ) for pivoting and storing the tow arm ( 6 ) in the stowing zone ( 7 ) (see  FIGS.  2 - 3   ). The self-centering spade type end effector ( 9 ) is generally guided into place by the converging sides ( 4 ) of the receiver hitch. Once proximity of the receiver hitch ( 1 ) with the rear plate ( 32 ) is detected by a sensor ( 111 ) the electronically actuated magnet ( 100 ) is activated so as to generate a magnetic force and a temporary attachment between the tow arm ( 6 ) and the receiver hitch ( 1 ). 
     The robot then rotates relative to the cart ( 22 ) and approximately squares itself to the receiver hitch ( 1 ). Once approximately aligned, the end effector clamps ( 11 ) close on the side posts ( 3 ) of the receiver hitch ( 1 ) to secure it for travel. 
       FIG.  5    illustrates a front view of an embodiment of the robot ( 16 ) having a charging receptor ( 13 ), repositionable side sensors ( 111 ), and a user interface ( 15 ).  FIG.  5    shows exemplary repositionable sensors ( 111 ) as being extendable/retractable, but the repositioning can be a rotation, a tilting, an extension, a retraction, etc. For instance, any of the sensors ( 111 ) can be attached to an arm that extends or retracts (e.g., via a linear actuator). Any of the sensors ( 111 ) can be attached to a rotatable mechanism (e.g., a rotary motor, a gimbal assembly, etc.) to allow the sensor ( 111 ) to be rotated. In addition, any of these repositionable sensors ( 111 ) can be located on any portion of the robot ( 16 ) (e.g., the side, the top, the rear, the front, etc.). In the example of  FIG.  5   , the side sensors ( 111 ) are shown in a default, retracted position. However, the side sensors ( 111 ) are extendable outward to a desired position to allow the sensors ( 111 ) to see beyond the edge of the cart attached to the robot ( 16 ). 
     The robot ( 16 ) includes a charging receptor ( 13 ) configured to receive an electrical connector so as to facilitate electrical power transfer from an electrical power source to the robot ( 16 ). The charging receptor ( 13 ) can include components such as transformers, transducers, converters, etc. to facilitate electrical power conversion and transfer. 
     The robot ( 16 ) includes a user interface ( 15 ), which can be a display screen, keypad, touchscreen, etc. configured to display information, receive input, facilitate command and control of one or more functions of the robot ( 16 ) or components of the robot ( 16 ), etc. The display of the user interface can be textual display, graphical display, audible display, etc. Command inputs can be textual, haptic, audible, etc. 
     The robot ( 16 ) can include any number or combination of sensors ( 111 ). A sensor(s) ( 111 ) can be located on any portion of the robot ( 16 ). An one or combination of sensors ( 111 ) can be proximity sensors, temperature sensors, pressure sensors, accelerometers, vibration sensors, sonar sensors, LIDAR sensors, RADAR sensors, cameras, etc. Any of the sensors disclosed herein can include a processor or transmit measurement data to the computing unit ( 108 ) for data processing. Data processing can include signal processing, data manipulation, logic analysis, fuzzy logic, probabilistic analysis, interpolation, extrapolation, inferencing, regression analysis, multivariant analysis, machine learning, machine inference learning, artificial intelligence, automated reasoning, optical character recognition, vision interpretation, vision inferencing, etc. 
     In an exemplary embodiment, the robot ( 16 ) has two side sensors ( 111 )— e.g., a first sensor ( 111 ) located on one side of the robot ( 16 ) and a second sensor ( 111 ) located on an opposite side of the robot ( 16 ). Each side sensor ( 111 ) can be disposed on a distal end of a side arm ( 113 ). It is contemplated for these side sensors ( 111 ) to be any one or combination of sonar sensors, LIDAR sensors, RADAR sensors, cameras, etc. These sensors ( 111 ) can be used to assist the robot ( 16 ) in navigation, accident avoidance, positioning, determining if there is a cart ( 22 ) present, determining if there is an object or obstacle in the robot&#39;s ( 16 ) path, etc. 
     The arm ( 113 ) can be extendable and retractable—e.g., each arm ( 113 ) can be connected to a linear actuator, encoder, motor, servo, etc. can causes the arm ( 113 ) to extend and retract from and into an arm cavity of the robot ( 16 ).  FIG.  5    shows each arm ( 113 ) in a retracted position and  FIG.  14    shows each arm in an extended position. Each arm ( 113 ) can have a processor that controls the arm ( 113 ) or have its actuator component in communication with the computing unit ( 108 ), wherein the computing unit ( 108 ) controls the arm ( 113 ). Each arm ( 113 ) can be extended to position its respective sensor ( 111 ) in an optimal location for sensing. For instance, if an obstruction is detected or if a sensor(s) ( 111 ) detects mechanical engagement with a cart ( 22 ) (e.g., via mechanical engagement between a tow arm ( 6 ) and receiver hitch ( 1 )), any one or combination of the arms ( 113 ) can be extended to provide the sensor ( 111 ) with a desired field of view, a desired parallax, etc. As a non-limiting example, if mechanical engagement with a cart ( 22 ) is detected, any one or combination of the arms ( 113 ) can be extended to allow the sensor(s) ( 111 ) to have field of view that extends around and/or beyond the cart ( 22 ). Otherwise, the arms ( 113 ) can be retracted so as to reduce the profile of the robot ( 16 ). Also, it is contemplated for the arms ( 113 ) to be extended only as far out as needed for navigation so as to maintain a small as possible profile for the robot ( 16 ). The dimensions of the cart ( 22 ) or object can be determined via the sensor data and/or via a lookup table. These dimensions can be used to determine how far to extend the arm(s) ( 113 ). 
     It should be noted that there can be any number of arms ( 113 ) and any number of sensors ( 111 ) for each arm ( 113 ). Exemplary embodiments show the arms ( 113 ) positioned on the side of the robot ( 16 ); however, the robot ( 16 ) can have any number or combination of arms ( 113 ) positioned at any location. For instance, the robot ( 16 ) can have an arm ( 113 ) located at the top of the robot ( 16 ) (e.g., the top arm ( 113 ) can be used in a periscope manner. 
     In addition, any of the sensors ( 111 ) can be attached to a rotatable mechanism (e.g., a rotary motor, a gimbal assembly, etc.) to allow the sensor ( 111 ) to be rotated. This rotatable mechanism can include a processor and be in communication with the computing unit ( 108 ). The computing unit ( 108 ) can send command signals to control the angle at which the sensor ( 111 ) oriented. As a non-limiting example, if the cart ( 22 ) information indicates that the cart ( 22 ) is wide, a sensor ( 111 ) can be rotated outward to provide a wider view. 
     As noted above, the dimensions of the cart ( 22 ) or object can be determined via sensor data and/or via a lookup table. These dimensions can be used by any of the processors disclosed herein to determine how far to extend the arm(s) ( 113 ). These dimensions can also allow any of the processors to determine how far to pivot the tow arm ( 6 ) (e.g., via actuation of the pivot mechanism ( 12 )), at which vertical/horizontal position the tow arm ( 6 ) should be in (e.g., via actuation of the linear actuator ( 103 )), how to position/re-position the robot ( 16 ) (e.g., via actuation of the drive head ( 34 ) and/or drive wheels ( 35 )), etc. so as to provide proper alignment of the tow arm ( 6 ) when attempting to inset the tow arm ( 6 ) into the port ( 101 ) and mechanically engage with the receiver hitch ( 1 ) of a cart ( 22 ). One cart ( 22 ) may have dimensions that differ from another cart ( 22 ). Thus, the tow arm ( 6 ) may have to be positioned at a first height to connect to the receiver hitch ( 1 ) of one cart ( 22 ), positioned at a second height to connect to the receiver hitch ( 1 ) of another type of cart ( 22 ), etc. Similarly, the arms ( 113 ) may not need to be extended for navigation when the robot ( 16 ) is towing a one cart ( 22 ), but may have to be extended when towing another type of cart ( 22 ). While sensor data can be used to determine the dimensions of the cart ( 22 ), it is contemplated for an identifier ( 5 ) to be included with the receiver hitch ( 1 ). The identifier ( 5 ) of the receiver hitch ( 1 ) can be configured to identify a specific cart ( 22 ), a specific type of cart ( 22 ), etc. The identifier ( 5 ) can be an RFID tag, a bar code, a QR code, etc. A sensor ( 111 ) (e.g., camera, RFID reader/scanner, etc.) on the robot ( 16 ) and/or the tow arm ( 6 ) can be used to read the identifier ( 5 ). The sensor ( 111 ) can include a processor to process the data or transmit the data to the computing unit ( 108 ) for processing. 
     In an exemplary embodiment, the identifier ( 5 ) is located on the rear plate ( 32 ) and the sensor ( 111 ) is located on the tow arm ( 6 ). The identifier ( 5 ) is an RFID tag and is encoded with identifying information about the cart ( 22 ). When the robot ( 16 ) is in close proximity to the cart ( 22 ), the sensor ( 111 ) picks up the RFID tag information. This information is used by the computing unit ( 108 ) to identify the cart ( 22 ), wherein the computing unit ( 108 ) then refers to a lookup stored in memory ( 110 ) to obtain parameters ( 28 ) (e.g., dimensions, weight constrains, etc.) of the cart ( 22 ). 
       FIG.  6    is a side view of an embodiment of the robot ( 16 ) ready to tow an exemplary cart ( 22 ). For convenience, the cart ( 22 ) is shown in broken lines. As shown in  FIG.  6   , the tow arm ( 6 ) is deployed via the pivot mechanism ( 12 ) and lowered via the linear actuator ( 103 ) to match the height of the receiver hitch ( 1 ) which is attached to an exemplary cart ( 22 ). The tow arm ( 6 ) is lowered and then the robot ( 16 ) is driven backward via the drive head ( 35 ) to position the tow arm ( 6 ) into the receiver hitch ( 1 ). The spade type end effector ( 9 ) on the tow arm ( 6 ) is pushed into place against the converging sides ( 4 ) of the receiver hitch ( 1 ). The electronically charged magnet ( 100 ) engages the rear side ( 32 ) of the receiver hitch ( 1 ), and the robot ( 16 ) adjusts its position to be approximately square to the receiver hitch ( 1 ). Then the clamps on the end effector ( 11 ) close onto the side posts ( 3 ) of the receiver hitch ( 1 ) to secure the cart ( 22 ) for towing by the robot ( 16 ). 
       FIG.  7    illustrates an embodiment of the robot ( 16 ) with the tow arm ( 6 ) deployed for connection to the receiver hitch ( 1 ) in order to tow the cart ( 22 ). When the robot ( 16 ) identifies the cart ( 22 ) through a process described herein, the tow arm ( 6 ) is deployed. At this point, the tow arm ( 6 ) lowers to the proper height of the receiver hitch ( 1 ) as specified in a lookup table (see Table 1). 
     
       
         
           
               
             
               
                 TABLE 1 
               
             
            
               
                   
               
               
                 Exemplary Lookup Table 
               
            
           
           
               
               
               
               
               
               
               
            
               
                   
                   
                 Receiver 
                   
                   
                   
                   
               
               
                 Serial 
                 Cart type 
                 Height 
                 Property A 
                 Property B 
                 Property C 
                 Property . . . 
               
               
                   
               
               
                 123 
                 A 
                 8 
                 32 
                 32 
                 54 
                   
               
               
                 457 
                 B 
                 6 
                 26 
                 32 
                 42 
                   
               
               
                 891 
                 B 
                 6 
                 26 
                 32 
                 42 
               
               
                   
               
            
           
         
       
     
     The robot ( 16 ) backs up to the receiver hitch ( 1 ), and the end effector ( 9 ) self-centers between the converging sides ( 4 ) of the receiver hitch ( 1 ). When the head end ( 106 ) of the receiver hitch ( 1 ) is detected by a sensor ( 111 ), the electronically charged magnet ( 100 ) is activated. 
     The robot ( 16 ) moves in a sideward direction with the end effector ( 9 ) pressed into the receiver hitch to mechanically align the end effector ( 9 ) and tow arm ( 6 ) squarely with the receiver hitch ( 1 ). At least one of the second sensors ( 111 ) can be used to detect this alignment (e.g., using any of the alignment techniques discussed above). Once aligned, the end effector ( 9 ) clamps ( 11 ) are retracted onto the side posts ( 3 ) to secure the receiver hitch ( 1 ) to the robot ( 16 ) for towing the cart ( 22 ). Based on the parameters ( 28 ) of the cart ( 22 ), the arms ( 113 ) are extended to extend beyond the outside edges of the cart ( 22 ) to provide sideward and rearward sensor coverage even when the cart ( 22 ) exceeds the default sensor envelope of the robot ( 16 ). 
       FIG.  8    illustrates the bottom view of an embodiment of the robot ( 16 ) and its pivoting and locking drive platform ( 34 ). As illustrated in  FIG.  8   , the left embodiment of the robot ( 16 ) shows the drive train arranged in a forward driving angle, and the right embodiment shows the drive platform ( 34 . 1 ) pivoting at an exemplary angle. The two drive wheels ( 35 ) are motorized by two independent electronic drive motors, and are attached to the drive platform ( 34 ). The drive platform ( 34 ) is capable of swiveling to provide the robot ( 16 ) with the mobility necessary to move carts ( 22 ) around obstacles and transport them within confined spaces. The combination of the independent drive wheels ( 35 ) with the rotating drive platform ( 34 ) allows the robot ( 16 ) to drive and turn at very sharp angles relative to its original heading. The exemplary wheels of the robot ( 16 ) are shown as a combination of rotating drive wheels ( 35 ), wheel casters ( 36 ), and fixed ball casters ( 37 ). This wheel arrangement provides stability to all corners of the robot ( 16 ) and allows a user to easily maneuver the robot by hand, if necessary. 
       FIG.  9    illustrates a rear isometric view of an embodiment of the robot ( 16 ) with its tow arm ( 6 ) pivoted upward and secured in its stowing zone ( 7 ). The tow arm ( 6 ) is attached to a hinging mechanism ( 12 ) and the lifting of the tow arm ( 6 ) is electromechanically controlled by the robot ( 16 ) through the use of motors. When the robot ( 16 ) is not tending to a cart ( 22 ), the tow arm ( 6 ) pivots upward by virtue of a motor into its stowing zone ( 7 ) so as to minimize the footprint of the robot ( 16 ) while traveling and eliminate the potential tripping hazard of the tow arm ( 6 ) if it was deployed without tending to a cart ( 22 ). 
       FIG.  10    is a front perspective view of an embodiment of the robot ( 16 ) illustrating a ledge detection operation via a ledge detection sensor ( 111 ) detecting an exemplary ledge. The exemplary ledge shown is an open stairway ( 39 ) positioned to the side of the robot ( 16 ). As illustrated, the downward facing ledge detection sensor ( 111 ) is shown mounted on the robot ( 16 ) at or near the top and at an exemplary angle to detect the presence of a ledge parallel to the travel path of the robot ( 16 ). Various installation located and angle positions may be utilized based on the coverage of the sensor ( 111 ), but the combination of the installation angle and the sensor design should be selected to detect the ledge within a sufficient distance ( 40 ) so the robot ( 16 ) stops in time to avoid the danger. The ledge detection sensor ( 111 ) constantly monitors the travel path of the robot ( 16 ) and when a ledge in its parallel path is detected, the computing unit ( 108 ) sends a signal to the motors of the robot ( 16 ) to move or stay away from the detected ledge, or to activate a safety switch ( 114 ) (see  FIG.  14   ) of the robot ( 16 ) to cut power to avoid any further travel. As shown in  FIG.  10   , the ledge detection sensor ( 111 ) has detected an exemplary ledge parallel to its travel path shown, for example, as an open stairway ( 39 ). 
     The robot ( 16 ) can include any number of ledge detection sensors ( 111 ). The ledge detection sensor ( 111 ) can be a sonar sensor, a LIDAR sensor, a RADAR sensor, a camera, etc. The ledge detection sensor ( 111 ) can be set at a fixed angle, be attached via a socket mechanism to allow for adjustment of the angle, or be attached via a gimbal assembly to allow for automated adjustment of the angle. The sonar, LIDAR, RADAR, or image readings from the sensor ( 111 ) can be processes by a processor of the sensor ( 111 ) or transmitted to the computing unit ( 108 ) for processing. Using known techniques of determining depth perception, range-finding, etc. differential distances between the sensor ( 111 ) and the ground floor and the locations of the changes in these distances can be detected or calculated. If the change in distance is above a threshold (e.g., indicating a large change in elevation) and the change in distance occurs within a predefined space (e.g., indicating a non-gradual change in elevation), then it can be determined that a ledge or a step is within the robot&#39;s ( 16 ) path or is in close proximity to the robot ( 16 ). The logic of the computing unit ( 108 ) that navigates the robot ( 16 ) can use this information to steer the robot ( 16 ) away from the ledge/step, around the ledge/step, and/or cause the robot ( 16 ) to stop and wait for manual operation or manual control (e.g., hand push the robot or control of the robot&#39;s electrical drives to steer it via a human using the user interface ( 15 )). In some embodiment, a safety measure can be implemented in which the robot&#39;s ( 16 ) drive head ( 34 ) and drive wheels ( 35 ) are locked to prevent further travel when a ledge/step in the robot&#39;s ( 16 ) path or proximity is detected. For instance, the robot ( 16 ) can include an electrical breaker switch ( 114 ) that prevents electrical power from being transmitted to the drive head ( 34 ) and drive wheels ( 35 ). In addition, the electrical breaker switch ( 114 ) can be configured to supply electrical power to a mechanical lock that locks the drive head ( 34 ) and the drive wheels ( 35 ) in place. Alternatively, the mechanical lock can be in the electrical power circuit supplying electrical power to the drive head ( 34 ) and drive wheels ( 35 ), wherein the mechanical lock is in a non-locked position when electrical power is being supplied but when the electrical breaker switch ( 114 ) breaks the circuit the mechanical lock locks—e.g., the mechanical lock is configured to lock when there is no electrical power being supplied to it. The control of the electrical breaker switch ( 114 ) can be via the processor of the ledge detection sensor ( 111 ) or the computing unit ( 108 ). The electrical breaker switch ( 114 ) can be reset (e.g., switched to permit electrical power transfer) by a user via the user interface ( 15 ), by a user switching a mechanical switch in connection with the electrical breaker switch, etc. 
     For safety it is contemplated for the sensor(s) ( 111 ) and processor(s) collecting and processing data for ledge/step detection do so continuously; however, this can be done periodically, at predetermined times, via control logic dictated by artificial intelligence, at the command of a user operating the robot ( 16 ), etc. The same applies for other sensors ( 111 ) of the robot ( 16 ). 
     While exemplary embodiments show side sensors ( 111 ), ledge detection sensors ( 111 ), identifier reader sensors ( 111 ) in specific locations, it is understood that any one or combination of these sensors ( 111 ) can be located at different locations, depending on design and operational criteria. Furthermore, any of these sensors ( 111 ) can be configured to perform one or more sensor functions or provide data to a processor to allow the processor to use that data for any of the detection, navigation, positioning, etc. functions described herein. 
       FIG.  11    illustrates a side perspective view of an exemplary embodiment of the robot ( 16 ) and the ledge detection sensor ( 111 ) (one of the side sensors) detecting an exemplary ledge shown, for example, as an open stairway ( 39 ). As illustrated, the downward facing ledge detection sensor ( 111 ) is shown mounted on the robot ( 16 ) at or near the top and at an exemplary angle to detect the presence of a ledge in the forward travel path of the robot ( 16 ), which can be perpendicular to the forward path or at an angle. Various installation located and angle positions may be utilized based on the coverage of the sensor ( 111 ), but the combination of the installation angle and the sensor ( 111 ) design should be selected to detect the ledge within a sufficient distance ( 40 ) so the robot ( 16 ) stops in time to avoid the danger. The ledge detection sensor ( 111 ) constantly monitors the travel path of the robot ( 16 ) and when a ledge in its forward path is detected, the computing unit ( 108 ) sends a signal to the drive head ( 34 ) and drive wheels ( 35 ) to move/turn the robot ( 16 )) or cause the robot ( 16 ) to stay away from the detected ledge, or to activate a safety switch ( 114 ) of the robot ( 16 ) to cut electrical power to avoid any further travel. As shown in  FIG.  11   , the ledge detection sensor ( 111 ) has detected an exemplary ledge in its travel path shown, for example, as an open stairway ( 39 ). 
     Embodiments of the robot ( 16 ) can use machine learning to approximate the location of a receiver hitch ( 1 ) and determine the dimensions and orientation of the receiver hitch ( 1 ) so as to allow the robot ( 16 ) to position itself and the tow arm ( 6 ) in a proper alignment or an almost-proper alignment. If positioned in an almost-proper alignment, other sensor ( 111 ) data and repositioning discussed above can be done to fine tune the positioning and orientation so as to generate a proper alignment between the tow arm ( 6 ) and receiver hitch ( 1 ). With machine learning, a model is built and stored in memory ( 110 ) of the computing unit ( 108 ). The computing unit ( 108 ) implements the model to approximate the location and determine dimensions and orientation of the receiver hitch ( 1 ) when the robot ( 16 ) approaches a cart ( 22 ). 
     During building of the model, three-dimensional map images of receiver hitches ( 1 ) can be generated, and probabilistic analytics, multivariance analysis, regression analytic, cost/objective function analysis, simulated annealing analysis, etc. can be used to develop a data set of receiver hitches ( 1 ). This data set can be a training data set to develop a model. The model can then be stored in memory ( 110 ) of the computing unit ( 108 ). When the robot ( 16 ) approaches a cart ( 22 ), sensor data can obtain dimensional information about the receiver hitch ( 1 ) and fed into a depth map pattern solver program implemented by the computing unit ( 108 ). The solver uses probabilistic analytics, multivariance analysis, regression analytic, etc. to identify a match between the receiver hitch ( 1 ) on the cart ( 22 ) and those stored in the model. When a match is found, the computing unit ( 108 ) can use the dimensions of the receiver hitch stored in the model as a guide to begin to determine robot ( 16 ) and tow arm ( 6 ) positioning as to provide a proper alignment. 
     The model can be updated and improved upon by the computing unit ( 108 ) feeding sensor data of receiver hitches ( 1 ) the robot ( 16 ) encounters to the model. The computing unit ( 108 ) causes the model to incorporate this sensor data into the data set. Machine learning techniques can be used to update the model. 
       FIG.  12    illustrates an embodiment of the receiver hitch ( 1 ) in different orientations and how features can be used for algorithmic detection and alignment. The receiver hitch ( 1 ) is installed below a cart ( 22 ) at a position which is viewable by the robot&#39;s ( 16 ) sensors ( 111 ). For the robot ( 16 ) to detect a cart ( 22 ) for pickup, it looks for the presence of the hitch ( 1 ). For the robot ( 16 ) to correctly align with the hitch ( 1 ) so the tow arm end effector ( 9 ) can mate to the hitch ( 1 ), it uses the relative position of the hitch ( 1 ) features. 
       FIG.  12    presents two exemplary hitch ( 1 ) orientations ( 1 A and  1 B) viewable by the robot ( 16 ) depending on the placement of the robot ( 16 ) relative to the hitch ( 1 ). As can be appreciated, a myriad of viewable orientations is possible, and therefore the points and number of points detected by the robot ( 16 ) are dependent on such orientations. 
     As illustrated in  FIG.  12   , the hitch ( 1 ) has known features and these features change relative to the robot&#39;s point of view. A plurality of views far beyond the scope of the illustrated exemplary orientations are analyzed and stored (e.g., supplied to a machine learning algorithm) so that any hitch ( 1 ) orientation seen by the robot ( 16 ) will allow the robot ( 16 ) to recognize and locate the cart ( 22 ). Once recognized, the robot ( 16 ) can proximately align itself and its tow arm ( 6 ) to mate up with the receiver hitch ( 1 ), and determine the appropriate approach angle for rearward travel. Rather than detect the pose of the cart ( 22 ), which could have a wide variety of features depending on the carts ( 22 ) used by the customer, the robot ( 16 ) will detect the relative alignment of features on the receiver hitch ( 1 ). 
     The detection process can include of a two-part methodology utilizing both a depth map pattern solver and a machine learning model trained to locate the hitch ( 1 ). 
     The depth map pattern solver uses a depth map obtained through a 3D depth camera. The 3D points, produced from a single scan line of the image, are processed looking for a pattern matching the hitch ( 1 ). The pattern solver looks for peaks and valleys between them in the data corresponding to features such as the side posts ( 3 ) of the hitch ( 1 ) along with the back plate ( 32 ). If matching patterns are found in enough scan lines, the results are returned as a match. 
     The image-based machine learning system is trained using synthetic data generated using realistic 3D rendered images as well as real world images of the hitch ( 1 ) attached to the cart ( 22 ). The current model is trained to find unique key points on the hitch ( 1 ) using a convolutional neural network. Exemplary features being targeted by the problem solver include point-targets on the side posts ( 3 ), front edge of the lower cross member ( 30 ), on the surface of the chamfered sides the side members ( 4 ), on the front edge of the upper cross member ( 2 . 1 ) and on the rear plate ( 32 ). 
       FIG.  13    illustrates an embodiment of a locking drive head mechanism ( 50 ) which is engaged by virtue of an actuated engaging pin ( 52 ) so the robot ( 16 ) can maintain a fixed heading relative to the pivoting drive platform ( 34 ) during certain operations. A cutaway view of the side of the pivoting drive head ( 34 ) is shown along with a top view of the rotating locking mechanism ( 51 . 1 ). 
     During travel without a cart ( 22 ), when completing final attachment to the receiver hitch ( 1 ), or when positioning itself generally, the drive head ( 34 ) can be locked via the engaging pin ( 52 ) having been actuated by the actuator ( 53 ) into one of the spherical openings ( 54 ) fashioned into the top plate ( 55 ) which is secured on the rotating locking mechanism ( 51 ). As shown, the head can lock in 90-degree increments, but if spherical openings ( 54 ) are added in the top plate ( 55 ), the precision of the locking direction can be increased. 
     During cart attachment the sensors ( 111 ) determine the angle of the tow arm ( 6 ) relative to the receiver hitch ( 1 ) so that the head ( 34 ) can rotate in the correct direction and increments to lock. The locking drive head mechanism ( 50 ) allows the robot ( 16 ) to move sideways (even if a torque is present on the tow arm ( 6 )) to facilitate alignment of the end effector ( 9 ) with the hitch ( 1 ) and to allow the robot ( 16 ) to maneuver into narrow spaces (fort example, when docking at a charging station). 
     It will be apparent to those skilled in the art that numerous modifications and variations of the described examples and embodiments are possible in light of the above teachings of the disclosure. The disclosed examples and embodiments are presented for purposes of illustration only. Other alternate embodiments may include some or all of the features disclosed herein. Therefore, it is the intent to cover all such modifications and alternate embodiments as may come within the true scope of this invention, which is to be given the full breadth thereof. Additionally, the disclosure of a range of values is a disclosure of every numerical value within that range, including the end points.