ROBOTIC END EFFECTOR
20240181656 ยท 2024-06-06
Inventors
Cpc classification
B25J15/0009
PERFORMING OPERATIONS; TRANSPORTING
B25J9/102
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
An apparatus for a robot includes a set of at least three proximal links. Each proximal link is configured to rotate about a respective joint. Each joint is aligned on a common axis. The apparatus also includes a set of at least three distal links. Each distal link is coupled to a corresponding proximal link and configured to rotate about a second respective joint. Each proximal link comprises an actuator configured to move at least one of the proximal link or the corresponding distal link.
Claims
1. An apparatus for a robot comprising: a set of at least three proximal links, each proximal link configured to rotate about a respective joint, each joint aligned on a common axis; and a set of at least three distal links, each distal link coupled to a corresponding proximal link and configured to rotate about a second respective joint, wherein each proximal link comprises an actuator configured to move at least one of the proximal link or the corresponding distal link.
2. The apparatus of claim 1, wherein each proximal link is configured to rotate independently of each other proximal link.
3. The apparatus of claim 1, wherein each distal link is configured to rotate independently of each other distal link and each proximal link.
4. The apparatus of claim 1, wherein each proximal link comprises a second actuator to move the other of the proximal link or the corresponding distal link.
5. The apparatus of claim 1, wherein each proximal link comprises a geared transmission.
6. The apparatus of claim 1, wherein each proximal link and each corresponding distal link form a modular finger member.
7. The apparatus of claim 1, wherein each actuator comprises an electric motor having a clutched rotor, each electric motor is mechanically coupled to a stepped spur gear, the electric motor having a rotary axis that is different from an axis of rotation of the corresponding proximal link, and each stepped spur gear is mechanically coupled to a corresponding planetary gearbox.
8. The apparatus of claim 1, wherein each proximal link is coupled to a common rigid member rotatable along an axis that is perpendicular to the common axis.
9. The apparatus of claim 1, wherein each proximal link has a linear dimension that is longer than a linear dimension of each corresponding distal link.
10. The apparatus of claim 1, wherein any two of the at least three proximal links are capable of rotation to an angular separation of at least 180 degrees.
11. The apparatus of claim 1, wherein any two of the at least three distal links are capable of rotation to an angular separation of at least 180 degrees when the two corresponding proximal links are aligned.
12. The apparatus of claim 1, wherein at least one of the proximal links comprises a breakaway feature, the breakaway feature comprises a deformable member configured to break when more than a first threshold force is applied along a first breakaway axis, and the deformable member is further configured to break when more than a second threshold force is applied along a second breakaway axis, the first threshold force being different from the second threshold force, and the first breakaway axis being different from the second breakaway axis.
13. The apparatus of claim 1, wherein at least one of the proximal links comprises a slip clutch configured to slip when a threshold is met.
14. The apparatus of claim 1, further comprising a set of at least three additional links, each additional link coupled to a corresponding distal link and configured to rotate independently about a third respective joint.
15. The apparatus of claim 1, wherein at least one distal link comprises an exterior geometry that differs from at least one other distal link.
16. The apparatus of claim 1, wherein at least one distal link comprises a flat surface exterior, at least one distal link comprises a first tapered surface having a first pitch, and at least one distal link comprises a second tapered surface having a second pitch, the second pitch tapered away from the first pitch.
17. A method comprising: rotating, by a first actuator assembly in a first proximal link of a robotic end effector, the first proximal link about a first joint by a first angle; rotating, by a second actuator assembly in a second proximal link of the robotic end effector, the second proximal link about a second joint by a second angle; rotating, by a third actuator assembly in a third proximal link of the robotic end effector, the third proximal link about a third joint by a third angle; and rotating, by a fourth actuator assembly in the first proximal link of the robotic end effector, a first distal link coupled to the first proximal link at a fourth joint by a fourth angle, wherein the first joint, the second joint and the third joint are aligned along a common rotational axis.
18. The method of claim 17, further comprising: rotating a common rigid member coupled to each of the first, second and third proximal links, wherein the common rigid member is rotatable along an axis that is perpendicular to the common rotational axis.
19. The method of claim 17, further comprising: breaking a deformable member included in the first proximal link when more than a first threshold force is applied along a first breakaway axis; and. breaking the deformable member when more than a second threshold force is applied along a second breakaway axis, the first threshold force being different from the second threshold force, and the first breakaway axis being different from the second breakaway axis.
20. An actuator assembly for a robot comprising: an electric motor having a rotor configured to rotate about a rotary axis; a first spur gear mechanically coupled to the rotor and configured to rotate about a first intermediate axis different from the rotary axis; and a planetary gear mechanically coupled to the first spur gear, the planetary gear defining an axis of rotation of a robotic joint, wherein the axis of rotation of the robotic joint is displaced from the rotary axis of the rotor of the electric motor.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0043] The advantages of the invention, together with further advantages, may be better understood by referring to the following description taken in conjunction with the accompanying drawings. The drawings are not necessarily to scale, and emphasis is instead generally placed upon illustrating the principles of the invention.
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
DETAILED DESCRIPTION
[0056] An example implementation involves a robotic device configured with at least one robotic limb, one or more sensors, and a processing system. The robotic limb may be an articulated robotic appendage including a number of members connected by joints. The robotic limb may also include a number of actuators (e.g., 2-5 actuators) coupled to the members of the limb that facilitate movement of the robotic limb through a range of motion limited by the joints connecting the members. The sensors may be configured to measure properties of the robotic device, such as angles of the joints, pressures within the actuators, joint torques, and/or positions, velocities, and/or accelerations of members of the robotic limb(s) at a given point in time. The sensors may also be configured to measure an orientation (e.g., a body orientation measurement) of the body of the robotic device (which may also be referred to herein as the base of the robotic device). Other example properties include the masses of various components of the robotic device, among other properties. The processing system of the robotic device may determine the angles of the joints of the robotic limb, either directly from angle sensor information or indirectly from other sensor information from which the joint angles can be calculated. The processing system may then estimate an orientation of the robotic device based on the sensed orientation of the base of the robotic device and the joint angles.
[0057] An orientation may herein refer to an angular position of an object. In some instances, an orientation may refer to an amount of rotation (e.g., in degrees or radians) about three axes. In some cases, an orientation of a robotic device may refer to the orientation of the robotic device with respect to a particular reference frame, such as the ground or a surface on which it stands. An orientation may describe the angular position using Euler angles, Tait-Bryan angles (also known as yaw, pitch, and roll angles), and/or Quaternions. In some instances, such as on a computer-readable medium, the orientation may be represented by an orientation matrix and/or an orientation quaternion, among other representations.
[0058] In some scenarios, measurements from sensors on the base of the robotic device may indicate that the robotic device is oriented in such a way and/or has a linear and/or angular velocity that requires control of one or more of the articulated appendages in order to maintain balance of the robotic device. In these scenarios, however, it may be the case that the limbs of the robotic device are oriented and/or moving such that balance control is not required. For example, the body of the robotic device may be tilted to the left, and sensors measuring the body's orientation may thus indicate a need to move limbs to balance the robotic device; however, one or more limbs of the robotic device may be extended to the right, causing the robotic device to be balanced despite the sensors on the base of the robotic device indicating otherwise. The limbs of a robotic device may apply a torque on the body of the robotic device and may also affect the robotic device's center of mass. Thus, orientation and angular velocity measurements of one portion of the robotic device may be an inaccurate representation of the orientation and angular velocity of the combination of the robotic device's body and limbs (which may be referred to herein as the aggregate orientation and angular velocity).
[0059] In some implementations, the processing system may be configured to estimate the aggregate orientation and/or angular velocity of the entire robotic device based on the sensed orientation of the base of the robotic device and the measured joint angles. The processing system has stored thereon a relationship between the joint angles of the robotic device and the extent to which the joint angles of the robotic device affect the orientation and/or angular velocity of the base of the robotic device. The relationship between the joint angles of the robotic device and the motion of the base of the robotic device may be determined based on the kinematics and mass properties of the limbs of the robotic devices. In other words, the relationship may specify the effects that the joint angles have on the aggregate orientation and/or angular velocity of the robotic device. Additionally, the processing system may be configured to determine components of the orientation and/or angular velocity of the robotic device caused by internal motion and components of the orientation and/or angular velocity of the robotic device caused by external motion. Further, the processing system may differentiate components of the aggregate orientation in order to determine the robotic device's aggregate yaw rate, pitch rate, and roll rate (which may be collectively referred to as the aggregate angular velocity).
[0060] In some implementations, the robotic device may also include a control system that is configured to control the robotic device on the basis of a simplified model of the robotic device. The control system may be configured to receive the estimated aggregate orientation and/or angular velocity of the robotic device, and subsequently control one or more jointed limbs of the robotic device to behave in a certain manner (e.g., maintain the balance of the robotic device). For instance, the control system may determine locations at which to place the robotic device's feet and/or the force to exert by the robotic device's feet on a surface based on the aggregate orientation.
[0061] In some implementations, the robotic device may include force sensors that measure or estimate the external forces (e.g., the force applied by a leg of the robotic device against the ground) along with kinematic sensors to measure the orientation of the limbs of the robotic device. The processing system may be configured to determine the robotic device's angular momentum based on information measured by the sensors. The control system may be configured with a feedback-based state observer that receives the measured angular momentum and the aggregate angular velocity, and provides a reduced-noise estimate of the angular momentum of the robotic device. The state observer may also receive measurements and/or estimates of torques or forces acting on the robotic device and use them, among other information, as a basis to determine the reduced-noise estimate of the angular momentum of the robotic device.
[0062] The control system may be configured to actuate one or more actuators connected across components of a robotic leg. The actuators may be controlled to raise or lower the robotic leg. In some cases, a robotic leg may include actuators to control the robotic leg's motion in three dimensions. Depending on the particular implementation, the control system may be configured to use the aggregate orientation, along with other sensor measurements, as a basis to control the robot in a certain manner (e.g., stationary balancing, walking, running, galloping, etc.).
[0063] In some implementations, multiple relationships between the joint angles and their effect on the orientation and/or angular velocity of the base of the robotic device may be stored on the processing system. The processing system may select a particular relationship with which to determine the aggregate orientation and/or angular velocity based on the joint angles. For example, one relationship may be associated with a particular joint being between 0 and 90 degrees, and another relationship may be associated with the particular joint being between 91 and 180 degrees. The selected relationship may more accurately estimate the aggregate orientation of the robotic device than the other relationships.
[0064] In some implementations, the processing system may have stored thereon more than one relationship between the joint angles of the robotic device and the extent to which the joint angles of the robotic device affect the orientation and/or angular velocity of the base of the robotic device. Each relationship may correspond to one or more ranges of joint angle values (e.g., operating ranges). In some implementations, the robotic device may operate in one or more modes. A mode of operation may correspond to one or more of the joint angles being within a corresponding set of operating ranges. In these implementations, each mode of operation may correspond to a certain relationship.
[0065] The angular velocity of the robotic device may have multiple components describing the robotic device's orientation (e.g., rotational angles) along multiple planes. From the perspective of the robotic device, a rotational angle of the robotic device turned to the left or the right may be referred to herein as yaw. A rotational angle of the robotic device upwards or downwards may be referred to herein as pitch. A rotational angle of the robotic device tilted to the left or the right may be referred to herein as roll. Additionally, the rate of change of the yaw, pitch, and roll may be referred to herein as the yaw rate, the pitch rate, and the roll rate, respectively.
[0066] Referring now to the figures,
[0067] As shown in
[0068] Processor(s) 102 may operate as one or more general-purpose processor or special purpose processors (e.g., digital signal processors, application specific integrated circuits, etc.). The processor(s) 102 can be configured to execute computer-readable program instructions 106 that are stored in the data storage 104 and are executable to provide the operations of the robotic device 100 described herein. For instance, the program instructions 106 may be executable to provide operations of controller 108, where the controller 108 may be configured to cause activation and/or deactivation of the mechanical components 114 and the electrical components 116. The processor(s) 102 may operate and enable the robotic device 100 to perform various functions, including the functions described herein.
[0069] The data storage 104 may exist as various types of storage media, such as a memory. For example, the data storage 104 may include or take the form of one or more computer-readable storage media that can be read or accessed by processor(s) 102. The one or more computer-readable storage media can include volatile and/or non-volatile storage components, such as optical, magnetic, organic or other memory or disc storage, which can be integrated in whole or in part with processor(s) 102. In some implementations, the data storage 104 can be implemented using a single physical device (e.g., one optical, magnetic, organic or other memory or disc storage unit), while in other implementations, the data storage 104 can be implemented using two or more physical devices, which may communicate electronically (e.g., via wired or wireless communication). Further, in addition to the computer-readable program instructions 106, the data storage 104 may include additional data such as diagnostic data, among other possibilities.
[0070] The robotic device 100 may include at least one controller 108, which may interface with the robotic device 100. The controller 108 may serve as a link between portions of the robotic device 100, such as a link between mechanical components 114 and/or electrical components 116. In some instances, the controller 108 may serve as an interface between the robotic device 100 and another computing device. Furthermore, the controller 108 may serve as an interface between the robotic system 100 and a user(s). The controller 108 may include various components for communicating with the robotic device 100, including one or more joysticks or buttons, among other features. The controller 108 may perform other operations for the robotic device 100 as well. Other examples of controllers may exist as well.
[0071] Additionally, the robotic device 100 includes one or more sensor(s) 110 such as force sensors, proximity sensors, motion sensors, load sensors, position sensors, touch sensors, depth sensors, ultrasonic range sensors, and/or infrared sensors, among other possibilities. The sensor(s) 110 may provide sensor data to the processor(s) 102 to allow for appropriate interaction of the robotic system 100 with the environment as well as monitoring of operation of the systems of the robotic device 100. The sensor data may be used in evaluation of various factors for activation and deactivation of mechanical components 114 and electrical components 116 by controller 108 and/or a computing system of the robotic device 100.
[0072] The sensor(s) 110 may provide information indicative of the environment of the robotic device for the controller 108 and/or computing system to use to determine operations for the robotic device 100. For example, the sensor(s) 110 may capture data corresponding to the terrain of the environment or location of nearby objects, which may assist with environment recognition and navigation, etc. In an example configuration, the robotic device 100 may include a sensor system that may include a camera, RADAR, LIDAR, time-of-flight camera, global positioning system (GPS) transceiver, and/or other sensors for capturing information of the environment of the robotic device 100. The sensor(s) 110 may monitor the environment in real-time and detect obstacles, elements of the terrain, weather conditions, temperature, and/or other parameters of the environment for the robotic device 100.
[0073] Further, the robotic device 100 may include other sensor(s) 110 configured to receive information indicative of the state of the robotic device 100, including sensor(s) 110 that may monitor the state of the various components of the robotic device 100. The sensor(s) 110 may measure activity of systems of the robotic device 100 and receive information based on the operation of the various features of the robotic device 100, such the operation of extendable legs, arms, or other mechanical and/or electrical features of the robotic device 100. The sensor data provided by the sensors may enable the computing system of the robotic device 100 to determine errors in operation as well as monitor overall functioning of components of the robotic device 100.
[0074] For example, the computing system may use sensor data to determine the stability of the robotic device 100 during operations as well as measurements related to power levels, communication activities, components that require repair, among other information. As an example configuration, the robotic device 100 may include gyroscope(s), accelerometer(s), and/or other possible sensors to provide sensor data relating to the state of operation of the robotic device. Further, sensor(s) 110 may also monitor the current state of a function, such as a gait, that the robotic system 100 may currently be operating. Additionally, the sensor(s) 110 may measure a distance between a given robotic leg of a robotic device and a center of mass of the robotic device. Other example uses for the sensor(s) 110 may exist as well.
[0075] Additionally, the robotic device 100 may also include one or more power source(s) 112 configured to supply power to various components of the robotic device 100. Among possible power systems, the robotic device 100 may include a hydraulic system, electrical system, batteries, and/or other types of power systems. As an example illustration, the robotic device 100 may include one or more batteries configured to provide power to components via a wired and/or wireless connection. Within examples, components of the mechanical components 114 and electrical components 116 may each connect to a different power source or may be powered by the same power source. Components of the robotic system 100 may connect to multiple power sources as well.
[0076] Within example configurations, any type of power source may be used to power the robotic device 100, such as a gasoline and/or electric engine. Further, the power source(s) 112 may charge using various types of charging, such as wired connections to an outside power source, wireless charging, combustion, or other examples. Other configurations may also be possible. Additionally, the robotic device 100 may include a hydraulic system configured to provide power to the mechanical components 114 using fluid power. Components of the robotic device 100 may operate based on hydraulic fluid being transmitted throughout the hydraulic system to various hydraulic motors and hydraulic cylinders, for example. The hydraulic system of the robotic device 100 may transfer a large amount of power through small tubes, flexible hoses, or other links between components of the robotic device 100. Other power sources may be included within the robotic device 100.
[0077] Mechanical components 114 can represent hardware of the robotic system 100 that may enable the robotic device 100 to operate and perform physical functions. As a few examples, the robotic device 100 may include actuator(s), extendable leg(s) (legs), arm(s), wheel(s), one or multiple structured bodies for housing the computing system or other components, and/or other mechanical components. The mechanical components 114 may depend on the design of the robotic device 100 and may also be based on the functions and/or tasks the robotic device 100 may be configured to perform. As such, depending on the operation and functions of the robotic device 100, different mechanical components 114 may be available for the robotic device 100 to utilize. In some examples, the robotic device 100 may be configured to add and/or remove mechanical components 114, which may involve assistance from a user and/or other robotic device. For example, the robotic device 100 may be initially configured with four legs, but may be altered by a user or the robotic device 100 to remove two of the four legs to operate as a biped. Other examples of mechanical components 114 may be included.
[0078] The electrical components 116 may include various components capable of processing, transferring, providing electrical charge or electric signals, for example. Among possible examples, the electrical components 116 may include electrical wires, circuitry, and/or wireless communication transmitters and receivers to enable operations of the robotic device 100. The electrical components 116 may interwork with the mechanical components 114 to enable the robotic device 100 to perform various operations. The electrical components 116 may be configured to provide power from the power source(s) 112 to the various mechanical components 114, for example. Further, the robotic device 100 may include electric motors. Other examples of electrical components 116 may exist as well.
[0079] In some implementations, the robotic device 100 may also include communication link(s) 118 configured to send and/or receive information. The communication link(s) 118 may transmit data indicating the state of the various components of the robotic device 100. For example, information read in by sensor(s) 110 may be transmitted via the communication link(s) 118 to a separate device. Other diagnostic information indicating the integrity or health of the power source(s) 112, mechanical components 114, electrical components 118, processor(s) 102, data storage 104, and/or controller 108 may be transmitted via the communication link(s) 118 to an external communication device.
[0080] In some implementations, the robotic device 100 may receive information at the communication link(s) 118 that is processed by the processor(s) 102. The received information may indicate data that is accessible by the processor(s) 102 during execution of the program instructions 106, for example. Further, the received information may change aspects of the controller 108 that may affect the behavior of the mechanical components 114 or the electrical components 116. In some cases, the received information indicates a query requesting a particular piece of information (e.g., the operational state of one or more of the components of the robotic device 100), and the processor(s) 102 may subsequently transmit that particular piece of information back out the communication link(s) 118.
[0081] In some cases, the communication link(s) 118 include a wired connection. The robotic device 100 may include one or more ports to interface the communication link(s) 118 to an external device. The communication link(s) 118 may include, in addition to or alternatively to the wired connection, a wireless connection. Some example wireless connections may utilize a cellular connection, such as CDMA, EVDO, GSM/GPRS, or 4G telecommunication, such as WiMAX or LTE. Alternatively or in addition, the wireless connection may utilize a Wi-Fi connection to transmit data to a wireless local area network (WLAN). In some implementations, the wireless connection may also communicate over an infrared link, radio, Bluetooth, or a near-field communication (NFC) device.
[0082]
[0083]
[0084] The robotic device 200 may include a number of articulated appendages, such as robotic legs and/or robotic arms. Each articulated appendage may include a number of members connected by joints that allow the articulated appendage to move through certain degrees of freedom. Each member of an articulated appendage may have properties describing aspects of the member, such as its weight, weight distribution, length, and/or shape, among other properties. Similarly, each joint connecting the members of an articulated appendage may have known properties, such as the degrees of its range of motion the joint allows, the size of the joint, and the distance between members connected by the joint, among other properties. A given joint may be a joint allowing one degree of freedom (e.g., a knuckle joint or a hinge joint), a joint allowing two degrees of freedom (e.g., a cylindrical joint), a joint allowing three degrees of freedom (e.g., a ball and socket joint), or a joint allowing four or more degrees of freedom. A degree of freedom may refer to the ability of a member connected to a joint to move about a particular translational or rotational axis.
[0085] The robotic device 200 may also include sensors to measure the angles of the joints of its articulated appendages. In addition, the articulated appendages may include a number of actuators that can be controlled to extend and retract members of the articulated appendages. In some cases, the angle of a joint may be determined based on the extent of protrusion or retraction of a given actuator. In some instances, the joint angles may be inferred from position data of inertial measurement units (IMUs) mounted on the members of an articulated appendage. In some implementations, the joint angles may be measured using rotary position sensors, such as rotary encoders. In other implementations, the joint angles may be measured using optical reflection techniques. Other joint angle measurement techniques may also be used.
[0086] The robotic device 200 may be configured to send sensor data from the articulated appendages to a device coupled to the robotic device 200 such as a processing system, a computing system, or a control system. The robotic device 200 may include a memory, either included in a device on the robotic device 200 or as a standalone component, on which sensor data is stored. In some implementations, the sensor data is retained in the memory for a certain amount of time. In some cases, the stored sensor data may be processed or otherwise transformed for use by a control system on the robotic device 200. In some cases, the robotic device 200 may also transmit the sensor data over a wired or wireless connection (or other electronic communication means) to an external device.
[0087]
[0088]
[0089] In
[0090] In
[0091] The mount member 324 can be coupled (e.g., mechanically, electrically, translationally and/or rotationally) to a common base member 328. In some embodiments, the mount member 324 can rotate about the common base member 328. In
[0092] In some embodiments, each of the distal links 304B, 308B, 312B can have at least one differing exterior surface. For example, in
[0093] In
[0094] The components of one of the actuator assemblies in the robotic link 350 are described below with numerical elements having A suffixes, and similar components for the other actuator assembly are also visible in
[0095] As shown, the electric motors 358A, 358B have rotary axes 370A, 370B that are different from the rotary axes 374A, 374B of the corresponding links. Such an arrangement can enable compactness of design and inclusion of all actuator assembly components (and also electronic circuitry for controlling and/or powering each actuator assembly) in a slender form factor. The robotic link 350 can also be modular, such that a number of links (e.g., two, three or four) can be chained together, either to provide a base link for a number of fingers, or to extend a single finger to higher numbers of phalanges that can be actuated independently. In some embodiments, each actuator assembly can have a joint strength of over 30 Nm at peak, which can be five times the joint strength of comparable existing grippers. In some embodiments, each actuator assembly can have a joint speed of over 800 degrees per second at peak, which can be about ten times the joint speed of comparable existing grippers.
[0096]
[0097]
[0098] In some embodiments, one or more of the grasps illustrated can be maintained while both gripping an object and rotating the grasp with respect to the base of the gripper. Such a capability can simplify the wrist of the robot by removing the need for a wrist bend actuator, which can in turn make the robot arm lighter, more compact, more robust to impacts, and/or lower cost. In some embodiments, when all proximal links are aligned (thus making the distal joint axes coaxial), the proximal links can function as a palm, and the distal links can function as smaller footprint versions of the palm grasps shown in
[0099]
[0100]
[0101]
[0102] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure.