A robot is generally defined as a reprogrammable and multifunctional manipulator designed to move material, parts, tools, or specialized devices through variable programmed motions for a performance of tasks. Robots may be manipulators that are physically anchored (e.g., industrial robotic arms), mobile robots that move throughout an environment (e.g., using legs, wheels, or traction-based mechanisms), or some combination of a manipulator and a mobile robot. Robots are utilized in a variety of industries including, for example, manufacturing, warehouse logistics, transportation, hazardous environments, exploration, and healthcare.
For many mobile robotic systems, it is often desirable to adjust the angle between a light imaging detection and ranging (lidar) scan plane and the ground. Proper angular adjustment of a lidar scan plane can help ensure functionality of protective safety fields and/or enable accurate localization and mapping.
Lidar hardware is often located at extreme exterior positions of a mobile robot in order to achieve an unobstructed field of view. As a result, it can be desirable to shield the lidar hardware from collision with its environment using a protective barrier. The protective barrier typically includes an aperture to avoid interruption of the lidar field of view. However, the presence of a protective barrier creates a challenge for access to the angular adjustment of the lidar system.
The ability to adjust lidar pitch and roll while a protective barrier is in place enables an efficient workflow for installation and field service. Angular adjustment may be desirable during the initial construction of a robot, as part of a periodic maintenance cycle, or following an adverse event such as a collision between the robot and its environment. The independent adjustment of pitch and roll (vs. a coupled adjustment) further simplifies the alignment process by enabling iterative measurement of errors and subsequent adjustment along a single rotation axis.
The present disclosure describes an application directed toward a lidar system, but the systems and methods described herein may be applied more broadly to the angular adjustment of cameras, depth sensors, imaging systems, emitters of light or other electromagnetic radiation, or sensors more generally. Indeed, the systems and methods described herein may be applied to any system where the angular alignment between the component and its mount is important. The present disclosure describes an application directed toward a mobile robot, but the systems and methods described herein may also be applied to other mobile or stationary systems.
One aspect of the disclosure provides an apparatus for decoupled angular adjustments about perpendicular axes. The apparatus comprises a first plate and a second plate offset from the first plate in a first direction. The apparatus further comprises a first pivot disposed between the first and second plates; a second pivot disposed between the first and second plates, the second pivot offset from the first pivot in a second direction perpendicular to the first direction; and a third pivot disposed between the first and second plates, the third pivot offset from the first pivot in a third direction perpendicular to both the first and second directions. The apparatus further comprises a first wedge at least partially disposed between the second pivot and the second plate, the first wedge configured to adjust a first angle between the first and second plates, the first angle being about a first axis extending along the third direction.
In another aspect, the apparatus further comprises a first threaded rod configured to adjust a position of the first wedge along the second direction.
In another aspect, the apparatus further comprises a second wedge at least partially disposed between the third pivot and the second plate, the second wedge configured to adjust a second angle between the first and second plates, the second angle being about a second axis extending along the second direction.
In another aspect, the apparatus further comprises a first threaded rod configured to adjust a position of the first wedge along the second direction; and a second threaded rod configured to adjust a position of the second wedge along the second direction.
In another aspect, the first and second threaded rods are aligned with the second direction.
In another aspect, a first thread pitch of the first threaded rod is proportional to a first distance between the first and second pivots along the second direction, and a second thread pitch of the second threaded rod is proportional to a second distance between the first and third pivots along the third direction.
In another aspect, the first, second, and third pivots are ball bearings.
In another aspect, the first axis intersects the first and third pivots, and the second axis intersects the first and second pivots.
In another aspect, the apparatus further comprises a sensor coupled to either the first plate or the second plate.
In another aspect, the sensor comprises a distance sensor.
In another aspect, a sensing plane of the sensor intersects the first, second, and third pivots.
In another aspect, a sensing plane of the sensor intersects the first and second axes.
One aspect of the disclosure provides a sensor mount configured to adjust an orientation of a sensor. The sensor mount comprises a first plate; and a second plate offset from the first plate in a first direction. The second plate is configured to rotate relative to the first plate about a first axis perpendicular to the first direction. The second plate is configured to rotate relative to the first plate about a second axis perpendicular to both the first direction and the first axis. The second plate is configured to be coupled to the sensor. When the sensor is coupled to the second plate, a sensing plane of the sensor intersects the first and second axes.
In another aspect, the sensor is a distance sensor.
In another aspect, the sensor is a lidar sensor.
In another aspect, the sensor mount further comprises a first pivot disposed between the first and second plates; a second pivot disposed between the first and second plates, the second pivot offset from the first pivot in a second direction perpendicular to the first direction; and a third pivot disposed between the first and second plates, the third pivot offset from the first pivot in a third direction perpendicular to both the first and second directions.
In another aspect, the sensor mount further comprises a first wedge at least partially disposed between the second pivot and the second plate, the first wedge configured to adjust a first angle between the first and second plates, the first angle being about the first axis, the first axis extending along the third direction; and a second wedge at least partially disposed between the third pivot and the second plate, the second wedge configured to adjust a second angle between the first and second plates, the second angle being about the second axis, the second axis extending along the second direction.
In another aspect, the first axis intersects the first and third pivots, and the second axis intersects the first and second pivots.
In another aspect, the sensing plane intersects the first, second, and third pivots.
It should be appreciated that the foregoing concepts, and additional concepts discussed below, may be arranged in any suitable combination, as the present disclosure is not limited in this respect. Further, other advantages and novel features of the present disclosure will become apparent from the following detailed description of various non-limiting embodiments when considered in conjunction with the accompanying figures.
The accompanying drawings are not intended to be drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures may be represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
Robots are typically configured to perform various tasks in an environment in which they are placed. Generally, these tasks include interacting with objects and/or the elements of the environment. Notably, robots are becoming popular in warehouse and logistics operations. Before the introduction of robots to such spaces, many operations were performed manually. For example, a person might manually unload boxes from a truck onto one end of a conveyor belt, and a second person at the opposite end of the conveyor belt might organize those boxes onto a pallet. The pallet may then be picked up by a forklift operated by a third person, who might drive to a storage area of the warehouse and drop the pallet for a fourth person to remove the individual boxes from the pallet and place them on shelves in the storage area. More recently, robotic solutions have been developed to automate many of these functions. Such robots may either be specialist robots (i.e., designed to perform a single task, or a small number of closely related tasks) or generalist robots (i.e., designed to perform a wide variety of tasks). To date, both specialist and generalist warehouse robots have been associated with significant limitations, as explained below.
A specialist robot may be designed to perform a single task, such as unloading boxes from a truck onto a conveyor belt. While such specialist robots may be efficient at performing their designated task, they may be unable to perform other, tangentially related tasks in any capacity. As such, either a person or a separate robot (e.g., another specialist robot designed for a different task) may be needed to perform the next task(s) in the sequence. As such, a warehouse may need to invest in multiple specialist robots to perform a sequence of tasks, or may need to rely on a hybrid operation in which there are frequent robot-to-human or human-to-robot handoffs of objects.
In contrast, a generalist robot may be designed to perform a wide variety of tasks, and may be able to take a box through a large portion of the box's life cycle from the truck to the shelf (e.g., unloading, palletizing, transporting, depalletizing, storing). While such generalist robots may perform a variety of tasks, they may be unable to perform individual tasks with high enough efficiency or accuracy to warrant introduction into a highly streamlined warehouse operation. For example, while mounting an off-the-shelf robotic manipulator onto an off-the-shelf mobile robot might yield a system that could, in theory, accomplish many warehouse tasks, such a loosely integrated system may be incapable of performing complex or dynamic motions that require coordination between the manipulator and the mobile base, resulting in a combined system that is inefficient and inflexible. Typical operation of such a system within a warehouse environment may include the mobile base and the manipulator operating sequentially and (partially or entirely) independently of each other. For example, the mobile base may first drive toward a stack of boxes with the manipulator powered down. Upon reaching the stack of boxes, the mobile base may come to a stop, and the manipulator may power up and begin manipulating the boxes as the base remains stationary. After the manipulation task is completed, the manipulator may again power down, and the mobile base may drive to another destination to perform the next task. As should be appreciated from the foregoing, the mobile base and the manipulator in such systems are effectively two separate robots that have been joined together; accordingly, a controller associated with the manipulator may not be configured to share information with, pass commands to, or receive commands from a separate controller associated with the mobile base. As such, such a poorly integrated mobile manipulator robot may be forced to operate both its manipulator and its base at suboptimal speeds or through suboptimal trajectories, as the two separate controllers struggle to work together. Additionally, while there are limitations that arise from a purely engineering perspective, there are additional limitations that must be imposed to comply with safety regulations. For instance, if a safety regulation requires that a mobile manipulator must be able to be completely shut down within a certain period of time when a human enters a region within a certain distance of the robot, a loosely integrated mobile manipulator robot may not be able to act sufficiently quickly to ensure that both the manipulator and the mobile base (individually and in aggregate) do not a pose a threat to the human. To ensure that such loosely integrated systems operate within required safety constraints, such systems are forced to operate at even slower speeds or to execute even more conservative trajectories than those limited speeds and trajectories as already imposed by the engineering problem. As such, the speed and efficiency of generalist robots performing tasks in warehouse environments to date have been limited.
In view of the above, the inventors have recognized and appreciated that a highly integrated mobile manipulator robot with system-level mechanical design and holistic control strategies between the manipulator and the mobile base may be associated with certain benefits in warehouse and/or logistics operations. Such an integrated mobile manipulator robot may be able to perform complex and/or dynamic motions that are unable to be achieved by conventional, loosely integrated mobile manipulator systems. As a result, this type of robot may be well suited to perform a variety of different tasks (e.g., within a warehouse environment) with speed, agility, and efficiency.
In this section, an overview of some components of one embodiment of a highly integrated mobile manipulator robot configured to perform a variety of tasks is provided to explain the interactions and interdependencies of various subsystems of the robot. Each of the various subsystems, as well as control strategies for operating the subsystems, are described in further detail in the following sections.
Also of note in
To pick some boxes within a constrained environment, the robot may need to carefully adjust the orientation of its arm to avoid contacting other boxes or the surrounding shelving. For example, in a typical “keyhole problem”, the robot may only be able to access a target box by navigating its arm through a small space or confined area (akin to a keyhole) defined by other boxes or the surrounding shelving. In such scenarios, coordination between the mobile base and the arm of the robot may be beneficial. For instance, being able to translate the base in any direction allows the robot to position itself as close as possible to the shelving, effectively extending the length of its arm (compared to conventional robots without omnidirectional drive which may be unable to navigate arbitrarily close to the shelving). Additionally, being able to translate the base backwards allows the robot to withdraw its arm from the shelving after picking the box without having to adjust joint angles (or minimizing the degree to which joint angles are adjusted), thereby enabling a simple solution to many keyhole problems.
Of course, it should be appreciated that the tasks depicted in
In some embodiments, a mobile base may include sensors to help the mobile base navigate its environment. In the embodiment shown in
Often, a distance sensor with an associated field of view may be located at a periphery of a robot (e.g., at or near an edge of a mobile base) to minimize occlusions and enable an unobstructed field of view. However, due to the sensor's exposed position on the robot, the sensor may be susceptible to damage, such as from a collision between the robot and an object in its environment. Accordingly, a protective barrier may be installed around the sensor to protect it from damage. To avoid occluding the field of view of the sensor being protected, the barrier may include one or more apertures. In this way, the barrier may protect the sensor without introducing additional occlusions in the field of view of the sensor. See, for example, distance sensors 116 in
While a barrier that protects an otherwise exposed sensor may be associated with certain benefits, some challenges may arise. For example, physical access to the sensor may be impeded by the presence of the protective barrier, limiting the ease and/or convenience with which adjustments to the sensor may be made. Some types of sensor adjustments may be made regularly, such that increasing the ease with which such adjustments may be made may be associated with significant improvements in workflow and decreases in maintenance times. For example, angular adjustments to a distance sensor with an associated field of view (e.g., adjustments to sensor pitch and/or roll) may be performed frequently, such as after a collision, as part of routine maintenance, and during initial installation.
In view of the above, the inventors have recognized and appreciated the benefits associated with a sensor mount that facilitates simple, convenient, and accurate adjustments to be made to the sensor. Such a sensor mount may be particularly advantageous in applications in which the physical accessibility of the sensor and/or the sensor mount may be limited. Returning to the example of the robot 100 with distance sensors 116 in
The two plates are biased toward one another, for example using one or more springs (not shown, for clarity). For example, the top plate 304 may be moveable and may be biased toward the bottom plate 302, which may be stationary. Absent any components disposed between the two plates, the biasing force may urge the top plate 304 down (e.g., in a negative Z direction) until a bottom surface 305 of the top plate 304 contacts a top surface 303 of the bottom plate 302. However, as described below, the sensor mount 300 includes components disposed between the two plates, preventing such contact between the plates.
A first ball bearing 310 is disposed between the two plates 302 and 304. A second ball bearing 312, also disposed between the two plates 302 and 304, is spaced from the first ball bearing 310 in the X direction. Similarly, a third ball bearing 314, also disposed between the two plates 302 and 304, is spaced from the first ball bearing 310 in the Y direction. As shown in
The orientation of the top plate 304 may be defined, at least in part, by the three ball bearings. Without wishing to be bound by theory, the top plate 304 may be parallel to the bottom plate 302 if the distance between the two plates (e.g., the distance along the Z direction) is constant regardless of position (e.g., independent of X-Y position). Accordingly, if the three ball bearings are the same size, the top plate 304 may be parallel to the bottom plate 302.
It should be appreciated that, in other embodiments, different components may be disposed between the two plates in place of ball bearings to control the relative orientation of the top plate relative to the bottom plate. Without wishing to be bound by theory, a curved surface may contact a flat surface at a single point. Accordingly, rounded or spherical components may be advantageous in certain embodiments. However, any component that provides a pivot about which one plate may rotate relative to the other plate may be appropriate, and the present disclosure is not limited in this regard. For example, a threaded fastener with a rounded tip may be used as a pivot in some embodiments.
The sensor mount 300 additionally includes a first wedge 322 disposed at least partially between the second ball bearing 312 and the second plate 304. As the first wedge 322 is inserted in the direction D1 indicated in
The sensor mount 300 additionally includes a second wedge 324 disposed at least partially between the third ball bearing 314 and the second plate 304. In a manner largely analogous to the operation of the first wedge 322, inserting or retracting the second wedge 324 (e.g., displacing the second wedge 324 in the direction D2 or opposite the direction D2, respectively) rotates the top plate 304 relative to the bottom plate 302 about the A axis in opposite directions.
Notably, the first wedge 322 and the second wedge 324 are both accessed from the same side of the sensor mount 300 (e.g., from the right side in
Although
Although wedges 322 and 324 are depicted in
Regardless of the specific relationship between the angular rotation of the threaded fastener and the angular change in pitch or roll of the sensor and sensing plane, the relationship may nonetheless be deterministic, repeatable, and reliable. Such features may be associated with certain benefits. For example, after the misalignment of a sensor in pitch and/or roll is determined, instructions may be provided to sensor maintenance personnel that are simple and precise. In contrast to conventional sensor mounts in which adjusting pitch and roll to realign the sensor may be a tedious, iterative process of alternatingly making an adjustment and checking alignment, adjustments to the sensor mount described herein may be simpler. With pitch and roll decoupled, each axis may be adjusted independently. With a known relationship between the angular rotation of the threaded fastener and the angular change in the sensing plane, specific instructions (e.g., turn the screw three rotations clockwise) may be given to correct a known misalignment along a given axis.
In some embodiments, a misalignment may be corrected with a single realignment action (e.g., rotate a particular fastener a certain number of degrees). In some embodiments, iterative measurement of a misalignment and execution of one or more realignment actions may be appropriate. For example, a first misalignment measurement may be made, and a coarse realignment action may be performed. Subsequently, a second misalignment measurement may be made, and a fine realignment action may be performed. Regardless of the particular number of misalignment measurements and/or realignment actions that may be appropriate, it should be appreciated that, compared to conventional sensor mounts, the predictable and well-characterized relationship between the angular rotation of a threaded fastener and the angular change in pitch or roll of the sensor and sensing plane of the sensor mounts described herein may reduce the time and/or effort of realigning a sensor.
In some embodiments of a sensor mount with three ball bearings (or other pivots) disposed between two plates, the three ball bearings may form (or may approximately form) a kinematic coupling designed to constrain all degrees of freedom of the system (e.g., the position and orientation of a top plate relative to a bottom plate) without over-constraining the system. As an example of an over-constrained system, some conventional sensor mounts include three threaded fasteners extending through a first plate and threaded into three parallel threaded holes in a second plate. In these conventional sensor mounts, adjusting one or more of the threaded fasteners may adjust the position and/or orientation of the first plate relative to the second plate, but may also introduce significant stress and/or strain into one or both of the plates. The stress and/or strain in the plate(s) may introduce significant hysteresis and may lower repeatability and predictability of the system. In contrast, the sensor mounts described herein may not include kinematically over-constrained systems, thereby increasing repeatability and predictability relative to many conventional sensor mounts.
To further aid the realignment process, the sensor mount 300 may be configured such that when the sensor 350 is mounted to the top plate 304, the sensing plane 351 is aligned with the rotation axes A and B of the sensor mount 300. In this way, adjusting the pitch and/or roll of the sensor does not induce an additional vertical offset of the sensor (e.g., along the Z direction), as may be the case if the rotation axes A and B were vertically offset from the sensing plane 351 (as is the case in many conventional sensor mounts).
While the three ball bearings 310, 312, and 314 are depicted as being the same size in
As shown in the cross-sectional view of
Control of one or more of the robotic arm, the mobile base, the turntable, and the perception mast may be accomplished using one or more computing devices located on-board the mobile manipulator robot. For instance, one or more computing devices may be located within a portion of the mobile base with connections extending between the one or more computing devices and components of the robot that provide sensing capabilities and components of the robot to be controlled. In some embodiments, the one or more computing devices may be coupled to dedicated hardware configured to send control signals to particular components of the robot to effectuate operation of the various robot systems. In some embodiments, the mobile manipulator robot may include a dedicated safety-rated computing device configured to integrate with safety systems that ensure safe operation of the robot.
The computing devices and systems described and/or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.
In some examples, the term “memory device” generally refers to any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, a memory device may store, load, and/or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.
In some examples, the terms “physical processor” or “computer processor” generally refer to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, a physical processor may access and/or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.
Although illustrated as separate elements, the modules described and/or illustrated herein may represent portions of a single module or application. In addition, in certain embodiments one or more of these modules may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, one or more of the modules described and/or illustrated herein may represent modules stored and configured to run on one or more of the computing devices or systems described and/or illustrated herein. One or more of these modules may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.
In addition, one or more of the modules described herein may transform data, physical devices, and/or representations of physical devices from one form to another. Additionally, or alternatively, one or more of the modules recited herein may transform a processor, volatile memory, non-volatile memory, and/or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and/or otherwise interacting with the computing device.
The above-described embodiments can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers. It should be appreciated that any component or collection of components that perform the functions described above can be generically considered as one or more controllers that control the above-discussed functions. The one or more controllers can be implemented in numerous ways, such as with dedicated hardware or with one or more processors programmed using microcode or software to perform the functions recited above.
In this respect, it should be appreciated that embodiments of a robot may include at least one non-transitory computer-readable storage medium (e.g., a computer memory, a portable memory, a compact disk, etc.) encoded with a computer program (i.e., a plurality of instructions), which, when executed on a processor, performs one or more of the above-discussed functions. Those functions, for example, may include control of the robot and/or driving a wheel or arm of the robot. The computer-readable storage medium can be transportable such that the program stored thereon can be loaded onto any computer resource to implement the aspects of the present invention discussed herein. In addition, it should be appreciated that the reference to a computer program which, when executed, performs the above-discussed functions, is not limited to an application program running on a host computer. Rather, the term computer program is used herein in a generic sense to reference any type of computer code (e.g., software or microcode) that can be employed to program a processor to implement the above-discussed aspects of the present invention.
Various aspects of the present invention may be used alone, in combination, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing and are therefore not limited in their application to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
Also, embodiments of the invention may be implemented as one or more methods, of which an example has been provided. The acts performed as part of the method(s) may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed. Such terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).
The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing”, “involving”, and variations thereof, is meant to encompass the items listed thereafter and additional items.
Having described several embodiments of the invention in detail, various modifications and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and is not intended as limiting.
This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional application Ser. No. 63/288,318, filed Dec. 10, 2021, and entitled, “LIDAR MICRO-ADJUSTMENT SYSTEMS AND METHODS,” the disclosure of which is incorporated by
Number | Date | Country | |
---|---|---|---|
63288318 | Dec 2021 | US |