Patent Description:
Conventionally painting nails involves using a brush with flexible bristles that is dipped into a bottle of nail polish and used to paint natural or artificial nails. It involves a high degree of precision and accuracy on the part of a human to apply a smooth coat of nail polish on nails while staying within the boundaries of the nail. The high degree of precision and accuracy required has posed a challenge to mechanizing the painting of nails. Conventional robotic methods have been unable to replicate the accurate and smooth coats of nail polish achievable by humans.

<CIT> describes an electronic device for the automated painting and drying of fingernails, which allows the user to choose the color they want to paint the nails as well as to carry the device due to its light weight. The device has a sensor that identifies the hand that has been introduced in it and activates the activation of the device, a touch LED screen, which allows the user to choose the nail and color with which to paint it, without the need for specialized personnel to operate it, as well as to inform the user through visible and audible means the process taking place.

The invention is defined by the independent claims with preferred features being set out in the dependent claims.

The present disclosure relates to a robotic apparatus and methods for automatic nail polish application on natural or artificial finger or toe nails. In some embodiments, the robot uses artificial intelligence (Al) to identify and paints the nails. The robot uses depth sensors and computer vision to plan the movements of an end-effector. In one embodiment, the robot uses Al and machine learning techniques such as deep reinforcement learning, and other algorithms and calculations to plan its path. An Al controller can be trained using OpenAl's Gym or DeepMind's TRFL libraries. The robotic apparatus may use the following embodiments of a robotic nail painting method to apply nail polish, for example.

In one embodiment, a polish reservoir with an opening may use pressure, a plunger or gravity to deposit a measured amount of polish on the nail. Multiple such depositions in close proximity are used to create a smooth, uniform coat on a single nail.

In another embodiment, a mask, that can be peeled off, is placed on the skin surrounding the nail and optionally the cuticles, and a fine, controlled spray of nail polish that is deposited directly on a person's natural or artificial nails.

Notably, these methods do not require the application of any adhesive coats or primers on the nail prior to application.

Embodiments are described below. It is, however, expressly noted that the present invention is not limited to these embodiments, but rather the intention is that variations, modifications that are apparent to the person skilled in the art are also included, as long as they fall within the scope of the claims.

In one embodiment, the robot comprises the following physical components: an area designated for the user to place their hands/feet, one or more polish cartridges, an end effector, a motion platform, a storage for one or more cartridges of nail polish, an interface, and one or more sensors, e.g., cameras. The robot also includes, and/or can communicate with, sensors, an electronic storage device, a processor along with software, firmware, and/or hardware, for example, to perform operations described herein including analyzing sensor data. One familiar in the art will recognize various embodiment may comprise additional or fewer components.

The cartridge includes one or more reservoirs that can hold clear and/or colored nail polish and a nozzle from which the polish is dispensed. The cartridge is initially filled with polish and then may be sealed by various techniques such as overmolding, capping, or inserting a plunger. Overmolding to seal the reservoir is performed by flowing another material onto the opening of the reservoir, thereby sealing it with a material such as rubber or a thermoplastic, for example. To cap seal the cartridge, an adhesive and covering material are used in tandem to create an airtight seal. To seal the cartridge using a plunger, a plunger style device is inserted into the open end until all trapped air is expelled through the dispense tip. In the embodiment of the cartridge shown in <FIG>, the cartridge includes three main components: a dispense tip <NUM> with a precise orifice, a reservoir <NUM> for holding a fluid (e.g., nail polish), and a plunger <NUM> or mechanism that creates pressure. In the event of clogs, a number of techniques such as wiping or drilling the obstructing material, dipping the tip into solvent or using pressure to expel the clog can be used to unclog it.

<FIG> are illustrations of another embodiment of a cartridge that includes a stopper <NUM>, a polish reservoir <NUM> and a cartridge nozzle <NUM>.

The end-effector holds the cartridges. <FIG> are illustrations of an end effector <NUM> holding the cartridge <NUM> in side view (<FIG>) and isometric view (<FIG>), according to one embodiment. Nail polish is dispensed from the cartridge <NUM> at a controlled rate. Controlling the end effector <NUM> to dispense nail polish at a controlled rate can be accomplished by various techniques such as using pressure, mechanical plunger motion, or gravity, for example. A controlled flow of polish can be generated by increasing the pressure inside the reservoir, for example, by allowing an outside higher-pressure source to enter the reservoir, thereby causing the polish to flow from the dispense tip until the pressure reaches an equilibrium. The flow rate can also be controlled by a motor <NUM>, where a rotary motor creates linear motion using, for example, a lead screw <NUM> and nut rigidly housed in a carriage <NUM>, and that linear motion is then coupled to the plunger. The volumetric flow rate from the dispense needle is the rate of linear motion times the cross-sectional area of the reservoir. A third method of creating a controlled flow is to use gravity if the topside of the reservoir is opened or pierced, allowing ambient pressure to enter the topside of the container allowing polish to flow from the dispense tip <NUM>. In an embodiment the end effector also includes a guide rod <NUM>.

A motion platform <NUM> is used to move the end effector <NUM> to the desired location where the nail polish must be deposited. <FIG> is an illustration of a motion platform <NUM> in accordance with an embodiment. In this embodiment, the motion platform <NUM> is a <NUM>-axis gantry system whose linear actuators may be belt, lead screw or rack and pinion driven. The actuators (<NUM>, <NUM>, <NUM>) for each axis are driven by stepper motors which turn lead screws. Lead screw nuts propel the transport carriages that in turn support the additional axes. At the moving side of axis <NUM>, an attachment point <NUM> allows for the mounting of the end effector <NUM> holding the cartridge <NUM>. The sensing camera <NUM>, held in place above the work area, identifies the finger nails on the hand placed beneath it and directs the axes where to move.

<FIG> is an illustration of a motion platform <NUM> in accordance with another embodiment. In this embodiment, the motion platform <NUM> is a robot arm that can move in three dimensions using an axis <NUM> actuator <NUM>, an axis <NUM> actuator <NUM>, and an axis <NUM> actuator <NUM>.

The interface allows the user to send instructions to the robot. In one embodiment, the interface takes the form of one or more of: one or more buttons on the apparatus, a digital instruction interface on the apparatus, and/or a client device that can be connected to the apparatus, e.g., an application (app) that can be accessed from a mobile device, e.g., phone, watch, computer, tablet, wearable, computing device, etc..

The one or more sensors <NUM>, e.g., cameras, capture input to be used to control the operation of the apparatus. In one embodiment, the sensors <NUM> are used to locate the user's hands or feet and ensure the user's hand or feet are properly positioned in the designated region. When applicable, the sensors <NUM> determine if the nails are bare or already coated in nail polish. In one embodiment, the sensor <NUM> identifies the nail based on machine learning, e.g., by using training data that identifies nails from many different users. Once the nail is identified, the color or other characteristic, e.g., reflectivity, on the nail is analyzed to determine if the nail is bare or is already coated in nail polish. Input from the sensors <NUM> is used by the robot to determine the depth and location of the user's nails, particularly for operation of the motion of the robot and determining whether it is safe for the robot to continue operation.

In some embodiments of the robot, sensors <NUM> can include one or more of: one or more cameras, LIDAR, laser triangulation, time of flight sensors, pressure or touch sensors, etc. These sensors <NUM> may be used to sense the operating environment of the robot and to help determine its next step. In particular, one or a combination of sensors may be used for safety features like a stopping operation when the hand or nail has moved, by detecting a change in distance or angle of the nail to the sensor, for example. The robot may also have a waste area to dispose of excess polish, cartridges, etc..

In one embodiment, the robotic nail painting process begins with the user using the interface to select the clear or color cartridges of their choice and choosing a plan/type of treatment (type of manicure/art) for the robot painting the nail. Examples of plans include, but are not limited to: applying a standard manicure (clear base coat, one or more coats of the same color, and a clear top coat), applying a French manicure, and applying multiple colors.

<FIG> is an image showing a two-tone vertical split nail art polish in accordance with an embodiment. <FIG> is an image showing a two-tone horizontal blended nail art polish in accordance with an embodiment. <FIG> is an image showing nails with colored tips in accordance with an embodiment. <FIG> is an image showing nails with different colors in accordance with an embodiment. <FIG> is an image showing nails with a French manicure in accordance with an embodiment. <FIG> is an image showing nails with regular lacquer in accordance with an embodiment.

<FIG> is a flowchart showing the method of operation of the robot in accordance with an embodiment. In one embodiment, the user inserts <NUM> the cartridges into the apparatus, places <NUM> their hand(s) or foot/feet in the designated area, and instructs the robot to begin painting using the interface. In an alternate embodiment, the robot installs cartridges automatically. The robot selects (e.g., picks up) the cartridge <NUM> needed to paint the nail and positions the cartridge <NUM> in the proper location in the end-effector <NUM>. In one example, the robot locates the cartridge by using a camera and computer vision. Alternatively, the robot may retrieve the cartridge deterministically from a fixed location, that is, each type of cartridge is positioned in a defined location. This may be in response to the user selecting a type of nail treatment.

The robot creates a representation of the location of the user's nails using sensors <NUM>. The representation may be created by a representation module in the software that controls the robot. The software controlling the software and/or processor may be stored/positioned in the robot, near the robot or may be remote from the robot, e.g., across the room or far from the robot using cloud computing. In one embodiment, the robot uses a depth sensing camera that uses binocular vision and/or structured light for depth sensing and produces the representation in 3D spatial coordinates. In one embodiment, the robot uses <NUM> the camera(s) and software, e.g., machine learning or artificial intelligence software, to identify nails and determine what parts of the camera frame correspond to the parts that need to be painted. An embodiment of an AI to detect nails could be a convolutional neural network based on image segmentation models from the Facebook Detectron or TensorFlow model zoos and trained on human labeled images.

The representation of the user's nails is an input to the motion planner. The motion planner is a software component that controls the motion of the robot, e.g., the motion of the motion platform, end effector, and/or cartridge. The motion planner uses a combination of deep reinforcement learning, mathematical transformations, computer vision, and AI to plan the path that the motion platform must take to accomplish the goal of painting the nails. The motion planner is a real-time component, meaning it can adjust the planned path as it performs its operations and senses the environment. The motion planner may use a calibration created at run-time or in the factory to convert camera positions into coordinates that can be used by the motion platform. The robot paints <NUM> the nails in accordance with the selected type of nail treatment. A user has the option to pause <NUM>/<NUM> the operation of the robot at any time. When the user un-pauses the robot identifies <NUM> the location of the nails and the painting <NUM> continues. If the robot detects <NUM> motion of the nails, the robot pauses operation to ensure the safety of the user and proper application of the polish. When the user is ready to resume, the robot identifies <NUM> the location of the nails and the painting <NUM> continues. Determining the motion of the hands or nails can be determined by determining a first position of the hand/nail and then a second position of the hand/nail at a later time. If the distance between the first and second position exceeds a threshold then the system determines that the hand/nail has moved. Alternatively, a first image of the target location at a first time can be compared to a second image at a second time and if a comparison of pixels indicates movement of the hand/nail above a threshold then the system determines that the hand/nail has moved.

In step <NUM> the robot creates a high-resolution 3D representation of the user's nails using a variety of sensors. <FIG> are flowcharts of three methods for identifying <NUM> the nails. <FIG> is a flowchart of one method for identifying and localizing the nails using a stationary fine three-dimensional (3D) sensor <NUM>. In this method the sensor image from the sensor <NUM> is received by the nail identification software. The nail identification software recognizes <NUM> nails using image segmentation artificial intelligence (AI) analysis. A stationary depth sensor collects <NUM> readings of the nail(s) and the depth sensor readings are translated <NUM> into three-dimensional robot coordinates, e.g., coordinates that are understood by the software operating the movement of the robot.

<FIG> is a flowchart of one method for identifying and localizing the nails using a fine three-dimensional (3D) sensor <NUM> mounted to an end effector. In this method the sensor image from the sensor <NUM> is received by the nail identification software. The nail identification software recognizes <NUM> nails using image segmentation artificial intelligence (AI) analysis. The end-effector <NUM> moves <NUM> the depth sensor over the nail. The depth sensor collects <NUM> readings of the nail(s) and the depth sensor readings are translated <NUM> into three-dimensional robot coordinates, e.g., coordinates that are understood by the software operating the movement of the robot.

<FIG> is a flowchart of one method for identifying and localizing the nails using a coarse three-dimensional (3D) sensor <NUM> and a fine one-dimensional (1D) and/or two-dimensional (2D) sensor. This method can be used in the situation where a precision is better accomplished using a one-dimensional or two-dimensional finer sensor with a lower precision three-dimensional sensor providing guidance for the finer sensor to reach the target location. In this method the sensor image from the sensor <NUM> is received by the nail identification software. The nail identification software recognizes <NUM> nails using image segmentation artificial intelligence (AI) analysis. A stationary depth sensor collects <NUM> readings of the nail(s) and the coarse depth sensor readings are translated <NUM> into three-dimensional robot coordinates, e.g., coordinates that are understood by the software operating the movement of the robot. The robot moves <NUM> a fine one-dimensional or two-dimensional sensor above the nail and the sensor data are used to translate <NUM> the fine readings to three-dimensional robot coordinates.

One embodiment of the step of painting nails <NUM> involves depositing a measured amount of nail polish uniformly on top of the nail surface in order to create a smooth coat. <FIG> is a flowchart of a Pointillist technique for painting nails in accordance with an embodiment. The dispensing motor continuously creates <NUM> a steady pressure on the polish reservoir. The 3D sensor location is translated <NUM> to 3D dispensing tip positions. If the operation is resuming from an interrupt, e.g., a pause caused by a request, nail/hand movement, and/or safety concerns, the past points are aligned <NUM> with sensor data to identify the starting/continuing point. The robot moves <NUM> the dispensing tip to closely spaced locations around the nail contour. Drops of polish coalesce <NUM> with neighboring drops to create a smooth coat.

Steps <NUM> and <NUM> of the "pointillist" method are shown in greater detail in <FIG>. Droplets are placed <NUM> on a surface of a nail using a dispenser, e.g., a syringe style dispenser. The droplets flow <NUM> into each other and moisten the nail surface. The droplets then further flow <NUM>. A flat coating is created <NUM> when the droplets complete flowing.

Multiple such layers of nail polish can be deposited on top of each other to create a thicker coat, or to provide a base/top coat. Colors can be changed in the middle of the application to create different patterns.

<FIG> is a detailed flowchart of a Pen technique for painting nails <NUM> in accordance with an embodiment. This pen technique involves moving the dispense tip over unpainted areas of the nail in a single fluid motion while dispensing polish continuously. The speed of motion or rate of polish dispensing can be varied to control how much polish is deposited onto different parts of the nail. The dispensing motor continuously creates <NUM> a steady pressure on the polish reservoir. The 3D sensor location is translated <NUM> to 3D dispensing trip locations. If the operation is resuming from an interrupt, e.g., a pause caused by a request, movement, and/or safety concerns, the past points are aligned <NUM> with sensor data to identify the starting/continuing point. The robot moves <NUM> the dispensing tip to over unpainted areas of the nail in a continuous motion, e.g., one continuous motion. Lines of polish coalesce <NUM> with neighboring lines to create a smooth coat.

<FIG> is a detailed flowchart of a fine spray technique for painting nails <NUM> in accordance with an embodiment.

In some embodiments, a mask is applied <NUM> around the nail, in particular on the cuticle. The mask may be applied by the user or automatically applied by the robot using the representation of the nail as a guide. The mask is a material such as liquid latex or spirit gum that can be safely applied on the user's skin and later peeled or washed off. The mask provides accuracy and precision to the application of the nail polish. 3D sensor locations, e.g., from step <NUM>, are translated to 3D spray nozzle locations. If the operation is resuming from an interrupt, e.g., a pause caused by a request, movement, and/or safety concerns, the past points are aligned <NUM> with sensor data to identify the starting/continuing point. The robot moves <NUM> the spray nozzle over the nail contour to create an even coat. The direction and thickness of the spray is determined by the motion planner based on the representation generated by the robot. For example, the robot may spray more finely towards the edge of the nail than at the center of the nail. In some instances, after a threshold of time, the robot applies an additional spray of polish to create another coat of nail polish. The additional coat may be a different color or type of polish than the original coat of nail polish.

The robot uses the camera and other sensors throughout the application process to make decisions such as whether to keep going or abort because the user moved their position, or other critical changes to the operational environment.

Some polish applications require more than one kind or color of polish and/or polish remover. To support these cases one embodiment of an end effector supports multiple cartridges. In alternate embodiments a "tool changing" process may be used. To allow the robot to change tools during operation without operator intervention, a repeatable pick-up and put-down system is used. <FIG> are illustrations of a magnet mount system in accordance with an embodiment. One embodiment of such a system would be a magnetic "kinematic mount". The robot end effector includes an arrangement of magnets <NUM> and bearings or mount alignment rollers <NUM> designed to attract and guide a cartridge or cartridge holder <NUM> into the same position every time the cartridge is picked up. The cartridge or holder is fitted with a complementary set of magnets <NUM> and bearings or mount spheres <NUM>. Cartridges stored for later use are picked up by moving the end effector magnets near the cartridge magnets while the bearings guide the cartridge into the correct position for use. An example of such a magnetic mount system is depicted in <FIG>.

Reference in the specification to "one embodiment" or to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment. The appearances of the phrase "in one embodiment" or "an embodiment" in various places in the specification are not necessarily all referring to the same embodiment.

Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps (instructions) leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. Furthermore, it is also convenient at times, to refer to certain arrangements of steps requiring physical manipulations or transformation of physical quantities or representations of physical quantities as modules or code devices, without loss of generality.

However, all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing" or "computing" or "calculating" or "determining" or "displaying" or "determining" or the like, refer to the action and processes of a computer system, or similar electronic computing device (such as a specific computing machine), that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Certain aspects of the embodiments include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the embodiments can be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by a variety of operating systems. The embodiments can also be in a computer program product which can be executed on a computing system.

The embodiments also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the purposes, e.g., a specific computer, or it may comprise a computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Memory can include any of the above and/or other devices that can store information/data/programs and can be transient or non-transient medium, where a non-transient or non-transitory medium can include memory/storage that stores information for more than a minimal duration. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.

Various systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the method steps. The structure for a variety of these systems will appear from the description herein. In addition, the embodiments are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments as described herein, and any references herein to specific languages are provided for disclosure of enablement and best mode.

Throughout this specification, some embodiments have used the expression "coupled" along with its derivatives. The term "coupled" as used herein is not necessarily limited to two or more elements being in direct physical or electrical contact. Rather, the term "coupled" may also encompass two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other, or are structured to provide a thermal conduction path between the elements.

Likewise, as used herein, the terms "comprises," "comprising," "includes," "including," "has," "having" or any other variation thereof, are intended to cover a non-exclusive inclusion.

In addition, use of the "a" or "an" are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of embodiments. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise. The use of the term and/or is intended to mean any of: "both", "and", or "or.

In addition, the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope of the embodiments.

Claim 1:
A system for automatically polishing a nail of a user including:
an end-effector (<NUM>) having
a cartridge receiving unit,
a cartridge (<NUM>) including nail polish, and
a nozzle;
one or more sensors (<NUM>) including a depth sensor to generate depth sensor readings;
a nail determination unit, receiving said depth sensor readings, to automatically:
translate the depth sensor readings to three-dimensional, 3D, spatial coordinates; and
produce a representation of a location of the nail of the user in 3D spatial coordinates;
a motion planning unit, for automatically generating, based on the representation, a motion path for said end-effector to position said end-effector such that said nozzle is directed over unpainted areas of the nail of the user;
a motion platform (<NUM>), to automatically move said end-effector in three dimensions in accordance with the motion path; and
a dispensing unit to automatically dispense nail polish in said cartridge through said nozzle onto the nail of the user as the motion platform moves, characterized in that the motion planning unit uses a combination of deep reinforcement learning, mathematical transformations, computer vision and artificial intelligence to generate the motion path.