Foot-operated robot interface

Disclosed is a system for controlling a robot via a foot-operable controller. The foot-operable controller includes a grid of large pressure-sensitive tiles that are responsive to being stepped on. Signals from the pressure-sensitive tiles are provided to a controller interface that converts the signals to control messages compatible with existing robot control interfaces, such as a universal serial bus. The foot-operable controller may be used to control various robots, including for example a robot equipped with a claw arm or a robot equipped with a ring launcher.

TECHNICAL FIELD

The subject matter described herein relates to a system for controlling a robot. This system has a particular but not exclusive utility for education, construction, and manufacturing.

BACKGROUND

Sharing a game controller with others is commonplace at social or outreach events, but such sharing can raise societal concerns regarding the spread of communicable diseases. A person using a hand-operated controller may contaminate the controller with a microbe, virus, or fungus, which may, in turn, infect the next person (or multiple subsequent persons) to use the hand-held controller. In other situations, a hand-held controller may be impractical or infeasible, for example, because of physical limitations of the person or other simultaneous activities engaged in by the person. Therefore, what is needed in the art is an improved way to provide controller inputs to devices, such as remotely operated robots, that may reduce or eliminate the need for using a hand-held controller.

DETAILED DESCRIPTION

FIG.1illustrates a perspective view of a foot-operated robot control system100wirelessly connected to a robotic vehicle105. Foot-operated robot control system100includes a foot-operated controller101, a controller box102, a game controller103, and a robot control hub104. Game controller103may preferably be an F310 gamepad commercially available from Logitech International, S.A., of Lausanne, Switzerland. In the exemplary embodiment depicted inFIG.1, robotic vehicle105is a clawbot having a frame supporting a variety of additional components which may pick up, transport, and release objects.

Illustrated inFIG.2is a perspective view of foot-operated robot control system100attached to a different robotic vehicle205. In the exemplary embodiment depicted inFIG.2, robotic vehicle205is a launcherbot that may pick up deformable rings from the floor, transport the deformable rings, and launch the deformable rings at a target.

FIG.3Aillustrates a perspective view of a base layer300of foot-operated controller101. Base layer300may include a square wooden base301and eight wiring squares302. Base301may optionally include centered elevated square304for stability. Elevated square304may be rigidly attached to base301using a plurality of screws303. In other embodiments, base301may be formed from other materials, e.g., plastic or metal, and may be a different shape, e.g., circular. Base301is depicted as including eight wiring recesses302for accepting portions of electrical wiring that facilitate detecting a user's input. In other embodiments, wiring recesses302may be a different shape, e.g., circular, and may include a different number than eight wiring recesses, e.g., six recesses.

FIG.3Billustrates a top view of a middle layer330of foot-operated controller101comprised of a thick foam layer333. Thick foam layer333may provide cushioning for foot-operated controller101. Thick foam layer333may have a cut out331for the elevated center square304and a plurality of pressure sensor cut outs332.

Illustrated inFIG.3Cis a perspective view of a top layer360of foot-operated controller101including a plurality of pressure tiles. Top layer360includes centered elevated square304surrounded by a plurality of pressure tiles371,372,373,374,375,376,377,378. In some embodiments, each pressure tile activates a function or feature of a robot. In one embodiment, robotic vehicle105is connected to foot-operated robot system100, and pressure tile371commands a clawbot arm (seeFIG.1) to lower. Conversely, pressure tile373commands a clawbot arm to rise. In another embodiment, robotic vehicle205is attached to foot-operated robot system100, and pressure tile371may command robotic vehicle205to pick up a deformable ring, while pressure tile373may command robotic vehicle205to launch a deformable ring. In some embodiments, a pressure tile may be associated with a command that is common across multiple robotic vehicles. For example, pressure tile372may be a single function button that commands a connected robot to drive forward, while pressure tiles374,375are single function buttons that command a connected robot to turn left (e.g., counterclockwise) and right (e.g., clockwise) respectively. In general, each of the pressure tiles371-378may be associated with providing a command to a robot as desired. In some embodiments, a pressure tile may be configured to cause a connected robot to drive backward. Depending on the drivetrain configuration of a connected robot, causing the robot to drive forward, backward, left, or right may include activating one, two, or more motors. For example, where the robot has a portside motor and a starboard motor, the robot may be caused to drive forward or backward by activating both motors simultaneously to initiate motion in the same direction. Similarly, the robot may be caused to turn left by activating a starboard motor to drive in a forward direction; by activating a portside motor to drive in a backward direction; or by activating both in these manners. The robot may be caused to turn right by activating a portside motor to drive in a forward direction; by activating a starboard motor to drive in a backward direction; or by activating both in these manners. In some embodiments, a single motor causes the robot to move forward or backward; for example, a single motor may be coupled to wheels on both port and starboard sides of the robot.

FIG.3Dillustrates an exploded view of foot-operated controller101. Foot-operated controller101includes base300, middle330, and top360. As will be discussed in further detail below, in operation, a user may stand on (or otherwise exert a physical force on) a pressure tile, e.g., pressure tile374, and the user's weight (or force) may compress thick foam layer333causing a pressure sensor392to contact electrical wires391, completing a circuit and triggering the provision of a command to a robot being controlled. For example, the completion of the circuit may cause or include changing a voltage level on a wire or between two wires. The pressure tiles are preferably of equal sizes and arranged in a grid layout as shown. To facilitate foot-operation, the pressure tiles are each preferably sized to accommodate being stepped on. In one embodiment, each pressure tile has a width of twelve inches and a length of twelve inches, for a total surface area of 144 square inches. In another embodiment, each pressure tile has dimensions of 16 inches by 16 inches, for a total surface area of 256 square inches.

It may be desirable to employ foot-operated controller101to control a robot that may not have been originally designed to receive inputs from foot-operated controller101. As discussed further below, the inventors have devised a novel approach to retrofitting an existing robot control system to accept and respond to inputs provided via foot-operated controller101. In some embodiments, a robot may be designed to accept inputs from a commercially available game controller103, such as an F310 controller available from Logitech International, SA. To generate an output signal for controlling such a robot, the output from foot-operated controller101may mimic a command from a Logitech F310 gamepad. A Logitech F310 gamepad has multiple buttons and joystick inputs that may control a connected robotic vehicle. The inventors have devised a novel approach to electrically connecting foot-operated controller101to a Logitech F310 gamepad controller board so that depressing a pressure tile371-378electrically activates the F310 gamepad controller board in the same way that it would be activated by manually pressing one of the inputs on the F310 gamepad. Therefore, by connecting each pressure tile371-378of foot-operated controller101to a corresponding input on a Logitech F310 gamepad controller board, a robot designed to be controlled via a Logitech F310 gamepad controller may be made to receive commands input via foot-operated controller101.

Illustrated inFIG.4is a controller board400that in some embodiments may be extracted and modified from a Logitech F310 gamepad. Controller board400may include a plurality of test points401and a plurality of copper traces402. Test points401may enable testing of a signal electrically coupled to that location. Copper traces402may enable electrical conductivity from one location on controller board400to another location on controller board400. One or more signals from foot-operated controller101may be provided to controller board400via a mapping diagram of wire connections between the foot-operated controller and the interface circuit500, as further described with respect toFIG.5below. One or more output signals from controller board400may be provided to a robotics vehicle. In some embodiments, the controller board400includes an output interface that is compatible with a Universal Serial Bus (USB) standard, such as the USB 1.0, 1.1, 1.2, 2.0, 3.0, 3.1, or 3.2 standards maintained by the USB Implementers Forum (USB-IF). Thus, output signals from controller board400may be provided in the form of messages formatted in accordance with a USB standard.

FIG.5illustrates an interface circuit500, an exemplary mapping diagram of wiring connections between foot-operated controller101and controller board400. Controller board400may control a robotic vehicle. The command inputs associated with ordinary (manual) operation of a gamepad controller are depicted as switches in controller board signal510, e.g., SW30, labeled as BTN_LEFT, corresponds to pressing a left button on the gamepad. Each switch may correspond to a command to control a connected robot. Each switch has two connection points, labeled as a 1-side input and a 2-side input. When a circuit is closed between the 1-side input and the 2-side input—such as when a gamepad button is pressed, closing the associated switch—the gamepad controller board400detects the input and produces an output signal that is recognized by a robot as a command. In short, controller board400transmits a command to a connected robot to do a particular task when a switch is closed. Each switch has a test point node, e.g., TP30, which may be used to test the electrically coupled signal. By providing strategically selected electrical connections from various test points on gamepad controller board400to other electric circuits, the inventors have discovered a way to provide an alternative input mechanism for controlling a robot without requiring substantial rework or reprogramming of the robot's existing communications technology. One critical consideration in connecting the switch circuitry on gamepad controller board400to other electrical circuits is the arrangement of shared electrical contacts, as partially shown inFIG.5. For example, the 1-side of SW30BTN_LEFT is electrically connected to the 1-side of various other switches, including SW47BTN_MODE and SW43BTN_B.

FIG.5shows that for selected switches, the 1-side and the 2-side may be electrically connected to a controller board DB15_female514connector. The controller board DB15_female514connector receives the foot-operated controller DB15_male521connector. A signal generated by foot-operated controller101may close a switch on foot-operated controller signal520. Both sides of an active switch located on foot-operated controller signal520may be electrically coupled to DB15_male521connector.FIG.5illustrates a circuit path that a signal from foot-operated controller101may take via interface circuit500to controller board400.

In one embodiment, a user may step on foot-operated controller pressure tile374, compressing thick foam layer333, causing an underlying pressure sensor392to contact electrical wires391, closing a switch SW4SW_LEFT15,12523, and generating a signal. The signal, generated by foot-operated controller101, may propagate to foot-operated controller DB15_male521connector pin numbers12and15which may be electrically coupled to controller board DB15_female connector514pin numbers12and15. Controller board DB15_female connector514pin numbers12and15may electrically couple to the 1- and 2-sides of controller board BTN_LEFT20switch524, thereby commanding a connected robot to turn left. Each active foot-operated controller pressure tile370may generate a corresponding connection between the 1- and 2-sides of a switch on controller board signal510, triggering the sending of a command to a connected robot.

FIG.5also shows the use of shared electrical rails or contacts in the circuitry of foot-operated controller signal520. For example, the SW4SW_LEFT switch has its 1-side connected to the 1-side of SW3SW_DOWN. This electrical partial-tethering of the connections between SW3and SW4necessitates that both of these pressure tiles be mapped to a pair of switches in controller board signal510that have a similar electrical arrangement. As explained previously, SW4SW_LEFT is mapped to pins12and15on the DB15 connectors, and from there to SW30BTN_LEFT in controller board signal510. SW3SW_DOWN connects to pins13and15on the DB15 connectors, and from there to SW43BTN_B in controller board signal510. As noted previously, SW30BTN_LEFT and SW43BTN_B share a common 1-side electrical connection, specifically, to pin15of the DB15 connectors. Similar electrical connections and mappings are made between foot-operated controller signal520and controller board signal510.

FIGS.6A and6Billustrate a perspective view of controller box102containing a top601, a middle602, a bottom603, and a plurality of openings604. Openings604may provide electrical access to circuitry within the controller box102. Controller box102may be designed to hold circuitry and other components to facilitate communication between foot-operated controller101and a connected robot. Top601includes a tray614to house a smartphone, a plurality of screws610, and a plurality of buttons611.

FIG.6Cillustrates a perspective view of controller box bottom603which includes a tray652to house controller board400, which may be held in place with a set of pegs651. Additionally, bottom603may have a DB15 cable port653to connect foot-operated controller101DB15_MALE521connector to controller board400DB15_FEMALE514connector.

FIG.6Dillustrates a perspective view of controller box middle602containing an opening658for USB OTG Hub (not shown), which may be used for communication with a connected robot. Middle602may also include a crossbar656to maintain the structural integrity of controller box102. Middle602may include one or more openings such as657and655to reduce the weight of controller box102.

FIG.6Eillustrates an exploded view of controller box102. Bottom603houses controller board400. Next, middle602may include USB OTG hub658, and electrical contacts677for buttons611. Top601contains buttons611used for initialization of the system, tray614to house a smartphone676, and a plurality of screws610.

A robot may be equipped with a robot control hub system700for controlling its operation.FIG.7Aillustrates robot control hub104rigidly attached to a plate701with a plurality of standoffs702attached to a top surface of plate701.FIG.7Billustrates robot control hub system installed710and rigidly attached to an anterior surface of a robot frame using a plurality of standoffs702.

FIG.8illustrates robot control hub104that may include various hardware and software components, e.g., a robot controller804and a downloaded application805, to control the attached robot. Robot control hub104preferably includes a programmable processor with computer-readable memory storing instructions executable by the processor. Robot control hub104may include an interface for receiving instructions for controlling an associated robot from a driver station processor819. The driver station processor819may be a desktop, personal computer, or other general purpose computer, and in a preferred embodiment, the driver station processor is a smartphone or PDA. A driver station processor may be with a driver station application. Driver station processor819communicates via an interface that may include a wired or wireless connection. Driver station processor819communicates via the interface with robot control hub104mounted on a robotic vehicle. Robot control hub104includes a robot controller804and a downloaded application805. Driver station processor819may receive commands from controller box102and may transmit commands via an interface to robot controller804and downloaded application805. The interface may use proprietary or standards-based communications technology, including for example a Universal Serial Bus (USB), Bluetooth, or IEEE 802.11-2020 interface. The interface is preferably a wireless interface that operates in an unlicensed radio frequency band of the electromagnetic spectrum, such as 2.4 Ghz or 5 Ghz. In this manner, the associated robot may be remotely controlled through a wired or wireless connection. When instructions are received through the interface, a filter may be applied to evaluate whether to execute a received command. For example, a threshold filter may prevent initiating movement in response to a noise produced by the source of the instructions. As another example, robot control hub104may evaluate a received command in the context of the robot's location, situation, or both, and may disregard a command that is deemed to be unsafe or that may damage the robot. Evaluating the propriety of a received command may include analyzing the command in the context of other input data, such as visual information from a locally mounted camera.

FIG.8illustrates a manual user function's basic initialization message sequence800for foot-operated robot control system100. In one embodiment, driver station processor819, which may be stored on a smartphone, may contain one or more applications, e.g., a screen capture software801and a driver station application802. Method800begins with driver station application802, stored in driver station processor819, initiating wireless communication with robot control hub104by pairing with a downloaded application805at step806. At steps807and808, driver station processor819requests, and robot control hub104returns, the connected robot configuration. At step809, driver station processor819requests a list of programs which robot control hub104returns in step810. At step811, a program is selected at driver station processor819(for example, by a human user choosing from a displayed list). Driver station processor819then requests that robot control hub104load the program at step812. At step813, robot control hub104responds to driver station processor819with the status of the loaded program, e.g., the program is ok. Driver station processor819sends the instruction to robot controller804to initialize a program at step814. Robot hardware820is initialized at step815by robot controller804. After connected robot's hardware820initialization, robot control hub104returns a status message to driver station processor819, e.g., program and hardware are ok at step816. Driver station processor819then sends an instruction to execute the loaded program at step817. While the connected robot is executing the selected program, at step818, telemetry messages concerning the connected robot are sent to driver station processor819periodically.

After the connected robot is initialized,FIG.9illustrates control command message sequence900to control the connected robot using foot-operated controller101. Driver station processor819may be in wireless communication with downloaded application805executing on robot controller804. In some embodiments, a start-up sequence may be required to activate or initialize one or more components. For example, at step906a human user may press the “start” and “a” buttons on game controller103. This command is sent to controller box102to initialize the system prior to a user stepping on foot-operated controller101. After initialization, controller board400sends a joystick message to driver station processor819at step907. Step908, when a user steps on foot-operated controller101, the output signal from foot-operated controller101travels to controller board400which is housed in controller box102. As previously discussed with respect toFIG.5, the signal from foot-operated controller101closes a circuit associated with switch on controller board400, thereby triggering the transmission of an associated joystick command to driver station processor819at step909. Driver station processor819, at step910, sends a joystick state message to robot controller804, which may then activate robot hardware to execute a maneuver (not shown).

In some embodiments, two-way communication between a robot and a driver station processor819or a foot-operated controller101may be provided. For example, robot controller804may send a battery status to driver station processor819at step911; information about the robot's battery status may then be displayed on a screen of driver station processor819. Information about the status of the robot may be provided to foot-operated controller101(and potentially displayed using LED or other visual outputs on foot-operated controller101) as follows. Robot hardware819sends a read camera image to robot controller804at step912. Robot controller804receives the read camera image from robot hardware820and transmits a robot telemetry report at step913to driver station processor819. At step914, driver station processor819takes a screen capture of all data sent to it from robot controller804. Lastly, at step915, driver station processor819sends a command back to foot-operated controller101which turns on certain LED lights located on foot-operated controller101. In one embodiment, such visual feedback to foot-operated controller101is provided when image analysis software executing on robot controller804detects that an appropriate target is within view of a camera on the robot; thus, a user with limited visual sightlines to the robot—and without access to driver station processor819—may be informed when it is possible or advantageous to provide certain commands to the robot, for example, to launch a ring toward a desired target.

FIG.10illustrates a perspective view of a clawbot which is an example of a connected robot. A clawbot is a robotic vehicle that may be designed to communicate with driver station processor819, travel to an object, pick up, raise, lower, or release the object using a claw arm1016and a claw1017.

A clawbot has a frame, including a rear support beam1027and a forward support beam1026. In some embodiments, the beams may be Tetrix channel brackets, commercially available from Pitsco Education, LLC of Pittsburg, KS The forward support beam1026and rear support beam1027support a variety of additional components, e.g., claw arm1016and a plurality of claw fingers1032. Arm channel brackets1028arise from and are rigidly attached to rear support beam1027and terminate at forward support beam1026. A power on/off switch1022is mounted to a top surface of rear support beam1027.

In some embodiments, a clawbot may be capable of driving over varied terrain via a plurality of omniwheels1012powered by a wheel motor1009(or multiple such wheel motors). In some embodiments, wheels of a different type may be employed, for example, some or all wheels may be treaded wheels. More information on the design and use of treaded wheels is provided in U.S. Pat. No. 9,211,922 to Keeling, et al., entitled “Robotic vehicle having traction and mobility-enhanced wheel structures,” the contents of which is hereby incorporated by reference for all purposes. The rear wheels are enclosed in a 3-d printed rectangular box1010. A set of wheel channel brackets1024are rigidly attached perpendicularly to forward support beam1026with wheels1012attached to each side. A battery pack1013is affixed to a top surface of each wheel channel bracket1024. In some embodiments, a clawbot may be operable with only one battery pack1013, however, it may be desirable to nevertheless provide a second battery pack1013as a counterweight for improved traction and stability.

Robot control hub104controls the attached robot and may be in wireless communication with driver station processor819. Robot control hub104is attached to a top surface of plate1002. Plate1002is rigidly attached to the underside of rear support beam1027, such as with screws, through a plurality of standoffs1001. Standoffs1001are preferably relatively short so that plate1002does not touch the ground. However, standoffs1001should nevertheless allow space for electrical connections, airflow ventilation, etc., between robot control hub104and rear support beam1027.

The claw arm1016enables a clawbot to raise and lower an object. Claw arm1016is powered by a motor1015which is rigidly attached to an arm channel bracket1028. Motor1015shaft (not shown) drives a gear (not shown) which meshes with a larger gear1023, transmitting motion to it. Gear1023drives bar1008and transmits motion to claw arm1016. As will be discussed further below, to protect claw arm1016, the potentiometer1030is used to monitor claw arm's1016position in space so that the angle of rotation does not exceed a threshold limit. Thus, the claw arm1016may be electronically prevented from possibly striking the floor and causing damage. The maximum lift angle of claw arm1016may also be limited. A potentiometer channel bracket1029arises from and is rigidly attached to rear support beam1027. A potentiometer shaft1005extends from a potentiometer channel bracket1029, through potentiometer gear1004, and terminates as input to potentiometer1030.

A clawbot picks up and releases objects using a claw1017attached to the end of claw arm1016. Claw1017includes two claw fingers1032, each of which comprises a set of two plates, separated by standoffs1018, with a set of geared teeth1019to synchronize the movement of the claw fingers1032with each other. A claw servo motor1020is affixed to a top surface of one claw finger1032and powers claw1017enabling claw fingers1032to open and close. Further information about the design and use of claw1017is available in U.S. Pat. No. 10,384,338 to Greene, et al., entitled “Robotic vehicle having extendable mandible structure,” the contents of which is hereby incorporated by reference for all purposes.

FIG.11shows various aspects of claw arm potentiometer system1100.FIG.11Aillustrates the connections to and from potentiometer1030, which is illustrated as residing partly within a Tetrix channel bracket1031. In some embodiments, potentiometer1030may provide data about the actual position of claw arm1016. Potentiometer1030may be coupled to a potentiometer mount1103, which in turn is coupled to arm/potentiometer channel bracket1029, and potentiometer input shaft1005. Potentiometer channel bracket1029and shaft bushing1102provide support for input shaft1005and reduces stress on potentiometer1030. Input shaft1005is physically coupled to gear1004and mechanically coupled to claw arm motor shaft1008through gear1003.

FIG.11Bis a front view of potentiometer mount1110towards input shaft1005. Input shaft1005is coupled to potentiometer1030through an aperture1112. Potentiometer1030electrical connections, power and ground, may be coupled to potentiometer1030through apertures1111and1113.

FIG.11Cis a perspective view of potentiometer mount1103. Potentiometer mount1103provides a structural interface between a Tetrix channel bracket (such as Tetrix channel bracket1029inFIGS.10and11) and potentiometer1030. Potentiometer1030may be coupled to potentiometer mount1103using one or more screws in accordance with a hole pattern1123. The potentiometer mount1103may be coupled via one or more screws to arm/potentiometer channel bracket1029(seeFIGS.10and11) using Tetrix hole pattern1105. Power for potentiometer1030may be provided through wiring that passes through a feedthrough channel1122.

Turning now toFIG.12, illustrated is a launcherbot which may by controlled using robot control system100discussed above. A launcherbot includes robot control hub104, a drive base system1201, a ring intake system1202, a ring transfer system1203, a ring stacker system1204, a flywheel driver system1205, a ring launcher system1206, and a camera system1207.

The drive base system1201is further illustrated onFIG.13A. Drive base system1201includes a crossbar1302. Attached at a right angle to either end of crossbar1302are two side bars1301,1303, which are symmetric about a central axis of drive base1201. Crossbar1302and side bars1301,1303are preferably actobotics channel brackets.

FIG.13Bprovides a detailed illustration of a bottom view of a side bar assembly1304including side bar1303. Side bar1301is similarly part of another side bar assembly (not shown) that is symmetric to that shown inFIG.13B. Side bar assembly1304includes a motor1305attached to a posterior lateral surface of side bar1303. A shaft of motor1305extends through an aperture in side bar1303and drives a gear1306. Gear1306meshes with one or more gears1307to drive an output shaft coupled to an omni wheel1308. Side bar1303includes another omni wheel1309at the other extremis. Omni wheel1309is mounted to side bar1303via a shaft that extends through one or more apertures of side bar1303.

Sidebar assembly may be equipped with a dual drive system. As illustrated inFIG.13B, omni wheel1309may be connected to omni wheel1308through a belt1310preferably located in an interior channel of side bar1303. In other embodiments, any suitable mechanism may be used to transfer power from motor1305to omni wheel1309, such as a driveshaft or a series of gears. In some embodiments, omni wheels1308,1309may be other types of wheels, such as treaded wheels or pneumatic wheels.

FIG.14provides a rear view of ring intake system1202with a back bar assembly1400including a back bar1407. Back bar assembly1400further includes a motor1402attached to a top surface of back bar1407. A shaft of motor1402extends through an aperture in back bar1407and drives an output shaft coupled to a flywheel1403. Back bar assembly1400includes a second flywheel1404spaced apart from flywheel1403. Flywheel1404is mounted to back bar1407via a shaft that extends through one or more apertures of back bar1407. The distance between flywheels1403and1404(as measured between their outer circumferences) may be approximately the same as, or slightly less than, the width of a deformable ring to be picked up by ring intake system1202. In some embodiments, the distance may be up to 6 mm less than the width of the deformable ring.

Back bar assembly1400may be equipped with a dual drive system. As illustrated inFIG.14, flywheel1403may be coupled to rotate in synchronism with flywheel1404through a belt1405and two or more gears1406preferably located in an interior channel of back bar1407. With such an arrangement, flywheel1404may rotate at a similar speed but the opposite direction of flywheel1403.

In operation, ring intake system1202may work as follows. A user may guide a launcherbot toward a deformable ring such that the deformable ring is located approximately between counter-rotating flywheels1403,1404. When both flywheels1403,1404make contact with the deformable ring, the flywheels1403,1404may be caused to rotate and thereby urge the deformable ring into the space between the flywheels1403,1404, which may include compressing the deformable ring between counter-rotating flywheels1403,1404. The motion imparted to the deformable ring by the counter-rotating flywheels1403,1404causes the deformable ring to be transferred to an interior space of a launcherbot.

FIG.15provides an illustration of ring transfer system1203. Ring transfer system1203includes a ramp1504rigidly attached to an edge of a base plate1502. Base plate1502is preferably sized to accommodate the width of a deformable ring. A motor1501is attached to a top surface of a top plate1507. A shaft of motor1501extends through an aperture in top plate1507and drives a belt1503. Across from belt1503is a compression bar1509which extends past base plate1502. Compression bar1509is rigidly attached to a stopping plate1508.

In operation, ring transfer system1203may receive a deformable ring from ring intake system1202via ramp1504. The deformable ring may be urged forward by belt1503while base plate1502, compression bar1509, and top plate1507constrain the deformable ring. When the deformable ring reaches the end of base plate1502, stopping plate1508may stop the forward motion and rotation of the deformable ring, and as a result, the deformable ring may drop to ring stacker system1204below.

FIG.16provides an illustration of ring stacker system1204. Ring stacker system1204is mounted to side bars1301and1303preferably located on an anterior lateral surface of crossbar1302and beneath ring transfer system1203. In operation, a deformable ring may drop from ring transfer system1203to ring stacker system1204. The deformable ring may rest on a surface of a bottom plate1601. The deformable ring may be constrained by a back plate1602, a left plate1603, and a right plate1604. A plurality of deformable rings may stack, one on top of the other, on a top surface of bottom plate1601. Bottom plate1601may be indirectly coupled to aiming arc plates1605which may be angularly adjustable such that the angle of bottom plate1601relative to other robot structures (and, for example, the ground) may be chosen or adjusted within a broad range. A channel bracket1609is attached to the aiming arc brackets1605. A motor1607is attached to a top surface of the aiming arc brackets1605. Ring stacker system1203includes a motor1607attached to channel bracket1609, connected to an output shaft1608, which drives a kicker1606and terminates through an aperture in bottom plate1601. In operation, kicker1606may rotate about shaft1608to urge forward a deformable ring that was resting on bottom plate1601. The kicker1606may urge a deformable ring toward ring launcher system106.

FIG.17provides an illustration of flywheel driver system1205comprised of a side bar1701, two motors1702,1706, two shafts1703,1708, two flywheels1704,1709, and a plurality of gears. As discussed further below, flywheel driver system1205includes two motors1702,1706mounted to a top surface of a baseplate1801of ring launcher system1206. A shaft of motor1702drives an output shaft coupled to a gear1705. Shaft1703is coupled to a gear and drives flywheel1704. A shaft of motor1706drives an output shaft coupled to a gear1707. Shaft1708is coupled to a gear and drives flywheel1709. Motors1702,1706may independently drive, at different speeds, flywheels1705and1709respectively.

FIG.18provides an illustration of ring launcher system1206comprised of a compression plate1802, a middle bracket1803, a base plate1801, a back bracket1806, a top plate1804, and a plurality of aiming brackets1805. Back bracket1806, compression plate1802, and flywheel driver system1205are attached to a top surface of base plate1801. Back bracket1806provides structural support to flywheel driver system1205. Middle bracket1803is rigidly attached to compression plate1802at one extremis and side bar1701of flywheel driver system1205at the other extremis. Aiming brackets1805are rigidly attached to an anterior surface of baseplate1801. Aiming brackets1805may be adjusted to a selected angle so that an angle of base plate1801, relative to other robot components and the ground, is as desired.

Launch of a deformable ring begins with kicker1606urging a deformable ring forward. Ring launcher system1206and flywheel driver system1205receive the deformable ring from ring stacker system1204. Ring launcher system1206confines the deformable ring using top plate1804, compression plate1802, and base plate1801. Flywheels1704and1709move the confined deformable ring forward. Flywheel1709rotates faster than flywheel1704urging a deformable ring forward until it reaches the end of base plate1801and is launched. For example, a deformable ring may be launched by being ejected from ring launcher system1206with substantial linear and angular momentum.

FIG.19Aprovides an illustration of an anterior surface of a front plate1901of camera system1207. Camera system1207is comprised of front plate1901, a camera1902, and a power switch1903. In operation, forward-facing camera1902may provide visual information that is programmatically processed to identify whether a proper target is within range, prior to a deformable ring launch.

FIG.19Bprovides an illustration of a posterior surface of front plate1901of camera system1207. Camera system1207is comprised of front plate1901, a camera1902, a battery1904, power switch1903, and a beam1905with offsets to rigidly attach a battery1904to front plate1901.

Still other embodiments are contemplated. It is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative only of particular embodiments and not limiting. Changes in detail or structure may be made without departing from the basic elements of the subject matter as defined in the following claims.