USER CONTROL DEVICE FOR A CONVEYOR.
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- DEKA PRODUCTS LP
- Filing Date
- 2018-10-12
- Publication Date
- 2026-05-19
AI Technical Summary
Existing personal vehicles lack the ability to automatically detect key environmental features and react accordingly, posing challenges in navigating obstacles, traversing steps, using elevators, and parking securely.
A user control device equipped with a user control processor (UCP) that integrates sensors and processors to automatically detect environmental features, allowing the vehicle to navigate obstacles, traverse steps, use elevators, and park safely by generating motion commands based on user input and sensor data.
Enhances the vehicle's ability to autonomously navigate complex environments, improving safety and reliability by avoiding obstacles, traversing stairs and doors, using elevators, and securing parking, thereby enhancing user convenience.
Smart Images

Figure MX433932B0
Abstract
Description
USER CONTROL DEVICE FOR A CONVEYOR CROSS REFERENCE TO RELATED APPLICATIONS This application claims the benefit of the provisional application in the U.S. with serial no. 62 / 322,522, filed on April 14, 2016, entitled USER CONTROL DEVICE FOR A TRANSPORTER (ATTORNEY'S CASE NO. R52), which is incorporated herein by reference in its entirety. BACKGROUND OF THE INVENTION The present instructions refer generally to personal vehicles, and more specifically to vehicle control devices that have higher safety and reliability requirements. Currently, personal vehicles can ascend and descend steps. Such devices may include a plurality of wheels rotating around axles that are fixed to a grouping arm. The grouping arm can rotate around an axis so that the wheels rest on successive steps. Currently, a user can enter or exit a car or other enclosed vehicle, and can load a personal vehicle into or out of the enclosed vehicle. What is needed is a user control device that can automatically determine the locations of key features in the personal vehicle environment and that can make the personal vehicle react automatically to those key features. BRIEF DESCRIPTION OF THE INVENTION The user control device of these teachings may include, but is not limited to, a user control processor (UCP) auxiliary that can provide enhanced functionality for the user of a personal vehicle, such as a transporter of these teachings, for example, but not limited to, assisting a transporter user in avoiding obstacles, passing through doorways, traversing steps, riding in elevators, and parking / transporting the transporter. The UCP auxiliary can receive input from the user and / or input from power base processors (PBPs) that can control the transporter, and can enable the invocation of a processing mode that has been selected automatically or manually. A command processor can enable the invoked mode by generating movement commands based on at least previous movement commands, user data, andAGGAZ Ln / Lznz / E / YILI sensor data. The command processor can receive user data, which may include joystick signals indicating the desired direction and speed of conveyor movement. User data may also include mode selections for the conveyor to transition between. Selectable modes include door mode, room mode, enhanced step mode, elevator mode, mobile storage mode, and static storage / loading mode. Any of these modes may include a move-to-position function, or the user may direct the conveyor to move to a specific position.The auxiliary UCP can generate commands such as movement commands, which may include, but are not limited to, speed and direction commands, and the movement commands can be sent to the PBPs, which can transmit this information to the motorized wheel drives and the cluster motor drives. Sensor data can be collected by sensor handling processors, which may include, but are not limited to, a conveyor geometry processor, a point cloud library (PCL) processor, a simultaneous localization and mapping (SLAM) processor, and an obstacle processor. Motion commands can also be sent to the sensor handling processors. The sensors can provide environmental information, which may include, for example, but is not limited to, geometric and obstacle information around the conveyor. The sensors may include at least one time-of-flight sensor, which can be mounted anywhere on the conveyor. Multiple sensors can be mounted on the conveyor. The PCL processor can gather and process environmental information and can produce PCL data that can be processed by a PCL library. The conveyor geometry processor described herein can receive conveyor geometry information from sensors, perform any processing necessary to prepare the conveyor geometry information for use by mode-dependent processors, and provide the conveyor geometry information to mode-dependent processors. The conveyor geometry can be used to automatically determine whether the conveyor can fit into and / or through a space, such as a staircase or doorway. The SLAM processor can determine navigation information based on, but not limited to, user information, environmental information, and motion commands. The conveyor can travel along a path determined, at least in part, by this navigation information.An obstacle processor can locate obstacles and distances to them. Obstacles can include, but are not limited to, doors, steps, cars, and miscellaneous features that are in the vicinity of the conveyor's path. RPCZ Ln / Lznz / E / YILI The obstacle processing method described herein may include, but is not limited to, receiving movement commands and user information, receiving and segmenting PCL data, identifying at least one plane within the segmented PCL data, and identifying at least one obstacle within that plane. The obstacle processing method may also include determining at least one situation identifier based on at least the obstacles, user information, and movement commands, and determining the distance between the conveyor and the obstacles based on at least the situation identifier. The obstacle processing method may also include accessing at least one permitted command related to the distance, the obstacle, and the situation identifier.The method for processing obstacles may also include accessing an automatic response to the allowed command, mapping the move command to one of the allowed commands, and providing the move command and the automatic response associated with the mapped allowed command to mode-dependent processors. Obstacles can be stationary or moving. The distance can be a fixed amount and / or a dynamically varying amount. The movement command can include, but is not limited to, a follow command, a pass command, a travel around the obstacle command, and a do not follow command. Obstacle data can be stored and retrieved locally and / or in a cloud-based storage area, for example. The method can optionally include storing the obstacle data and allowing access to the stored obstacle data by systems external to the conveyor.The obstacle processing method may optionally include collecting sensor data from a time-of-flight camera mounted on the conveyor, analyzing the sensor data using a point cloud library (PCL), tracking the moving object using SLAM based on the conveyor's location, identifying a plane within the obstacle data, and providing the automatic response associated with the allowed command mapped to the mode-dependent processors. The obstacle processing method may optionally receive a summary command and, after the summary command, provide a move command and the automatic response associated with the allowed command mapped to the mode-dependent processors. The automatic response may include a speed control command. The obstacle processor described herein may include, but is not limited to, a nav / PCL data processor. The nav / PCL processor may receive movement commands and user input, and may receive and segment PCL data from a PCL processor, identify a plane within the segmented PCL data, and identify obstacles within the plane. The obstacle processor may include a distance processor. RPCZ Ln / Lznz / E / YILI The distance processor can determine a status identifier based on user information, the move command, and obstacles. The distance processor can determine the distance between the conveyor and obstacles based on at least the status identifier. The moving object processor and / or the stationary object processor can access the allowed command related to distance, obstacles, and the status identifier. The moving object processor and / or the stationary object processor can access an automatic response from a list of automatic responses associated with the allowed command. The moving object processor and / or the stationary object processor can access the move command and map the move command to one of the allowed commands.The moving object processor and / or the stationary object processor can provide movement commands and the associated automatic response mapped to the mode-dependent processors. The movement command can include a follow command, a step command, a travel to one side command, a move to position command, and a do not follow command. The nav / PCL processor can store obstacles in local and / or cloud storage and can allow access to stored obstacles by systems external to the conveyor. The method described herein for navigating steps may include, but is not limited to, receiving a step command and receiving environmental information from sensors mounted on the conveyor and / or obstacle processor. The method for navigating steps may include locating, based on environmental information, stairs within the environment and receiving a selection from one of the stairs located by the sensors and / or obstacle processor. The method for navigating steps may also include measuring the characteristics of the selected stair and locating, based on environmental information, any obstacles present on the selected stair.The method for navigating steps can also include locating, based on environmental information, the last step of the selected staircase and providing movement commands to move the conveyor along the selected staircase based on measured characteristics, the last step, and any obstacles. The method for navigating steps can continue providing movement commands until the last step is reached. Characteristics may include, but are not limited to, the riser height of the selected staircase step, the riser surface texture, and the riser surface temperature. Alerts can be generated if the surface temperature falls outside a specified limit or the surface texture falls outside a defined traction range. The method may optionally include locating at least one staircase based on GPS data, building a map of the selected staircase using SLAM, saving the RPCZ Ln / Lznz / E / YILI map, and update the map while the conveyor is moving. The method may optionally include accessing a conveyor geometry, comparing the geometry to at least one feature of the selected stair, and modifying the conveyor's movement based on the comparison step. The feature may include, but is not limited to, the height of at least one riser of the selected stair, the surface texture of at least one riser, and the surface temperature of at least one riser. The method may optionally include generating an alert if the surface temperature falls outside a threshold scale and the surface texture falls outside a set traction. The threshold scale may include, but is not limited to, temperatures below 0.555 °C. The set traction may include, but is not limited to, a carpet texture.The method may optionally include determining, based on sensor data, the topography of an area surrounding the selected ladder, and generating an alert if the topography is not flat. The method may also optionally include accessing a set of extreme circumstances. The step processor in the navigation described herein may include, but is not limited to, a stair processor that receives at least one step command included in the user information, and a stair locator that receives, via, for example, the obstacle processor, environmental information from sensors mounted on the conveyor. The stair locator can locate, based on environmental information, the stairs within the environmental data and can receive the selection of a chosen stair. The step feature processor can measure the characteristics of the selected stair and can locate, based on environmental information, any obstacles on the selected stair.The step motion processor can locate the last step of a selected staircase based on environmental information and can provide the motion processor with motion commands to instruct the conveyor to move along the selected staircase based on its characteristics, the last step, and any obstacles. The stair locator can locate staircases using GPS data and can build and save a map of the selected staircase. This map can be saved for local use and / or by other devices unrelated to the conveyor. The stair processor can access the conveyor's geometry, compare it to the characteristics of the selected staircase, and modify the conveyor's navigation based on this comparison.The stair processor can optionally generate an alert if the surface temperature of the risers of the selected stair falls outside a specified limit and the surface texture of the selected stair falls outside a set traction range. The step motion processor can determine, based on environmental information, the topography of an area surrounding the selected stair and can generate an alert if the RPCZ Ln / Lznz / E / YILI topography is not flat. The step motion processor can access a set of extreme circumstances, which can be used to modify the motion commands generated by the step motion processor. When the conveyor passes through a doorway, which may include a door swing, a hinge location, and a portal, the method described here for navigating through the doorway may include receiving and segmenting environmental information from sensors mounted on the conveyor. This environmental information may include the geometry of the conveyor. The method may include identifying a plane within the segmented sensor data and identifying the doorway within that plane. The method for navigating through the doorway may include measuring the doorway based on this environmental information. The method for navigating through the doorway may also include determining a door swing and providing motion commands to move the conveyor to access a door handle.The method for navigating a doorway may include providing motion commands to move the conveyor away from the doorway when it opens, based on measurements of the doorway. The method may also include providing motion commands to move the conveyor forward through the doorway. The conveyor may hold the doorway in an open position if the door swings toward the conveyor. The method described here for processing sensor data can determine, through sensor information, the door hinge side, the door's direction and angle, and the distance to the door. The motion processor described here can generate commands for the BPS (Battery Power System), such as start / stop left turn, start / stop right turn, start / stop forward movement, and start / stop backward movement. It can also facilitate door operation by stopping the conveyor, canceling the goal the conveyor is intended to complete, and centering the joystick. The door processor described here can determine whether the door, for example, opens inward, outward, or is sliding.The door processor can determine the door width based on the current position and orientation of the conveyor, and can determine the x / y / z location of the door's pivot point. If the door processor determines that the number of valid points in the door image derived from the obstacle set and / or PCL data exceeds a certain limit, the door processor can determine the distance from the conveyor to the door. The door processor can determine whether the door is moving based on successive samples of PCL data from the sensor processor. In some configurations, the door processor can assume that one side of the conveyor is flush with the door handle side and can use this assumption, along with the position of the door's pivot point, to determine the door width. RPCZ Ln / Lznz / E / YILI door. The door processor can generate commands to move the conveyor through the door, based on the door's swing and width. The conveyor itself can hold the door in an open state while the conveyor passes through the doorway. In some configurations, the conveyor can automatically negotiate the use of sanitary facilities. Toilet and restroom doors can be located and described herein, and the conveyor can be moved to locations relative to the doors as described herein. Restroom fixtures can be positioned as obstacles as described herein, and the conveyor can be automatically positioned near the fixtures to provide the user with access to, for example, the toilet, sink, and changing table. The conveyor can automatically navigate out of the toilet and restroom through the doorway and perform obstacle processing as described herein. The conveyor can automatically cross the doorway threshold based on its geometry. The method described here for automatically storing the carrier in a vehicle, such as, but not limited to, an accessible van, can assist the user in independent vehicle use. When the user exits the carrier and enters the vehicle, possibly as the driver, the carrier can remain parked outside. If the carrier is to accompany the user in the vehicle for later use, the mobile parking mode described here can provide movement commands to the carrier to automatically or automatically stow itself and then return to the vehicle door. The carrier can be commanded to stow itself via commands received from external applications, for example.In some configurations, a computer-driven device, such as a cell phone, laptop, and / or tablet, can be used to run one or more external applications and generate information that can then control the conveyor. In some configurations, the conveyor can automatically proceed to mobile parking mode after the user exits it. Movement commands may include commands to locate the vehicle door through which the conveyor will enter for storage, and commands to steer the conveyor toward that vehicle door.The mobile parking mode can determine error conditions, such as, but not limited to, if the vehicle door is too small for the carrier to enter, and the mobile parking mode can alert the user to the error condition by means of, for example, but not limited to, an audio alert through an audio interface and / or a message to one or more external applications. If the vehicle door is wide enough for the carrier to enter, the mode... RPCZ Ln / Lznz / E / YILI mobile parking can provide vehicle control commands to instruct the vehicle to open its door. Mobile parking mode can determine when the vehicle door is open and whether there is space for the conveyor to be stored. Mobile parking mode can invoke the obstacle processing method to help determine the status of the vehicle door and whether there is space in the vehicle to store the conveyor. If there is sufficient space for the conveyor, mobile parking mode can provide movement commands to move the conveyor into the storage space in the vehicle. Vehicle control commands can be provided to instruct the vehicle to secure the conveyor in place and to close the vehicle door.When the conveyor is needed again, one or more external applications can be used, for example, to return the conveyor to the user. The conveyor's status can be remembered, and vehicle control commands can instruct the vehicle to release the conveyor and open the vehicle door. The vehicle door can be located, and the conveyor can be moved through the vehicle door and into the passenger door where it is needed, for example, by one or more external applications. In some configurations, the vehicle can be tagged in locations such as the vehicle's entry door, where the conveyor may be stored. The method described here for storing / reloading the conveyor can assist the user in storing and possibly reloading the conveyor, possibly while the user is asleep. After the user exits the conveyor, one or more external applications can initiate commands to move the now driverless conveyor to a storage / docking area. In some configurations, a mode selection by the user while occupying the conveyor can initiate automatic storage / docking functions after the user has exited. When the conveyor is needed again, commands can be initiated by one or more external applications to re-request the conveyor for the user.The method for storing / reloading the conveyor may include, but is not limited to, locating at least one storage / loading area and providing at least one move command to move the conveyor from its initial location to the storage / loading area. The method for storing / reloading the conveyor may also include locating a loading station within the storage / loading area and providing at least one move command to dock the conveyor with the loading station. The method for storing / reloading the conveyor may optionally include providing at least one move command to move the conveyor back to its initial location when it receives an invocation command. If there is no storage / loading area, or if there is no... RPCZ Ln / įZРZ / В / YΙЛΙ charging station, or if the conveyor cannot be docked with the charging station, the method for storing / recharging the conveyor may optionally include providing at least one alert to the user, and providing at least one movement command to move the conveyor to the first location. The method described here for operating an elevator while maneuvering the conveyor can assist a user in entering and exiting an elevator within the conveyor. For example, when the elevator is automatically located and the user selects the desired elevator direction, and when the elevator arrives and the door opens, movement commands can be provided to move the conveyor within the elevator. The elevator's geometry can be determined, and movement commands can be provided to move the conveyor to a location where the user can select a desired activity from the elevator's selection panel. The conveyor's location can also be approximated for exiting the elevator. When the elevator door opens, movement commands can be provided to move the conveyor completely out of the elevator. BRIEF DESCRIPTION OF THE DRAWINGS The present teachings will be more easily understood by reference to the following description, taken with the accompanying drawings, in which: Figure 1 is a schematic representation of a protractor from the present teachings; Figures 2A to 2D are schematic block diagrams of the components of the conveyor in these teachings; Figures 3A and 3B are schematic block diagrams of the processing mode of the present teachings; Figure 4 is a schematic block diagram of the electronic components of the transporter of the present teachings; Figure 5A is a line drawing representation of an exemplary visual interface of the present teachings; Figure 5B is a line drawing representation of an exemplary manual interface of the present teachings; Figure 6 is a line drawing representation of the exemplary manual interface switches / buttons of these teachings; Figure 6A is a schematic representation of the control device box RPCZ Ln / Lznz / E / YILI of user of the present teachings; Figures 6B1 and 6B2 are schematic representations of the manual interface cover and the UCP auxiliary connection of the present teachings; Figures 6B3 and 6B4 are schematic representations of the UCP auxiliary fastener of the present teachings; Figures 6C1 and 6C2 are schematic representations of the UCP auxiliary connection device of the present teachings; Figures 6D1 and 6D2 are schematic representations of the mounting board of the UCP auxiliary connection device of these teachings. Figures 6D3 and 6D4 are schematic representations of the UCP auxiliary connection device mounted on the mounting board for the UCP auxiliary connection device; Figures 6D5 and 6D6 are schematic representations of another configuration of the UCP auxiliary connection device of the present teachings; Figure 6E is a line drawing of a sensor positioning configuration of the conveyor in these teachings; Figures 7A to 7E are communications packet information graphics from the present teachings; Figure 8 is a graph of a response template from the manual interface of the present teachings; Figure 9 is a control flow diagram of the processing of the present teachings; Figure 10 is a schematic block diagram of the components of the UCP auxiliary of the present teachings; Figures 11A1 and 11A2 are schematic block diagrams of a method for obstacle detection from the present teachings. Figure 11B is a schematic block diagram of the obstacle detection components of the present teachings; Figures 12A to 12D are computer-generated representations of the conveyor configured with a sensor; Figure 13A are schematic block diagrams of an improved step-ascent method of the present teachings; Figure 13B is a schematic block diagram of the components of the enhanced step-ascent of the present teachings; Figures 14A1 and 14A2 are schematic block diagrams of a method for RPCZ Ln / Lznz / E / YILI to pass through the door of the present teachings; Figure 14B is a schematic block diagram of the components of the action of passing through the door of the present teachings; Figure 15A is a schematic block diagram of a sanitary navigation method of the present teachings; Figure 15B is a schematic block diagram of the navigation components in the sanitary facilities of the present teachings; Figures 16A1 and 16A2 are schematic block diagrams of a method for mobile storage of the present teachings; Figure 16B is a schematic block diagram of the mobile storage components of the present teachings; Figure 17A is a schematic block diagram of a storage / load method from the present teachings; Figure 17B is a schematic block diagram of the storage / loading components of the present teachings; Figure 18A is a schematic block diagram of an elevator navigation method from these teachings; and Figure 18B is a schematic block diagram of the elevator navigation components of the present teachings. DETAILED DESCRIPTION OF THE INVENTION The following describes in detail the configuration of a user control device, as described in these instructions, in relation to a conveyor, such as, but not limited to, a wheelchair. Different types of conveyors can interface with the user control device. The user control device can communicate with the conveyor through one or more electrical interfaces that facilitate communication and data processing between the user interface device and the controllers that control the conveyor's movement. The user control device can perform automatic actions based on the environment in which the conveyor operates and the user's desired movement. External applications can enable the monitoring and control of the conveyor. Now, with reference to Figure 1, the transporter 120 may include, but is not limited to, a user control device 131, seat 105, chassis 104, power base 160, first wheels 101, second wheels 102, third wheels 103, and grouping 121. The UCD 131 RÓCZ Ln / Lznz / E / YILI can receive input from the user and the sensor, and can provide this information to the power base 160. The UCD 131 may include, but is not limited to, UCP 130 and auxiliary UCP 145. The auxiliary UCP can also be located independently of UCP 130, and can be positioned anywhere on the conveyor 120, including, but not limited to, on one side and on the back of the conveyor 120. The power base 160 can control, for example, the movements of wheels 101 and 102, grouping 121, and seat 105 based on inputs from UCD 131 and other factors, including, but not limited to, automatic reinforcement of requirements for, for example, safety and reliability. Continuing with reference to Figure 1, the conveyor 120 can operate in functional modes such as, for example, but not limited to, a standard mode 201 (Figure 3A) in which the conveyor 120 can operate on the drive wheels 101 and the swivel casters 103, and an enhanced mode 217 (Figure 3A) in which the conveyor 120 can operate on the drive wheels 101 / 102, can be dynamically stabilized via integrated sensors, and can operate with the chassis 104, swivel casters 103, and seat 105 raised. The conveyor 120 can also operate in a balanced mode 219 (Figure 3A) in which the conveyor 120 can operate on the drive wheels 102, can have a raised seat height 105, and can be dynamically stabilized by means of integrated sensors.The conveyor 120 can also operate in a step mode 215 (Figure 3A) in which it can use wheel groups 121 (Figure 1) to ascend and descend stairs and can be dynamically stabilized. The conveyor 120 can also operate in a remote mode 205 (Figure 3A) in which it can operate on drive wheels 101 / 102 and can be idle. The conveyor 120 can optionally operate in a coupling mode 203 (Figure 3A) in which the conveyor 120 can operate on the drive wheels 101 / 102 and the swivel wheels 103, thereby lowering the chassis 104. Some of the modes of the conveyor 120 are described in U.S. Patent # 6,343,664, entitled "Operating Modes for Stair Climbing in Cluster-wheel Vehicle," published February 2, 2002, which is incorporated herein by reference. Now with reference mainly to Figures 2A to 2D, the power base 160 (Figure 1) may include, but is not limited to, at least one 43A-43D processor (Figures 2C and 2D), at least one 1050, 19, 21, 25, 27, 31, 33, 37 motor actuator (Figures 2C and 2D), at least one 1070, 23, 29, 35 commercial system (Figures 2C and 2D), and at least one 11A / B power supply controller (Figure 2B). The power base 160 (Figure 1) can be communicatively coupled, for example, but without limitation, to the UCD 131 (Figure 2A) via, for example, but without limitation, an electronic communication medium 53C and a protocol such as, for example, a controlled area network (CAN) bus protocol. The UCD 131 (Figure 2A) RPCZ I Π / 1 7Π7 / E / YILI can optionally be communicatively coupled with electronic devices 140A (Figure 2A) such as, but not limited to, computers such as tablets and personal computers, telephones and lighting systems, and may possibly run external applications 140 (Figure 4). The UCD 131 (Figure 2A) may include, but is not limited to, at least one manual interface, such as a joystick 133 (Figure 5B) and at least one push button 141A / B / C (Figure 6), at least one visual interface, such as a display (Figure 5A), and, optionally, at least one auxiliary UCP 145 (Figure 4). The UCD 131 (Figure 2A) can be optionally coupled communicatively with a peripheral control module 1144, sensor aid modules 1141, and the standalone control modules 1142 / 1143. Communications can be enabled by, for example, but not limited to, a CANbus protocol and an Ethernet protocol.Other protocols can be used. Continuing with the reference mainly to Figures 2A to 2D, in some configurations, each at least one 43A-43D processor (Figures 2C and 2D) may include, but is not limited to, at least one grouping motor actuator 1050, 27 (Figures 2C and 2D), at least one right wheel motor actuator 19, 31 (Figure 2C), at least one left wheel motor actuator 21, 33 (Figures 2C and 2D), at least one seat motor actuator 25, 37 (Figures 2C and 2D), and at least one inertial sensor package 1070, 23, 29, 35 (Figures 2C and 2D).The power base 160 may additionally include at least one grouping brake 57, 69 (Figures 2C and 2D), at least one grouping motor 83, 89 (Figures 2C and 2D), at least one right wheel brake 59, 73 (Figures 2C and 2D), at least one left wheel brake 63, 77 (Figures 2C and 2D), at least one right wheel motor 85, 91 (Figures 2C and 2D), at least one left wheel motor 87, 93 (Figures 2C and 2D), at least one seat motor 45, 47 (Figures 2C and 2D), at least one seat brake 65, 79 (Figures 2C and 2D), at least one grouping position sensor 55, 71 (Figures 2C and 2D), and at least one manual brake release 61, 75 (Figures 2C and 2D). Continuing with reference primarily to Figures 2A to 2D, the power base 160 (Figure 2C) can be used to drive the wheel assembly 121 (Figure 1) of the wheels 101 / 102 (Figure 1), forming a ground contact module. The ground contact module can be mounted on the assembly 121 (Figure 1), and each of the wheels 101 / 102 (Figure 1) of the ground contact module can be driven by a wheel motor actuator, such as, for example, a right wheel motor actuator A 19 (Figure 2C), or a redundant right wheel motor actuator B 31 (Figure 2D). The grouping 121 (Figure 1) can rotate around a grouping axis; the rotation is governed by, for example, a grouping motor actuator A 1050 (Figure 2C), or a redundant grouping motor actuator B 27 (Figure 2D). At least one of the sensors, such as, for example, but not RPCZ Ln / Lznz / E / YILI limited to, at least one grouping position sensor 55 / 71 (Figures 2C and 2D), at least one manual brake release sensor 61 / 75 (Figures 2C and 2D), at least one motor current sensor (not shown), and at least one inertial sensor pack 17, 23, 29, 35 (Figures 2C and 2D) can detect the status of conveyor 120 (Figure 1). Referring to Figures 2A to 2D, the 43A-43D processors (Figures 2C and 2D) can be electronically coupled to the UCD 131 (Figure 2A) to receive a control input, as well as to other controllers to control peripheral and extraordinary functions of the 120 conveyor (Figure 1). Communications 53A-53C (Figure 2B) between the UCD 131 (Figure 2A), the 11A / 11B power supply controllers (Figure 2B), and each of the 43A-43D processors (Figures 2C and 2D) can be in accordance with any protocol, including, but not limited to, a CANbus protocol. At least one Vbus 95, 97 (Figure 2B) can connect at least the power supply controller 11A / B (Figure 2B) to the power base 160 (Figure 2C) and external components to the power base 160 (Figure 2C) via the external Vbus 107 (Figure 2B). In some configurations, the processor Al 43A (Figure 2C) can be the CANbus master A 53A (Figure 2B).The slaves on CANbus A 53A (Figure 2B) can be processor A2 43B (Figure 2C), processor B1 43C (Figure 2D), and processor B2 43D (Figure 2D). In some configurations, processor B1 43C (Figure 2D) can be the master on CANbus B 53B (Figure 2B). The slaves on CANbus B 53B (Figure 2B) can be processor B2 43C (Figure 2D), processor A1 43A (Figure 2C), and processor A2 43B (Figure 2C). UCD 131 (Figure 2A) can be the master on CANbus C 53C (Figure 2B). The slaves in the CANbus C 53C (Figure 2B) can be the 11A / B power supply controller (Figure 2B), the 43A A1 processor (Figure 2C), the 43B A2 processor (Figure 2C), the 43C B1 processor (Figure 2D), and the 43D B2 processor (Figure 2D). The master node (either the 43A-43D processors (Figures 2C and 2D), or the 131 UCD (Figure 2A)) can send data to or request data from the slaves. Referring now primarily to Figures 2C and 2D, in some configurations, the power base 160 may include redundant processor assemblies A / B 39 / 41 that can control the groupings 121 (Figure 1) and rotate the drive wheels 101 / 102 (Figure 1). The right / left wheel motor actuators A / B 19 / 21, 31 / 33 can drive the right / left wheel motors A / B 85 / 87, 91 / 93 that drive the wheels 101 / 102 (Figure 1) on the right and left sides of the conveyor 120 (Figure 1). The wheels 101 / 102 (Figure 1) can be coupled for joint drive. Rotation can be achieved by driving the left wheel motor A / B 87 / 93 and the right wheel motor A / B 85 / 91 at different speeds.The grouping motor actuator A / B 1050 / 27 can actuate the grouping motors A / B 83 / 89 which can rotate the wheel base in the forward / backward direction, which can enable the conveyor 120 (figure 1). RPfZ Ln / Lznz / E / YILI remains level while the front wheels 101 (Figure 1) are higher or lower than the rear wheels 102 (Figure 1). The grouping motors A / B 83 / 89 can keep the conveyor 120 (Figure 1) level when going up and down edges, and can rotate the wheel base repeatedly to go up and down steps. The seat motor actuator A / B 25 / 37 can drive the seat motors A / B 45 / 47 which can raise and lower the seat 105 (Figure 1). Referring to Figures 2C and 2D, the grouping position sensors A / B 55 / 71 can detect the position of grouping 121 (Figure 1) of wheels 101 / 102 (Figure 1). The signals from the grouping position sensors A / B 55 / 71 and the seat position sensors A / B 67 / 81 can be communicated between processors 43A to 43D and can be used by the processor assembly A / B 39 / 41 to determine the signals to be sent to, for example, the right wheel motor actuator A / B 19 / 31, the grouping motor actuator A / B 15 / 27, and the seat motor actuator A / B 25 / 37. Independent control of the groupings 121 (Figure 1) and the drive wheels 101 / 102 (Figure 1) can allow the conveyor 120 (Figure 1) to operate in different modes, thus allowing the processors 43A-43D to switch between modes, for example, in response to the local terrain.Mode switching can occur, for example, automatically and / or at the request of a user. Referring to Figures 2C and 2D, inertial sensor packages 1070, 23, 29, and 35 can detect, for example, but without limitation, the orientation of conveyor 120 (Figure 1). Each processor 43A through 43D can include accelerometers and gyroscopes in the inertial sensor packages 1070, 23, 29, and 35. In some configurations, each inertial sensor package 1070, 23, 29, and 35 can include, but is not limited to, four sets of three-axis accelerometers and three-axis gyroscopes. Accelerometer and gyroscope data can be fused in each of the processors 43A through 43D. Each 43A-43D processor can produce a gravity vector that can be used to calculate the orientation and rotational speeds of the 160 power base (Figure 1). The fused data can be shared between the 43A-43D processors and can be subjected to threshold criteria.Threshold criteria can be used to improve the accuracy of device orientation and inertial rotation speeds. For example, fused data from certain 43A-43D processors that exceed certain thresholds can be discarded. Fused data from each of the 43A-43D processors that fall within the preselected limits can, for example, be averaged or processed in any other way without limitation. Inertial sensor packages 1070, 23, 29, and 35 may include, but are not limited to, sensors such as, for example, the ST®microelectronics LSM330DLC, or any sensor that provides a 3D digital accelerometer and a 3D digital gyroscope, or any sensor that can measure the speeds of... RPCZ Ln / Lznz / E / YILI gravity and body. Sensor data may be subject to processing, for example, but not limited to, filtering to improve the control of the 120 conveyor (Figure 1). Continuing with reference primarily to Figures 2C and 2D, the 160 power base (Figure 1) may include sensors such as, for example, but not limited to, the ALLEGRO™ ACS709 current sensor IC, or any sensor that can detect at least a preselected number of motor currents, has bidirectional detection, has user-selectable overcurrent fault settings, and can handle peak currents above a preselected fault limit. The A / B 55 / 71 grouping position sensors, A / B 67 / 81 seat position sensors, and A / B 61 / 75 manual brake release sensors may include, but are not limited to, Hall effect sensors. Referring now primarily to Figure 3A, in some configurations, the 100 power base processors (Figure 4) can support at least one operating mode, and the active controller 64A can enable navigation between modes. The at least one operating mode may include, but is not limited to, Standard Mode 201 (described with respect to Figure 1), Enhanced Mode 217 (described with respect to Figure 1), Balance Mode 219 (described with respect to Figure 1), Step Mode 215 (described with respect to Figure 1), Coupling Mode 203 (described with respect to Figure 1), and Remote Mode 205 (described with respect to Figure 1).The service modes may include, but are not limited to, a recovery mode 161, a fault protection mode 167 (Figure 3B), an update mode 169 (Figure 3B), a self-diagnostic mode 171 (Figure 3B), a calibration mode 163, a power-up mode 207 (Figure 3B), and a power-down mode 209 (Figure 3B). With respect to recovery mode 161, if a power-down occurs when the conveyor 120 (Figure 1) is not in one of a set of preselected modes, such as, for example, standard mode 201, docking mode 203, or remote mode 205, the conveyor 120 (Figure 1) may enter recovery mode 161 for the safe reset of the conveyor 120 (Figure 1) to the standard mode 201 driving position.During recovery mode 161, the power base processors 100 (Figure 4) can select specific components to activate, such as the seat motor actuator A / B 25 / 37 (Figures 2C and 2D) and the grouping motor actuator A / B 1050 / 27 (Figures 20 and 2D). Functionality can be limited, for example, by controlling the position of seat 105 (Figure 1) and grouping 121 (Figure 1). Referring now primarily to Figure 3B, conveyor 120 (Figure 1) can transition to fault protection mode 167 when it can no longer operate effectively. In fault protection mode 167, at least some active operations can be stopped to protect against movement. RPCZ Ln / Lznz / E / YILI potentially erroneous or uncontrolled. The transporter 120 (Figure 1) can transition from standard mode 201 (Figure 3A) to update mode 169 to, for example, but without limitation, enable communication with external applications 140 (Figure 4) that can be run externally to the power base 160 (Figure 1). The transporter 120 (Figure 1) can transition to self-diagnostic mode 171 when the transporter 120 (Figure 1) is first powered on. In self-diagnostic mode 171, the electronic components in the power base 160 (Figure 1) can perform self-diagnostics and can synchronize with each other. In some configurations, system self-diagnostics can be performed to verify the integrity of systems that are not easily checkable during normal operation, for example, memory integrity verification tests and deactivated circuitry tests.While in self-diagnostic mode 171, operating functions can be deactivated. Referring now primarily to Figure 4, the conveyor control system 200A may include, but is not limited to, at least one power base processor 100 and at least one power supply controller 11 that can communicate bidirectionally over serial bus 143 with the system serial bus messaging system 130F. The system serial bus messaging system 130F can communicate bidirectionally with the I / O interface 130G, external communications 130D, CPU 130, and auxiliary CPU 145. The CPU 130 and auxiliary CPU 145 can access peripherals, processors, and controllers through interface modules that may include, but are not limited to, input / output (I / O) interface 130G, system serial bus messaging (SSB) interface 130F, and external communications interface 130D.In some configurations, the I / O interface 130G can transmit / receive messages to / from, for example, but not limited to, at least one of the following: audio interface 150, electronic interface 149, manual interface 153, and manual interface 151. The audio interface 150 can transmit data from, for example, UCP 130 to audio devices, such as speakers that can project, for example, alerts when the transporter 120 (Figure 1) requires attention. The electronic interface 149 can transmit / receive messages to / from, for example, but not limited to, sensors 147. Sensors 147 may include, but are not limited to, time-of-flight cameras and other sensors.The manual interface 153 can transmit / receive messages to / from, for example but without limitation, a joystick 133 (Figure 5B) and / or switches / buttons 141 / B / C (Figure 6), and / or lighting information such as LEDs, and / or a display 137 (Figure 5A), including, for example, a touchscreen. The UCP 130 and the auxiliary UCP 145 can transmit / receive information to / from the I / O interface 130G, the system serial bus messaging 130F, external communications 130D, and to each other. Continuing with the reference mainly to figure 4, the serial bus interface of system 130F can enable communications between the UCP 130, the auxiliary UCP 145, the RPCZ Ln / Lznz / E / YILI power base processors (PBPs) 100 (also shown, for example, as processor Al 43A (Figure 2C), processor A2 43B (Figure 2C), processor B1 43C (Figure 2D) and processor B2 43D (Figure 2D)), and power supply controllers 11 (also shown, for example, as power supply controller A HA (Figure 2B) and power supply controller B 11B (Figure 2B)). The messages described herein can be exchanged between the UCP 130, the auxiliary UCP 145, and the PBPs 100 using, for example but without limitation, the system serial bus 143. The external communications interface 130D can enable communications between, for example, the UCP 130, the auxiliary UCP 145, and external applications 140 using wireless communications 144 such as, for example but without limitation, BLUETOOTH® technology.The UCP 130 and the auxiliary UCP 145 can transmit / receive messages to / from the sensors 147 that can be used to enable automatic and / or semi-automatic control of the conveyor 120 (Figure 1). Referring now primarily to Figures 5A, 5B, and 6, the switches and buttons 141A / B / C (Figure 6) associated with the conveyor 120 (Figure 1) can, when activated, generate signals to the I / O interface 130G (Figure 4). These signals can be decoded and bounced by, for example, UCP 130 (Figure 4) and / or PBPs 100 (Figure 4). Examples of functions that can be enabled by the switches / buttons 141A / B / C (Figure 6) may include, but are not limited to, seat height 105 (Figure 1), seat tilt 105 (Figure 1), mode selection, pulse adjustment menu selection, joystick deactivation 133 (Figure 5B), selection confirmation, power-off request, alarm status acknowledgment, and horn activation. An alert, such as a flashing cone, can be provided to draw the user's attention to a condition.Conditions may include, but are not limited to, low battery, service required, out-of-range temperature, a manually disengaged parking brake that could inhibit a user shutdown request, and a critical fault, warning, or alert. Switches / buttons 141A / B / C (Figure 6) may have context-dependent functionality and secondary functionality that occurs, for example, if switches / buttons 141A / B / C (Figure 6) are pressed for a certain period of time. Certain switches / buttons 141A / B / C (Figure 6) may be disabled if, for example, a mode change occurs and / or the battery charger is connected. When joystick 133 (Figure 5B) is disabled, some other functions may be disabled, such as, but not limited to, mode selection, impulse menu selection, and seat adjustments 105 (Figure 1).The deactivated switches / buttons 141A / B / C (Figure 6) can be reactivated under certain conditions, such as when some associated switches / buttons 141A / B / C (Figure 6) are released. In some configurations, button 141C (Figure 6) can provide a way to indicate that power is on. RPCZ Ln / Lznz / E / YILI can also provide an indication of the device status and / or a means of recognizing the device status. In some configurations, button 141B (Figure 6) can provide, for example, a flashing hazard light and / or a flashing power light. In some configurations, button 141A (Figure 6) can provide a means of activating a horn and / or confirmation of a selection. Referring now primarily to Figure 6A, the UCD holder 133A can accommodate manual and visual interfaces, such as the joystick 133 (Figure 5B), display 137 (Figure 5A), and associated electronics. Connecting 133C (Figure 6B2) allows connection to the UCP auxiliary 145 (Figure 4). In some configurations, the UCP auxiliary holder 145A can be attached to a visual / manual interface holder 145C without tools. The UCP auxiliary holder 145A can accommodate the UCP auxiliary 145, which may include the sensor 147A (Figure 12A). The sensor 147A (Figure 12A) may include, but is not limited to, a TEXAS INSTRUMENTS® OPT8241 time-of-flight sensor, or any device that can provide three-dimensional location of the data detected by the sensor 147A (Figure 12A).The UCP 145A auxiliary holder and the 133C connector (Figure 6B2) can be located anywhere on the 120 carrier (Figure 1) and may not be limited to being mounted on the 145C visual / manual interface holder. Referring now primarily to Figures 6B1 and 6B2, the manual / visual interface holder 145C may include, but is not limited to, a visual interface viewing window 137A (Figure 6B1) and a manual interface mounting cavity 133B (Figure 6B1) available on the first side 133E (Figure 6B1) of the manual / visual interface holder 145C. The connector 133C (Figure 6B2) may be provided on the second side 133D (Figure 6B2) of the manual / visual interface holder 145C. Any of the viewing window 137A (Figure 6B1), the manual interface mounting cavity 133B (Figure 6B1), and the connector 133C (Figure 6B2) may be located anywhere on the manual / visual interface holder 145C, or they may be absent.The manual / visual interface holder 145C, the visual interface viewing window 137A (Figure 6B1), the manual interface mounting cavity 133B (Figure 6B1), and the connector 133C (Figure 6B2) can be any size. The manual / visual interface holder 145C can be constructed from any suitable material to mount the visual interface viewing window 137A (Figure 6B1), the manual interface mounting cavity 133B (Figure 6B1), and the connector 133C (Figure 6B2). The angle 145M can be associated with various orientations of the UCD holder 133A and can therefore have various values. The UCD holder 133A can have a fixed orientation or can be hinged. Referring now primarily to Figures 6B3 and 6B4, the UCP 145A auxiliary holder may include, but is not limited to, a filter cavity 136G and a cavity of RPCZ Ln / Lznz / E / YILI lens 136F providing visibility to, for example, but without limitation, an optical filter and time-of-flight sensor lens, such as, for example, but without limitation, the OPT8241 3D time-of-flight sensor by TEXAS INSTRUMENTS®. The auxiliary UCP holder 145A can be of any shape and size and can be constructed of any material, depending on the mounting position on the conveyor 120 and the sensors, processors, and power supply, for example, provided with the auxiliary UCP holder 145A. The rounded edges on the cavities 136G and 136F, on the housing 136E, as well as on the holder 145A, can be replaced by any edge shape. The cavity 136H can house control electronics. Referring now primarily to Figures 6C1 and 6C2, the 133C connector may include, but is not limited to, a 133G connector guide (Figure 6C1) on the first side of the 133H connector (Figure 6C1) and 133F connector pins that may protrude from the second side of the 1331 connector (Figure 6C2). The 133G connector guide (Figure 6C1) and the 133F connector pins may be of any size and shape, and there may be any number of 133G connector guides (Figure 6C1) and 133F connector pins. Furthermore, there may be any number of 133C connectors. Referring now primarily to Figures 6D1 and 6D2, the mounting board 134J may include, but is not limited to, dowel holes 134D, mounting holes 134C, and alignment features 134B. The first side of the mounting board 134A may be identical to the second side of the mounting board 134E, or the first side of the mounting board 134A may have different features from the second side of the mounting board 134E. The mounting holes 134C, dowel holes 134D, and alignment features 134B may be any size and / or shape, and there may be any number of mounting holes 134C, dowel holes 134D, and alignment features 134B. The mounting board 134J may be used to mount the connector 133C (Figures 6C1 and 6C2). In some configurations, the 134J mounting board may include 134D pin holes that can accommodate 133F connector pins (Figures 6C1 and 6C2).The 134J mounting board may be provided in multiple pieces and shapes to accommodate 133C connector(s) (Figures 6C1 and 6C2). Referring now to Figures 6D3 and 6D4, connector pins 133F can be inserted into pin holes 134D to mount connector 133C to mounting board 1341. Connector guides 133G can project from the first side of mounting board 134A (Figure 6D3), and connector pins 133F can protrude from the second side of connector 134E (Figure 6D4). Connector 133C can be located anywhere on mounting board 134J and can span multiple mounting boards 1341. Multiple connectors 133C can be mounted on mounting board 1341. Referring now mainly to figures 6D5 and 6D6, in some RPCZ Ln / Lznz / E / YILI configurations, the second configuration connector 139D can be mounted on the mounting board 134J (Figure 6D1) to mount the auxiliary UCP holder 145A (Figure 6A). An arched guide 139A on the first side of the second configuration connector 139E can form a cavity 139B into which the spliced connectors (not shown) of the auxiliary UCP holder 145A (Figure 6A) can be inserted. The second side of the second configuration connector 139F can include protruding second configuration connector pins 139C, which can be inserted into the mounting board 134J (Figure 6D1). Referring now primarily to Figure 6E, the conveyor 120 (Figure 1) can be equipped with any number of sensors 147 (Figure 4) in any configuration. In some configurations, some of the sensors 147 (Figure 4) can be mounted on the rear of the conveyor 122 to achieve specific objectives, such as backup safety. For example, but without limitation, color stereo / illumination cameras 122A, an ultrasonic beam rangefinder 122B, time-of-flight cameras 122D / 122E, and single-point LIDAR sensors 122F can be mounted to cooperatively detect obstacles behind the conveyor 120 (Figure 1). The PBPs 100 (Figure 4) and / or the auxiliary UCP 145 (Figure 4) can receive messages that may include information from cameras and sensors, and can enable the conveyor 120 (Figure 1) to react to what might be happening outside the user's view.The conveyor 120 (Figure 1) can also include reflectors 122C, which can be optionally fitted with additional sensors. The color stereo / illumination cameras 122A can also be used as rear lights. Other types of cameras and sensors can be mounted on the conveyor 120 (Figure 1). The information from the cameras and sensors can be used to enable a smooth transition to balance mode 219 (Figure 3A) by providing information to the auxiliary UCP 145 (Figure 4), allowing it to locate any obstacles that might impede the transition to balance mode 219 (Figure 3A). Referring now primarily to Figure 7A, SSB 143 (Figure 4) can provide communication using, for example, a CAN bus protocol. Devices connected to SSB 143 (Figure 4) can be programmed to respond to / listen for specific messages received, processed, and transmitted via SSB 130F messaging (Figure 4). These messages can consist of packets, which may include, but are not limited to, eight bits of data and a CAN bus device identifier that identifies the packet's source. Devices receiving CAN bus packets can ignore invalid CAN bus packets. When an invalid CAN bus packet is received, the receiving device may take alternative actions, depending, for example, on the current mode of Carrier 120 (Figure 1), previous CAN bus messages, and the receiving device itself.Alternative measures can, for example, maintain the stability of the 120 conveyor (Figure 1). The SSB 143 master bus. RPCZ Ln / Lznz / E / YILI (Figure 4) can transmit the master synchronization packet 901 to establish a live bus sequence on a structure basis and synchronize the time base. Referring now primarily to Figure 7B, the user control panel packet #1 903 (Figure 7A) may include eight bits and may have, for example, packet format 701. Packet format 701 may include, but is not limited to, status 701A, fault device identification 701B, requested mode 701C, out of control bit 701D, commanded speed 701E, commanded return speed 701F, seat control bit 701G, and system data 701H. Status 701A may include, without limitation, possibilities such as, for example, self-test in progress, device OK, non-fatal device failure (data OK), and fatal device failure in which receiving devices may ignore the data in the packet. If the UCP 130, for example, receives a device fault status, the UCP 130 can send an error to, for example, a graphical user interface (GUI) on screen 137 (Figure 5A).The error ID on the 701B device can include the logical ID of the device for which the received communications have been determined to be erroneous. The error ID of the 701B device can be set to zero when no errors are received. Referring now primarily to Figure 7C, the requested mode code 701C (Figure 7B) can be defined such that a single error bit cannot indicate another valid mode. For example, mode codes may include, but are not limited to, self-test, standard, upgrade, step, balance, coupling, remote, calibration, update, shutdown, power on, fail-safe, recovery, flashing light, door, mobile storage, static storage / load, sanitary, elevator, and enhanced step, the meanings of which are described herein. The requested mode code 701C can indicate whether the requested mode should be processed to (1) maintain the current mode or execute a permitted mode change, or (2) enable situation-dependent processing. In some configurations, special situations may require automatic control of conveyor 120 (Figure 1).For example, conveyor 120 (Figure 1) can automatically transition from step mode 215 (Figure 3A) to enhanced mode 217 (Figure 3A) when it reaches the top of a staircase. In some configurations, the PBPs 100 (Figure 4) and / or the auxiliary UCP 145 (Figure 4) can, for example, but are not limited to, modify the response of the PBPs 100 (Figure 4) to commands from joystick 133 (Figure 1), such as by setting conveyor 120 (Figure 1) to a particular mode. In some configurations, conveyor 120 (Figure 1) can be automatically set to a slow-running mode when it transitions out of step mode 215 (Figure 3A). In some configurations, when the 120 conveyor (Figure 1) makes the transition from step mode 215 (Figure 3A). RPCZ Ln / Lznz / E / YILI automatically to enhanced mode 217 (Figure 3A), joystick 133 (Figure 1) can be deactivated. When a mode is selected by either the auxiliary UCP 145 (Figure 4), the UCP 130 (Figure 4) by means of, for example, but without limitation, a user input, and / or PBPs 100 (Figure 4) can determine the availability of the mode based, at least in part, on the current operating conditions. Continuing with the reference primarily to Figure 7C, in some configurations, if a transition from the current mode to a user-selected mode is not permitted, the user may be alerted. Certain modes and mode transitions may require user notification and possibly user assistance. For example, adjustments to seat 105 (Figure 1) may be necessary when positioning conveyor 120 (Figure 1) for determining the center of gravity of conveyor 120 (Figure 1) along with the load on conveyor 120 (Figure 1). The user may be alerted to perform specific operations based on the current mode and / or the mode to which the transition may occur. In some configurations, conveyor 120 (Figure 1) may be configured, for example, but not limited to, fast, medium, medium-damped, or slow speed settings.The speed of the conveyor 120 (Figure 1) can be modified using, for example, the speed template 700 (Figure 8) by relating the output 703 (Figure 8) (and wheel commands) to the displacement of the joystick 702 (Figure 8). Now, with reference to Figure 7D, the out-of-control bit 701D (Figure 7B) can include, but is not limited to, bit definitions such as, but not limited to, OK to power-off 801A, actuator selection 801B, emergency shutdown request 801C, calibration status 801D, mode restriction 801E, user training 801F, and joystick centered 801G. In some configurations, OK to power-off 801A can be defined as zero if power-off is not currently permitted, and actuator selection 801B can be defined as specifying motor actuator 1 (bit 6 = 0) or motor actuator 2 (bit 6 = 1).In some configurations, the 801C emergency shutdown request can be defined to indicate whether an emergency shutdown request is normal (bit 5 = 0) or if an emergency shutdown request is in progress (bit 5 = 1), and the 801D calibration status can be defined to indicate a user calibration request (bit 4 = 1). In some configurations, the 801E mode restriction can be defined to indicate whether or not there are restrictions on entering a particular mode. If the mode can be entered without restriction, bit 3 can be zero. If there are restrictions on entering a mode—for example, but not limited to, critical balance modes may require certain restrictions to maintain passenger safety on conveyor 120 (Figure 1)—bit 3 can be one. The 801F user training can be defined to indicate whether user training is possible (bit 2 = 1) or not (bit 2 = 0). RPCZ Ln / Lznz / E / YILI can define that the centered joystick 801G indicates whether the joystick 133 (figure 1) is centered (bits 0-1 = 2), or not (bits 0-1 = 1). Referring again primarily to Figure 7B, the commanded speed 701E can be, for example, a value representing forward or reverse speed. For example, forward speed can be a positive value and reverse speed can be a negative value. The commanded return speed 701F can be a value representing a commanded return speed to the left or right. A left turn can be a positive value, and a right turn can be a negative value. The value can represent the differential speed between the left and right wheels 101 / 102 (Figure 1) at a scale equivalent to the commanded speed 701E. Referring again primarily to Figure 7D, joystick 133 (Figure 1) can have multiple redundant hardware inputs. Signals such as, for example, commanded speed 701E (Figure 7B), commanded return speed 701F (Figure 7B), and joystick centered 801G can be received and processed. Commanded speed 701E (Figure 7B) and commanded return speed 701F (Figure 7B) can be determined from the first of the multiple hardware inputs, and joystick centered 801G can be determined from a second of the multiple hardware inputs. The values of joystick centered 801G can indicate when a non-zero value for commanded speed 701E (Figure 7B) and a non-zero value for commanded return speed 701F (Figure 7B) are valid. Fault conditions for joystick 133 (Figure 1) can be detected in, for example, the X and Y directions.For example, each joystick axis 133 (Figure 1) can be associated with dual sensors. Each sensor pair input (X (commanded speed 701E (Figure 7B)) and Y (commanded return speed 701F (Figure 7B)) can be associated with an independent A / D converter, each with a voltage reference channel check input. In some configurations, the commanded speed 701E (Figure 7B) and commanded return speed 701F (Figure 7B) can be held at zero by means of the secondary input to prevent misalignment. If the centered joystick 801G is within a minimum deadband, or joystick 133 (Figure 1) is faulty, it can be indicated that joystick 133 (Figure 1) is centered. A deadband indicates the amount of joystick 133 (Figure 1) displacement that can occur before a non-zero output of joystick 133 (Figure 1) can occur.The deadband range can be set so that the zero reference region includes an electrical center position which can be, for example, but without limitation, from 45% to 55% of the defined signal range. Referring now primarily to Figure 7E, the seat control bit 701G (Figure 7B) can carry seat adjustment commands. The tilt command of The RPCZ Ln / Lznz / E / YILI structure 921 can include values such as, for example, invalid, tilt forward, tilt backward, and inactive. The seat height command 923 can include values such as, for example, invalid, lower seat further, raise seat, and inactive. Referring again to Figure 7A, the User Control Packets 905 can include header, message ID, and data for messages traveling primarily to and from external applications 140 (Figure 4) via, for example, but not limited to, a BLUETOOTH® connection. The PBP Packet 907 can include data originating from PBPs 100 (Figure 4) and destined for PSCs 11 (Figure 4). PBP Al 43A (Figure 2C), for example, can be designated as the master of SSB 143 (Figure 4), and PBP B1 43C (Figure 2D), for example, can be designated as the secondary master of SSB 143 (Figure 4) if PBP Al 43A (Figure 2C) is no longer transmitting on the bus. The SSB 143 master (Figure 4) can transmit a 901 master synchronization packet at a periodic rate, for example, but without limitation, every 20 ms + / - 1%.Devices communicating using SSB 143 (Figure 4) can synchronize message transmission with the start of the 901 master synchronization packet. Referring now primarily to Figure 8, the joystick 133 (Figure 1) can be configured to have different transfer functions for use under different conditions, depending on, for example, the user's abilities. The speed template (transfer function) 700 shows an exemplary relationship between the physical displacement 702 of joystick 133 (Figure 1) and the output 703 of joystick 133 (Figure 1) after processing the transfer function. The forward and reverse movement of joystick 133 (Figure 1) can be interpreted as forward and reverse longitudinal requirements, respectively, as viewed by a user in seat 105 (Figure 1), and can be equivalent to the commanded speed 701E (Figure 7B), the requirement value X.The left and right movement of joystick 133 (Figure 1) can be interpreted as left turn requirements and right turn requirements, respectively, as seen from a user in seat 105 (Figure 1), and can be equivalent to the commanded turn speed 701F, the requirement value Y. The output of joystick 703 can be modified under certain conditions, such as bolt not limited to, battery voltage conditions, seat height 105 (Figure 1) and mode, joystick 133 failed conditions (Figure 1), and when a speed modification is required by the PBPs 100 (Figure 4).The output of joystick 703 can be ignored, and joystick 133 (Figure 1) can be considered as centered, for example, but without limitation, when a mode change occurs, or while in update mode 169 (Figure 3B), or when the battery charger is connected, or when in step mode, or when joystick 133 (Figure 1) is deactivated, or under certain conditions. RPCZ Ln / Lznz / E / YILI failure conditions. Continuing with the reference primarily to Figure 8, the Protractor 120 (Figure 1) can be configured to suit a particular user. In some configurations, the Protractor 120 (Figure 1) can be adapted to the user's abilities, for example, by adjusting the speed templates and mode restrictions. In some configurations, the Protractor 120 (Figure 1) can receive commands from external applications 140 (Figure 4) running on devices such as, but not limited to, a cell phone, a tablet, and a personal computer. The commands can provide, for example, preset and / or dynamically determinable settings for configuration parameters. In some configurations, a user and / or a caregiver can configure the Protractor 120 (Figure 1). With reference to Figure 9, any of the UCP 130, auxiliary UCP 145, and / or PBPs 100 can execute a power-up and processing sequence when the UCP 130 (Figure 4), PBPs 100 (Figure 4), and / or auxiliary UCP 145 (Figure 4) receive a power-up indication 1017. Power-up processing 1005 may include, but is not limited to, integrity checks that can be performed on, for example, stored data and various indicators. Memory tests can be performed, system and configuration parameters can be set in memory, and readiness for operation can be indicated, for example, but without limitation, by means of illuminated LEDs.Power-on processing 1005 may be followed by a transition to main circuit processing 1001, in which sensor data 1003 may be received and processed, input messages 1027 may be received, and output messages 1013 may be periodically generated, for example, but without limitation, once per SSB frame 143 (Figure 4). Device data 1009 and communication information 1011 may be processed. Device data 1009 may include, but is not limited to, device status and may display, for example, device diagnostic data. In some configurations, communication with external applications 140 (Figure 4) may be provided to gather information such as, but without limitation, application code version numbers, application code CRC values, and protocol map compatibility information.The UCP 130 (Figure 4), the auxiliary UCP 145 (Figure 4), and / or the PBPs 100 (Figure 4) can execute a power-off sequence upon receiving shutdown request 1015. Activities in progress, such as, but not limited to, data uploading and data reception from, for example, switches / buttons 141A / B / C (Figure 6) and joysticks 133 (Figure 1), can be deactivated and brought to a consistent shutdown. Configuration, usage, service, security, and other information can be collected and stored during shutdown processing 1007. With reference now to figure 10, the UCP 145 auxiliary can provide a RPCZ Ln / įZРZ / B / YILI enhanced functionality to a user, for example, but without limitation, to help the user avoid obstacles, pass through doorways, traverse steps, travel in elevators, and park / transport the conveyor 120 (Figure 1). In general, the auxiliary UCP 145 can receive user input (for example, UI data 633) and / or PBSs output 100 (Figure 4) through, for example, but without limitation, messages from user interface devices and sensors 147. The auxiliary UCP 145 can also receive sensor inputs through, for example, but without limitation, sensor processing systems 661. The UI data 633 and the output from the sensor processing systems 661, for example, can inform the command processor 601 to invoke the mode that has been selected automatically or manually.The command processor 601 can pass UI data 633 and output from the sensor processing systems 661 to a processor that can activate the invoked mode. The processor can generate motion commands 630 based on at least previous motion commands 630, UI data 633, and output from the sensor processing systems 661. Continuing with reference to Figure 10, the auxiliary UCP 145 may include, but is not limited to, command processor 601, motion processor 603, simultaneous localization and mapping (SLAM) processor 609, point cloud library (PCL) processor 611, geometry processor 613, and obstacle processor 607. Command processor 601 may receive user interface (UI) data 633 from the message bus. UI 633 data may include, but is not limited to, signals from, for example, joystick 133 (Figure 1) providing an indication of a desired direction of movement and speed of the conveyor 120 (Figure 1). UI 633 data may also include selections such as an alternate mode to which the conveyor 120 (Figure 1) could transition.In some configurations, in addition to the modes described with respect to Figures 3A and 3B, the auxiliary UCP 145 can process mode selections such as, but not limited to, door mode 605A, restroom mode 605B, enhanced step mode 605C, elevator mode 605D, moving parking mode 605E, and static storage / loading mode 605F. Any of these modes may include a move-to-position mode, or the user may direct the conveyor 120 (Figure 1) to move to a certain position. Message bus 54 can receive control information in the form of UI data 633 for the conveyor 120 (Figure 1), and can receive a result of the processing done by the auxiliary UCP 145 in the form of commands, such as move commands 630, which may include, but are not limited to, speed and direction.The 630 motion commands can be provided, via message bus 54, to the 100 PBPs (Figure 4), which can transmit this information to the wheel motor actuators 19 / 21 / 31 / 33 (Figures 2C and 2D) and the grouping motor actuators 1050 / 27 (Figures 2C and 2D). The 630 motion commands can be determined by the motion processor. RPCZ Ln / Lznz / E / YILI 603 based on information provided by the mode-specific processors. The mode-specific processors can determine mode-dependent data 657, among other things, based on information provided through the sensor-handling processors 661. Continuing with reference primarily to Figure 10, the sensor handling processors 661 may include, but are not limited to, the conveyor geometry processor 613, the PCL processor 611, the SLAM processor 609, and the obstacle processor 607. The motion processor 603 may provide motion commands 630 to the sensor handling processors 661 to provide information necessary for determining future movements of the conveyor 120 (Figure 1). The sensors 147 may provide environmental information 651, which may include, for example, but is not limited to, geometric and obstacle information 623 around the conveyor 120 (Figure 1). In some configurations, the sensors 147 may include at least one time-of-flight sensor, which may be mounted anywhere on the conveyor 120 (Figure 1). There may be multiple sensors 147 mounted on the conveyor 120 (Figure 1).The PCL processor 611 can gather and process environmental information 651, and can produce PCL data 655. PCL, a group of code libraries for processing 2D / 3D image data, can, for example, assist in the processing of environmental information 651. Other processing techniques can be used. Continuing with reference primarily to Figure 10, the conveyor geometry processor 613 can receive conveyor geometry information 649 from the sensors 147, can perform any processing necessary to prepare the conveyor geometry information 649 for use by the mode-dependent processors, and can provide the processed conveyor geometry information 649 to the mode-dependent processors. The conveyor geometry 120 (Figure 1) can be used to, but is not limited to, automatically determine whether the conveyor 120 (Figure 1) can fit into and / or through a space, such as a staircase and a doorway. The SLAM processor 609 can determine navigation information 653 based on, for example, but not limited to, UI data 633, environmental information 651, and motion commands 630.The conveyor 120 (Figure 1) can travel in a path determined, at least in part, by navigation information 653. The obstacle processor 607 can locate obstacles 623 and distances 621 to obstacles 623. Obstacles 623 may include, but are not limited to, doors, steps, cars, and miscellaneous features that are in the vicinity of the conveyor 120's path (Figure 1). Referring now to Figures 11A1 and 11A2, the method 650 for processing at least one obstacle 623 (Figure 11B), while navigating the conveyor 120 (Figure 1) may include, but is not limited to, receiving 1151 (Figure 11A1) at least one move command RPCZ Ln / I 7O7 / E / YILI 630 (Figure 11B), receive and segment 1153 (Figure 11A1) PCL 655 data (Figure 11B), identifying 1155 (Figure 11A1) at least one plane within the segmented PCL 655 data (Figure 11B), and identify 1157 (Figure 11A1) at least one obstacle 623 (Figure 11B) within the at least one plane. Method 650 may also include determining 1159 (Figure 11A1) at least one situation identifier 624 (Figure 11B) based on the at least one obstacle, UI data 633 (Figure 11B), and movement commands 630 (Figure 11B), and determining 1161 (Figure 11A1) the distance 621 (Figure 11B) between the conveyor 120 (Figure 1) and at least one obstacle 623 (Figure 11B) based on the at least one situation identifier 624 (Figure 11B).Method 650 may also include accessing 1163 (Figure 11A1) to at least one allowable command related to distance 621 (Figure 11B), at least one obstacle 623 (Figure 11B), and at least one situation identifier 624 (Figure 11B). Method 650 may also include accessing 1163 (Figure 11A1) to at least one automatic response to at least one allowable command, mapping 1167 (Figure 11A2) to at least one movement command 630 (Figure 11B) with one of the at least one allowable commands, and providing 1169 (Figure 11A2) to at least one movement command 630 (Figure 11B) and the at least one automatic response associated with the mapped allowable command to the mode-dependent processors. Continuing with reference to Figures 11A1 and 11A2, the at least one obstacle 623 (Figure 11B) may optionally include at least one stationary object and / or at least one moving object. The distance 621 (Figure 11B) may optionally include a fixed quantity and / or a dynamically varying quantity. The at least one movement command 630 (Figure 11B) may optionally include a follow command, at least one pass the at least one obstacle command, a travel to the side of the at least one obstacle command, and a do not follow the at least one obstacle command. Method 650 may optionally include storing obstacle data 623 (Figure 11B), and allow access to stored obstacle data, for example, that is stored in cloud storage 607G (Figure 11B) and / or local storage 607H (Figure 11B), by systems external to the conveyor 120 (Figure 1).The PCL data 655 (Figure 11B) may optionally include sensor data 147 (Figure 10). Method 650 may optionally include collecting sensor data 147 (Figure 10) from at least one time-of-flight sensor mounted on the conveyor 120 (Figure 1), analyzing the sensor data 147 (Figure 10) using a point cloud library (PCL), tracking at least one moving object using simultaneous localization and mapping (SLAM) with moving object detection and tracking (DATMO) based on the location of the conveyor 120 (Figure 1), and identifying at least one plane within the obstacle data 623 (Figure 11B) using, for example, but not limited to, random sample consensus. RPCZ Ln / Lznz / E / YILI and a PCL library, and provide at least one automatic response associated with the allowed command mapped to the mode-dependent processors. Method 650 may also optionally include receiving a summary command, and providing, after the summary command, at least one move command 630 (Figure 11B) and at least one automatic response associated with the allowed command mapped to the mode-dependent processors. The at least one automatic response may optionally include a speed control command. With reference now to Figure 11B, the obstacle processor 607 for processing at least one obstacle 623 while navigating the conveyor 120 (Figure 1) may include, but is not limited to, nav / PCL data processor 607F receiving and segmenting PCL data 655 from the PCL processor 611, identifying at least one plane within the segmented PCL data 655, and identifying at least one obstacle 623 within the at least one plane. The obstacle processor 607 may also include a distance processor 607E that determines at least one situation identifier 624 based on at least one UI data 633, at least one movement command 630, and at least one obstacle 623. The distance processor 607E can determine the distance 621 between the conveyor 120 (Figure 1) and at least one obstacle 623 based on at least one situation identifier 624.The 607D moving object processor and / or the 607C stationary object processor can access at least one allowed command related to distance 621, at least one obstacle 623, and at least one situation identifier 624. The 607D moving object processor and / or the 607C stationary object processor can access at least one automatic response, from the automatic response list 627, associated with the at least one allowed command. The 607D moving object processor and / or the 607C stationary object processor can access at least one motion command 630, which includes, for example, speed / signal command and direction / signal command, and map at least one motion command 630 to one of the at least one allowed commands.The 607D moving object processor and / or the 607C stationary object processor can provide at least one 630 motion command and at least one automatic response associated with the allowed command mapped to the mode-dependent processors. Continuing with reference to Figure 11B, the stationary object processor 607C can optionally perform any special processing required when it encounters at least one stationary object, and the moving object processor 607D can optionally perform any special processing required when it encounters at least one moving object. The distance processor 607E can optionally process distance 621, which can be a fixed and / or dynamically variable quantity. The at least one command of RPCZ Ln / Lznz / E / YILI movement 630 may optionally include a follow command, a step command, a travel to one side command, a move to position command, and a do not follow command. The Nav / PCL processor 607F may optionally store obstacles 623, for example, but without limitation, in local storage 607H and / or in a storage cloud 607G, and may allow access to the stored obstacles 623 by systems external to the conveyor 120 (Figure 1) such as, for example, but without limitation, external applications 140 (Figure 4). The PCL 611 processor can optionally collect sensor 147 data (Figure 10) from at least one time-of-flight camera mounted on the conveyor 120 (Figure 1), and can analyze the sensor 147 data (Figure 10) using a point cloud library (PCL) to produce PCL 655 data.The moving object processor 607D can optionally track at least one moving object using navigation information 653 collected by the simultaneous localization and mapping (SLAM) processor 609 based on the location of the conveyor 120 (Figure 1), identify at least one plane using, for example, but without limitation, random sample consensus and a PCL library, and can provide at least one move command 630 based on at least one automatic response associated with the allowed command mapped to the mode-dependent processors. The obstacle processor 607 can optionally receive a summary command and provide, after the summary command, at least one move command 630 based on at least one automatic response associated with the allowed command mapped to the mode-dependent processors.The at least one automatic response may optionally include a speed control command. For example, if joystick 133 (Figure 1) indicates a direction that could place conveyor 120 (Figure 1) on a collision course with obstacle 623, such as a wall, the at least one automatic response may include speed control to protect conveyor 120 (Figure 1) from a collision. The at least one automatic response may be overridden by a contrary user command; for example, joystick 133 (Figure 1) may be released, and the movement of conveyor 120 (Figure 1) may be stopped. Joystick 133 (Figure 1) may then be re-engaged to restart the movement of conveyor 120 (Figure 1) toward obstacle 623. Referring now primarily to Figures 12A to 12D, environmental information 651 (Figure 10) can be received from sensors 147 (Figure 10). Any of the PBPs 100 (Figure 4), the UCP 130 (Figure 4), and / or the auxiliary UCP 145 (Figure 10) can process the environmental information 651 (Figure 10). In some configurations, the PCL processor 611 (Figure 10) can process the environmental information 651 (Figure 10) using, for example, and depending on sensor 147 (Figure 10), point cloud library (PCL) functions. As the conveyor 120 (Figure 1) moves along the path 2001 (Figure 12D) around RPCZ Ln / Lznz / E / YILI of potential obstacles 2001A, the sensors 147 (Figure 10) can detect a point cloud from, for example, and depending on the sensor 147 (Figure 10), the box 2005 (Figures 12C and 12D) which may include data that could have the form of a fruit 2003 (Figures 12B to 12D). A sample consensus method, for example, but not limited to, the sample random consensus method, of, for example, but not limited to, the PCL, can be used to find a plane within the point cloud. Any of the UCP 130 (Figure 4), the auxiliary UCP 145 (Figure 10), and the PBPs 100 (Figure 4) can create a projected cloud and can determine point cloud aligners, and from these, determine a centroid of the projected cloud. The central reference point 148 can be used to determine the location of environmental conditions with respect to the conveyor 120.For example, whether the conveyor 120 is moving toward or away from an obstacle, or where a door hinge is with respect to the conveyor 120, can be determined based on the location of the central reference point 148. The sensors 147 (Figure 10) may include, for example, time-of-flight sensor 147A. Referring now primarily to Figure 13A, the method 750 for enabling the conveyor 120 (Figure 1) to navigate the stairs may include, but is not limited to, receiving 1251 at least one step command, and receiving 1253 environmental information 651 (Figure 10), from the sensors 147 (Figure 10) mounted on the conveyor 120 (Figure 1) and via the obstacle processor 607 (Figure 10). The method 750 may also include locating 1255, based on the environmental information 651 (Figure 10), at least one of the stairs 643 (Figure 13B) within the environmental information 651 (Figure 10), and receiving 1257 selection of the selected stairs 643A (Figure 13B) from at least one of the stairs 643 (Figure 13B).Method 750 may additionally include measuring 1259 at least one feature 645 (Figure 13B) of the selected ladder 643A (Figure 13B), and locating 1261, based on environmental information 651 (Figure 13B), the obstacles 623 (Figure 13B), if any, on the selected ladder 643A (Figure 13B). Method 750 may also include locating, based on environmental information 651 (Figure 13B), the last step of the selected ladder 643A (Figure 13B), and providing 1265 move commands 630 (Figure 13B) to move the conveyor 120 (Figure 1) on the selected ladder 643A (Figure 13B) based on at least one measured feature 645 (Figure 13B), the last step, and any obstacles 623 (Figure 13B). If the last step has not been reached, Method 750 may continue to provide move commands 630 (Figure 13B) to move the conveyor 120 (Figure 1).Method 750 may optionally include locating at least one of the stairs 643 (Figure 13B) based on GPS data and constructing and saving a map of the selected stairs 643A (Figure 13B) using, for example, but not limited to, SLAM. Method 750 may also optionally include accessing the geometry 649 (Figure 13B) of the protractor 120 (Figure 1), comparing the geometry 649. RPCZ Ln / Lznz / E / YILI (Figure 13B) with at least one of the characteristics 645 (Figure 13B) of the selected stair 643A (Figure 13B), and modify the navigation step based on the comparison step. The at least one of the characteristics 645 (Figure 13B) may optionally include the height of at least one riser of the selected stair 643A (Figure 13B), the surface texture of the at least one riser, and the surface temperature of the at least one riser. Method 750 may optionally include generating an alert if the surface temperature falls outside a limit scale and the surface texture falls outside a set traction. The limit scale may optionally include temperatures below 0.555 °C. The set traction may optionally include a carpet texture.Method 750 may also include determining, based on environmental information 651 (Figure 13B), the topography of an area surrounding the selected ladder 643A (Figure 13B), and generating an alert if the topography is not flat. Method 750 may also optionally include accessing a set of extreme circumstances. Referring now primarily to Figure 13B, automatic step navigation can be enabled by the step processor 605C to allow the conveyor 120 (Figure 1) to navigate steps. The sensors 147 (Figure 10) on the conveyor 120 (Figure 1) can determine if any environmental information 651 (Figure 10) includes at least one step 643. Along with any automatic determination of the location of at least one step 643, the UI data 633 can include the selection of step mode 215 (Figure 3A), which can invoke an automatic, semi-automatic, or semi-manual step-climbing process. Either the automatic location of at least one step 643 or the reception of UI data 633 can invoke the step processor 605C for enhanced step navigation functions.The step processor 605C can receive data from the obstacle processor 607, such as, for example, at least one obstacle 623, the distance 621 to at least one obstacle 623, the status 624, navigation information 653, and geometry information 649 for the conveyor 120 (Figure 1). The navigation information may include, but is not limited to, a possible path for the conveyor 120 (Figure 1) to traverse. At least one obstacle 623 may include, among other obstacles, at least one ladder 643. The step processor 605C can locate at least one ladder 643 and can determine, either automatically or otherwise, the selected ladder 643A based on, for example, but not limited to, navigation information 653 and / or UI data 633 and / or geometry information for the conveyor 649.The features 645 of the selected stair 643A, such as riser information, can be used to determine a first step and the distance to the next step 640. The step processor 605C can determine movement commands 630 of the conveyor 120 (Figure 1) based on,. RPCZ Ln / Lznz / E / YILI, for example, but not limited to, features 645, distance 621, and navigation information 647. The motion processor 603 can move the conveyor 120 (Figure 1) based on motion commands 630 and the distance to the next step 640, and can transfer control to sensor processing 661 after a step of the selected staircase 643A has been traversed. Sensor processing 661 can proceed either with navigation of the selected staircase 643A or can continue following the path established by navigation information 653, depending on whether the conveyor 120 (Figure 1) has finished traversing the selected staircase 643A.While the conveyor 120 (Figure 1) is traversing the selected staircase 643A, the obstacle processor 607 can detect obstacles 623 on the selected staircase 643A and the step processor 605C can provide movement commands 630 to avoid obstacles 623. The locations of the obstacles 623 can be stored locally for future use in the conveyor 120 (Figure 1) and / or externally to the conveyor 120 (Figure 1). Continuing with the reference primarily to Figure 13B, the step processor 605C may include, but is not limited to, a stair processor 641B that receives at least one step command included in the UI data 633, and a stair locator 641A that receives environmental information 651 (Figure 10) from the sensors 147 (Figure 10) mounted on the conveyor 120 (Figure 1) via the obstacle processor 607 (Figure 10). The stair locator 641A can also locate, based on the environmental information 651 (Figure 10), at least one of the stairways 643 within the environmental information 651 (Figure 10), and can receive the selection of the chosen stairway 643A from at least one of the stairways 643. The selected stairway 643A can be stored in storage 643B for possible future use.The step feature processor 641C can measure at least one of the features 645 of the selected stair 643A and can locate, based on environmental information 651, at least one obstacle 623, if any, on the selected stair 643A. The step motion processor 641D can locate, based on environmental information 651, the last step of the selected stair 643A and send motion commands 630 to the motion processor 603 for the conveyor 120 (Figure 1) to move on the selected stair 643A based on at least one of the features 645, the last step, and at least one obstacle 623, if any. The stair locator 641A can optionally locate at least one of the stair 643 based on GPS data and can build and save a map of the selected stair 643A using SLAM.The map can be saved for local use on the protractor 120 (Figure 1), and / or for use by other devices. The stair processor 641B can optionally access the geometry 649 of the protractor 120 (Figure 1), compare the geometry 649 with at least one of the features 645 of the RPCZ Ln / Lznz / E / YILI selected staircase 643A, and can modify the navigation of conveyor 120 (Figure 1) based on the comparison. Stair processor 641B can optionally generate an alert if the surface temperature of the risers of selected staircase 643A falls outside a limit scale and if the surface texture of selected staircase 643A falls outside a set traction. Step motion processor 641D can optionally determine, based on environmental information 651 (Figure 10), the topography of an area surrounding selected staircase 643A, and can generate an alert if the topography is not flat. Step motion processor 641D can optionally access a set of extreme circumstances. Referring now primarily to Figures 14A1 and 14A2, method 850 for negotiating gate 675 (Figure 14B), while maneuvering conveyor 120 (Figure 1), where gate 675 (Figure 14B) may include a gate swing, a hinge location, and a portal, may include, but is not limited to, receiving and segmenting environmental information 651 (Figure 10) from sensors 147 (Figure 10) mounted on conveyor 120 (Figure 1). The environmental information 651 (Figure 10) may include the geometry of conveyor 120 (Figure 1). Method 850 may include identifying at least one plane within the segmented sensor data, and identifying door 675 (Figure 14B) within that plane. Method 850 may also include measuring door 675 (Figure 14B) to provide door measurements.Method 850 may also include determining 1361 (Figure 14A1) the swing of the door. Method 850 may also include providing 1363 (Figure 14A2) at least one movement command 630 (Figure 14B) to move the conveyor 120 (Figure 1) to access a door handle 675 (Figure 14B), if necessary, and providing 1365 (Figure 14A2) at least one movement command 630 (Figure 14B) to move the conveyor 120 (Figure 1) away from the door 675 (Figure 14B), when the door 675 (Figure 14B) is opened, by a distance based on measurements of the door. If door 675 (figure 14B) swings inward, method 850 may include providing at least one movement command to move conveyor 120 (figure 1) against door 675 (figure 14B), thereby positioning door 675 (figure 14B) for the movement of conveyor 120 (figure 1) through the portal.Method 850 may also include providing 367 (Figure 14A2) at least one movement command 630 (Figure 14B) to move the conveyor 120 (Figure 1) forward through the portal, the conveyor 120 (Figure 1) holding the door 675 (Figure 14B) in an open position, if the door swings toward the conveyor 120 (Figure 1). Referring now to Figure 14B, the processing unit 661 can determine, through the information from sensors 147 (Figure 10), the hinge side of door 675, and the direction, angle, and distance of the door. The motion processor 603 RPCZ Ln / Lznz / E / YILI can generate commands to the PBPs 100 (Figure 4) such as start / stop left turn, start / stop right turn, start / stop forward movement, start / stop backward movement, and can facilitate door mode 605A by stopping conveyor 120 (Figure 1), canceling the goal that conveyor 120 (Figure 1) is intended to complete, and centering joystick 133 (Figure 1). Door processor 671B can determine whether door 675, for example, opens inward, opens outward, or is sliding. Door processor 671B can determine the width of door 675 by determining the current position and orientation of conveyor 120 (Figure 1), and determine the xIyIz location of the door's pivot point.If the door processor 671B determines that the number of valid points in the image of door 675 derived from obstacles 623 and / or PCL data 655 (Figure 10) is greater than a limit, the door processor 671B can determine the distance from conveyor 120 (Figure 1) to door 675. The door processor 671B can determine whether door 675 is moving based on successive samples of PCL data 655 (Figure 10) from sensor processor 661. In some configurations, the door processor 671B can assume that one side of conveyor 120 (Figure 1) is flush with the handle side of door 675, and can use this assumption, along with the position of the door's pivot point, to determine the width of door 675. Continuing with the reference primarily to Figure 14B, if the movement of door 675 is toward conveyor 120 (Figure 1), the door movement processor 671D can generate and provide movement commands 630 to the movement processor 603 to move conveyor 120 (Figure 1) backward by a predetermined or dynamically determined percentage of the amount by which door 675 is moving. The movement processor 603 can provide movement commands 630 to the CPU 130, and the CPU 130 can accept data from GUI 633A and can provide the data from GUI 633A to the movement processor 603. If door 675 is moving away from conveyor 120 (Figure 1), the door movement processor 671D can generate movement commands 630 to direct conveyor 120 (Figure 1) to move forward by a predetermined or dynamically determined percentage of the amount by which door 675 is moving. that door 675 moves.The amount by which conveyor 120 (Figure 1) moves either forward or backward can be based on the width of door 675. Door processor 671B can locate the side of door 675 that provides the opening / closing function for door 675 based on the location of the door's pivot point. Door processor 671B can determine the distance to the plane in front of sensors 147 (Figure 4). Door motion processor 671D can generate motion commands 630 to direct conveyor 120 (Figure 1) to move through door 675. Door motion processor 671D can wait for a certain amount. RPCZ Ln / Lznz / E / YILI preselected time for the movement of conveyor 120 (Figure 1) to complete, and door movement processor 671D can generate movement commands 630 to adjust the location of conveyor 120 (Figure 1) based on the position of door 675. Door processor 671B can determine the door angle and the door pivot point. Door processor 671B can determine if door 675 is stationary, if door 675 is moving, and can determine the direction of movement of door 675. When door mode 605A has completed, door movement processor 671D can generate movement commands 630 that can direct conveyor 120 (Figure 1) to interrupt its movement. Continuing with the reference primarily to Figure 14B, the gate mode 605A for negotiating gate 675 while maneuvering conveyor 120 (Figure 1), where gate 675 may include a gate swing, a hinge location, and a portal, may include, but is not limited to, sensor processing 661 that receives and segments environmental information 651 from sensors 147 (Figure 10) mounted on conveyor 120 (Figure 1), where the environmental information 651 may include the geometry 649 of conveyor 120 (Figure 1). The gate mode 605A may also include a gate locator 671A that identifies at least one plane within the segmented sensor data and identifies gate 675 within that at least one plane. The gate processor 671B may include measuring gate 675 to provide gate measurements 645A.The door motion processor 671D can provide at least one motion command 630 to move the conveyor 120 (Figure 1) away from the door 675, if the dimensions of door 645A are smaller than the geometry 649 of the conveyor (Figure 1). The door processor 671B can also include door swing determination, and the door motion processor 671D can provide at least one motion command 630 to move the conveyor 120 (Figure 1) forward through the portal. The conveyor 120 (Figure 1) can open door 675 and hold door 675 in an open position if the door swing is away from the conveyor 120 (Figure 1).The door motion processor 671D can provide at least one motion command 630 to move the conveyor 120 (Figure 1) to access a door handle 675, and can provide at least one motion command 630 to move the conveyor 120 (Figure 1) away from the door 675, as the door 675 opens, by a distance based on measurements of door 645A. The door motion processor 671D can provide at least one motion command 630 to move the conveyor 120 (Figure 1) forward through the portal. The conveyor 120 (Figure 1) can hold the door 675 in an open position if the door swings toward the conveyor 120 (Figure 1). RPCZ Ln / Lznz / E / YILI Referring now to Figure 15A, the conveyor 120 (Figure 1) can automatically negotiate the use of the rest of the room's fixtures. The auxiliary UCP 145 (Figure 4) can automatically locate a toilet door, and if there are multiple toilet doors, it can automatically generate movement commands 630 (Figure 15B) to move the conveyor 120 (Figure 1) through the door(s), and it can automatically position the conveyor 120 (Figure 1) relative to the toilet fixtures. After finishing using the toilet fixtures, the auxiliary UCP 145 (Figure 4) can automatically locate the door(s) and automatically generate movement commands 630 (Figure 15B) to move the conveyor 120 (Figure 1) through the door(s) to exit the toilet and / or restroom.Method 950 for negotiating, on conveyor 120 (Figure 1), a toilet in the restroom, wherein the toilet may have a door 675 (Figure 15B), and the door 675 (Figure 15B) may have a door threshold and a door swing, may include, but is not limited to, providing at least one movement command 630 (Figure 15B) to cause conveyor 120 (Figure 1) to pass through the door threshold into the restroom. Method 950 may also include providing 1453 at least one movement command 630 (Figure 15B) to position conveyor 120 (Figure 1) to access a door exit handle, and providing 1455 at least one movement command 630 (Figure 15B) to move conveyor 120 (Figure 1) away from door 675 (Figure 15B), when door 675 (Figure 15B) is closed, if the door swing is towards conveyor 120 (Figure 1).Method 950 may also include providing 1457 at least one movement command 630 (Figure 15B) to move conveyor 120 (Figure 100) toward door 675 (Figure 15B) when door 675 (Figure 15B) is closed, if the door swings away from conveyor 120 (Figure 1), and providing 1459 at least one movement command 630 (Figure 15B) to position conveyor 120 (Figure 1) to one side of a first sanitary fixture. Method 950 may also include providing 1461 at least one movement command 630 (Figure 15B) to stop conveyor 120 (Figure 1), and may provide 1463 at least one movement command 630 (Figure 15B) to position conveyor 120 (Figure 1) near a second sanitary fixture. Method 950 may include providing at least one 630 motion command (Figure 15B) to cross the door threshold to exit the toilet. Continuing with the reference primarily to Figure 15A, the automatic door threshold crossing may optionally include, but is not limited to, receiving and segmenting environmental information 1351 (Figure 14A1) 651 (Figure 10) from the sensors 147 (Figure 10) mounted on the conveyor 120 (Figure 1). The environmental information 651 (Figure 10) may include the geometry of the conveyor 120 (Figure 1). The automatic door threshold crossing may also optionally include identifying at least one plane within the sensor data 1353 (Figure 14A1). RPCZ Ln / Lznz / E / YILI segmented, and identify 1355 (Figure 14A1) the door 675 (Figure 14B) within at least one plane. Automatic door threshold crossing may also optionally include measuring 1357 (Figure 14A1) the door 675 (Figure 14B) to provide door measurements, and providing 1359 (Figure 14A1) at least one movement command 630 (Figure 15B) to move the conveyor 120 (Figure 1) away from the door 675 (Figure 14B) if the door measurements are smaller than the geometry 649 (Figure 14B) of the conveyor (Figure 1).Automatic door threshold crossing may also optionally include determining 1361 (Figure 14A1) the door swing, and providing 1363 (Figure 14A1) at least one movement command 630 (Figure 15B) to move the conveyor 120 (Figure 1) forward through the portal, the conveyor 120 (Figure 1) opening the door 675 (Figure 14B) and holding the door 675 (Figure 1) in an open position, if the door swing is away from the conveyor 120 (Figure 1).Automatic door threshold crossing may also optionally include providing 1365 (Figure 14A2) at least one movement command 630 (Figure 15B) to move the conveyor to access a door handle, and providing 1367 (Figure 14A2) at least one movement command 630 (Figure 15B) to move the conveyor 120 (Figure 1) away from the door 675 (Figure 14B), when the door 675 (Figure 14B) is opened, by a distance based on the door measurements. Automatic door threshold crossing may also optionally include providing 1369 (Figure 14A2) at least one movement command 630 (Figure 15B) to move the conveyor 120 (Figure 1) forward through the portal, the conveyor 120 (Figure 1) keeping the door 675 (Figure 14B) in an open position, if the door swings towards the conveyor 120 (Figure 1).Method 950 can optionally include automatically locating the restroom and automatically moving conveyor 120 (Figure 1) to the restroom. SLAM techniques can optionally be used to locate a destination, such as a restroom. The UCP 145 assistant can optionally access a database of frequently visited locations, receive a selection of one of these locations, and provide at least one move command 630 (Figure 15B) to move conveyor 120 (Figure 1) to the selected location, which may include, but is not limited to, a restroom. Referring now to Figure 15B, the 605B restroom mode for negotiating, on conveyor 120 (Figure 1), a toilet in a restroom, where the toilet may have a door, and the door may have a threshold and a swing, may include, but is not limited to, a 605A door mode that provides at least one 630 move command to cause conveyor 120 (Figure 1) to pass through the threshold into the restroom. The restroom may also include accessories, such as, but not limited to, toilets, sinks, and changing tables. The 681C input / output processor may provide RPCZ Ln / Lznz / E / YILI at least one move command 630 to position conveyor 120 (Figure 1) to access a door entry handle, and can provide at least one move command 630 to move the conveyor away from the door as the door closes, if the door swings toward conveyor 120 (Figure 1). Input / output processor 681C can provide at least one move command 630 to move conveyor 120 (Figure 1) toward door 675 when door 675 closes, if door 675 swings away from conveyor 120 (Figure 1). The 681B accessory processor can provide at least one motion command 630 to position the conveyor 120 (Figure 1) to one side of a first toilet accessory, and can provide at least one motion command to stop the conveyor 120 (Figure 1).The accessory processor 681B can also provide at least one motion command 630 to position the conveyor 120 (Figure 1) near a second toilet accessory. The input / output processor 681C can provide at least one motion command 630 to cross the door threshold to exit the toilet. Referring now to Figures 16A1 and 16A2, Method 1051 for automatically storing the transporter 120 in a vehicle, such as, but not limited to, an accessible van, can assist the user in independent vehicle use. When the user exits the transporter 120 (Figure 1) and enters the vehicle, possibly as the driver, the transporter 120 (Figure 1) can remain parked outside the vehicle. If the transporter 120 (Figure 1) is to accompany the user in the vehicle for later use, the mobile parking mode 605E (Figure 16B) can provide movement commands 630 (Figure 16B) to the transporter 120 (Figure 1) to cause it to stow itself, either automatically or by command, and to be recalled to the vehicle door.The conveyor 120 (Figure 1) can be commanded to store itself by means of commands received from external applications 140 (Figure 4), for example. In some configurations, a computer-driven device, such as a cell phone, laptop, and / or tablet, can be used to run the external application 140 (Figure 4) and generate information that could ultimately control the conveyor 120 (Figure 1). In some configurations, the conveyor 120 (Figure 1) can automatically proceed to mobile parking mode 605E after the user exits the conveyor 120 (Figure 1) when the conveyor 120 (Figure 1) has been placed in parking mode, for example, by the user.The 630 movement commands (Figure 16B) can include commands to locate the vehicle door through which the 120 conveyor (Figure 1) will enter for storage, and to steer the 120 conveyor (Figure 1) toward the door. The 605E moving parking mode (Figure 16B) can determine error conditions, such as... RPCZ Ln / Lznz / E / YILI, for example, but without limitation, if the door is too small for the conveyor 120 (Figure 1) to enter, can alert the user of the error condition by means of, for example but not limited to, an audio alert through an audio interface 150 (Figure 4) and / or a message to the external application 140 (Figure 4). If the door is wide enough for the conveyor 120 (Figure 1) to enter, the mobile parking mode 605E (Figure 16B) can provide vehicle control commands to instruct the vehicle to open the door. The mobile parking mode 605E (Figure 16B) can determine when the vehicle door is open and whether or not there is space for the conveyor 120 (Figure 1) to be stored.Mobile Parking Mode 605E (Figure 16B) can invoke Obstacle Processing 607 (Figure 14B) to assist in determining the vehicle door status and whether there is space in the vehicle to store Conveyor 120 (Figure 1). If Mobile Parking Mode 605E (Figure 16B) determines that there is sufficient space for Conveyor 120 (Figure 1), it can provide Move Commands 630 (Figure 16B) to move Conveyor 120 (Figure 1) into the storage space in the vehicle. Mobile Parking Mode 605E (Figure 16B) can also provide Vehicle Control Commands to instruct the vehicle to secure Conveyor 120 (Figure 1) in place and to close the vehicle door. When the transporter 120 (Figure 1) is needed again, the external application 140 (Figure 1), for example, can be used to invoke the mobile parking mode 605E.Mobile Parking Mode 605E (Figure 16B) can request the status of the conveyor 120 (Figure 1) and can begin processing provided vehicle control commands to instruct the vehicle to release the conveyor 120 (Figure 1) and open the vehicle door. Mobile Parking Mode 605E (Figure 16B) can then locate the vehicle door again, or it can access the door's location 675A from, for example, local storage 607H (Figure 14B) and / or cloud storage 607G (Figure 14B). Mobile Parking Mode 605E (Figure 16B) can provide movement commands 630 (Figure 16B) to move the conveyor 120 (Figure 1) through the vehicle door and into the passenger door to which it has been called, for example, by an external application 140 (Figure 4).In some configurations, the vehicle may be tagged in locations such as, for example, the entrance door for storing the 120 carrier (Figure 1). The 605E mobile parking mode can recognize tags such as, but not limited to, fiducials, barcodes, and / or QR codes, and can execute the method described herein as a result of tag recognition. Additional tags may be included inside the storage compartment to indicate the appropriate storage location, as well as tags on the passenger doors. The tags may be RFID-enabled, for example, and the 120 carrier (Figure 1) may include an RFID reader. RPCZ Ln / Lznz / E / YILI Continuing with reference primarily to Figures 16A1 and 16A2, Method 1051 for automatically stowing the conveyor 120 in a vehicle may include, but is not limited to, providing 1551 at least one movement command 630 (Figure 16B) to locate the vehicle door through which the conveyor 120 (Figure 1) will enter to be stored in a storage space in the vehicle, and providing 1553 at least one movement command 630 (Figure 16B) to steer the conveyor 120 (Figure 1) toward the door. If 1555 the vehicle door is wide enough for the conveyor 120 (Figure 1) to enter, Method 1051 may include providing 1557 at least one vehicle control command to instruct the vehicle to open the door.If 1559 the door is open and if 1561 there is space in the vehicle to store the conveyor 120 (Figure 1), Method 1051 may include providing 1563 at least one move command 630 (Figure 16B) to move the conveyor 120 (Figure 1) into the storage space in the vehicle. Method 1051 may also include providing 1565 at least one vehicle control command to instruct the vehicle to secure the conveyor 120 (Figure 1) in place and to close the vehicle door. If 1555 the vehicle door is not wide enough, or if 1559 the vehicle door does not open, or if 1561 there is no room for the conveyor 120 (figure 1), method 1051 may include alerting 1567 the user, and providing 1569 at least one movement command 630 (figure 16B) to return the conveyor 120 (figure 1) to the user. Continuing with the reference primarily to Figures 16A1 and 16A2, at least one movement command 630 (Figure 16B) to store the conveyor 120 (Figure 100) can be received from the external application 140 (Figure 4) and / or be automatically generated. Method 1051 may optionally include alerting the user of error conditions by means of, for example but not limited to, an audio alert through an audio interface 150 (Figure 4) and / or a message to the external application 140 (Figure 4). Method 1051 may optionally invoke obstacle processing 607 (Figure 14B) to assist in locating the vehicle door, to determine if there is sufficient space in the vehicle to store the conveyor 120 (Figure 1), and to locate any locking mechanisms in the vehicle.When conveyor 120 (Figure 1) is needed again—that is, when the user has arrived at a destination in the vehicle—external application 140 (Figure 1), for example, can be used to invoke conveyor 120 (Figure 1). Method 1051 may include claiming the status of conveyor 120 (Figure 1) and may include providing vehicle control commands to instruct the vehicle to unlock conveyor 120 (Figure 1) and open the vehicle door. Method 1051 may include locating the vehicle door, or it may include accessing the vehicle door location from, for example, local storage 607H (Figure 14B) and / or cloud storage 607G (Figure 14B). Method 1051 may include providing... RPCZ Ln / ίZРZ / Β / YΙΛΙ movement commands 630 (Figure 16B) to move the conveyor 120 (Figure 1) through the vehicle door and into the passenger door to which it has been called, for example, but not limited to, by external application 140 (Figure 4). Referring now to Figure 16B, the mobile parking mode 605E may include, but is not limited to, a vehicle door processor 691D that can provide at least one move command 630 to locate the vehicle door 675 into which the conveyor 120 (Figure 1) will enter to be stored in a vehicle storage space. The vehicle door processor 691D can also provide at least one move command 630 to steer the conveyor 120 (Figure 1) to the door 675. If the door 675 is wide enough for the conveyor 120 (Figure 1) to enter, the vehicle command processor 691C can provide at least one vehicle control command to instruct the vehicle to open the door 675.If door 675 is open and there is space in the vehicle to store conveyor 120 (Figure 1), the space processor 691B can provide at least one move command 630 to move conveyor 120 (Figure 1) into the storage space in the vehicle. The vehicle command processor 691C can provide at least one vehicle control command to instruct the vehicle to secure conveyor 120 (Figure 1) in place and close vehicle door 675. If vehicle door 675 is not wide enough, or if door 675 is not open, or if there is no space for conveyor 120 (Figure 1), the error processor 691E can alert the user and provide at least one move command 630 to return conveyor 120 (Figure 1) to the user. Continuing with reference to Figure 16B, the vehicle door processor 691D can optionally recall the status of conveyor 120 (Figure 1), and the vehicle command processor 691C can provide vehicle control commands to instruct the vehicle to unlock conveyor 120 (Figure 1) and open vehicle door 675. The vehicle door processor 691D can then locate vehicle door 675, or it can access the location of door 675 from, for example, a local storage location 607H (Figure 14B) and / or cloud storage 607G (Figure 14B), and / or the door database 673B. The vehicle door processor 691D can provide movement commands 630 to move the conveyor 120 (Figure 1) through the door 675 and into the passenger door to which it has been called, for example, by the external application 140 (Figure 4). Referring now primarily to Figure 17A, the 1150 method for storing / recharging conveyor 120 (Figure 1) can help the user store and possibly recharge conveyor 120 (Figure 1). For example, conveyor 120 (Figure 1) could be recharged while the user sleeps. After the user exits the conveyor RPCZ Ln / Lznz / E / YILI 120 (Figure 1), commands could be initiated in, for example, the external application 140 (Figure 4), to perhaps move the conveyor 120 (Figure 1) to a storage / docking area without a driver. In some configurations, a mode selection by the user while the user is using the conveyor 120 (Figure 1) can initiate automatic storage / docking functions after the user has left the conveyor 120 (Figure 1). When the conveyor 120 (Figure 1) is needed again, commands can be initiated by the external application 140 (Figure 4) to call the conveyor 120 (Figure 1) back to the user. Method 1150 may include, but is not limited to, locating 1651 at least one storage / loading area, and providing 1655 at least one move command 630 (Figure 17B) to move the conveyor 120 (Figure 1) from a first location to the storage / loading area.Method 1150 may include locating a loading station in the storage / loading area and providing at least one move command (Figure 17B) to dock the conveyor (Figure 1) with the loading station. Method 1150 may optionally include providing at least one move command (Figure 17B) to move the conveyor (Figure 1) to its first location when the conveyor (Figure 1) receives an invocation command. If 1653 there is no storage / loading area, or if 1659 there is no loading station, or if 1666 the conveyor 120 (figure 1) cannot be coupled with the loading station, method 1150 may optionally include providing 1665 at least an alert to the user, and providing 1667 at least a move command 630 (figure 17B) to move the conveyor 120 (figure 1) to the first location. Referring now to Figure 17B, the static storage / load mode 605F may include, but is not limited to, a storage / load area processor 702A that can locate at least one storage / load area 695 and can provide at least one move command 630 to move the conveyor 120 (Figure 1) from a first location to the storage / load area 695. The docking processor 702D can locate a load station in a storage / load area and can provide at least one move command 630 to dock the conveyor 120 (Figure 1) with the load station. The return processor 702B can optionally provide at least one move command 630 to move the conveyor 120 (Figure 1) back to its first location when the conveyor 120 (Figure 1) receives an invocation command.If there is no storage / loading area 695, or if there is no loading station, or if the conveyor 120 (Figure 1) cannot be coupled with the loading station, the error processor 702E can optionally provide at least one alert to the user, and can provide at least one move command 630 to move the conveyor 120 (Figure 1) to the first location. RPCZ Ln / I 7O7 / E / YILI Referring now to Figure 18A, method 1250 for negotiating an elevator while maneuvering conveyor 120 (Figure 1) can help a user enter and exit elevator 685 (Figure 18B) on conveyor 120 (Figure 1). Sensor processor 661 can be used to locate elevator 685 (Figure 18B), for example, or the location of elevator 685A (Figure 18B) can be determined from local storage 607H (Figure 14B) and / or cloud storage 607G (Figure 14B). When elevator 685 (Figure 18B) is located, and when the user selects the desired direction of the elevator, and when elevator 685 (Figure 18B) arrives and the door opens, elevator mode 605D (Figure 18B) can provide movement commands 630 (Figure 18B) to move conveyor 120 (Figure 1) inside elevator 685 (Figure 18B).The geometry of elevator 685 (Figure 18B) can be determined, and movement commands 630 (Figure 18B) can be provided to move conveyor 120 (Figure 1) to a location that allows the user to select a desired activity from the elevator selection panel. The location of conveyor 120 (Figure 1) can also be suitable for exiting elevator 685 (Figure 18B). When the elevator door opens, movement commands 630 (Figure 18B) can be provided to move conveyor 120 (Figure 1) to completely exit elevator 685 (Figure 18B). Method 1250 may include, but is not limited to, locating elevator 685 (Figure 18B), where elevator 685 (Figure 18B) has an elevator door and an elevator threshold associated with the elevator door.Method 1250 may include providing at least one move command 630 (Figure 18B) to move the conveyor 120 (Figure 1) through the elevator door beyond the elevator threshold. Method 1250 may also include determining the geometry of the elevator 685 (Figure 18B) and providing at least one move command 630 (Figure 18B) to move the conveyor 120 (Figure 1) to a selected floor / exit location relative to the elevator threshold. Method 1250 may also include providing at least one move command 630 (Figure 18B) to move the conveyor 120 (Figure 1) through and beyond the elevator threshold to exit the elevator 685 (Figure 18B). Referring now primarily to Figure 18B, elevator mode 605D may include, but is not limited to, elevator locator 711A, which can locate elevator 685, which has an elevator door and an elevator threshold associated with the elevator door. Elevator locator 711A can store obstacles 623, elevators 685, and elevator locations 685A in elevator database 683B, for example. Elevator database 683B can be located locally or remotely from conveyor 120. Input / output processor 71IB can provide at least one move command 630 to move conveyor 120 (Figure 1) through the elevator door and past the elevator threshold to enter or exit elevator 685. Elevator geometry processor 711D can determine RPCZ Ln / Lznz / E / YILI the geometry of the elevator 685. The input / output processor 711B can provide at least one motion command 630 to move the conveyor 120 (Figure 1) to a floor selection / output location relative to the elevator threshold. The configurations presented herein are directed to computer systems for carrying out the methods discussed, and to computer-readable media containing programs for implementing those methods. Raw data and results can be stored for future retrieval and processing, printing, presentation, transfer to another computer, and / or transfer elsewhere. Communication links can be wired or wireless, for example, using cellular communication systems, military communication systems, and satellite communication systems. Parts of the 200A system (Figure 4), for example, can operate on a computer with a variable number of CPUs. Other alternative computing platforms may be used. This configuration also addresses software, firmware, and / or hardware for implementing the methods discussed herein, as well as computer-readable media that store software for implementing these methods. The various modules described herein may run on the same CPU or on different CPUs, either tightly or loosely coupled. The various modules may be implemented using specially designed integrated circuits. In compliance with the statute, this configuration has been described in language that is more or less specific with regard to its structural and methodological characteristics. It is to be understood, however, that this configuration is not limited to the specific characteristics shown and described, as the means disclosed herein encompass various ways of implementing these teachings. Methods 650 (Figures 11A1 and 11A2), 750 (Figure 13A), 850 (Figures 14A1 and 14A2), 950 (Figure 15A), 1050 (Figures 16A1 and 16A2), 1150 (Figure 17A), and 1250 (Figure 18A) may be implemented electronically, in whole or in part. Signals representing actions taken by elements of system 200A (Figure 4) and other described configurations travel over at least one live communications network 143 / 144 (Figure 4). Control and data information may be executed electronically and stored on at least one computer-readable medium. The system may be implemented to run on at least one computer node on at least one live communications network.Common forms of at least one computer-readable medium may include, for example, but are not limited to, a floppy disk, a hard disk, a magnetic tape, or any other magnetic medium, a compact disc read-only memory or any other optical medium, punched cards, paper tape, or any other physical medium with hole patterns, a random access memory, a programmable read-only memory, and an erasable programmable read-only memory. RPCZ Ln / Lznz / E / YILI (EPROM), a Fast EPROM, or any other memory chip or cartridge, or any other medium from which a computer can read. While the teachings presented herein have been described above in terms of specific configurations, it is to be understood that they are not limited to those five disclosed configurations. Many modifications and other configurations will occur to those skilled in the art to which this belongs, and these are intended to be, and are, covered by both this disclosure and the accompanying claims. It is intended that the scope of the teachings presented herein shall be determined by the proper interpretation and construction of the accompanying claims and their statutory equivalents, as understood by those skilled in the art on which the disclosure in this specification and the accompanying drawings is based.
Claims
NOVELTY OF THE INVENTION CLAIMS 1. A method for operating an elevator while maneuvering a conveyor, the conveyor including sensors, the elevator including an elevator threshold and an elevator door, the method comprising: providing at least a first motion command moving the conveyor into the elevator and through the elevator door clearing the elevator threshold within the elevator; providing at least a second motion command moving the conveyor within a selected floor / exit location relative to the elevator threshold; and when the elevator door opens, providing at least a third motion command moving the conveyor through the elevator door crossing the elevator threshold to exit completely from the elevator.
2. The method according to claim 1, characterized in that it further comprises locating the elevator.
3. The method according to claim 2, further characterized in that locating the elevator comprises: receiving data from the sensor; and processing the data to determine a location for the elevator.
4. The method according to claim 1, further characterized in that locating the elevator comprises: accessing a data storage, the data storage including a location of the elevator.
5. The method according to claim 4, further characterized in that the data storage comprises cloud storage or local storage.
6. The method according to claim 1, further characterized in that locating the elevator comprises: receiving information from a user indicating a location of the elevator.
7. A system for negotiating an elevator while maneuvering a conveyor, the elevator including an elevator threshold and an elevator door, the system comprising: a processor configured to: provide at least one motion command to move the conveyor through the elevator door over the elevator threshold either to enter or exit the elevator; and provide at least one motion command to move the conveyor to a selected floor / exit location relative to the elevator threshold.
8. The system according to claim 7, further characterized in that the processor is additionally configured to: locate the elevator associated with the elevator door. RPCZ Ln / Lznz / E / YILI 9. The system according to claim 7, further characterized in that the processor is configured to: save obstacles and elevator locations in an elevator database.
10. The system according to claim 9, further characterized in that locating the elevator comprises: the processor being additionally configured to: access the elevator database; evaluate a conveyor location; and determine an elevator location based at least on the elevator database and the conveyor location.
11. The system according to claim 7, further characterized in that it additionally comprises at least one sensor.
12. The system according to claim 11, further characterized in that locating the elevator comprises: the processor being additionally configured to: access data from at least one sensor; and determine at least one elevator location based on the data.
13. The system according to claim 7, further characterized in that it additionally comprises: at least one sensor; and at least one elevator database.
14. The system according to claim 13, further characterized in that locating the elevator comprises: the processor being additionally configured to: access the elevator database; access a conveyor location; access data from at least one sensor; and determine an elevator location based at least on the elevator database, the data, and the conveyor location.