Patent Description:
A robotic device includes a mechanical agent, usually an electro-mechanical machine that is guided by a computer program or electronic circuitry. Robots can be autonomous or semi-autonomous and range from humanoid designs, to large industrial designs with jointed arms and end effectors to perform specialized tasks.

Many interfaces have been designed to enable control of robotic devices, and to receive feedback information from the robotic devices. Such interfaces are often provided remotely from the robotic devices, such as in a control center for an operator, for example. The interfaces may provide numerous amounts of information of the robotic devices, including factors related to health of the robotic device.

Robotic devices may also include various indicators to provide notifications to a user. Example indicators include lights to inform that power is on, a battery is charging, a connection is in place with a remote network, or a strength of signal in place with the remote network. Japanese patent application <CIT> discloses a motor unit provided with an LED display plate whose color changes according to drive parameters.

The following detailed description describes various features and functions of the disclosed systems and methods with reference to the accompanying figures. In the figures, similar symbols identify similar components, unless context dictates otherwise. The illustrative system and method embodiments described herein are not meant to be limiting. It may be readily understood that certain aspects of the disclosed systems and methods can be arranged and combined in a wide variety of different configurations, all of which are contemplated herein.

Within examples, a robotic device may include multiple actuators coupled through joints, and the joints may be configured as multiple degree of freedom (DOF) joints. The robotic device may be able to communicate to an interface data regarding operation of the device, such as a load or tension being applied to or experienced by a joint, for example. However, the interface may not be co-located with the robotic device.

Within examples, indicators may be provided at joints of a robotic device to provide information of the robotic device at the joint. As an example, a tri-color LED can be located at each joint to indicate may types of joint-specific information, such as to light up a certain color to show a joint "effort" and operators can easily determine how close the robotic device is to an operating limits. The LED color could be diffused or piped through a cover or through a specific feature to blend the color for overall aesthetics.

As a specific example, for an industrial robotic arm, a tri-color LED may be used to indicate status of the arm. With the arm, the light may be red to indicate a maximum torque is being applied due to a heavy load, or the light may be green when the arm is operating within the operating limits. Other types of indicating can be used such as blinking lights, light patterns, color patterns, etc., all or any of which may be indicative of a certain status of the joint.

The LEDs are co-located at joints to provide feedback on the robotic at the joint and about the joint itself. Thus, an operator in view of the robotic device can infer a status of the joint based on the indicators at the joint.

Referring now to the figures, <FIG> illustrates an example robotic device <NUM> in a form of a robotic manipulator that includes actuators <NUM>, <NUM>, and <NUM> coupled through joints <NUM> and <NUM>. The robotic device <NUM> further includes an end-of-arm tool (EOAT) <NUM> coupled to the actuator <NUM> through a joint <NUM>.

Within examples, the actuators <NUM>, <NUM>, and <NUM> may include a torque controlled actuator that has an electric motor attached to a transmission, and the transmission may include an N-stage belt transmission arranged in a serial fashion that connects rotation of the motor to rotation of an output. Each stage of the transmission may include a timing belt, a belt tensioning mechanism, and a tension measuring system, for example. Other types of actuators may also be used as well, and any number of actuators may be coupled together to form the robotic device <NUM>.

The robotic device <NUM> further includes indicators <NUM>, <NUM>, and <NUM> co-located in proximity to the joints <NUM>, <NUM>, and <NUM>, respectively to provide visual feedback on the robotic device <NUM> at the joints <NUM>, <NUM>, and <NUM> and about the joints <NUM>, <NUM>, and <NUM>. The indicators <NUM>, <NUM>, and <NUM> are provided on an exterior surface of the joints <NUM>, <NUM>, and <NUM>. In other examples, the indicators <NUM>, <NUM>, and <NUM> may be on an interior surface of the joints <NUM>, <NUM>, and <NUM>, and diffused or piped through a cover or through a specific feature to blend colors for overall aesthetics. In still further examples, the joints <NUM>, <NUM>, and <NUM> may include respective interface elements that connect the actuators <NUM>, <NUM>, <NUM>, and the EOAT <NUM>, and the indicators <NUM>, <NUM>, and <NUM> may be provided on the interface elements so as to be located at or near the joints <NUM>, <NUM>, and <NUM>.

The indicators <NUM>, <NUM>, and <NUM> may be or include any number or type of indicators, such as lights, light emitting diodes (LEDs), displays, digital read-outs, or other types of electrical indicators. The indicators <NUM>, <NUM>, and <NUM> may further includes multiple indicators, such as multiple LEDs as shown in the indicator <NUM>, or single indicators as shown by the indicators <NUM> and <NUM>.

The robotic device <NUM> may further include a controller (not shown) programmable to control the indicators <NUM>, <NUM>, and <NUM>, respectively that are co-located proximal to the joints <NUM>, <NUM>, and <NUM> to provide the visual feedback indicative of the operating status of the joints <NUM>, <NUM>, and <NUM>. Thus, the controller may be electronically connected or in communication with the indicators <NUM>, <NUM>, and <NUM> to control operation of the indicators <NUM>, <NUM>, and <NUM>.

In one example, the visual feedback includes information indicative of an operating status of the joints <NUM>, <NUM>, and <NUM> including an indication of an amount of torque that the respective joints <NUM>, <NUM>, and <NUM> are experiencing. The visual feedback may include or indicate other information as well, such as an operating status of the joints <NUM>, <NUM>, and <NUM> or an operating status of the actuators <NUM>, <NUM>, <NUM>, and the EOAT <NUM>. An operating status may include normal, medium, or overload, or may provide more detailed information such as related to wear and tear of the joint (based on an age of the joint, an amount of movement of the joint over time, etc.), information related to metal fatigue (e.g., derived from performance measurements of the joint due to speed of rotation), or other information related to any type of operating characteristic. The visual feedback information may also indicate whether any of the joints <NUM>, <NUM>, and <NUM> is experiencing a given amount of torque outside or within operating limits, or above or below a given threshold amount.

The robotic device <NUM> in <FIG> is in a form of a robotic manipulator, such as an arm of a robot. However, the robotic device <NUM> may take other forms, and any combination of actuators coupled together through joints may be provided that include one or more indicators at the joints to provide the visual feedback information.

<FIG> illustrate example indicators and indicator displays. In one example, <FIG> illustrates a faceplate <NUM> to couple to a joint including a light emitting diode (LED) <NUM>. The LED <NUM> may be a multi-color, and may be configured to light at a given color to indicate whether a joint is experiencing a given amount of torque outside or within operating limits. As an example, the LED <NUM> may light red to indicate a torque outside of an operating limit, green to indicate a torque within operating limits, and yellow to indicate torques at about the limit. In further examples, the LED <NUM> may be configured to light at an intensity level based on the amount of torque that the one or more joints is experiencing, such that the LED <NUM> is brighter for higher levels of torque. Still further, in other examples, the LED <NUM> may provide the visual feedback using blinking patterns, light patterns, or color patterns that map to a level of torque being applied or experienced by the joint.

<FIG> illustrates another example faceplate <NUM> to couple to a joint that includes multiple lights <NUM>, <NUM>, and <NUM>. The lights <NUM>, <NUM>, and <NUM> may be LEDs or other lights, and the faceplate <NUM> may include textual indications of "LOW", "MEDIUM", and "HIGH" as well for indication of an amount of torque applied by or experienced by the joint due to which of the lights <NUM>, <NUM>, and <NUM> is lit. Any of the lights <NUM>, <NUM>, and <NUM> may also be multi-color lights as well.

<FIG> illustrates another example faceplate <NUM> to couple to a joint that includes an indicator in a form of a slider bar <NUM> with markings to show an operating range of the joint. The operating range may refer to any number of operating characteristics including torque or tension, for example. The faceplate <NUM> also includes textual indications of "LOW" and "HIGH", and the slider bar <NUM> may be digital and light up along the slider bar <NUM> to illustrate an operating status of the joint.

<FIG> illustrates another example faceplate <NUM> to couple to a joint that includes an indicator in a form of another slider bar <NUM>, and the faceplate <NUM> includes textual indications of "LOW", "MEDIUM", and "HIGH". The slider bar <NUM> may be digital and light up along the slide bar <NUM> to illustrate an operating status of the joint.

<FIG> illustrates another example faceplate <NUM> to couple to a joint that includes a digital readout display <NUM>. The digital readout display <NUM> may be programmed to indicate any number of information related to operating characteristics of the joint, such as an amount of torque being applied by or experienced by the joint. Additional or alternative data may be displayed as well for operating status, such as an amount of time that the joint experiences torque outside of operating limits, a health status indication of the joint, an identification of the joint, an age of the joint, information indicating mileage of the joint (or amount of usage of the joint), or still other information.

<FIG> illustrates another example faceplate <NUM> to couple to a joint that includes a display <NUM>. The display <NUM> may be programmed to display any number or type of information related to operating characteristics of the joint, such a display of an arm of the robotic device, and an illustration showing any joint that may be experiencing an amount of torque outside of an operating limit (e.g., an overload on a joint). Additional or alternative data may be displayed as well to visually indicate an operating status of the joint, and at the joint. Any types of information regarding characteristics of the joint, how the joint is currently operating, or how the joint has operated may be provided as well.

Within examples, any of the example indicators and indicator displays in <FIG> may be provided co-located at a joint of a robotic device to illustrate operating status of the joint, and at the joint. In further examples, any of the example indicators and indicator displays in <FIG> may be provided in proximity to joints, such as on or around a joint, or on a surface of an actuator that couples to the joint and is adjacent to the joint, for example. Within such examples, the indicators are providing information of the joint, and the indicators are located at or near the joint so as to provide the information at an area of the robotic device that the information pertains to.

<FIG> is a block diagram illustrating an example system for control of a robotic device. The system includes a base link comprising a single actuator <NUM>, coupled to a trunk link comprising side-by-side actuators <NUM> and <NUM> coupled to a joint <NUM>. The joint <NUM> includes a differential <NUM>, a strain gauge <NUM>, and an indicator <NUM>. The strain gauge <NUM> determines a tension experienced by the actuators <NUM> and <NUM> at the joint <NUM>, for example.

The differential <NUM> connects to a bicep link that comprises side-by-side actuators <NUM> and <NUM> coupled to a joint <NUM>. The joint <NUM> includes a differential <NUM>, a strain gauge <NUM>, and an indicator <NUM>. The strain gauge <NUM> determines a tension experienced by the actuators <NUM> and <NUM> at the joint <NUM>, for example.

The differential <NUM> connect to a forearm link that comprises actuators <NUM> and <NUM> coupled to a joint <NUM>. The joint includes a differential <NUM>, a strain gauge <NUM>, and an indicator <NUM>. The strain gauge <NUM> determines a tension experienced by the actuators <NUM> and <NUM> at the joint <NUM>, for example.

The differential <NUM> outputs to end-of-arm-tooling (EOAT) <NUM>. Thus, the base link, trunk link, bicep link, and forearm link may be modular links coupled to form a seven degree-of-freedom (DOF) robotic arm.

The system may also include a controller <NUM> coupled to the base link, the trunk link, the bicep link, and the forearm link to handle control at a deterministic rate and command desired torques to actuators. The controller <NUM> may include torque controllers <NUM> and impedance controllers <NUM> to determine motor currents for the actuators of the links based on output torques in a feedback control loop. Other hybrid force-position controllers and position controllers as would be suitable for a robotic arm may be used as well. A dynamic model <NUM> may also be used based on measured link inertias, accelerations, and velocities, to compute expected instantaneous torques during a known task. A contact detector <NUM> may compare such expectations against measured torques provided by sensors (e.g., strain gauges <NUM>, <NUM>, and <NUM>), and a difference above a specified threshold can be flagged as unexpected contact with a person, object, or environment. A safety reflex <NUM> may adapt control policy to react appropriately to the contact. Reactions may include reversal of torques, locking of motor brakes, changing to a low impedance gravity compensation mode, or modification of the arm trajectory, for example.

The controller <NUM> may further be programmable to control the indicators <NUM>, <NUM>, and <NUM> that are co-located proximal to the joints <NUM>, <NUM>, and <NUM> to provide visual feedback indicative of the operating status of the joints <NUM>, <NUM>, and <NUM>. As an example, the controller <NUM> may receive information indicating a status of respective joints, and may be coupled to the indicators <NUM>, <NUM>, and <NUM> to control the indicators <NUM>, <NUM>, and <NUM> co-located proximal to the joints <NUM>, <NUM>, and <NUM> to provide the visual feedback indicative of the status of the respective joints. In one example, the controller <NUM> may also be coupled to the strain gauges <NUM>, <NUM>, and <NUM> for receiving information indicating a tension applied by or experienced by the respective actuators (or information from which a tension applied by or experienced by the respective actuators may be derived), and may control the indicators <NUM>, <NUM>, and <NUM> to provide the visual feedback indicative of the tension experienced.

As a specific example, the controller <NUM> may cause the indicator <NUM> to illuminate red when the joint <NUM> is experiencing a torque outside of an operating limit, and in such a scenario, the joints <NUM> and <NUM> may be at or outside of operating limits as well causing the indicators <NUM> and <NUM> to be illuminated yellow (e.g., at or near a limit) or red (e.g., outside the limit). Thus, visual feedback can be provided that includes respective information indicative of whether any of the joints <NUM>, <NUM>, and <NUM> is experiencing a given amount of torque outside, within, or near operating limits based on a respective indicator at a respective joint being activated. The indicators <NUM>, <NUM>, and <NUM> may include LEDs for lighting at a given color to indicate whether respective joints are experiencing a given amount of torque outside or within operating limits of the respective joints. The indicators <NUM>, <NUM>, and <NUM> may not be illuminated when the robotic device is not being operated (or is off), or the indicators <NUM>, <NUM>, and <NUM> may also not be illuminated when the operating status of the joints <NUM>, <NUM>, and <NUM> is acceptable or within operating limits. The controller <NUM> may be programmed to illuminate the indicators at times at which the joints <NUM>, <NUM>, and <NUM> are experiencing strain above threshold limits, for example.

Although <FIG> illustrates one controller <NUM>, multiple controllers may be provided for each joint to couple to the strain gauges <NUM>, <NUM>, and <NUM> for receiving information indicating respective tensions and for controlling the indicators <NUM>, <NUM>, and <NUM> co-located proximal to the joints to provide the visual feedback indicative of the respective tensions experienced.

The controller <NUM> may take the form of a computing device, such as illustrated in <FIG>, which illustrates a schematic drawing of an example computing device <NUM>. In some examples, some components illustrated in <FIG> may be distributed across multiple computing devices. However, for the sake of example, the components are shown and described as part of one example device <NUM>. The device <NUM> may be or include a mobile device, desktop computer, tablet computer, or similar device that may be configured to perform the functions described herein.

The device <NUM> may include an interface <NUM>, sensor(s) <NUM>, data storage <NUM>, and a processor <NUM>. Components illustrated in <FIG> may be linked together by a communication link <NUM>. The communication link <NUM> is illustrated as a wired connection; however, wireless connections may also be used. The device <NUM> may also include hardware to enable communication within the device <NUM> and between the device <NUM> and other computing devices (not shown), such as a server entity. The hardware may include transmitters, receivers, and antennas, for example.

The interface <NUM> may be configured to allow the device <NUM> to communicate with another computing device (not shown), such as a server. Thus, the interface <NUM> may be configured to receive input data from one or more computing devices, and may also be configured to send output data to the one or more computing devices. The interface <NUM> may also be configured to receive input from and provide output to an actuator, a modular link of a robot arm, or indicators of a joint of the arm, for example. The interface <NUM> may include a receiver and transmitter to receive and send data, or may be hard-wired to components to send and receive data. In other examples, the interface <NUM> may also include a user-interface, such as a keyboard, microphone, touchscreen, etc., to receive inputs as well.

The sensor <NUM> may include one or more sensors, or may represent one or more sensors included within the device <NUM>. Example sensors include an accelerometer, gyroscope, pedometer, light sensors, microphone, camera, contact rollers, load cells, strain gauges or other context-aware sensors that may collect data of the actuators or joints and provide the data to the data storage <NUM> or processor <NUM>.

The processor <NUM> may be configured to receive data from the interface <NUM>, the sensor <NUM>, and the data storage <NUM>. The data storage <NUM> may store program logic <NUM> that can be accessed and executed by the processor <NUM> to perform functions executable to determine instructions for operation of actuators or indicators on joints, for example. Example functions include determination of tension experienced by the actuators or output torque of the system, and control of indicators to light or provide visual feedback information at the joints and about operating characteristics of the joints. Any functions described herein, or other example functions for the robotic device may be performed by the device <NUM> or one or more processors <NUM> of the device via execution of instructions stored on the data storage <NUM> or otherwise received.

The device <NUM> is illustrated to include an additional processor <NUM>. The processor <NUM> may be configured to control other aspects of the device <NUM> including displays or outputs of the device <NUM> (e.g., the processor <NUM> may be a GPU). Example methods described herein may be performed individually by components of the device <NUM>, or in combination by one or all of the components of the device <NUM>. In one instance, portions of the device <NUM> may process data and provide an output internally in the device <NUM> to the processor <NUM>, for example. In other instances, portions of the device <NUM> may process data and provide outputs externally to other computing devices.

Thus, within examples described herein, a robotic device can include multiple actuators coupled through joints to form a robotic manipulator, and indicators are co-located in proximity to the joints to provide visual feedback on the robotic manipulator at the joints and about the one or more joints. As described, the actuators may be coupled through joints to form a multiple degree-of-freedom (DOF) robotic manipulator, and the indicators can be independently operated to provide visual feedback on the robotic manipulator at the joints and about the joints, respectively.

Within some examples herein, operations may be described as methods for performing functions, and methods may be embodied on a computer program product (e.g., a tangible computer readable storage medium or non-transitory computer readable medium) that includes instructions executable to perform the functions.

<FIG> is a flowchart illustrating an example method <NUM> for operating a robotic device. The method <NUM> may be embodied as computer executable instructions stored on non-transitory media, for example. At block <NUM>, the method <NUM> includes providing one or more actuators coupled through one or more joints to form a robotic manipulator. At block <NUM>, the method <NUM> includes receiving information indicative of an operating status of the one or more joints including an indication of an amount of torque that the one or more joints is experiencing. At block <NUM>, the method <NUM> includes controlling an indicator co-located proximal to the one or more joints to provide visual feedback indicative of the operating status of the one or more joints on the robotic manipulator at the one or more joints and about the one or more joints.

The robotic device <NUM> described in <FIG> or the system described in <FIG> above may be used in many implementations. Example implementations include within a modular robot link or actuator system.

It should be understood that arrangements described herein are for purposes of example only. As such, those skilled in the art will appreciate that other arrangements and other elements (e.g. machines, interfaces, functions, orders, and groupings of functions, etc.) can be used instead, and some elements may be omitted altogether according to the desired results. Further, many of the elements that are described are functional entities that may be implemented as discrete or distributed components or in conjunction with other components, in any suitable combination and location, or other structural elements described as independent structures may be combined.

Claim 1:
A robotic device (<NUM>) comprising:
two or more links coupled through one or more joints (<NUM>, <NUM>) to form a robotic manipulator, wherein a first link of the two or more links comprises a pair of actuators (<NUM>, <NUM>) and is coupled to a first joint of the one or more joints, wherein the first joint comprises a differential (<NUM>) connected to a second link of the two or more links;
an indicator (<NUM>, <NUM>, <NUM>) co-located in proximity to the one or more joints (<NUM>, <NUM>) to provide visual feedback on the robotic manipulator at the one or more joints (<NUM>, <NUM>) and about the one or more joints (<NUM>, <NUM>), wherein the visual feedback includes information indicative of an operating status of the one or more joints (<NUM>, <NUM>);
a sensor (<NUM>) positioned at the first joint (<NUM>) for determining a tension at the first joint (<NUM>) which is experienced by the pair of actuators (<NUM>, <NUM>); and
a controller (<NUM>) coupled to the sensor (<NUM>) for receiving information indicating the tension and for controlling the indicator (<NUM>, <NUM>, <NUM>) co-located proximal to the one or more joints (<NUM>, <NUM>) to provide the visual feedback to be indicative of an amount of torque that the one or more joints (<NUM>, <NUM>) is experiencing based on the tension experienced.