The present disclosure relates to systems and methods for automatic nail polish applications and more particularly for automatically identifying a target nail polish application location, automatically adjusting for movement at the target location and automatically applying nail polish to the target nail polish location.
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.
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 (AI) 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 AI and machine learning techniques such as deep reinforcement learning, and other algorithms and calculations to plan its path. An AI controller can be trained using OpenAI'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.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
The figures depict various embodiments for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein.
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, and equivalents that are apparent to the person skilled in the art are also included.
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
The end-effector holds the cartridges.
A motion platform 300 is used to move the end effector 200 to the desired location where the nail polish must be deposited.
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 310, e.g., cameras, capture input to be used to control the operation of the apparatus. In one embodiment, the sensors 310 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 310 determine if the nails are bare or already coated in nail polish. In one embodiment, the sensor 310 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 310 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 310 can include one or more of: one or more cameras, LIDAR, laser triangulation, time of flight sensors, pressure or touch sensors, etc. These sensors 310 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.
The robot creates a representation of the location of the user's nails using sensors 310. 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 503 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. In some embodiments, 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 505 the nails in accordance with the selected type of nail treatment. A user has the option to pause 504/507 the operation of the robot at any time. When the user un-pauses the robot identifies 503 the location of the nails and the painting 505 continues. If the robot detects 506 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 503 the location of the nails and the painting 505 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 503 the robot creates a high-resolution 3D representation of the user's nails using a variety of sensors.
One embodiment of the step of painting nails 505 involves depositing a measured amount of nail polish uniformly on top of the nail surface in order to create a smooth coat.
Steps 708 and 710 of the “pointillist” method are shown in greater detail in
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.
In some embodiments, a mask is applied 752 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 503, 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 756 with sensor data to identify the starting/continuing point. The robot moves 758 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.
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. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. 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.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. 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. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
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.
While particular embodiments and applications have been illustrated and described herein, it is to be understood that the embodiments are not limited to the precise construction and components disclosed herein and that various modifications, changes, and variations may be made in the arrangement, operation, and details of the methods and apparatuses of the embodiments without departing from the spirit and scope of the embodiments.
This application claims priority to U.S. Provisional application No. 62/810,906 filed on 26 Feb. 2019 which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62810906 | Feb 2019 | US |