The present invention generally relates to robotic vehicles and, in a representatively illustrated embodiment thereof, more particularly relates to a specially designed robotic vehicle with wheeled legs and a virtual drive transmission.
In the construction of small robotic vehicles which manipulate objects, one of the design challenges presented is to provide the vehicle with a flexible driving capability for maneuvering over a variety of types of terrain. In some instances, a circular wheel may perform well on flat or substantially smooth terrain, but perform poorly, or not at all, on rough or irregular terrain. The need to traverse various types of terrain is particularly acute with robotic vehicles intended for disaster assistance or search-and-rescue functions.
In view of these design difficulties it can be seen that a need exists for a robotic platform equipped with a drive system capable of traversing various types of terrain. It is to this need that the present invention is primarily directed.
Illustrated in
Attached to frame 12 are front fenders 18 positioned to extend around and in front of the foremost wheels 16 on each side. The front fenders, which may be composed of Lexan, are operable to push loose debris that the robotic vehicle 10 encounters. Although the front fenders are optional, the applicants have found that without front fenders 18 the robotic vehicle 10 when driven forward into loose debris, may drive up onto the debris in an undesired manner. For example, the robotic vehicle 10 may become unstable or high-centered on the loose debris. Thus, applicants have found it advantageous for the robotic vehicle 10 to push loose debris out of its path using front fenders 18. As illustrated, the robotic vehicle 10 has two vertically spaced-apart front fenders 18 on each side, but more or fewer front fenders are also contemplated. The front fenders 18 may also, or alternatively, push loose debris toward the centerline of the robot so that the robot may pass over the loose debris. The robotic vehicle 10 and its components may be sized as appropriate for an intended task. In one embodiment, the dimensions of the robotic vehicle 10 are less than about 18 inches wide, less than about 18 inches long, and less than about 18 inches high.
Attached to the frame 12 is a main controller mount 20. The main controller mount 20 is preferably composed of plastic, and may be fabricated using 3-D printing. The main controller mount 20 is designed to hold a programmable computer with an integrated camera function (not shown) in a vertical orientation. In one embodiment, the programmable computer may be a mobile handset, as described further with respect to
The main controller mount 20 may include a wire catch 22 to securely hold a communication wire that may plug into the programmable computer, thereby preventing accidental disconnection of a wire from the programmable computer during operation of the robotic vehicle 10.
Also attached to the frame 12 is a riser 24, which may be made from any suitable material but is preferably composed of a lightweight plastic, such as Lexan. Attached to riser 24 may be one or more controllers 26 (illustratively, two controllers 26 are shown). The controllers 26 may include various capabilities, including battery controllers, power distribution controllers, motor controllers, communication controllers, and the like. In one embodiment, the controllers 26 include one or more controllers available from Modern Robotics, Inc. of Miami, Fla., such as a Core Power Distribution Module, Core Motor Controller, or Core Servo Controller. In some embodiments, a controller 26 may provide multiple capabilities, for example, an integration of both motor control and communication control. Some controllers 26 may be programmable.
Also attached to frame 12 is arm 28. The arm 28 is preferably equipped with multiple points of articulation to allow for flexible manipulation of objects of various sizes. The arm 28 may include portions that are controllably extendable, thereby facilitating use of the arm 28 to reach objects that may be located on terrain in the vicinity of robotic vehicle 10, as well as objects located higher, including up to several feet above the surface of the terrain. The arm 28 may further include portions that roll up or otherwise collapse to allow for compact storage. For example, one or more portions of the arm 28 may include a linear slide, which may include multiple segments. The arm 28 may include a servo-controlled claw for grasping and manipulating objects. As illustrated, the arm 28 includes a hook 29.
Turning now to
A substantially similar drive system is provided on the opposite side of the robotic vehicle. A second drive motor 36 (obscured by main controller mount 20) is attached to the frame 12 and a second drive gear 38 that is aligned with the gears 34 on the other side of the robotic vehicle 10. A second chain or belt (not shown) couples the drive gear 38 to the wheel gears 34.
The first and second drive motors 36 may be operatively connected to a motor controller mounted on riser 24. The first and second drive motors 36 may be separately controllable, such that each drive motor may be driven in either a forward or reverse direction at multiple speeds independently of any action (or inaction) by the other drive motor. In this way, the robotic vehicle 10 is provided with a flexible driving capability with forward, reverse, and turning capabilities.
In one embodiment, each driver motor 36 includes an integrated rotational position sensor capable of producing an output representative of the rotational position of the drive motor 36's output shaft. The sensor output may be analog or digital, but are preferably digital. A digital output may range over a defined set of values, for example, from 0 to 280. A given output value indicates a defined rotational position of the output shaft relative to the remainder of the drive motor 36. Thus, the output value of 0 is output when the output shaft is at a specific rotational position state, regardless of how many times (and in what direction) the output shaft may have rotated before reaching that state. In other embodiments, a rotational position sensor may be external to the drive motor, for example, by being attached to idler gear 40.
Turning now to
As previously discussed, a gear 34 on each wheel 16 is operatively coupled to a drive 38. To control the tension, and to eliminate slack, in the drive chain or belt, an idler gear 40 is provided.
Turning now to
The outer circumference of the core 56 includes alternating tread portions 50 and scallop portions 52. Each tread portion 50 includes three tread plates 54, although more or fewer tread plates are also possible. The tread plates 54 are preferably an elastomeric plastic material, such as a synthetic rubber, to provide traction when in contact with a driving surface. Each treat plate 54 may have a roughly I-shaped or T-shaped cross-section to facilitate easy but secure attachment. In one embodiment, each tread plate 54 is a TETRIX® snap-together tank tread chain link as manufactured by Pitsco Education.
The core 56 further includes scallops portions 52 along its outer circumference between each tread portion 50. Each scallop portion is a negative space, preferably having a generally rounded, concave shape. The depth and width of each scallop portion may be adjusted to suit the needs of a particular application. Preferably, each scallop portion 52 around the circumference of the core 56 is equally sized. In one embodiment, the scallop portions 52 are sized to cooperatively engage a bar 60 when the bar is substantially parallel to axle 30. As described in more detail below, the bar 60 may be part of a ladder, for example.
The core 56 further includes a hub area 58 that is preferably generally recessed in a concave fashion. The generally concave recess of the hub area 58 provides a space for attachment hardware coupling the core 56 to axle 30. Any suitable attachment hardware may be employed, such as, for example, a retaining clip or a nut. The concave recess is preferably sized so that any attachment hardware does not extend beyond the outer plane 62 of the core 56.
Turning now to
Illustrated in
The core 56 may be any suitable material and is preferably a rigid plastic. The core 56 may be produced via a 3-D printing technique. To reduce the weight, cost, and fabrication time of the core 56, one or more negative spaces 70 may be included in the design of core 56. The negative spaces 70 may be any size and shape that does not interfere with the structural integrity of the core 56. In one embodiment, the negative spaces 70 are arranged in an aesthetically pleasing design.
The gear 34 attached to wheel 16 is preferably the same size, and has the same number of teeth, as drive gear 38. Thus, one rotation of the drive motor 36 results in one rotation of drive gear 38, one rotation of gear 34, and therefore one rotation of wheel 16. Accordingly, the rotational position sensor incorporated into the drive motor 36 provides an accurate proxy value that is indicative of the relative rotational position of the wheels 16.
The rotational position sensor is communicatively coupled to the programmable computer, for example, via the a wired interface. Thus, the rotational position information may be available to a software routine executing on the programmable computer.
Turning now to
In step 906, a drive command is received. The drive command may be received from either an autonomous control program or a human operator. The drive command may be to drive forward, to drive in reverse, to turn left, or to turn right. The drive command may further provide information regarding a desired drive speed.
In step 908, one or more commands are issued to cause the rotation of the left-side drive motor, the right-side drive motor, or both. The rotation of the left-side drive motor may be the same direction as the right-side drive motor, or they may be in opposite directions. The commands to cause rotation may be sent through a wired or wireless communication interface to a motor controller, which then controllably delivers power to one or both drive motors in accordance with the one or more commands.
In step 910, the rotational sensor position values are read for the left-side and right-side drive motors. The rotational sensor position values may be in any suitable number format, and in one embodiment the rotational sensor position values comprise integers in a range of 0 to 279. In other embodiments, the rotational sensor position values may be floating point values and may include negative values.
In step 912, the absolute difference between the left-side rotational position sensor value and the right-side rotational position sensor value is calculated, for example, by subtraction.
In step 914, the difference value calculated in step 912 is evaluated to determine whether the left-side and right-side drive systems are aligned. This step depends on the specific geometry of the drive systems, and in particular, on the configuration of treaded portions 50 and scalloped portions 52 of the wheels 16. This step also depends on the range of rotational position sensor values. In one example, the rotational position sensor values range from 0 to 279 (for a total of 280 possible values). As illustrated in the figures, exemplary wheels 16 include eight equally spaced treaded portions 50 and eight equally spaced scalloped portions 52. Thus, the treaded portions 50 and scalloped portions 52 repeat identically with every one-eighth turn of the wheel 16. A one-eighth turn of wheel 16 corresponds to a change of rotational position sensor value of 280/8, or 35. Accordingly, in this example, the left-side and right-side drive structures will be in alignment (that is, in the same relative alignment as they were at step 902) when the difference between the left-side rotational position sensor value and the right-side rotational position sensor value is zero or an even multiple of 35. Thus, the amount of misalignment between the left-side and right-side may be measured by the difference value modulo 35. If the difference value modulo 35 is below a threshold, then it is determined that the left-side and right-side are sufficiently aligned, and the process continues to step 920. If the difference value modulo 35 exceeds that threshold, then it is determined that the left-side and the right-side are not aligned, and the process continues to step 916.
In step 916, a command is issued to cause the rotation of either the left-side drive motor or the right-side drive motor. The selection of which side to drive may depend on various factors, including for example, depending on which side was previously driven in step 908. If, for example, only one side was driven in step 908, then the same side may be selected for driving in step 916. The drive command issued in step 916 may be a small incremental drive command that causes a small, and potentially low-speed, rotation of the commanded drive motor based on the difference value calculated in step 914. The issued command in step 916 causes a rotation of one of the drive motors intended to reduce or eliminate the misalignment of the left-side and right-side drive systems (as measured by the difference value of step 914).
Following step 916, the process returns to step 910.
In step 920, the process ends.
The beneficial operation of robotic vehicle 10 will now be described. The main controller includes stored programming allowing the robotic vehicle 10 to be operated in two modes. In an autonomous mode, the robotic vehicle 10 operates in accordance with preprogrammed instructions and without any human input. The operation of the vehicle in autonomous mode is not entirely predetermined, however, as sensor inputs may be processed and influence the operation of the robotic vehicle 10.
The robotic vehicle 10 may also be operated in a human-driver mode. In the human-driver mode, the robotic vehicle 10 operates in accordance with instructions provided by a human, such as through the use of a handheld remote controller that may be equipped with one or more joystick inputs and one or more buttons. The received instructions are passed to a motion program that sends signals to the various motors and servos that comprise the robotic vehicle 10. The instructions are preferably received by the robotic vehicle 10 the wireless communication interface.
In either mode, any drive commands for causing movement of the robotic vehicle 10 are processed using the method 900. In this way, after each drive command, the robotic vehicle 10 automatically realigns, if necessary, its left-side and right-side drive systems such that the unique design patterns on the wheels (e.g., the treaded portions 50 and the scalloped portions 52) contact the terrain in synchrony. Thus, the drive systems are effectively maintained in substantially continuous alignment.
Illustrated in
Illustrated in
Also coupled to the communication bus 1204 is an image sensor 1212. The image sensor 1212 may be any suitable sensor type, such as a charge-coupled device (CCD) sensor or complementary metal-oxide-semiconductor (CMOS) sensor, and may provide a video capture mode capable of producing 640×480 pixel color images with at least 30 frames per second. In other embodiments, the resolution and frame rate may each be higher or lower.
The communication bus 1204 is depicted as a single bus, however multiple distinct buses may also be employed. For example, a dedicated bus may couple the microprocessor 1202 to a volatile random access memory, while a different bus may couple the microprocessor 1202 to a nonvolatile random access memory.
Illustrated in
In step 1306, the captured image is analyzed to determine the location of a visual beacon. The visual beacon may be, for example, a light source such as an light emitting diode (LED). The LED may be differently colored depending on the situation, for example, the color may be indicative of whether the visual beacon should be approached and engaged with, or whether the visual beacon should be avoided. In one embodiment, the LED may be either blue or red in color.
Assuming that the color of the visual beacon indicates that the visual beacon may be approached and engaged with, then in step 1308, a drive command is formulated to move the robotic vehicle 10 toward the visual beacon. Then in step 1310, the drive command is executed. Execution of the drive command in step 1310 may include performing the process of
Then in step 1312, a new image is captured, using once again an image sensor. The new image is preferably of the same resolution as the image captured in step 1304.
Next in step 1314, the new image is analyzed to determine whether the robotic vehicle 10 is within sufficiently close physical proximity of the visual beacon such that the robotic vehicle 10 can engage with the visual beacon. For example, the apparent size of the visual beacon may be compared to an expected size. The proximity determination may also be made using information for an additional sensor, for example, using an infrared proximity sensor or distance measuring sensor.
If in step 1314 the robotic vehicle 10 is determined to be within the engagement range of the visual beacon, then the method continues to step 1316, where the robotic vehicle 10 engages with the visual beacon. The engagement may include, for example, pressing a button associated with the visual beacon using the arm 28. The method then continues to step 1318, where the method ends.
If in step 1314 the robotic vehicle 10 is determined not to be within the engagement range of the visual beacon, then the method returns to repeat beginning at step 1306, where the new image captured in step 1312 is analyzed to determine the location of the visual beacon.
The visual beacon 1400 further includes a button 1406. Pressing the button 1406 may activate a feature of the visual beacon 1400. For example, pressing the button 1406 may cause a change in the activation, or activation level, of the first light source 1402, the second light source 1404, or both. In certain games or competitions, it may be desirable to activate the visual beacon 1400 in a specific way.
The foregoing detailed description is to be clearly understood as being given by way of illustration and example only, the spirit and scope of the present invention being limited solely by the appended claims.
This application claims the benefit of U.S. Provisional Application No. 62/431,152, filed Dec. 7, 2016.
Number | Date | Country | |
---|---|---|---|
62431152 | Dec 2016 | US |